@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
@@ -59,9 +59,9 @@ export class SearchComponent {
59
59
  this.closeSelect();
60
60
  }
61
61
  }
62
- SearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- SearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: SearchComponent, selector: "wac-search", inputs: { placeholder: "placeholder", alwaysOpen: "alwaysOpen", label: "label", options: "options", disableSearchIn: "disableSearchIn", emptyResult: "emptyResult" }, outputs: { selectValue: "selectValue", searchKeyUp: "searchKeyUp", searchFocusOut: "searchFocusOut" }, ngImport: i0, template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\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.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"] }] });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: SearchComponent, decorators: [{
62
+ SearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ SearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: SearchComponent, selector: "wac-search", inputs: { placeholder: "placeholder", alwaysOpen: "alwaysOpen", label: "label", options: "options", disableSearchIn: "disableSearchIn", emptyResult: "emptyResult" }, outputs: { selectValue: "selectValue", searchKeyUp: "searchKeyUp", searchFocusOut: "searchFocusOut" }, ngImport: i0, template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\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.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"] }] });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SearchComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'wac-search', template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </perfect-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n" }]
67
67
  }], ctorParameters: function () { return []; }, propDecorators: { placeholder: [{
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
83
83
  }], searchFocusOut: [{
84
84
  type: Output
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUTdFLE1BQU0sT0FBTyxlQUFlO0lBYzFCO1FBWFMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFVCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDcEM7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNwQztTQUNGO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsS0FBYTtRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7YUFBTTtZQUNMLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN4RyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OzRHQTdEVSxlQUFlO2dHQUFmLGVBQWUsK1RDUjVCLDhuQ0FrQkE7MkZEVmEsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxZQUFZOzBFQUtiLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFJSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlYXJjaE9wdGlvbn0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQge1NlbGVjdEl0ZW19IGZyb20gJy4uL3NlbGVjdHMvc2VsZWN0LWl0ZW1zLmR0byc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1zZWFyY2gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFsd2F5c09wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgb3B0aW9uczogU2VhcmNoT3B0aW9uW107XG4gIEBJbnB1dCgpIGRpc2FibGVTZWFyY2hJbiA9IGZhbHNlO1xuICBASW5wdXQoKSBlbXB0eVJlc3VsdCA9ICcnO1xuICBzZWFyY2g6IGFueSA9ICcnO1xuICBvcGVuU2VsZWN0ID0gZmFsc2U7XG4gIHRyaWdnZXJPcHRpb25zOiBTZWFyY2hPcHRpb25bXTtcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBzZWFyY2hLZXlVcCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgc2VhcmNoRm9jdXNPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMub3BlblNlbGVjdCA9IGZhbHNlO1xuICB9XG5cbiAgc2V0U2VhcmNoVmFsdWVUb1F1ZXJ5KHZhbHVlKSB7XG4gICAgdGhpcy5zZWFyY2ggPSB2YWx1ZS50YXJnZXQudmFsdWU7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVNlYXJjaEluKSB7XG4gICAgICB0aGlzLnRyaWdnZXJPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zZWFyY2gubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLm9wZW5TZWxlY3QgPSB0cnVlO1xuICAgICAgICB0aGlzLnRyaWdnZXJPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQubGFiZWwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHRoaXMuc2VhcmNoLnRvTG93ZXJDYXNlKCkpICE9PSAtMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRyaWdnZXJPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlYXJjaEtleVVwLmVtaXQodGhpcy5zZWFyY2gpO1xuICB9XG5cbiAgc2VuZEV2ZW50Rm9jdXNPdXQoKSB7XG4gICAgdGhpcy5zZWFyY2hGb2N1c091dC5lbWl0KHRoaXMuc2VhcmNoKTtcbiAgfVxuXG4gIGNsb3NlU2VsZWN0KCkge1xuICAgIHRoaXMub3BlblNlbGVjdCA9IGZhbHNlO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGluZGV4OiBudW1iZXIsIHZhbHVlOiBudW1iZXIsIGxhYmVsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaCA9ICcnO1xuICAgIHRoaXMub3BlblNlbGVjdCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmRpc2FibGVTZWFyY2hJbikge1xuICAgICAgdGhpcy5zZWxlY3RWYWx1ZS5lbWl0KGluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmluZEluT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQubGFiZWwgPT09IGxhYmVsICYmIGVsZW1lbnQuaWQgPT09IHZhbHVlKTtcbiAgICAgIHRoaXMuc2VsZWN0VmFsdWUuZW1pdChmaW5kSW5PcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0QWxsVnVlKCkge1xuICAgIHRoaXMuc2VhcmNoID0gJyc7XG4gICAgdGhpcy5jbG9zZVNlbGVjdCgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3YWMtc2VhcmNoXCIgW25nQ2xhc3NdPVwieyBvcGVuOiBvcGVuU2VsZWN0IHx8IGFsd2F5c09wZW4gfVwiIFt6SW5kZXhUb2dnbGVdPVwib3BlblNlbGVjdFwiIHd6QXV0b0hpZGUgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZVNlbGVjdCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJ3YWMtc2VhcmNoX193cmFwcGVyXCI+XG4gICAgPGJ1dHRvbj48aSBjbGFzcz1cImZhbCBmYS1zZWFyY2hcIj48L2k+PC9idXR0b24+XG4gICAgPGlucHV0IFt2YWx1ZV09XCJzZWFyY2hcIiB0eXBlPVwidGV4dFwiIHJlcXVpcmVkIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChmb2N1cyk9XCJvcGVuU2VsZWN0ID0gdHJ1ZTtcIiAoZm9jdXNvdXQpPVwic2VuZEV2ZW50Rm9jdXNPdXQoKVwiIChrZXl1cCk9XCJzZXRTZWFyY2hWYWx1ZVRvUXVlcnkoJGV2ZW50KVwiIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwid2FjLXNlYXJjaF9fYWJzb2x1dGVcIiAqbmdJZj1cInRyaWdnZXJPcHRpb25zXCIgW25nQ2xhc3NdPVwieydoaWRkZW4nOiAhb3BlblNlbGVjdH1cIj5cbiAgICA8cGVyZmVjdC1zY3JvbGxiYXIgW2NvbmZpZ109XCJ7IHN1cHByZXNzU2Nyb2xsWDogdHJ1ZSB9XCIgKm5nSWY9XCJ0cmlnZ2VyT3B0aW9ucy5sZW5ndGggPiAwXCI+XG4gICAgICA8ZGl2IChjbGljayk9XCJvbkNsb3NlKClcIiBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0cmlnZ2VyT3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXg7XCI+XG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyBzZWxlY3RlZDogaXRlbS5jaGVja2VkIH1cIiAoY2xpY2spPVwib25TZWxlY3RJdGVtKGluZGV4LCBpdGVtLmlkLCBpdGVtLmxhYmVsKVwiPlxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L3BlcmZlY3Qtc2Nyb2xsYmFyPlxuICAgIDxkaXYgY2xhc3M9XCJ3YWMtc2VsZWN0X19jb250ZW50X19lbXB0eVwiICpuZ0lmPVwidHJpZ2dlck9wdGlvbnMubGVuZ3RoID09PSAwXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cImVtcHR5UmVzdWx0XCI+e3tlbXB0eVJlc3VsdH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUTdFLE1BQU0sT0FBTyxlQUFlO0lBYzFCO1FBWFMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFVCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDcEM7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNwQztTQUNGO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsS0FBYTtRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7YUFBTTtZQUNMLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN4RyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OzRHQTdEVSxlQUFlO2dHQUFmLGVBQWUsK1RDUjVCLDhuQ0FrQkE7MkZEVmEsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxZQUFZOzBFQUtiLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFJSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NlYXJjaE9wdGlvbn0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQge1NlbGVjdEl0ZW19IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QtaXRlbXMuZHRvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYWx3YXlzT3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBvcHRpb25zOiBTZWFyY2hPcHRpb25bXTtcbiAgQElucHV0KCkgZGlzYWJsZVNlYXJjaEluID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVtcHR5UmVzdWx0ID0gJyc7XG4gIHNlYXJjaDogYW55ID0gJyc7XG4gIG9wZW5TZWxlY3QgPSBmYWxzZTtcbiAgdHJpZ2dlck9wdGlvbnM6IFNlYXJjaE9wdGlvbltdO1xuICBAT3V0cHV0KCkgc2VsZWN0VmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaEtleVVwID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBzZWFyY2hGb2N1c091dCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50cmlnZ2VyT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICBzZXRTZWFyY2hWYWx1ZVRvUXVlcnkodmFsdWUpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHZhbHVlLnRhcmdldC52YWx1ZTtcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VhcmNoSW4pIHtcbiAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNlYXJjaC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMub3BlblNlbGVjdCA9IHRydWU7XG4gICAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5zZWFyY2gudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoS2V5VXAuZW1pdCh0aGlzLnNlYXJjaCk7XG4gIH1cblxuICBzZW5kRXZlbnRGb2N1c091dCgpIHtcbiAgICB0aGlzLnNlYXJjaEZvY3VzT3V0LmVtaXQodGhpcy5zZWFyY2gpO1xuICB9XG5cbiAgY2xvc2VTZWxlY3QoKSB7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICBvblNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlciwgdmFsdWU6IG51bWJlciwgbGFiZWw6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoID0gJyc7XG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVNlYXJjaEluKSB7XG4gICAgICB0aGlzLnNlbGVjdFZhbHVlLmVtaXQoaW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaW5kSW5PcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC5sYWJlbCA9PT0gbGFiZWwgJiYgZWxlbWVudC5pZCA9PT0gdmFsdWUpO1xuICAgICAgdGhpcy5zZWxlY3RWYWx1ZS5lbWl0KGZpbmRJbk9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRBbGxWdWUoKSB7XG4gICAgdGhpcy5zZWFyY2ggPSAnJztcbiAgICB0aGlzLmNsb3NlU2VsZWN0KCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIndhYy1zZWFyY2hcIiBbbmdDbGFzc109XCJ7IG9wZW46IG9wZW5TZWxlY3QgfHwgYWx3YXlzT3BlbiB9XCIgW3pJbmRleFRvZ2dsZV09XCJvcGVuU2VsZWN0XCIgd3pBdXRvSGlkZSAoY2xpY2tPdXRzaWRlKT1cImNsb3NlU2VsZWN0KClcIj5cbiAgPGRpdiBjbGFzcz1cIndhYy1zZWFyY2hfX3dyYXBwZXJcIj5cbiAgICA8YnV0dG9uPjxpIGNsYXNzPVwiZmFsIGZhLXNlYXJjaFwiPjwvaT48L2J1dHRvbj5cbiAgICA8aW5wdXQgW3ZhbHVlXT1cInNlYXJjaFwiIHR5cGU9XCJ0ZXh0XCIgcmVxdWlyZWQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKGZvY3VzKT1cIm9wZW5TZWxlY3QgPSB0cnVlO1wiIChmb2N1c291dCk9XCJzZW5kRXZlbnRGb2N1c091dCgpXCIgKGtleXVwKT1cInNldFNlYXJjaFZhbHVlVG9RdWVyeSgkZXZlbnQpXCIgLz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ3YWMtc2VhcmNoX19hYnNvbHV0ZVwiICpuZ0lmPVwidHJpZ2dlck9wdGlvbnNcIiBbbmdDbGFzc109XCJ7J2hpZGRlbic6ICFvcGVuU2VsZWN0fVwiPlxuICAgIDxwZXJmZWN0LXNjcm9sbGJhciBbY29uZmlnXT1cInsgc3VwcHJlc3NTY3JvbGxYOiB0cnVlIH1cIiAqbmdJZj1cInRyaWdnZXJPcHRpb25zLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiIGNsYXNzPVwid2FjLXNlbGVjdF9fY29udGVudF9faXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRyaWdnZXJPcHRpb25zOyBsZXQgaW5kZXggPSBpbmRleDtcIj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBpdGVtLmNoZWNrZWQgfVwiIChjbGljayk9XCJvblNlbGVjdEl0ZW0oaW5kZXgsIGl0ZW0uaWQsIGl0ZW0ubGFiZWwpXCI+XG4gICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvcGVyZmVjdC1zY3JvbGxiYXI+XG4gICAgPGRpdiBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRfX2VtcHR5XCIgKm5nSWY9XCJ0cmlnZ2VyT3B0aW9ucy5sZW5ndGggPT09IDBcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZW1wdHlSZXN1bHRcIj57e2VtcHR5UmVzdWx0fX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC10by1hY3Rpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9jYWxsLXRvLWFjdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYWxsbFRvQWN0aW9uIHtcbiAgICB2YWx1ZT86IGFueTtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgYm9sZFRleHQ/OiBzdHJpbmc7XG59Il19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L29wdGlvbi9vcHRpb24tc2VsZWN0aW9uLWhhbmRsZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvblNlbGVjdGlvbkhhbmRsZXI8VE9wdGlvblZhbHVlPiB7XG4gICAgdmFsdWU6IFRPcHRpb25WYWx1ZTtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuICAgIGdldENvbnRlbnRSZWYoKTogRWxlbWVudFJlZjxhbnk+O1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0U2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkO1xuICAgIHNldE11bHRpcGxlKG11bHRpcGxlOiBib29sZWFuKTogdm9pZDtcbn0iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const OPTION_SELECTION_HANDLER = new InjectionToken('OPTION_SELECTION_HANDLER');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uL29wdGlvbi1zZWxlY3Rpb24taGFuZGxlci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUE4QiwwQkFBMEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT3B0aW9uU2VsZWN0aW9uSGFuZGxlciB9IGZyb20gXCIuL29wdGlvbi1zZWxlY3Rpb24taGFuZGxlci5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNvbnN0IE9QVElPTl9TRUxFQ1RJT05fSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPcHRpb25TZWxlY3Rpb25IYW5kbGVyPGFueT4+KCdPUFRJT05fU0VMRUNUSU9OX0hBTkRMRVInKTsiXX0=
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { uuid } from '../../../utils/uuid';
3
+ import { OPTION_SELECTION_HANDLER } from './option-selection-handler.token';
4
+ import { SelectOptionDirective } from './select-option.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "../../checkbox/checkbox.component";
8
+ export class OptionComponent extends SelectOptionDirective {
9
+ constructor(contentRef, changeDetectorRef) {
10
+ super(contentRef, changeDetectorRef);
11
+ this.contentRef = contentRef;
12
+ this.changeDetectorRef = changeDetectorRef;
13
+ this.checkBoxId = `wac-option-${uuid()}`;
14
+ }
15
+ getContentRef() {
16
+ return this.contentOption;
17
+ }
18
+ }
19
+ OptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: OptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
20
+ OptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: OptionComponent, selector: "wac-option", providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: OptionComponent }], viewQueries: [{ propertyName: "contentOption", first: true, predicate: ["contentWrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n [ngClass]=\"{ 'disabled': disabled }\"\n class=\"wac-option\"\n >\n <div [ngClass]=\"{ 'selected': !disabled && selected, 'disabled': disabled }\" #contentWrapper>\n <wac-checkbox *ngIf=\"multiple\" [id]=\"checkBoxId\" [value]=\"selected\"></wac-checkbox>\n <ng-content></ng-content>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CheckboxComponent, selector: "wac-checkbox", inputs: ["label", "value", "type", "alone", "checked", "hasInput", "inputPlaceholder", "id", "name", "whiteSpace", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: OptionComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'wac-option', encapsulation: ViewEncapsulation.None, providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: OptionComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [ngClass]=\"{ 'disabled': disabled }\"\n class=\"wac-option\"\n >\n <div [ngClass]=\"{ 'selected': !disabled && selected, 'disabled': disabled }\" #contentWrapper>\n <wac-checkbox *ngIf=\"multiple\" [id]=\"checkBoxId\" [value]=\"selected\"></wac-checkbox>\n <ng-content></ng-content>\n </div>\n</div>" }]
24
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { contentOption: [{
25
+ type: ViewChild,
26
+ args: ['contentWrapper']
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L29wdGlvbi9vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBU2xFLE1BQU0sT0FBTyxlQUE4QixTQUFRLHFCQUFtQztJQU1wRixZQUFzQixVQUFzQixFQUFZLGlCQUFvQztRQUMxRixLQUFLLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFEakIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFZLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFGNUYsZUFBVSxHQUFHLGNBQWMsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUlwQyxDQUFDO0lBRVEsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs7NEdBWlUsZUFBZTtnR0FBZixlQUFlLHFDQUhmLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUFDLGtLQ1RsRiw0VUFRTTsyRkRJTyxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFlBQVksaUJBRVAsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsaUJBQWlCLEVBQUUsQ0FBQyxtQkFDL0QsdUJBQXVCLENBQUMsTUFBTTtpSUFJbEIsYUFBYTtzQkFBekMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHV1aWQgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dWlkJztcbmltcG9ydCB7IE9QVElPTl9TRUxFQ1RJT05fSEFORExFUiB9IGZyb20gJy4vb3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLnRva2VuJztcbmltcG9ydCB7IFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtb3B0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogT1BUSU9OX1NFTEVDVElPTl9IQU5ETEVSLCB1c2VFeGlzdGluZzogT3B0aW9uQ29tcG9uZW50IH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPiBleHRlbmRzIFNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUT3B0aW9uVmFsdWU+IHtcblxuICBAVmlld0NoaWxkKCdjb250ZW50V3JhcHBlcicpIGNvbnRlbnRPcHRpb246IEVsZW1lbnRSZWY7XG5cbiAgY2hlY2tCb3hJZCA9IGB3YWMtb3B0aW9uLSR7dXVpZCgpfWA7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbnRlbnRSZWY6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjb250ZW50UmVmLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gIH1cblxuICBvdmVycmlkZSBnZXRDb250ZW50UmVmKCk6IEVsZW1lbnRSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudE9wdGlvbjtcbiAgfVxufVxuIiwiPGRpdlxuICAgIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkJzogZGlzYWJsZWQgfVwiXG4gICAgY2xhc3M9XCJ3YWMtb3B0aW9uXCJcbiAgPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwieyAnc2VsZWN0ZWQnOiAhZGlzYWJsZWQgJiYgc2VsZWN0ZWQsICdkaXNhYmxlZCc6IGRpc2FibGVkIH1cIiAjY29udGVudFdyYXBwZXI+XG4gICAgICA8d2FjLWNoZWNrYm94ICpuZ0lmPVwibXVsdGlwbGVcIiBbaWRdPVwiY2hlY2tCb3hJZFwiIFt2YWx1ZV09XCJzZWxlY3RlZFwiPjwvd2FjLWNoZWNrYm94PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
@@ -0,0 +1,97 @@
1
+ import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
2
+ import { OPTION_SELECTION_HANDLER } from './option-selection-handler.token';
3
+ import * as i0 from "@angular/core";
4
+ // todo create a select module and in the select-option.directive.ts
5
+ export class SelectOptionDirective {
6
+ constructor(contentRef, changeDetectorRef) {
7
+ this.contentRef = contentRef;
8
+ this.changeDetectorRef = changeDetectorRef;
9
+ this.disabled = false;
10
+ this.disabledByParent = false;
11
+ this.selected = false;
12
+ this.onClickEventPreventDefault = true;
13
+ this.selectedChange = new EventEmitter();
14
+ this.multiple = false;
15
+ }
16
+ onClick(event) {
17
+ this.onSelectOption();
18
+ if (this.onClickEventPreventDefault) {
19
+ event.preventDefault();
20
+ }
21
+ }
22
+ get isOptionSelected() {
23
+ return this.selected;
24
+ }
25
+ get isOptionDisabled() {
26
+ return this.disabled || this.disabledByParent;
27
+ }
28
+ get cursor() {
29
+ return this.disabled || this.disabledByParent ? 'not-allowed' : 'pointer';
30
+ }
31
+ setSelected(selected) {
32
+ this.selected = selected;
33
+ this.changeDetectorRef.markForCheck();
34
+ }
35
+ onSelectOption() {
36
+ if (this.disabled || this.disabledByParent) {
37
+ return;
38
+ }
39
+ this.selected = this.multiple ? !this.selected : true; // If not multiple mode -> can not be unselected
40
+ this.selectedChange.emit(this.selected);
41
+ this.changeDetectorRef.markForCheck();
42
+ }
43
+ getValue() {
44
+ return this.value;
45
+ }
46
+ setValue(value) {
47
+ this.value = value;
48
+ this.changeDetectorRef.markForCheck();
49
+ }
50
+ isSelected() {
51
+ return this.selected;
52
+ }
53
+ getContentRef() {
54
+ return this.contentRef;
55
+ }
56
+ setDisabledState(isDisabled) {
57
+ this.disabledByParent = isDisabled;
58
+ this.changeDetectorRef.markForCheck();
59
+ }
60
+ setMultiple(multiple) {
61
+ this.multiple = multiple;
62
+ this.changeDetectorRef.markForCheck();
63
+ }
64
+ }
65
+ SelectOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
66
+ SelectOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.7", type: SelectOptionDirective, selector: "[wacOption]", inputs: { disabled: "disabled", value: "value", selected: "selected", onClickEventPreventDefault: "onClickEventPreventDefault" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.wac-option-selected": "this.isOptionSelected", "class.wac-option-disabled": "this.isOptionDisabled", "style.cursor": "this.cursor" } }, providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }], exportAs: ["wacOption"], ngImport: i0 });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectOptionDirective, decorators: [{
68
+ type: Directive,
69
+ args: [{
70
+ selector: '[wacOption]',
71
+ providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }],
72
+ exportAs: 'wacOption'
73
+ }]
74
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onClick: [{
75
+ type: HostListener,
76
+ args: ['click', ['$event']]
77
+ }], isOptionSelected: [{
78
+ type: HostBinding,
79
+ args: ['class.wac-option-selected']
80
+ }], isOptionDisabled: [{
81
+ type: HostBinding,
82
+ args: ['class.wac-option-disabled']
83
+ }], cursor: [{
84
+ type: HostBinding,
85
+ args: ['style.cursor']
86
+ }], disabled: [{
87
+ type: Input
88
+ }], value: [{
89
+ type: Input
90
+ }], selected: [{
91
+ type: Input
92
+ }], onClickEventPreventDefault: [{
93
+ type: Input
94
+ }], selectedChange: [{
95
+ type: Output
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9vcHRpb24vc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFNUUsb0VBQW9FO0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUF1Q2hDLFlBQXNCLFVBQXNCLEVBQVksaUJBQW9DO1FBQXRFLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBWSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBakI1RixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVAscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBTW5DLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFakIsK0JBQTBCLEdBQUcsSUFBSSxDQUFDO1FBRzNDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU3QyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBRThFLENBQUM7SUFyQzdELE9BQU8sQ0FBQyxLQUFtQjtRQUM1RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELElBQThDLGdCQUFnQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQThDLGdCQUFnQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFpQyxNQUFNO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVFLENBQUM7SUFzQkQsV0FBVyxDQUFDLFFBQWlCO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGdEQUFnRDtRQUN2RyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBbUI7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWlCO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDOztrSEFoRlUscUJBQXFCO3NHQUFyQixxQkFBcUIsdWFBSHJCLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLENBQUM7MkZBRzNFLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyx1QkFBdUIsRUFBRSxDQUFDO29CQUN0RixRQUFRLEVBQUUsV0FBVztpQkFDdEI7aUlBR29DLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9hLGdCQUFnQjtzQkFBN0QsV0FBVzt1QkFBQywyQkFBMkI7Z0JBSU0sZ0JBQWdCO3NCQUE3RCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFJUCxNQUFNO3NCQUF0QyxXQUFXO3VCQUFDLGNBQWM7Z0JBSzNCLFFBQVE7c0JBRFAsS0FBSztnQkFNTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUdHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFHTixjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvblNlbGVjdGlvbkhhbmRsZXIgfSBmcm9tICcuL29wdGlvbi1zZWxlY3Rpb24taGFuZGxlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT1BUSU9OX1NFTEVDVElPTl9IQU5ETEVSIH0gZnJvbSAnLi9vcHRpb24tc2VsZWN0aW9uLWhhbmRsZXIudG9rZW4nO1xuXG4vLyB0b2RvIGNyZWF0ZSBhIHNlbGVjdCBtb2R1bGUgYW5kIGluIHRoZSBzZWxlY3Qtb3B0aW9uLmRpcmVjdGl2ZS50c1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dhY09wdGlvbl0nLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE9QVElPTl9TRUxFQ1RJT05fSEFORExFUiwgdXNlRXhpc3Rpbmc6IFNlbGVjdE9wdGlvbkRpcmVjdGl2ZSB9XSxcbiAgZXhwb3J0QXM6ICd3YWNPcHRpb24nXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE9wdGlvbkRpcmVjdGl2ZTxUT3B0aW9uVmFsdWU+IGltcGxlbWVudHMgT3B0aW9uU2VsZWN0aW9uSGFuZGxlcjxUT3B0aW9uVmFsdWU+IHtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgIHRoaXMub25TZWxlY3RPcHRpb24oKTtcbiAgICBpZiAodGhpcy5vbkNsaWNrRXZlbnRQcmV2ZW50RGVmYXVsdCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLndhYy1vcHRpb24tc2VsZWN0ZWQnKSBnZXQgaXNPcHRpb25TZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2FjLW9wdGlvbi1kaXNhYmxlZCcpIGdldCBpc09wdGlvbkRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWRCeVBhcmVudDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuY3Vyc29yJykgZ2V0IGN1cnNvciAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEJ5UGFyZW50ID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGRpc2FibGVkQnlQYXJlbnQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB2YWx1ZTogVE9wdGlvblZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgb25DbGlja0V2ZW50UHJldmVudERlZmF1bHQgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjb250ZW50UmVmOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHNldFNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvblNlbGVjdE9wdGlvbigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkQnlQYXJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMubXVsdGlwbGUgPyAhdGhpcy5zZWxlY3RlZCA6IHRydWU7IC8vIElmIG5vdCBtdWx0aXBsZSBtb2RlIC0+IGNhbiBub3QgYmUgdW5zZWxlY3RlZFxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogVE9wdGlvblZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkO1xuICB9XG5cbiAgZ2V0Q29udGVudFJlZigpOiBFbGVtZW50UmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRSZWY7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkQnlQYXJlbnQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzZXRNdWx0aXBsZShtdWx0aXBsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubXVsdGlwbGUgPSBtdWx0aXBsZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59Il19
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class OptionCallToActionComponent {
4
+ constructor() { }
5
+ }
6
+ OptionCallToActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: OptionCallToActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ OptionCallToActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: OptionCallToActionComponent, selector: "wac-option-call-to-action", ngImport: i0, template: "\n<div class=\"wac-option-call-to-action\">\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n\n" });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: OptionCallToActionComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'wac-option-call-to-action', template: "\n<div class=\"wac-option-call-to-action\">\n <div>\n <ng-content></ng-content>\n </div>\n</div>\n\n" }]
11
+ }], ctorParameters: function () { return []; } });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWNhbGwtdG8tYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L29wdGlvbi1jYWxsLXRvLWFjdGlvbi9vcHRpb24tY2FsbC10by1hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uLWNhbGwtdG8tYWN0aW9uL29wdGlvbi1jYWxsLXRvLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU14QyxNQUFNLE9BQU8sMkJBQTJCO0lBRXRDLGdCQUFlLENBQUM7O3dIQUZMLDJCQUEyQjs0R0FBM0IsMkJBQTJCLGlFQ054QywyR0FPQTsyRkREYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtb3B0aW9uLWNhbGwtdG8tYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbi1jYWxsLXRvLWFjdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uQ2FsbFRvQWN0aW9uQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCJcbjxkaXYgY2xhc3M9XCJ3YWMtb3B0aW9uLWNhbGwtdG8tYWN0aW9uXCI+XG4gIDxkaXY+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
@@ -0,0 +1,194 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { filter, takeUntil } from 'rxjs/operators';
4
+ import { ValueChangeService } from './value-change.service';
5
+ import { Subject } from 'rxjs';
6
+ import { SelectSearchTriggerComponent } from '../select-search-trigger/select-search-trigger.component';
7
+ import { DOWN_ARROW, ENTER, ESCAPE, hasModifierKey, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW, } from '@angular/cdk/keycodes';
8
+ import { LabelComponent } from '../../common/label/label.component';
9
+ import { SelectDirective } from './select.directive';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./value-change.service";
12
+ import * as i2 from "@angular/common";
13
+ import * as i3 from "../../../directives/auto-hide/auto-hide.directive";
14
+ import * as i4 from "../../../directives/zindex-toggle/zindex-toggle.directive";
15
+ import * as i5 from "ngx-perfect-scrollbar";
16
+ import * as i6 from "@ngx-translate/core";
17
+ export class SelectComponent extends SelectDirective {
18
+ constructor(valueChangeService) {
19
+ super(valueChangeService);
20
+ this.valueChangeService = valueChangeService;
21
+ //! Refacto improve sroll on mobile, see with Pauline
22
+ // angular material select https://github.com/angular/components/blob/main/src/material/select/select.ts
23
+ this.role = 'combobox';
24
+ this._openPanel = false;
25
+ this.openPanelChange = new EventEmitter();
26
+ this.tabIndex = -1;
27
+ this.isDestroyed$ = new Subject();
28
+ this.isKeyBoardAction = false;
29
+ this.skipIfTriggeredByKeyboardAction = () => {
30
+ if (!this.isKeyBoardAction) {
31
+ return true;
32
+ }
33
+ this.isKeyBoardAction = false;
34
+ return false;
35
+ };
36
+ this.onSelectTouch = () => { };
37
+ }
38
+ /** Whether the component is required. */
39
+ get required() {
40
+ return this._required ?? false;
41
+ }
42
+ set required(value) {
43
+ this._required = value;
44
+ }
45
+ get selectedOptionContent() {
46
+ return this.valueChangeService.selectedOptionContent;
47
+ }
48
+ ;
49
+ set keepPanelOpen(keepPanelOpen) {
50
+ this.openPanel = keepPanelOpen;
51
+ this._keepPanelOpen = keepPanelOpen;
52
+ }
53
+ get keepPanelOpen() {
54
+ return this._keepPanelOpen;
55
+ }
56
+ set openPanel(openPanel) {
57
+ const wasOpen = this._openPanel;
58
+ this._openPanel = this.keepPanelOpen || openPanel;
59
+ if (openPanel) {
60
+ this.customSearchTrigger?.setFocus();
61
+ }
62
+ if (wasOpen) {
63
+ this.onSelectTouch(this.value);
64
+ }
65
+ }
66
+ get openPanel() {
67
+ return this._openPanel;
68
+ }
69
+ ngOnInit() {
70
+ super.ngOnInit();
71
+ this.closeTabOnValueChange();
72
+ }
73
+ closeTabOnValueChange() {
74
+ this.valueChangeService.valueChange$.pipe(takeUntil(this.isDestroyed$), filter(this.skipIfTriggeredByKeyboardAction)).subscribe(() => {
75
+ this.onClosePanel();
76
+ });
77
+ }
78
+ onTogglePanel() {
79
+ this.openPanel = !this.openPanel;
80
+ this.openPanelChange.emit(this.openPanel);
81
+ }
82
+ onClosePanel() {
83
+ this.openPanel = false;
84
+ this.openPanelChange.emit(this.openPanel);
85
+ }
86
+ onKeydown(event) {
87
+ const keyCode = event.keyCode;
88
+ if (event.keyCode === TAB) {
89
+ // go to the next element with tabindex
90
+ if (this.openPanel) {
91
+ this.openPanel = false;
92
+ }
93
+ return;
94
+ }
95
+ if (this.disabled) {
96
+ return;
97
+ }
98
+ const actionTriggered = this.openPanel ? this._handleOpenKeydown(event) : this._handleClosedKeydown(event);
99
+ if (actionTriggered) {
100
+ return;
101
+ }
102
+ this.isKeyBoardAction = true;
103
+ super.onKeydown(event);
104
+ }
105
+ handleKeyboardActionWithSearch(event) {
106
+ const keyCode = event.keyCode;
107
+ if (keyCode === DOWN_ARROW) {
108
+ this.isKeyBoardAction = true;
109
+ this.valueChangeService.selectNextOption();
110
+ return true;
111
+ }
112
+ if (keyCode === UP_ARROW) {
113
+ this.isKeyBoardAction = true;
114
+ this.valueChangeService.selectPreviousOption();
115
+ return true;
116
+ }
117
+ return false;
118
+ }
119
+ /** Handles keyboard events while the select is closed. */
120
+ _handleClosedKeydown(event) {
121
+ const keyCode = event.keyCode;
122
+ const isArrowKey = keyCode === DOWN_ARROW ||
123
+ keyCode === UP_ARROW ||
124
+ keyCode === LEFT_ARROW ||
125
+ keyCode === RIGHT_ARROW;
126
+ const isOpenKey = keyCode === ENTER;
127
+ // Open the select on ALT + arrow key to match the native <select>
128
+ if ((isOpenKey && !hasModifierKey(event)) ||
129
+ (event.altKey && isArrowKey)) {
130
+ this.openPanel = true;
131
+ return true;
132
+ }
133
+ return false;
134
+ }
135
+ /** Handles keyboard events when the selected is open. */
136
+ _handleOpenKeydown(event) {
137
+ const keyCode = event.keyCode;
138
+ const isArrowKey = keyCode === DOWN_ARROW ||
139
+ keyCode === UP_ARROW ||
140
+ keyCode === LEFT_ARROW ||
141
+ keyCode === RIGHT_ARROW;
142
+ const isEscapeKey = keyCode === ESCAPE || keyCode === ENTER || keyCode === TAB;
143
+ if ((isArrowKey && event.altKey) || isEscapeKey) {
144
+ // Close the select on ALT + arrow key to match the native <select>
145
+ this.openPanel = false;
146
+ if (this.customSearchTrigger && keyCode !== TAB) {
147
+ // If a escape key is used with the search, the focus on the select is loosed. And we can not interact with the select anymore.
148
+ this.selectHeader.nativeElement.focus();
149
+ }
150
+ return true;
151
+ }
152
+ return false;
153
+ }
154
+ registerOnTouched(fn) {
155
+ this.onSelectTouch = fn;
156
+ }
157
+ ngOnDestroy() {
158
+ this.isDestroyed$.next();
159
+ this.isDestroyed$.complete();
160
+ }
161
+ }
162
+ SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectComponent, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Component });
163
+ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: SelectComponent, selector: "wac-select", inputs: { required: "required", keepPanelOpen: "keepPanelOpen", openPanel: "openPanel" }, outputs: { openPanelChange: "openPanelChange" }, host: { properties: { "attr.role": "this.role" } }, providers: [
164
+ { provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true },
165
+ ValueChangeService
166
+ ], queries: [{ propertyName: "customSearchTrigger", first: true, predicate: SelectSearchTriggerComponent, descendants: true }, { propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], viewQueries: [{ propertyName: "selectHeader", first: true, predicate: ["selectHeader"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div\n class=\"wac-select\"\n wzAutoHide\n (clickOutside)=\"onClosePanel()\"\n [triggerElement]=\"'wac-select__header__selection'\"\n [zIndexToggle]=\"openPanel\"\n >\n\n <div #selectHeader class=\"wac-select__header\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && onTogglePanel()\" tabindex=\"0\">\n\n <ng-container [ngTemplateOutlet]=\"openPanel ? openPanelTrigger : closePanelTrigger\" >\n\n <ng-template #closePanelTrigger>\n <ng-container [ngTemplateOutlet]=\"defaultTrigger\"></ng-container>\n </ng-template>\n\n <ng-template #openPanelTrigger>\n <ng-content *ngIf=\"!!customSearchTrigger; else defaultTrigger\" select=\"wac-select-search-trigger\" ></ng-content>\n </ng-template>\n\n <ng-template #defaultTrigger>\n <ng-content *ngIf=\"!selectedOptionContent\" select=\"wac-placeholder,[role=placeholder]\"></ng-content>\n <div\n class=\"wac-select__header__selection wac-option__placeholder\"\n *ngIf=\"!!selectedOptionContent\"\n [innerHtml]=\"selectedOptionContent\">\n </div>\n </ng-template>\n\n </ng-container>\n\n <span class=\"wac-select__header__chevron\"><i class=\"fas fa-chevron-down\"></i></span>\n\n </div>\n\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openPanel, open: openPanel }\">\n\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content\n select=\"wac-option-call-to-action, wac-option, option, .option, [selectOption]\">\n </ng-content>\n </perfect-scrollbar>\n\n <div *ngIf=\"!optionChildren?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i4.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: i5.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectComponent, decorators: [{
168
+ type: Component,
169
+ args: [{ selector: 'wac-select', providers: [
170
+ { provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true },
171
+ ValueChangeService
172
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<p *ngIf=\"!!label\" class=\"wac-select__label\">\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\n</p>\n\n<div\n class=\"wac-select\"\n wzAutoHide\n (clickOutside)=\"onClosePanel()\"\n [triggerElement]=\"'wac-select__header__selection'\"\n [zIndexToggle]=\"openPanel\"\n >\n\n <div #selectHeader class=\"wac-select__header\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && onTogglePanel()\" tabindex=\"0\">\n\n <ng-container [ngTemplateOutlet]=\"openPanel ? openPanelTrigger : closePanelTrigger\" >\n\n <ng-template #closePanelTrigger>\n <ng-container [ngTemplateOutlet]=\"defaultTrigger\"></ng-container>\n </ng-template>\n\n <ng-template #openPanelTrigger>\n <ng-content *ngIf=\"!!customSearchTrigger; else defaultTrigger\" select=\"wac-select-search-trigger\" ></ng-content>\n </ng-template>\n\n <ng-template #defaultTrigger>\n <ng-content *ngIf=\"!selectedOptionContent\" select=\"wac-placeholder,[role=placeholder]\"></ng-content>\n <div\n class=\"wac-select__header__selection wac-option__placeholder\"\n *ngIf=\"!!selectedOptionContent\"\n [innerHtml]=\"selectedOptionContent\">\n </div>\n </ng-template>\n\n </ng-container>\n\n <span class=\"wac-select__header__chevron\"><i class=\"fas fa-chevron-down\"></i></span>\n\n </div>\n\n\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openPanel, open: openPanel }\">\n\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content\n select=\"wac-option-call-to-action, wac-option, option, .option, [selectOption]\">\n </ng-content>\n </perfect-scrollbar>\n\n <div *ngIf=\"!optionChildren?.length\" class=\"wac-select__content__empty\">\n <span>{{'wac.datatable.noresult' | translate}}</span>\n </div>\n\n </div>\n</div>" }]
173
+ }], ctorParameters: function () { return [{ type: i1.ValueChangeService }]; }, propDecorators: { role: [{
174
+ type: HostBinding,
175
+ args: ['attr.role']
176
+ }], customSearchTrigger: [{
177
+ type: ContentChild,
178
+ args: [SelectSearchTriggerComponent]
179
+ }], label: [{
180
+ type: ContentChild,
181
+ args: [LabelComponent]
182
+ }], selectHeader: [{
183
+ type: ViewChild,
184
+ args: ['selectHeader']
185
+ }], required: [{
186
+ type: Input
187
+ }], keepPanelOpen: [{
188
+ type: Input
189
+ }], openPanel: [{
190
+ type: Input
191
+ }], openPanelChange: [{
192
+ type: Output
193
+ }] } });
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2TCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDeEcsT0FBTyxFQUNMLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEdBQUcsRUFDSCxRQUFRLEdBQ1QsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7OztBQWFyRCxNQUFNLE9BQU8sZUFBOEIsU0FBUSxlQUE2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QUssRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUlRLGlCQUFpQixDQUFDLEVBQU87UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7NEdBbE1VLGVBQWU7Z0dBQWYsZUFBZSxvT0FQZjtRQUNULEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUN6RSxrQkFBa0I7S0FDbkIsMkVBVWEsNEJBQTRCLHdFQUU1QixjQUFjLHFMQ3RDOUIsdzZEQXFETTsyRkR2Qk8sZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxZQUFZLGFBRVg7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN6RSxrQkFBa0I7cUJBQ25CLGlCQUNjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE9BQU87eUdBTXRCLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVztnQkFFb0IsbUJBQW1CO3NCQUE5RCxZQUFZO3VCQUFDLDRCQUE0QjtnQkFFWixLQUFLO3NCQUFsQyxZQUFZO3VCQUFDLGNBQWM7Z0JBRUQsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUlyQixRQUFRO3NCQURYLEtBQUs7Z0JBZ0JGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBYUYsU0FBUztzQkFEWixLQUFLO2dCQW1CSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVmFsdWVDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi92YWx1ZS1jaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3RTZWFyY2hUcmlnZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VsZWN0LXNlYXJjaC10cmlnZ2VyL3NlbGVjdC1zZWFyY2gtdHJpZ2dlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRE9XTl9BUlJPVyxcbiAgRU5URVIsXG4gIEVTQ0FQRSxcbiAgaGFzTW9kaWZpZXJLZXksXG4gIExFRlRfQVJST1csXG4gIFJJR0hUX0FSUk9XLFxuICBUQUIsXG4gIFVQX0FSUk9XLFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vbGFiZWwvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LmRpcmVjdGl2ZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogU2VsZWN0Q29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9LFxuICAgIFZhbHVlQ2hhbmdlU2VydmljZVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudDxUT3B0aW9uVmFsdWU+IGV4dGVuZHMgU2VsZWN0RGlyZWN0aXZlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8vISBSZWZhY3RvIGltcHJvdmUgc3JvbGwgb24gbW9iaWxlLCBzZWUgd2l0aCBQYXVsaW5lXG4gIC8vIGFuZ3VsYXIgbWF0ZXJpYWwgc2VsZWN0IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9zZWxlY3Qvc2VsZWN0LnRzXG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ2NvbWJvYm94JztcblxuICBAQ29udGVudENoaWxkKFNlbGVjdFNlYXJjaFRyaWdnZXJDb21wb25lbnQpIGN1c3RvbVNlYXJjaFRyaWdnZXI6IFNlbGVjdFNlYXJjaFRyaWdnZXJDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChMYWJlbENvbXBvbmVudCkgbGFiZWw6IExhYmVsQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEhlYWRlcicpIHNlbGVjdEhlYWRlcjogRWxlbWVudFJlZjtcblxuICAvKiogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIHJlcXVpcmVkLiAqL1xuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkID8/IGZhbHNlO1xuICB9XG5cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVxdWlyZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIGdldCBzZWxlY3RlZE9wdGlvbkNvbnRlbnQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VsZWN0ZWRPcHRpb25Db250ZW50O1xuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBrZWVwUGFuZWxPcGVuKGtlZXBQYW5lbE9wZW46IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wZW5QYW5lbCA9IGtlZXBQYW5lbE9wZW47XG4gICAgdGhpcy5fa2VlcFBhbmVsT3BlbiA9IGtlZXBQYW5lbE9wZW47XG4gIH1cblxuICBnZXQga2VlcFBhbmVsT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fa2VlcFBhbmVsT3BlbiA7XG4gIH1cblxuICBwcml2YXRlIF9rZWVwUGFuZWxPcGVuOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBvcGVuUGFuZWwob3BlblBhbmVsOiBib29sZWFuKSB7XG4gICAgY29uc3Qgd2FzT3BlbiA9IHRoaXMuX29wZW5QYW5lbDtcbiAgICB0aGlzLl9vcGVuUGFuZWwgPSB0aGlzLmtlZXBQYW5lbE9wZW4gfHwgb3BlblBhbmVsO1xuXG4gICAgaWYgKG9wZW5QYW5lbCkge1xuICAgICAgdGhpcy5jdXN0b21TZWFyY2hUcmlnZ2VyPy5zZXRGb2N1cygpO1xuICAgIH1cblxuICAgIGlmICh3YXNPcGVuKSB7XG4gICAgICB0aGlzLm9uU2VsZWN0VG91Y2godGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wZW5QYW5lbCgpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5QYW5lbDtcbiAgfVxuICBfb3BlblBhbmVsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9wZW5QYW5lbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBvdmVycmlkZSB0YWJJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgaXNEZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIGlzS2V5Qm9hcmRBY3Rpb24gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdmFsdWVDaGFuZ2VTZXJ2aWNlOiBWYWx1ZUNoYW5nZVNlcnZpY2U8VE9wdGlvblZhbHVlPixcbiAgICApIHtcbiAgICAgIHN1cGVyKHZhbHVlQ2hhbmdlU2VydmljZSk7XG4gICAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5jbG9zZVRhYk9uVmFsdWVDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VUYWJPblZhbHVlQ2hhbmdlKCkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnZhbHVlQ2hhbmdlJC5waXBlKHRha2VVbnRpbCh0aGlzLmlzRGVzdHJveWVkJCksIGZpbHRlcih0aGlzLnNraXBJZlRyaWdnZXJlZEJ5S2V5Ym9hcmRBY3Rpb24pKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vbkNsb3NlUGFuZWwoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2tpcElmVHJpZ2dlcmVkQnlLZXlib2FyZEFjdGlvbiA9ICgpID0+IHtcbiAgICBpZighdGhpcy5pc0tleUJvYXJkQWN0aW9uKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pc0tleUJvYXJkQWN0aW9uID0gZmFsc2U7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25Ub2dnbGVQYW5lbCgpIHtcbiAgICB0aGlzLm9wZW5QYW5lbCA9ICF0aGlzLm9wZW5QYW5lbDtcbiAgICB0aGlzLm9wZW5QYW5lbENoYW5nZS5lbWl0KHRoaXMub3BlblBhbmVsKTtcbiAgfVxuXG4gIG9uQ2xvc2VQYW5lbCgpIHtcbiAgICB0aGlzLm9wZW5QYW5lbCA9IGZhbHNlO1xuICAgIHRoaXMub3BlblBhbmVsQ2hhbmdlLmVtaXQodGhpcy5vcGVuUGFuZWwpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgLy8gZ28gdG8gdGhlIG5leHQgZWxlbWVudCB3aXRoIHRhYmluZGV4XG4gICAgICBpZiAodGhpcy5vcGVuUGFuZWwpIHtcbiAgICAgICAgdGhpcy5vcGVuUGFuZWwgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpb25UcmlnZ2VyZWQgPSB0aGlzLm9wZW5QYW5lbCA/IHRoaXMuX2hhbmRsZU9wZW5LZXlkb3duKGV2ZW50KSA6IHRoaXMuX2hhbmRsZUNsb3NlZEtleWRvd24oZXZlbnQpO1xuXG4gICAgaWYgKGFjdGlvblRyaWdnZXJlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzS2V5Qm9hcmRBY3Rpb24gPSB0cnVlO1xuICAgIHN1cGVyLm9uS2V5ZG93bihldmVudCk7XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZEFjdGlvbldpdGhTZWFyY2goZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgIGlmIChrZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICB0aGlzLmlzS2V5Qm9hcmRBY3Rpb24gPSB0cnVlO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVykge1xuICAgICAgdGhpcy5pc0tleUJvYXJkQWN0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnNlbGVjdFByZXZpb3VzT3B0aW9uKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIHdoaWxlIHRoZSBzZWxlY3QgaXMgY2xvc2VkLiAqL1xuICBwcml2YXRlIF9oYW5kbGVDbG9zZWRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgY29uc3QgaXNBcnJvd0tleSA9XG4gICAgICBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8XG4gICAgICBrZXlDb2RlID09PSBVUF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gUklHSFRfQVJST1c7XG4gICAgY29uc3QgaXNPcGVuS2V5ID0ga2V5Q29kZSA9PT0gRU5URVI7XG4gICAgLy8gT3BlbiB0aGUgc2VsZWN0IG9uIEFMVCArIGFycm93IGtleSB0byBtYXRjaCB0aGUgbmF0aXZlIDxzZWxlY3Q+XG4gICAgaWYgKFxuICAgICAgKGlzT3BlbktleSAmJiAhaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB8fFxuICAgICAgKGV2ZW50LmFsdEtleSAmJiBpc0Fycm93S2V5KVxuICAgICkge1xuICAgICAgdGhpcy5vcGVuUGFuZWwgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIHdoZW4gdGhlIHNlbGVjdGVkIGlzIG9wZW4uICovXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgY29uc3QgaXNBcnJvd0tleSA9XG4gICAgICBrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8XG4gICAgICBrZXlDb2RlID09PSBVUF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gTEVGVF9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gUklHSFRfQVJST1c7XG4gICAgY29uc3QgaXNFc2NhcGVLZXkgPSBrZXlDb2RlID09PSBFU0NBUEUgfHwga2V5Q29kZSA9PT0gRU5URVIgfHwga2V5Q29kZSA9PT0gVEFCO1xuXG4gICAgaWYgKChpc0Fycm93S2V5ICYmIGV2ZW50LmFsdEtleSkgfHwgaXNFc2NhcGVLZXkpIHtcbiAgICAgIC8vIENsb3NlIHRoZSBzZWxlY3Qgb24gQUxUICsgYXJyb3cga2V5IHRvIG1hdGNoIHRoZSBuYXRpdmUgPHNlbGVjdD5cbiAgICAgIHRoaXMub3BlblBhbmVsID0gZmFsc2U7XG5cbiAgICAgIGlmICh0aGlzLmN1c3RvbVNlYXJjaFRyaWdnZXIgJiYga2V5Q29kZSAhPT0gVEFCKSB7XG4gICAgICAgIC8vIElmIGEgZXNjYXBlIGtleSBpcyB1c2VkIHdpdGggdGhlIHNlYXJjaCwgdGhlIGZvY3VzIG9uIHRoZSBzZWxlY3QgaXMgbG9vc2VkLiBBbmQgd2UgY2FuIG5vdCBpbnRlcmFjdCB3aXRoIHRoZSBzZWxlY3QgYW55bW9yZS5cbiAgICAgICAgdGhpcy5zZWxlY3RIZWFkZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25TZWxlY3RUb3VjaDogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBvdmVycmlkZSByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KXtcbiAgICB0aGlzLm9uU2VsZWN0VG91Y2ggPSBmbjtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaXNEZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmlzRGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8cCAqbmdJZj1cIiEhbGFiZWxcIiBjbGFzcz1cIndhYy1zZWxlY3RfX2xhYmVsXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIndhYy1sYWJlbCwgLndhYy1sYWJlbFwiID48L25nLWNvbnRlbnQ+XG48L3A+XG5cbjxkaXZcbiAgY2xhc3M9XCJ3YWMtc2VsZWN0XCJcbiAgd3pBdXRvSGlkZVxuICAoY2xpY2tPdXRzaWRlKT1cIm9uQ2xvc2VQYW5lbCgpXCJcbiAgW3RyaWdnZXJFbGVtZW50XT1cIid3YWMtc2VsZWN0X19oZWFkZXJfX3NlbGVjdGlvbidcIlxuICBbekluZGV4VG9nZ2xlXT1cIm9wZW5QYW5lbFwiXG4gID5cblxuICAgIDxkaXYgI3NlbGVjdEhlYWRlciBjbGFzcz1cIndhYy1zZWxlY3RfX2hlYWRlclwiIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdC1kaXNhYmxlZCcgOiBkaXNhYmxlZCB9XCIgKGNsaWNrKT1cIiFkaXNhYmxlZCAmJiBvblRvZ2dsZVBhbmVsKClcIiB0YWJpbmRleD1cIjBcIj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJvcGVuUGFuZWwgPyBvcGVuUGFuZWxUcmlnZ2VyIDogY2xvc2VQYW5lbFRyaWdnZXJcIiA+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjbG9zZVBhbmVsVHJpZ2dlcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRUcmlnZ2VyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNvcGVuUGFuZWxUcmlnZ2VyPlxuICAgICAgICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiISFjdXN0b21TZWFyY2hUcmlnZ2VyOyBlbHNlIGRlZmF1bHRUcmlnZ2VyXCIgc2VsZWN0PVwid2FjLXNlbGVjdC1zZWFyY2gtdHJpZ2dlclwiID48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VHJpZ2dlcj5cbiAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cIiFzZWxlY3RlZE9wdGlvbkNvbnRlbnRcIiBzZWxlY3Q9XCJ3YWMtcGxhY2Vob2xkZXIsW3JvbGU9cGxhY2Vob2xkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwid2FjLXNlbGVjdF9faGVhZGVyX19zZWxlY3Rpb24gd2FjLW9wdGlvbl9fcGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgKm5nSWY9XCIhIXNlbGVjdGVkT3B0aW9uQ29udGVudFwiXG4gICAgICAgICAgICBbaW5uZXJIdG1sXT1cInNlbGVjdGVkT3B0aW9uQ29udGVudFwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJ3YWMtc2VsZWN0X19oZWFkZXJfX2NoZXZyb25cIj48aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLWRvd25cIj48L2k+PC9zcGFuPlxuXG4gICAgPC9kaXY+XG5cblxuICAgIDxkaXYgY2xhc3M9XCJ3YWMtc2VsZWN0X19jb250ZW50XCIgKm5nSWY9XCIhZGlzYWJsZWRcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogIW9wZW5QYW5lbCwgb3Blbjogb3BlblBhbmVsIH1cIj5cblxuICAgICAgPHBlcmZlY3Qtc2Nyb2xsYmFyIFtjb25maWddPVwieyBzdXBwcmVzc1Njcm9sbFg6IHRydWUgfVwiPlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgIHNlbGVjdD1cIndhYy1vcHRpb24tY2FsbC10by1hY3Rpb24sIHdhYy1vcHRpb24sIG9wdGlvbiwgLm9wdGlvbiwgW3NlbGVjdE9wdGlvbl1cIj5cbiAgICAgICAgPC9uZy1jb250ZW50PlxuICAgICAgPC9wZXJmZWN0LXNjcm9sbGJhcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFvcHRpb25DaGlsZHJlbj8ubGVuZ3RoXCIgY2xhc3M9XCJ3YWMtc2VsZWN0X19jb250ZW50X19lbXB0eVwiPlxuICAgICAgICA8c3Bhbj57eyd3YWMuZGF0YXRhYmxlLm5vcmVzdWx0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==