@wizishop/angular-components 15.1.4 → 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 (263) hide show
  1. package/angular-components.scss +193 -178
  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 +5 -5
  28. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.component.mjs +9 -9
  29. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel.directive.mjs +77 -9
  30. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.mjs +9 -9
  31. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.mjs +38 -9
  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 +4 -4
  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 +8 -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 +5 -4
  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 +12 -15
  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 +13 -12
  134. package/fesm2015/wizishop-angular-components.mjs +638 -645
  135. package/fesm2015/wizishop-angular-components.mjs.map +1 -1
  136. package/fesm2020/wizishop-angular-components.mjs +638 -645
  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 +3 -3
  162. package/lib/components/expansion/expansion-panel/expansion-panel.directive.d.ts +21 -4
  163. package/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.d.ts +3 -3
  164. package/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.d.ts +14 -4
  165. package/lib/components/expansion/expansion.module.d.ts +1 -3
  166. package/lib/components/filters/filters.component.d.ts +1 -1
  167. package/lib/components/free-popin/free-popin.component.d.ts +1 -1
  168. package/lib/components/google-preview/google-preview.component.d.ts +1 -1
  169. package/lib/components/header-page/header-page.component.d.ts +1 -1
  170. package/lib/components/hn/h1/h1.component.d.ts +1 -1
  171. package/lib/components/hn/h2/h2.component.d.ts +1 -1
  172. package/lib/components/hn/h3/h3.component.d.ts +1 -1
  173. package/lib/components/hn/h4/h4.component.d.ts +1 -1
  174. package/lib/components/image/image.component.d.ts +1 -1
  175. package/lib/components/info/info.component.d.ts +1 -1
  176. package/lib/components/inputs/input/input.component.d.ts +1 -1
  177. package/lib/components/inputs/input-search/input-search.component.d.ts +1 -1
  178. package/lib/components/inputs/input-with-select/input-with-select.component.d.ts +1 -1
  179. package/lib/components/inputs/input-with-select/option-item.dto.d.ts +1 -1
  180. package/lib/components/link/link.component.d.ts +1 -1
  181. package/lib/components/loader/loader.component.d.ts +1 -1
  182. package/lib/components/logo/logo.component.d.ts +1 -1
  183. package/lib/components/mosaic/mosaic.component.d.ts +5 -5
  184. package/lib/components/multiple-search/multiple-search.component.d.ts +1 -1
  185. package/lib/components/multiple-search-plus/multiple-search-plus.component.d.ts +1 -1
  186. package/lib/components/optional-disable-container/optional-disable-container.component.d.ts +1 -1
  187. package/lib/components/pagination/pagination.component.d.ts +1 -1
  188. package/lib/components/popin/popin.component.d.ts +1 -1
  189. package/lib/components/progress-bar/progress-bar.component.d.ts +1 -1
  190. package/lib/components/radio/radio-directive.d.ts +2 -2
  191. package/lib/components/radio/radio-group.directive.d.ts +3 -3
  192. package/lib/components/radio/radio.component.d.ts +1 -1
  193. package/lib/components/search/search.component.d.ts +1 -1
  194. package/lib/components/{selects → select}/call-to-action.model.d.ts +0 -0
  195. package/lib/components/{selects → select}/option/option-selection-handler.interface.d.ts +0 -0
  196. package/lib/components/{selects → select}/option/option-selection-handler.token.d.ts +0 -0
  197. package/lib/components/{selects → select}/option/option.component.d.ts +1 -1
  198. package/lib/components/{selects → select}/option/select-option.directive.d.ts +1 -1
  199. package/lib/components/{selects → select}/option-call-to-action/option-call-to-action.component.d.ts +1 -1
  200. package/lib/components/{selects → select}/select/select.component.d.ts +1 -2
  201. package/lib/components/{selects → select}/select/select.directive.d.ts +1 -1
  202. package/lib/components/{selects → select}/select/value-change.service.d.ts +0 -0
  203. package/lib/components/{selects → select}/select-items.dto.d.ts +0 -0
  204. package/lib/components/{selects → select}/select-search-trigger/select-search-trigger.component.d.ts +1 -1
  205. package/lib/components/{selects/select-in-text → select-in-text}/select-in-text.component.d.ts +3 -3
  206. package/lib/components/selected-list/selected-list.component.d.ts +1 -1
  207. package/lib/components/separator/separator.component.d.ts +1 -1
  208. package/lib/components/settings/settings.component.d.ts +1 -1
  209. package/lib/components/shared-components.module.d.ts +88 -88
  210. package/lib/components/snackbar/snackbar.component.d.ts +1 -1
  211. package/lib/components/state/state.component.d.ts +1 -1
  212. package/lib/components/summary/summary.component.d.ts +1 -1
  213. package/lib/components/switch/switch.component.d.ts +1 -1
  214. package/lib/components/tab/tab.component.d.ts +6 -2
  215. package/lib/components/table/directives/checkBoxRow.directive.d.ts +1 -1
  216. package/lib/components/table/directives/column.directive.d.ts +1 -1
  217. package/lib/components/table/directives/columnHeader.directive.d.ts +1 -1
  218. package/lib/components/table/directives/raw.directive.d.ts +1 -1
  219. package/lib/components/table/table.component.d.ts +1 -1
  220. package/lib/components/tag/tag.component.d.ts +1 -1
  221. package/lib/components/tag-label/tag-label.component.d.ts +1 -1
  222. package/lib/components/text/text.component.d.ts +1 -1
  223. package/lib/components/text-area/text-area.component.d.ts +1 -1
  224. package/lib/components/token-check/token-check.component.d.ts +1 -1
  225. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  226. package/lib/components/tree/tree.component.d.ts +1 -1
  227. package/lib/components/upload/upload.component.d.ts +1 -1
  228. package/lib/components/wrapper/wrapper.component.d.ts +1 -1
  229. package/lib/components/wrapper-blocs/wrapper-blocs.component.d.ts +1 -1
  230. package/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.d.ts +1 -1
  231. package/lib/components/wrapper-sidebar/wrapper-sidebar.component.d.ts +1 -1
  232. package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
  233. package/lib/directives/abstract-debounce/debounce-keyup.directive.d.ts +1 -1
  234. package/lib/directives/auto-hide/auto-hide.directive.d.ts +1 -1
  235. package/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.d.ts +12 -0
  236. package/lib/directives/keyboard-events/keypress-enter.directive.d.ts +1 -1
  237. package/lib/directives/keyboard-events/only-numbers.directive.d.ts +1 -1
  238. package/lib/directives/keyboard-events/two-digital-decimal-number.directive.d.ts +1 -1
  239. package/lib/directives/ng-var.directive.d.ts +1 -1
  240. package/lib/directives/shared-directives.module.d.ts +4 -3
  241. package/lib/directives/zindex-toggle/zindex-toggle.directive.d.ts +1 -1
  242. package/lib/pipes/call-component-function.pipe.d.ts +2 -2
  243. package/lib/pipes/select/select-filters.pipe.d.ts +1 -1
  244. package/lib/pipes/shared-pipes.module.d.ts +6 -6
  245. package/package.json +1 -1
  246. package/public-api.d.ts +12 -11
  247. package/wizishop-angular-components-15.1.6.tgz +0 -0
  248. package/esm2020/lib/components/expansion/expansion-panel/expansion-panel-base.mjs +0 -83
  249. package/esm2020/lib/components/expansion/expansion-panel-header/expansion-panel-header-base.mjs +0 -44
  250. package/esm2020/lib/components/selects/call-to-action.model.mjs +0 -2
  251. package/esm2020/lib/components/selects/option/option-selection-handler.interface.mjs +0 -2
  252. package/esm2020/lib/components/selects/option/option-selection-handler.token.mjs +0 -3
  253. package/esm2020/lib/components/selects/option/option.component.mjs +0 -28
  254. package/esm2020/lib/components/selects/option/select-option.directive.mjs +0 -97
  255. package/esm2020/lib/components/selects/option-call-to-action/option-call-to-action.component.mjs +0 -12
  256. package/esm2020/lib/components/selects/select/select.component.mjs +0 -197
  257. package/esm2020/lib/components/selects/select/select.directive.mjs +0 -164
  258. package/esm2020/lib/components/selects/select/value-change.service.mjs +0 -190
  259. package/esm2020/lib/components/selects/select-in-text/select-in-text.component.mjs +0 -103
  260. package/esm2020/lib/components/selects/select-items.dto.mjs +0 -2
  261. package/lib/components/expansion/expansion-panel/expansion-panel-base.d.ts +0 -26
  262. package/lib/components/expansion/expansion-panel-header/expansion-panel-header-base.d.ts +0 -20
  263. package/wizishop-angular-components-15.1.4.tgz +0 -0
