@xsolla/payment-client-core 0.1.3 → 0.1.5-1

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 (228) hide show
  1. package/esm2020/lib/core/credit-card/credit-card-settings.interface.mjs +2 -0
  2. package/esm2020/lib/core/credit-card/credit-card-types.enum.mjs +20 -0
  3. package/esm2020/lib/core/credit-card/credit-card.interface.mjs +2 -0
  4. package/esm2020/lib/core/credit-card/credit-card.service.mjs +41 -0
  5. package/esm2020/lib/core/credit-card/credit-cards-map.const.mjs +36 -0
  6. package/esm2020/lib/core/credit-card/default-mask.const.mjs +2 -0
  7. package/esm2020/lib/core/credit-card/four-block-mask.const.mjs +2 -0
  8. package/esm2020/lib/core/credit-card/ordered-cards-settings.const.mjs +45 -0
  9. package/esm2020/lib/core/credit-card/types/american-express.mjs +13 -0
  10. package/esm2020/lib/core/credit-card/types/aura.mjs +15 -0
  11. package/esm2020/lib/core/credit-card/types/china-union-pay.mjs +12 -0
  12. package/esm2020/lib/core/credit-card/types/dankort.mjs +15 -0
  13. package/esm2020/lib/core/credit-card/types/default-card.mjs +13 -0
  14. package/esm2020/lib/core/credit-card/types/diners-clubs.mjs +13 -0
  15. package/esm2020/lib/core/credit-card/types/discover.mjs +13 -0
  16. package/esm2020/lib/core/credit-card/types/elo.mjs +13 -0
  17. package/esm2020/lib/core/credit-card/types/hipercard.mjs +13 -0
  18. package/esm2020/lib/core/credit-card/types/jcb.mjs +13 -0
  19. package/esm2020/lib/core/credit-card/types/maestro.mjs +14 -0
  20. package/esm2020/lib/core/credit-card/types/mastercard.mjs +16 -0
  21. package/esm2020/lib/core/credit-card/types/mir.mjs +15 -0
  22. package/esm2020/lib/core/credit-card/types/naranja.mjs +15 -0
  23. package/esm2020/lib/core/credit-card/types/postepay.mjs +13 -0
  24. package/esm2020/lib/core/credit-card/types/visa.mjs +13 -0
  25. package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +26 -126
  26. package/esm2020/lib/core/device-finger-print/hash.type.mjs +1 -1
  27. package/esm2020/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +72 -0
  28. package/esm2020/lib/core/encrypt-credit-card/encrypted-card.interface.mjs +2 -0
  29. package/esm2020/lib/core/encrypt-credit-card/open-card.interface.mjs +2 -0
  30. package/esm2020/lib/core/exceptions-handling/errors/encrypt-card-error.mjs +9 -0
  31. package/esm2020/lib/core/payment/actions/check-status/check-status.action.class.mjs +2 -3
  32. package/esm2020/lib/core/payment/actions/next-action.interface.mjs +1 -1
  33. package/esm2020/lib/core/payment/actions/next-actions.mjs +3 -1
  34. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.class.mjs +7 -0
  35. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.token.mjs +11 -0
  36. package/esm2020/lib/core/payment/actions/three-ds/three-ds.action.type.mjs +2 -0
  37. package/esm2020/lib/core/payment/credit-card-payment-methods-id.variable.mjs +15 -0
  38. package/esm2020/lib/core/payment/credit-card-state/credit-card-state.interface.mjs +2 -0
  39. package/esm2020/lib/core/payment/credit-card-state/credit-card-state.service.mjs +14 -0
  40. package/esm2020/lib/core/payment/form/controls/card-number-control.config.mjs +10 -0
  41. package/esm2020/lib/core/payment/form/controls/phone-control.config.mjs +8 -0
  42. package/esm2020/lib/core/payment/form/converters/birth-date.converter.mjs +38 -0
  43. package/esm2020/lib/core/payment/form/converters/card-expiration.converter.mjs +36 -0
  44. package/esm2020/lib/core/payment/form/converters/card-number.converter.mjs +45 -0
  45. package/esm2020/lib/core/payment/form/converters/cardholder-name.converter.mjs +25 -0
  46. package/esm2020/lib/core/payment/form/converters/converters-map.mjs +23 -1
  47. package/esm2020/lib/core/payment/form/converters/cpf-name-regex.variable.mjs +2 -0
  48. package/esm2020/lib/core/payment/form/converters/cpf-name.converter.mjs +34 -0
  49. package/esm2020/lib/core/payment/form/converters/cpf-number.converter.mjs +31 -0
  50. package/esm2020/lib/core/payment/form/converters/cvv.converter.mjs +50 -0
  51. package/esm2020/lib/core/payment/form/converters/phone.converter.mjs +37 -0
  52. package/esm2020/lib/core/payment/form/converters/street-number/street-number-from-state.interface.mjs +2 -0
  53. package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +28 -0
  54. package/esm2020/lib/core/payment/form/converters/text.converter.mjs +19 -0
  55. package/esm2020/lib/core/payment/form/form.module.mjs +32 -4
  56. package/esm2020/lib/core/payment/form/validators/birth-date.validator.mjs +37 -0
  57. package/esm2020/lib/core/payment/form/validators/credit-card-min-length.validator.mjs +32 -0
  58. package/esm2020/lib/core/payment/form/validators/is-empty-input-value.function.mjs +4 -0
  59. package/esm2020/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +40 -0
  60. package/esm2020/lib/core/payment/form/validators/max-length-validator.mjs +6 -0
  61. package/esm2020/lib/core/payment/form/validators/min-length-validator.mjs +6 -0
  62. package/esm2020/lib/core/payment/form/validators/phone-validator.mjs +6 -0
  63. package/esm2020/lib/core/payment/form/validators/validators.module.mjs +18 -0
  64. package/esm2020/lib/core/payment/initialize/initialize-request-params.interface.mjs +1 -1
  65. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +28 -19
  66. package/esm2020/lib/core/payment/initialize/response/initialize-response.class.mjs +43 -0
  67. package/esm2020/lib/core/payment/initialize/response/initialize-response.token.mjs +8 -0
  68. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  69. package/esm2020/lib/core/payment/payment.service.mjs +38 -8
  70. package/esm2020/lib/core/payment/status/check-status/check-status.service.mjs +8 -13
  71. package/esm2020/lib/core/payment/status/check-status/response/check-status-response.class.mjs +1 -1
  72. package/esm2020/lib/core/payment/submit/submit.service.mjs +13 -16
  73. package/esm2020/lib/core/payment/sync/field-async-validation.interface.mjs +2 -0
  74. package/esm2020/lib/core/payment/sync/field-sync-state.interface.mjs +1 -1
  75. package/esm2020/lib/core/payment/sync/request/sync-request.class.mjs +31 -0
  76. package/esm2020/lib/core/payment/sync/request/sync-request.token.mjs +8 -0
  77. package/esm2020/lib/core/payment/sync/response/sync-response.class.mjs +17 -0
  78. package/esm2020/lib/core/payment/sync/response/sync-response.token.mjs +8 -0
  79. package/esm2020/lib/core/payment/sync/sync.service.mjs +24 -15
  80. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +49 -0
  81. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.mjs +8 -0
  82. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.mjs +8 -0
  83. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.mjs +7 -0
  84. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.mjs +8 -0
  85. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +7 -0
  86. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.mjs +8 -0
  87. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +2 -0
  88. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +60 -0
  89. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +7 -0
  90. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.mjs +2 -0
  91. package/esm2020/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +105 -0
  92. package/esm2020/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +41 -0
  93. package/esm2020/lib/core/payment/three-ds/reinsurance-check/timer.interface.mjs +2 -0
  94. package/esm2020/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +2 -0
  95. package/esm2020/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +109 -0
  96. package/esm2020/lib/core/payment/three-ds/three-ds-form.interface.mjs +2 -0
  97. package/esm2020/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.mjs +5 -0
  98. package/esm2020/lib/core/payment/three-ds/three-ds.service.mjs +40 -0
  99. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +79 -0
  100. package/esm2020/lib/core/payment/xps-request-params.interface.mjs +2 -0
  101. package/esm2020/lib/core/payment/xps-request.interface.mjs +2 -0
  102. package/esm2020/lib/core/payment/xps-response.error.mjs +7 -0
  103. package/esm2020/lib/core/payment/xps-response.interface.mjs +1 -1
  104. package/esm2020/lib/core/type-guards/is-string.function.mjs +4 -0
  105. package/esm2020/lib/core-library.module.mjs +13 -4
  106. package/esm2020/lib/core-library.service.mjs +19 -5
  107. package/fesm2015/xsolla-payment-client-core.mjs +1585 -261
  108. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  109. package/fesm2020/xsolla-payment-client-core.mjs +1574 -258
  110. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  111. package/lib/core/credit-card/credit-card-settings.interface.d.ts +10 -0
  112. package/lib/core/credit-card/credit-card-types.enum.d.ts +18 -0
  113. package/lib/core/credit-card/credit-card.interface.d.ts +9 -0
  114. package/lib/core/credit-card/credit-card.service.d.ts +11 -0
  115. package/lib/core/credit-card/credit-cards-map.const.d.ts +5 -0
  116. package/lib/core/credit-card/default-mask.const.d.ts +1 -0
  117. package/lib/core/credit-card/four-block-mask.const.d.ts +1 -0
  118. package/lib/core/credit-card/ordered-cards-settings.const.d.ts +12 -0
  119. package/lib/core/credit-card/types/american-express.d.ts +2 -0
  120. package/lib/core/credit-card/types/aura.d.ts +2 -0
  121. package/lib/core/credit-card/types/china-union-pay.d.ts +2 -0
  122. package/lib/core/credit-card/types/dankort.d.ts +2 -0
  123. package/lib/core/credit-card/types/default-card.d.ts +2 -0
  124. package/lib/core/credit-card/types/diners-clubs.d.ts +2 -0
  125. package/lib/core/credit-card/types/discover.d.ts +2 -0
  126. package/lib/core/credit-card/types/elo.d.ts +2 -0
  127. package/lib/core/credit-card/types/hipercard.d.ts +2 -0
  128. package/lib/core/credit-card/types/jcb.d.ts +2 -0
  129. package/lib/core/credit-card/types/maestro.d.ts +2 -0
  130. package/lib/core/credit-card/types/mastercard.d.ts +2 -0
  131. package/lib/core/credit-card/types/mir.d.ts +2 -0
  132. package/lib/core/credit-card/types/naranja.d.ts +2 -0
  133. package/lib/core/credit-card/types/postepay.d.ts +2 -0
  134. package/lib/core/credit-card/types/visa.d.ts +2 -0
  135. package/lib/core/device-finger-print/device-finger-print.service.d.ts +3 -31
  136. package/lib/core/device-finger-print/hash.type.d.ts +1 -1
  137. package/lib/core/encrypt-credit-card/encrypt-credit-card.service.d.ts +16 -0
  138. package/lib/core/encrypt-credit-card/encrypted-card.interface.d.ts +6 -0
  139. package/lib/core/encrypt-credit-card/open-card.interface.d.ts +6 -0
  140. package/lib/core/exceptions-handling/errors/encrypt-card-error.d.ts +5 -0
  141. package/lib/core/payment/actions/next-action.interface.d.ts +2 -1
  142. package/lib/core/payment/actions/three-ds/three-ds.action.class.d.ts +8 -0
  143. package/lib/core/payment/actions/three-ds/three-ds.action.token.d.ts +4 -0
  144. package/lib/core/payment/actions/three-ds/three-ds.action.type.d.ts +5 -0
  145. package/lib/core/payment/credit-card-payment-methods-id.variable.d.ts +6 -0
  146. package/lib/core/payment/credit-card-state/credit-card-state.interface.d.ts +3 -0
  147. package/lib/core/payment/credit-card-state/credit-card-state.service.d.ts +7 -0
  148. package/lib/core/payment/form/controls/card-number-control.config.d.ts +11 -0
  149. package/lib/core/payment/form/controls/phone-control.config.d.ts +6 -0
  150. package/lib/core/payment/form/converters/birth-date.converter.d.ts +13 -0
  151. package/lib/core/payment/form/converters/card-expiration.converter.d.ts +16 -0
  152. package/lib/core/payment/form/converters/card-number.converter.d.ts +19 -0
  153. package/lib/core/payment/form/converters/cardholder-name.converter.d.ts +13 -0
  154. package/lib/core/payment/form/converters/cpf-name-regex.variable.d.ts +1 -0
  155. package/lib/core/payment/form/converters/cpf-name.converter.d.ts +13 -0
  156. package/lib/core/payment/form/converters/cpf-number.converter.d.ts +11 -0
  157. package/lib/core/payment/form/converters/cvv.converter.d.ts +18 -0
  158. package/lib/core/payment/form/converters/phone.converter.d.ts +13 -0
  159. package/lib/core/payment/form/converters/street-number/street-number-from-state.interface.d.ts +3 -0
  160. package/lib/core/payment/form/converters/street-number/street-number.converter.d.ts +14 -0
  161. package/lib/core/payment/form/converters/text.converter.d.ts +11 -0
  162. package/lib/core/payment/form/form.module.d.ts +2 -1
  163. package/lib/core/payment/form/validators/birth-date.validator.d.ts +2 -0
  164. package/lib/core/payment/form/validators/credit-card-min-length.validator.d.ts +12 -0
  165. package/lib/core/payment/form/validators/is-empty-input-value.function.d.ts +1 -0
  166. package/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.d.ts +6 -0
  167. package/lib/core/payment/form/validators/max-length-validator.d.ts +2 -0
  168. package/lib/core/payment/form/validators/min-length-validator.d.ts +2 -0
  169. package/lib/core/payment/form/validators/phone-validator.d.ts +2 -0
  170. package/lib/core/payment/form/validators/validators.module.d.ts +7 -0
  171. package/lib/core/payment/initialize/initialize-request-params.interface.d.ts +1 -0
  172. package/lib/core/payment/initialize/initialize.service.d.ts +8 -6
  173. package/lib/core/payment/initialize/{initialize-response.class.d.ts → response/initialize-response.class.d.ts} +2 -2
  174. package/lib/core/payment/payment.interface.d.ts +2 -2
  175. package/lib/core/payment/payment.service.d.ts +7 -2
  176. package/lib/core/payment/status/check-status/check-status.service.d.ts +3 -4
  177. package/lib/core/payment/submit/submit.service.d.ts +5 -4
  178. package/lib/core/payment/sync/field-async-validation.interface.d.ts +7 -0
  179. package/lib/core/payment/sync/field-sync-state.interface.d.ts +1 -1
  180. package/lib/core/payment/sync/{sync-request.class.d.ts → request/sync-request.class.d.ts} +3 -3
  181. package/lib/core/payment/sync/{sync-response.class.d.ts → response/sync-response.class.d.ts} +2 -2
  182. package/lib/core/payment/sync/sync.service.d.ts +12 -7
  183. package/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.d.ts +14 -0
  184. package/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.d.ts +10 -0
  185. package/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.d.ts +6 -0
  186. package/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.d.ts +5 -0
  187. package/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.d.ts +6 -0
  188. package/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.d.ts +7 -0
  189. package/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.d.ts +6 -0
  190. package/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.d.ts +7 -0
  191. package/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.d.ts +21 -0
  192. package/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.d.ts +5 -0
  193. package/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.d.ts +7 -0
  194. package/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.d.ts +20 -0
  195. package/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.d.ts +12 -0
  196. package/lib/core/payment/three-ds/reinsurance-check/timer.interface.d.ts +9 -0
  197. package/lib/core/payment/three-ds/three-ds-20/status-update.interface.d.ts +12 -0
  198. package/lib/core/payment/three-ds/three-ds-20/three-ds20.service.d.ts +32 -0
  199. package/lib/core/payment/three-ds/three-ds-form.interface.d.ts +11 -0
  200. package/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.d.ts +3 -0
  201. package/lib/core/payment/three-ds/three-ds.service.d.ts +14 -0
  202. package/lib/core/payment/xps-api/xps-api.service.d.ts +20 -0
  203. package/lib/core/payment/xps-request-params.interface.d.ts +3 -0
  204. package/lib/core/payment/xps-request.interface.d.ts +10 -0
  205. package/lib/core/payment/xps-response.error.d.ts +4 -0
  206. package/lib/core/payment/xps-response.interface.d.ts +3 -10
  207. package/lib/core/type-guards/is-string.function.d.ts +1 -0
  208. package/lib/core-library.service.d.ts +10 -1
  209. package/package.json +2 -3
  210. package/xsolla-payment-client-core-0.1.5-1.tgz +0 -0
  211. package/esm2020/lib/core/device-finger-print/device-finger-print-components.interface.mjs +0 -2
  212. package/esm2020/lib/core/device-finger-print/fingerprint-js.interface.mjs +0 -2
  213. package/esm2020/lib/core/exceptions-handling/errors/default-terminal-error.class.mjs +0 -8
  214. package/esm2020/lib/core/payment/initialize/initialize-response.class.mjs +0 -43
  215. package/esm2020/lib/core/payment/initialize/initialize-response.token.mjs +0 -8
  216. package/esm2020/lib/core/payment/sync/sync-request.class.mjs +0 -31
  217. package/esm2020/lib/core/payment/sync/sync-request.token.mjs +0 -8
  218. package/esm2020/lib/core/payment/sync/sync-response.class.mjs +0 -17
  219. package/esm2020/lib/core/payment/sync/sync-response.token.mjs +0 -8
  220. package/esm2020/lib/core/payment/xps-request.abstract.mjs +0 -8
  221. package/lib/core/device-finger-print/device-finger-print-components.interface.d.ts +0 -4
  222. package/lib/core/device-finger-print/fingerprint-js.interface.d.ts +0 -6
  223. package/lib/core/exceptions-handling/errors/default-terminal-error.class.d.ts +0 -4
  224. package/lib/core/payment/xps-request.abstract.d.ts +0 -6
  225. package/xsolla-payment-client-core-0.1.3.tgz +0 -0
  226. /package/lib/core/payment/initialize/{initialize-response.token.d.ts → response/initialize-response.token.d.ts} +0 -0
  227. /package/lib/core/payment/sync/{sync-request.token.d.ts → request/sync-request.token.d.ts} +0 -0
  228. /package/lib/core/payment/sync/{sync-response.token.d.ts → response/sync-response.token.d.ts} +0 -0
