monkey-front-core 0.0.238 → 0.0.239

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 (452) hide show
  1. package/esm2020/lib/components/alerts/alerts.component.mjs +35 -0
  2. package/esm2020/lib/components/alerts/alerts.module.mjs +21 -0
  3. package/esm2020/lib/components/alerts/index.mjs +3 -0
  4. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
  5. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs +43 -0
  6. package/esm2020/lib/components/closed-to-maintenance/index.mjs +3 -0
  7. package/esm2020/lib/components/index.mjs +5 -0
  8. package/esm2020/lib/components/progress-bar/index.mjs +4 -0
  9. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
  10. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +18 -0
  11. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
  12. package/esm2020/lib/components/version-changed/index.mjs +3 -0
  13. package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
  14. package/esm2020/lib/components/version-changed/version-changed.module.mjs +39 -0
  15. package/esm2020/lib/core/decorators/index.mjs +5 -0
  16. package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -0
  17. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -0
  18. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
  19. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
  20. package/esm2020/lib/core/directives/index.mjs +13 -0
  21. package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +73 -0
  22. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
  23. package/esm2020/lib/core/directives/monkeyecx-feature-by-program-directive.mjs +50 -0
  24. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
  25. package/esm2020/lib/core/directives/monkeyecx-format-currency.mjs +44 -0
  26. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
  27. package/esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs +28 -0
  28. package/esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs +28 -0
  29. package/esm2020/lib/core/directives/monkeyecx-popover-options.directive.mjs +39 -0
  30. package/esm2020/lib/core/directives/monkeyecx-popover.directive.mjs +212 -0
  31. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
  32. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
  33. package/esm2020/lib/core/index.mjs +10 -0
  34. package/esm2020/lib/core/interceptors/index.mjs +6 -0
  35. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
  36. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +60 -0
  37. package/esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs +47 -0
  38. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
  39. package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -0
  40. package/esm2020/lib/core/interfaces/index.mjs +30 -0
  41. package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -0
  42. package/esm2020/lib/core/interfaces/monkeyecx-company-pendencies.mjs +2 -0
  43. package/esm2020/lib/core/interfaces/monkeyecx-company.mjs +2 -0
  44. package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +2 -0
  45. package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -0
  46. package/esm2020/lib/core/interfaces/monkeyecx-country-security.mjs +2 -0
  47. package/esm2020/lib/core/interfaces/monkeyecx-error-response.mjs +2 -0
  48. package/esm2020/lib/core/interfaces/monkeyecx-filter.mjs +2 -0
  49. package/esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs +2 -0
  50. package/esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs +2 -0
  51. package/esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs +2 -0
  52. package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -0
  53. package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -0
  54. package/esm2020/lib/core/interfaces/monkeyecx-program.mjs +2 -0
  55. package/esm2020/lib/core/interfaces/monkeyecx-releases.mjs +2 -0
  56. package/esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs +2 -0
  57. package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -0
  58. package/esm2020/lib/core/interfaces/monkeyecx-response-links.mjs +2 -0
  59. package/esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs +2 -0
  60. package/esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs +2 -0
  61. package/esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs +2 -0
  62. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
  63. package/esm2020/lib/core/interfaces/monkeyecx-support-options.mjs +2 -0
  64. package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +2 -0
  65. package/esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs +2 -0
  66. package/esm2020/lib/core/interfaces/request-download/index.mjs +4 -0
  67. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -0
  68. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs +2 -0
  69. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs +2 -0
  70. package/esm2020/lib/core/interfaces/request-queue/index.mjs +4 -0
  71. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs +2 -0
  72. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs +2 -0
  73. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -0
  74. package/esm2020/lib/core/interfaces/request-upload/index.mjs +3 -0
  75. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs +2 -0
  76. package/esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs +2 -0
  77. package/esm2020/lib/core/interfaces/schedules/index.mjs +2 -0
  78. package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -0
  79. package/esm2020/lib/core/model/index.mjs +2 -0
  80. package/esm2020/lib/core/model/monkeyecx-model.mjs +25 -0
  81. package/esm2020/lib/core/pipes/index.mjs +20 -0
  82. package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -0
  83. package/esm2020/lib/core/pipes/monkeyecx-display-initials.mjs +21 -0
  84. package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -0
  85. package/esm2020/lib/core/pipes/monkeyecx-format-beautify-json.mjs +38 -0
  86. package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -0
  87. package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -0
  88. package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +32 -0
  89. package/esm2020/lib/core/pipes/monkeyecx-format-date-unix-timelapse.mjs +36 -0
  90. package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +19 -0
  91. package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -0
  92. package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -0
  93. package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -0
  94. package/esm2020/lib/core/pipes/monkeyecx-format-tax.mjs +23 -0
  95. package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -0
  96. package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -0
  97. package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -0
  98. package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +107 -0
  99. package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -0
  100. package/esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs +16 -0
  101. package/esm2020/lib/core/services/auth/index.mjs +5 -0
  102. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-company.service.mjs +28 -0
  103. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs +27 -0
  104. package/esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs +26 -0
  105. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +69 -0
  106. package/esm2020/lib/core/services/commons/index.mjs +2 -0
  107. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +405 -0
  108. package/esm2020/lib/core/services/config/monkeyecx-alerts-config.service.mjs +40 -0
  109. package/esm2020/lib/core/services/config/monkeyecx-config.module.mjs +28 -0
  110. package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +111 -0
  111. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
  112. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +67 -0
  113. package/esm2020/lib/core/services/config/monkeyecx-ga-config.service.mjs +57 -0
  114. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +92 -0
  115. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
  116. package/esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs +37 -0
  117. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
  118. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
  119. package/esm2020/lib/core/services/error/index.mjs +5 -0
  120. package/esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs +27 -0
  121. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +37 -0
  122. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +135 -0
  123. package/esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs +29 -0
  124. package/esm2020/lib/core/services/index.mjs +23 -0
  125. package/esm2020/lib/core/services/logged/index.mjs +2 -0
  126. package/esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs +40 -0
  127. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
  128. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
  129. package/esm2020/lib/core/services/pagination/index.mjs +2 -0
  130. package/esm2020/lib/core/services/pagination/monkeyecx-pagination.service.mjs +29 -0
  131. package/esm2020/lib/core/services/request-download/index.mjs +3 -0
  132. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
  133. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
  134. package/esm2020/lib/core/services/request-paged/index.mjs +2 -0
  135. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +42 -0
  136. package/esm2020/lib/core/services/request-queue/index.mjs +3 -0
  137. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
  138. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
  139. package/esm2020/lib/core/services/routes/index.mjs +2 -0
  140. package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -0
  141. package/esm2020/lib/core/services/schedules/index.mjs +2 -0
  142. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +188 -0
  143. package/esm2020/lib/core/services/storage/index.mjs +3 -0
  144. package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +32 -0
  145. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +127 -0
  146. package/esm2020/lib/core/specification-search/index.mjs +2 -0
  147. package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +108 -0
  148. package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
  149. package/esm2020/lib/core/utils/index.mjs +8 -0
  150. package/esm2020/lib/core/utils/statics.mjs +38 -0
  151. package/esm2020/lib/core/utils/utils.mjs +221 -0
  152. package/esm2020/lib/core/utils/validate-utils.mjs +206 -0
  153. package/esm2020/lib/core/utils/validators.mjs +208 -0
  154. package/esm2020/lib/monkey-front-core.module.mjs +64 -0
  155. package/esm2020/monkey-front-core.mjs +5 -0
  156. package/esm2020/public-api.mjs +7 -0
  157. package/fesm2015/monkey-front-core.mjs +5123 -0
  158. package/fesm2015/monkey-front-core.mjs.map +1 -0
  159. package/fesm2020/monkey-front-core.mjs +5182 -0
  160. package/fesm2020/monkey-front-core.mjs.map +1 -0
  161. package/lib/components/alerts/alerts.component.d.ts +16 -0
  162. package/lib/components/alerts/alerts.module.d.ts +10 -0
  163. package/{src/lib/components/alerts/index.ts → lib/components/alerts/index.d.ts} +2 -2
  164. package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +13 -0
  165. package/lib/components/closed-to-maintenance/closed-to-maintenance.module.d.ts +11 -0
  166. package/{src/lib/components/closed-to-maintenance/index.ts → lib/components/closed-to-maintenance/index.d.ts} +2 -2
  167. package/{src/lib/components/index.ts → lib/components/index.d.ts} +4 -4
  168. package/{src/lib/components/progress-bar/index.ts → lib/components/progress-bar/index.d.ts} +3 -3
  169. package/lib/components/progress-bar/progress-bar.component.d.ts +11 -0
  170. package/lib/components/progress-bar/progress-bar.module.d.ts +8 -0
  171. package/lib/components/progress-bar/progress-bar.service.d.ts +14 -0
  172. package/{src/lib/components/version-changed/index.ts → lib/components/version-changed/index.d.ts} +2 -2
  173. package/lib/components/version-changed/version-changed.component.d.ts +9 -0
  174. package/lib/components/version-changed/version-changed.module.d.ts +10 -0
  175. package/{src/lib/core/decorators/index.ts → lib/core/decorators/index.d.ts} +4 -4
  176. package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -0
  177. package/lib/core/decorators/monkeyecx-decorators.d.ts +7 -0
  178. package/lib/core/decorators/monkeyecx-download-decorators.d.ts +2 -0
  179. package/lib/core/decorators/monkeyecx-upload-decorators.d.ts +2 -0
  180. package/{src/lib/core/directives/index.ts → lib/core/directives/index.d.ts} +12 -12
  181. package/lib/core/directives/monkeyecx-directives-module.d.ts +19 -0
  182. package/lib/core/directives/monkeyecx-drag-drop.d.ts +12 -0
  183. package/lib/core/directives/monkeyecx-feature-by-program-directive.d.ts +15 -0
  184. package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -0
  185. package/lib/core/directives/monkeyecx-format-currency.d.ts +16 -0
  186. package/lib/core/directives/monkeyecx-format-upper.d.ts +18 -0
  187. package/lib/core/directives/monkeyecx-only-alpha-numeric-directive.d.ts +9 -0
  188. package/lib/core/directives/monkeyecx-only-number-directive.d.ts +9 -0
  189. package/lib/core/directives/monkeyecx-popover-options.directive.d.ts +19 -0
  190. package/lib/core/directives/monkeyecx-popover.directive.d.ts +43 -0
  191. package/lib/core/directives/monkeyecx-security-directive.d.ts +17 -0
  192. package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +23 -0
  193. package/{src/lib/core/index.ts → lib/core/index.d.ts} +9 -9
  194. package/{src/lib/core/interceptors/index.ts → lib/core/interceptors/index.d.ts} +5 -5
  195. package/lib/core/interceptors/monkeyecx-http-config-error.interceptor.d.ts +17 -0
  196. package/lib/core/interceptors/monkeyecx-http-config-header.interceptor.d.ts +16 -0
  197. package/lib/core/interceptors/monkeyecx-http-config-interceptor.module.d.ts +9 -0
  198. package/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.d.ts +12 -0
  199. package/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.d.ts +14 -0
  200. package/{src/lib/core/interfaces/index.ts → lib/core/interfaces/index.d.ts} +29 -29
  201. package/lib/core/interfaces/monkeyecx-auth-credentials.d.ts +15 -0
  202. package/{src/lib/core/interfaces/monkeyecx-company-pendencies.ts → lib/core/interfaces/monkeyecx-company-pendencies.d.ts} +14 -16
  203. package/lib/core/interfaces/monkeyecx-company.d.ts +10 -0
  204. package/lib/core/interfaces/monkeyecx-config-boostrap.d.ts +14 -0
  205. package/lib/core/interfaces/monkeyecx-config.d.ts +125 -0
  206. package/lib/core/interfaces/monkeyecx-country-security.d.ts +4 -0
  207. package/lib/core/interfaces/monkeyecx-error-response.d.ts +5 -0
  208. package/lib/core/interfaces/monkeyecx-filter.d.ts +24 -0
  209. package/lib/core/interfaces/monkeyecx-handled-error-response.d.ts +10 -0
  210. package/lib/core/interfaces/monkeyecx-header-credentials.d.ts +4 -0
  211. package/{src/lib/core/interfaces/monkeyecx-intercom-options.ts → lib/core/interfaces/monkeyecx-intercom-options.d.ts} +4 -4
  212. package/lib/core/interfaces/monkeyecx-me-credentials.d.ts +22 -0
  213. package/lib/core/interfaces/monkeyecx-navigation.d.ts +27 -0
  214. package/lib/core/interfaces/monkeyecx-program.d.ts +10 -0
  215. package/lib/core/interfaces/monkeyecx-releases.d.ts +9 -0
  216. package/{src/lib/core/interfaces/monkeyecx-request-in-progress.ts → lib/core/interfaces/monkeyecx-request-in-progress.d.ts} +3 -3
  217. package/lib/core/interfaces/monkeyecx-request-paged.d.ts +23 -0
  218. package/lib/core/interfaces/monkeyecx-response-links.d.ts +11 -0
  219. package/lib/core/interfaces/monkeyecx-response-paged.d.ts +6 -0
  220. package/lib/core/interfaces/monkeyecx-saved-state.d.ts +5 -0
  221. package/{src/lib/core/interfaces/monkeyecx-scroll-options.ts → lib/core/interfaces/monkeyecx-scroll-options.d.ts} +5 -6
  222. package/{src/lib/core/interfaces/monkeyecx-service-credentials.ts → lib/core/interfaces/monkeyecx-service-credentials.d.ts} +12 -13
  223. package/{src/lib/core/interfaces/monkeyecx-support-options.ts → lib/core/interfaces/monkeyecx-support-options.d.ts} +4 -4
  224. package/lib/core/interfaces/monkeyecx-token-credentials.d.ts +20 -0
  225. package/lib/core/interfaces/monkeyecx-translate-options.d.ts +4 -0
  226. package/{src/lib/core/interfaces/request-download/index.ts → lib/core/interfaces/request-download/index.d.ts} +3 -3
  227. package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +10 -0
  228. package/lib/core/interfaces/request-download/monkeyecx-request-downloaded.d.ts +7 -0
  229. package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +7 -0
  230. package/{src/lib/core/interfaces/request-queue/index.ts → lib/core/interfaces/request-queue/index.d.ts} +3 -3
  231. package/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.d.ts +7 -0
  232. package/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.d.ts +6 -0
  233. package/{src/lib/core/interfaces/request-queue/monkeyecx-request-queue.ts → lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts} +8 -9
  234. package/{src/lib/core/interfaces/request-upload/index.ts → lib/core/interfaces/request-upload/index.d.ts} +2 -2
  235. package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +5 -0
  236. package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +10 -0
  237. package/{src/lib/core/interfaces/schedules/index.ts → lib/core/interfaces/schedules/index.d.ts} +1 -1
  238. package/lib/core/interfaces/schedules/monkeyecx-request-schedule.d.ts +13 -0
  239. package/{src/lib/core/model/index.ts → lib/core/model/index.d.ts} +1 -1
  240. package/lib/core/model/monkeyecx-model.d.ts +13 -0
  241. package/{src/lib/core/pipes/index.ts → lib/core/pipes/index.d.ts} +19 -19
  242. package/lib/core/pipes/monkeyecx-display-first-name.d.ts +7 -0
  243. package/lib/core/pipes/monkeyecx-display-initials.d.ts +7 -0
  244. package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -0
  245. package/lib/core/pipes/monkeyecx-format-beautify-json.d.ts +8 -0
  246. package/lib/core/pipes/monkeyecx-format-currency.d.ts +11 -0
  247. package/lib/core/pipes/monkeyecx-format-date-group.d.ts +11 -0
  248. package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +7 -0
  249. package/lib/core/pipes/monkeyecx-format-date-unix-timelapse.d.ts +7 -0
  250. package/lib/core/pipes/monkeyecx-format-document.d.ts +7 -0
  251. package/lib/core/pipes/monkeyecx-format-number.d.ts +7 -0
  252. package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -0
  253. package/lib/core/pipes/monkeyecx-format-size.d.ts +7 -0
  254. package/lib/core/pipes/monkeyecx-format-tax.d.ts +7 -0
  255. package/lib/core/pipes/monkeyecx-format-type-document.d.ts +7 -0
  256. package/lib/core/pipes/monkeyecx-format-value.d.ts +7 -0
  257. package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +7 -0
  258. package/lib/core/pipes/monkeyecx-pipes.module.d.ts +24 -0
  259. package/lib/core/pipes/monkeyecx-text-truncate.d.ts +7 -0
  260. package/lib/core/pipes/monkeyecx-truncate-qtd.d.ts +7 -0
  261. package/{src/lib/core/services/auth/index.ts → lib/core/services/auth/index.d.ts} +4 -4
  262. package/lib/core/services/auth/monkeyecx-auth-guard-company.service.d.ts +11 -0
  263. package/lib/core/services/auth/monkeyecx-auth-guard-login.service.d.ts +11 -0
  264. package/lib/core/services/auth/monkeyecx-auth-guard.service.d.ts +11 -0
  265. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +30 -0
  266. package/{src/lib/core/services/commons/index.ts → lib/core/services/commons/index.d.ts} +1 -1
  267. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +124 -0
  268. package/lib/core/services/config/monkeyecx-alerts-config.service.d.ts +11 -0
  269. package/lib/core/services/config/monkeyecx-config.module.d.ts +9 -0
  270. package/lib/core/services/config/monkeyecx-config.service.d.ts +36 -0
  271. package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -0
  272. package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +16 -0
  273. package/lib/core/services/config/monkeyecx-ga-config.service.d.ts +10 -0
  274. package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +16 -0
  275. package/lib/core/services/config/monkeyecx-logs-config.service.d.ts +7 -0
  276. package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +13 -0
  277. package/lib/core/services/config/monkeyecx-security-console-config.service.d.ts +11 -0
  278. package/lib/core/services/config/monkeyecx-service-worker-config.service.d.ts +16 -0
  279. package/{src/lib/core/services/error/index.ts → lib/core/services/error/index.d.ts} +4 -4
  280. package/lib/core/services/error/monkeyecx-error-handling.module.d.ts +9 -0
  281. package/lib/core/services/error/monkeyecx-error-handling.service.d.ts +9 -0
  282. package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +26 -0
  283. package/lib/core/services/error/monkeyecx-others-errors-handling.service.d.ts +9 -0
  284. package/{src/lib/core/services/index.ts → lib/core/services/index.d.ts} +22 -22
  285. package/{src/lib/core/services/logged/index.ts → lib/core/services/logged/index.d.ts} +1 -1
  286. package/lib/core/services/logged/monkeyecx-logged-handling.service.d.ts +14 -0
  287. package/lib/core/services/monkeyecx-handling.service.d.ts +22 -0
  288. package/lib/core/services/monkeyecx-service.service.d.ts +18 -0
  289. package/{src/lib/core/services/pagination/index.ts → lib/core/services/pagination/index.d.ts} +1 -1
  290. package/lib/core/services/pagination/monkeyecx-pagination.service.d.ts +9 -0
  291. package/{src/lib/core/services/request-download/index.ts → lib/core/services/request-download/index.d.ts} +2 -2
  292. package/lib/core/services/request-download/monkeyecx-request-download-handling.service.d.ts +18 -0
  293. package/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.d.ts +16 -0
  294. package/{src/lib/core/services/request-paged/index.ts → lib/core/services/request-paged/index.d.ts} +1 -1
  295. package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +11 -0
  296. package/{src/lib/core/services/request-queue/index.ts → lib/core/services/request-queue/index.d.ts} +2 -2
  297. package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +21 -0
  298. package/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.d.ts +23 -0
  299. package/{src/lib/core/services/routes/index.ts → lib/core/services/routes/index.d.ts} +1 -1
  300. package/lib/core/services/routes/monkeyecx-dicovery-params.service.d.ts +13 -0
  301. package/{src/lib/core/services/schedules/index.ts → lib/core/services/schedules/index.d.ts} +1 -1
  302. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +47 -0
  303. package/{src/lib/core/services/storage/index.ts → lib/core/services/storage/index.d.ts} +2 -2
  304. package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +11 -0
  305. package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +29 -0
  306. package/{src/lib/core/specification-search/index.ts → lib/core/specification-search/index.d.ts} +1 -1
  307. package/lib/core/specification-search/monkeyecx-specification-search.d.ts +20 -0
  308. package/lib/core/utils/decorators-utils.d.ts +5 -0
  309. package/{src/lib/core/utils/index.ts → lib/core/utils/index.d.ts} +6 -8
  310. package/lib/core/utils/statics.d.ts +28 -0
  311. package/lib/core/utils/utils.d.ts +22 -0
  312. package/lib/core/utils/validate-utils.d.ts +66 -0
  313. package/lib/core/utils/validators.d.ts +29 -0
  314. package/lib/monkey-front-core.module.d.ts +17 -0
  315. package/monkey-front-core-0.0.239.tgz +0 -0
  316. package/monkey-front-core.d.ts +5 -0
  317. package/package.json +24 -4
  318. package/{src/public-api.ts → public-api.d.ts} +3 -6
  319. package/karma.conf.js +0 -44
  320. package/monkey-front-core-0.0.238.tgz +0 -0
  321. package/ng-package.json +0 -8
  322. package/src/lib/components/alerts/alerts.component.html +0 -18
  323. package/src/lib/components/alerts/alerts.component.scss +0 -71
  324. package/src/lib/components/alerts/alerts.component.ts +0 -36
  325. package/src/lib/components/alerts/alerts.module.ts +0 -12
  326. package/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.html +0 -25
  327. package/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.scss +0 -51
  328. package/src/lib/components/closed-to-maintenance/closed-to-maintenance.component.ts +0 -25
  329. package/src/lib/components/closed-to-maintenance/closed-to-maintenance.module.ts +0 -26
  330. package/src/lib/components/progress-bar/progress-bar.component.html +0 -3
  331. package/src/lib/components/progress-bar/progress-bar.component.scss +0 -6
  332. package/src/lib/components/progress-bar/progress-bar.component.ts +0 -22
  333. package/src/lib/components/progress-bar/progress-bar.module.ts +0 -10
  334. package/src/lib/components/progress-bar/progress-bar.service.ts +0 -61
  335. package/src/lib/components/version-changed/version-changed.component.html +0 -18
  336. package/src/lib/components/version-changed/version-changed.component.scss +0 -52
  337. package/src/lib/components/version-changed/version-changed.component.ts +0 -18
  338. package/src/lib/components/version-changed/version-changed.module.ts +0 -24
  339. package/src/lib/core/decorators/monkeyecx-charts-decorators.ts +0 -46
  340. package/src/lib/core/decorators/monkeyecx-decorators.ts +0 -159
  341. package/src/lib/core/decorators/monkeyecx-download-decorators.ts +0 -39
  342. package/src/lib/core/decorators/monkeyecx-upload-decorators.ts +0 -39
  343. package/src/lib/core/directives/monkeyecx-directives-module.ts +0 -45
  344. package/src/lib/core/directives/monkeyecx-drag-drop.ts +0 -40
  345. package/src/lib/core/directives/monkeyecx-feature-by-program-directive.ts +0 -53
  346. package/src/lib/core/directives/monkeyecx-feature-directive.ts +0 -72
  347. package/src/lib/core/directives/monkeyecx-format-currency.ts +0 -44
  348. package/src/lib/core/directives/monkeyecx-format-upper.ts +0 -54
  349. package/src/lib/core/directives/monkeyecx-only-alpha-numeric-directive.ts +0 -21
  350. package/src/lib/core/directives/monkeyecx-only-number-directive.ts +0 -21
  351. package/src/lib/core/directives/monkeyecx-popover-options.directive.ts +0 -52
  352. package/src/lib/core/directives/monkeyecx-popover.directive.ts +0 -235
  353. package/src/lib/core/directives/monkeyecx-security-directive.ts +0 -68
  354. package/src/lib/core/directives/monkeyecx-tooltip-directive.ts +0 -131
  355. package/src/lib/core/interceptors/monkeyecx-http-config-error.interceptor.ts +0 -58
  356. package/src/lib/core/interceptors/monkeyecx-http-config-header.interceptor.ts +0 -78
  357. package/src/lib/core/interceptors/monkeyecx-http-config-interceptor.module.ts +0 -40
  358. package/src/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.ts +0 -47
  359. package/src/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.ts +0 -44
  360. package/src/lib/core/interfaces/monkeyecx-auth-credentials.ts +0 -16
  361. package/src/lib/core/interfaces/monkeyecx-company.ts +0 -10
  362. package/src/lib/core/interfaces/monkeyecx-config-boostrap.ts +0 -14
  363. package/src/lib/core/interfaces/monkeyecx-config.ts +0 -139
  364. package/src/lib/core/interfaces/monkeyecx-country-security.ts +0 -4
  365. package/src/lib/core/interfaces/monkeyecx-error-response.ts +0 -5
  366. package/src/lib/core/interfaces/monkeyecx-filter.ts +0 -26
  367. package/src/lib/core/interfaces/monkeyecx-handled-error-response.ts +0 -11
  368. package/src/lib/core/interfaces/monkeyecx-header-credentials.ts +0 -4
  369. package/src/lib/core/interfaces/monkeyecx-me-credentials.ts +0 -23
  370. package/src/lib/core/interfaces/monkeyecx-navigation.ts +0 -28
  371. package/src/lib/core/interfaces/monkeyecx-program.ts +0 -10
  372. package/src/lib/core/interfaces/monkeyecx-releases.ts +0 -9
  373. package/src/lib/core/interfaces/monkeyecx-request-paged.ts +0 -27
  374. package/src/lib/core/interfaces/monkeyecx-response-links.ts +0 -11
  375. package/src/lib/core/interfaces/monkeyecx-response-paged.ts +0 -6
  376. package/src/lib/core/interfaces/monkeyecx-saved-state.ts +0 -5
  377. package/src/lib/core/interfaces/monkeyecx-token-credentials.ts +0 -20
  378. package/src/lib/core/interfaces/monkeyecx-translate-options.ts +0 -4
  379. package/src/lib/core/interfaces/request-download/monkeyecx-request-download.ts +0 -11
  380. package/src/lib/core/interfaces/request-download/monkeyecx-request-downloaded.ts +0 -8
  381. package/src/lib/core/interfaces/request-download/monkeyecx-request-item-download.ts +0 -7
  382. package/src/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.ts +0 -7
  383. package/src/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.ts +0 -6
  384. package/src/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.ts +0 -5
  385. package/src/lib/core/interfaces/request-upload/monkeyecx-request-upload.ts +0 -11
  386. package/src/lib/core/interfaces/schedules/monkeyecx-request-schedule.ts +0 -14
  387. package/src/lib/core/model/monkeyecx-model.ts +0 -38
  388. package/src/lib/core/pipes/monkeyecx-display-first-name.ts +0 -12
  389. package/src/lib/core/pipes/monkeyecx-display-initials.ts +0 -14
  390. package/src/lib/core/pipes/monkeyecx-display-support-phone.ts +0 -31
  391. package/src/lib/core/pipes/monkeyecx-format-address.ts +0 -27
  392. package/src/lib/core/pipes/monkeyecx-format-beautify-json.ts +0 -35
  393. package/src/lib/core/pipes/monkeyecx-format-currency.ts +0 -20
  394. package/src/lib/core/pipes/monkeyecx-format-date-group.ts +0 -40
  395. package/src/lib/core/pipes/monkeyecx-format-date-timelapse.ts +0 -25
  396. package/src/lib/core/pipes/monkeyecx-format-date-unix-timelapse.ts +0 -31
  397. package/src/lib/core/pipes/monkeyecx-format-document.ts +0 -12
  398. package/src/lib/core/pipes/monkeyecx-format-number.ts +0 -14
  399. package/src/lib/core/pipes/monkeyecx-format-phone.ts +0 -32
  400. package/src/lib/core/pipes/monkeyecx-format-size.ts +0 -13
  401. package/src/lib/core/pipes/monkeyecx-format-tax.ts +0 -16
  402. package/src/lib/core/pipes/monkeyecx-format-type-document.ts +0 -12
  403. package/src/lib/core/pipes/monkeyecx-format-value.ts +0 -12
  404. package/src/lib/core/pipes/monkeyecx-format-zipcode.ts +0 -12
  405. package/src/lib/core/pipes/monkeyecx-pipes.module.ts +0 -65
  406. package/src/lib/core/pipes/monkeyecx-text-truncate.ts +0 -17
  407. package/src/lib/core/pipes/monkeyecx-truncate-qtd.ts +0 -10
  408. package/src/lib/core/services/auth/monkeyecx-auth-guard-company.service.ts +0 -27
  409. package/src/lib/core/services/auth/monkeyecx-auth-guard-login.service.ts +0 -23
  410. package/src/lib/core/services/auth/monkeyecx-auth-guard.service.ts +0 -25
  411. package/src/lib/core/services/auth/monkeyecx-authentication.service.ts +0 -87
  412. package/src/lib/core/services/commons/monkeyecx-commons.service.ts +0 -557
  413. package/src/lib/core/services/config/index.ts +0 -9
  414. package/src/lib/core/services/config/monkeyecx-alerts-config.service.ts +0 -37
  415. package/src/lib/core/services/config/monkeyecx-config.module.ts +0 -23
  416. package/src/lib/core/services/config/monkeyecx-config.service.ts +0 -151
  417. package/src/lib/core/services/config/monkeyecx-error-config.service.ts +0 -92
  418. package/src/lib/core/services/config/monkeyecx-feature-toggle.service.ts +0 -71
  419. package/src/lib/core/services/config/monkeyecx-ga-config.service.ts +0 -56
  420. package/src/lib/core/services/config/monkeyecx-i18n-config.service.ts +0 -95
  421. package/src/lib/core/services/config/monkeyecx-logs-config.service.ts +0 -34
  422. package/src/lib/core/services/config/monkeyecx-maintenance-config.service.ts +0 -33
  423. package/src/lib/core/services/config/monkeyecx-security-console-config.service.ts +0 -40
  424. package/src/lib/core/services/config/monkeyecx-service-worker-config.service.ts +0 -50
  425. package/src/lib/core/services/error/monkeyecx-error-handling.module.ts +0 -20
  426. package/src/lib/core/services/error/monkeyecx-error-handling.service.ts +0 -33
  427. package/src/lib/core/services/error/monkeyecx-http-error-handling.service.ts +0 -160
  428. package/src/lib/core/services/error/monkeyecx-others-errors-handling.service.ts +0 -24
  429. package/src/lib/core/services/logged/monkeyecx-logged-handling.service.ts +0 -42
  430. package/src/lib/core/services/monkeyecx-handling.service.ts +0 -58
  431. package/src/lib/core/services/monkeyecx-service.service.ts +0 -116
  432. package/src/lib/core/services/pagination/monkeyecx-pagination.service.ts +0 -27
  433. package/src/lib/core/services/request-download/monkeyecx-request-download-handling.service.ts +0 -100
  434. package/src/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.ts +0 -65
  435. package/src/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.ts +0 -58
  436. package/src/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.ts +0 -125
  437. package/src/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.ts +0 -136
  438. package/src/lib/core/services/routes/monkeyecx-dicovery-params.service.ts +0 -54
  439. package/src/lib/core/services/schedules/monkeyecx-request-schedule.service.ts +0 -224
  440. package/src/lib/core/services/storage/monkeyecx-cookie-storage.service.ts +0 -28
  441. package/src/lib/core/services/storage/monkeyecx-token-storage.service.ts +0 -151
  442. package/src/lib/core/specification-search/monkeyecx-specification-search.ts +0 -111
  443. package/src/lib/core/utils/decorators-utils.ts +0 -56
  444. package/src/lib/core/utils/statics.ts +0 -36
  445. package/src/lib/core/utils/utils.ts +0 -237
  446. package/src/lib/core/utils/validate-utils.ts +0 -221
  447. package/src/lib/core/utils/validators.ts +0 -251
  448. package/src/lib/monkey-front-core.module.ts +0 -37
  449. package/src/test.ts +0 -26
  450. package/tsconfig.lib.json +0 -15
  451. package/tsconfig.lib.prod.json +0 -10
  452. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,206 @@