@@ -0,0 +1,164 @@
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
+ constructor(valueChangeService) {
11
+ this.valueChangeService = valueChangeService;
12
+ this.valueChange = new EventEmitter();
13
+ this._multiple = false;
14
+ this._disabled = false;
15
+ this.tabIndex = 0;
16
+ this.isDestroyed$ = new Subject();
17
+ // ControlValueAccessor methods
18
+ this.onChange = () => { };
19
+ this.onTouch = () => { };
20
+ }
21
+ get tabindex() {
22
+ return this.tabIndex;
23
+ }
24
+ get isSelectDisabled() {
25
+ return this.disabled;
26
+ }
27
+ /** Handles all keydown events on the select. */
28
+ onKeydown(event) {
29
+ if (event.keyCode === TAB) {
30
+ return;
31
+ }
32
+ if (this.disabled) {
33
+ return;
34
+ }
35
+ this.handleKeyboardAction(event);
36
+ }
37
+ set value(value) {
38
+ this._value = value;
39
+ if (!this.optionChildren) {
40
+ return;
41
+ }
42
+ this.valueChangeService.assignValue(value);
43
+ }
44
+ get value() {
45
+ return this._value;
46
+ }
47
+ get multiple() {
48
+ return this._multiple;
49
+ }
50
+ set multiple(value) {
51
+ this._multiple = value;
52
+ this.valueChangeService.setMultiple(value);
53
+ }
54
+ set disabled(disabled) {
55
+ this._disabled = disabled;
56
+ this.valueChangeService.setDisabledState(disabled);
57
+ }
58
+ get disabled() {
59
+ return this._disabled;
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: "14.0.7", ngImport: i0, type: SelectDirective, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Directive });
127
+ SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.7", 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: "14.0.7", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQW9CLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdHLE9BQU8sRUFBaUIsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoSyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFXNUQsTUFBTSxPQUFPLGVBQWU7SUFtRXhCLFlBQXNCLGtCQUFvRDtRQUFwRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWtDO1FBM0IxRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFVOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVVuQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBR2xCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFOUIsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQXlENUMsK0JBQStCO1FBRS9CLGFBQVEsR0FBeUIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRTFDLFlBQU8sR0FBeUIsR0FBRyxFQUFFLEdBQUUs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QyxlQUFlO2tCQVQzQixTQUFTO21CQUNSO29CQUNFLFFBQVEsRUFBRSxhQUFhO29CQUN2QixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN6RSxrQkFBa0I7cUJBQ25CO29CQUNILFFBQVEsRUFBRSxXQUFXO2lCQUN4Qjt5R0FHcUMsUUFBUTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlO2dCQUlrQixnQkFBZ0I7c0JBQTdELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUtILFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVzQyxjQUFjO3NCQUF0RixlQUFlO3VCQUFDLHdCQUErQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHbkUsS0FBSztzQkFEUixLQUFLO2dCQWlCTixXQUFXO3NCQURWLE1BQU07Z0JBSUgsUUFBUTtzQkFEWCxLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSztnQkFXRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9XTl9BUlJPVywgVVBfQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBBLCBaLCBaRVJPLCBOSU5FLCBUQUIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9wdGlvblNlbGVjdGlvbkhhbmRsZXIgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPUFRJT05fU0VMRUNUSU9OX0hBTkRMRVIgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLnRva2VuJztcbmltcG9ydCB7IFZhbHVlQ2hhbmdlU2VydmljZSB9IGZyb20gJy4vdmFsdWUtY2hhbmdlLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKFxuICB7XG4gICAgc2VsZWN0b3I6ICdbd2FjU2VsZWN0XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBTZWxlY3REaXJlY3RpdmUsIG11bHRpOiB0cnVlIH0sXG4gICAgICAgIFZhbHVlQ2hhbmdlU2VydmljZVxuICAgICAgXSxcbiAgICBleHBvcnRBczogJ3dhY1NlbGVjdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RGlyZWN0aXZlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyAgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIGdldCB0YWJpbmRleCgpIHtcbiAgICAgIHJldHVybiB0aGlzLnRhYkluZGV4O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mud2FjLXNlbGVjdC1kaXNhYmxlZCcpIGdldCBpc1NlbGVjdERpc2FibGVkKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMgYWxsIGtleWRvd24gZXZlbnRzIG9uIHRoZSBzZWxlY3QuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmhhbmRsZUtleWJvYXJkQWN0aW9uKGV2ZW50KTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkcmVuKE9QVElPTl9TRUxFQ1RJT05fSEFORExFUiBhcyBhbnksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgb3B0aW9uQ2hpbGRyZW4hOiBRdWVyeUxpc3Q8T3B0aW9uU2VsZWN0aW9uSGFuZGxlcjxUT3B0aW9uVmFsdWU+PjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBUT3B0aW9uVmFsdWUgfCBUT3B0aW9uVmFsdWVbXSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcblxuICAgICAgaWYgKCF0aGlzLm9wdGlvbkNoaWxkcmVuKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2UuYXNzaWduVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpIDogVE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW10ge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgICBfdmFsdWU6IFRPcHRpb25WYWx1ZSB8IFRPcHRpb25WYWx1ZVtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG11bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX211bHRpcGxlO1xuICAgIH1cbiAgICBzZXQgbXVsdGlwbGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuX211bHRpcGxlID0gdmFsdWU7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZXRNdWx0aXBsZSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX211bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQpO1xuICAgIH1cbiAgICBnZXQgZGlzYWJsZWQoKSA6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cbiAgICBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuXG4gICAgQElucHV0KCkgdGFiSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgICBpc0Rlc3Ryb3llZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZhbHVlQ2hhbmdlU2VydmljZTogVmFsdWVDaGFuZ2VTZXJ2aWNlPFRPcHRpb25WYWx1ZT4pIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICB0aGlzLmhhbmRsZU9wdGlvbkNoaWxkcmVuKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2UudmFsdWVDaGFuZ2UkLnBpcGUodGFrZVVudGlsKHRoaXMuaXNEZXN0cm95ZWQkKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgIHRoaXMub25Ub3VjaCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVPcHRpb25DaGlsZHJlbigpIHtcbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNEZXN0cm95ZWQkKSwgc3RhcnRXaXRoKHRoaXMub3B0aW9uQ2hpbGRyZW4pKS5zdWJzY3JpYmUob3B0aW9uQ2hpbGRyZW4gPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2UuaGFuZGxlU2VsZWN0T3B0aW9uc0NoYW5nZShvcHRpb25DaGlsZHJlbiwgdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIHdoZW4gdGhlIHNlbGVjdGVkIGlzIG9wZW4uICovXG4gICAgcHJvdGVjdGVkIGhhbmRsZUtleWJvYXJkQWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcbiAgICAgIGNvbnN0IGlzQXJyb3dLZXkgPVxuICAgICAgICBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8XG4gICAgICAgIGtleUNvZGUgPT09IFVQX0FSUk9XIHx8XG4gICAgICAgIGtleUNvZGUgPT09IExFRlRfQVJST1cgfHxcbiAgICAgICAga2V5Q29kZSA9PT0gUklHSFRfQVJST1c7XG4gICAgICAvLyBjb25zdCBpc1R5cGluZyA9IChrZXlDb2RlID49IEEgJiYga2V5Q29kZSA8PSBaKSB8fCAoa2V5Q29kZSA+PSBaRVJPICYmIGtleUNvZGUgPD0gTklORSk7XG4gICAgICBpZiAoaXNBcnJvd0tleSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50cyB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZ1xuICAgICAgICAvLyBzZWxlY3QgdGhlIG5leHQgb3B0aW9uIG9uIGFycm93IGtleSBkb3duXG4gICAgICAgIGlmIChrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8IGtleUNvZGUgPT09IFJJR0hUX0FSUk9XKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWxlY3RQcmV2aW91c09wdGlvbigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8qXG4gICAgICBpZiAoaXNUeXBpbmcpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VhcmNoT3B0aW9uQnlGaXJzdExldHRlcihldmVudC5rZXkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAgKi9cbiAgICB9XG5cbiAgICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBtZXRob2RzXG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIG9uVG91Y2g6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpe1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpe1xuICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KXtcbiAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfTtcblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgdGhpcy5pc0Rlc3Ryb3llZCQubmV4dCgpO1xuICAgICAgdGhpcy5pc0Rlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,190 @@
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
+ constructor(changeDetectorRef) {
8
+ this.changeDetectorRef = changeDetectorRef;
9
+ this.valueChange$ = new Subject();
10
+ this.multiple = false;
11
+ this.indexSelectedOption = null; // todo update to array
12
+ this.resetListeners$ = new Subject();
13
+ this.indexOfMatchedOption = (option, index, letter) => {
14
+ const textOption = option.getContentRef().nativeElement.textContent.trim().toLowerCase();
15
+ return textOption.startsWith(letter) ? index : null;
16
+ };
17
+ this.isNotNull = (index) => {
18
+ return index !== null;
19
+ };
20
+ this.highestAndClosestIndex = (index) => {
21
+ if (isNaN(this.indexSelectedOption)) {
22
+ return true;
23
+ }
24
+ if (index > this.indexSelectedOption) {
25
+ return true;
26
+ }
27
+ return false;
28
+ };
29
+ }
30
+ set value(value) {
31
+ this._value = value;
32
+ this.handleValueChange();
33
+ this.valueChange$.next(value);
34
+ }
35
+ get value() {
36
+ return this._value;
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: "14.0.7", ngImport: i0, type: ValueChangeService, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable });
186
+ ValueChangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ValueChangeService });
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ValueChangeService, decorators: [{
188
+ type: Injectable
189
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QvdmFsdWUtY2hhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJckQsTUFBTSxPQUFPLGtCQUFrQjtJQTRCM0IsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUExQnhELGlCQUFZLEdBQTJDLElBQUksT0FBTyxFQUFFLENBQUM7UUFZckUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVUxQix3QkFBbUIsR0FBVyxJQUFJLENBQUMsQ0FBQyx1QkFBdUI7UUFFM0Qsb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQW9GdkMseUJBQW9CLEdBQUcsQ0FBQyxNQUFxQyxFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUNwRyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RELENBQUMsQ0FBQTtRQUVLLGNBQVMsR0FBRyxD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RUU7SUFDTSxlQUFlLENBQUMsTUFBb0I7UUFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdEM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OytHQTFPUSxrQkFBa0I7bUhBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvbXBhcmVBcnJheXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hcnJheSc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWYWx1ZUNoYW5nZVNlcnZpY2U8VE9wdGlvblZhbHVlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICB2YWx1ZUNoYW5nZSQ6IFN1YmplY3Q8VE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW10+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogVE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW10pIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX3ZhbHVlOiBUT3B0aW9uVmFsdWUgfCBUT3B0aW9uVmFsdWVbXTtcblxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgb3B0aW9uQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPj47XG5cbiAgICBzZWxlY3RlZE9wdGlvbkNvbnRlbnQ6IGFueTtcblxuICAgIGluZGV4U2VsZWN0ZWRPcHRpb246IG51bWJlciA9IG51bGw7IC8vIHRvZG8gdXBkYXRlIHRvIGFycmF5XG5cbiAgICByZXNldExpc3RlbmVycyQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBoYW5kbGVTZWxlY3RPcHRpb25zQ2hhbmdlKG9wdGlvbkNoaWxkcmVuOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFRPcHRpb25WYWx1ZT4+LCB2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMucmVzZXRMaXN0ZW5lcnMkLm5leHQoKTtcblxuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuID0gb3B0aW9uQ2hpbGRyZW47XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5oYW5kbGVNdWx0aXBsZVNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLmhhbmRsZUluaXRpYWxTZWxlY3RlZE9wdGlvbigpO1xuICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdGVkT3B0aW9uc0V2ZW50KCk7XG4gICAgfVxuXG4gICAgYXNzaWduVmFsdWUodmFsdWU6IFRPcHRpb25WYWx1ZSB8IFRPcHRpb25WYWx1ZVtdKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VTZWxlY3RlZE9wdGlvbigpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdFBsYWNlaG9sZGVyKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuPy5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQpKTtcbiAgICB9XG5cbiAgICBzZWxlY3ROZXh0T3B0aW9uKCkge1xuICAgICAgICAvLyBUT0RPIDogSGFuZGxlIG11bHRpcGxlIHNlbGVjdGlvblxuICAgICAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uICsxID49IHRoaXMub3B0aW9uQ2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHNlbGVjdFByZXZpb3VzT3B0aW9uKCkge1xuICAgICAgICAvLyBUT0RPIDogSGFuZGxlIG11bHRpcGxlIHNlbGVjdGlvblxuICAgICAgICBpZiAoIXRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduVmFsdWUobnVsbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gLSAxO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25DaGlsZHJlbi5nZXQodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKS52YWx1ZTtcbiAgICB9XG5cbiAgICBzZWFyY2hPcHRpb25CeUZpcnN0TGV0dGVyKGxldHRlcjogc3RyaW5nKSB7XG4gICAgICAgIC8vIFRPRE8gOiBIYW5kbGUgbXVsdGlwbGUgc2VsZWN0aW9uZ1xuICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9uc0luZGV4ID0gdGhpcy5vcHRpb25DaGlsZHJlblxuICAgICAgICAgICAgLm1hcCgob3B0aW9uLCBpbmRleCkgPT4gdGhpcy5pbmRleE9mTWF0Y2hlZE9wdGlvbihvcHRpb24sIGluZGV4LCBsZXR0ZXIpKVxuICAgICAgICAgICAgLmZpbHRlcih0aGlzLmlzTm90TnVsbCk7XG5cbiAgICAgICAgaWYgKCFtYXRjaGVkT3B0aW9uc0luZGV4Lmxlbmd0aCkgeyAvLyByZXNldCB0aGUgc2VsZWN0aW9uXG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmaW5kIHRoZSBuZXh0IG9wdGlvbiBhZnRlciB0aGUgY3VycmVudCBzZWxlY3RlZCBvcHRpb24sIG9yIHRoZSBmaXJzdCBvcHRpb25cblxuICAgICAgICBjb25zdCB2YWxpZE9wdGlvbkluZGV4ID0gbWF0Y2hlZE9wdGlvbnNJbmRleC5maW5kKHRoaXMuaGlnaGVzdEFuZENsb3Nlc3RJbmRleCk7XG5cbiAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gaXNOYU4odmFsaWRPcHRpb25JbmRleCkgPyBtYXRjaGVkT3B0aW9uc0luZGV4WzBdIDogdmFsaWRPcHRpb25JbmRleDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub3B0aW9uQ2hpbGRyZW4uZ2V0KHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikudmFsdWU7XG4gICAgfVxuXG4gICAgc2V0TXVsdGlwbGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5kZXhPZk1hdGNoZWRPcHRpb24gPSAob3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPiwgaW5kZXg6IG51bWJlciwgbGV0dGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGV4dE9wdGlvbiA9IG9wdGlvbi5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIHRleHRPcHRpb24uc3RhcnRzV2l0aChsZXR0ZXIpID8gaW5kZXggOiBudWxsO1xuICAgICAgfVxuXG4gICAgcHJpdmF0ZSBpc05vdE51bGwgPSAoaW5kZXg6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9PSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlnaGVzdEFuZENsb3Nlc3RJbmRleCA9IChpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChpc05hTih0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPiB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTXVsdGlwbGVTZWxlY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuLmZvckVhY2goKG9wdGlvbikgPT4gb3B0aW9uLnNldE11bHRpcGxlKHRydWUpKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJbml0aWFsU2VsZWN0ZWRPcHRpb24oKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyAhIEF2b2lkIEV4cHJlc3Npb24gaGFzIGNoYW5nZWQuLi5cblxuICAgICAgICAgICAgaWYgKHRoaXMubXVzdFVwZGF0ZVZhbHVlV2l0aEluaXRpYWxTZWxlY3RlZE9wdGlvblZhbHVlcygpKSB7IC8vIGluaXRpYWwgb3B0aW9uIHZhbHVlIHNlbGVjdGVkIHdpbiBhZ2FpbnN0IGluaXRpYWwgdmFsdWUgb3IgbmdNb2RlbCB2YWx1ZVxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm11bHRpcGxlID8gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNWYWx1ZXMoKSA6IHRoaXMuZ2V0U2VsZWN0ZWRPcHRpb25zVmFsdWVzKClbMF07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXREaXNhYmxlZFN0YXRlKHRydWUpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xuICAgICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbXVzdFVwZGF0ZVZhbHVlV2l0aEluaXRpYWxTZWxlY3RlZE9wdGlvblZhbHVlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmdldFNlbGVjdGVkT3B0aW9uQ29tcG9uZW50cygpLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuICFjb21wYXJlQXJyYXlzKHRoaXMudmFsdWUsIHRoaXMuZ2V0U2VsZWN0ZWRPcHRpb25zVmFsdWVzKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09IHRoaXMuZ2V0U2VsZWN0ZWRPcHRpb25zVmFsdWVzKClbMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVTZWxlY3RlZE9wdGlvbnNFdmVudCgpIHtcbiAgICAgICAgdGhpcy5vcHRpb25TZWxlY3RlZENoYW5nZUxpc3RlbmVycygpLnN1YnNjcmliZSgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnNWYWx1ZXMgPSB0aGlzLmdldFNlbGVjdGVkT3B0aW9uc1ZhbHVlcygpO1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWRPcHRpb25zVmFsdWVzO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBvcHRpb24uc2VsZWN0ZWQgPyBvcHRpb24udmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2VsZWN0UGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSAmJiB0eXBlb2YgdGhpcy52YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25Db250ZW50ID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25Db250ZW50ID0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNDb250ZW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZE9wdGlvbnNDb250ZW50KCkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VsZWN0ZWRPcHRpb25Db21wb25lbnRzKCkucmVkdWNlKChhY2MsIG9wdGlvbikgPT4gKGFjYyA/IGFjYyArICcsICcgOiAnJykgKyBvcHRpb24uZ2V0Q29udGVudFJlZigpLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQudHJpbSgpLCAnJyk7IC8vIHRvZG8gaW1wcm92ZSBmb3IgbXVsdGlwbGVcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudHMoKVswXT8uZ2V0Q29udGVudFJlZigpLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRPcHRpb25Db21wb25lbnRzKCl7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbkNoaWxkcmVuLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRPcHRpb25zVmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudHMoKS5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wdGlvblNlbGVjdGVkQ2hhbmdlTGlzdGVuZXJzKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENoYW5nZSQgPSAgdGhpcy5vcHRpb25DaGlsZHJlbi5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi5zZWxlY3RlZENoYW5nZS5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5kaXNhYmxlZCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IG9wdGlvbilcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBtZXJnZSguLi5zZWxlY3RlZENoYW5nZSQpLnBpcGUodGFrZVVudGlsKHRoaXMucmVzZXRMaXN0ZW5lcnMkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VTZWxlY3RlZE9wdGlvbigpIHtcbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5mb3JFYWNoKChvcHRpb25Db21wb25lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBvcHRpb25Db21wb25lbnQuc2V0U2VsZWN0ZWQodGhpcy5pc1NlbGVjdGVkVmFsdWUob3B0aW9uQ29tcG9uZW50LnZhbHVlKSk7XG5cbiAgICAgICAgICAgIGlmIChvcHRpb25Db21wb25lbnQuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICAqIE1heSBub3Qgd29yayB3aXRoIG9iamVjdHMgdmFsdWVzXG4gICAgKi9cbiAgICBwcml2YXRlIGlzU2VsZWN0ZWRWYWx1ZSh2YWx1ZTI6IFRPcHRpb25WYWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5pbmNsdWRlcyh2YWx1ZTIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSB2YWx1ZTI7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMucmVzZXRMaXN0ZW5lcnMkLm5leHQoKTtcbiAgICAgICAgdGhpcy5yZXNldExpc3RlbmVycyQuY29tcGxldGUoKTtcbiAgICB9XG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW1zLmR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC1pdGVtcy5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0SXRlbSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIGlkOiBudW1iZXI7XG4gIH1cbiJdfQ==
@@ -20,9 +20,9 @@ export class SelectSearchTriggerComponent {
20
20
  }, 0);
21
21
  }