@@ -0,0 +1,45 @@
1
+ import { Converter } from './converter.abstract';
2
+ import { luhnFormulaValidator } from '../validators/luhn-formula-validator/luhn-formula.validator';
3
+ import { CardNumberConfig } from '../controls/card-number-control.config';
4
+ import { Injectable } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../sync/sync.service";
7
+ import * as i2 from "../validators/credit-card-min-length.validator";
8
+ export class CardNumberConverter extends Converter {
9
+ constructor(syncService, maxLengthValidator, minLengthValidator) {
10
+ super(syncService);
11
+ this.maxLengthValidator = maxLengthValidator;
12
+ this.minLengthValidator = minLengthValidator;
13
+ }
14
+ getValidators(field) {
15
+ return super
16
+ .getValidators(field)
17
+ .concat([
18
+ luhnFormulaValidator,
19
+ this.minLengthValidator.validate,
20
+ this.maxLengthValidator.validate,
21
+ ]);
22
+ }
23
+ createControlConfig(field, formState) {
24
+ const config = this.createDefaultControlConfig(CardNumberConfig, field);
25
+ config.placeholder = config.title;
26
+ config.availableCardTypes =
27
+ formState?.availableCardTypes ?? [];
28
+ config.activeCardType = formState?.activeCardType;
29
+ config.customError = formState?.customError;
30
+ config.disabled = formState?.disabled ?? false;
31
+ return config;
32
+ }
33
+ getAutocomplete() {
34
+ return 'cc-number';
35
+ }
36
+ getDataType() {
37
+ return 'text';
38
+ }
39
+ }
40
+ CardNumberConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardNumberConverter, deps: [{ token: i1.SyncService }, { token: i2.CreditCardMinLengthValidator }, { token: i2.CreditCardMinLengthValidator }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ CardNumberConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardNumberConverter });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardNumberConverter, decorators: [{
43
+ type: Injectable
44
+ }], ctorParameters: function () { return [{ type: i1.SyncService }, { type: i2.CreditCardMinLengthValidator }, { type: i2.CreditCardMinLengthValidator }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1udW1iZXIuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvY2FyZC1udW1iZXIuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUtqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUVuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUFTO0lBQ2hELFlBQ0UsV0FBd0IsRUFDUCxrQkFBZ0QsRUFDaEQsa0JBQWdEO1FBRWpFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhGLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBOEI7UUFDaEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUE4QjtJQUduRSxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQVk7UUFDL0IsT0FBTyxLQUFLO2FBQ1QsYUFBYSxDQUFDLEtBQUssQ0FBQzthQUNwQixNQUFNLENBQUM7WUFDTixvQkFBb0I7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVE7U0FDakMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVTLG1CQUFtQixDQUMzQixLQUFZLEVBQ1osU0FBb0I7UUFFcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUVsQyxNQUFNLENBQUMsa0JBQWtCO1lBQ3RCLFNBQVMsRUFBRSxrQkFBd0MsSUFBSSxFQUFFLENBQUM7UUFFN0QsTUFBTSxDQUFDLGNBQWMsR0FBRyxTQUFTLEVBQUUsY0FBaUMsQ0FBQztRQUVyRSxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsRUFBRSxXQUFxQixDQUFDO1FBQ3RELE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Z0hBNUNVLG1CQUFtQjtvSEFBbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRNaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL2NyZWRpdC1jYXJkLW1pbi1sZW5ndGgudmFsaWRhdG9yJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbHVobkZvcm11bGFWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL2x1aG4tZm9ybXVsYS12YWxpZGF0b3IvbHVobi1mb3JtdWxhLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuLi9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJkTnVtYmVyQ29uZmlnIH0gZnJvbSAnLi4vY29udHJvbHMvY2FyZC1udW1iZXItY29udHJvbC5jb25maWcnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYXJkTnVtYmVyQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1heExlbmd0aFZhbGlkYXRvcjogQ3JlZGl0Q2FyZE1pbkxlbmd0aFZhbGlkYXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1pbkxlbmd0aFZhbGlkYXRvcjogQ3JlZGl0Q2FyZE1pbkxlbmd0aFZhbGlkYXRvclxuICApIHtcbiAgICBzdXBlcihzeW5jU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsaWRhdG9ycyhmaWVsZDogRmllbGQpOiBWYWxpZGF0b3JGbltdIHtcbiAgICByZXR1cm4gc3VwZXJcbiAgICAgIC5nZXRWYWxpZGF0b3JzKGZpZWxkKVxuICAgICAgLmNvbmNhdChbXG4gICAgICAgIGx1aG5Gb3JtdWxhVmFsaWRhdG9yLFxuICAgICAgICB0aGlzLm1pbkxlbmd0aFZhbGlkYXRvci52YWxpZGF0ZSxcbiAgICAgICAgdGhpcy5tYXhMZW5ndGhWYWxpZGF0b3IudmFsaWRhdGUsXG4gICAgICBdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmb3JtU3RhdGU6IEZvcm1TdGF0ZVxuICApOiBDYXJkTnVtYmVyQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKENhcmROdW1iZXJDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5wbGFjZWhvbGRlciA9IGNvbmZpZy50aXRsZTtcblxuICAgIGNvbmZpZy5hdmFpbGFibGVDYXJkVHlwZXMgPVxuICAgICAgKGZvcm1TdGF0ZT8uYXZhaWxhYmxlQ2FyZFR5cGVzIGFzIENyZWRpdENhcmRUeXBlc1tdKSA/PyBbXTtcblxuICAgIGNvbmZpZy5hY3RpdmVDYXJkVHlwZSA9IGZvcm1TdGF0ZT8uYWN0aXZlQ2FyZFR5cGUgYXMgQ3JlZGl0Q2FyZFR5cGVzO1xuXG4gICAgY29uZmlnLmN1c3RvbUVycm9yID0gZm9ybVN0YXRlPy5jdXN0b21FcnJvciBhcyBzdHJpbmc7XG4gICAgY29uZmlnLmRpc2FibGVkID0gZm9ybVN0YXRlPy5kaXNhYmxlZCA/PyBmYWxzZTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXV0b2NvbXBsZXRlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdjYy1udW1iZXInO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldERhdGFUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd0ZXh0JztcbiAgfVxufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TextControlConfig } from '../controls/text-control.config';
3
+ import { Converter } from './converter.abstract';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../sync/sync.service";
6
+ export class CardholderNameConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ return this.createDefaultControlConfig(TextControlConfig, field);
12
+ }
13
+ getAutocomplete() {
14
+ return 'cc-name';
15
+ }
16
+ getDataType() {
17
+ return 'text';
18
+ }
19
+ }
20
+ CardholderNameConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardholderNameConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ CardholderNameConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardholderNameConverter });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CardholderNameConverter, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZGhvbGRlci1uYW1lLmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL2NhcmRob2xkZXItbmFtZS5jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUdqRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsU0FBUztJQUNwRCxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLEtBQVk7UUFDeEMsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7b0hBZlUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVyLmFic3RyYWN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhcmRob2xkZXJOYW1lQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFRleHRDb250cm9sQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2MtbmFtZSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGF0YVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3RleHQnO1xuICB9XG59XG4iXX0=
@@ -1,9 +1,31 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import { EmailConverter } from './email.converter';
3
3
  import { ZipConverter } from './zip.converter';
