tango-app-ui-analyse-trax 3.9.3 → 3.9.4

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 (470) hide show
  1. package/esm2022/lib/components/action-centre/action-centre.component.mjs +288 -0
  2. package/esm2022/lib/components/activity-log/activity-log.component.mjs +150 -0
  3. package/esm2022/lib/components/activity-log-v2/activity-log-v2.component.mjs +502 -0
  4. package/esm2022/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.mjs +114 -0
  5. package/esm2022/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.mjs +24 -0
  6. package/esm2022/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.mjs +126 -0
  7. package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +2352 -0
  8. package/esm2022/lib/components/add-checklist/checklist-popup/checklist-popup.component.mjs +612 -0
  9. package/esm2022/lib/components/add-checklist/counter/counter.component.mjs +138 -0
  10. package/esm2022/lib/components/add-multitask/add-multitask.component.mjs +604 -0
  11. package/esm2022/lib/components/add-multitask/ascending-validator.mjs +11 -0
  12. package/esm2022/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.mjs +297 -0
  13. package/esm2022/lib/components/add-multitask/create-task.data.mjs +372 -0
  14. package/esm2022/lib/components/add-multitask/create-task.interface.mjs +2 -0
  15. package/esm2022/lib/components/add-multitask/unique-string-validator.mjs +10 -0
  16. package/esm2022/lib/components/add-multitask/whitespace-validator.mjs +10 -0
  17. package/esm2022/lib/components/add-task/add-task.component.mjs +561 -0
  18. package/esm2022/lib/components/add-task/ascending-validator.mjs +11 -0
  19. package/esm2022/lib/components/add-task/create-task.data.mjs +372 -0
  20. package/esm2022/lib/components/add-task/create-task.interface.mjs +2 -0
  21. package/esm2022/lib/components/add-task/unique-string-validator.mjs +10 -0
  22. package/esm2022/lib/components/add-task/whitespace-validator.mjs +10 -0
  23. package/esm2022/lib/components/approval-popup/approval-popup.component.mjs +30 -0
  24. package/esm2022/lib/components/checklist/checklist.component.mjs +327 -0
  25. package/esm2022/lib/components/checklist-configure/assign/assign.component.mjs +912 -0
  26. package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +4164 -0
  27. package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +44 -0
  28. package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +120 -0
  29. package/esm2022/lib/components/create-task/create-task.component.mjs +585 -0
  30. package/esm2022/lib/components/create-task/create-task.data.mjs +372 -0
  31. package/esm2022/lib/components/create-task/create-task.interface.mjs +2 -0
  32. package/esm2022/lib/components/create-task/validators/ascending-validator.mjs +11 -0
  33. package/esm2022/lib/components/create-task/validators/unique-string-validator.mjs +10 -0
  34. package/esm2022/lib/components/create-task/validators/whitespace-validator.mjs +10 -0
  35. package/esm2022/lib/components/custom-select/custom-select.component.mjs +240 -0
  36. package/esm2022/lib/components/dashboard/dashboard.component.mjs +532 -0
  37. package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +741 -0
  38. package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +155 -0
  39. package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +12 -0
  40. package/esm2022/lib/components/disabled-select/disabled-select.component.mjs +158 -0
  41. package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +266 -0
  42. package/esm2022/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.mjs +105 -0
  43. package/esm2022/lib/components/eye-test-audit/custom-select/custom-select.component.mjs +240 -0
  44. package/esm2022/lib/components/eye-test-audit/eye-test/eye-test.component.mjs +1733 -0
  45. package/esm2022/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.mjs +24 -0
  46. package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.mjs +34 -0
  47. package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.mjs +27 -0
  48. package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.mjs +71 -0
  49. package/esm2022/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.mjs +823 -0
  50. package/esm2022/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.mjs +412 -0
  51. package/esm2022/lib/components/eye-test-audit/group-select/group-select.component.mjs +157 -0
  52. package/esm2022/lib/components/eye-test-audit/reactive-select/reactive-select.component.mjs +105 -0
  53. package/esm2022/lib/components/eye-test-audit/select-drop/select-drop.component.mjs +162 -0
  54. package/esm2022/lib/components/eye-test-audit/services/eye-test-audit.service.mjs +166 -0
  55. package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +12 -0
  56. package/esm2022/lib/components/flags/flags.component.mjs +263 -0
  57. package/esm2022/lib/components/flags/flags.interface.mjs +2 -0
  58. package/esm2022/lib/components/flags-info/flags-info.component.mjs +452 -0
  59. package/esm2022/lib/components/flags-info/flags-info.interface.mjs +2 -0
  60. package/esm2022/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.mjs +71 -0
  61. package/esm2022/lib/components/flags-new/flags-new.component.mjs +335 -0
  62. package/esm2022/lib/components/flags-new/flags-new.interface.mjs +2 -0
  63. package/esm2022/lib/components/gallery/gallery.component.mjs +3402 -0
  64. package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
  65. package/esm2022/lib/components/image-popup/image-popup.component.mjs +25 -0
  66. package/esm2022/lib/components/lib/custom-select/custom-select.component.mjs +158 -0
  67. package/esm2022/lib/components/manage-task/manage-task.component.mjs +264 -0
  68. package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +186 -0
  69. package/esm2022/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.mjs +229 -0
  70. package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +124 -0
  71. package/esm2022/lib/components/orders/orders.component.mjs +171 -0
  72. package/esm2022/lib/components/pagination/pagination.component.mjs +62 -0
  73. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +108 -0
  74. package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +60 -0
  75. package/esm2022/lib/components/reports/reports.component.mjs +300 -0
  76. package/esm2022/lib/components/reports/reports.interface.mjs +2 -0
  77. package/esm2022/lib/components/tango-analyse-trax/tango-analyse-trax.component.mjs +32 -0
  78. package/esm2022/lib/components/task/task.component.mjs +341 -0
  79. package/esm2022/lib/components/task-configure/task-configure.component.mjs +1532 -0
  80. package/esm2022/lib/components/task-configure/task-configure.interface.mjs +2 -0
  81. package/esm2022/lib/components/task-info/task-info.component.mjs +375 -0
  82. package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +208 -0
  83. package/esm2022/lib/components/task-layout/task-layout.component.mjs +12 -0
  84. package/esm2022/lib/components/task-logs/task-logs.component.mjs +104 -0
  85. package/esm2022/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.mjs +107 -0
  86. package/esm2022/lib/components/trax-store/trax-store.component.mjs +179 -0
  87. package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +70 -0
  88. package/esm2022/lib/services/trax.service.mjs +559 -0
  89. package/esm2022/lib/tango-analyse-trax-routing.module.mjs +153 -0
  90. package/esm2022/lib/tango-analyse-trax.module.mjs +221 -0
  91. package/esm2022/public-api.mjs +6 -0
  92. package/esm2022/tango-app-ui-analyse-trax.mjs +5 -0
  93. package/fesm2022/tango-app-ui-analyse-trax.mjs +28899 -0
  94. package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -0
  95. package/index.d.ts +5 -0
  96. package/lib/components/action-centre/action-centre.component.d.ts +68 -0
  97. package/lib/components/activity-log/activity-log.component.d.ts +39 -0
  98. package/lib/components/activity-log-v2/activity-log-v2.component.d.ts +78 -0
  99. package/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.d.ts +24 -0
  100. package/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.d.ts +9 -0
  101. package/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.d.ts +34 -0
  102. package/lib/components/add-checklist/add-checklist.component.d.ts +121 -0
  103. package/lib/components/add-checklist/checklist-popup/checklist-popup.component.d.ts +45 -0
  104. package/lib/components/add-checklist/counter/counter.component.d.ts +29 -0
  105. package/lib/components/add-multitask/add-multitask.component.d.ts +102 -0
  106. package/lib/components/add-multitask/ascending-validator.d.ts +2 -0
  107. package/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.d.ts +45 -0
  108. package/lib/components/add-multitask/create-task.data.d.ts +293 -0
  109. package/lib/components/add-multitask/create-task.interface.d.ts +159 -0
  110. package/lib/components/add-multitask/unique-string-validator.d.ts +2 -0
  111. package/lib/components/add-multitask/whitespace-validator.d.ts +2 -0
  112. package/lib/components/add-task/add-task.component.d.ts +89 -0
  113. package/lib/components/add-task/ascending-validator.d.ts +2 -0
  114. package/lib/components/add-task/create-task.data.d.ts +293 -0
  115. package/lib/components/add-task/create-task.interface.d.ts +161 -0
  116. package/lib/components/add-task/unique-string-validator.d.ts +2 -0
  117. package/lib/components/add-task/whitespace-validator.d.ts +2 -0
  118. package/lib/components/approval-popup/approval-popup.component.d.ts +14 -0
  119. package/lib/components/checklist/checklist.component.d.ts +40 -0
  120. package/lib/components/checklist-configure/assign/assign.component.d.ts +105 -0
  121. package/lib/components/checklist-configure/checklist-configure.component.d.ts +325 -0
  122. package/lib/components/checklistlayout/checklistlayout.component.d.ts +15 -0
  123. package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +28 -0
  124. package/lib/components/create-task/create-task.component.d.ts +76 -0
  125. package/lib/components/create-task/create-task.data.d.ts +293 -0
  126. package/lib/components/create-task/create-task.interface.d.ts +163 -0
  127. package/lib/components/create-task/validators/ascending-validator.d.ts +2 -0
  128. package/lib/components/create-task/validators/unique-string-validator.d.ts +2 -0
  129. package/lib/components/create-task/validators/whitespace-validator.d.ts +2 -0
  130. package/lib/components/custom-select/custom-select.component.d.ts +35 -0
  131. package/lib/components/dashboard/dashboard.component.d.ts +80 -0
  132. package/lib/components/dashboard-info/dashboard-info.component.d.ts +117 -0
  133. package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +41 -0
  134. package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +5 -0
  135. package/lib/components/disabled-select/disabled-select.component.d.ts +34 -0
  136. package/lib/components/export-gallery/export-gallery.component.d.ts +44 -0
  137. package/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.d.ts +26 -0
  138. package/lib/components/eye-test-audit/custom-select/custom-select.component.d.ts +35 -0
  139. package/lib/components/eye-test-audit/eye-test/eye-test.component.d.ts +218 -0
  140. package/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.d.ts +12 -0
  141. package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.d.ts +7 -0
  142. package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.d.ts +11 -0
  143. package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.d.ts +21 -0
  144. package/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.d.ts +129 -0
  145. package/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.d.ts +86 -0
  146. package/lib/components/eye-test-audit/group-select/group-select.component.d.ts +33 -0
  147. package/lib/components/eye-test-audit/reactive-select/reactive-select.component.d.ts +32 -0
  148. package/lib/components/eye-test-audit/select-drop/select-drop.component.d.ts +33 -0
  149. package/lib/components/eye-test-audit/services/eye-test-audit.service.d.ts +47 -0
  150. package/lib/components/flag-layout/flag-layout.component.d.ts +5 -0
  151. package/lib/components/flags/flags.component.d.ts +52 -0
  152. package/{src/lib/components/flags/flags.interface.ts → lib/components/flags/flags.interface.d.ts} +65 -73
  153. package/lib/components/flags-info/flags-info.component.d.ts +73 -0
  154. package/lib/components/flags-info/flags-info.interface.d.ts +431 -0
  155. package/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.d.ts +13 -0
  156. package/lib/components/flags-new/flags-new.component.d.ts +60 -0
  157. package/{src/lib/components/flags-new/flags-new.interface.ts → lib/components/flags-new/flags-new.interface.d.ts} +81 -90
  158. package/lib/components/gallery/gallery.component.d.ts +261 -0
  159. package/lib/components/group-select/group-select.component.d.ts +33 -0
  160. package/lib/components/image-popup/image-popup.component.d.ts +11 -0
  161. package/lib/components/lib/custom-select/custom-select.component.d.ts +33 -0
  162. package/lib/components/manage-task/manage-task.component.d.ts +47 -0
  163. package/lib/components/managechecklist/managechecklist.component.d.ts +33 -0
  164. package/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.d.ts +40 -0
  165. package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +27 -0
  166. package/lib/components/orders/orders.component.d.ts +38 -0
  167. package/lib/components/pagination/pagination.component.d.ts +16 -0
  168. package/lib/components/reactive-select/reactive-select.component.d.ts +32 -0
  169. package/lib/components/reports/date-picker/date-picker.component.d.ts +23 -0
  170. package/lib/components/reports/reports.component.d.ts +55 -0
  171. package/{src/lib/components/reports/reports.interface.ts → lib/components/reports/reports.interface.d.ts} +46 -50
  172. package/lib/components/tango-analyse-trax/tango-analyse-trax.component.d.ts +14 -0
  173. package/lib/components/task/task.component.d.ts +70 -0
  174. package/lib/components/task-configure/task-configure.component.d.ts +142 -0
  175. package/lib/components/task-configure/task-configure.interface.d.ts +128 -0
  176. package/lib/components/task-info/task-info.component.d.ts +76 -0
  177. package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +61 -0
  178. package/lib/components/task-layout/task-layout.component.d.ts +5 -0
  179. package/lib/components/task-logs/task-logs.component.d.ts +27 -0
  180. package/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.d.ts +26 -0
  181. package/lib/components/trax-store/trax-store.component.d.ts +45 -0
  182. package/lib/components/traxpopup/traxpopup.component.d.ts +24 -0
  183. package/lib/services/trax.service.d.ts +175 -0
  184. package/lib/tango-analyse-trax-routing.module.d.ts +7 -0
  185. package/lib/tango-analyse-trax.module.d.ts +68 -0
  186. package/package.json +25 -12
  187. package/{src/public-api.ts → public-api.d.ts} +2 -6
  188. package/.eslintrc.json +0 -37
  189. package/ng-package.json +0 -7
  190. package/src/lib/components/action-centre/action-centre.component.html +0 -607
  191. package/src/lib/components/action-centre/action-centre.component.scss +0 -185
  192. package/src/lib/components/action-centre/action-centre.component.spec.ts +0 -23
  193. package/src/lib/components/action-centre/action-centre.component.ts +0 -279
  194. package/src/lib/components/activity-log/activity-log.component.html +0 -84
  195. package/src/lib/components/activity-log/activity-log.component.scss +0 -33
  196. package/src/lib/components/activity-log/activity-log.component.spec.ts +0 -23
  197. package/src/lib/components/activity-log/activity-log.component.ts +0 -137
  198. package/src/lib/components/activity-log-v2/activity-log-v2.component.html +0 -189
  199. package/src/lib/components/activity-log-v2/activity-log-v2.component.scss +0 -162
  200. package/src/lib/components/activity-log-v2/activity-log-v2.component.spec.ts +0 -23
  201. package/src/lib/components/activity-log-v2/activity-log-v2.component.ts +0 -517
  202. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.html +0 -19
  203. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.scss +0 -148
  204. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.spec.ts +0 -23
  205. package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.ts +0 -141
  206. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.html +0 -42
  207. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.scss +0 -49
  208. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.spec.ts +0 -23
  209. package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.ts +0 -22
  210. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.html +0 -724
  211. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.scss +0 -217
  212. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.spec.ts +0 -23
  213. package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.ts +0 -122
  214. package/src/lib/components/add-checklist/add-checklist.component.html +0 -1459
  215. package/src/lib/components/add-checklist/add-checklist.component.scss +0 -1205
  216. package/src/lib/components/add-checklist/add-checklist.component.spec.ts +0 -23
  217. package/src/lib/components/add-checklist/add-checklist.component.ts +0 -2460
  218. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.html +0 -207
  219. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.scss +0 -213
  220. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.spec.ts +0 -23
  221. package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.ts +0 -621
  222. package/src/lib/components/add-checklist/counter/counter.component.html +0 -43
  223. package/src/lib/components/add-checklist/counter/counter.component.scss +0 -49
  224. package/src/lib/components/add-checklist/counter/counter.component.spec.ts +0 -23
  225. package/src/lib/components/add-checklist/counter/counter.component.ts +0 -123
  226. package/src/lib/components/add-multitask/add-multitask.component.html +0 -705
  227. package/src/lib/components/add-multitask/add-multitask.component.scss +0 -296
  228. package/src/lib/components/add-multitask/add-multitask.component.spec.ts +0 -23
  229. package/src/lib/components/add-multitask/add-multitask.component.ts +0 -611
  230. package/src/lib/components/add-multitask/ascending-validator.ts +0 -13
  231. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.html +0 -197
  232. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.scss +0 -31
  233. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.spec.ts +0 -23
  234. package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.ts +0 -285
  235. package/src/lib/components/add-multitask/create-task.data.ts +0 -374
  236. package/src/lib/components/add-multitask/create-task.interface.ts +0 -177
  237. package/src/lib/components/add-multitask/unique-string-validator.ts +0 -13
  238. package/src/lib/components/add-multitask/whitespace-validator.ts +0 -11
  239. package/src/lib/components/add-task/add-task.component.html +0 -654
  240. package/src/lib/components/add-task/add-task.component.scss +0 -536
  241. package/src/lib/components/add-task/add-task.component.spec.ts +0 -23
  242. package/src/lib/components/add-task/add-task.component.ts +0 -569
  243. package/src/lib/components/add-task/ascending-validator.ts +0 -13
  244. package/src/lib/components/add-task/create-task.data.ts +0 -374
  245. package/src/lib/components/add-task/create-task.interface.ts +0 -192
  246. package/src/lib/components/add-task/unique-string-validator.ts +0 -13
  247. package/src/lib/components/add-task/whitespace-validator.ts +0 -11
  248. package/src/lib/components/approval-popup/approval-popup.component.html +0 -25
  249. package/src/lib/components/approval-popup/approval-popup.component.scss +0 -3
  250. package/src/lib/components/approval-popup/approval-popup.component.spec.ts +0 -23
  251. package/src/lib/components/approval-popup/approval-popup.component.ts +0 -26
  252. package/src/lib/components/checklist/checklist.component.html +0 -330
  253. package/src/lib/components/checklist/checklist.component.scss +0 -112
  254. package/src/lib/components/checklist/checklist.component.spec.ts +0 -23
  255. package/src/lib/components/checklist/checklist.component.ts +0 -344
  256. package/src/lib/components/checklist-configure/assign/assign.component.html +0 -665
  257. package/src/lib/components/checklist-configure/assign/assign.component.scss +0 -219
  258. package/src/lib/components/checklist-configure/assign/assign.component.spec.ts +0 -23
  259. package/src/lib/components/checklist-configure/assign/assign.component.ts +0 -932
  260. package/src/lib/components/checklist-configure/checklist-configure.component.html +0 -4340
  261. package/src/lib/components/checklist-configure/checklist-configure.component.scss +0 -2338
  262. package/src/lib/components/checklist-configure/checklist-configure.component.spec.ts +0 -23
  263. package/src/lib/components/checklist-configure/checklist-configure.component.ts +0 -4659
  264. package/src/lib/components/checklistlayout/checklistlayout.component.html +0 -30
  265. package/src/lib/components/checklistlayout/checklistlayout.component.scss +0 -15
  266. package/src/lib/components/checklistlayout/checklistlayout.component.spec.ts +0 -23
  267. package/src/lib/components/checklistlayout/checklistlayout.component.ts +0 -47
  268. package/src/lib/components/chip-dropdown/chip-dropdown.component.html +0 -36
  269. package/src/lib/components/chip-dropdown/chip-dropdown.component.scss +0 -97
  270. package/src/lib/components/chip-dropdown/chip-dropdown.component.spec.ts +0 -23
  271. package/src/lib/components/chip-dropdown/chip-dropdown.component.ts +0 -125
  272. package/src/lib/components/create-task/create-task.component.html +0 -2003
  273. package/src/lib/components/create-task/create-task.component.scss +0 -272
  274. package/src/lib/components/create-task/create-task.component.spec.ts +0 -23
  275. package/src/lib/components/create-task/create-task.component.ts +0 -614
  276. package/src/lib/components/create-task/create-task.data.ts +0 -372
  277. package/src/lib/components/create-task/create-task.interface.ts +0 -182
  278. package/src/lib/components/create-task/validators/ascending-validator.ts +0 -13
  279. package/src/lib/components/create-task/validators/unique-string-validator.ts +0 -13
  280. package/src/lib/components/create-task/validators/whitespace-validator.ts +0 -11
  281. package/src/lib/components/custom-select/custom-select.component.html +0 -44
  282. package/src/lib/components/custom-select/custom-select.component.scss +0 -144
  283. package/src/lib/components/custom-select/custom-select.component.spec.ts +0 -23
  284. package/src/lib/components/custom-select/custom-select.component.ts +0 -265
  285. package/src/lib/components/dashboard/dashboard.component.html +0 -1076
  286. package/src/lib/components/dashboard/dashboard.component.scss +0 -237
  287. package/src/lib/components/dashboard/dashboard.component.spec.ts +0 -23
  288. package/src/lib/components/dashboard/dashboard.component.ts +0 -539
  289. package/src/lib/components/dashboard-info/dashboard-info.component.html +0 -1420
  290. package/src/lib/components/dashboard-info/dashboard-info.component.scss +0 -409
  291. package/src/lib/components/dashboard-info/dashboard-info.component.spec.ts +0 -23
  292. package/src/lib/components/dashboard-info/dashboard-info.component.ts +0 -772
  293. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.html +0 -110
  294. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.scss +0 -260
  295. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.spec.ts +0 -23
  296. package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.ts +0 -143
  297. package/src/lib/components/dashboard-layout/dashboard-layout.component.html +0 -1
  298. package/src/lib/components/dashboard-layout/dashboard-layout.component.scss +0 -0
  299. package/src/lib/components/dashboard-layout/dashboard-layout.component.spec.ts +0 -23
  300. package/src/lib/components/dashboard-layout/dashboard-layout.component.ts +0 -10
  301. package/src/lib/components/disabled-select/disabled-select.component.html +0 -44
  302. package/src/lib/components/disabled-select/disabled-select.component.scss +0 -149
  303. package/src/lib/components/disabled-select/disabled-select.component.spec.ts +0 -23
  304. package/src/lib/components/disabled-select/disabled-select.component.ts +0 -146
  305. package/src/lib/components/export-gallery/export-gallery.component.html +0 -175
  306. package/src/lib/components/export-gallery/export-gallery.component.scss +0 -200
  307. package/src/lib/components/export-gallery/export-gallery.component.spec.ts +0 -23
  308. package/src/lib/components/export-gallery/export-gallery.component.ts +0 -263
  309. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.html +0 -36
  310. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.scss +0 -97
  311. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.spec.ts +0 -23
  312. package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.ts +0 -104
  313. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.html +0 -44
  314. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.scss +0 -144
  315. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.spec.ts +0 -23
  316. package/src/lib/components/eye-test-audit/custom-select/custom-select.component.ts +0 -265
  317. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.html +0 -1804
  318. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.scss +0 -806
  319. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.spec.ts +0 -23
  320. package/src/lib/components/eye-test-audit/eye-test/eye-test.component.ts +0 -1890
  321. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.html +0 -25
  322. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.scss +0 -0
  323. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.spec.ts +0 -23
  324. package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.ts +0 -20
  325. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.ts +0 -26
  326. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.html +0 -1
  327. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.scss +0 -0
  328. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.spec.ts +0 -23
  329. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.ts +0 -24
  330. package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.ts +0 -44
  331. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.html +0 -490
  332. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.scss +0 -721
  333. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.spec.ts +0 -23
  334. package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.ts +0 -1017
  335. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.html +0 -708
  336. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.scss +0 -247
  337. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.spec.ts +0 -23
  338. package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.ts +0 -446
  339. package/src/lib/components/eye-test-audit/group-select/group-select.component.html +0 -44
  340. package/src/lib/components/eye-test-audit/group-select/group-select.component.scss +0 -144
  341. package/src/lib/components/eye-test-audit/group-select/group-select.component.spec.ts +0 -23
  342. package/src/lib/components/eye-test-audit/group-select/group-select.component.ts +0 -147
  343. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.html +0 -18
  344. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.scss +0 -49
  345. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.spec.ts +0 -23
  346. package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.ts +0 -104
  347. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.html +0 -44
  348. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.scss +0 -144
  349. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.spec.ts +0 -23
  350. package/src/lib/components/eye-test-audit/select-drop/select-drop.component.ts +0 -152
  351. package/src/lib/components/eye-test-audit/services/eye-test-audit.service.spec.ts +0 -16
  352. package/src/lib/components/eye-test-audit/services/eye-test-audit.service.ts +0 -190
  353. package/src/lib/components/flag-layout/flag-layout.component.html +0 -1
  354. package/src/lib/components/flag-layout/flag-layout.component.scss +0 -0
  355. package/src/lib/components/flag-layout/flag-layout.component.spec.ts +0 -23
  356. package/src/lib/components/flag-layout/flag-layout.component.ts +0 -10
  357. package/src/lib/components/flags/flags.component.html +0 -473
  358. package/src/lib/components/flags/flags.component.scss +0 -86
  359. package/src/lib/components/flags/flags.component.spec.ts +0 -23
  360. package/src/lib/components/flags/flags.component.ts +0 -280
  361. package/src/lib/components/flags-info/flags-info.component.html +0 -6012
  362. package/src/lib/components/flags-info/flags-info.component.scss +0 -278
  363. package/src/lib/components/flags-info/flags-info.component.spec.ts +0 -23
  364. package/src/lib/components/flags-info/flags-info.component.ts +0 -490
  365. package/src/lib/components/flags-info/flags-info.interface.ts +0 -441
  366. package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.html +0 -1
  367. package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.scss +0 -4
  368. package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.ts +0 -78
  369. package/src/lib/components/flags-new/flags-new.component.html +0 -904
  370. package/src/lib/components/flags-new/flags-new.component.scss +0 -121
  371. package/src/lib/components/flags-new/flags-new.component.spec.ts +0 -23
  372. package/src/lib/components/flags-new/flags-new.component.ts +0 -357
  373. package/src/lib/components/gallery/gallery.component.html +0 -3660
  374. package/src/lib/components/gallery/gallery.component.scss +0 -930
  375. package/src/lib/components/gallery/gallery.component.ts +0 -3527
  376. package/src/lib/components/group-select/group-select.component.html +0 -44
  377. package/src/lib/components/group-select/group-select.component.scss +0 -144
  378. package/src/lib/components/group-select/group-select.component.spec.ts +0 -23
  379. package/src/lib/components/group-select/group-select.component.ts +0 -145
  380. package/src/lib/components/image-popup/image-popup.component.html +0 -11
  381. package/src/lib/components/image-popup/image-popup.component.scss +0 -5
  382. package/src/lib/components/image-popup/image-popup.component.ts +0 -18
  383. package/src/lib/components/lib/custom-select/custom-select.component.html +0 -42
  384. package/src/lib/components/lib/custom-select/custom-select.component.scss +0 -131
  385. package/src/lib/components/lib/custom-select/custom-select.component.spec.ts +0 -23
  386. package/src/lib/components/lib/custom-select/custom-select.component.ts +0 -151
  387. package/src/lib/components/manage-task/manage-task.component.html +0 -265
  388. package/src/lib/components/manage-task/manage-task.component.scss +0 -69
  389. package/src/lib/components/manage-task/manage-task.component.spec.ts +0 -23
  390. package/src/lib/components/manage-task/manage-task.component.ts +0 -267
  391. package/src/lib/components/managechecklist/managechecklist.component.html +0 -176
  392. package/src/lib/components/managechecklist/managechecklist.component.scss +0 -43
  393. package/src/lib/components/managechecklist/managechecklist.component.spec.ts +0 -23
  394. package/src/lib/components/managechecklist/managechecklist.component.ts +0 -176
  395. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.html +0 -46
  396. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.scss +0 -181
  397. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.spec.ts +0 -23
  398. package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.ts +0 -221
  399. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.html +0 -36
  400. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.scss +0 -89
  401. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.spec.ts +0 -23
  402. package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.ts +0 -118
  403. package/src/lib/components/orders/orders.component.html +0 -203
  404. package/src/lib/components/orders/orders.component.scss +0 -180
  405. package/src/lib/components/orders/orders.component.spec.ts +0 -25
  406. package/src/lib/components/orders/orders.component.ts +0 -197
  407. package/src/lib/components/pagination/pagination.component.html +0 -28
  408. package/src/lib/components/pagination/pagination.component.scss +0 -6
  409. package/src/lib/components/pagination/pagination.component.spec.ts +0 -23
  410. package/src/lib/components/pagination/pagination.component.ts +0 -54
  411. package/src/lib/components/reactive-select/reactive-select.component.html +0 -18
  412. package/src/lib/components/reactive-select/reactive-select.component.scss +0 -48
  413. package/src/lib/components/reactive-select/reactive-select.component.spec.ts +0 -23
  414. package/src/lib/components/reactive-select/reactive-select.component.ts +0 -104
  415. package/src/lib/components/reports/date-picker/date-picker.component.html +0 -54
  416. package/src/lib/components/reports/date-picker/date-picker.component.scss +0 -156
  417. package/src/lib/components/reports/date-picker/date-picker.component.spec.ts +0 -23
  418. package/src/lib/components/reports/date-picker/date-picker.component.ts +0 -60
  419. package/src/lib/components/reports/reports.component.html +0 -225
  420. package/src/lib/components/reports/reports.component.scss +0 -69
  421. package/src/lib/components/reports/reports.component.spec.ts +0 -23
  422. package/src/lib/components/reports/reports.component.ts +0 -334
  423. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.html +0 -1
  424. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.scss +0 -15
  425. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.spec.ts +0 -23
  426. package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.ts +0 -31
  427. package/src/lib/components/task/task.component.html +0 -322
  428. package/src/lib/components/task/task.component.scss +0 -169
  429. package/src/lib/components/task/task.component.spec.ts +0 -23
  430. package/src/lib/components/task/task.component.ts +0 -340
  431. package/src/lib/components/task-configure/task-configure.component.html +0 -737
  432. package/src/lib/components/task-configure/task-configure.component.scss +0 -569
  433. package/src/lib/components/task-configure/task-configure.component.spec.ts +0 -23
  434. package/src/lib/components/task-configure/task-configure.component.ts +0 -1603
  435. package/src/lib/components/task-configure/task-configure.interface.ts +0 -138
  436. package/src/lib/components/task-info/task-info.component.html +0 -390
  437. package/src/lib/components/task-info/task-info.component.scss +0 -56
  438. package/src/lib/components/task-info/task-info.component.spec.ts +0 -23
  439. package/src/lib/components/task-info/task-info.component.ts +0 -400
  440. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.html +0 -141
  441. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.scss +0 -460
  442. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.spec.ts +0 -23
  443. package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.ts +0 -202
  444. package/src/lib/components/task-layout/task-layout.component.html +0 -1
  445. package/src/lib/components/task-layout/task-layout.component.scss +0 -0
  446. package/src/lib/components/task-layout/task-layout.component.spec.ts +0 -23
  447. package/src/lib/components/task-layout/task-layout.component.ts +0 -10
  448. package/src/lib/components/task-logs/task-logs.component.html +0 -97
  449. package/src/lib/components/task-logs/task-logs.component.scss +0 -301
  450. package/src/lib/components/task-logs/task-logs.component.spec.ts +0 -23
  451. package/src/lib/components/task-logs/task-logs.component.ts +0 -80
  452. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.html +0 -84
  453. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.scss +0 -229
  454. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.spec.ts +0 -23
  455. package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.ts +0 -111
  456. package/src/lib/components/trax-store/trax-store.component.html +0 -78
  457. package/src/lib/components/trax-store/trax-store.component.scss +0 -134
  458. package/src/lib/components/trax-store/trax-store.component.spec.ts +0 -23
  459. package/src/lib/components/trax-store/trax-store.component.ts +0 -172
  460. package/src/lib/components/traxpopup/traxpopup.component.html +0 -130
  461. package/src/lib/components/traxpopup/traxpopup.component.scss +0 -225
  462. package/src/lib/components/traxpopup/traxpopup.component.spec.ts +0 -23
  463. package/src/lib/components/traxpopup/traxpopup.component.ts +0 -71
  464. package/src/lib/services/trax.service.spec.ts +0 -16
  465. package/src/lib/services/trax.service.ts +0 -789
  466. package/src/lib/tango-analyse-trax-routing.module.ts +0 -151
  467. package/src/lib/tango-analyse-trax.module.ts +0 -140
  468. package/tsconfig.lib.json +0 -14
  469. package/tsconfig.lib.prod.json +0 -10
  470. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,155 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/trax.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ export class GroupSelectComponent {
7
+ cd;
8
+ authService;
9
+ onClick(event) {
10
+ const target = event.target;
11
+ if (!target.closest('.dropdown')) {
12
+ this.showDropdown = false;
13
+ }
14
+ }
15
+ items;
16
+ searchField;
17
+ multi;
18
+ idField;
19
+ selectedValues = [];
20
+ disabled;
21
+ label;
22
+ selected = new EventEmitter();
23
+ filteredValues = [];
24
+ showDropdown;
25
+ searchValue;
26
+ instanceId;
27
+ constructor(cd, authService) {
28
+ this.cd = cd;
29
+ this.authService = authService;
30
+ }
31
+ ngOnInit() {
32
+ this.instanceId = crypto.randomUUID();
33
+ this.authService.dropDownTrigger.subscribe((e) => {
34
+ if (e !== this.instanceId) {
35
+ this.showDropdown = false;
36
+ this.cd.detectChanges();
37
+ }
38
+ });
39
+ }
40
+ ngOnChanges(changes) {
41
+ if (changes['items'] && this.items?.length) {
42
+ this.initializeItems();
43
+ }
44
+ if (changes['selectedValues'] && Array.isArray(changes['selectedValues']?.currentValue) && changes['selectedValues']?.currentValue?.length > 0 && changes['selectedValues']?.currentValue[0]) {
45
+ this.updateSelectedValues();
46
+ }
47
+ }
48
+ initializeItems() {
49
+ this.filteredValues = this.items.map((item) => ({ ...item }));
50
+ this.updateSelectedValues();
51
+ }
52
+ updateSelectedValues() {
53
+ this.selectedValues?.forEach((selectedItem) => {
54
+ const item = this.filteredValues?.find((filteredItem) => filteredItem?.[this.idField] === selectedItem?.[this.idField]);
55
+ if (item) {
56
+ item.isSelected = true;
57
+ }
58
+ });
59
+ }
60
+ openDropdown(event) {
61
+ this.authService.dropDownTrigger.next(this.instanceId);
62
+ event.stopPropagation();
63
+ this.showDropdown = !this.showDropdown;
64
+ }
65
+ onInput(event) {
66
+ if (!event.target.value) {
67
+ this.filteredValues = [...this.items];
68
+ }
69
+ else {
70
+ const searchTerm = event.target.value.toLowerCase();
71
+ this.filteredValues = this.items.filter((item) => item[this.searchField].toLowerCase().includes(searchTerm));
72
+ }
73
+ this.updateSelectedValues();
74
+ this.cd.detectChanges();
75
+ }
76
+ onSelect(event, item) {
77
+ if (this.multi) {
78
+ if (event.currentTarget.checked) {
79
+ this.selectedValues.push(item);
80
+ }
81
+ else {
82
+ this.selectedValues = this.selectedValues.filter((elem) => elem[this.idField] !== item[this.idField]);
83
+ }
84
+ }
85
+ else {
86
+ this.selectedValues = [{ ...item }];
87
+ this.filteredValues.forEach((element) => {
88
+ if (element[this.idField] !== item[this.idField]) {
89
+ element.isSelected = false;
90
+ }
91
+ });
92
+ this.showDropdown = false;
93
+ }
94
+ const valuesToEmit = this.selectedValues.map((value) => {
95
+ const selectedItem = { ...value };
96
+ delete selectedItem.isSelected;
97
+ return selectedItem;
98
+ });
99
+ this.cd.detectChanges();
100
+ this.emitSelectedValues(valuesToEmit);
101
+ }
102
+ onSelectAll(event) {
103
+ const selectAll = event.currentTarget.checked;
104
+ this.filteredValues.forEach((item) => item.isSelected = selectAll);
105
+ if (selectAll) {
106
+ this.selectedValues = [...this.filteredValues];
107
+ }
108
+ else {
109
+ this.selectedValues = [];
110
+ }
111
+ const valuesToEmit = this.selectedValues.map((value) => {
112
+ const { isSelected, ...selectedItem } = value;
113
+ return selectedItem;
114
+ });
115
+ this.cd.detectChanges();
116
+ this.emitSelectedValues(valuesToEmit);
117
+ }
118
+ emitSelectedValues(values) {
119
+ if (this.multi) {
120
+ this.selected.emit(values);
121
+ }
122
+ else {
123
+ this.selected.emit(values[0]);
124
+ }
125
+ }
126
+ checkIfAllSelected() {
127
+ return this.filteredValues.every((item) => item.isSelected);
128
+ }
129
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TraxService }], target: i0.ɵɵFactoryTarget.Component });
130
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GroupSelectComponent, selector: "lib-group-select", inputs: { items: "items", searchField: "searchField", multi: "multi", idField: "idField", selectedValues: "selectedValues", disabled: "disabled", label: "label" }, outputs: { selected: "selected" }, host: { listeners: { "document:click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n <span *ngIf=\"selectedValues?.length\" class=\"select-value mx-2\"> <img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[0]?.[searchField]}}</span> \r\n <!-- <span *ngIf=\"selectedValues?.length > 1\" class=\"select-value mx-2\"><img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[1]?.[searchField]}}</span> -->\r\n <span class=\"select-value mx-2\" *ngIf=\"selectedValues?.length > 1\">+{{selectedValues?.length -1}}</span> {{label}} \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" [for]=\"instanceId\" >\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n [id]=\"instanceId\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.select-value{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;mix-blend-mode:multiply;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:4px 12px 4px 6px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
131
+ }
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupSelectComponent, decorators: [{
133
+ type: Component,
134
+ args: [{ selector: 'lib-group-select', template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n <span *ngIf=\"selectedValues?.length\" class=\"select-value mx-2\"> <img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[0]?.[searchField]}}</span> \r\n <!-- <span *ngIf=\"selectedValues?.length > 1\" class=\"select-value mx-2\"><img class=\"me-2\" alt=\"Pic\" src=\"./assets/tango/Image/users-teams.svg\">{{selectedValues?.[1]?.[searchField]}}</span> -->\r\n <span class=\"select-value mx-2\" *ngIf=\"selectedValues?.length > 1\">+{{selectedValues?.length -1}}</span> {{label}} \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField]}}\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" [for]=\"instanceId\" >\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n [id]=\"instanceId\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:1}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.select-value{border-radius:16px!important;background:var(--Gray-100, #F2F4F7)!important;mix-blend-mode:multiply;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:4px 12px 4px 6px}\n"] }]
135
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TraxService }], propDecorators: { onClick: [{
136
+ type: HostListener,
137
+ args: ['document:click', ['$event']]
138
+ }], items: [{
139
+ type: Input
140
+ }], searchField: [{
141
+ type: Input
142
+ }], multi: [{
143
+ type: Input
144
+ }], idField: [{
145
+ type: Input
146
+ }], selectedValues: [{
147
+ type: Input
148
+ }], disabled: [{
149
+ type: Input
150
+ }], label: [{
151
+ type: Input
152
+ }], selected: [{
153
+ type: Output
154
+ }] } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvZ3JvdXAtc2VsZWN0L2dyb3VwLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2dyb3VwLXNlbGVjdC9ncm91cC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBT25LLE1BQU0sT0FBTyxvQkFBb0I7SUF1Qlg7SUFBK0I7SUFyQm5ELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFUSxLQUFLLENBQUs7SUFDVixXQUFXLENBQVE7SUFDbkIsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFRO0lBQ2YsY0FBYyxHQUFRLEVBQUUsQ0FBQTtJQUN4QixRQUFRLENBQXFCO0lBQzdCLEtBQUssQ0FBUTtJQUNaLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO0lBQzVDLGNBQWMsR0FBUSxFQUFFLENBQUE7SUFDeEIsWUFBWSxDQUFTO0lBQ3JCLFdBQVcsQ0FBUTtJQUNuQixVQUFVLENBQU07SUFHaEIsWUFBb0IsRUFBcUIsRUFBVSxXQUF1QjtRQUF0RCxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFVLGdCQUFXLEdB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QyxDQUFDO0lBQ25FLENBQUM7d0dBeElVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGtWQ1BqQyxvL0ZBMkNNOzs0RkRwQ08sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjtnSEFNNUIsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFqQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1ncm91cC1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9ncm91cC1zZWxlY3QuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcm91cFNlbGVjdENvbXBvbmVudCB7XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoJy5kcm9wZG93bicpKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbiAgQElucHV0KCkgaXRlbXM6IGFueVxyXG4gIEBJbnB1dCgpIHNlYXJjaEZpZWxkOiBzdHJpbmdcclxuICBASW5wdXQoKSBtdWx0aTogYm9vbGVhblxyXG4gIEBJbnB1dCgpIGlkRmllbGQ6IHN0cmluZ1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWVzOiBhbnkgPSBbXVxyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZ1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcbiAgZmlsdGVyZWRWYWx1ZXM6IGFueSA9IFtdXHJcbiAgc2hvd0Ryb3Bkb3duOiBib29sZWFuXHJcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xyXG4gIGluc3RhbmNlSWQ6IGFueTtcclxuIFxyXG4gXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgYXV0aFNlcnZpY2U6VHJheFNlcnZpY2UpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuZHJvcERvd25UcmlnZ2VyLnN1YnNjcmliZSgoZSk9PnsgICAgICAgICAgIFxyXG4gICAgICBpZihlICE9PSB0aGlzLmluc3RhbmNlSWQpeyAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gXHJcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSAmJiB0aGlzLml0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplSXRlbXMoKTtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzWydzZWxlY3RlZFZhbHVlcyddICYmIEFycmF5LmlzQXJyYXkoY2hhbmdlc1snc2VsZWN0ZWRWYWx1ZXMnXT8uY3VycmVudFZhbHVlKSAmJiBjaGFuZ2VzWydzZWxlY3RlZFZhbHVlcyddPy5jdXJyZW50VmFsdWU/Lmxlbmd0aCA+IDAgJiYgY2hhbmdlc1snc2VsZWN0ZWRWYWx1ZXMnXT8uY3VycmVudFZhbHVlWzBdKSB7ICAgICAgICAgICAgXHJcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZXMoKTtcclxuICAgIH1cclxuICB9XHJcbiBcclxuICBpbml0aWFsaXplSXRlbXMoKSB7XHJcbiAgICB0aGlzLmZpbHRlcmVkVmFsdWVzID0gdGhpcy5pdGVtcy5tYXAoKGl0ZW06IGFueSkgPT4gKHsgLi4uaXRlbSB9KSk7XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWVzKClcclxuICB9XHJcbiBcclxuICB1cGRhdGVTZWxlY3RlZFZhbHVlcygpIHsgICAgXHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mb3JFYWNoKChzZWxlY3RlZEl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5maWx0ZXJlZFZhbHVlcz8uZmluZCgoZmlsdGVyZWRJdGVtOiBhbnkpID0+IGZpbHRlcmVkSXRlbT8uW3RoaXMuaWRGaWVsZF0gPT09IHNlbGVjdGVkSXRlbT8uW3RoaXMuaWRGaWVsZF0pO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICBcclxuICB9XHJcbiBcclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5kcm9wRG93blRyaWdnZXIubmV4dCh0aGlzLmluc3RhbmNlSWQpXHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gIXRoaXMuc2hvd0Ryb3Bkb3duO1xyXG4gIH1cclxuIFxyXG4gIG9uSW5wdXQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IFsuLi50aGlzLml0ZW1zXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtOiBhbnkpID0+XHJcbiAgICAgICAgaXRlbVt0aGlzLnNlYXJjaEZpZWxkXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWVzKCk7XHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiBcclxuICBvblNlbGVjdChldmVudDogYW55LCBpdGVtOiBhbnkpIHsgICAgXHJcbiAgICBpZiAodGhpcy5tdWx0aSkge1xyXG4gICAgICBpZiAoZXZlbnQuY3VycmVudFRhcmdldC5jaGVja2VkKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5wdXNoKGl0ZW0gKTsgICAgICAgIFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLmZpbHRlcigoZWxlbTogYW55KSA9PiBlbGVtW3RoaXMuaWRGaWVsZF0gIT09IGl0ZW1bdGhpcy5pZEZpZWxkXSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbeyAuLi5pdGVtIH1dO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkVmFsdWVzLmZvckVhY2goKGVsZW1lbnQ6YW55KSA9PiB7XHJcbiAgICAgICAgaWYoZWxlbWVudFt0aGlzLmlkRmllbGRdICE9PSBpdGVtW3RoaXMuaWRGaWVsZF0pe1xyXG4gICAgICAgICAgZWxlbWVudC5pc1NlbGVjdGVkID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gICAgfVxyXG4gXHJcbiAgICBjb25zdCB2YWx1ZXNUb0VtaXQgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB7IC4uLnZhbHVlIH07XHJcbiAgICAgIGRlbGV0ZSBzZWxlY3RlZEl0ZW0uaXNTZWxlY3RlZDtcclxuICAgICAgcmV0dXJuIHNlbGVjdGVkSXRlbTtcclxuICAgIH0pO1xyXG4gXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuZW1pdFNlbGVjdGVkVmFsdWVzKHZhbHVlc1RvRW1pdCk7XHJcbiBcclxuICB9XHJcbiBcclxuICBvblNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBzZWxlY3RBbGwgPSBldmVudC5jdXJyZW50VGFyZ2V0LmNoZWNrZWQ7XHJcbiAgICB0aGlzLmZpbHRlcmVkVmFsdWVzLmZvckVhY2goKGl0ZW06IGFueSkgPT4gaXRlbS5pc1NlbGVjdGVkID0gc2VsZWN0QWxsKTtcclxuIFxyXG4gICAgaWYgKHNlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gWy4uLnRoaXMuZmlsdGVyZWRWYWx1ZXNdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xyXG4gICAgfVxyXG4gXHJcbiAgICBjb25zdCB2YWx1ZXNUb0VtaXQgPSB0aGlzLnNlbGVjdGVkVmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGlzU2VsZWN0ZWQsIC4uLnNlbGVjdGVkSXRlbSB9ID0gdmFsdWU7XHJcbiAgICAgIHJldHVybiBzZWxlY3RlZEl0ZW07XHJcbiAgICB9KTtcclxuIFxyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmVtaXRTZWxlY3RlZFZhbHVlcyh2YWx1ZXNUb0VtaXQpO1xyXG4gIH1cclxuIFxyXG4gXHJcbiAgZW1pdFNlbGVjdGVkVmFsdWVzKHZhbHVlczogYW55W10pIHtcclxuICAgIGlmICh0aGlzLm11bHRpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh2YWx1ZXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHZhbHVlc1swXSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbiAgY2hlY2tJZkFsbFNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRWYWx1ZXMuZXZlcnkoKGl0ZW06IGFueSkgPT4gaXRlbS5pc1NlbGVjdGVkKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJkaXNhYmxlZCA/ICdkaXNhYmxlLWlucHV0JzonJ1wiICAoY2xpY2spPVwib3BlbkRyb3Bkb3duKCRldmVudClcIiAgY2xhc3M9XCJmb3JtLXNlbGVjdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpXCIgPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFZhbHVlcz8ubGVuZ3RoXCIgY2xhc3M9XCJzZWxlY3QtdmFsdWUgbXgtMlwiPiA8aW1nIGNsYXNzPVwibWUtMlwiIGFsdD1cIlBpY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlL3VzZXJzLXRlYW1zLnN2Z1wiPnt7c2VsZWN0ZWRWYWx1ZXM/LlswXT8uW3NlYXJjaEZpZWxkXX19PC9zcGFuPiBcclxuICAgIDwhLS0gPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFZhbHVlcz8ubGVuZ3RoID4gMVwiIGNsYXNzPVwic2VsZWN0LXZhbHVlIG14LTJcIj48aW1nIGNsYXNzPVwibWUtMlwiICBhbHQ9XCJQaWNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZS91c2Vycy10ZWFtcy5zdmdcIj57e3NlbGVjdGVkVmFsdWVzPy5bMV0/LltzZWFyY2hGaWVsZF19fTwvc3Bhbj4gIC0tPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtdmFsdWUgbXgtMlwiICpuZ0lmPVwic2VsZWN0ZWRWYWx1ZXM/Lmxlbmd0aCA+IDFcIj4re3tzZWxlY3RlZFZhbHVlcz8ubGVuZ3RoIC0xfX08L3NwYW4+IHt7bGFiZWx9fSAgICBcclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aVwiID5cclxuICAgICAgICB7e3NlbGVjdGVkVmFsdWVzPy5bMF0/LltzZWFyY2hGaWVsZF19fVxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgW25nQ2xhc3NdPVwic2hvd0Ryb3Bkb3duID8gJycgOiAnZC1ub25lJ1wiIGNsYXNzPVwiaW5wdXQtY29udGFpbmVyIGRyb3Bkb3duXCIgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBpbnB1dC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCIgdHlwZT1cInRleHRcIj4gIFxyXG4gICAgICAgIDxzdmcgY2xhc3M9XCJzZWFyY2gtaWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTdcIiB2aWV3Qm94PVwiMCAwIDE2IDE3XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xNCAxNC41TDExLjEgMTEuNk0xMi42NjY3IDcuODMzMzNDMTIuNjY2NyAxMC43Nzg5IDEwLjI3ODkgMTMuMTY2NyA3LjMzMzMzIDEzLjE2NjdDNC4zODc4MSAxMy4xNjY3IDIgMTAuNzc4OSAyIDcuODMzMzNDMiA0Ljg4NzgxIDQuMzg3ODEgMi41IDcuMzMzMzMgMi41QzEwLjI3ODkgMi41IDEyLjY2NjcgNC44ODc4MSAxMi42NjY3IDcuODMzMzNaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgIDwvc3ZnPiAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJtdWx0aSAmJiBmaWx0ZXJlZFZhbHVlcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrXCIgW2Zvcl09XCJpbnN0YW5jZUlkXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cIm9uU2VsZWN0QWxsKCRldmVudClcIiBbY2hlY2tlZF09XCJjaGVja0lmQWxsU2VsZWN0ZWQoKVwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtZS0zXCIgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaW5zdGFuY2VJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IEFsbFxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZFZhbHVlc1wiIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCAmJiAhbXVsdGkgPyAnc2VsZWN0ZWQnIDogJydcIiA+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpdGVtW2lkRmllbGRdICsgaW5zdGFuY2VJZFwiIFtuZ0NsYXNzXT1cIm11bHRpICA/ICcnOiAncHMtMCdcIiBjbGFzcz1cImZvcm0tY2hlY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW25nQ2xhc3NdPVwibXVsdGkgID8gJyc6ICdkLW5vbmUnXCIgKGNoYW5nZSk9XCJvblNlbGVjdCgkZXZlbnQsIGl0ZW0pXCIgWyhuZ01vZGVsKV09XCJpdGVtLmlzU2VsZWN0ZWRcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtM1wiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIml0ZW1baWRGaWVsZF0gKyBpbnN0YW5jZUlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW1bc2VhcmNoRmllbGRdfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCIhZmlsdGVyZWRWYWx1ZXM/Lmxlbmd0aFwiID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgPk5vIGRhdGEgZm91bmQ8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD4gIFxyXG4gICAgPC9kaXY+ICBcclxuICAgXHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
4
+ export class ImagePopupComponent {
5
+ activeModal;
6
+ imageUrl = '';
7
+ caption = '';
8
+ constructor(activeModal) {
9
+ this.activeModal = activeModal;
10
+ }
11
+ close() {
12
+ this.activeModal.close();
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImagePopupComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ImagePopupComponent, selector: "lib-image-popup", inputs: { imageUrl: "imageUrl", caption: "caption" }, ngImport: i0, template: "<div class=\"modal-header py-2\">\r\n <h5 class=\"modal-title text-truncate\">{{ caption }}</h5>\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"close()\" aria-label=\"Close\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n</div>\r\n<div class=\"modal-body p-2 d-flex align-items-center justify-content-center\">\r\n <img [src]=\"imageUrl\" class=\"img-fluid image-popup-img\" alt=\"\" />\r\n</div>", styles: [".image-popup-img{max-height:85vh;max-width:100%;object-fit:contain}\n"] });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ImagePopupComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'lib-image-popup', template: "<div class=\"modal-header py-2\">\r\n <h5 class=\"modal-title text-truncate\">{{ caption }}</h5>\r\n <button type=\"button\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"close()\" aria-label=\"Close\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </button>\r\n</div>\r\n<div class=\"modal-body p-2 d-flex align-items-center justify-content-center\">\r\n <img [src]=\"imageUrl\" class=\"img-fluid image-popup-img\" alt=\"\" />\r\n</div>", styles: [".image-popup-img{max-height:85vh;max-width:100%;object-fit:contain}\n"] }]
20
+ }], ctorParameters: () => [{ type: i1.NgbActiveModal }], propDecorators: { imageUrl: [{
21
+ type: Input
22
+ }], caption: [{
23
+ type: Input
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS1wb3B1cC9pbWFnZS1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXBvcHVwL2ltYWdlLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRakQsTUFBTSxPQUFPLG1CQUFtQjtJQUlYO0lBSFYsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBRTlCLFlBQW1CLFdBQTJCO1FBQTNCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtJQUFHLENBQUM7SUFFbEQsS0FBSztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzt3R0FSVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2R0NSaEMsNHFCQVVNOzs0RkRGTyxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCO21GQUtsQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1pbWFnZS1wb3B1cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaW1hZ2UtcG9wdXAuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZVBvcHVwQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBpbWFnZVVybDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwpIHt9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSgpO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcHktMlwiPlxyXG4gIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlIHRleHQtdHJ1bmNhdGVcIj57eyBjYXB0aW9uIH19PC9oNT5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlKClcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj5cclxuICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8cGF0aCBkPVwiTTE1IDVMNSAxNU01IDVMMTUgMTVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8L3N2Zz5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IHAtMiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICA8aW1nIFtzcmNdPVwiaW1hZ2VVcmxcIiBjbGFzcz1cImltZy1mbHVpZCBpbWFnZS1wb3B1cC1pbWdcIiBhbHQ9XCJcIiAvPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,158 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../services/trax.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ export class CustomsingleSelectComponent {
7
+ cd;
8
+ authService;
9
+ onClick(event) {
10
+ const target = event.target;
11
+ if (!target.closest('.dropdown')) {
12
+ this.showDropdown = false;
13
+ }
14
+ }
15
+ items;
16
+ searchField;
17
+ multi;
18
+ idField;
19
+ selectedValues = [];
20
+ disabled;
21
+ label;
22
+ selected = new EventEmitter();
23
+ filteredValues = [];
24
+ showDropdown;
25
+ searchValue;
26
+ instanceId;
27
+ constructor(cd, authService) {
28
+ this.cd = cd;
29
+ this.authService = authService;
30
+ }
31
+ ngOnInit() {
32
+ this.instanceId = crypto.randomUUID();
33
+ this.authService.dropDownTrigger.subscribe((e) => {
34
+ if (e !== this.instanceId) {
35
+ this.showDropdown = false;
36
+ this.cd.detectChanges();
37
+ }
38
+ });
39
+ }
40
+ ngOnChanges(changes) {
41
+ if (changes['items'] && this.items?.length) {
42
+ this.initializeItems();
43
+ }
44
+ else if (this.items?.length === 0) {
45
+ this.filteredValues = [];
46
+ }
47
+ if (changes['selectedValues'] && Array.isArray(changes['selectedValues']?.currentValue) && changes['selectedValues']?.currentValue?.length > 0 && changes['selectedValues']?.currentValue[0]) {
48
+ this.updateSelectedValues();
49
+ }
50
+ }
51
+ initializeItems() {
52
+ this.filteredValues = this.items.map((item) => ({ ...item }));
53
+ this.updateSelectedValues();
54
+ }
55
+ updateSelectedValues() {
56
+ this.selectedValues?.forEach((selectedItem) => {
57
+ const item = this.filteredValues?.find((filteredItem) => filteredItem?.[this.idField] === selectedItem?.[this.idField]);
58
+ if (item) {
59
+ item.isSelected = true;
60
+ }
61
+ });
62
+ }
63
+ openDropdown(event) {
64
+ this.authService.dropDownTrigger.next(this.instanceId);
65
+ event.stopPropagation();
66
+ this.showDropdown = !this.showDropdown;
67
+ }
68
+ onInput(event) {
69
+ if (!event.target.value) {
70
+ this.filteredValues = [...this.items];
71
+ }
72
+ else {
73
+ const searchTerm = event.target.value.toLowerCase();
74
+ this.filteredValues = this.items.filter((item) => item[this.searchField].toLowerCase().includes(searchTerm));
75
+ }
76
+ this.updateSelectedValues();
77
+ this.cd.detectChanges();
78
+ }
79
+ onSelect(event, item) {
80
+ if (this.multi) {
81
+ if (event.currentTarget.checked) {
82
+ this.selectedValues.push(item);
83
+ }
84
+ else {
85
+ this.selectedValues = this.selectedValues.filter((elem) => elem[this.idField] !== item[this.idField]);
86
+ }
87
+ }
88
+ else {
89
+ this.selectedValues = [{ ...item }];
90
+ this.filteredValues.forEach((element) => {
91
+ if (element[this.idField] !== item[this.idField]) {
92
+ element.isSelected = false;
93
+ }
94
+ });
95
+ this.showDropdown = false;
96
+ }
97
+ const valuesToEmit = this.selectedValues.map((value) => {
98
+ const selectedItem = { ...value };
99
+ delete selectedItem.isSelected;
100
+ return selectedItem;
101
+ });
102
+ this.cd.detectChanges();
103
+ this.emitSelectedValues(valuesToEmit);
104
+ }
105
+ onSelectAll(event) {
106
+ const selectAll = event.currentTarget.checked;
107
+ this.filteredValues.forEach((item) => item.isSelected = selectAll);
108
+ if (selectAll) {
109
+ this.selectedValues = [...this.filteredValues];
110
+ }
111
+ else {
112
+ this.selectedValues = [];
113
+ }
114
+ const valuesToEmit = this.selectedValues.map((value) => {
115
+ const { isSelected, ...selectedItem } = value;
116
+ return selectedItem;
117
+ });
118
+ this.cd.detectChanges();
119
+ this.emitSelectedValues(valuesToEmit);
120
+ }
121
+ emitSelectedValues(values) {
122
+ if (this.multi) {
123
+ this.selected.emit(values);
124
+ }
125
+ else {
126
+ this.selected.emit(values[0]);
127
+ }
128
+ }
129
+ checkIfAllSelected() {
130
+ return this.filteredValues.every((item) => item.isSelected);
131
+ }
132
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomsingleSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TraxService }], target: i0.ɵɵFactoryTarget.Component });
133
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CustomsingleSelectComponent, selector: "lib-single-select", inputs: { items: "items", searchField: "searchField", multi: "multi", idField: "idField", selectedValues: "selectedValues", disabled: "disabled", label: "label" }, outputs: { selected: "selected" }, host: { listeners: { "document:click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n {{selectedValues?.length}} {{label}} Selected \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField].slice(0,50)}}<span *ngIf=\"selectedValues?.[0]?.[searchField].length>49\">....</span>\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" for=\"selectAll\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:2}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
134
+ }
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomsingleSelectComponent, decorators: [{
136
+ type: Component,
137
+ args: [{ selector: 'lib-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"outer-container\">\r\n <div [ngClass]=\"disabled ? 'disable-input':''\" (click)=\"openDropdown($event)\" class=\"form-select\">\r\n <ng-container *ngIf=\"multi\" >\r\n {{selectedValues?.length}} {{label}} Selected \r\n </ng-container>\r\n <ng-container *ngIf=\"!multi\" >\r\n {{selectedValues?.[0]?.[searchField].slice(0,50)}}<span *ngIf=\"selectedValues?.[0]?.[searchField].length>49\">....</span>\r\n </ng-container>\r\n </div>\r\n <div [ngClass]=\"showDropdown ? '' : 'd-none'\" class=\"input-container dropdown\" >\r\n <div class=\"w-100 input-wrapper\">\r\n <input [(ngModel)]=\"searchValue\" placeholder=\"Search\" (input)=\"onInput($event)\" type=\"text\"> \r\n <svg class=\"search-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\" stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg> \r\n </div>\r\n <ul>\r\n <li *ngIf=\"multi && filteredValues?.length\">\r\n <label class=\"form-check\" for=\"selectAll\">\r\n <input (change)=\"onSelectAll($event)\" [checked]=\"checkIfAllSelected()\" class=\"form-check-input me-3\" type=\"checkbox\"\r\n id=\"selectAll\">\r\n <span class=\"form-check-label\" >\r\n Select All\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngFor=\"let item of filteredValues\" [ngClass]=\"item.isSelected && !multi ? 'selected' : ''\" >\r\n <label [for]=\"item[idField] + instanceId\" [ngClass]=\"multi ? '': 'ps-0'\" class=\"form-check\">\r\n <input [ngClass]=\"multi ? '': 'd-none'\" (change)=\"onSelect($event, item)\" [(ngModel)]=\"item.isSelected\" class=\"form-check-input me-3\" type=\"checkbox\" value=\"\"\r\n [id]=\"item[idField] + instanceId\">\r\n <span class=\"form-check-label\" >\r\n {{item[searchField]}}\r\n </span>\r\n </label>\r\n </li>\r\n <li *ngIf=\"!filteredValues?.length\" >\r\n <span class=\"d-flex align-items-center justify-content-center\" >No data found</span>\r\n </li>\r\n </ul> \r\n </div> \r\n \r\n</div>", styles: [":host{width:100%;height:100%}.outer-container{position:relative;background-color:#fff}.outer-container .form-select{font-size:1.1rem;font-weight:600;border-radius:8px!important;color:var(--Gray-500, #344054);border:1px solid var(--Gray-300, #D0D5DD)!important;height:42.5px}.outer-container .disable-input{pointer-events:none;background-color:#f9fafb!important}.outer-container .input-container{position:absolute;width:100%;z-index:2}.outer-container .input-container .input-wrapper{padding:8px 10px;background-color:#fff;border-top-right-radius:8px;border-top-left-radius:8px;border-top:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container .input-wrapper input{width:100%;border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:10px 14px 10px 30px;outline:none}.outer-container .input-container .input-wrapper input ::placeholder{color:var(--Gray-500, #667085);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .input-wrapper .search-icon{position:absolute;left:20px;top:20px}.outer-container .input-container ul{position:relative;background-color:#fff;margin:0;padding:0;max-height:200px;min-height:auto;overflow-y:auto;border-bottom-right-radius:8px;border-bottom-left-radius:8px;border-bottom:1px solid rgba(16,24,40,.08);border-right:1px solid rgba(16,24,40,.08);border-left:1px solid rgba(16,24,40,.08)}.outer-container .input-container ul .selected{background:#f9fafb}.outer-container .input-container ul li{list-style:none;padding:10px 16px;cursor:pointer}.outer-container .input-container ul li label{cursor:pointer}.outer-container .input-container ul li:hover{background:#f9fafb}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"] }]
138
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TraxService }], propDecorators: { onClick: [{
139
+ type: HostListener,
140
+ args: ['document:click', ['$event']]
141
+ }], items: [{
142
+ type: Input
143
+ }], searchField: [{
144
+ type: Input
145
+ }], multi: [{
146
+ type: Input
147
+ }], idField: [{
148
+ type: Input
149
+ }], selectedValues: [{
150
+ type: Input
151
+ }], disabled: [{
152
+ type: Input
153
+ }], label: [{
154
+ type: Input
155
+ }], selected: [{
156
+ type: Output
157
+ }] } });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2xpYi9jdXN0b20tc2VsZWN0L2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9saWIvY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNuSyxNQUFNLE9BQU8sMkJBQTJCO0lBeUJsQjtJQUErQjtJQXRCbkQsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVRLEtBQUssQ0FBSztJQUNWLFdBQVcsQ0FBUTtJQUNuQixLQUFLLENBQVM7SUFDZCxPQUFPLENBQVE7SUFDZixjQUFjLEdBQVEsRUFBRSxDQUFBO0lBQ3hCLFFBQVEsQ0FBcUI7SUFDN0IsS0FBSyxDQUFRO0lBRVosUUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7SUFDNUMsY0FBYyxHQUFRLEVBQUUsQ0FBQTtJQUN4QixZQUFZLENBQVM7SUFDckIsV0FBVyxDQUFRO0lBQ25CLFVBQVUsQ0FBTTtJQUdoQixZQUFvQixFQUFxQixFQUFVLFdBQXVCO1FBQXRELE9B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QyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO3dHQTVJVSwyQkFBMkI7NEZBQTNCLDJCQUEyQixtVkNUeEMsaW1GQXlDTTs7NEZEaENPLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTtnSEFLL0MsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFqQyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG4gXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNpbmdsZS1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21zaW5nbGVTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XHJcbiBcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKCF0YXJnZXQuY2xvc2VzdCgnLmRyb3Bkb3duJykpIHtcclxuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiBcclxuICBASW5wdXQoKSBpdGVtczogYW55XHJcbiAgQElucHV0KCkgc2VhcmNoRmllbGQ6IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG11bHRpOiBib29sZWFuXHJcbiAgQElucHV0KCkgaWRGaWVsZDogc3RyaW5nXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZXM6IGFueSA9IFtdXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWRcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nXHJcbiBcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIGZpbHRlcmVkVmFsdWVzOiBhbnkgPSBbXVxyXG4gIHNob3dEcm9wZG93bjogYm9vbGVhblxyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmdcclxuICBpbnN0YW5jZUlkOiBhbnk7XHJcbiBcclxuIFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGF1dGhTZXJ2aWNlOlRyYXhTZXJ2aWNlKSB7IH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5zdGFuY2VJZCA9IGNyeXB0by5yYW5kb21VVUlEKCk7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmRyb3BEb3duVHJpZ2dlci5zdWJzY3JpYmUoKGU6YW55KT0+eyAgICAgICAgICAgXHJcbiAgICAgIGlmKGUgIT09IHRoaXMuaW5zdGFuY2VJZCl7ICAgICAgICBcclxuICAgICAgICB0aGlzLnNob3dEcm9wZG93biA9IGZhbHNlXHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiBcclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiBcclxuICAgIGlmIChjaGFuZ2VzWydpdGVtcyddICYmIHRoaXMuaXRlbXM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVJdGVtcygpO1xyXG4gICAgfWVsc2UgaWYodGhpcy5pdGVtcz8ubGVuZ3RoICA9PT0wKXtcclxuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IFtdXHJcbiAgICB9XHJcbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRWYWx1ZXMnXSAmJiBBcnJheS5pc0FycmF5KGNoYW5nZXNbJ3NlbGVjdGVkVmFsdWVzJ10/LmN1cnJlbnRWYWx1ZSkgJiYgY2hhbmdlc1snc2VsZWN0ZWRWYWx1ZXMnXT8uY3VycmVudFZhbHVlPy5sZW5ndGggPiAwICYmIGNoYW5nZXNbJ3NlbGVjdGVkVmFsdWVzJ10/LmN1cnJlbnRWYWx1ZVswXSkgeyAgICAgICAgICAgIFxyXG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkVmFsdWVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gXHJcbiAgaW5pdGlhbGl6ZUl0ZW1zKCkge1xyXG4gICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHRoaXMuaXRlbXMubWFwKChpdGVtOiBhbnkpID0+ICh7IC4uLml0ZW0gfSkpO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlcygpXHJcbiAgfVxyXG4gXHJcbiAgdXBkYXRlU2VsZWN0ZWRWYWx1ZXMoKSB7ICAgIFxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZm9yRWFjaCgoc2VsZWN0ZWRJdGVtOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZmlsdGVyZWRWYWx1ZXM/LmZpbmQoKGZpbHRlcmVkSXRlbTogYW55KSA9PiBmaWx0ZXJlZEl0ZW0/Llt0aGlzLmlkRmllbGRdID09PSBzZWxlY3RlZEl0ZW0/Llt0aGlzLmlkRmllbGRdKTtcclxuICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgXHJcbiAgfVxyXG4gXHJcbiAgb3BlbkRyb3Bkb3duKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UuZHJvcERvd25UcmlnZ2VyLm5leHQodGhpcy5pbnN0YW5jZUlkKVxyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnNob3dEcm9wZG93biA9ICF0aGlzLnNob3dEcm9wZG93bjtcclxuICB9XHJcbiBcclxuICBvbklucHV0KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSBbLi4udGhpcy5pdGVtc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBzZWFyY2hUZXJtID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbTogYW55KSA9PlxyXG4gICAgICAgIGl0ZW1bdGhpcy5zZWFyY2hGaWVsZF0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlcygpO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gXHJcbiAgb25TZWxlY3QoZXZlbnQ6IGFueSwgaXRlbTogYW55KSB7ICAgIFxyXG4gICAgaWYgKHRoaXMubXVsdGkpIHtcclxuICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQuY2hlY2tlZCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucHVzaChpdGVtICk7ICAgICAgICBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5maWx0ZXIoKGVsZW06IGFueSkgPT4gZWxlbVt0aGlzLmlkRmllbGRdICE9PSBpdGVtW3RoaXMuaWRGaWVsZF0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gW3sgLi4uaXRlbSB9XTtcclxuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xyXG4gICAgICAgIGlmKGVsZW1lbnRbdGhpcy5pZEZpZWxkXSAhPT0gaXRlbVt0aGlzLmlkRmllbGRdKXtcclxuICAgICAgICAgIGVsZW1lbnQuaXNTZWxlY3RlZCA9IGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuICAgIH1cclxuIFxyXG4gICAgY29uc3QgdmFsdWVzVG9FbWl0ID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5tYXAoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0geyAuLi52YWx1ZSB9O1xyXG4gICAgICBkZWxldGUgc2VsZWN0ZWRJdGVtLmlzU2VsZWN0ZWQ7XHJcbiAgICAgIHJldHVybiBzZWxlY3RlZEl0ZW07XHJcbiAgICB9KTtcclxuIFxyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmVtaXRTZWxlY3RlZFZhbHVlcyh2YWx1ZXNUb0VtaXQpO1xyXG4gXHJcbiAgfVxyXG4gXHJcbiAgb25TZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3Qgc2VsZWN0QWxsID0gZXZlbnQuY3VycmVudFRhcmdldC5jaGVja2VkO1xyXG4gICAgdGhpcy5maWx0ZXJlZFZhbHVlcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IGl0ZW0uaXNTZWxlY3RlZCA9IHNlbGVjdEFsbCk7XHJcbiBcclxuICAgIGlmIChzZWxlY3RBbGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFsuLi50aGlzLmZpbHRlcmVkVmFsdWVzXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcclxuICAgIH1cclxuIFxyXG4gICAgY29uc3QgdmFsdWVzVG9FbWl0ID0gdGhpcy5zZWxlY3RlZFZhbHVlcy5tYXAoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBpc1NlbGVjdGVkLCAuLi5zZWxlY3RlZEl0ZW0gfSA9IHZhbHVlO1xyXG4gICAgICByZXR1cm4gc2VsZWN0ZWRJdGVtO1xyXG4gICAgfSk7XHJcbiBcclxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5lbWl0U2VsZWN0ZWRWYWx1ZXModmFsdWVzVG9FbWl0KTtcclxuICB9XHJcbiBcclxuIFxyXG4gIGVtaXRTZWxlY3RlZFZhbHVlcyh2YWx1ZXM6IGFueVtdKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkLmVtaXQodmFsdWVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh2YWx1ZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuIFxyXG4gIGNoZWNrSWZBbGxTZWxlY3RlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkVmFsdWVzLmV2ZXJ5KChpdGVtOiBhbnkpID0+IGl0ZW0uaXNTZWxlY3RlZCk7XHJcbiAgfVxyXG59IiwiPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJkaXNhYmxlZCA/ICdkaXNhYmxlLWlucHV0JzonJ1wiICAoY2xpY2spPVwib3BlbkRyb3Bkb3duKCRldmVudClcIiAgY2xhc3M9XCJmb3JtLXNlbGVjdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpXCIgPlxyXG4gICAge3tzZWxlY3RlZFZhbHVlcz8ubGVuZ3RofX0ge3tsYWJlbH19IFNlbGVjdGVkICAgIFxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpXCIgPlxyXG4gICAgICAgIHt7c2VsZWN0ZWRWYWx1ZXM/LlswXT8uW3NlYXJjaEZpZWxkXS5zbGljZSgwLDUwKX19PHNwYW4gKm5nSWY9XCJzZWxlY3RlZFZhbHVlcz8uWzBdPy5bc2VhcmNoRmllbGRdLmxlbmd0aD40OVwiPi4uLi48L3NwYW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJzaG93RHJvcGRvd24gPyAnJyA6ICdkLW5vbmUnXCIgY2xhc3M9XCJpbnB1dC1jb250YWluZXIgZHJvcGRvd25cIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIiB0eXBlPVwidGV4dFwiPiAgXHJcbiAgICAgICAgPHN2ZyBjbGFzcz1cInNlYXJjaC1pY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxN1wiIHZpZXdCb3g9XCIwIDAgMTYgMTdcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE0IDE0LjVMMTEuMSAxMS42TTEyLjY2NjcgNy44MzMzM0MxMi42NjY3IDEwLjc3ODkgMTAuMjc4OSAxMy4xNjY3IDcuMzMzMzMgMTMuMTY2N0M0LjM4NzgxIDEzLjE2NjcgMiAxMC43Nzg5IDIgNy44MzMzM0MyIDQuODg3ODEgNC4zODc4MSAyLjUgNy4zMzMzMyAyLjVDMTAuMjc4OSAyLjUgMTIuNjY2NyA0Ljg4NzgxIDEyLjY2NjcgNy44MzMzM1pcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgPC9zdmc+ICBcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cIm11bHRpICYmIGZpbHRlcmVkVmFsdWVzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2tcIiBmb3I9XCJzZWxlY3RBbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKGNoYW5nZSk9XCJvblNlbGVjdEFsbCgkZXZlbnQpXCIgW2NoZWNrZWRdPVwiY2hlY2tJZkFsbFNlbGVjdGVkKClcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtM1wiIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwic2VsZWN0QWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QgQWxsXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkVmFsdWVzXCIgW25nQ2xhc3NdPVwiaXRlbS5pc1NlbGVjdGVkICYmICFtdWx0aSA/ICdzZWxlY3RlZCcgOiAnJ1wiID5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIml0ZW1baWRGaWVsZF0gKyBpbnN0YW5jZUlkXCIgW25nQ2xhc3NdPVwibXVsdGkgID8gJyc6ICdwcy0wJ1wiIGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbbmdDbGFzc109XCJtdWx0aSAgPyAnJzogJ2Qtbm9uZSdcIiAoY2hhbmdlKT1cIm9uU2VsZWN0KCRldmVudCwgaXRlbSlcIiBbKG5nTW9kZWwpXT1cIml0ZW0uaXNTZWxlY3RlZFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBtZS0zXCIgdHlwZT1cImNoZWNrYm94XCIgdmFsdWU9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaXRlbVtpZEZpZWxkXSArIGluc3RhbmNlSWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbVtzZWFyY2hGaWVsZF19fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cIiFmaWx0ZXJlZFZhbHVlcz8ubGVuZ3RoXCIgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIiA+Tm8gZGF0YSBmb3VuZDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPiAgXHJcbiAgICA8L2Rpdj4gIFxyXG4gICBcclxuPC9kaXY+Il19