1
+ /* eslint-disable max-classes-per-file */
2
+ import * as moment_ from 'moment';
3
+ import { MonkeyEcxUtils } from './utils';
4
+ const moment = moment_;
5
+ export class DateValidator {
6
+ static do(control) {
7
+ if (!control.parent || !control)
8
+ return null;
9
+ if (control && control.value) {
10
+ const dateFormat = 'MM-DD-YYYY';
11
+ if (!moment
12
+ .default(moment.default(control.value).format(dateFormat), ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'], true)
13
+ .isValid()) {
14
+ return {
15
+ invalidDate: true,
16
+ };
17
+ }
18
+ }
19
+ return null;
20
+ }
21
+ }
22
+ export class DocumentValidator {
23
+ static do(control) {
24
+ if (!control.parent || !control)
25
+ return null;
26
+ if (control && control.value) {
27
+ if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {
28
+ return {
29
+ invalidCpfCnpj: true,
30
+ };
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ }
36
+ export class DocumentRutValidator {
37
+ static do(control) {
38
+ if (!control.parent || !control)
39
+ return null;
40
+ if (control && control.value) {
41
+ if (!MonkeyEcxUtils.isValidRUT(control.value)) {
42
+ return {
43
+ invalidRut: true,
44
+ };
45
+ }
46
+ }
47
+ return null;
48
+ }
49
+ }
50
+ export class ZipCodeValidator {
51
+ static do(control) {
52
+ if (!control.parent || !control)
53
+ return null;
54
+ if (control && control.value) {
55
+ if (!MonkeyEcxUtils.isValidZipCode(control.value)) {
56
+ return {
57
+ invalidZipCode: true,
58
+ };
59
+ }
60
+ }
61
+ return null;
62
+ }
63
+ }
64
+ export class ComboValidator {
65
+ static do(control) {
66
+ if (!control.parent || !control)
67
+ return null;
68
+ if (control && control.value !== '0')
69
+ return null;
70
+ return {
71
+ invalidCombo: true,
72
+ };
73
+ }
74
+ }
75
+ export class isTrueValidator {
76
+ static do(control) {
77
+ if (!control.parent || !control)
78
+ return null;
79
+ if (control && control.value !== false)
80
+ return null;
81
+ return {
82
+ invalidTrue: true,
83
+ };
84
+ }
85
+ }
86
+ export class PasswordMatchValidation {
87
+ static do(control) {
88
+ if (!control.parent || !control)
89
+ return null;
90
+ const { parent } = control;
91
+ const password = parent?.get('password')?.value;
92
+ const passwordConfirm = parent?.get('passwordConfirm')?.value;
93
+ if (!password || !passwordConfirm)
94
+ return null;
95
+ if (password === passwordConfirm)
96
+ return null;
97
+ return {
98
+ passwordsNotMatching: true,
99
+ };
100
+ }
101
+ }
102
+ export class UrlValidator {
103
+ static do(control) {
104
+ if (!control.parent || !control)
105
+ return null;
106
+ if (control && control.value) {
107
+ if (!MonkeyEcxUtils.isValidUrl(control.value)) {
108
+ return {
109
+ invalidUrl: true,
110
+ };
111
+ }
112
+ }
113
+ return null;
114
+ }
115
+ }
116
+ export class CustomDatesStartValidator {
117
+ static do(control) {
118
+ if (!control.parent || !control)
119
+ return null;
120
+ const { parent } = control;
121
+ const valueStart = parent?.get('dateStart')?.value;
122
+ const valueEnd = parent?.get('dateEnd')?.value;
123
+ let dateStart = null;
124
+ let dateEnd = null;
125
+ if (valueStart) {
126
+ dateStart = new Date(valueStart);
127
+ }
128
+ if (valueEnd) {
129
+ dateEnd = new Date(valueEnd);
130
+ }
131
+ if (!dateStart || !dateEnd)
132
+ return null;
133
+ if (dateStart > dateEnd) {
134
+ return {
135
+ dateStartMustBeLessThanAnd: true,
136
+ };
137
+ }
138
+ return null;
139
+ }
140
+ }
141
+ export class CustomDatesEndValidator {
142
+ static do(control) {
143
+ if (!control.parent || !control)
144
+ return null;
145
+ const { parent } = control;
146
+ const valueStart = parent?.get('dateStart')?.value;
147
+ const valueEnd = parent?.get('dateEnd')?.value;
148
+ let dateStart = null;
149
+ let dateEnd = null;
150
+ if (valueStart) {
151
+ dateStart = new Date(valueStart);
152
+ }
153
+ if (valueEnd) {
154
+ dateEnd = new Date(valueEnd);
155
+ }
156
+ if (!dateEnd || !dateStart)
157
+ return null;
158
+ if (dateEnd < dateStart) {
159
+ return {
160
+ dateEndMustBeGreaterThanStart: true,
161
+ };
162
+ }
163
+ return null;
164
+ }
165
+ }
166
+ export class UnlockRegisterBuyerValidator {
167
+ static do(control) {
168
+ if (!control.parent || !control)
169
+ return null;
170
+ if (control && control.value !== '#MONKEYBUYER') {
171
+ return {
172
+ invalidUnlockRegister: true,
173
+ };
174
+ }
175
+ return null;
176
+ }
177
+ }
178
+ export class UnlockRegisterSponsorValidator {
179
+ static do(control) {
180
+ if (!control.parent || !control)
181
+ return null;
182
+ if (control && control.value !== '#MONKEYSPONSOR') {
183
+ return {
184
+ invalidUnlockRegister: true,
185
+ };
186
+ }
187
+ return null;
188
+ }
189
+ }
190
+ export class DateRangeValidator {
191
+ static do(control) {
192
+ if (!control.parent || !control) {
193
+ return null;
194
+ }
195
+ const dates = control?.parent?.get('dates')?.value;
196
+ if (dates &&
197
+ (!MonkeyEcxUtils.persistNullEmptyUndefined(dates.startDate) ||
198
+ !MonkeyEcxUtils.persistNullEmptyUndefined(dates.endDate))) {
199
+ return {
200
+ invalidDateRange: true,
201
+ };
202
+ }
203
+ return null;
204
+ }
205
+ }
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvdmFsaWRhdGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxNQUFNLEdBQVEsT0FBTyxDQUFDO0FBRTVCLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBd0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDN0MsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7WUFDaEMsSUFDRSxDQUFDLE1BQU07aUJBQ0osT0FBTyxDQUNOLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFDaEQsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxFQUMxQyxJQUFJLENBQ0w7aUJBQ0EsT0FBTyxFQUFFLEVBQ1o7Z0JBQ0EsT0FBTztvQkFDTCxXQUFXLEVBQUUsSUFBSTtpQkFDbEIsQ0FBQzthQUNIO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUF3QjtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUM3QyxJQUFJLE9BQU8sSUFBSSxPQUFP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SDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQXdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTdDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLEVBQUU7WUFDakQsT0FBTztnQkFDTCxxQkFBcUIsRUFBRSxJQUFJO2FBQzVCLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQXdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUM7UUFFbkQsSUFDRSxLQUFLO1lBQ0wsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUN6RCxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDM0Q7WUFDQSxPQUFPO2dCQUNMLGdCQUFnQixFQUFFLElBQUk7YUFDdkIsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtY2xhc3Nlcy1wZXItZmlsZSAqL1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgbW9tZW50OiBhbnkgPSBtb21lbnRfO1xuXG5leHBvcnQgY2xhc3MgRGF0ZVZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlKSB7XG4gICAgICBjb25zdCBkYXRlRm9ybWF0ID0gJ01NLURELVlZWVknO1xuICAgICAgaWYgKFxuICAgICAgICAhbW9tZW50XG4gICAgICAgICAgLmRlZmF1bHQoXG4gICAgICAgICAgICBtb21lbnQuZGVmYXVsdChjb250cm9sLnZhbHVlKS5mb3JtYXQoZGF0ZUZvcm1hdCksXG4gICAgICAgICAgICBbJ0REL01NL1lZWVknLCAnTU0tREQtWVlZWScsICdZWVlZLU1NLUREJ10sXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICAgKVxuICAgICAgICAgIC5pc1ZhbGlkKClcbiAgICAgICkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGludmFsaWREYXRlOiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRWYWxpZGF0b3Ige1xuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSkge1xuICAgICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc0NQRkNOUEpWYWxpZChjb250cm9sLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGludmFsaWRDcGZDbnBqOiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRSdXRWYWxpZGF0b3Ige1xuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSkge1xuICAgICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkUlVUKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW52YWxpZFJ1dDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFppcENvZGVWYWxpZGF0b3Ige1xuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSkge1xuICAgICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkWmlwQ29kZShjb250cm9sLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGludmFsaWRaaXBDb2RlOiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29tYm9WYWxpZGF0b3Ige1xuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gJzAnKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZENvbWJvOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIGlzVHJ1ZVZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSBmYWxzZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludmFsaWRUcnVlOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkTWF0Y2hWYWxpZGF0aW9uIHtcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHsgcGFyZW50IH0gPSBjb250cm9sO1xuICAgIGNvbnN0IHBhc3N3b3JkID0gcGFyZW50Py5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlO1xuICAgIGNvbnN0IHBhc3N3b3JkQ29uZmlybSA9IHBhcmVudD8uZ2V0KCdwYXNzd29yZENvbmZpcm0nKT8udmFsdWU7XG4gICAgaWYgKCFwYXNzd29yZCB8fCAhcGFzc3dvcmRDb25maXJtKSByZXR1cm4gbnVsbDtcbiAgICBpZiAocGFzc3dvcmQgPT09IHBhc3N3b3JkQ29uZmlybSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhc3N3b3Jkc05vdE1hdGNoaW5nOiB0cnVlLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVybFZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlKSB7XG4gICAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRVcmwoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnZhbGlkVXJsOiB0cnVlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZXNTdGFydFZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcblxuICAgIGNvbnN0IHZhbHVlU3RhcnQgPSBwYXJlbnQ/LmdldCgnZGF0ZVN0YXJ0Jyk/LnZhbHVlO1xuICAgIGNvbnN0IHZhbHVlRW5kID0gcGFyZW50Py5nZXQoJ2RhdGVFbmQnKT8udmFsdWU7XG4gICAgbGV0IGRhdGVTdGFydDogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBkYXRlRW5kOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKHZhbHVlU3RhcnQpIHtcbiAgICAgIGRhdGVTdGFydCA9IG5ldyBEYXRlKHZhbHVlU3RhcnQpO1xuICAgIH1cbiAgICBpZiAodmFsdWVFbmQpIHtcbiAgICAgIGRhdGVFbmQgPSBuZXcgRGF0ZSh2YWx1ZUVuZCk7XG4gICAgfVxuXG4gICAgaWYgKCFkYXRlU3RhcnQgfHwgIWRhdGVFbmQpIHJldHVybiBudWxsO1xuICAgIGlmIChkYXRlU3RhcnQgPiBkYXRlRW5kKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRlU3RhcnRNdXN0QmVMZXNzVGhhbkFuZDogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21EYXRlc0VuZFZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcblxuICAgIGNvbnN0IHZhbHVlU3RhcnQgPSBwYXJlbnQ/LmdldCgnZGF0ZVN0YXJ0Jyk/LnZhbHVlO1xuICAgIGNvbnN0IHZhbHVlRW5kID0gcGFyZW50Py5nZXQoJ2RhdGVFbmQnKT8udmFsdWU7XG4gICAgbGV0IGRhdGVTdGFydDogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBkYXRlRW5kOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKHZhbHVlU3RhcnQpIHtcbiAgICAgIGRhdGVTdGFydCA9IG5ldyBEYXRlKHZhbHVlU3RhcnQpO1xuICAgIH1cbiAgICBpZiAodmFsdWVFbmQpIHtcbiAgICAgIGRhdGVFbmQgPSBuZXcgRGF0ZSh2YWx1ZUVuZCk7XG4gICAgfVxuXG4gICAgaWYgKCFkYXRlRW5kIHx8ICFkYXRlU3RhcnQpIHJldHVybiBudWxsO1xuICAgIGlmIChkYXRlRW5kIDwgZGF0ZVN0YXJ0KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRlRW5kTXVzdEJlR3JlYXRlclRoYW5TdGFydDogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmxvY2tSZWdpc3RlckJ1eWVyVmFsaWRhdG9yIHtcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuXG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gJyNNT05LRVlCVVlFUicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGludmFsaWRVbmxvY2tSZWdpc3RlcjogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVubG9ja1JlZ2lzdGVyU3BvbnNvclZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcblxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09ICcjTU9OS0VZU1BPTlNPUicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGludmFsaWRVbmxvY2tSZWdpc3RlcjogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZVZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRlcyA9IGNvbnRyb2w/LnBhcmVudD8uZ2V0KCdkYXRlcycpPy52YWx1ZTtcblxuICAgIGlmIChcbiAgICAgIGRhdGVzICYmXG4gICAgICAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZGF0ZXMuc3RhcnREYXRlKSB8fFxuICAgICAgICAhTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChkYXRlcy5lbmREYXRlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGludmFsaWREYXRlUmFuZ2U6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,208 @@
1
+ import * as moment_ from 'moment';
2
+ import { MonkeyEcxUtils } from './utils';
3
+ const moment = moment_;
4
+ const EMAIL_REGEXP = /^[\w-.]+@([\w-]+\.)+[\w-]{1,64}$/;
5
+ function isEmptyInputValue(value) {
6
+ return value == null || value.length === 0;
7
+ }
8
+ export function emailValidator(control) {
9
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
10
+ return null;
11
+ }
12
+ const test = EMAIL_REGEXP.test(control.value);
13
+ if (test)
14
+ return null;
15
+ return {
16
+ email: true,
17
+ };
18
+ }
19
+ export function dateRangeValidator(control) {
20
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
21
+ return null;
22
+ }
23
+ const dates = control?.parent?.get('dates')?.value;
24
+ if (dates &&
25
+ (!MonkeyEcxUtils.persistNullEmptyUndefined(dates?.startDate) ||
26
+ !MonkeyEcxUtils.persistNullEmptyUndefined(dates?.endDate))) {
27
+ return {
28
+ dateRange: true,
29
+ };
30
+ }
31
+ return null;
32
+ }
33
+ export function registerValidator(control, type) {
34
+ if (!control.parent || !control || isEmptyInputValue(control.value)) {
35
+ return null;
36
+ }
37
+ if (control && control.value !== `#MONKEY${type}`.toUpperCase()) {
38
+ return {
39
+ invalidUnlockRegister: true,
40
+ };
41
+ }
42
+ return null;
43
+ }
44
+ export function dateStartEndValidator(control) {
45
+ if (!control.parent || !control) {
46
+ return null;
47
+ }
48
+ const { parent } = control;
49
+ const valueStart = parent?.get('dateStart')?.value;
50
+ const valueEnd = parent?.get('dateEnd')?.value;
51
+ let dateStart = null;
52
+ let dateEnd = null;
53
+ if (valueStart) {
54
+ dateStart = new Date(valueStart);
55
+ }
56
+ if (valueEnd) {
57
+ dateEnd = new Date(valueEnd);
58
+ }
59
+ if (!dateEnd || !dateStart)
60
+ return null;
61
+ if (dateStart > dateEnd) {
62
+ return {
63
+ dateStartMustBeLessThanAnd: true,
64
+ };
65
+ }
66
+ return null;
67
+ }
68
+ export function urlValidator(control) {
69
+ if (!control.parent || !control || isEmptyInputValue(control.value))
70
+ return null;
71
+ if (!MonkeyEcxUtils.isValidUrl(control.value)) {
72
+ return {
73
+ url: true,
74
+ };
75
+ }
76
+ return null;
77
+ }
78
+ export function passwordConfirmValidator(control) {
79
+ if (!control.parent || !control || isEmptyInputValue(control.value))
80
+ return null;
81
+ const { parent } = control;
82
+ const password = parent?.get('password')?.value;
83
+ const passwordConfirm = parent?.get('passwordConfirm')?.value;
84
+ if (!password || !passwordConfirm)
85
+ return null;
86
+ if (password === passwordConfirm)
87
+ return null;
88
+ return {
89
+ passwordsNotMatching: true,
90
+ };
91
+ }
92
+ export function trueValidator(control) {
93
+ if (!control.parent || !control)
94
+ return null;
95
+ if (control && control.value !== false)
96
+ return null;
97
+ return {
98
+ invalidTrue: true,
99
+ };
100
+ }
101
+ export function comboValidator(control) {
102
+ if (!control.parent || !control)
103
+ return null;
104
+ if (control && control.value !== '0')
105
+ return null;
106
+ return {
107
+ invalidCombo: true,
108
+ };
109
+ }
110
+ export function zipCodeValidator(control) {
111
+ if (!control.parent || !control || isEmptyInputValue(control.value))
112
+ return null;
113
+ if (control && control.value) {
114
+ if (!MonkeyEcxUtils.isValidZipCode(control.value)) {
115
+ return {
116
+ invalidZipCode: true,
117
+ };
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+ export function documentValidator(control, country) {
123
+ if (!control.parent || !control || isEmptyInputValue(control.value))
124
+ return null;
125
+ if (country === 'BR') {
126
+ if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {
127
+ return {
128
+ invalidCpfCnpj: true,
129
+ };
130
+ }
131
+ }
132
+ else if (country === 'CL') {
133
+ if (!MonkeyEcxUtils.isValidRUT(control.value)) {
134
+ return {
135
+ invalidCpfCnpj: true,
136
+ };
137
+ }
138
+ }
139
+ return null;
140
+ }
141
+ export function dateValidator(control) {
142
+ if (!control.parent || !control || isEmptyInputValue(control.value))
143
+ return null;
144
+ const dateFormat = 'MM-DD-YYYY';
145
+ if (!moment
146
+ .default(moment.default(control.value).format(dateFormat), ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'], true)
147
+ .isValid()) {
148
+ return {
149
+ invalidDate: true,
150
+ };
151
+ }
152
+ return null;
153
+ }
154
+ export function valueGreaterThanZero(control) {
155
+ if (!control.parent || !control || isEmptyInputValue(control.value))
156
+ return null;
157
+ if (control && `${control?.value}` === '0') {
158
+ return {
159
+ invalidValueGreaterThanZero: true,
160
+ };
161
+ }
162
+ return null;
163
+ }
164
+ export class Validators {
165
+ static email(control) {
166
+ return emailValidator(control);
167
+ }
168
+ static dateRange(control) {
169
+ return dateRangeValidator(control);
170
+ }
171
+ static unlockSponsorRegister(control) {
172
+ return registerValidator(control, 'sponsor');
173
+ }
174
+ static unlockBuyerRegister(control) {
175
+ return registerValidator(control, 'buyer');
176
+ }
177
+ static dateStartEnd(control) {
178
+ return dateStartEndValidator(control);
179
+ }
180
+ static url(control) {
181
+ return urlValidator(control);
182
+ }
183
+ static passwordConfirm(control) {
184
+ return passwordConfirmValidator(control);
185
+ }
186
+ static true(control) {
187
+ return trueValidator(control);
188
+ }
189
+ static combo(control) {
190
+ return comboValidator(control);
191
+ }
192
+ static zipCode(control) {
193
+ return zipCodeValidator(control);
194
+ }
195
+ static documentBR(control) {
196
+ return documentValidator(control, 'BR');
197
+ }
198
+ static documentCL(control) {
199
+ return documentValidator(control, 'CL');
200
+ }
201
+ static date(control) {
202
+ return dateValidator(control);
203
+ }
204
+ static greaterThanZero(control) {
205
+ return valueGreaterThanZero(control);
206
+ }
207
+ }
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxNQUFNLEdBQVEsT0FBTyxDQUFDO0FBRTVCLE1BQU0sWUFBWSxHQUFHLGtDQUFrQyxDQUFDO0FBRXhELFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNuQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBd0I7SUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25FLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN0QixPQUFPO1FBQ0wsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUF3QjtJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkUsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFD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YSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQXdCO1FBQ25DLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXdCO1FBQ3JDLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBd0I7UUFDeEMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBd0I7UUFDeEMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBd0I7UUFDbEMsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBd0I7UUFDN0MsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBtb21lbnQ6IGFueSA9IG1vbWVudF87XG5cbmNvbnN0IEVNQUlMX1JFR0VYUCA9IC9eW1xcdy0uXStAKFtcXHctXStcXC4pK1tcXHctXXsxLDY0fSQvO1xuXG5mdW5jdGlvbiBpc0VtcHR5SW5wdXRWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHRlc3QgPSBFTUFJTF9SRUdFWFAudGVzdChjb250cm9sLnZhbHVlKTtcbiAgaWYgKHRlc3QpIHJldHVybiBudWxsO1xuICByZXR1cm4ge1xuICAgIGVtYWlsOiB0cnVlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVJhbmdlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZGF0ZXMgPSBjb250cm9sPy5wYXJlbnQ/LmdldCgnZGF0ZXMnKT8udmFsdWU7XG4gIGlmIChcbiAgICBkYXRlcyAmJlxuICAgICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChkYXRlcz8uc3RhcnREYXRlKSB8fFxuICAgICAgIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZGF0ZXM/LmVuZERhdGUpKVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0ZVJhbmdlOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgdHlwZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSBgI01PTktFWSR7dHlwZX1gLnRvVXBwZXJDYXNlKCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZFVubG9ja1JlZ2lzdGVyOiB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVTdGFydEVuZFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHsgcGFyZW50IH0gPSBjb250cm9sO1xuXG4gIGNvbnN0IHZhbHVlU3RhcnQgPSBwYXJlbnQ/LmdldCgnZGF0ZVN0YXJ0Jyk/LnZhbHVlO1xuICBjb25zdCB2YWx1ZUVuZCA9IHBhcmVudD8uZ2V0KCdkYXRlRW5kJyk/LnZhbHVlO1xuICBsZXQgZGF0ZVN0YXJ0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIGxldCBkYXRlRW5kOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIGlmICh2YWx1ZVN0YXJ0KSB7XG4gICAgZGF0ZVN0YXJ0ID0gbmV3IERhdGUodmFsdWVTdGFydCk7XG4gIH1cbiAgaWYgKHZhbHVlRW5kKSB7XG4gICAgZGF0ZUVuZCA9IG5ldyBEYXRlKHZhbHVlRW5kKTtcbiAgfVxuXG4gIGlmICghZGF0ZUVuZCB8fCAhZGF0ZVN0YXJ0KSByZXR1cm4gbnVsbDtcbiAgaWYgKGRhdGVTdGFydCA+IGRhdGVFbmQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0ZVN0YXJ0TXVzdEJlTGVzc1RoYW5BbmQ6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXJsVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG5cbiAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkVXJsKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXNzd29yZENvbmZpcm1WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcbiAgY29uc3QgcGFzc3dvcmQgPSBwYXJlbnQ/LmdldCgncGFzc3dvcmQnKT8udmFsdWU7XG4gIGNvbnN0IHBhc3N3b3JkQ29uZmlybSA9IHBhcmVudD8uZ2V0KCdwYXNzd29yZENvbmZpcm0nKT8udmFsdWU7XG4gIGlmICghcGFzc3dvcmQgfHwgIXBhc3N3b3JkQ29uZmlybSkgcmV0dXJuIG51bGw7XG4gIGlmIChwYXNzd29yZCA9PT0gcGFzc3dvcmRDb25maXJtKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4ge1xuICAgIHBhc3N3b3Jkc05vdE1hdGNoaW5nOiB0cnVlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJ1ZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSBmYWxzZSkgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBpbnZhbGlkVHJ1ZTogdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJvVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09ICcwJykgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBpbnZhbGlkQ29tYm86IHRydWUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6aXBDb2RlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRaaXBDb2RlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnZhbGlkWmlwQ29kZTogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb2N1bWVudFZhbGlkYXRvcihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICBjb3VudHJ5OiBzdHJpbmdcbik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG4gIGlmIChjb3VudHJ5ID09PSAnQlInKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc0NQRkNOUEpWYWxpZChjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW52YWxpZENwZkNucGo6IHRydWUsXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIGlmIChjb3VudHJ5ID09PSAnQ0wnKSB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkUlVUKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnZhbGlkQ3BmQ25wajogdHJ1ZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZGF0ZUZvcm1hdCA9ICdNTS1ERC1ZWVlZJztcbiAgaWYgKFxuICAgICFtb21lbnRcbiAgICAgIC5kZWZhdWx0KFxuICAgICAgICBtb21lbnQuZGVmYXVsdChjb250cm9sLnZhbHVlKS5mb3JtYXQoZGF0ZUZvcm1hdCksXG4gICAgICAgIFsnREQvTU0vWVlZWScsICdNTS1ERC1ZWVlZJywgJ1lZWVktTU0tREQnXSxcbiAgICAgICAgdHJ1ZVxuICAgICAgKVxuICAgICAgLmlzVmFsaWQoKVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZERhdGU6IHRydWUsXG4gICAgfTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlR3JlYXRlclRoYW5aZXJvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG5cbiAgaWYgKGNvbnRyb2wgJiYgYCR7Y29udHJvbD8udmFsdWV9YCA9PT0gJzAnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludmFsaWRWYWx1ZUdyZWF0ZXJUaGFuWmVybzogdHJ1ZSxcbiAgICB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XG4gIHN0YXRpYyBlbWFpbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIGRhdGVSYW5nZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGVSYW5nZVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB1bmxvY2tTcG9uc29yUmVnaXN0ZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sLCAnc3BvbnNvcicpO1xuICB9XG5cbiAgc3RhdGljIHVubG9ja0J1eWVyUmVnaXN0ZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sLCAnYnV5ZXInKTtcbiAgfVxuXG4gIHN0YXRpYyBkYXRlU3RhcnRFbmQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkYXRlU3RhcnRFbmRWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgdXJsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdXJsVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHBhc3N3b3JkQ29uZmlybShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHBhc3N3b3JkQ29uZmlybVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB0cnVlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdHJ1ZVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyBjb21ibyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGNvbWJvVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHppcENvZGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB6aXBDb2RlVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIGRvY3VtZW50QlIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkb2N1bWVudFZhbGlkYXRvcihjb250cm9sLCAnQlInKTtcbiAgfVxuXG4gIHN0YXRpYyBkb2N1bWVudENMKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gZG9jdW1lbnRWYWxpZGF0b3IoY29udHJvbCwgJ0NMJyk7XG4gIH1cblxuICBzdGF0aWMgZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGVWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgZ3JlYXRlclRoYW5aZXJvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdmFsdWVHcmVhdGVyVGhhblplcm8oY29udHJvbCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,64 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { HttpClientModule } from '@angular/common/http';
3
+ import { CommonModule } from '@angular/common';
4
+ import { MonkeyStyleGuideModalService, MonkeyStyleGuideModule, MonkeyStyleGuideSettingsService, MonkeyStyleGuideSnackbarService } from 'monkey-style-guide';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { ServiceWorkerModule } from '@angular/service-worker';
7
+ import { ClosedToMaintenanceModule, VersionChangedModule, AlertsModule } from './components';
8
+ import { MonkeyEcxConfigModule } from './core/services/config/monkeyecx-config.module';
9
+ import { MonkeyEcxHttpConfigInterceptorModule } from './core/interceptors/monkeyecx-http-config-interceptor.module';
10
+ import { MonkeyEcxErrorHandlingModule } from './core/services/error/monkeyecx-error-handling.module';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@ngx-translate/core";
13
+ import * as i2 from "./core/services/config/monkeyecx-config.module";
14
+ import * as i3 from "./core/interceptors/monkeyecx-http-config-interceptor.module";
15
+ import * as i4 from "./core/services/error/monkeyecx-error-handling.module";
16
+ import * as i5 from "@angular/service-worker";
17
+ export class MonkeyFrontCoreModule {
18
+ }
19
+ MonkeyFrontCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyFrontCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ MonkeyFrontCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyFrontCoreModule, imports: [CommonModule,
21
+ HttpClientModule, i1.TranslateModule, i2.MonkeyEcxConfigModule, i3.MonkeyEcxHttpConfigInterceptorModule, i4.MonkeyEcxErrorHandlingModule, MonkeyStyleGuideModule, i5.ServiceWorkerModule, ClosedToMaintenanceModule,
22
+ VersionChangedModule,
23
+ AlertsModule] });
24
+ MonkeyFrontCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyFrontCoreModule, providers: [
25
+ MonkeyStyleGuideModalService,
26
+ MonkeyStyleGuideSettingsService,
27
+ MonkeyStyleGuideSnackbarService
28
+ ], imports: [[
29
+ CommonModule,
30
+ HttpClientModule,
31
+ TranslateModule.forRoot(),
32
+ MonkeyEcxConfigModule.forRoot(),
33
+ MonkeyEcxHttpConfigInterceptorModule.forRoot(),
34
+ MonkeyEcxErrorHandlingModule.forRoot(),
35
+ MonkeyStyleGuideModule,
36
+ ServiceWorkerModule.register('ngsw-worker.js'),
37
+ ClosedToMaintenanceModule,
38
+ VersionChangedModule,
39
+ AlertsModule
40
+ ]] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyFrontCoreModule, decorators: [{
42
+ type: NgModule,
43
+ args: [{
44
+ imports: [
45
+ CommonModule,
46
+ HttpClientModule,
47
+ TranslateModule.forRoot(),
48
+ MonkeyEcxConfigModule.forRoot(),
49
+ MonkeyEcxHttpConfigInterceptorModule.forRoot(),
50
+ MonkeyEcxErrorHandlingModule.forRoot(),
51
+ MonkeyStyleGuideModule,
52
+ ServiceWorkerModule.register('ngsw-worker.js'),
53
+ ClosedToMaintenanceModule,
54
+ VersionChangedModule,
55
+ AlertsModule
56
+ ],
57
+ providers: [
58
+ MonkeyStyleGuideModalService,
59
+ MonkeyStyleGuideSettingsService,
60
+ MonkeyStyleGuideSnackbarService
61
+ ]
62
+ }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWZyb250LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9tb25rZXktZnJvbnQtY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdEIsK0JBQStCLEVBQy9CLCtCQUErQixFQUNoQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3BILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7O0FBc0JyRyxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsWUFsQjlCLFlBQVk7UUFDWixnQkFBZ0IsMEhBS2hCLHNCQUFzQiwwQkFFdEIseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixZQUFZO21IQVFILHFCQUFxQixhQU5yQjtRQUNULDRCQUE0QjtRQUM1QiwrQkFBK0I7UUFDL0IsK0JBQStCO0tBQ2hDLFlBakJRO1lBQ1AsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ3pCLHFCQUFxQixDQUFDLE9BQU8sRUFBRTtZQUMvQixvQ0FBb0MsQ0FBQyxPQUFPLEVBQUU7WUFDOUMsNEJBQTRCLENBQUMsT0FBTyxFQUFFO1lBQ3RDLHNCQUFzQjtZQUN0QixtQkFBbUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDOUMseUJBQXlCO1lBQ3pCLG9CQUFvQjtZQUNwQixZQUFZO1NBQ2I7MkZBT1UscUJBQXFCO2tCQXBCakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWUsQ0FBQyxPQUFPLEVBQUU7d0JBQ3pCLHFCQUFxQixDQUFDLE9BQU8sRUFBRTt3QkFDL0Isb0NBQW9DLENBQUMsT0FBTyxFQUFFO3dCQUM5Qyw0QkFBNEIsQ0FBQyxPQUFPLEVBQUU7d0JBQ3RDLHNCQUFzQjt3QkFDdEIsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO3dCQUM5Qyx5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsWUFBWTtxQkFDYjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsNEJBQTRCO3dCQUM1QiwrQkFBK0I7d0JBQy9CLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBNb25rZXlTdHlsZUd1aWRlTW9kYWxTZXJ2aWNlLFxuICBNb25rZXlTdHlsZUd1aWRlTW9kdWxlLFxuICBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLFxuICBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlXG59IGZyb20gJ21vbmtleS1zdHlsZS1ndWlkZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNlcnZpY2VXb3JrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9zZXJ2aWNlLXdvcmtlcic7XG5pbXBvcnQgeyBDbG9zZWRUb01haW50ZW5hbmNlTW9kdWxlLCBWZXJzaW9uQ2hhbmdlZE1vZHVsZSwgQWxlcnRzTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ01vZHVsZSB9IGZyb20gJy4vY29yZS9zZXJ2aWNlcy9jb25maWcvbW9ua2V5ZWN4LWNvbmZpZy5tb2R1bGUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4SHR0cENvbmZpZ0ludGVyY2VwdG9yTW9kdWxlIH0gZnJvbSAnLi9jb3JlL2ludGVyY2VwdG9ycy9tb25rZXllY3gtaHR0cC1jb25maWctaW50ZXJjZXB0b3IubW9kdWxlJztcbmltcG9ydCB7IE1vbmtleUVjeEVycm9ySGFuZGxpbmdNb2R1bGUgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvZXJyb3IvbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCgpLFxuICAgIE1vbmtleUVjeENvbmZpZ01vZHVsZS5mb3JSb290KCksXG4gICAgTW9ua2V5RWN4SHR0cENvbmZpZ0ludGVyY2VwdG9yTW9kdWxlLmZvclJvb3QoKSxcbiAgICBNb25rZXlFY3hFcnJvckhhbmRsaW5nTW9kdWxlLmZvclJvb3QoKSxcbiAgICBNb25rZXlTdHlsZUd1aWRlTW9kdWxlLFxuICAgIFNlcnZpY2VXb3JrZXJNb2R1bGUucmVnaXN0ZXIoJ25nc3ctd29ya2VyLmpzJyksXG4gICAgQ2xvc2VkVG9NYWludGVuYW5jZU1vZHVsZSxcbiAgICBWZXJzaW9uQ2hhbmdlZE1vZHVsZSxcbiAgICBBbGVydHNNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTW9ua2V5U3R5bGVHdWlkZU1vZGFsU2VydmljZSxcbiAgICBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLFxuICAgIE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlGcm9udENvcmVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWZyb250LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbW9ua2V5LWZyb250LWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Public API Surface of monkey-front-core
3
+ */
4
+ export * from './lib/components';
5
+ export * from './lib/core';
6
+ export * from './lib/monkey-front-core.module';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtb25rZXktZnJvbnQtY29yZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9ua2V5LWZyb250LWNvcmUubW9kdWxlJztcbiJdfQ==