22
22
  }
23
- SelectSearchTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectSearchTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- SelectSearchTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SelectSearchTriggerComponent, selector: "wac-select-search-trigger", inputs: { searchValue: "searchValue" }, outputs: { searchValueChange: "searchValueChange", searchInputKeyEnterPressed: "searchInputKeyEnterPressed" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"wac-select-seacrh-trigger\">\n <i class=\"far fa-search\"></i>\n <input #searchInput type=\"text\" (click)=\"$event.stopPropagation()\" [(ngModel)]=\"searchValue\" (ngModelChange)=\"onSearchValueChange()\" (keypressEnter)=\"onKeypressEnter()\"/>\n</div>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.KeypressEnterDirective, selector: "[keypressEnter]", outputs: ["keypressEnter"] }], encapsulation: i0.ViewEncapsulation.None });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectSearchTriggerComponent, decorators: [{
23
+ SelectSearchTriggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectSearchTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ SelectSearchTriggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: SelectSearchTriggerComponent, selector: "wac-select-search-trigger", inputs: { searchValue: "searchValue" }, outputs: { searchValueChange: "searchValueChange", searchInputKeyEnterPressed: "searchInputKeyEnterPressed" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"wac-select-seacrh-trigger\">\n <i class=\"far fa-search\"></i>\n <input #searchInput type=\"text\" (click)=\"$event.stopPropagation()\" [(ngModel)]=\"searchValue\" (ngModelChange)=\"onSearchValueChange()\" (keypressEnter)=\"onKeypressEnter()\"/>\n</div>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.KeypressEnterDirective, selector: "[keypressEnter]", outputs: ["keypressEnter"] }], encapsulation: i0.ViewEncapsulation.None });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectSearchTriggerComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'wac-select-search-trigger', encapsulation: ViewEncapsulation.None, template: "<div class=\"wac-select-seacrh-trigger\">\n <i class=\"far fa-search\"></i>\n <input #searchInput type=\"text\" (click)=\"$event.stopPropagation()\" [(ngModel)]=\"searchValue\" (ngModelChange)=\"onSearchValueChange()\" (keypressEnter)=\"onKeypressEnter()\"/>\n</div>" }]
28
28
  }], ctorParameters: function () { return []; }, propDecorators: { searchValue: [{
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
35
35
  type: ViewChild,
36
36
  args: ['searchInput']
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3Qtc2VhcmNoLXRyaWdnZXIvc2VsZWN0LXNlYXJjaC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3Qtc2VhcmNoLXRyaWdnZXIvc2VsZWN0LXNlYXJjaC10cmlnZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3BHLE1BQU0sT0FBTyw0QkFBNEI7SUFVdkM7UUFSUyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV4QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRS9DLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFNOUQsQ0FBQztJQUVILG1CQUFtQjtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt5SEExQlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsb1VDUHpDLDhRQUdNOzJGRElPLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSwyQkFBMkIsaUJBRXRCLGlCQUFpQixDQUFDLElBQUk7MEVBSTVCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVHLDBCQUEwQjtzQkFBbkMsTUFBTTtnQkFFbUIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtc2VsZWN0LXNlYXJjaC10cmlnZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1zZWFyY2gtdHJpZ2dlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0U2VhcmNoVHJpZ2dlckNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBzZWFyY2hWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKSBzZWFyY2hJbnB1dEtleUVudGVyUHJlc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcpIHNlYXJjaElucHV0OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgKSB7XG4gICAgfVxuXG4gIG9uU2VhcmNoVmFsdWVDaGFuZ2UoKSB7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZUNoYW5nZS5lbWl0KHRoaXMuc2VhcmNoVmFsdWUpO1xuICB9XG5cbiAgb25LZXlwcmVzc0VudGVyKCkge1xuICAgIHRoaXMuc2VhcmNoSW5wdXRLZXlFbnRlclByZXNzZWQuZW1pdCgpO1xuICB9XG5cbiAgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7IC8vIG90aGVyd2lzZSB0aGUgZm9jdXMgaXMgbm90IHNldFxuICAgICAgdGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSwwKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndhYy1zZWxlY3Qtc2VhY3JoLXRyaWdnZXJcIj5cbiAgPGkgY2xhc3M9XCJmYXIgZmEtc2VhcmNoXCI+PC9pPlxuICA8aW5wdXQgI3NlYXJjaElucHV0IHR5cGU9XCJ0ZXh0XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaFZhbHVlQ2hhbmdlKClcIiAoa2V5cHJlc3NFbnRlcik9XCJvbktleXByZXNzRW50ZXIoKVwiLz5cbjwvZGl2PiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC1zZWFyY2gtdHJpZ2dlci9zZWxlY3Qtc2VhcmNoLXRyaWdnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LXNlYXJjaC10cmlnZ2VyL3NlbGVjdC1zZWFyY2gtdHJpZ2dlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU9wRyxNQUFNLE9BQU8sNEJBQTRCO0lBVXZDO1FBUlMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFeEIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUvQywrQkFBMEIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBTTlELENBQUM7SUFFSCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDTixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7eUhBMUJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLG9VQ1B6Qyw4UUFHTTsyRkRJTyw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCLGlCQUV0QixpQkFBaUIsQ0FBQyxJQUFJOzBFQUk1QixXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFFRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBRW1CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlbGVjdC1zZWFyY2gtdHJpZ2dlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtc2VhcmNoLXRyaWdnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFNlYXJjaFRyaWdnZXJDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgc2VhcmNoVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgc2VhcmNoSW5wdXRLZXlFbnRlclByZXNzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICkge1xuICAgIH1cblxuICBvblNlYXJjaFZhbHVlQ2hhbmdlKCkge1xuICAgIHRoaXMuc2VhcmNoVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnNlYXJjaFZhbHVlKTtcbiAgfVxuXG4gIG9uS2V5cHJlc3NFbnRlcigpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0S2V5RW50ZXJQcmVzc2VkLmVtaXQoKTtcbiAgfVxuXG4gIHNldEZvY3VzKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyBvdGhlcndpc2UgdGhlIGZvY3VzIGlzIG5vdCBzZXRcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0sMCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3YWMtc2VsZWN0LXNlYWNyaC10cmlnZ2VyXCI+XG4gIDxpIGNsYXNzPVwiZmFyIGZhLXNlYXJjaFwiPjwvaT5cbiAgPGlucHV0ICNzZWFyY2hJbnB1dCB0eXBlPVwidGV4dFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWFyY2hWYWx1ZUNoYW5nZSgpXCIgKGtleXByZXNzRW50ZXIpPVwib25LZXlwcmVzc0VudGVyKClcIi8+XG48L2Rpdj4iXX0=
@@ -0,0 +1,103 @@
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
+ constructor() {
9
+ this.type = 'default';
10
+ this.alwaysOpen = false;
11
+ this.openCategories = false;
12
+ this.currentLabel = '';
13
+ this.currentLabelIcon = '';
14
+ this.maxWidth = '100%';
15
+ this.selectValue = new EventEmitter();
16
+ this.clickOnCallToAction = new EventEmitter();
17
+ }
18
+ set items(items) {
19
+ this._items = items;
20
+ this.setInitialValues();
21
+ }
22
+ get items() {
23
+ return this._items;
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: "14.0.7", ngImport: i0, type: SelectInTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
74
+ SelectInTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", 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: "14.0.7", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWluLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtaW4tdGV4dC9zZWxlY3QtaW4tdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1pbi10ZXh0L3NlbGVjdC1pbi10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVEvRSxNQUFNLE9BQU8scUJBQXFCO0lBOENoQztRQXpCQSxTQUFJLEdBQUcsU0FBUyxDQUFDO1FBWWpCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFNUIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBRXJCLGFBQVEsR0FBRyxNQUFNLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFekMsQ0FBQztJQTdDaEIsSUFDSSxLQUFLLENBQUMsS0FBbUI7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBd0NELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUN0QixPQUFPO1NBQ1I7UUFFRCxNQUFNLFlBQVksR0FBZSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYSxFQUFFLElBQWdCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sWUFBWSxHQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLFlBQVksR0FBZSxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLE9BQU87YUFDUjtZQUNELFlBQVksR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sY0FBYyxDQUFDLFlBQXdCO1FBQzdDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsWUFBWSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzVDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOztrSEF2R1UscUJBQXFCO3NHQUFyQixxQkFBcUIsNlhDUmxDLG9xQ0FvQkE7MkZEWmEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG9CQUFvQjswRUFLMUIsS0FBSztzQkFEUixLQUFLO2dCQVdOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGxsVG9BY3Rpb24gfSBmcm9tICcuLi9zZWxlY3QvY2FsbC10by1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QtaXRlbXMuZHRvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlbGVjdC1pbi10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1pbi10ZXh0LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SW5UZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc2V0IGl0ZW1zKGl0ZW1zOiBTZWxlY3RJdGVtW10pIHtcbiAgICB0aGlzLl9pdGVtcyA9IGl0ZW1zO1xuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xuICB9XG4gIGdldCBpdGVtcygpOiBTZWxlY3RJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgfVxuICBwcml2YXRlIF9pdGVtczogU2VsZWN0SXRlbVtdO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aEl0ZW1zOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgdHlwZSA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKVxuICBjYWxsVG9BY3Rpb246IENhbGxsVG9BY3Rpb247XG5cbiAgQElucHV0KClcbiAgcHJlVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHBvc3RUZXh0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgYWx3YXlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG9wZW5DYXRlZ29yaWVzID0gZmFsc2U7XG5cbiAgY3VycmVudExhYmVsOiBzdHJpbmcgPSAnJztcbiAgY3VycmVudExhYmVsSWNvbjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgbWF4V2lkdGggPSAnMTAwJSc7XG5cbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpIGNsaWNrT25DYWxsVG9BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50TGFiZWwgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xuICB9XG5cbiAgc2V0SW5pdGlhbFZhbHVlcygpIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbVNlbGVjdGVkOiBTZWxlY3RJdGVtID0gdGhpcy5nZXRJdGVtU2VsZWN0ZWQoKTtcbiAgICB0aGlzLnNldEN1cnJlbnRJdGVtKGl0ZW1TZWxlY3RlZCk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMub3BlbkNhdGVnb3JpZXMgPSBmYWxzZTtcbiAgfVxuXG4gIGN1c3RvbVRCKGluZGV4OiBudW1iZXIsIGl0ZW06IFNlbGVjdEl0ZW0pIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgIGNvbnN0IGl0ZW1TZWxlY3RlZDogU2VsZWN0SXRlbSA9IHRoaXMuaXRlbXNbaW5kZXhdO1xuICAgIHRoaXMuc2V0Q3VycmVudEl0ZW0oaXRlbVNlbGVjdGVkKTtcbiAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQoaW5kZXgpO1xuICB9XG5cbiAgb25DbGlja0NhbGxUb0FjdGlvbigpIHtcbiAgICB0aGlzLmNsaWNrT25DYWxsVG9BY3Rpb24uZW1pdCh0aGlzLmNhbGxUb0FjdGlvbi52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1TZWxlY3RlZCgpOlNlbGVjdEl0ZW0ge1xuICAgIGxldCBpdGVtU2VsZWN0ZWQ6IFNlbGVjdEl0ZW0gPSBudWxsO1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICghaXRlbS5zZWxlY3RlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpdGVtU2VsZWN0ZWQgPSBpdGVtO1xuICAgIH0pO1xuICAgIHJldHVybiBpdGVtU2VsZWN0ZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldEN1cnJlbnRJdGVtKGl0ZW1TZWxlY3RlZDogU2VsZWN0SXRlbSkge1xuICAgIGlmICghaXRlbVNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZW1TZWxlY3RlZC5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy5jdXJyZW50TGFiZWwgPSBpdGVtU2VsZWN0ZWQubmFtZTtcbiAgICB0aGlzLmN1cnJlbnRMYWJlbEljb24gPSBpdGVtU2VsZWN0ZWQuaWNvbjtcbiAgfVxuXG4gIHByaXZhdGUgdW5zZWxlY3RBbGwoKSB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndhYy1zZWxlY3QtaW4tdGV4dFwiIHd6QXV0b0hpZGUgKGNsaWNrT3V0c2lkZSk9XCJvbkNsb3NlKClcIiBbbmdTdHlsZV09XCJ7ICdtYXgtd2lkdGgnOiBtYXhXaWR0aCB9XCIgW3pJbmRleFRvZ2dsZV09XCJvcGVuQ2F0ZWdvcmllc1wiPlxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdC1pbi10ZXh0X19wcmVwZW5kXCIgW2lubmVySFRNTF09XCJwcmVUZXh0XCIgKm5nSWY9XCJwcmVUZXh0XCI+PC9kaXY+XG4gIDxkaXYgI2N1cnJlbnQgY2xhc3M9XCJ3YWMtc2VsZWN0LWluLXRleHRfX2N1cnJlbnRcIiAoY2xpY2spPVwib3BlbkNhdGVnb3JpZXMgPSAhb3BlbkNhdGVnb3JpZXNcIj5cbiAgICA8c3Bhbj57eyBjdXJyZW50TGFiZWwgfX08L3NwYW4+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJ3YWMtc2VsZWN0LWluLXRleHRfX2NvbnRlbnRcIlxuICAgICAgW25nQ2xhc3NdPVwieyBoaWRkZW46ICFvcGVuQ2F0ZWdvcmllcyAmJiAhYWx3YXlzT3Blbiwgb3BlbjogdHlwZSA9PT0gJ29wZW4nIH1cIlxuICAgICAgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogbWF4V2lkdGhJdGVtcyB9XCJcbiAgICA+XG4gICAgICA8cGVyZmVjdC1zY3JvbGxiYXIgW2NvbmZpZ109XCJ7IHN1cHByZXNzU2Nyb2xsWDogdHJ1ZSB9XCIgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtc2VsZWN0LWluLXRleHRfX2NvbnRlbnRfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeSA6IGN1c3RvbVRCOyBsZXQgaW5kZXggPSBpbmRleDtcIj5cbiAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGl0ZW0uc2VsZWN0ZWQgfVwiIChjbGljayk9XCJvblNlbGVjdEl0ZW0oaW5kZXgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb25cIiBbaW5uZXJIVE1MXT1cIml0ZW0uaWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9zcGFuPnt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvcGVyZmVjdC1zY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdC1pbi10ZXh0X19hZnRlclwiIFtpbm5lckhUTUxdPVwicG9zdFRleHRcIiAqbmdJZj1cInBvc3RUZXh0XCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -37,9 +37,9 @@ export class SelectedListComponent {
37
37
  return !this.options.some(option => !option.checked);
38
38
  }
39
39
  }
40
- SelectedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- SelectedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SelectedListComponent, selector: "wac-selected-list", inputs: { options: "options", label: "label", textSelectAll: "textSelectAll", textUnSelectAll: "textUnSelectAll", enableSelectAll: "enableSelectAll" }, outputs: { selectedItemsIndex: "selectedItemsIndex", selectedItemsAll: "selectedItemsAll", unSelectedItemsAll: "unSelectedItemsAll" }, ngImport: i0, template: "<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <ng-container *ngVar=\"(options | areAllOptionsSelected) as areAllOptionsSelected\">\n <ng-container *ngIf=\"textSelectAll && !areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [label]=\"textSelectAll\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"textUnSelectAll && areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [extraClasses]=\"'is-info'\"\n [label]=\"textUnSelectAll\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n </ng-container>\n\n </div>\n <div class=\"selected-list__wrapper__content\">\n <div class=\"selected-list__wrapper__content__item\" *ngFor=\"let item of options;let i = index;\" [ngClass]=\"{'active': item.checked}\" (click)=\"onSelectItem(i)\">\n <span [innerHTML]=\"item.label\"></span>\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </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: i2.VarDirective, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i3.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "textcolor", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }, { kind: "pipe", type: i4.AreAllOptionsSelectedPipe, name: "areAllOptionsSelected" }] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SelectedListComponent, decorators: [{
40
+ SelectedListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ SelectedListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: SelectedListComponent, selector: "wac-selected-list", inputs: { options: "options", label: "label", textSelectAll: "textSelectAll", textUnSelectAll: "textUnSelectAll", enableSelectAll: "enableSelectAll" }, outputs: { selectedItemsIndex: "selectedItemsIndex", selectedItemsAll: "selectedItemsAll", unSelectedItemsAll: "unSelectedItemsAll" }, ngImport: i0, template: "<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <ng-container *ngVar=\"(options | areAllOptionsSelected) as areAllOptionsSelected\">\n <ng-container *ngIf=\"textSelectAll && !areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [label]=\"textSelectAll\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"textUnSelectAll && areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [extraClasses]=\"'is-info'\"\n [label]=\"textUnSelectAll\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n </ng-container>\n\n </div>\n <div class=\"selected-list__wrapper__content\">\n <div class=\"selected-list__wrapper__content__item\" *ngFor=\"let item of options;let i = index;\" [ngClass]=\"{'active': item.checked}\" (click)=\"onSelectItem(i)\">\n <span [innerHTML]=\"item.label\"></span>\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </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: i2.VarDirective, selector: "[ngVar]", inputs: ["ngVar"] }, { kind: "component", type: i3.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "textcolor", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }, { kind: "pipe", type: i4.AreAllOptionsSelectedPipe, name: "areAllOptionsSelected" }] });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectedListComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'wac-selected-list', template: "<div class=\"selected-list\">\n <div class=\"selected-list__wrapper\">\n <div class=\"selected-list__wrapper__head\">\n <p *ngIf=\"label\" [innerHTML]=\"label\"></p>\n <ng-container *ngVar=\"(options | areAllOptionsSelected) as areAllOptionsSelected\">\n <ng-container *ngIf=\"textSelectAll && !areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [label]=\"textSelectAll\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n <ng-container *ngIf=\"textUnSelectAll && areAllOptionsSelected\">\n\n <div class=\"selected-list__wrapper__head__button\">\n\n <div class=\"selected-list__wrapper__head__button__notMobile\">\n <wac-button\n [extraClasses]=\"'is-info'\"\n [label]=\"textUnSelectAll\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n <div class=\"selected-list__wrapper__head__button__mobile\">\n <wac-button\n [extraClasses]=\"'is-grey'\"\n [icon]=\"'fad fa-check-double'\"\n (click)=\"onUnSelectAll()\"\n >\n </wac-button>\n </div>\n\n </div>\n\n </ng-container>\n\n </ng-container>\n\n </div>\n <div class=\"selected-list__wrapper__content\">\n <div class=\"selected-list__wrapper__content__item\" *ngFor=\"let item of options;let i = index;\" [ngClass]=\"{'active': item.checked}\" (click)=\"onSelectItem(i)\">\n <span [innerHTML]=\"item.label\"></span>\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </div>\n</div>\n" }]
45
45
  }], propDecorators: { options: [{