@naniteninja/dashboard-components-lib 1.0.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/fesm2022/naniteninja-dashboard-components-lib.mjs +539 -181
  2. package/fesm2022/naniteninja-dashboard-components-lib.mjs.map +1 -1
  3. package/index.d.ts +1775 -3
  4. package/{naniteninja-dashboard-components-lib-1.0.4.tgz → naniteninja-dashboard-components-lib-2.0.0.tgz} +0 -0
  5. package/package.json +25 -29
  6. package/src/assets/icons/close-icon.svg +1 -1
  7. package/src/assets/icons/drag-handle.svg +5 -0
  8. package/src/assets/icons/filter-gear.svg +5 -0
  9. package/src/assets/icons/filter-icon.svg +5 -0
  10. package/src/assets/icons/plus.svg +1 -1
  11. package/src/assets/icons/settings.svg +4 -0
  12. package/src/lib/shared-styles/common/theme.scss +3 -3
  13. package/esm2022/lib/components/auto-delegation/animations.mjs +0 -20
  14. package/esm2022/lib/components/auto-delegation/auto-delegation-modal.component.mjs +0 -106
  15. package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-type.enum.mjs +0 -6
  16. package/esm2022/lib/components/auto-delegation/enums/auto-delegation.event-value.enum.mjs +0 -7
  17. package/esm2022/lib/components/auto-delegation/interface/auto-delegation-data.interface.mjs +0 -2
  18. package/esm2022/lib/components/auto-delegation/interface/auto-delegation.event.interface.mjs +0 -2
  19. package/esm2022/lib/components/auto-delegation/interface/auto-delegation.modal-data.interface.mjs +0 -2
  20. package/esm2022/lib/components/auto-delegation/interface/preferences.interface.mjs +0 -2
  21. package/esm2022/lib/components/calendar/agenda/agenda-day-card/agenda-day-card.component.mjs +0 -37
  22. package/esm2022/lib/components/calendar/agenda/agenda.component.mjs +0 -120
  23. package/esm2022/lib/components/calendar/agenda/agenda.module.mjs +0 -23
  24. package/esm2022/lib/components/calendar/agenda/enums/agenda-item-type.enum.mjs +0 -6
  25. package/esm2022/lib/components/calendar/agenda/interfaces/agenda.day.interface.mjs +0 -2
  26. package/esm2022/lib/components/calendar/agenda/interfaces/agenda.event.inetrface.mjs +0 -2
  27. package/esm2022/lib/components/calendar/agenda/types/agenda-item.type.mjs +0 -2
  28. package/esm2022/lib/components/calendar/components/edit-recurring-event/edit-recurring-event.component.mjs +0 -40
  29. package/esm2022/lib/components/calendar/components/event-form/event-form.component.mjs +0 -275
  30. package/esm2022/lib/components/calendar/components/event-form/event-form.module.mjs +0 -89
  31. package/esm2022/lib/components/calendar/components/event-info/event-info.component.mjs +0 -40
  32. package/esm2022/lib/components/calendar/enums/calendar.account.enum.mjs +0 -6
  33. package/esm2022/lib/components/calendar/enums/calendar.account.icons.enum.mjs +0 -6
  34. package/esm2022/lib/components/calendar/enums/event-type.enum.mjs +0 -10
  35. package/esm2022/lib/components/calendar/enums/recurring.edit.options.enum.mjs +0 -7
  36. package/esm2022/lib/components/calendar/enums/recurring.type.enum.mjs +0 -8
  37. package/esm2022/lib/components/calendar/interfaces/calendar.account.interface.mjs +0 -2
  38. package/esm2022/lib/components/calendar/interfaces/calendar.account.theme.interface.mjs +0 -2
  39. package/esm2022/lib/components/calendar/interfaces/event.form.interface.mjs +0 -2
  40. package/esm2022/lib/components/calendar/interfaces/event.form.output.interface.mjs +0 -2
  41. package/esm2022/lib/components/calendar/interfaces/event.interface.mjs +0 -2
  42. package/esm2022/lib/components/calendar/interfaces/event.time.interface.mjs +0 -2
  43. package/esm2022/lib/components/calendar/interfaces/recurring.event.interface.mjs +0 -2
  44. package/esm2022/lib/components/calendar/interfaces/recurring.exception.interface.mjs +0 -2
  45. package/esm2022/lib/components/calendar/interfaces/recurring.pattern.interface.mjs +0 -2
  46. package/esm2022/lib/components/calendar/lookups/recurring.options.lookup.mjs +0 -30
  47. package/esm2022/lib/components/calendar/scheduler/enums/schedule-date-status.enum.mjs +0 -7
  48. package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.action.interface.mjs +0 -2
  49. package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.day.interface.mjs +0 -2
  50. package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.interface.mjs +0 -2
  51. package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.event.suggestion.interface.mjs +0 -2
  52. package/esm2022/lib/components/calendar/scheduler/interfaces/scheduler.slots.interface.mjs +0 -2
  53. package/esm2022/lib/components/calendar/scheduler/mock-schedule.mjs +0 -80
  54. package/esm2022/lib/components/calendar/scheduler/scheduler.component.mjs +0 -144
  55. package/esm2022/lib/components/calendar/services/calendar-utils.service.mjs +0 -211
  56. package/esm2022/lib/components/chat/chat.component.mjs +0 -308
  57. package/esm2022/lib/components/chat/chat.component.module.mjs +0 -85
  58. package/esm2022/lib/components/chat/chat.service.mjs +0 -63
  59. package/esm2022/lib/components/chat/enums/sender-types.enum.mjs +0 -6
  60. package/esm2022/lib/components/chat/gif-selector/gif-selector.component.mjs +0 -77
  61. package/esm2022/lib/components/chat/gif-selector/gif-selector.service.mjs +0 -41
  62. package/esm2022/lib/components/chat/gif-selector/tenor-media-format.interface.mjs +0 -2
  63. package/esm2022/lib/components/chat/gif-selector/tenor-object.interface.mjs +0 -2
  64. package/esm2022/lib/components/chat/gif-selector/tenor-result.interface.mjs +0 -2
  65. package/esm2022/lib/components/chat/interfaces/date-messages.interface.mjs +0 -2
  66. package/esm2022/lib/components/chat/interfaces/message-attachment.interface.mjs +0 -2
  67. package/esm2022/lib/components/chat/interfaces/message.interface.mjs +0 -2
  68. package/esm2022/lib/components/chat/interfaces/send-options-message.interface.mjs +0 -2
  69. package/esm2022/lib/components/chat/interfaces/type-send-message.enum.mjs +0 -7
  70. package/esm2022/lib/components/chat-suggestion/chat-suggestion.component.mjs +0 -21
  71. package/esm2022/lib/components/chat-suggestion/interfaces/chat-suggestion.interface.mjs +0 -2
  72. package/esm2022/lib/components/circle-progress/circle-progress.component.mjs +0 -143
  73. package/esm2022/lib/components/circle-progress/circle-progress.module.mjs +0 -18
  74. package/esm2022/lib/components/circle-progress/enums/circle-variable.enum.mjs +0 -6
  75. package/esm2022/lib/components/circle-progress/interfaces/circle-progress-config.interface.mjs +0 -2
  76. package/esm2022/lib/components/client-home/client-home.component.mjs +0 -123
  77. package/esm2022/lib/components/client-home/enums/client-home-component.enum.mjs +0 -9
  78. package/esm2022/lib/components/client-home/interfaces/chat-meta.interface.mjs +0 -2
  79. package/esm2022/lib/components/client-home/interfaces/home-dashboard-inputs.interface.mjs +0 -2
  80. package/esm2022/lib/components/client-home/interfaces/inner-partial-circle-progress-colors.interface.mjs +0 -2
  81. package/esm2022/lib/components/client-home/interfaces/partial-circle-progress-colors.interface.mjs +0 -2
  82. package/esm2022/lib/components/client-home/lookup/client-home.config.mjs +0 -30
  83. package/esm2022/lib/components/client-home/lookup/inner-progress-default-colors.config.mjs +0 -6
  84. package/esm2022/lib/components/client-home/lookup/inner-progress-pink-colors.config.mjs +0 -6
  85. package/esm2022/lib/components/client-home/lookup/inner-progress-purple-colors.config.mjs +0 -6
  86. package/esm2022/lib/components/client-home/lookup/inner-progress-teal-colors.config.mjs +0 -6
  87. package/esm2022/lib/components/client-home/lookup/inner-progress-white-colors.config.mjs +0 -10
  88. package/esm2022/lib/components/client-home/lookup/progress-default-colors.config.mjs +0 -10
  89. package/esm2022/lib/components/client-home/lookup/progress-white-colors.config.mjs +0 -10
  90. package/esm2022/lib/components/client-home/pipes/chat-meta.pipe.mjs +0 -60
  91. package/esm2022/lib/components/client-home/pipes/get-color-by-matcher.pipe.mjs +0 -33
  92. package/esm2022/lib/components/client-match-overview/client-match-overview.component.mjs +0 -300
  93. package/esm2022/lib/components/client-match-overview/enums/conversation-flag.enum.mjs +0 -6
  94. package/esm2022/lib/components/client-match-overview/enums/counter-flag-base.enum.mjs +0 -6
  95. package/esm2022/lib/components/client-match-overview/enums/inner-circle-state.enum.mjs +0 -8
  96. package/esm2022/lib/components/client-match-overview/interfaces/client-match-overview.interface.mjs +0 -2
  97. package/esm2022/lib/components/client-match-overview/interfaces/conversation-flag.interface.mjs +0 -2
  98. package/esm2022/lib/components/client-match-overview/interfaces/dashboard-match-request.interface.mjs +0 -2
  99. package/esm2022/lib/components/client-match-overview/interfaces/progress-decision.interface.mjs +0 -2
  100. package/esm2022/lib/components/client-match-overview/interfaces/progress-facts.interface.mjs +0 -2
  101. package/esm2022/lib/components/client-match-overview/lookups/computer-inner-state.lookup.mjs +0 -81
  102. package/esm2022/lib/components/client-match-overview/lookups/limit-dates-indicator.lookup.mjs +0 -8
  103. package/esm2022/lib/components/client-match-overview/progress-ticker/progress-gap.config.mjs +0 -4
  104. package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.config.mjs +0 -3
  105. package/esm2022/lib/components/client-match-overview/progress-ticker/progress-ticker.service.mjs +0 -43
  106. package/esm2022/lib/components/dashboard-swipeable-tabs/dashboard-swipeable-tabs.component.mjs +0 -113
  107. package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-main-swiper-options.mjs +0 -11
  108. package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/dashboard-thumbs-swiper-options.mjs +0 -27
  109. package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/main-swiper-default-options.mjs +0 -19
  110. package/esm2022/lib/components/dashboard-swipeable-tabs/lookups/thumbs-swiper-default-options.mjs +0 -21
  111. package/esm2022/lib/components/lib-client-dashboard/client-dashboard.component.mjs +0 -173
  112. package/esm2022/lib/components/lib-client-dashboard/enums/alert-status-fields.enum.mjs +0 -11
  113. package/esm2022/lib/components/lib-client-dashboard/enums/client-dashboard-component.enum.mjs +0 -7
  114. package/esm2022/lib/components/lib-client-dashboard/interfaces/ads.interface.mjs +0 -2
  115. package/esm2022/lib/components/lib-client-dashboard/interfaces/client-dashboard-inputs.interface.mjs +0 -2
  116. package/esm2022/lib/components/lib-client-dashboard/lookups/client-dashboard.config.mjs +0 -15
  117. package/esm2022/lib/components/lib-compose-matcher-dash/compose-matcher-dash.component.mjs +0 -146
  118. package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chart-data.interface.mjs +0 -2
  119. package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/chat-identifier.interface.mjs +0 -2
  120. package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-dashboard-inputs.interface.mjs +0 -2
  121. package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/matcher-profile.interface.mjs +0 -2
  122. package/esm2022/lib/components/lib-compose-matcher-dash/interfaces/prospect-data.interface.mjs +0 -2
  123. package/esm2022/lib/components/lib-compose-matcher-dash/pipes/get-profile-with-progress.pipe.mjs +0 -21
  124. package/esm2022/lib/components/matcher-statuses/enums/matcher-statuses.enum.mjs +0 -15
  125. package/esm2022/lib/components/matcher-statuses/interfaces/status.interface.mjs +0 -2
  126. package/esm2022/lib/components/matcher-statuses/lookups/matcher-statuses.lookup.mjs +0 -54
  127. package/esm2022/lib/components/matcher-statuses/matcher-statuses.component.mjs +0 -58
  128. package/esm2022/lib/components/matcher-statuses/pipes/is-status-included.pipe.mjs +0 -19
  129. package/esm2022/lib/components/profile-card/profile-card.component.mjs +0 -35
  130. package/esm2022/lib/components/profile-card/profile-card.module.mjs +0 -19
  131. package/esm2022/lib/components/spider-chart/interfaces/chart-data-circle.interface.mjs +0 -2
  132. package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-f.interface.mjs +0 -2
  133. package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-lg.interface.mjs +0 -2
  134. package/esm2022/lib/components/spider-chart/interfaces/chart-data-defs-rg.interface.mjs +0 -2
  135. package/esm2022/lib/components/spider-chart/interfaces/config.interface.mjs +0 -2
  136. package/esm2022/lib/components/spider-chart/interfaces/dataset.interface.mjs +0 -2
  137. package/esm2022/lib/components/spider-chart/interfaces/polygon-color.interface.mjs +0 -2
  138. package/esm2022/lib/components/spider-chart/interfaces/spider-chart-attribute.interface.mjs +0 -2
  139. package/esm2022/lib/components/spider-chart/lookup/default-spider-config.mjs +0 -67
  140. package/esm2022/lib/components/spider-chart/lookup/demo-polygon-colors.lookup.mjs +0 -11
  141. package/esm2022/lib/components/spider-chart/lookup/svg-config.lookup.mjs +0 -277
  142. package/esm2022/lib/components/spider-chart/spider-chart.component.mjs +0 -235
  143. package/esm2022/lib/enums/direction.enum.mjs +0 -6
  144. package/esm2022/lib/enums/form-field-type.mjs +0 -30
  145. package/esm2022/lib/enums/local-storage-keys.enum.mjs +0 -5
  146. package/esm2022/lib/enums/status-types.mjs +0 -8
  147. package/esm2022/lib/model/select-option-template.mjs +0 -2
  148. package/esm2022/lib/operations/operations.mjs +0 -19
  149. package/esm2022/lib/pipes/array-sort/array.sort.pipe.mjs +0 -49
  150. package/esm2022/lib/pipes/count-non-empty-fields/count-non-empty-fields.pipe.mjs +0 -17
  151. package/esm2022/lib/pipes/date-localization/date-localization.pipe.mjs +0 -31
  152. package/esm2022/lib/pipes/fallback-translate/fallback-translate.pipe.mjs +0 -28
  153. package/esm2022/lib/pipes/get-display-value/get-display-value.pipe.mjs +0 -59
  154. package/esm2022/lib/pipes/get-multi-select-display-text/get-multi-select-display-text.pipe.mjs +0 -22
  155. package/esm2022/lib/pipes/initials/initials.pipe.mjs +0 -25
  156. package/esm2022/lib/pipes/round/round.pipe.mjs +0 -17
  157. package/esm2022/lib/pipes/update-llm-preference/update-llm-preference.pipe.mjs +0 -25
  158. package/esm2022/lib/services/abstract-cache.service.mjs +0 -10
  159. package/esm2022/lib/shared/shared/alert-popup/alert-popup.component.mjs +0 -38
  160. package/esm2022/lib/shared/shared/message-modal/message-modal.component.mjs +0 -95
  161. package/esm2022/lib/shared/shared/status-icon/status-icon.component.mjs +0 -14
  162. package/esm2022/lib/shared/shared.module.mjs +0 -23
  163. package/esm2022/naniteninja-dashboard-components-lib.mjs +0 -5
  164. package/esm2022/public-api.mjs +0 -123
  165. package/lib/components/auto-delegation/animations.d.ts +0 -1
  166. package/lib/components/auto-delegation/auto-delegation-modal.component.d.ts +0 -29
  167. package/lib/components/auto-delegation/enums/auto-delegation.event-type.enum.d.ts +0 -4
  168. package/lib/components/auto-delegation/enums/auto-delegation.event-value.enum.d.ts +0 -5
  169. package/lib/components/auto-delegation/interface/auto-delegation-data.interface.d.ts +0 -31
  170. package/lib/components/auto-delegation/interface/auto-delegation.event.interface.d.ts +0 -6
  171. package/lib/components/auto-delegation/interface/auto-delegation.modal-data.interface.d.ts +0 -8
  172. package/lib/components/auto-delegation/interface/preferences.interface.d.ts +0 -17
  173. package/lib/components/calendar/agenda/agenda-day-card/agenda-day-card.component.d.ts +0 -12
  174. package/lib/components/calendar/agenda/agenda.component.d.ts +0 -27
  175. package/lib/components/calendar/agenda/agenda.module.d.ts +0 -12
  176. package/lib/components/calendar/agenda/enums/agenda-item-type.enum.d.ts +0 -4
  177. package/lib/components/calendar/agenda/interfaces/agenda.day.interface.d.ts +0 -7
  178. package/lib/components/calendar/agenda/interfaces/agenda.event.inetrface.d.ts +0 -9
  179. package/lib/components/calendar/agenda/types/agenda-item.type.d.ts +0 -7
  180. package/lib/components/calendar/components/edit-recurring-event/edit-recurring-event.component.d.ts +0 -19
  181. package/lib/components/calendar/components/event-form/event-form.component.d.ts +0 -67
  182. package/lib/components/calendar/components/event-form/event-form.module.d.ts +0 -20
  183. package/lib/components/calendar/components/event-info/event-info.component.d.ts +0 -24
  184. package/lib/components/calendar/enums/calendar.account.enum.d.ts +0 -4
  185. package/lib/components/calendar/enums/calendar.account.icons.enum.d.ts +0 -4
  186. package/lib/components/calendar/enums/event-type.enum.d.ts +0 -8
  187. package/lib/components/calendar/enums/recurring.edit.options.enum.d.ts +0 -5
  188. package/lib/components/calendar/enums/recurring.type.enum.d.ts +0 -6
  189. package/lib/components/calendar/interfaces/calendar.account.interface.d.ts +0 -14
  190. package/lib/components/calendar/interfaces/calendar.account.theme.interface.d.ts +0 -5
  191. package/lib/components/calendar/interfaces/event.form.interface.d.ts +0 -22
  192. package/lib/components/calendar/interfaces/event.form.output.interface.d.ts +0 -10
  193. package/lib/components/calendar/interfaces/event.interface.d.ts +0 -33
  194. package/lib/components/calendar/interfaces/event.time.interface.d.ts +0 -4
  195. package/lib/components/calendar/interfaces/recurring.event.interface.d.ts +0 -16
  196. package/lib/components/calendar/interfaces/recurring.exception.interface.d.ts +0 -14
  197. package/lib/components/calendar/interfaces/recurring.pattern.interface.d.ts +0 -16
  198. package/lib/components/calendar/lookups/recurring.options.lookup.d.ts +0 -2
  199. package/lib/components/calendar/scheduler/enums/schedule-date-status.enum.d.ts +0 -5
  200. package/lib/components/calendar/scheduler/interfaces/scheduler.action.interface.d.ts +0 -10
  201. package/lib/components/calendar/scheduler/interfaces/scheduler.event.day.interface.d.ts +0 -5
  202. package/lib/components/calendar/scheduler/interfaces/scheduler.event.interface.d.ts +0 -26
  203. package/lib/components/calendar/scheduler/interfaces/scheduler.event.suggestion.interface.d.ts +0 -13
  204. package/lib/components/calendar/scheduler/interfaces/scheduler.slots.interface.d.ts +0 -6
  205. package/lib/components/calendar/scheduler/mock-schedule.d.ts +0 -9
  206. package/lib/components/calendar/scheduler/scheduler.component.d.ts +0 -36
  207. package/lib/components/calendar/services/calendar-utils.service.d.ts +0 -39
  208. package/lib/components/chat/chat.component.d.ts +0 -70
  209. package/lib/components/chat/chat.component.module.d.ts +0 -22
  210. package/lib/components/chat/chat.service.d.ts +0 -15
  211. package/lib/components/chat/enums/sender-types.enum.d.ts +0 -4
  212. package/lib/components/chat/gif-selector/gif-selector.component.d.ts +0 -25
  213. package/lib/components/chat/gif-selector/gif-selector.service.d.ts +0 -15
  214. package/lib/components/chat/gif-selector/tenor-media-format.interface.d.ts +0 -7
  215. package/lib/components/chat/gif-selector/tenor-object.interface.d.ts +0 -5
  216. package/lib/components/chat/gif-selector/tenor-result.interface.d.ts +0 -16
  217. package/lib/components/chat/interfaces/date-messages.interface.d.ts +0 -6
  218. package/lib/components/chat/interfaces/message-attachment.interface.d.ts +0 -6
  219. package/lib/components/chat/interfaces/message.interface.d.ts +0 -11
  220. package/lib/components/chat/interfaces/send-options-message.interface.d.ts +0 -5
  221. package/lib/components/chat/interfaces/type-send-message.enum.d.ts +0 -5
  222. package/lib/components/chat-suggestion/chat-suggestion.component.d.ts +0 -9
  223. package/lib/components/chat-suggestion/interfaces/chat-suggestion.interface.d.ts +0 -4
  224. package/lib/components/circle-progress/circle-progress.component.d.ts +0 -31
  225. package/lib/components/circle-progress/circle-progress.module.d.ts +0 -8
  226. package/lib/components/circle-progress/enums/circle-variable.enum.d.ts +0 -4
  227. package/lib/components/circle-progress/interfaces/circle-progress-config.interface.d.ts +0 -29
  228. package/lib/components/client-home/client-home.component.d.ts +0 -44
  229. package/lib/components/client-home/enums/client-home-component.enum.d.ts +0 -7
  230. package/lib/components/client-home/interfaces/chat-meta.interface.d.ts +0 -7
  231. package/lib/components/client-home/interfaces/home-dashboard-inputs.interface.d.ts +0 -45
  232. package/lib/components/client-home/interfaces/inner-partial-circle-progress-colors.interface.d.ts +0 -5
  233. package/lib/components/client-home/interfaces/partial-circle-progress-colors.interface.d.ts +0 -9
  234. package/lib/components/client-home/lookup/client-home.config.d.ts +0 -2
  235. package/lib/components/client-home/lookup/inner-progress-default-colors.config.d.ts +0 -2
  236. package/lib/components/client-home/lookup/inner-progress-pink-colors.config.d.ts +0 -2
  237. package/lib/components/client-home/lookup/inner-progress-purple-colors.config.d.ts +0 -2
  238. package/lib/components/client-home/lookup/inner-progress-teal-colors.config.d.ts +0 -2
  239. package/lib/components/client-home/lookup/inner-progress-white-colors.config.d.ts +0 -2
  240. package/lib/components/client-home/lookup/progress-default-colors.config.d.ts +0 -2
  241. package/lib/components/client-home/lookup/progress-white-colors.config.d.ts +0 -2
  242. package/lib/components/client-home/pipes/chat-meta.pipe.d.ts +0 -10
  243. package/lib/components/client-home/pipes/get-color-by-matcher.pipe.d.ts +0 -10
  244. package/lib/components/client-match-overview/client-match-overview.component.d.ts +0 -55
  245. package/lib/components/client-match-overview/enums/conversation-flag.enum.d.ts +0 -4
  246. package/lib/components/client-match-overview/enums/counter-flag-base.enum.d.ts +0 -4
  247. package/lib/components/client-match-overview/enums/inner-circle-state.enum.d.ts +0 -6
  248. package/lib/components/client-match-overview/interfaces/client-match-overview.interface.d.ts +0 -19
  249. package/lib/components/client-match-overview/interfaces/conversation-flag.interface.d.ts +0 -8
  250. package/lib/components/client-match-overview/interfaces/dashboard-match-request.interface.d.ts +0 -7
  251. package/lib/components/client-match-overview/interfaces/progress-decision.interface.d.ts +0 -10
  252. package/lib/components/client-match-overview/interfaces/progress-facts.interface.d.ts +0 -11
  253. package/lib/components/client-match-overview/lookups/computer-inner-state.lookup.d.ts +0 -7
  254. package/lib/components/client-match-overview/lookups/limit-dates-indicator.lookup.d.ts +0 -5
  255. package/lib/components/client-match-overview/progress-ticker/progress-gap.config.d.ts +0 -2
  256. package/lib/components/client-match-overview/progress-ticker/progress-ticker.config.d.ts +0 -2
  257. package/lib/components/client-match-overview/progress-ticker/progress-ticker.service.d.ts +0 -11
  258. package/lib/components/dashboard-swipeable-tabs/dashboard-swipeable-tabs.component.d.ts +0 -29
  259. package/lib/components/dashboard-swipeable-tabs/lookups/dashboard-main-swiper-options.d.ts +0 -2
  260. package/lib/components/dashboard-swipeable-tabs/lookups/dashboard-thumbs-swiper-options.d.ts +0 -2
  261. package/lib/components/dashboard-swipeable-tabs/lookups/main-swiper-default-options.d.ts +0 -2
  262. package/lib/components/dashboard-swipeable-tabs/lookups/thumbs-swiper-default-options.d.ts +0 -2
  263. package/lib/components/lib-client-dashboard/client-dashboard.component.d.ts +0 -75
  264. package/lib/components/lib-client-dashboard/enums/alert-status-fields.enum.d.ts +0 -9
  265. package/lib/components/lib-client-dashboard/enums/client-dashboard-component.enum.d.ts +0 -5
  266. package/lib/components/lib-client-dashboard/interfaces/ads.interface.d.ts +0 -14
  267. package/lib/components/lib-client-dashboard/interfaces/client-dashboard-inputs.interface.d.ts +0 -29
  268. package/lib/components/lib-client-dashboard/lookups/client-dashboard.config.d.ts +0 -2
  269. package/lib/components/lib-compose-matcher-dash/compose-matcher-dash.component.d.ts +0 -48
  270. package/lib/components/lib-compose-matcher-dash/interfaces/chart-data.interface.d.ts +0 -5
  271. package/lib/components/lib-compose-matcher-dash/interfaces/chat-identifier.interface.d.ts +0 -5
  272. package/lib/components/lib-compose-matcher-dash/interfaces/matcher-dashboard-inputs.interface.d.ts +0 -26
  273. package/lib/components/lib-compose-matcher-dash/interfaces/matcher-profile.interface.d.ts +0 -8
  274. package/lib/components/lib-compose-matcher-dash/interfaces/prospect-data.interface.d.ts +0 -24
  275. package/lib/components/lib-compose-matcher-dash/pipes/get-profile-with-progress.pipe.d.ts +0 -9
  276. package/lib/components/matcher-statuses/enums/matcher-statuses.enum.d.ts +0 -13
  277. package/lib/components/matcher-statuses/interfaces/status.interface.d.ts +0 -6
  278. package/lib/components/matcher-statuses/lookups/matcher-statuses.lookup.d.ts +0 -2
  279. package/lib/components/matcher-statuses/matcher-statuses.component.d.ts +0 -23
  280. package/lib/components/matcher-statuses/pipes/is-status-included.pipe.d.ts +0 -8
  281. package/lib/components/profile-card/profile-card.component.d.ts +0 -11
  282. package/lib/components/profile-card/profile-card.module.d.ts +0 -9
  283. package/lib/components/spider-chart/interfaces/chart-data-circle.interface.d.ts +0 -10
  284. package/lib/components/spider-chart/interfaces/chart-data-defs-f.interface.d.ts +0 -11
  285. package/lib/components/spider-chart/interfaces/chart-data-defs-lg.interface.d.ts +0 -11
  286. package/lib/components/spider-chart/interfaces/chart-data-defs-rg.interface.d.ts +0 -10
  287. package/lib/components/spider-chart/interfaces/config.interface.d.ts +0 -19
  288. package/lib/components/spider-chart/interfaces/dataset.interface.d.ts +0 -7
  289. package/lib/components/spider-chart/interfaces/polygon-color.interface.d.ts +0 -4
  290. package/lib/components/spider-chart/interfaces/spider-chart-attribute.interface.d.ts +0 -6
  291. package/lib/components/spider-chart/lookup/default-spider-config.d.ts +0 -2
  292. package/lib/components/spider-chart/lookup/demo-polygon-colors.lookup.d.ts +0 -2
  293. package/lib/components/spider-chart/lookup/svg-config.lookup.d.ts +0 -8
  294. package/lib/components/spider-chart/spider-chart.component.d.ts +0 -52
  295. package/lib/enums/direction.enum.d.ts +0 -4
  296. package/lib/enums/form-field-type.d.ts +0 -28
  297. package/lib/enums/local-storage-keys.enum.d.ts +0 -3
  298. package/lib/enums/status-types.d.ts +0 -6
  299. package/lib/model/select-option-template.d.ts +0 -5
  300. package/lib/operations/operations.d.ts +0 -19
  301. package/lib/pipes/array-sort/array.sort.pipe.d.ts +0 -7
  302. package/lib/pipes/count-non-empty-fields/count-non-empty-fields.pipe.d.ts +0 -7
  303. package/lib/pipes/date-localization/date-localization.pipe.d.ts +0 -8
  304. package/lib/pipes/fallback-translate/fallback-translate.pipe.d.ts +0 -11
  305. package/lib/pipes/get-display-value/get-display-value.pipe.d.ts +0 -13
  306. package/lib/pipes/get-multi-select-display-text/get-multi-select-display-text.pipe.d.ts +0 -8
  307. package/lib/pipes/initials/initials.pipe.d.ts +0 -7
  308. package/lib/pipes/round/round.pipe.d.ts +0 -7
  309. package/lib/pipes/update-llm-preference/update-llm-preference.pipe.d.ts +0 -8
  310. package/lib/services/abstract-cache.service.d.ts +0 -9
  311. package/lib/shared/shared/alert-popup/alert-popup.component.d.ts +0 -14
  312. package/lib/shared/shared/message-modal/message-modal.component.d.ts +0 -29
  313. package/lib/shared/shared/status-icon/status-icon.component.d.ts +0 -7
  314. package/lib/shared/shared.module.d.ts +0 -13
  315. package/public-api.d.ts +0 -122