4
+ import { CardNumberConverter } from './card-number.converter';
5
+ import { CardExpirationConverter } from './card-expiration.converter';
6
+ import { CvvConverter } from './cvv.converter';
7
+ import { BirthDateConverter } from './birth-date.converter';
8
+ import { CardholderNameConverter } from './cardholder-name.converter';
9
+ import { CpfNameConverter } from './cpf-name.converter';
10
+ import { CpfNumberConverter } from './cpf-number.converter';
11
+ import { StreetNumberConverter } from './street-number/street-number.converter';
12
+ import { TextConverter } from './text.converter';
13
+ import { PhoneConverter } from './phone.converter';
4
14
  export const convertersMapToken = new InjectionToken('ConvertersTokensMap');
5
15
  export const convertersMap = {
6
16
  zip: ZipConverter,
7
17
  email: EmailConverter,
18
+ card_number: CardNumberConverter,
19
+ card_month: CardExpirationConverter,
20
+ card_year: CardExpirationConverter,
21
+ cvv: CvvConverter,
22
+ extra_cvv: CvvConverter,
23
+ cardholdername: CardholderNameConverter,
24
+ cpf_number: CpfNumberConverter,
25
+ cpf_name: CpfNameConverter,
26
+ birth_date: BirthDateConverter,
27
+ street_number: StreetNumberConverter,
28
+ text: TextConverter,
29
+ phone: PhoneConverter,
8
30
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9jb252ZXJ0ZXJzLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2xELHFCQUFxQixDQUN0QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQjtJQUMxQyxHQUFHLEVBQUUsWUFBWTtJQUNqQixLQUFLLEVBQUUsY0FBYztDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlcnNNYXAgfSBmcm9tICcuL2NvbnZlcnRlcnMtbWFwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFbWFpbENvbnZlcnRlciB9IGZyb20gJy4vZW1haWwuY29udmVydGVyJztcbmltcG9ydCB7IFppcENvbnZlcnRlciB9IGZyb20gJy4vemlwLmNvbnZlcnRlcic7XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0ZXJzTWFwVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29udmVydGVyc01hcD4oXG4gICdDb252ZXJ0ZXJzVG9rZW5zTWFwJ1xuKTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRlcnNNYXA6IENvbnZlcnRlcnNNYXAgPSB7XG4gIHppcDogWmlwQ29udmVydGVyLFxuICBlbWFpbDogRW1haWxDb252ZXJ0ZXIsXG59O1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVycy1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9jb252ZXJ0ZXJzLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2xELHFCQUFxQixDQUN0QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQjtJQUMxQyxHQUFHLEVBQUUsWUFBWTtJQUNqQixLQUFLLEVBQUUsY0FBYztJQUNyQixXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFVBQVUsRUFBRSx1QkFBdUI7SUFDbkMsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxHQUFHLEVBQUUsWUFBWTtJQUNqQixTQUFTLEVBQUUsWUFBWTtJQUN2QixjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsSUFBSSxFQUFFLGFBQWE7SUFDbkIsS0FBSyxFQUFFLGNBQWM7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb252ZXJ0ZXJzTWFwIH0gZnJvbSAnLi9jb252ZXJ0ZXJzLW1hcC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRW1haWxDb252ZXJ0ZXIgfSBmcm9tICcuL2VtYWlsLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBaaXBDb252ZXJ0ZXIgfSBmcm9tICcuL3ppcC5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ2FyZE51bWJlckNvbnZlcnRlciB9IGZyb20gJy4vY2FyZC1udW1iZXIuY29udmVydGVyJztcbmltcG9ydCB7IENhcmRFeHBpcmF0aW9uQ29udmVydGVyIH0gZnJvbSAnLi9jYXJkLWV4cGlyYXRpb24uY29udmVydGVyJztcbmltcG9ydCB7IEN2dkNvbnZlcnRlciB9IGZyb20gJy4vY3Z2LmNvbnZlcnRlcic7XG5pbXBvcnQgeyBCaXJ0aERhdGVDb252ZXJ0ZXIgfSBmcm9tICcuL2JpcnRoLWRhdGUuY29udmVydGVyJztcbmltcG9ydCB7IENhcmRob2xkZXJOYW1lQ29udmVydGVyIH0gZnJvbSAnLi9jYXJkaG9sZGVyLW5hbWUuY29udmVydGVyJztcbmltcG9ydCB7IENwZk5hbWVDb252ZXJ0ZXIgfSBmcm9tICcuL2NwZi1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NwZi1udW1iZXIuY29udmVydGVyJztcbmltcG9ydCB7IFN0cmVldE51bWJlckNvbnZlcnRlciB9IGZyb20gJy4vc3RyZWV0LW51bWJlci9zdHJlZXQtbnVtYmVyLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBUZXh0Q29udmVydGVyIH0gZnJvbSAnLi90ZXh0LmNvbnZlcnRlcic7XG5pbXBvcnQgeyBQaG9uZUNvbnZlcnRlciB9IGZyb20gJy4vcGhvbmUuY29udmVydGVyJztcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRlcnNNYXBUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb252ZXJ0ZXJzTWFwPihcbiAgJ0NvbnZlcnRlcnNUb2tlbnNNYXAnXG4pO1xuXG5leHBvcnQgY29uc3QgY29udmVydGVyc01hcDogQ29udmVydGVyc01hcCA9IHtcbiAgemlwOiBaaXBDb252ZXJ0ZXIsXG4gIGVtYWlsOiBFbWFpbENvbnZlcnRlcixcbiAgY2FyZF9udW1iZXI6IENhcmROdW1iZXJDb252ZXJ0ZXIsXG4gIGNhcmRfbW9udGg6IENhcmRFeHBpcmF0aW9uQ29udmVydGVyLFxuICBjYXJkX3llYXI6IENhcmRFeHBpcmF0aW9uQ29udmVydGVyLFxuICBjdnY6IEN2dkNvbnZlcnRlcixcbiAgZXh0cmFfY3Z2OiBDdnZDb252ZXJ0ZXIsXG4gIGNhcmRob2xkZXJuYW1lOiBDYXJkaG9sZGVyTmFtZUNvbnZlcnRlcixcbiAgY3BmX251bWJlcjogQ3BmTnVtYmVyQ29udmVydGVyLFxuICBjcGZfbmFtZTogQ3BmTmFtZUNvbnZlcnRlcixcbiAgYmlydGhfZGF0ZTogQmlydGhEYXRlQ29udmVydGVyLFxuICBzdHJlZXRfbnVtYmVyOiBTdHJlZXROdW1iZXJDb252ZXJ0ZXIsXG4gIHRleHQ6IFRleHRDb252ZXJ0ZXIsXG4gIHBob25lOiBQaG9uZUNvbnZlcnRlcixcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export const cpfNameRegex = /^[a-zA-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ.'-]{2,50}(?: [a-zA-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ.'-]{2,50}){1,8}$/i; // tslint:disable-line
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLW5hbWUtcmVnZXgudmFyaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9jcGYtbmFtZS1yZWdleC52YXJpYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQ3ZCLHlKQUF5SixDQUFDLENBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNwZk5hbWVSZWdleCA9XG4gIC9eW2EtekEtWsOAw4HDgsODw4TDhcOHw4jDicOKw4vDjMONw47Dj8OSw5PDlMOVw5bDmcOaw5vDnMOdw6DDocOiw6PDpMOlw6fDqMOpw6rDq8Osw63DrsOvw7DDssOzw7TDtcO2w7nDusO7w7zDvcO/LictXXsyLDUwfSg/OiBbYS16QS1aw4DDgcOCw4PDhMOFw4fDiMOJw4rDi8OMw43DjsOPw5LDk8OUw5XDlsOZw5rDm8Ocw53DoMOhw6LDo8Okw6XDp8Oow6nDqsOrw6zDrcOuw6/DsMOyw7PDtMO1w7bDucO6w7vDvMO9w78uJy1dezIsNTB9KXsxLDh9JC9pOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { TextControlConfig } from '../controls/text-control.config';
4
+ import { convert } from '../validators/convert.function';
5
+ import { Converter } from './converter.abstract';
6
+ import { cpfNameRegex } from './cpf-name-regex.variable';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../sync/sync.service";
9
+ export class CpfNameConverter extends Converter {
10
+ constructor(syncService) {
11
+ super(syncService);
12
+ }
13
+ getValidators(field) {
14
+ return super
15
+ .getValidators(field)
16
+ .concat([
17
+ convert(Validators.pattern(cpfNameRegex), `Enter a valid name`),
18
+ ]);
19
+ }
20
+ createControlConfig(field) {
21
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
22
+ config.tooltip = {
23
+ text: `Where to find your name`,
24
+ image: 'cpf-name',
25
+ };
26
+ return config;
27
+ }
28
+ }
29
+ CpfNameConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CpfNameConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ CpfNameConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CpfNameConverter });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CpfNameConverter, decorators: [{
32
+ type: Injectable
33
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLW5hbWUuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvY3BmLW5hbWUuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFHekQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFDN0MsWUFBbUIsV0FBd0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBWTtRQUMvQixPQUFPLEtBQUs7YUFDVCxhQUFhLENBQUMsS0FBSyxDQUFDO2FBQ3BCLE1BQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLG9CQUFvQixDQUFDO1NBQ2hFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFZO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV6RSxNQUFNLENBQUMsT0FBTyxHQUFHO1lBQ2YsSUFBSSxFQUFFLHlCQUF5QjtZQUMvQixLQUFLLEVBQUUsVUFBVTtTQUNsQixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7NkdBdEJVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuLi92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuaW1wb3J0IHsgY3BmTmFtZVJlZ2V4IH0gZnJvbSAnLi9jcGYtbmFtZS1yZWdleC52YXJpYWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcGZOYW1lQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKGZpZWxkOiBGaWVsZCk6IFZhbGlkYXRvckZuW10ge1xuICAgIHJldHVybiBzdXBlclxuICAgICAgLmdldFZhbGlkYXRvcnMoZmllbGQpXG4gICAgICAuY29uY2F0KFtcbiAgICAgICAgY29udmVydChWYWxpZGF0b3JzLnBhdHRlcm4oY3BmTmFtZVJlZ2V4KSwgYEVudGVyIGEgdmFsaWQgbmFtZWApLFxuICAgICAgXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29udHJvbENvbmZpZyhmaWVsZDogRmllbGQpOiBUZXh0Q29udHJvbENvbmZpZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuXG4gICAgY29uZmlnLnRvb2x0aXAgPSB7XG4gICAgICB0ZXh0OiBgV2hlcmUgdG8gZmluZCB5b3VyIG5hbWVgLFxuICAgICAgaW1hZ2U6ICdjcGYtbmFtZScsXG4gICAgfTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TextControlConfig } from '../controls/text-control.config';
3
+ import { Converter } from './converter.abstract';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../sync/sync.service";
6
+ export class CpfNumberConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
12
+ config.maskConfig = {
13
+ mask: '999.999.999-99',
14
+ unmaskModelValue: true,
15
+ guide: false,
16
+ };
17
+ config.inputMode = 'numeric';
18
+ config.placeholder = '000.000.000-00';
19
+ config.tooltip = {
20
+ text: `Where to find your registration number`,
21
+ image: 'cpf-number',
22
+ };
23
+ return config;
24
+ }
25
+ }
26
+ CpfNumberConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CpfNumberConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ CpfNumberConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CpfNumberConverter });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CpfNumberConverter, decorators: [{
29
+ type: Injectable
30
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLW51bWJlci5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9jcGYtbnVtYmVyLmNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO0lBQy9DLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekUsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUNsQixJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO1FBRUYsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFN0IsTUFBTSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUV0QyxNQUFNLENBQUMsT0FBTyxHQUFHO1lBQ2YsSUFBSSxFQUFFLHdDQUF3QztZQUM5QyxLQUFLLEVBQUUsWUFBWTtTQUNwQixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7K0dBeEJVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDcGZOdW1iZXJDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5tYXNrQ29uZmlnID0ge1xuICAgICAgbWFzazogJzk5OS45OTkuOTk5LTk5JyxcbiAgICAgIHVubWFza01vZGVsVmFsdWU6IHRydWUsXG4gICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGNvbmZpZy5pbnB1dE1vZGUgPSAnbnVtZXJpYyc7XG5cbiAgICBjb25maWcucGxhY2Vob2xkZXIgPSAnMDAwLjAwMC4wMDAtMDAnO1xuXG4gICAgY29uZmlnLnRvb2x0aXAgPSB7XG4gICAgICB0ZXh0OiBgV2hlcmUgdG8gZmluZCB5b3VyIHJlZ2lzdHJhdGlvbiBudW1iZXJgLFxuICAgICAgaW1hZ2U6ICdjcGYtbnVtYmVyJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
@@ -0,0 +1,50 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from './converter.abstract';
3
+ import { TextControlConfig } from '../controls/text-control.config';
4
+ import { FieldNames } from '../../field-names.enum';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../sync/sync.service";
7
+ export class CvvConverter extends Converter {
8
+ constructor(syncService) {
9
+ super(syncService);
10
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
11
+ this.maxFieldLength = 4;
12
+ }
13
+ getValidators() {
14
+ return [];
15
+ }
16
+ createControlConfig(field, formState) {
17
+ const config = this.createDefaultControlConfig(TextControlConfig, field);
18
+ config.maskConfig = {
19
+ mask: () => new Array(this.maxFieldLength).fill('9').join(''),
20
+ unmaskModelValue: false,
21
+ guide: false,
22
+ };
23
+ config.tooltip = {
24
+ text: 'The code is on the back of your card',
25
+ image: 'cvv',
26
+ parentField: FieldNames.cvv,
27
+ position: 'input',
28
+ analyticsAction: 'show-cvv-tooltip',
29
+ };
30
+ config.inputMode = 'numeric';
31
+ config.shouldHideUserInput = this.shouldHideUserInput();
32
+ config.disabled = formState?.disabled ?? false;
33
+ return config;
34
+ }
35
+ getAutocomplete() {
36
+ return 'cc-csc';
37
+ }
38
+ getDataType() {
39
+ return 'password';
40
+ }
41
+ shouldHideUserInput() {
42
+ return true;
43
+ }
44
+ }
45
+ CvvConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
46
+ CvvConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CvvConverter, decorators: [{
48
+ type: Injectable
49
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Z2LmNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL2N2di5jb252ZXJ0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFHcEQsTUFBTSxPQUFPLFlBQWEsU0FBUSxTQUFTO0lBSXpDLFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUpyQiwrREFBK0Q7UUFDOUMsbUJBQWMsR0FBRyxDQUFDLENBQUM7SUFJcEMsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsbUJBQW1CLENBQzNCLEtBQVksRUFDWixTQUFvQjtRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekUsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUNsQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzdELGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO1FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRztZQUNmLElBQUksRUFBRSxzQ0FBc0M7WUFDNUMsS0FBSyxFQUFFLEtBQUs7WUFDWixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUc7WUFDM0IsUUFBUSxFQUFFLE9BQU87WUFDakIsZUFBZSxFQUFFLGtCQUFrQjtTQUNwQyxDQUFDO1FBRUYsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsTUFBTSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxFQUFFLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLGVBQWU7UUFDdkIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O3lHQWpEVSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVyLmFic3RyYWN0JztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuLi9mb3JtLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUZXh0Q29udHJvbENvbmZpZyB9IGZyb20gJy4uL2NvbnRyb2xzL3RleHQtY29udHJvbC5jb25maWcnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uL2ZpZWxkLW5hbWVzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3Z2Q29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4RmllbGRMZW5ndGggPSA0O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzeW5jU2VydmljZTogU3luY1NlcnZpY2UpIHtcbiAgICBzdXBlcihzeW5jU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQ29udHJvbENvbmZpZyhcbiAgICBmaWVsZDogRmllbGQsXG4gICAgZm9ybVN0YXRlOiBGb3JtU3RhdGVcbiAgKTogVGV4dENvbnRyb2xDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY3JlYXRlRGVmYXVsdENvbnRyb2xDb25maWcoVGV4dENvbnRyb2xDb25maWcsIGZpZWxkKTtcblxuICAgIGNvbmZpZy5tYXNrQ29uZmlnID0ge1xuICAgICAgbWFzazogKCkgPT4gbmV3IEFycmF5KHRoaXMubWF4RmllbGRMZW5ndGgpLmZpbGwoJzknKS5qb2luKCcnKSxcbiAgICAgIHVubWFza01vZGVsVmFsdWU6IGZhbHNlLFxuICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25maWcudG9vbHRpcCA9IHtcbiAgICAgIHRleHQ6ICdUaGUgY29kZSBpcyBvbiB0aGUgYmFjayBvZiB5b3VyIGNhcmQnLFxuICAgICAgaW1hZ2U6ICdjdnYnLFxuICAgICAgcGFyZW50RmllbGQ6IEZpZWxkTmFtZXMuY3Z2LFxuICAgICAgcG9zaXRpb246ICdpbnB1dCcsXG4gICAgICBhbmFseXRpY3NBY3Rpb246ICdzaG93LWN2di10b29sdGlwJyxcbiAgICB9O1xuXG4gICAgY29uZmlnLmlucHV0TW9kZSA9ICdudW1lcmljJztcbiAgICBjb25maWcuc2hvdWxkSGlkZVVzZXJJbnB1dCA9IHRoaXMuc2hvdWxkSGlkZVVzZXJJbnB1dCgpO1xuICAgIGNvbmZpZy5kaXNhYmxlZCA9IGZvcm1TdGF0ZT8uZGlzYWJsZWQgPz8gZmFsc2U7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEF1dG9jb21wbGV0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnY2MtY3NjJztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAncGFzc3dvcmQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNob3VsZEhpZGVVc2VySW5wdXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Converter } from './converter.abstract';
3
+ import { convertedRequiredValidator } from '../validators/required-validator';
4
+ import { phoneValidator } from '../validators/phone-validator';
5
+ import { minLengthValidator } from '../validators/min-length-validator';
6
+ import { maxLengthValidator } from '../validators/max-length-validator';
7
+ import { PhoneControlConfig } from '../controls/phone-control.config';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../sync/sync.service";
10
+ export class PhoneConverter extends Converter {
11
+ constructor(syncService) {
12
+ super(syncService);
13
+ }
14
+ getValidators(field) {
15
+ const minLength = 10;
16
+ const maxLength = 15;
17
+ return super
18
+ .getValidators(field)
19
+ .concat([
20
+ convertedRequiredValidator(),
21
+ phoneValidator(),
22
+ minLengthValidator(minLength),
23
+ maxLengthValidator(maxLength),
24
+ ]);
25
+ }
26
+ createControlConfig(field) {
27
+ const config = this.createDefaultControlConfig(PhoneControlConfig, field);
28
+ config.inputMode = 'numeric';
29
+ return config;
30
+ }
31
+ }
32
+ PhoneConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PhoneConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ PhoneConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PhoneConverter });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: PhoneConverter, decorators: [{
35
+ type: Injectable
36
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL2NvbnZlcnRlcnMvcGhvbmUuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBR3RFLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUMzQyxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFZO1FBQy9CLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFckIsT0FBTyxLQUFLO2FBQ1QsYUFBYSxDQUFDLEtBQUssQ0FBQzthQUNwQixNQUFNLENBQUM7WUFDTiwwQkFBMEIsRUFBRTtZQUM1QixjQUFjLEVBQUU7WUFDaEIsa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQzdCLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUUsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7MkdBdkJVLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNvbnZlcnRlZFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9yZXF1aXJlZC12YWxpZGF0b3InO1xuaW1wb3J0IHsgcGhvbmVWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL3Bob25lLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBtaW5MZW5ndGhWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL21pbi1sZW5ndGgtdmFsaWRhdG9yJztcbmltcG9ydCB7IG1heExlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbWF4LWxlbmd0aC12YWxpZGF0b3InO1xuaW1wb3J0IHsgUGhvbmVDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vY29udHJvbHMvcGhvbmUtY29udHJvbC5jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGhvbmVDb252ZXJ0ZXIgZXh0ZW5kcyBDb252ZXJ0ZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc3luY1NlcnZpY2U6IFN5bmNTZXJ2aWNlKSB7XG4gICAgc3VwZXIoc3luY1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIGdldFZhbGlkYXRvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgbWluTGVuZ3RoID0gMTA7XG4gICAgY29uc3QgbWF4TGVuZ3RoID0gMTU7XG5cbiAgICByZXR1cm4gc3VwZXJcbiAgICAgIC5nZXRWYWxpZGF0b3JzKGZpZWxkKVxuICAgICAgLmNvbmNhdChbXG4gICAgICAgIGNvbnZlcnRlZFJlcXVpcmVkVmFsaWRhdG9yKCksXG4gICAgICAgIHBob25lVmFsaWRhdG9yKCksXG4gICAgICAgIG1pbkxlbmd0aFZhbGlkYXRvcihtaW5MZW5ndGgpLFxuICAgICAgICBtYXhMZW5ndGhWYWxpZGF0b3IobWF4TGVuZ3RoKSxcbiAgICAgIF0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRyb2xDb25maWcoZmllbGQ6IEZpZWxkKTogUGhvbmVDb250cm9sQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNyZWF0ZURlZmF1bHRDb250cm9sQ29uZmlnKFBob25lQ29udHJvbENvbmZpZywgZmllbGQpO1xuICAgIGNvbmZpZy5pbnB1dE1vZGUgPSAnbnVtZXJpYyc7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LW51bWJlci1mcm9tLXN0YXRlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb252ZXJ0ZXJzL3N0cmVldC1udW1iZXIvc3RyZWV0LW51bWJlci1mcm9tLXN0YXRlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTdHJlZXROdW1iZXJGb3JtU3RhdGUge1xuICBjb3VudHJ5Pzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TextControlConfig } from '../../controls/text-control.config';
3
+ import { convert } from '../../validators/convert.function';
4
+ import { restrictedValueValidator } from '../../validators/restricted-value.validator';
5
+ import { Converter } from '../converter.abstract';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../sync/sync.service";
8
+ export class StreetNumberConverter extends Converter {
9
+ constructor(syncService) {
10
+ super(syncService);
11
+ }
12
+ getValidators(field, formState) {
13
+ const validators = super.getValidators(field);
14
+ if (formState?.country === 'BL') {
15
+ validators.push(convert(restrictedValueValidator('0'), `Enter a valid building number`));
16
+ }
17
+ return validators;
18
+ }
19
+ createControlConfig(field) {
20
+ return this.createDefaultControlConfig(TextControlConfig, field);
21
+ }
22
+ }
23
+ StreetNumberConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StreetNumberConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ StreetNumberConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StreetNumberConverter });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StreetNumberConverter, decorators: [{
26
+ type: Injectable
27
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWV0LW51bWJlci5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy9zdHJlZXQtbnVtYmVyL3N0cmVldC1udW1iZXIuY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR2xELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxTQUFTO0lBQ2xELFlBQW1CLFdBQXdCO1FBQ3pDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sYUFBYSxDQUNsQixLQUFZLEVBQ1osU0FBaUM7UUFFakMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0QsSUFBSSxTQUFTLEVBQUUsT0FBTyxLQUFLLElBQUksRUFBRTtZQUMvQixVQUFVLENBQUMsSUFBSSxDQUNiLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUN4RSxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRVMsbUJBQW1CLENBQUMsS0FBWTtRQUN4QyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOztrSEF0QlUscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cmVldE51bWJlckZvcm1TdGF0ZSB9IGZyb20gJy4vc3RyZWV0LW51bWJlci1mcm9tLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc3luYy9zeW5jLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dENvbnRyb2xDb25maWcgfSBmcm9tICcuLi8uLi9jb250cm9scy90ZXh0LWNvbnRyb2wuY29uZmlnJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2NvbnZlcnQuZnVuY3Rpb24nO1xuaW1wb3J0IHsgcmVzdHJpY3RlZFZhbHVlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9yZXN0cmljdGVkLXZhbHVlLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuLi9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RyZWV0TnVtYmVyQ29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0b3JzKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmb3JtU3RhdGU/OiBTdHJlZXROdW1iZXJGb3JtU3RhdGVcbiAgKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLmdldFZhbGlkYXRvcnMoZmllbGQpO1xuXG4gICAgaWYgKGZvcm1TdGF0ZT8uY291bnRyeSA9PT0gJ0JMJykge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFxuICAgICAgICBjb252ZXJ0KHJlc3RyaWN0ZWRWYWx1ZVZhbGlkYXRvcignMCcpLCBgRW50ZXIgYSB2YWxpZCBidWlsZGluZyBudW1iZXJgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFRleHRDb250cm9sQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TextControlConfig } from '../controls/text-control.config';
3
+ import { Converter } from './converter.abstract';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../sync/sync.service";
6
+ export class TextConverter extends Converter {
7
+ constructor(syncService) {
8
+ super(syncService);
9
+ }
10
+ createControlConfig(field) {
11
+ return this.createDefaultControlConfig(TextControlConfig, field);
12
+ }
13
+ }
14
+ TextConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter, deps: [{ token: i1.SyncService }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ TextConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TextConverter, decorators: [{
17
+ type: Injectable
18
+ }], ctorParameters: function () { return [{ type: i1.SyncService }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb252ZXJ0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vY29udmVydGVycy90ZXh0LmNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR2pELE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQUMxQyxZQUFtQixXQUF3QjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVTLG1CQUFtQixDQUFDLEtBQVk7UUFDeEMsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQzs7MEdBUFUsYUFBYTs4R0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTeW5jU2VydmljZSB9IGZyb20gJy4uLy4uL3N5bmMvc3luYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vY29udHJvbHMvdGV4dC1jb250cm9sLmNvbmZpZyc7XG5pbXBvcnQgeyBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlci5hYnN0cmFjdCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZXh0Q29udmVydGVyIGV4dGVuZHMgQ29udmVydGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHN5bmNTZXJ2aWNlOiBTeW5jU2VydmljZSkge1xuICAgIHN1cGVyKHN5bmNTZXJ2aWNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVDb250cm9sQ29uZmlnKGZpZWxkOiBGaWVsZCk6IFRleHRDb250cm9sQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVEZWZhdWx0Q29udHJvbENvbmZpZyhUZXh0Q29udHJvbENvbmZpZywgZmllbGQpO1xuICB9XG59XG4iXX0=
@@ -5,29 +5,57 @@ import { convertersMap, convertersMapToken } from './converters/converters-map';
5
5
  import { EmailConverter } from './converters/email.converter';
6
6
  import { ZipConverter } from './converters/zip.converter';
7
7
  import { FormService } from './form.service';
8
+ import { CardNumberConverter } from './converters/card-number.converter';
9
+ import { CardExpirationConverter } from './converters/card-expiration.converter';
10
+ import { CvvConverter } from './converters/cvv.converter';
11
+ import { ValidatorsModule } from './validators/validators.module';
12
+ import { BirthDateConverter } from './converters/birth-date.converter';
13
+ import { CardholderNameConverter } from './converters/cardholder-name.converter';
14
+ import { CpfNameConverter } from './converters/cpf-name.converter';
15
+ import { CpfNumberConverter } from './converters/cpf-number.converter';
16
+ import { StreetNumberConverter } from './converters/street-number/street-number.converter';
17
+ import { TextConverter } from './converters/text.converter';
8
18
  import * as i0 from "@angular/core";
9
19
  export class FormModule {
10
20
  }
11
21
  FormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- FormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: FormModule, imports: [ReactiveFormsModule] });
22
+ FormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: FormModule, imports: [ReactiveFormsModule, ValidatorsModule] });
13
23
  FormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormModule, providers: [
14
24
  FormService,
15
25
  ControlConfigService,
16
26
  ZipConverter,
17
27
  EmailConverter,
28
+ CardNumberConverter,
29
+ CardExpirationConverter,
30
+ CvvConverter,
31
+ CardholderNameConverter,
32
+ CpfNumberConverter,
33
+ CpfNameConverter,
34
+ BirthDateConverter,
35
+ StreetNumberConverter,
36
+ TextConverter,
18
37
  { provide: convertersMapToken, useValue: convertersMap },
19
- ], imports: [ReactiveFormsModule] });
38
+ ], imports: [ReactiveFormsModule, ValidatorsModule] });
20
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormModule, decorators: [{
21
40
  type: NgModule,
22
41
  args: [{
23
- imports: [ReactiveFormsModule],
42
+ imports: [ReactiveFormsModule, ValidatorsModule],
24
43
  providers: [
25
44
  FormService,
26
45
  ControlConfigService,
27
46
  ZipConverter,
28
47
  EmailConverter,
48
+ CardNumberConverter,
49
+ CardExpirationConverter,
50
+ CvvConverter,
51
+ CardholderNameConverter,
52
+ CpfNumberConverter,
53
+ CpfNameConverter,
54
+ BirthDateConverter,
55
+ StreetNumberConverter,
56
+ TextConverter,
29
57
  { provide: convertersMapToken, useValue: convertersMap },
30
58
  ],
31
59
  }]
32
60
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBWTdDLE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsWUFUWCxtQkFBbUI7d0dBU2xCLFVBQVUsYUFSVjtRQUNULFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsWUFBWTtRQUNaLGNBQWM7UUFDZCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO0tBQ3pELFlBUFMsbUJBQW1COzJGQVNsQixVQUFVO2tCQVZ0QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUN6RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29udmVydGVyc01hcCwgY29udmVydGVyc01hcFRva2VuIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NvbnZlcnRlcnMtbWFwJztcbmltcG9ydCB7IEVtYWlsQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2VtYWlsLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBaaXBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvemlwLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4vZm9ybS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtU2VydmljZSxcbiAgICBDb250cm9sQ29uZmlnU2VydmljZSxcbiAgICBaaXBDb252ZXJ0ZXIsXG4gICAgRW1haWxDb252ZXJ0ZXIsXG4gICAgeyBwcm92aWRlOiBjb252ZXJ0ZXJzTWFwVG9rZW4sIHVzZVZhbHVlOiBjb252ZXJ0ZXJzTWFwIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Nb2R1bGUge31cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFxQjVELE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsWUFsQlgsbUJBQW1CLEVBQUUsZ0JBQWdCO3dHQWtCcEMsVUFBVSxhQWpCVjtRQUNULFdBQVc7UUFDWCxvQkFBb0I7UUFDcEIsWUFBWTtRQUNaLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGFBQWE7UUFDYixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO0tBQ3pELFlBaEJTLG1CQUFtQixFQUFFLGdCQUFnQjsyRkFrQnBDLFVBQVU7a0JBbkJ0QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO29CQUNoRCxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFO3FCQUN6RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29udmVydGVyc01hcCwgY29udmVydGVyc01hcFRva2VuIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NvbnZlcnRlcnMtbWFwJztcbmltcG9ydCB7IEVtYWlsQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2VtYWlsLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBaaXBDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvemlwLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4vZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IENhcmROdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZC1udW1iZXIuY29udmVydGVyJztcbmltcG9ydCB7IENhcmRFeHBpcmF0aW9uQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NhcmQtZXhwaXJhdGlvbi5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ3Z2Q29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2N2di5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzLm1vZHVsZSc7XG5pbXBvcnQgeyBCaXJ0aERhdGVDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvYmlydGgtZGF0ZS5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgQ2FyZGhvbGRlck5hbWVDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY2FyZGhvbGRlci1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOYW1lQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL2NwZi1uYW1lLmNvbnZlcnRlcic7XG5pbXBvcnQgeyBDcGZOdW1iZXJDb252ZXJ0ZXIgfSBmcm9tICcuL2NvbnZlcnRlcnMvY3BmLW51bWJlci5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgU3RyZWV0TnVtYmVyQ29udmVydGVyIH0gZnJvbSAnLi9jb252ZXJ0ZXJzL3N0cmVldC1udW1iZXIvc3RyZWV0LW51bWJlci5jb252ZXJ0ZXInO1xuaW1wb3J0IHsgVGV4dENvbnZlcnRlciB9IGZyb20gJy4vY29udmVydGVycy90ZXh0LmNvbnZlcnRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRm9ybVNlcnZpY2UsXG4gICAgQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgWmlwQ29udmVydGVyLFxuICAgIEVtYWlsQ29udmVydGVyLFxuICAgIENhcmROdW1iZXJDb252ZXJ0ZXIsXG4gICAgQ2FyZEV4cGlyYXRpb25Db252ZXJ0ZXIsXG4gICAgQ3Z2Q29udmVydGVyLFxuICAgIENhcmRob2xkZXJOYW1lQ29udmVydGVyLFxuICAgIENwZk51bWJlckNvbnZlcnRlcixcbiAgICBDcGZOYW1lQ29udmVydGVyLFxuICAgIEJpcnRoRGF0ZUNvbnZlcnRlcixcbiAgICBTdHJlZXROdW1iZXJDb252ZXJ0ZXIsXG4gICAgVGV4dENvbnZlcnRlcixcbiAgICB7IHByb3ZpZGU6IGNvbnZlcnRlcnNNYXBUb2tlbiwgdXNlVmFsdWU6IGNvbnZlcnRlcnNNYXAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,37 @@
1
+ import { isEmptyInputValue } from './is-empty-input-value.function';
2
+ export const birthdateValidator = ({ value }) => {
3
+ if (isEmptyInputValue(value) || typeof value !== 'string') {
4
+ return null;
5
+ }
6
+ const error = {
7
+ invalidBirthDate: {
8
+ message: `Enter a valid birth date`,
9
+ },
10
+ };
11
+ const dateArr = value.split('/');
12
+ const datePartsCount = 3;
13
+ const dayIndex = 0;
14
+ const monthIndex = 1;
15
+ const yearIndex = 2;
16
+ const maxMonths = 12;
17
+ const maxDays = 31;
18
+ const minAge = 16;
19
+ const maxAge = 120;
20
+ if (dateArr.length < datePartsCount) {
21
+ return null;
22
+ }
23
+ if (+dateArr[monthIndex] > maxMonths || +dateArr[dayIndex] > maxDays) {
24
+ return error;
25
+ }
26
+ const currentDate = new Date(+dateArr[yearIndex], +dateArr[monthIndex], +dateArr[dayIndex]);
27
+ const nowDate = new Date();
28
+ if (isNaN(currentDate.getFullYear()) ||
29
+ nowDate.getFullYear() - currentDate.getFullYear() <= minAge ||
30
+ nowDate.getFullYear() - currentDate.getFullYear() > maxAge) {
31
+ return error;
32
+ }
33
+ else {
34
+ return null;
35
+ }
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlydGgtZGF0ZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9iaXJ0aC1kYXRlLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7SUFDM0QsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDekQsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sS0FBSyxHQUFxQjtRQUM5QixnQkFBZ0IsRUFBRTtZQUNoQixPQUFPLEVBQUUsMEJBQTBCO1NBQ3BDO0tBQ0YsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNuQixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDckIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDbkIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUVuQixJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsY0FBYyxFQUFFO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLEVBQUU7UUFDcEUsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxDQUMxQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFDbkIsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQ3BCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUNuQixDQUFDO0lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUUzQixJQUNFLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxNQUFNO1FBQzNELE9BQU8sQ0FBQyxXQUFXLEVBQUUsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUMxRDtRQUNBLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7U0FBTTtRQUNMLE9BQU8sSUFBSSxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzRW1wdHlJbnB1dFZhbHVlIH0gZnJvbSAnLi9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbic7XG5cbmV4cG9ydCBjb25zdCBiaXJ0aGRhdGVWYWxpZGF0b3I6IFZhbGlkYXRvckZuID0gKHsgdmFsdWUgfSkgPT4ge1xuICBpZiAoaXNFbXB0eUlucHV0VmFsdWUodmFsdWUpIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVycm9yOiBWYWxpZGF0aW9uRXJyb3JzID0ge1xuICAgIGludmFsaWRCaXJ0aERhdGU6IHtcbiAgICAgIG1lc3NhZ2U6IGBFbnRlciBhIHZhbGlkIGJpcnRoIGRhdGVgLFxuICAgIH0sXG4gIH07XG4gIGNvbnN0IGRhdGVBcnIgPSB2YWx1ZS5zcGxpdCgnLycpO1xuICBjb25zdCBkYXRlUGFydHNDb3VudCA9IDM7XG4gIGNvbnN0IGRheUluZGV4ID0gMDtcbiAgY29uc3QgbW9udGhJbmRleCA9IDE7XG4gIGNvbnN0IHllYXJJbmRleCA9IDI7XG4gIGNvbnN0IG1heE1vbnRocyA9IDEyO1xuICBjb25zdCBtYXhEYXlzID0gMzE7XG4gIGNvbnN0IG1pbkFnZSA9IDE2O1xuICBjb25zdCBtYXhBZ2UgPSAxMjA7XG5cbiAgaWYgKGRhdGVBcnIubGVuZ3RoIDwgZGF0ZVBhcnRzQ291bnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICgrZGF0ZUFyclttb250aEluZGV4XSA+IG1heE1vbnRocyB8fCArZGF0ZUFycltkYXlJbmRleF0gPiBtYXhEYXlzKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZShcbiAgICArZGF0ZUFyclt5ZWFySW5kZXhdLFxuICAgICtkYXRlQXJyW21vbnRoSW5kZXhdLFxuICAgICtkYXRlQXJyW2RheUluZGV4XVxuICApO1xuICBjb25zdCBub3dEYXRlID0gbmV3IERhdGUoKTtcblxuICBpZiAoXG4gICAgaXNOYU4oY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSkgfHxcbiAgICBub3dEYXRlLmdldEZ1bGxZZWFyKCkgLSBjdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpIDw9IG1pbkFnZSB8fFxuICAgIG5vd0RhdGUuZ2V0RnVsbFllYXIoKSAtIGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgPiBtYXhBZ2VcbiAgKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuIl19
@@ -0,0 +1,32 @@
1
+ import { isEmptyInputValue } from './is-empty-input-value.function';
2
+ import { Injectable } from '@angular/core';
3
+ import { isString } from '../../../type-guards/is-string.function';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../credit-card/credit-card.service";
6
+ export class CreditCardMinLengthValidator {
7
+ constructor(creditService) {
8
+ this.creditService = creditService;
9
+ this.validate = (field) => {
10
+ if (isEmptyInputValue(field.value) || !isString(field.value)) {
11
+ return null;
12
+ }
13
+ const length = field.value.length;
14
+ const cardType = this.creditService.getTypeByNumber(field.value);
15
+ const { minLength } = this.creditService.getCreditCardSettings(cardType);
16
+ return length < minLength
17
+ ? {
18
+ rewritableError: {
19
+ message: `Enter at least ${minLength} characters`,
20
+ number: minLength,
21
+ },
22
+ }
23
+ : null;
24
+ };
25
+ }
26
+ }
27
+ CreditCardMinLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardMinLengthValidator, deps: [{ token: i1.CreditCardService }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ CreditCardMinLengthValidator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardMinLengthValidator });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardMinLengthValidator, decorators: [{
30
+ type: Injectable
31
+ }], ctorParameters: function () { return [{ type: i1.CreditCardService }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtbWluLWxlbmd0aC52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9jcmVkaXQtY2FyZC1taW4tbGVuZ3RoLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBSW5FLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0MsYUFBZ0M7UUFBaEMsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBRTdELGFBQVEsR0FBRyxDQUFDLEtBQXdCLEVBQTJCLEVBQUU7WUFDdEUsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM1RCxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFFbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWpFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXpFLE9BQU8sTUFBTSxHQUFHLFNBQVM7Z0JBQ3ZCLENBQUMsQ0FBQztvQkFDRSxlQUFlLEVBQUU7d0JBQ2YsT0FBTyxFQUFFLGtCQUFrQixTQUFTLGFBQWE7d0JBQ2pELE1BQU0sRUFBRSxTQUFTO3FCQUNsQjtpQkFDRjtnQkFDSCxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1gsQ0FBQyxDQUFDO0lBckJxRSxDQUFDOzt5SEFEN0QsNEJBQTRCOzZIQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRW1wdHlJbnB1dFZhbHVlIH0gZnJvbSAnLi9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi8uLi90eXBlLWd1YXJkcy9pcy1zdHJpbmcuZnVuY3Rpb24nO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENyZWRpdENhcmRNaW5MZW5ndGhWYWxpZGF0b3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjcmVkaXRTZXJ2aWNlOiBDcmVkaXRDYXJkU2VydmljZSkge31cblxuICBwdWJsaWMgdmFsaWRhdGUgPSAoZmllbGQ6IHsgdmFsdWU6IHN0cmluZyB9KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmIChpc0VtcHR5SW5wdXRWYWx1ZShmaWVsZC52YWx1ZSkgfHwgIWlzU3RyaW5nKGZpZWxkLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGVuZ3RoID0gZmllbGQudmFsdWUubGVuZ3RoO1xuXG4gICAgY29uc3QgY2FyZFR5cGUgPSB0aGlzLmNyZWRpdFNlcnZpY2UuZ2V0VHlwZUJ5TnVtYmVyKGZpZWxkLnZhbHVlKTtcblxuICAgIGNvbnN0IHsgbWluTGVuZ3RoIH0gPSB0aGlzLmNyZWRpdFNlcnZpY2UuZ2V0Q3JlZGl0Q2FyZFNldHRpbmdzKGNhcmRUeXBlKTtcblxuICAgIHJldHVybiBsZW5ndGggPCBtaW5MZW5ndGhcbiAgICAgID8ge1xuICAgICAgICAgIHJld3JpdGFibGVFcnJvcjoge1xuICAgICAgICAgICAgbWVzc2FnZTogYEVudGVyIGF0IGxlYXN0ICR7bWluTGVuZ3RofSBjaGFyYWN0ZXJzYCxcbiAgICAgICAgICAgIG51bWJlcjogbWluTGVuZ3RoLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIDogbnVsbDtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export function isEmptyInputValue(value) {
2
+ return value == null || value.length === 0;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZW1wdHktaW5wdXQtdmFsdWUuZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBZ0M7SUFDaEUsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNFbXB0eUlucHV0VmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xufVxuIl19
@@ -0,0 +1,40 @@
1
+ import { isEmptyInputValue } from '../is-empty-input-value.function';
2
+ import { isString } from '../../../../type-guards/is-string.function';
3
+ /**
4
+ * Checks number match Luhn algorithm.
5
+ * Based on http://en.wikipedia.org/wiki/Luhn.
6
+ */
7
+ export const luhnFormulaValidator = ({ value }) => {
8
+ if (isEmptyInputValue(value) || !isString(value)) {
9
+ return null;
10
+ }
11
+ const error = {
12
+ rewritableError: {
13
+ message: `Enter a valid card number`,
14
+ },
15
+ };
16
+ if (/[^0-9 -]+/.test(value)) {
17
+ // accept only spaces, digits and dashes
18
+ return error;
19
+ }
20
+ let resultSum = 0;
21
+ let digit = 0;
22
+ let isEven = false;
23
+ const modBase = 10;
24
+ const digitRadix = 10;
25
+ const maxNumber = 9;
26
+ const digits = value.replace(/\D/g, '');
27
+ // Checks if number match Luhn algorithm
28
+ // based on http://en.wikipedia.org/wiki/Luhn
29
+ for (let index = digits.length - 1; index >= 0; index--) {
30
+ const char = digits.charAt(index);
31
+ digit = parseInt(char, digitRadix);
32
+ if (isEven && (digit *= 2) > maxNumber) {
33
+ digit -= maxNumber;
34
+ }
35
+ resultSum += digit;
36
+ isEven = !isEven;
37
+ }
38
+ return resultSum % modBase === 0 ? null : error;
39
+ };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVobi1mb3JtdWxhLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS92YWxpZGF0b3JzL2x1aG4tZm9ybXVsYS12YWxpZGF0b3IvbHVobi1mb3JtdWxhLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFdEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWdCLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO0lBQzdELElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEQsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sS0FBSyxHQUFxQjtRQUM5QixlQUFlLEVBQUU7WUFDZixPQUFPLEVBQUUsMkJBQTJCO1NBQ3JDO0tBQ0YsQ0FBQztJQUVGLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMzQix3Q0FBd0M7UUFDeEMsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNsQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFbkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ25CLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN0QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDcEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFeEMsd0NBQXdDO0lBQ3hDLDZDQUE2QztJQUM3QyxLQUFLLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVuQyxJQUFJLE1BQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxTQUFTLEVBQUU7WUFDdEMsS0FBSyxJQUFJLFNBQVMsQ0FBQztTQUNwQjtRQUVELFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDbkIsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDO0tBQ2xCO0lBRUQsT0FBTyxTQUFTLEdBQUcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDbEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eUlucHV0VmFsdWUgfSBmcm9tICcuLi9pcy1lbXB0eS1pbnB1dC12YWx1ZS5mdW5jdGlvbic7XG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJy4uL3ZhbGlkYXRvci1mbi50eXBlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICcuLi92YWxpZGF0aW9uLWVycm9ycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlLWd1YXJkcy9pcy1zdHJpbmcuZnVuY3Rpb24nO1xuXG4vKipcbiAqIENoZWNrcyBudW1iZXIgbWF0Y2ggTHVobiBhbGdvcml0aG0uXG4gKiBCYXNlZCBvbiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0x1aG4uXG4gKi9cbmV4cG9ydCBjb25zdCBsdWhuRm9ybXVsYVZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoeyB2YWx1ZSB9KSA9PiB7XG4gIGlmIChpc0VtcHR5SW5wdXRWYWx1ZSh2YWx1ZSkgfHwgIWlzU3RyaW5nKHZhbHVlKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgPSB7XG4gICAgcmV3cml0YWJsZUVycm9yOiB7XG4gICAgICBtZXNzYWdlOiBgRW50ZXIgYSB2YWxpZCBjYXJkIG51bWJlcmAsXG4gICAgfSxcbiAgfTtcblxuICBpZiAoL1teMC05IC1dKy8udGVzdCh2YWx1ZSkpIHtcbiAgICAvLyBhY2NlcHQgb25seSBzcGFjZXMsIGRpZ2l0cyBhbmQgZGFzaGVzXG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgbGV0IHJlc3VsdFN1bSA9IDA7XG4gIGxldCBkaWdpdCA9IDA7XG4gIGxldCBpc0V2ZW4gPSBmYWxzZTtcblxuICBjb25zdCBtb2RCYXNlID0gMTA7XG4gIGNvbnN0IGRpZ2l0UmFkaXggPSAxMDtcbiAgY29uc3QgbWF4TnVtYmVyID0gOTtcbiAgY29uc3QgZGlnaXRzID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcnKTtcblxuICAvLyBDaGVja3MgaWYgbnVtYmVyIG1hdGNoIEx1aG4gYWxnb3JpdGhtXG4gIC8vIGJhc2VkIG9uIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTHVoblxuICBmb3IgKGxldCBpbmRleCA9IGRpZ2l0cy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgY2hhciA9IGRpZ2l0cy5jaGFyQXQoaW5kZXgpO1xuICAgIGRpZ2l0ID0gcGFyc2VJbnQoY2hhciwgZGlnaXRSYWRpeCk7XG5cbiAgICBpZiAoaXNFdmVuICYmIChkaWdpdCAqPSAyKSA+IG1heE51bWJlcikge1xuICAgICAgZGlnaXQgLT0gbWF4TnVtYmVyO1xuICAgIH1cblxuICAgIHJlc3VsdFN1bSArPSBkaWdpdDtcbiAgICBpc0V2ZW4gPSAhaXNFdmVuO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdFN1bSAlIG1vZEJhc2UgPT09IDAgPyBudWxsIDogZXJyb3I7XG59O1xuIl19
@@ -0,0 +1,6 @@
1
+ import { Validators } from '@angular/forms';
2
+ import { convert } from './convert.function';
3
+ export function maxLengthValidator(maxLength) {
4
+ return convert(Validators.maxLength(maxLength), `Enter no more than ${maxLength} characters`);
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LWxlbmd0aC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9tYXgtbGVuZ3RoLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUNsRCxPQUFPLE9BQU8sQ0FDWixVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvQixzQkFBc0IsU0FBUyxhQUFhLENBQzdDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnLi92YWxpZGF0b3ItZm4udHlwZSc7XG5pbXBvcnQgeyBjb252ZXJ0IH0gZnJvbSAnLi9jb252ZXJ0LmZ1bmN0aW9uJztcbmV4cG9ydCBmdW5jdGlvbiBtYXhMZW5ndGhWYWxpZGF0b3IobWF4TGVuZ3RoOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiBjb252ZXJ0KFxuICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKG1heExlbmd0aCksXG4gICAgYEVudGVyIG5vIG1vcmUgdGhhbiAke21heExlbmd0aH0gY2hhcmFjdGVyc2BcbiAgKTtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { Validators } from '@angular/forms';
2
+ import { convert } from './convert.function';
3
+ export function minLengthValidator(minLength) {
4
+ return convert(Validators.minLength(minLength), `Enter at least ${minLength} characters`);
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLWxlbmd0aC12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2Zvcm0vdmFsaWRhdG9ycy9taW4tbGVuZ3RoLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxTQUFpQjtJQUNsRCxPQUFPLE9BQU8sQ0FDWixVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUMvQixrQkFBa0IsU0FBUyxhQUFhLENBQ3pDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb252ZXJ0IH0gZnJvbSAnLi9jb252ZXJ0LmZ1bmN0aW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1pbkxlbmd0aFZhbGlkYXRvcihtaW5MZW5ndGg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIGNvbnZlcnQoXG4gICAgVmFsaWRhdG9ycy5taW5MZW5ndGgobWluTGVuZ3RoKSxcbiAgICBgRW50ZXIgYXQgbGVhc3QgJHttaW5MZW5ndGh9IGNoYXJhY3RlcnNgXG4gICk7XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { Validators } from '@angular/forms';
2
+ import { convert } from './convert.function';
3
+ export function phoneValidator() {
4
+ return convert(Validators.pattern(/^\d*$/), 'Enter a valid phone');
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9mb3JtL3ZhbGlkYXRvcnMvcGhvbmUtdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0MsTUFBTSxVQUFVLGNBQWM7SUFDNUIsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICcuL3ZhbGlkYXRvci1mbi50eXBlJztcbmltcG9ydCB7IGNvbnZlcnQgfSBmcm9tICcuL2NvbnZlcnQuZnVuY3Rpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcGhvbmVWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gY29udmVydChWYWxpZGF0b3JzLnBhdHRlcm4oL15cXGQqJC8pLCAnRW50ZXIgYSB2YWxpZCBwaG9uZScpO1xufVxuIl19