@@ -1,235 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, inject, Input, ViewChild } from '@angular/core';
2
- import * as d3 from 'd3';
3
- import { SharedModule } from '../../shared/shared.module';
4
- import { InitialsPipe } from '../../pipes/initials/initials.pipe';
5
- import { AlertStatusFields } from '../lib-client-dashboard/enums/alert-status-fields.enum';
6
- import { circleData, defsF, defsLG, defsRG } from './lookup/svg-config.lookup';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../shared/shared/alert-popup/alert-popup.component";
9
- export class SpiderChartComponent {
10
- constructor(cdr) {
11
- this.cdr = cdr;
12
- this.datasets = [];
13
- this.polygon_colors = [];
14
- this.showChartInfo = true;
15
- this.alertStatusFields = AlertStatusFields;
16
- this.titleAlertPopup = '';
17
- this.descriptionAlertPopup = '';
18
- this.isAlertPopupClosing = false;
19
- this.timeStateAlertPopup = 0;
20
- this.defsRG = [];
21
- this.defsF = [];
22
- this.defsLG = [];
23
- this.circleData = [];
24
- this.initialsPipe = inject(InitialsPipe);
25
- }
26
- ngOnChanges(changes) {
27
- if ((changes['datasets'] || changes['config']) && this.svg) {
28
- if (this.datasets.length && this.config) {
29
- this.createRadarChart();
30
- }
31
- else if (changes['config']?.currentValue?.['fullScreen'] !== changes['config']?.previousValue?.['fullScreen']) {
32
- this.createRadarChart();
33
- }
34
- }
35
- }
36
- ngAfterViewInit() {
37
- this.defsRG = defsRG;
38
- this.defsF = defsF;
39
- this.defsLG = defsLG;
40
- this.circleData = circleData;
41
- this.initializeChart();
42
- }
43
- ngOnDestroy() {
44
- if (this.svg) {
45
- this.svg.remove();
46
- this.svg = null;
47
- }
48
- }
49
- onClosedAlert(data) {
50
- console.log(data);
51
- }
52
- initializeChart() {
53
- this.svg = this.createSvgObject();
54
- const defsGroup = this.svg.append('g');
55
- this.defsLG.forEach((defData) => {
56
- this.createDefsAndLinearGradient(defsGroup, defData);
57
- });
58
- this.defsF.forEach((defData) => {
59
- this.createDefsAndFilter(defsGroup, defData);
60
- });
61
- this.defsRG.forEach((defData) => {
62
- this.createDefsAndRadialGradient(defsGroup, defData);
63
- });
64
- const circleGroup = this.svg.append('g');
65
- this.createCircle(circleGroup, this.circleData);
66
- if (!this.config)
67
- return;
68
- this.createRadarChart();
69
- }
70
- createSvgObject() {
71
- return d3.select(this.d3Chart?.nativeElement).append('svg').attr('class', 'svg').attr('height', 300).attr('width', 300);
72
- }
73
- createLine(group, data, MaxValue, angleSlice, rScale) {
74
- group.selectAll('line').remove();
75
- return group
76
- .selectAll('line')
77
- .data(data)
78
- .enter()
79
- .append('g')
80
- .append('line')
81
- .attr('class', 'line')
82
- .attr('class', 'line-group')
83
- .attr('x1', 0)
84
- .attr('y1', 0)
85
- .attr('x2', (_d, i) => rScale(MaxValue * 1.4) * Math.cos(angleSlice * i + 0.01 - Math.PI / 2))
86
- .attr('y2', (_d, i) => rScale(MaxValue * 1.4) * Math.sin(angleSlice * i + 0.01 - Math.PI / 2))
87
- .attr('stroke', 'url(#needleRadiant)')
88
- .attr('transform', 'translate(150,150)');
89
- }
90
- createCircle(group, data) {
91
- data?.forEach((datum) => {
92
- const g = group.append('circle');
93
- Object.keys(datum).forEach((key) => {
94
- g.attr(key, datum[key]);
95
- });
96
- });
97
- return group;
98
- }
99
- createText(group, data, rScale, MaxValue, angleSlice) {
100
- const toolTip = d3.select('#tooltip');
101
- group.selectAll('text').remove();
102
- const isFullScreenActive = this.config.fullScreen;
103
- // TODO left based on position of modal
104
- const left = isFullScreenActive ? 0 : 0;
105
- const top = isFullScreenActive ? -80 : -220;
106
- return group
107
- .selectAll('text')
108
- .data(data)
109
- .enter()
110
- .append('text')
111
- .text((d) => this.initialsPipe.transform(d.text))
112
- .attr('x', (_d, i) => {
113
- const x2 = rScale(MaxValue * 1.2) * Math.cos(angleSlice * i + 0.1 - Math.PI / 2);
114
- return x2;
115
- })
116
- .attr('y', (_d, i) => {
117
- const y2 = rScale(MaxValue * 1.2) * Math.sin(angleSlice * i + 0.1 - Math.PI / 2);
118
- return y2;
119
- })
120
- .attr('dy', '0.35em')
121
- .attr('transform', 'translate(150,150)')
122
- .style('fill', '#FE3C72')
123
- .style('text-shadow', '1px 2px 1px #000')
124
- .attr('class', 'line-label')
125
- .on('pointerdown', (event, d) => {
126
- const { titleAlertPopup, descriptionAlertPopup } = d;
127
- this.titleAlertPopup = titleAlertPopup;
128
- this.descriptionAlertPopup = descriptionAlertPopup;
129
- this.isAlertPopupClosing = false;
130
- this.timeStateAlertPopup = new Date().getTime();
131
- this.numberAlertPopup = Math.floor(Math.random() * 10);
132
- this.cdr.detectChanges();
133
- toolTip
134
- .style('display', 'block')
135
- .style('left', event.pageX + left + 'px')
136
- .style('top', event.pageY + top < 0 ? 0 : event.pageY + top + 'px');
137
- })
138
- .on('pointerup', (event, d) => { });
139
- }
140
- createPolygons(group, datasets, rScale, angleSlice) {
141
- group.selectAll('polygon').remove();
142
- group.selectAll('.radarCircle').remove();
143
- const polygonPoints = (data) => {
144
- const points = data?.keys?.map((key, i) => {
145
- const r = rScale(data?.values[key] ?? 1 * 1);
146
- const x = r * Math.cos(angleSlice * i + 0.01 - Math.PI / 2);
147
- const y = r * Math.sin(angleSlice * i + 0.01 - Math.PI / 2);
148
- return `${x},${y}`;
149
- });
150
- return points.join(' ');
151
- };
152
- group
153
- .selectAll('polygon')
154
- .data(datasets)
155
- .enter()
156
- .append('polygon')
157
- .attr('points', (d) => polygonPoints(d ?? {}))
158
- .attr('stroke', (_, i) => _.polygon_color?.value)
159
- .attr('transform', 'translate(150,150)')
160
- .attr('fill', (_, i) => `url(${this.polygon_colors?.[i]?.label})`);
161
- datasets.forEach((data, j) => {
162
- const allValuesAreZero = data.keys.every((key) => data.values[key] === 0);
163
- if (!allValuesAreZero) {
164
- group
165
- .append('g')
166
- .selectAll('circle')
167
- .data(data.keys)
168
- .enter()
169
- .append('circle')
170
- .attr('class', 'radarCircle')
171
- .attr('r', 3)
172
- .attr('cx', (key, i) => rScale(data.values[key] ?? 0) * Math.cos(angleSlice * i - Math.PI / 2))
173
- .attr('cy', (key, i) => rScale(data.values[key] ?? 0) * Math.sin(angleSlice * i - Math.PI / 2))
174
- .style('fill', 'white')
175
- .style('stroke', () => this.polygon_colors?.[j]?.value) // Using stroke colors from the strokeColors array
176
- .attr('transform', 'translate(150,150)')
177
- .attr('filter', 'blur(1px)')
178
- .style('stroke-width', 2)
179
- .style('fill-opacity', 0.8);
180
- }
181
- });
182
- }
183
- createDefsAndLinearGradient(group, data) {
184
- const defs = group.append('defs').append('linearGradient').attr('id', data.id).attr('x1', data.x1).attr('y1', data.y1).attr('x2', data.x2).attr('y2', data.y2);
185
- data.stopTags.forEach((elem) => {
186
- defs.append('stop').attr('offset', elem.offset).attr('style', elem.style);
187
- });
188
- }
189
- createDefsAndFilter(group, data) {
190
- const defs = group.append('defs').append('filter').attr('id', data.id).attr('x', data.x).attr('y', data.y).attr('height', data.height).attr('width', data.width);
191
- data.feGaussianTags.forEach((elem) => {
192
- defs.append('feGaussianBlur').attr('in', elem.in).attr('stdDeviation', elem.stdDeviation);
193
- });
194
- }
195
- createDefsAndRadialGradient(group, data) {
196
- const defs = group.append('defs').append('radialGradient').attr('id', data.id).attr('cx', data.cy).attr('cy', data.cx).attr('r', data.r);
197
- data.stopTags.forEach((elem) => {
198
- defs.append('stop').attr('offset', elem.offset).attr('style', elem.style);
199
- });
200
- }
201
- createRadarChart() {
202
- const { maxValue, datasets, attributes } = this.config;
203
- const allAxis = [...new Set(attributes)].map((i) => i);
204
- const total = allAxis.length;
205
- const angleSlice = (Math.PI * 2) / total;
206
- let MaxValue = datasets.length > 0
207
- ? Math.max(...datasets.reduce((a, i) => {
208
- return [...a, ...Object.values(i.values)];
209
- }, []))
210
- : maxValue;
211
- MaxValue = MaxValue > 0 ? MaxValue : 25;
212
- const rScale = d3.scaleLinear().range([0, 100]).domain([0, MaxValue]);
213
- this.createLine(this.svg, allAxis, MaxValue, angleSlice, rScale);
214
- this.createText(this.svg, allAxis, rScale, MaxValue, angleSlice);
215
- this.createPolygons(this.svg, datasets, rScale, angleSlice);
216
- }
217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpiderChartComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
218
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SpiderChartComponent, isStandalone: true, selector: "lib-spider-chart", inputs: { datasets: "datasets", config: "config", polygon_colors: "polygon_colors", showChartInfo: "showChartInfo" }, viewQueries: [{ propertyName: "d3Chart", first: true, predicate: ["D3Chart"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "component", type: i1.AlertPopupComponent, selector: "lib-alert-popup", inputs: ["title", "description", "timeState", "number"], outputs: ["closed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
219
- }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SpiderChartComponent, decorators: [{
221
- type: Component,
222
- args: [{ selector: 'lib-spider-chart', standalone: true, imports: [SharedModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"tooltip\">\n <lib-alert-popup [title]=\"titleAlertPopup\" [description]=\"descriptionAlertPopup\" [timeState]=\"timeStateAlertPopup\" [number]=\"numberAlertPopup\"></lib-alert-popup>\n</div>\n\n<div class=\"container\">\n <div class=\"d3-container\">\n <div class=\"d3-chart\" #D3Chart></div>\n @if (showChartInfo) {\n <div class=\"chartInfo\">\n @if (datasets.length > 0) {\n <div class=\"datachart\">\n @for (dataset of datasets; let j = $index; track dataset) {\n <div class=\"legend-item\">\n <div [style.border]=\"'5px solid ' + polygon_colors?.[j]?.value\" [style.boxShadow]=\"'0px 0px 12px ' + polygon_colors?.[j]?.value\" class=\"legend-color\"></div>\n {{ dataset.title }}\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n</div>\n", styles: [".align-chart{display:flex;justify-content:center;align-items:center}.d3-container{width:100%;position:relative;min-height:300px;display:flex;align-items:center;transition:all .5s ease}.d3-chart{width:100%;height:clamp(300px,30vh,400px);display:flex;justify-content:center;align-items:center;transition:all .5s ease}.chartInfo{margin-top:20px}.datachart{display:flex;flex-wrap:wrap;gap:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px}.legend-color{width:15px;height:15px;border-radius:50%;background-color:#fff}#tooltip{position:absolute;display:none;z-index:1000}\n"] }]
223
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { d3Chart: [{
224
- type: ViewChild,
225
- args: ['D3Chart']
226
- }], datasets: [{
227
- type: Input
228
- }], config: [{
229
- type: Input
230
- }], polygon_colors: [{
231
- type: Input
232
- }], showChartInfo: [{
233
- type: Input
234
- }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc3BpZGVyLWNoYXJ0L3NwaWRlci1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQXVDLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoTCxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBUzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBVS9FLE1BQU0sT0FBTyxvQkFBb0I7SUFxQi9CLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBbkJqQyxhQUFRLEdBQWUsRUFBRSxDQUFDO1FBRTFCLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUVoQyxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUN0QyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQiwwQkFBcUIsR0FBRyxFQUFFLENBQUM7UUFDM0Isd0JBQW1C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QUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQzsrR0E1UFUsb0JBQW9CO21HQUFwQixvQkFBb0IsMlRDdkJqQyxtM0JBdUJBLG1wQkRIWSxZQUFZOzs0RkFHWCxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFDTix1QkFBdUIsQ0FBQyxNQUFNO3NGQUd6QixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1gsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IEluaXRpYWxzUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2luaXRpYWxzL2luaXRpYWxzLnBpcGUnO1xuaW1wb3J0IHsgQWxlcnRTdGF0dXNGaWVsZHMgfSBmcm9tICcuLi9saWItY2xpZW50LWRhc2hib2FyZC9lbnVtcy9hbGVydC1zdGF0dXMtZmllbGRzLmVudW0nO1xuaW1wb3J0IHsgSUNpcmNsZURhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhcnQtZGF0YS1jaXJjbGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEZWZzRiB9IGZyb20gJy4vaW50ZXJmYWNlcy9jaGFydC1kYXRhLWRlZnMtZi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSURlZnNMRyB9IGZyb20gJy4vaW50ZXJmYWNlcy9jaGFydC1kYXRhLWRlZnMtbGcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElEZWZzUkcgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhcnQtZGF0YS1kZWZzLXJnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJU3BpZGVyQ2hhcnRDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRGF0YXNldCB9IGZyb20gJy4vaW50ZXJmYWNlcy9kYXRhc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJUG9seWdvbkNvbG9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvbHlnb24tY29sb3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IElTcGlkZXJDaGFydEF0dHJpYnV0ZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9zcGlkZXItY2hhcnQtYXR0cmlidXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBjaXJjbGVEYXRhLCBkZWZzRiwgZGVmc0xHLCBkZWZzUkcgfSBmcm9tICcuL2xvb2t1cC9zdmctY29uZmlnLmxvb2t1cCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zcGlkZXItY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NwaWRlci1jaGFydC5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTaGFyZWRNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ0QzQ2hhcnQnKSBkM0NoYXJ0OiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBkYXRhc2V0czogSURhdGFzZXRbXSA9IFtdO1xuICBASW5wdXQoKSBjb25maWc6IElTcGlkZXJDaGFydENvbmZpZztcbiAgQElucHV0KCkgcG9seWdvbl9jb2xvcnM6IElQb2x5Z29uQ29sb3JbXSA9IFtdO1xuICBASW5wdXQoKSBzaG93Q2hhcnRJbmZvOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgYWxlcnRTdGF0dXNGaWVsZHMgPSBBbGVydFN0YXR1c0ZpZWxkcztcbiAgcHVibGljIHRpdGxlQWxlcnRQb3B1cCA9ICcnO1xuICBwdWJsaWMgZGVzY3JpcHRpb25BbGVydFBvcHVwID0gJyc7XG4gIHB1YmxpYyBpc0FsZXJ0UG9wdXBDbG9zaW5nID0gZmFsc2U7XG4gIHB1YmxpYyB0aW1lU3RhdGVBbGVydFBvcHVwID0gMDtcbiAgcHVibGljIG51bWJlckFsZXJ0UG9wdXA6IG51bWJlcjtcblxuICBwdWJsaWMgc3ZnOiBkMy5TZWxlY3Rpb248U1ZHU1ZHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+O1xuICBwdWJsaWMgZGVmc1JHOiBJRGVmc1JHW10gPSBbXTtcbiAgcHVibGljIGRlZnNGOiBJRGVmc0ZbXSA9IFtdO1xuICBwdWJsaWMgZGVmc0xHOiBJRGVmc0xHW10gPSBbXTtcbiAgcHVibGljIGNpcmNsZURhdGE6IElDaXJjbGVEYXRhW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGluaXRpYWxzUGlwZTogSW5pdGlhbHNQaXBlID0gaW5qZWN0KEluaXRpYWxzUGlwZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXNbJ2RhdGFzZXRzJ10gfHwgY2hhbmdlc1snY29uZmlnJ10pICYmIHRoaXMuc3ZnKSB7XG4gICAgICBpZiAodGhpcy5kYXRhc2V0cy5sZW5ndGggJiYgdGhpcy5jb25maWcpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVSYWRhckNoYXJ0KCk7XG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ2NvbmZpZyddPy5jdXJyZW50VmFsdWU/LlsnZnVsbFNjcmVlbiddICE9PSBjaGFuZ2VzWydjb25maWcnXT8ucHJldmlvdXNWYWx1ZT8uWydmdWxsU2NyZWVuJ10pIHtcbiAgICAgICAgdGhpcy5jcmVhdGVSYWRhckNoYXJ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGVmc1JHID0gZGVmc1JHO1xuICAgIHRoaXMuZGVmc0YgPSBkZWZzRjtcbiAgICB0aGlzLmRlZnNMRyA9IGRlZnNMRztcbiAgICB0aGlzLmNpcmNsZURhdGEgPSBjaXJjbGVEYXRhO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNoYXJ0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdmcpIHtcbiAgICAgIHRoaXMuc3ZnLnJlbW92ZSgpO1xuICAgICAgdGhpcy5zdmcgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlZEFsZXJ0KGRhdGE6IHsgZXZlbnQ6IGJvb2xlYW47IGZpZWxkOiBBbGVydFN0YXR1c0ZpZWxkcyB9KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDaGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLnN2ZyA9IHRoaXMuY3JlYXRlU3ZnT2JqZWN0KCk7XG4gICAgY29uc3QgZGVmc0dyb3VwID0gdGhpcy5zdmcuYXBwZW5kKCdnJyk7XG5cbiAgICB0aGlzLmRlZnNMRy5mb3JFYWNoKChkZWZEYXRhKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZURlZnNBbmRMaW5lYXJHcmFkaWVudChkZWZzR3JvdXAsIGRlZkRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kZWZzRi5mb3JFYWNoKChkZWZEYXRhKSA9PiB7XG4gICAgICB0aGlzLmNyZWF0ZURlZnNBbmRGaWx0ZXIoZGVmc0dyb3VwLCBkZWZEYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGVmc1JHLmZvckVhY2goKGRlZkRhdGEpID0+IHtcbiAgICAgIHRoaXMuY3JlYXRlRGVmc0FuZFJhZGlhbEdyYWRpZW50KGRlZnNHcm91cCwgZGVmRGF0YSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjaXJjbGVHcm91cCA9IHRoaXMuc3ZnLmFwcGVuZCgnZycpO1xuICAgIHRoaXMuY3JlYXRlQ2lyY2xlKGNpcmNsZUdyb3VwLCB0aGlzLmNpcmNsZURhdGEpO1xuICAgIGlmICghdGhpcy5jb25maWcpIHJldHVybjtcbiAgICB0aGlzLmNyZWF0ZVJhZGFyQ2hhcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU3ZnT2JqZWN0KCk6IGQzLlNlbGVjdGlvbjxTVkdTVkdFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4ge1xuICAgIHJldHVybiBkMy5zZWxlY3QodGhpcy5kM0NoYXJ0Py5uYXRpdmVFbGVtZW50KS5hcHBlbmQoJ3N2ZycpLmF0dHIoJ2NsYXNzJywgJ3N2ZycpLmF0dHIoJ2hlaWdodCcsIDMwMCkuYXR0cignd2lkdGgnLCAzMDApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5lKFxuICAgIGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPixcbiAgICBkYXRhOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGVbXSxcbiAgICBNYXhWYWx1ZTogbnVtYmVyLFxuICAgIGFuZ2xlU2xpY2U6IG51bWJlcixcbiAgICByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPixcbiAgKTogdm9pZCB7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCdsaW5lJykucmVtb3ZlKCk7XG4gICAgcmV0dXJuIGdyb3VwXG4gICAgICAuc2VsZWN0QWxsKCdsaW5lJylcbiAgICAgIC5kYXRhKGRhdGEpXG4gICAgICAuZW50ZXIoKVxuICAgICAgLmFwcGVuZCgnZycpXG4gICAgICAuYXBwZW5kKCdsaW5lJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdsaW5lJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdsaW5lLWdyb3VwJylcbiAgICAgIC5hdHRyKCd4MScsIDApXG4gICAgICAuYXR0cigneTEnLCAwKVxuICAgICAgLmF0dHIoJ3gyJywgKF9kLCBpKSA9PiByU2NhbGUoTWF4VmFsdWUgKiAxLjQpICogTWF0aC5jb3MoYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgLmF0dHIoJ3kyJywgKF9kLCBpKSA9PiByU2NhbGUoTWF4VmFsdWUgKiAxLjQpICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsICd1cmwoI25lZWRsZVJhZGlhbnQpJylcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKDE1MCwxNTApJyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNpcmNsZShncm91cDogZDMuU2VsZWN0aW9uPFNWR0dFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4sIGRhdGE6IElDaXJjbGVEYXRhW10pOiB2b2lkIHtcbiAgICBkYXRhPy5mb3JFYWNoKChkYXR1bSkgPT4ge1xuICAgICAgY29uc3QgZyA9IGdyb3VwLmFwcGVuZCgnY2lyY2xlJyk7XG4gICAgICBPYmplY3Qua2V5cyhkYXR1bSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGcuYXR0cihrZXksIGRhdHVtW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdyb3VwO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUZXh0KFxuICAgIGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPixcbiAgICBkYXRhOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGVbXSxcbiAgICByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPixcbiAgICBNYXhWYWx1ZTogbnVtYmVyLFxuICAgIGFuZ2xlU2xpY2U6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgdG9vbFRpcCA9IGQzLnNlbGVjdCgnI3Rvb2x0aXAnKTtcbiAgICBncm91cC5zZWxlY3RBbGwoJ3RleHQnKS5yZW1vdmUoKTtcblxuICAgIGNvbnN0IGlzRnVsbFNjcmVlbkFjdGl2ZTogYm9vbGVhbiA9IHRoaXMuY29uZmlnLmZ1bGxTY3JlZW47XG5cbiAgICAvLyBUT0RPIGxlZnQgYmFzZWQgb24gcG9zaXRpb24gb2YgbW9kYWxcbiAgICBjb25zdCBsZWZ0ID0gaXNGdWxsU2NyZWVuQWN0aXZlID8gMCA6IDA7XG4gICAgY29uc3QgdG9wID0gaXNGdWxsU2NyZWVuQWN0aXZlID8gLTgwIDogLTIyMDtcbiAgICByZXR1cm4gZ3JvdXBcbiAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgLmRhdGEoZGF0YSlcbiAgICAgIC5lbnRlcigpXG4gICAgICAuYXBwZW5kKCd0ZXh0JylcbiAgICAgIC50ZXh0KChkKSA9PiB0aGlzLmluaXRpYWxzUGlwZS50cmFuc2Zvcm0oZC50ZXh0KSlcbiAgICAgIC5hdHRyKCd4JywgKF9kLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IHgyID0gclNjYWxlKE1heFZhbHVlICogMS4yKSAqIE1hdGguY29zKGFuZ2xlU2xpY2UgKiBpICsgMC4xIC0gTWF0aC5QSSAvIDIpO1xuICAgICAgICByZXR1cm4geDI7XG4gICAgICB9KVxuICAgICAgLmF0dHIoJ3knLCAoX2QsIGkpID0+IHtcbiAgICAgICAgY29uc3QgeTIgPSByU2NhbGUoTWF4VmFsdWUgKiAxLjIpICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgKyAwLjEgLSBNYXRoLlBJIC8gMik7XG4gICAgICAgIHJldHVybiB5MjtcbiAgICAgIH0pXG4gICAgICAuYXR0cignZHknLCAnMC4zNWVtJylcbiAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKDE1MCwxNTApJylcbiAgICAgIC5zdHlsZSgnZmlsbCcsICcjRkUzQzcyJylcbiAgICAgIC5zdHlsZSgndGV4dC1zaGFkb3cnLCAnMXB4IDJweCAxcHggIzAwMCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnbGluZS1sYWJlbCcpXG4gICAgICAub24oJ3BvaW50ZXJkb3duJywgKGV2ZW50LCBkOiBJU3BpZGVyQ2hhcnRBdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgY29uc3QgeyB0aXRsZUFsZXJ0UG9wdXAsIGRlc2NyaXB0aW9uQWxlcnRQb3B1cCB9ID0gZDtcbiAgICAgICAgdGhpcy50aXRsZUFsZXJ0UG9wdXAgPSB0aXRsZUFsZXJ0UG9wdXA7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25BbGVydFBvcHVwID0gZGVzY3JpcHRpb25BbGVydFBvcHVwO1xuICAgICAgICB0aGlzLmlzQWxlcnRQb3B1cENsb3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW1lU3RhdGVBbGVydFBvcHVwID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHRoaXMubnVtYmVyQWxlcnRQb3B1cCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0b29sVGlwXG4gICAgICAgICAgLnN0eWxlKCdkaXNwbGF5JywgJ2Jsb2NrJylcbiAgICAgICAgICAuc3R5bGUoJ2xlZnQnLCBldmVudC5wYWdlWCArIGxlZnQgKyAncHgnKVxuICAgICAgICAgIC5zdHlsZSgndG9wJywgZXZlbnQucGFnZVkgKyB0b3AgPCAwID8gMCA6IGV2ZW50LnBhZ2VZICsgdG9wICsgJ3B4Jyk7XG4gICAgICB9KVxuICAgICAgLm9uKCdwb2ludGVydXAnLCAoZXZlbnQsIGQ6IElTcGlkZXJDaGFydEF0dHJpYnV0ZSkgPT4ge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQb2x5Z29ucyhncm91cDogZDMuU2VsZWN0aW9uPFNWR0dFbGVtZW50LCB1bmtub3duLCBIVE1MRWxlbWVudCwgdW5rbm93bj4sIGRhdGFzZXRzOiBJRGF0YXNldFtdLCByU2NhbGU6IGQzLlNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyPiwgYW5nbGVTbGljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCdwb2x5Z29uJykucmVtb3ZlKCk7XG4gICAgZ3JvdXAuc2VsZWN0QWxsKCcucmFkYXJDaXJjbGUnKS5yZW1vdmUoKTtcblxuICAgIGNvbnN0IHBvbHlnb25Qb2ludHMgPSAoZGF0YSkgPT4ge1xuICAgICAgY29uc3QgcG9pbnRzID0gZGF0YT8ua2V5cz8ubWFwKChrZXksIGkpID0+IHtcbiAgICAgICAgY29uc3QgciA9IHJTY2FsZShkYXRhPy52YWx1ZXNba2V5XSA/PyAxICogMSk7XG4gICAgICAgIGNvbnN0IHggPSByICogTWF0aC5jb3MoYW5nbGVTbGljZSAqIGkgKyAwLjAxIC0gTWF0aC5QSSAvIDIpO1xuICAgICAgICBjb25zdCB5ID0gciAqIE1hdGguc2luKGFuZ2xlU2xpY2UgKiBpICsgMC4wMSAtIE1hdGguUEkgLyAyKTtcbiAgICAgICAgcmV0dXJuIGAke3h9LCR7eX1gO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcG9pbnRzLmpvaW4oJyAnKTtcbiAgICB9O1xuICAgIGdyb3VwXG4gICAgICAuc2VsZWN0QWxsKCdwb2x5Z29uJylcbiAgICAgIC5kYXRhKGRhdGFzZXRzKVxuICAgICAgLmVudGVyKClcbiAgICAgIC5hcHBlbmQoJ3BvbHlnb24nKVxuICAgICAgLmF0dHIoJ3BvaW50cycsIChkKSA9PiBwb2x5Z29uUG9pbnRzKGQgPz8ge30pKVxuICAgICAgLmF0dHIoJ3N0cm9rZScsIChfLCBpKSA9PiBfLnBvbHlnb25fY29sb3I/LnZhbHVlKVxuICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoMTUwLDE1MCknKVxuXG4gICAgICAuYXR0cignZmlsbCcsIChfLCBpKSA9PiBgdXJsKCR7dGhpcy5wb2x5Z29uX2NvbG9ycz8uW2ldPy5sYWJlbH0pYCk7XG4gICAgZGF0YXNldHMuZm9yRWFjaCgoZGF0YSwgaikgPT4ge1xuICAgICAgY29uc3QgYWxsVmFsdWVzQXJlWmVybyA9IGRhdGEua2V5cy5ldmVyeSgoa2V5KSA9PiBkYXRhLnZhbHVlc1trZXldID09PSAwKTtcbiAgICAgIGlmICghYWxsVmFsdWVzQXJlWmVybykge1xuICAgICAgICBncm91cFxuICAgICAgICAgIC5hcHBlbmQoJ2cnKVxuICAgICAgICAgIC5zZWxlY3RBbGwoJ2NpcmNsZScpXG4gICAgICAgICAgLmRhdGEoZGF0YS5rZXlzKVxuICAgICAgICAgIC5lbnRlcigpXG4gICAgICAgICAgLmFwcGVuZCgnY2lyY2xlJylcbiAgICAgICAgICAuYXR0cignY2xhc3MnLCAncmFkYXJDaXJjbGUnKVxuICAgICAgICAgIC5hdHRyKCdyJywgMylcbiAgICAgICAgICAuYXR0cignY3gnLCAoa2V5LCBpKSA9PiByU2NhbGUoZGF0YS52YWx1ZXNba2V5XSA/PyAwKSAqIE1hdGguY29zKGFuZ2xlU2xpY2UgKiBpIC0gTWF0aC5QSSAvIDIpKVxuICAgICAgICAgIC5hdHRyKCdjeScsIChrZXksIGkpID0+IHJTY2FsZShkYXRhLnZhbHVlc1trZXldID8/IDApICogTWF0aC5zaW4oYW5nbGVTbGljZSAqIGkgLSBNYXRoLlBJIC8gMikpXG4gICAgICAgICAgLnN0eWxlKCdmaWxsJywgJ3doaXRlJylcbiAgICAgICAgICAuc3R5bGUoJ3N0cm9rZScsICgpID0+IHRoaXMucG9seWdvbl9jb2xvcnM/LltqXT8udmFsdWUpIC8vIFVzaW5nIHN0cm9rZSBjb2xvcnMgZnJvbSB0aGUgc3Ryb2tlQ29sb3JzIGFycmF5XG4gICAgICAgICAgLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoMTUwLDE1MCknKVxuICAgICAgICAgIC5hdHRyKCdmaWx0ZXInLCAnYmx1cigxcHgpJylcbiAgICAgICAgICAuc3R5bGUoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAgICAgLnN0eWxlKCdmaWxsLW9wYWNpdHknLCAwLjgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEZWZzQW5kTGluZWFyR3JhZGllbnQoZ3JvdXA6IGQzLlNlbGVjdGlvbjxTVkdHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+LCBkYXRhOiBJRGVmc0xHKTogdm9pZCB7XG4gICAgY29uc3QgZGVmcyA9IGdyb3VwLmFwcGVuZCgnZGVmcycpLmFwcGVuZCgnbGluZWFyR3JhZGllbnQnKS5hdHRyKCdpZCcsIGRhdGEuaWQpLmF0dHIoJ3gxJywgZGF0YS54MSkuYXR0cigneTEnLCBkYXRhLnkxKS5hdHRyKCd4MicsIGRhdGEueDIpLmF0dHIoJ3kyJywgZGF0YS55Mik7XG5cbiAgICBkYXRhLnN0b3BUYWdzLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgIGRlZnMuYXBwZW5kKCdzdG9wJykuYXR0cignb2Zmc2V0JywgZWxlbS5vZmZzZXQpLmF0dHIoJ3N0eWxlJywgZWxlbS5zdHlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlZnNBbmRGaWx0ZXIoZ3JvdXA6IGQzLlNlbGVjdGlvbjxTVkdHRWxlbWVudCwgdW5rbm93biwgSFRNTEVsZW1lbnQsIHVua25vd24+LCBkYXRhOiBJRGVmc0YpOiB2b2lkIHtcbiAgICBjb25zdCBkZWZzID0gZ3JvdXAuYXBwZW5kKCdkZWZzJykuYXBwZW5kKCdmaWx0ZXInKS5hdHRyKCdpZCcsIGRhdGEuaWQpLmF0dHIoJ3gnLCBkYXRhLngpLmF0dHIoJ3knLCBkYXRhLnkpLmF0dHIoJ2hlaWdodCcsIGRhdGEuaGVpZ2h0KS5hdHRyKCd3aWR0aCcsIGRhdGEud2lkdGgpO1xuXG4gICAgZGF0YS5mZUdhdXNzaWFuVGFncy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICBkZWZzLmFwcGVuZCgnZmVHYXVzc2lhbkJsdXInKS5hdHRyKCdpbicsIGVsZW0uaW4pLmF0dHIoJ3N0ZERldmlhdGlvbicsIGVsZW0uc3RkRGV2aWF0aW9uKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGVmc0FuZFJhZGlhbEdyYWRpZW50KGdyb3VwOiBkMy5TZWxlY3Rpb248U1ZHR0VsZW1lbnQsIHVua25vd24sIEhUTUxFbGVtZW50LCB1bmtub3duPiwgZGF0YTogSURlZnNSRyk6IHZvaWQge1xuICAgIGNvbnN0IGRlZnMgPSBncm91cC5hcHBlbmQoJ2RlZnMnKS5hcHBlbmQoJ3JhZGlhbEdyYWRpZW50JykuYXR0cignaWQnLCBkYXRhLmlkKS5hdHRyKCdjeCcsIGRhdGEuY3kpLmF0dHIoJ2N5JywgZGF0YS5jeCkuYXR0cigncicsIGRhdGEucik7XG5cbiAgICBkYXRhLnN0b3BUYWdzLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgIGRlZnMuYXBwZW5kKCdzdG9wJykuYXR0cignb2Zmc2V0JywgZWxlbS5vZmZzZXQpLmF0dHIoJ3N0eWxlJywgZWxlbS5zdHlsZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJhZGFyQ2hhcnQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBtYXhWYWx1ZSwgZGF0YXNldHMsIGF0dHJpYnV0ZXMgfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IGFsbEF4aXMgPSBbLi4ubmV3IFNldChhdHRyaWJ1dGVzKV0ubWFwKChpKSA9PiBpKTtcbiAgICBjb25zdCB0b3RhbCA9IGFsbEF4aXMubGVuZ3RoO1xuICAgIGNvbnN0IGFuZ2xlU2xpY2UgPSAoTWF0aC5QSSAqIDIpIC8gdG90YWw7XG4gICAgbGV0IE1heFZhbHVlID1cbiAgICAgIGRhdGFzZXRzLmxlbmd0aCA+IDBcbiAgICAgICAgPyBNYXRoLm1heChcbiAgICAgICAgICAgIC4uLmRhdGFzZXRzLnJlZHVjZSgoYSwgaSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gWy4uLmEsIC4uLk9iamVjdC52YWx1ZXMoaS52YWx1ZXMpXTtcbiAgICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICApXG4gICAgICAgIDogbWF4VmFsdWU7XG4gICAgTWF4VmFsdWUgPSBNYXhWYWx1ZSA+IDAgPyBNYXhWYWx1ZSA6IDI1O1xuXG4gICAgY29uc3QgclNjYWxlID0gZDMuc2NhbGVMaW5lYXIoKS5yYW5nZShbMCwgMTAwXSkuZG9tYWluKFswLCBNYXhWYWx1ZV0pO1xuXG4gICAgdGhpcy5jcmVhdGVMaW5lKHRoaXMuc3ZnLCBhbGxBeGlzLCBNYXhWYWx1ZSwgYW5nbGVTbGljZSwgclNjYWxlKTtcbiAgICB0aGlzLmNyZWF0ZVRleHQodGhpcy5zdmcsIGFsbEF4aXMsIHJTY2FsZSwgTWF4VmFsdWUsIGFuZ2xlU2xpY2UpO1xuICAgIHRoaXMuY3JlYXRlUG9seWdvbnModGhpcy5zdmcsIGRhdGFzZXRzLCByU2NhbGUsIGFuZ2xlU2xpY2UpO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwidG9vbHRpcFwiPlxuICA8bGliLWFsZXJ0LXBvcHVwIFt0aXRsZV09XCJ0aXRsZUFsZXJ0UG9wdXBcIiBbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25BbGVydFBvcHVwXCIgW3RpbWVTdGF0ZV09XCJ0aW1lU3RhdGVBbGVydFBvcHVwXCIgW251bWJlcl09XCJudW1iZXJBbGVydFBvcHVwXCI+PC9saWItYWxlcnQtcG9wdXA+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiZDMtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQzLWNoYXJ0XCIgI0QzQ2hhcnQ+PC9kaXY+XG4gICAgQGlmIChzaG93Q2hhcnRJbmZvKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhcnRJbmZvXCI+XG4gICAgICAgIEBpZiAoZGF0YXNldHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhY2hhcnRcIj5cbiAgICAgICAgICAgIEBmb3IgKGRhdGFzZXQgb2YgZGF0YXNldHM7IGxldCBqID0gJGluZGV4OyB0cmFjayBkYXRhc2V0KSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmQtaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgW3N0eWxlLmJvcmRlcl09XCInNXB4IHNvbGlkICcgKyBwb2x5Z29uX2NvbG9ycz8uW2pdPy52YWx1ZVwiIFtzdHlsZS5ib3hTaGFkb3ddPVwiJzBweCAwcHggMTJweCAnICsgcG9seWdvbl9jb2xvcnM/LltqXT8udmFsdWVcIiBjbGFzcz1cImxlZ2VuZC1jb2xvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIHt7IGRhdGFzZXQudGl0bGUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +0,0 @@
1
- export var Direction;
2
- (function (Direction) {
3
- Direction["horizontal"] = "horizontal";
4
- Direction["vertical"] = "vertical";
5
- })(Direction || (Direction = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9lbnVtcy9kaXJlY3Rpb24uZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLHNDQUF5QixDQUFBO0lBQ3pCLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERpcmVjdGlvbiB7XG4gIGhvcml6b250YWwgPSAnaG9yaXpvbnRhbCcsXG4gIHZlcnRpY2FsID0gJ3ZlcnRpY2FsJyxcbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- export var FormFieldType;
2
- (function (FormFieldType) {
3
- FormFieldType["date"] = "date";
4
- FormFieldType["text"] = "text";
5
- FormFieldType["textarea"] = "textarea";
6
- FormFieldType["typeahead"] = "typeahead";
7
- FormFieldType["multiselect"] = "multiselect";
8
- FormFieldType["select"] = "select";
9
- FormFieldType["checkbox"] = "checkbox";
10
- FormFieldType["toggle"] = "toggle";
11
- FormFieldType["radio"] = "radio";
12
- FormFieldType["textlist"] = "textlist";
13
- FormFieldType["number"] = "number";
14
- FormFieldType["message"] = "message";
15
- FormFieldType["time"] = "time";
16
- FormFieldType["multifield"] = "multifield";
17
- FormFieldType["action"] = "action";
18
- FormFieldType["currency"] = "currency";
19
- FormFieldType["banner"] = "banner";
20
- FormFieldType["percentage"] = "percentage";
21
- FormFieldType["multiselectdropdown"] = "multiselectdropdown";
22
- FormFieldType["hyperlink"] = "hyperlink";
23
- FormFieldType["injectable"] = "injectable";
24
- FormFieldType["datetime"] = "datetime";
25
- FormFieldType["rating"] = "rating";
26
- FormFieldType["incrementer"] = "incrementer";
27
- FormFieldType["range"] = "range";
28
- FormFieldType["password"] = "password";
29
- })(FormFieldType || (FormFieldType = {}));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvZW51bXMvZm9ybS1maWVsZC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBMkJYO0FBM0JELFdBQVksYUFBYTtJQUN2Qiw4QkFBYSxDQUFBO0lBQ2IsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0lBQ3JCLHdDQUF1QixDQUFBO0lBQ3ZCLDRDQUEyQixDQUFBO0lBQzNCLGtDQUFpQixDQUFBO0lBQ2pCLHNDQUFxQixDQUFBO0lBQ3JCLGtDQUFpQixDQUFBO0lBQ2pCLGdDQUFlLENBQUE7SUFDZixzQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBbUIsQ0FBQTtJQUNuQiw4QkFBYSxDQUFBO0lBQ2IsMENBQXlCLENBQUE7SUFDekIsa0NBQWlCLENBQUE7SUFDakIsc0NBQXFCLENBQUE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsMENBQXlCLENBQUE7SUFDekIsNERBQTJDLENBQUE7SUFDM0Msd0NBQXVCLENBQUE7SUFDdkIsMENBQXlCLENBQUE7SUFDekIsc0NBQXFCLENBQUE7SUFDckIsa0NBQWlCLENBQUE7SUFDakIsNENBQTJCLENBQUE7SUFDM0IsZ0NBQWUsQ0FBQTtJQUNmLHNDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUEzQlcsYUFBYSxLQUFiLGFBQWEsUUEyQnhCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRm9ybUZpZWxkVHlwZSB7XHJcbiAgZGF0ZSA9ICdkYXRlJyxcclxuICB0ZXh0ID0gJ3RleHQnLFxyXG4gIHRleHRhcmVhID0gJ3RleHRhcmVhJyxcclxuICB0eXBlYWhlYWQgPSAndHlwZWFoZWFkJyxcclxuICBtdWx0aXNlbGVjdCA9ICdtdWx0aXNlbGVjdCcsXHJcbiAgc2VsZWN0ID0gJ3NlbGVjdCcsXHJcbiAgY2hlY2tib3ggPSAnY2hlY2tib3gnLFxyXG4gIHRvZ2dsZSA9ICd0b2dnbGUnLFxyXG4gIHJhZGlvID0gJ3JhZGlvJyxcclxuICB0ZXh0bGlzdCA9ICd0ZXh0bGlzdCcsXHJcbiAgbnVtYmVyID0gJ251bWJlcicsXHJcbiAgbWVzc2FnZSA9ICdtZXNzYWdlJyxcclxuICB0aW1lID0gJ3RpbWUnLFxyXG4gIG11bHRpZmllbGQgPSAnbXVsdGlmaWVsZCcsXHJcbiAgYWN0aW9uID0gJ2FjdGlvbicsXHJcbiAgY3VycmVuY3kgPSAnY3VycmVuY3knLFxyXG4gIGJhbm5lciA9ICdiYW5uZXInLFxyXG4gIHBlcmNlbnRhZ2UgPSAncGVyY2VudGFnZScsXHJcbiAgbXVsdGlzZWxlY3Rkcm9wZG93biA9ICdtdWx0aXNlbGVjdGRyb3Bkb3duJyxcclxuICBoeXBlcmxpbmsgPSAnaHlwZXJsaW5rJyxcclxuICBpbmplY3RhYmxlID0gJ2luamVjdGFibGUnLFxyXG4gIGRhdGV0aW1lID0gJ2RhdGV0aW1lJyxcclxuICByYXRpbmcgPSAncmF0aW5nJyxcclxuICBpbmNyZW1lbnRlciA9ICdpbmNyZW1lbnRlcicsXHJcbiAgcmFuZ2UgPSAncmFuZ2UnLFxyXG4gIHBhc3N3b3JkID0gJ3Bhc3N3b3JkJyxcclxufVxyXG4iXX0=
@@ -1,5 +0,0 @@
1
- export var LocalStorageKeys;
2
- (function (LocalStorageKeys) {
3
- LocalStorageKeys["LongPressForSendImmediately"] = "longPressForSendImmediately";
4
- })(LocalStorageKeys || (LocalStorageKeys = {}));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS1rZXlzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9lbnVtcy9sb2NhbC1zdG9yYWdlLWtleXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFFWDtBQUZELFdBQVksZ0JBQWdCO0lBQzFCLCtFQUEyRCxDQUFBO0FBQzdELENBQUMsRUFGVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRTNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTG9jYWxTdG9yYWdlS2V5cyB7XG4gIExvbmdQcmVzc0ZvclNlbmRJbW1lZGlhdGVseSA9ICdsb25nUHJlc3NGb3JTZW5kSW1tZWRpYXRlbHknLFxufVxuIl19
@@ -1,8 +0,0 @@
1
- export var StatusTypes;
2
- (function (StatusTypes) {
3
- StatusTypes["Info"] = "info";
4
- StatusTypes["Warning"] = "warning";
5
- StatusTypes["Error"] = "error";
6
- StatusTypes["Success"] = "success";
7
- })(StatusTypes || (StatusTypes = {}));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvZW51bXMvc3RhdHVzLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBS1g7QUFMRCxXQUFZLFdBQVc7SUFDckIsNEJBQWEsQ0FBQTtJQUNiLGtDQUFtQixDQUFBO0lBQ25CLDhCQUFlLENBQUE7SUFDZixrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsV0FBVyxLQUFYLFdBQVcsUUFLdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTdGF0dXNUeXBlcyB7XHJcbiAgSW5mbyA9ICdpbmZvJyxcclxuICBXYXJuaW5nID0gJ3dhcm5pbmcnLFxyXG4gIEVycm9yID0gJ2Vycm9yJyxcclxuICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL21vZGVsL3NlbGVjdC1vcHRpb24tdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICdAbmFuaXRlbmluamEvaW9uaWMtbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RPcHRpb25XaXRoVGVtcGxhdGU8VD4gZXh0ZW5kcyBTZWxlY3RPcHRpb248VD4ge1xuICBhZGRPblRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xufVxuIl19
@@ -1,19 +0,0 @@
1
- /**
2
- * operations.ts - Contains common operations utility functions.
3
- *
4
- * @file This file exports utility functions for common operations.
5
- */
6
- /**
7
- * Generates a random string of the specified length.
8
- *
9
- * @param {number} [length=10] - The length of the random string to generate. Default is 10.
10
- * @return {string} A randomly generated string.
11
- */
12
- function randomString(length = 10) {
13
- return Array.from({ length }, () => Math.random().toString(36).charAt(2)).join('');
14
- }
15
- /**
16
- * Collection of common operations utility functions.
17
- */
18
- export const CommonOperations = { randomString };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL29wZXJhdGlvbnMvb3BlcmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUg7Ozs7O0dBS0c7QUFDSCxTQUFTLFlBQVksQ0FBQyxTQUFpQixFQUFFO0lBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIG9wZXJhdGlvbnMudHMgLSBDb250YWlucyBjb21tb24gb3BlcmF0aW9ucyB1dGlsaXR5IGZ1bmN0aW9ucy5cbiAqXG4gKiBAZmlsZSBUaGlzIGZpbGUgZXhwb3J0cyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgY29tbW9uIG9wZXJhdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSByYW5kb20gc3RyaW5nIG9mIHRoZSBzcGVjaWZpZWQgbGVuZ3RoLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTEwXSAtIFRoZSBsZW5ndGggb2YgdGhlIHJhbmRvbSBzdHJpbmcgdG8gZ2VuZXJhdGUuIERlZmF1bHQgaXMgMTAuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IEEgcmFuZG9tbHkgZ2VuZXJhdGVkIHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gcmFuZG9tU3RyaW5nKGxlbmd0aDogbnVtYmVyID0gMTApOiBzdHJpbmcge1xuICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5jaGFyQXQoMikpLmpvaW4oJycpO1xufVxuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgY29tbW9uIG9wZXJhdGlvbnMgdXRpbGl0eSBmdW5jdGlvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBDb21tb25PcGVyYXRpb25zID0geyByYW5kb21TdHJpbmcgfTtcbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ArraySortPipe {
4
- transform(array, field, type = 'ASC') {
5
- if (!Array.isArray(array)) {
6
- return null;
7
- }
8
- switch (type.toUpperCase()) {
9
- case 'ASC': {
10
- array.sort((a, b) => {
11
- if (a[field] < b[field]) {
12
- return -1;
13
- }
14
- else if (a[field] > b[field]) {
15
- return 1;
16
- }
17
- else {
18
- return 0;
19
- }
20
- });
21
- break;
22
- }
23
- case 'DSC': {
24
- array.sort((a, b) => {
25
- if (a[field] > b[field]) {
26
- return -1;
27
- }
28
- else if (a[field] < b[field]) {
29
- return 1;
30
- }
31
- else {
32
- return 0;
33
- }
34
- });
35
- break;
36
- }
37
- }
38
- return array;
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ArraySortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
41
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ArraySortPipe, name: "sort" }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ArraySortPipe, decorators: [{
44
- type: Pipe,
45
- args: [{
46
- name: 'sort',
47
- }]
48
- }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuc29ydC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvcGlwZXMvYXJyYXktc29ydC9hcnJheS5zb3J0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsS0FBYSxFQUFFLE9BQWUsS0FBSztRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDM0IsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNYLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUN4QixPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNaLENBQUM7eUJBQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQy9CLE9BQU8sQ0FBQyxDQUFDO29CQUNYLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixPQUFPLENBQUMsQ0FBQztvQkFDWCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNYLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUN4QixPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNaLENBQUM7eUJBQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQy9CLE9BQU8sQ0FBQyxDQUFDO29CQUNYLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixPQUFPLENBQUMsQ0FBQztvQkFDWCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0FoQ1UsYUFBYTs2R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUh6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzb3J0Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlTb3J0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oYXJyYXk6IGFueSwgZmllbGQ6IHN0cmluZywgdHlwZTogc3RyaW5nID0gJ0FTQycpOiBhbnlbXSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZS50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdBU0MnOiB7XG4gICAgICAgIGFycmF5LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKGFbZmllbGRdIDwgYltmaWVsZF0pIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGFbZmllbGRdID4gYltmaWVsZF0pIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0RTQyc6IHtcbiAgICAgICAgYXJyYXkuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoYVtmaWVsZF0gPiBiW2ZpZWxkXSkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYVtmaWVsZF0gPCBiW2ZpZWxkXSkge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CountNonEmptyFieldsPipe {
4
- transform(records) {
5
- return Object.values(records).filter(Boolean).length;
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CountNonEmptyFieldsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: CountNonEmptyFieldsPipe, name: "countNonEmptyFields" }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CountNonEmptyFieldsPipe, decorators: [{
11
- type: Pipe,
12
- args: [{
13
- name: 'countNonEmptyFields',
14
- pure: true,
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtbm9uLWVtcHR5LWZpZWxkcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGFzaGJvYXJkLWNvbXBvbmVudHMtbGliL3NyYy9saWIvcGlwZXMvY291bnQtbm9uLWVtcHR5LWZpZWxkcy9jb3VudC1ub24tZW1wdHktZmllbGRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsU0FBUyxDQUFDLE9BQXNDO1FBQzlDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZELENBQUM7K0dBSFUsdUJBQXVCOzZHQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHFCQUFxQjtvQkFDM0IsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NvdW50Tm9uRW1wdHlGaWVsZHMnLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb3VudE5vbkVtcHR5RmllbGRzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0ocmVjb3JkczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVsbD4pOiBudW1iZXIge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHJlY29yZHMpLmZpbHRlcihCb29sZWFuKS5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import moment from 'moment';
3
- import * as i0 from "@angular/core";
4
- export class DateLocalizationPipe {
5
- transform(value, dateFormat) {
6
- if (moment.isMoment(value)) {
7
- return value.format(dateFormat).toString();
8
- }
9
- else {
10
- let parsedDate = moment(value, moment.ISO_8601, true);
11
- if (!parsedDate.isValid()) {
12
- // If the value is entered manually by user then parse the value based on the date format
13
- parsedDate = moment(value, dateFormat, false);
14
- }
15
- if (parsedDate.isValid()) {
16
- return parsedDate.format(dateFormat).toString();
17
- }
18
- return null;
19
- }
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateLocalizationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DateLocalizationPipe, name: "dateLocalization" }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateLocalizationPipe, decorators: [{
25
- type: Pipe,
26
- args: [{
27
- name: 'dateLocalization',
28
- pure: true,
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1sb2NhbGl6YXRpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL3BpcGVzL2RhdGUtbG9jYWxpemF0aW9uL2RhdGUtbG9jYWxpemF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOztBQU01QixNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFNBQVMsQ0FBQyxLQUE2QixFQUFFLFVBQWtCO1FBQ3pELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQzFCLHlGQUF5RjtnQkFDekYsVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2hELENBQUM7WUFDRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN6QixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7K0dBZlUsb0JBQW9COzZHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtvQkFDeEIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2RhdGVMb2NhbGl6YXRpb24nLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlTG9jYWxpemF0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IG1vbWVudC5Nb21lbnQsIGRhdGVGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKG1vbWVudC5pc01vbWVudCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS5mb3JtYXQoZGF0ZUZvcm1hdCkudG9TdHJpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHBhcnNlZERhdGUgPSBtb21lbnQodmFsdWUsIG1vbWVudC5JU09fODYwMSwgdHJ1ZSk7XG4gICAgICBpZiAoIXBhcnNlZERhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIC8vIElmIHRoZSB2YWx1ZSBpcyBlbnRlcmVkIG1hbnVhbGx5IGJ5IHVzZXIgdGhlbiBwYXJzZSB0aGUgdmFsdWUgYmFzZWQgb24gdGhlIGRhdGUgZm9ybWF0XG4gICAgICAgIHBhcnNlZERhdGUgPSBtb21lbnQodmFsdWUsIGRhdGVGb3JtYXQsIGZhbHNlKTtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJzZWREYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICByZXR1cm4gcGFyc2VkRGF0ZS5mb3JtYXQoZGF0ZUZvcm1hdCkudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,28 +0,0 @@
1
- import { Injectable, Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ngx-translate/core";
4
- export class FallbackTranslatePipe {
5
- constructor(translate) {
6
- this.translate = translate;
7
- }
8
- transform(key, fallback) {
9
- const translated = this.translate.instant(key);
10
- return translated === key ? fallback : translated;
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FallbackTranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: FallbackTranslatePipe, isStandalone: true, name: "fallbackTranslate" }); }
14
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FallbackTranslatePipe, providedIn: 'root' }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FallbackTranslatePipe, decorators: [{
17
- type: Pipe,
18
- args: [{
19
- name: 'fallbackTranslate',
20
- standalone: true,
21
- }]
22
- }, {
23
- type: Injectable,
24
- args: [{
25
- providedIn: 'root',
26
- }]
27
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stdHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQtY29tcG9uZW50cy1saWIvc3JjL2xpYi9waXBlcy9mYWxsYmFjay10cmFuc2xhdGUvZmFsbGJhY2stdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFVaEUsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFbkQsU0FBUyxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxPQUFPLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3BELENBQUM7K0dBTlUscUJBQXFCOzZHQUFyQixxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBUGpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztrQkFDQSxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZmFsbGJhY2tUcmFuc2xhdGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGYWxsYmFja1RyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCBmYWxsYmFjazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmFuc2xhdGVkID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChrZXkpO1xuICAgIHJldHVybiB0cmFuc2xhdGVkID09PSBrZXkgPyBmYWxsYmFjayA6IHRyYW5zbGF0ZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,59 +0,0 @@
1
- import { formatNumber } from '@angular/common';
2
- import { Pipe } from '@angular/core';
3
- import moment from 'moment';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../date-localization/date-localization.pipe";
6
- import * as i2 from "@angular/common";
7
- export class GetDisplayValuePipe {
8
- constructor(dateLocalizationPipe, currencyPipe) {
9
- this.dateLocalizationPipe = dateLocalizationPipe;
10
- this.currencyPipe = currencyPipe;
11
- }
12
- transform(data, column, dateFormat, corporateCurrency = 'USD') {
13
- if ((typeof data != 'boolean' && !data && data !== 0) || !column) {
14
- return '';
15
- }
16
- if (column.controlType === 'SingleSelect' || column.controlType === 'MultiSelect') {
17
- if (Array.isArray(data)) {
18
- return data.map((value) => column.values?.find((col) => col.Key === value)?.Value)?.join(', ') ?? '';
19
- }
20
- return column.values?.find((col) => col.Key === data)?.Value;
21
- }
22
- if (column.controlType === 'AutoComplete' || column.controlType === 'AutoCompleteMulti' || column.controlType === 'MultiField') {
23
- if (Array.isArray(data)) {
24
- return data?.map((kv) => kv?.Value)?.join(', ') ?? '';
25
- }
26
- return data?.Value;
27
- }
28
- if (column.controlType === 'Date') {
29
- if (moment.isMoment(data)) {
30
- return this.dateLocalizationPipe.transform(data, dateFormat);
31
- }
32
- else {
33
- return this.dateLocalizationPipe.transform(data?.toString() ?? '', dateFormat);
34
- }
35
- }
36
- if (column.controlType === 'Percent') {
37
- return `${formatNumber(data, 'en-US', '1.0-0')}%`;
38
- }
39
- if (column.controlType === 'Currency') {
40
- return this.currencyPipe.transform(Math.round(data), corporateCurrency, 'symbol', '1.0-0');
41
- }
42
- if (column.controlType === 'Boolean') {
43
- return data ? 'Yes' : 'No';
44
- }
45
- if (data.en)
46
- return data.en;
47
- return data.toString();
48
- }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetDisplayValuePipe, deps: [{ token: i1.DateLocalizationPipe }, { token: i2.CurrencyPipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
50
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: GetDisplayValuePipe, name: "getDisplayValue" }); }
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetDisplayValuePipe, decorators: [{
53
- type: Pipe,
54
- args: [{
55
- name: 'getDisplayValue',
56
- pure: true,
57
- }]
58
- }], ctorParameters: () => [{ type: i1.DateLocalizationPipe }, { type: i2.CurrencyPipe }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRpc3BsYXktdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rhc2hib2FyZC1jb21wb25lbnRzLWxpYi9zcmMvbGliL3BpcGVzL2dldC1kaXNwbGF5LXZhbHVlL2dldC1kaXNwbGF5LXZhbHVlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFRNUIsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNVLG9CQUEwQyxFQUMxQyxZQUEwQjtRQUQxQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFFSixTQUFTLENBQUMsSUFBUyxFQUFFLE1BQWtCLEVBQUUsVUFBa0IsRUFBRSxvQkFBNEIsS0FBSztRQUM1RixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pFLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxjQUFjLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUNsRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZHLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUMvRCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLGNBQWMsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLG1CQUFtQixJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDL0gsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEQsQ0FBQztZQUNELE9BQU8sSUFBSSxFQUFFLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQy9ELENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNqRixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0IsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0FoRFUsbUJBQW1COzZHQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIGZvcm1hdE51bWJlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBHcmlkQ29sdW1uIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XG5pbXBvcnQgeyBEYXRlTG9jYWxpemF0aW9uUGlwZSB9IGZyb20gJy4uL2RhdGUtbG9jYWxpemF0aW9uL2RhdGUtbG9jYWxpemF0aW9uLnBpcGUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdnZXREaXNwbGF5VmFsdWUnLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBHZXREaXNwbGF5VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGF0ZUxvY2FsaXphdGlvblBpcGU6IERhdGVMb2NhbGl6YXRpb25QaXBlLFxuICAgIHByaXZhdGUgY3VycmVuY3lQaXBlOiBDdXJyZW5jeVBpcGUsXG4gICkge31cblxuICB0cmFuc2Zvcm0oZGF0YTogYW55LCBjb2x1bW46IEdyaWRDb2x1bW4sIGRhdGVGb3JtYXQ6IHN0cmluZywgY29ycG9yYXRlQ3VycmVuY3k6IHN0cmluZyA9ICdVU0QnKTogc3RyaW5nIHtcbiAgICBpZiAoKHR5cGVvZiBkYXRhICE9ICdib29sZWFuJyAmJiAhZGF0YSAmJiBkYXRhICE9PSAwKSB8fCAhY29sdW1uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgaWYgKGNvbHVtbi5jb250cm9sVHlwZSA9PT0gJ1NpbmdsZVNlbGVjdCcgfHwgY29sdW1uLmNvbnRyb2xUeXBlID09PSAnTXVsdGlTZWxlY3QnKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICByZXR1cm4gZGF0YS5tYXAoKHZhbHVlKSA9PiBjb2x1bW4udmFsdWVzPy5maW5kKChjb2wpID0+IGNvbC5LZXkgPT09IHZhbHVlKT8uVmFsdWUpPy5qb2luKCcsICcpID8/ICcnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbHVtbi52YWx1ZXM/LmZpbmQoKGNvbCkgPT4gY29sLktleSA9PT0gZGF0YSk/LlZhbHVlO1xuICAgIH1cblxuICAgIGlmIChjb2x1bW4uY29udHJvbFR5cGUgPT09ICdBdXRvQ29tcGxldGUnIHx8IGNvbHVtbi5jb250cm9sVHlwZSA9PT0gJ0F1dG9Db21wbGV0ZU11bHRpJyB8fCBjb2x1bW4uY29udHJvbFR5cGUgPT09ICdNdWx0aUZpZWxkJykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE/Lm1hcCgoa3YpID0+IGt2Py5WYWx1ZSk/LmpvaW4oJywgJykgPz8gJyc7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGF0YT8uVmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKGNvbHVtbi5jb250cm9sVHlwZSA9PT0gJ0RhdGUnKSB7XG4gICAgICBpZiAobW9tZW50LmlzTW9tZW50KGRhdGEpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVMb2NhbGl6YXRpb25QaXBlLnRyYW5zZm9ybShkYXRhLCBkYXRlRm9ybWF0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVMb2NhbGl6YXRpb25QaXBlLnRyYW5zZm9ybShkYXRhPy50b1N0cmluZygpID8/ICcnLCBkYXRlRm9ybWF0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29sdW1uLmNvbnRyb2xUeXBlID09PSAnUGVyY2VudCcpIHtcbiAgICAgIHJldHVybiBgJHtmb3JtYXROdW1iZXIoZGF0YSwgJ2VuLVVTJywgJzEuMC0wJyl9JWA7XG4gICAgfVxuXG4gICAgaWYgKGNvbHVtbi5jb250cm9sVHlwZSA9PT0gJ0N1cnJlbmN5Jykge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3lQaXBlLnRyYW5zZm9ybShNYXRoLnJvdW5kKGRhdGEpLCBjb3Jwb3JhdGVDdXJyZW5jeSwgJ3N5bWJvbCcsICcxLjAtMCcpO1xuICAgIH1cblxuICAgIGlmIChjb2x1bW4uY29udHJvbFR5cGUgPT09ICdCb29sZWFuJykge1xuICAgICAgcmV0dXJuIGRhdGEgPyAnWWVzJyA6ICdObyc7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEuZW4pIHJldHVybiBkYXRhLmVuO1xuXG4gICAgcmV0dXJuIGRhdGEudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19