@incodetech/core 2.4.1-agentic.4 → 2.4.1-agentic.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/DateFormattingProvider-DPq9zco-.esm.js +25 -0
  2. package/dist/{FaceDetectionProvider-CuWUIxqF.esm.js → FaceDetectionProvider-DjXSD4uI.esm.js} +7 -7
  3. package/dist/addressSearch-D6cKPWmk.esm.js +72 -0
  4. package/dist/ae-signature.esm.js +1 -1
  5. package/dist/antifraud.esm.js +2 -2
  6. package/dist/{antifraudManager-BObuHBjn.esm.js → antifraudManager-CbIwM35x.esm.js} +2 -2
  7. package/dist/{antifraudStateMachine-Dfrd2-26.esm.js → antifraudStateMachine-qNNXrlsP.esm.js} +1 -1
  8. package/dist/{api-CpP4PS4S.esm.js → api-C_P9YXbL.esm.js} +1 -0
  9. package/dist/{apiError-CUF7K_XZ.esm.js → apiError-DzZ5OriE.esm.js} +1 -1
  10. package/dist/{attemptCarry-WOkfvFMw.esm.js → attemptCarry-BaAXPR_w.esm.js} +1 -1
  11. package/dist/authentication.d.ts +3 -3
  12. package/dist/authentication.esm.js +2 -2
  13. package/dist/{authenticationManager-PlKb1nOo.esm.js → authenticationManager-B-l8_8tH.esm.js} +4 -4
  14. package/dist/{authenticationManager-CWmh7aSY.d.ts → authenticationManager-DKLRA91K.d.ts} +1 -1
  15. package/dist/{authenticationStateMachine-BFR0oKdS.esm.js → authenticationStateMachine-Cg00UH7p.esm.js} +3 -3
  16. package/dist/{browser-pQZA35G2-C0fRj-ID.esm.js → browser-pQZA35G2-DJEJnmCd.esm.js} +1 -1
  17. package/dist/certificate-issuance.esm.js +2 -2
  18. package/dist/{certificateIssuanceManager-IRO_1Ug6.esm.js → certificateIssuanceManager-CrF3wjCH.esm.js} +2 -2
  19. package/dist/{certificateIssuanceStateMachine-CjxTBZuH.esm.js → certificateIssuanceStateMachine-uSD9IkcV.esm.js} +1 -1
  20. package/dist/consent.d.ts +1 -1
  21. package/dist/consent.esm.js +2 -2
  22. package/dist/{consentManager-DMlSL6Ax.esm.js → consentManager-BD7wwgat.esm.js} +2 -2
  23. package/dist/{consentManager-D8rgr5Dv.d.ts → consentManager-DXetSxcx.d.ts} +5 -5
  24. package/dist/{consentStateMachine-DIYSMxKQ.esm.js → consentStateMachine-BAiLDE3D.esm.js} +1 -1
  25. package/dist/{cpf-uAZTPUBy.esm.js → cpf-BIADjddF.esm.js} +1 -25
  26. package/dist/cross-document-data-match.esm.js +1 -1
  27. package/dist/{crossDocumentDataMatchManager-BFTdiEDB.esm.js → crossDocumentDataMatchManager-CUc1uACE.esm.js} +2 -2
  28. package/dist/curp-validation.d.ts +1 -1
  29. package/dist/curp-validation.esm.js +2 -2
  30. package/dist/{curpValidationManager-z8428oCM.d.ts → curpValidationManager-Crz3bnCo.d.ts} +1 -1
  31. package/dist/{curpValidationManager-DNpC3wyf.esm.js → curpValidationManager-DBfZSQbu.esm.js} +2 -2
  32. package/dist/{curpValidationStateMachine-B3iVsDyt.esm.js → curpValidationStateMachine-DyAEyScb.esm.js} +2 -2
  33. package/dist/custom-fields.esm.js +1 -1
  34. package/dist/custom-watchlist.esm.js +2 -2
  35. package/dist/{customFieldsManager-CvI-pDT3.esm.js → customFieldsManager-BZhIPyaY.esm.js} +2 -2
  36. package/dist/{customWatchlistManager-BuHtUb0y.esm.js → customWatchlistManager-B4cmxi__.esm.js} +2 -2
  37. package/dist/{customWatchlistStateMachine-CiVD9wyF.esm.js → customWatchlistStateMachine-ZZoDGRAZ.esm.js} +1 -1
  38. package/dist/{deepsightLoader-DkADlKGZ.esm.js → deepsightLoader-S0ktD2dZ.esm.js} +3 -3
  39. package/dist/{addressSearch-DzbE9Ogt.esm.js → definitionSource-1vPLtuXE.esm.js} +1 -72
  40. package/dist/{desktopCameraElection-BGMtYwk3.esm.js → desktopCameraElection-m2dAj6Zu.esm.js} +1 -1
  41. package/dist/document-capture.d.ts +1 -1
  42. package/dist/document-capture.esm.js +2 -2
  43. package/dist/{documentCaptureManager-CD5iQiUI.d.ts → documentCaptureManager-DDfviFg0.d.ts} +1 -1
  44. package/dist/{documentCaptureManager-DLPqruXJ.esm.js → documentCaptureManager-v57klTso.esm.js} +2 -2
  45. package/dist/{documentCaptureStateMachine-DCvWQhFG.esm.js → documentCaptureStateMachine-CgCtimSa.esm.js} +2 -2
  46. package/dist/dynamic-forms.esm.js +2 -2
  47. package/dist/{dynamicFormsManager-CzEx6NHv.esm.js → dynamicFormsManager-BKAlol5I.esm.js} +2 -2
  48. package/dist/{dynamicFormsStateMachine-uy2rO9_-.esm.js → dynamicFormsStateMachine-DTyEVRIb.esm.js} +2 -2
  49. package/dist/ekyb.d.ts +1 -1
  50. package/dist/ekyb.esm.js +2 -2
  51. package/dist/{ekybManager-DpeuX31I.esm.js → ekybManager-BYFWVBTW.esm.js} +2 -2
  52. package/dist/{ekybStateMachine-CDBsMLvu.esm.js → ekybStateMachine-CxSx0HNz.esm.js} +6 -4
  53. package/dist/ekyc-prefill.d.ts +17 -0
  54. package/dist/ekyc-prefill.esm.js +3 -0
  55. package/dist/ekyc.d.ts +2 -2
  56. package/dist/ekyc.esm.js +3 -3
  57. package/dist/{ekycManager-DymCvmVB.esm.js → ekycManager-Bwv-qYAZ.esm.js} +2 -2
  58. package/dist/{ekycManager-DlGIn9wA.d.ts → ekycManager-CERRvIfg.d.ts} +1 -1
  59. package/dist/ekycPrefillManager-CbI1rTKP.esm.js +102 -0
  60. package/dist/ekycPrefillManager-DHfC1T9s.d.ts +565 -0
  61. package/dist/ekycPrefillStateMachine-ClGEAsOy.esm.js +686 -0
  62. package/dist/ekycRules-B7vXnbdg.esm.js +319 -0
  63. package/dist/{ekycStateMachine-CoFCUJ2z.esm.js → ekycStateMachine-DlN1RCob.esm.js} +418 -533
  64. package/dist/{ekycUtils-GRuMELYr.esm.js → ekycUtils-K6VJXnOg.esm.js} +18 -6
  65. package/dist/electronic-signature.esm.js +1 -1
  66. package/dist/{electronicSignatureManager-DM_e0gFI.esm.js → electronicSignatureManager-Co_sso4-.esm.js} +3 -3
  67. package/dist/email.esm.js +2 -2
  68. package/dist/{emailManager-CGoE3CUe.esm.js → emailManager-BSaGg1Gl.esm.js} +2 -2
  69. package/dist/{emailStateMachine-KgHfDNvM.esm.js → emailStateMachine-CaoPZtZN.esm.js} +2 -2
  70. package/dist/{events-ggpBBaZ8.esm.js → events-kU5WJU4B.esm.js} +1 -1
  71. package/dist/events.esm.js +1 -1
  72. package/dist/extensibility.d.ts +15 -14
  73. package/dist/extensibility.esm.js +36 -35
  74. package/dist/face-match.esm.js +2 -2
  75. package/dist/{faceCaptureManagerFactory-D9bwl07b.esm.js → faceCaptureManagerFactory-ErFltb83.esm.js} +2 -2
  76. package/dist/{faceCaptureManagerFactory-DV2ULUYS.d.ts → faceCaptureManagerFactory-ZudYP6Qp.d.ts} +3 -3
  77. package/dist/{faceCaptureSetup-DgPLnOKa.esm.js → faceCaptureSetup-D9VsC504.esm.js} +9 -9
  78. package/dist/{faceMatchManager-D2xKPjjQ.esm.js → faceMatchManager-qPJsa5Ac.esm.js} +2 -2
  79. package/dist/{faceMatchStateMachine-CUvwiQi9.esm.js → faceMatchStateMachine-D90ZHY1r.esm.js} +2 -2
  80. package/dist/{feature-management-Yfp00gNu.esm.js → feature-management-TNTHwnkm.esm.js} +1 -1
  81. package/dist/feature-management.esm.js +1 -1
  82. package/dist/field-comparison.esm.js +1 -1
  83. package/dist/{fieldComparisonManager-DgDbEeFZ.esm.js → fieldComparisonManager-BLLj_Ey1.esm.js} +2 -2
  84. package/dist/fiscal-qr.esm.js +1 -1
  85. package/dist/{fiscalQrManager-BZeklojR.esm.js → fiscalQrManager-Bh3rxb7Y.esm.js} +2 -2
  86. package/dist/flow-events.d.ts +1 -1
  87. package/dist/flow.d.ts +9 -8
  88. package/dist/flow.esm.js +46 -10
  89. package/dist/{flowCompletionService-fJuLyBEb.esm.js → flowCompletionService-BvoiqVJA.esm.js} +2 -2
  90. package/dist/{flowServices-DORczGzA.esm.js → flowServices-BkrZ4ZU5.esm.js} +8 -8
  91. package/dist/geolocation.esm.js +2 -2
  92. package/dist/{geolocationManager-C6Gt3ePt.esm.js → geolocationManager-hU9kxsr8.esm.js} +2 -2
  93. package/dist/{geolocationStateMachine-Dw6D4uRM.esm.js → geolocationStateMachine-DyYMzzIb.esm.js} +3 -3
  94. package/dist/government-validation.esm.js +2 -2
  95. package/dist/{governmentValidationManager-CjChjZ3C.esm.js → governmentValidationManager-D5HkBqfr.esm.js} +2 -2
  96. package/dist/{governmentValidationStateMachine-AEbn3Afi.esm.js → governmentValidationStateMachine-BwMClTqC.esm.js} +1 -1
  97. package/dist/home.d.ts +1 -1
  98. package/dist/home.esm.js +1 -1
  99. package/dist/http.esm.js +1 -1
  100. package/dist/id-ocr.d.ts +2 -2
  101. package/dist/id-ocr.esm.js +3 -19
  102. package/dist/id-selfie-flow.d.ts +1 -1
  103. package/dist/id-selfie-flow.esm.js +6 -6
  104. package/dist/id-verification.esm.js +2 -2
  105. package/dist/id.d.ts +2 -2
  106. package/dist/id.esm.js +3 -3
  107. package/dist/{idCaptureManager-CCA2D1Ah.d.ts → idCaptureManager-NRGuCVv2.d.ts} +2 -2
  108. package/dist/{idCaptureManager-DymxK9jy.esm.js → idCaptureManager-Xxlpem7N.esm.js} +6 -6
  109. package/dist/{idCaptureServices-TSSPG-WW.esm.js → idCaptureServices-199UFURA.esm.js} +4 -4
  110. package/dist/{idCaptureStateMachine-BBF-qMAd.esm.js → idCaptureStateMachine-Bv-dhwgK.esm.js} +42 -14
  111. package/dist/idOcrCpfUtils-Nfln1Psb.esm.js +18 -0
  112. package/dist/{idOcrManager-DT3kPIB3.d.ts → idOcrManager-B5xeI2lg.d.ts} +3 -3
  113. package/dist/{idOcrManager-xyEZNOBa.esm.js → idOcrManager-BMK2oou0.esm.js} +2 -2
  114. package/dist/{idOcrStateMachine-DNKXh4Rn.esm.js → idOcrStateMachine-RjNycN07.esm.js} +8 -7
  115. package/dist/{idVerificationManager-DdnvYfgN.esm.js → idVerificationManager-4wY-Ee4j.esm.js} +2 -2
  116. package/dist/{idVerificationStateMachine-DtIBCa32.esm.js → idVerificationStateMachine-Bj00uWvh.esm.js} +1 -1
  117. package/dist/identity-reuse.d.ts +1 -1
  118. package/dist/identity-reuse.esm.js +2 -2
  119. package/dist/{identityReuseManager-CcpovlfD.esm.js → identityReuseManager-CCZ-ES2E.esm.js} +2 -2
  120. package/dist/{identityReuseManager-B1birg5X.d.ts → identityReuseManager-ooAbp6Kc.d.ts} +4 -4
  121. package/dist/{identityReuseStateMachine-DxZFWy47.esm.js → identityReuseStateMachine-BtpkGpYZ.esm.js} +1 -1
  122. package/dist/{index-DC0P2Vzw.d.ts → index-BGnYn_4J.d.ts} +1 -1
  123. package/dist/{index-BfSZvEHi.d.ts → index-DlVDVTcf.d.ts} +34 -18
  124. package/dist/index.d.ts +1 -1
  125. package/dist/index.esm.js +1 -1
  126. package/dist/{invokeOnCaptureCallback-BJ0GVHGr.esm.js → invokeOnCaptureCallback-BkvXSZfa.esm.js} +1 -1
  127. package/dist/kyb-checks.esm.js +2 -2
  128. package/dist/{kybChecksManager-CDHqbT9w.esm.js → kybChecksManager-CEEih5pC.esm.js} +1 -1
  129. package/dist/{kybChecksStateMachine-CzkwMKKB.esm.js → kybChecksStateMachine-DOE71Lv7.esm.js} +5 -4
  130. package/dist/mandatory-consent.d.ts +2 -2
  131. package/dist/mandatory-consent.esm.js +2 -2
  132. package/dist/{mandatoryConsentManager-B4vCYslr.esm.js → mandatoryConsentManager-BBeOo3Sz.esm.js} +2 -2
  133. package/dist/{mandatoryConsentManager-9PHQGri5.d.ts → mandatoryConsentManager-MhZYQg10.d.ts} +6 -6
  134. package/dist/{mandatoryConsentStateMachine-DWslYPA3.esm.js → mandatoryConsentStateMachine-BJEyS63E.esm.js} +1 -1
  135. package/dist/{multipartRecordingService-BTqkHGG9.esm.js → multipartRecordingService-2iVLb-2Y.esm.js} +1 -1
  136. package/dist/phone.esm.js +2 -2
  137. package/dist/{phoneFormat-JJNaWthV.esm.js → phoneFormat-DEpESpz2.esm.js} +13 -1
  138. package/dist/{phoneManager-Dy5tODCU.esm.js → phoneManager-BylOWecM.esm.js} +2 -2
  139. package/dist/{phoneServices-DJgyOzU2.esm.js → phoneServices-Crge7uSV.esm.js} +1 -1
  140. package/dist/{phoneStateMachine-DnlPhnw7.esm.js → phoneStateMachine-CHnhCS-4.esm.js} +2 -2
  141. package/dist/{processFaceMatch-Bst83HaS.esm.js → processFaceMatch-BveUAHts.esm.js} +1 -1
  142. package/dist/qe-signature.esm.js +1 -1
  143. package/dist/{recordingService-CTko6Cjn.esm.js → recordingService-DKXaaOHO.esm.js} +2 -2
  144. package/dist/redirect-to-mobile.esm.js +2 -2
  145. package/dist/{redirectToMobileManager-CCSNyi19.esm.js → redirectToMobileManager-DUpLyXsq.esm.js} +2 -2
  146. package/dist/{redirectToMobileStateMachine-BKyOdAUe.esm.js → redirectToMobileStateMachine-D0DW4y-f.esm.js} +1 -1
  147. package/dist/{resolveForm-O7-r79VA.esm.js → resolveForm-f9PhUo9j.esm.js} +1 -209
  148. package/dist/{runChildModule-WaHpne_n.esm.js → runChildModule-CDixuH1W.esm.js} +2 -2
  149. package/dist/{sdkVersion-D0wnG9m1.esm.js → sdkVersion-BNA7_9wn.esm.js} +1 -1
  150. package/dist/selfie.d.ts +3 -3
  151. package/dist/selfie.esm.js +9 -9
  152. package/dist/{selfieErrorUtils-Sd36xaui.esm.js → selfieErrorUtils-Geee35WF.esm.js} +1 -1
  153. package/dist/{selfieManager-DmZFzs1-.d.ts → selfieManager-BPOlD-UN.d.ts} +1 -1
  154. package/dist/{selfieManager-Q23b7zS_.esm.js → selfieManager-DVWFz5tv.esm.js} +4 -4
  155. package/dist/{selfieStateMachine-BzSAxwIs.esm.js → selfieStateMachine-D9KQUtMs.esm.js} +3 -3
  156. package/dist/{session-XoKY3xHd.esm.js → session-DoFzV1FT.esm.js} +4 -4
  157. package/dist/session.d.ts +1 -1
  158. package/dist/session.esm.js +5 -5
  159. package/dist/{sessionInitializer-CN9C6ItC.esm.js → sessionInitializer-DOZzSzqm.esm.js} +7 -7
  160. package/dist/{setup-W-Tho5PO.esm.js → setup-B6WhRfCS.esm.js} +10 -13
  161. package/dist/{setup-CmqnkqsR.d.ts → setup-prV5HQCQ.d.ts} +1 -1
  162. package/dist/signature.esm.js +2 -2
  163. package/dist/{signatureManager-CwqjcxPg.esm.js → signatureManager-QlegdTo3.esm.js} +2 -2
  164. package/dist/{signatureStateMachine-DBVDd1Eu.esm.js → signatureStateMachine-DFbbbFwg.esm.js} +1 -1
  165. package/dist/{stats-CatA2dea.esm.js → stats-Bv5PiWvo.esm.js} +1 -1
  166. package/dist/stats.esm.js +1 -1
  167. package/dist/step-up.d.ts +15 -21
  168. package/dist/step-up.esm.js +17 -26
  169. package/dist/{tri-6laLcIfQ.esm.js → tri-B9aoyV2Z.esm.js} +3 -32
  170. package/dist/tri.d.ts +1 -1
  171. package/dist/tri.esm-DgtAka_v.esm.js +2145 -0
  172. package/dist/tri.esm.js +1 -1
  173. package/dist/{trueSightService-BPs_VmAj.esm.js → trueSightService-nGcZHLsZ.esm.js} +3 -3
  174. package/dist/trust-graph.esm.js +1 -1
  175. package/dist/{types-Csh8vzPo.d.ts → types-0Rr7etmf.d.ts} +1 -1
  176. package/dist/types-B2M1IPZn.d.ts +6 -0
  177. package/dist/{types-BEVHQbbC.d.ts → types-BD9sV5oG.d.ts} +1 -1
  178. package/dist/{types-CuMJ2M7D.d.ts → types-BaDx6utW.d.ts} +4 -1
  179. package/dist/{types-BPm1JSu7.d.ts → types-BpJ21a4T.d.ts} +1 -1
  180. package/dist/{types-CJ7Yl9K-.d.ts → types-Bpo97EOh.d.ts} +4 -2
  181. package/dist/{types-CRaFu6wS.d.ts → types-CquDWYfv.d.ts} +6 -2
  182. package/dist/types-D9vIGFbl.d.ts +115 -0
  183. package/dist/{types-Cd0J0F9D.d.ts → types-NMBsvLIN.d.ts} +1 -1
  184. package/dist/usStates-CwOQ2kAx.esm.js +209 -0
  185. package/dist/video-selfie.d.ts +1 -1
  186. package/dist/video-selfie.esm.js +6 -6
  187. package/dist/{videoSelfieCameraWarmer-DWGX1ByR.esm.js → videoSelfieCameraWarmer-BH8HH2Yo.esm.js} +4 -4
  188. package/dist/{videoSelfieStepDetector-Dv3Mgws-.d.ts → videoSelfieStepDetector-B78BE_x9.d.ts} +2 -2
  189. package/dist/wasm.d.ts +1 -1
  190. package/dist/wasm.esm.js +1 -1
  191. package/dist/watchlist-for-business.esm.js +2 -2
  192. package/dist/watchlist.esm.js +2 -2
  193. package/dist/{watchlistForBusinessManager-DqUpAEj_.esm.js → watchlistForBusinessManager-DOYmIiaj.esm.js} +2 -2
  194. package/dist/{watchlistForBusinessStateMachine-DdaPl2PS.esm.js → watchlistForBusinessStateMachine-D8qIyL8w.esm.js} +1 -1
  195. package/dist/{watchlistManager-CdpXzT4B.esm.js → watchlistManager-BJGLRv-x.esm.js} +2 -2
  196. package/dist/{watchlistStateMachine-ofHW_lPk.esm.js → watchlistStateMachine-DeLfuGSl.esm.js} +1 -1
  197. package/dist/workflow.d.ts +1 -1
  198. package/dist/workflow.esm.js +42 -36
  199. package/package.json +6 -1
  200. package/dist/tri.esm-DgTlfPhR.esm.js +0 -3838
  201. package/dist/types-J6g6iKe_.d.ts +0 -6
@@ -1,14 +1,15 @@
1
- import { t as getLocalIsoDate } from "./IBrowserEnvironmentCapability-D7JG7ML3.esm.js";
2
- import { t as api, u as endpoints } from "./api-CpP4PS4S.esm.js";
3
- import { n as loadPhoneValidation, t as getPhoneValidation } from "./phoneValidation-OggtfjRt.esm.js";
1
+ import { t as api, u as endpoints } from "./api-C_P9YXbL.esm.js";
2
+ import { t as getPhoneValidation } from "./phoneValidation-OggtfjRt.esm.js";
4
3
  import { i as assign, t as setup } from "./xstate.esm-DSajW7CJ.esm.js";
5
4
  import { n as fromPromise } from "./xstate-actors.esm-8Gzepa_A.esm.js";
6
- import { a as isValidRut, i as isValidInDrivingLicenseNumber, n as isValidEsDni, r as isValidFiPersonalIdentityCode, t as isValidCurp } from "./nationalIds-B91f_RuB.esm.js";
7
- import { a as usStates, i as usStateOptions, n as checkSupport, r as DYNAMIC_REQUIRED_KEY, t as resolveForm } from "./resolveForm-O7-r79VA.esm.js";
8
- import { a as FIXED_DIGIT_POSTAL_CODE_LENGTH, c as getPostalCodeMaxLength, d as fillFromSuggestion, f as getStreetLevelErrorForSuggestion, i as createBundledDefinitionSource, l as validatePostalCode, n as searchAddress, o as formatPostalCode, r as isFormDefinitionsEnabled, s as getPostalCodeErrorKey, t as debounceSearchActor, u as STREET_LEVEL_REQUIRED_ERROR } from "./addressSearch-DzbE9Ogt.esm.js";
9
- import { C as TAX_ID_SOURCES, S as STREET_SOURCES, _ as MIDDLE_NAME_SOURCES, a as getEKYCFields, b as POSTAL_CODE_SOURCES, c as resolveEkycSource, d as APARTMENT_SOURCES, f as CITY_SOURCES, g as HOUSE_NO_SOURCES, h as EMAIL_SOURCES, i as getEKYCDisplayModes, l as toEkycConfig, m as COUNTRY_SELECTOR_DISABLED_SOURCES, o as isFieldOptional, p as COUNTRY_CODE_OMITTED_SOURCES, r as getEKYCCountry, s as mapToEKYCvalue, t as EKYC_GROUP_KEYS, u as ADDRESS_STATE_SOURCES, v as NAME_SOURCES, w as VOCABULARY, x as STATE_CODE_HINTS, y as ONE_OF_REQUIRED_GROUPS } from "./ekycUtils-GRuMELYr.esm.js";
10
- import { n as DateFormattingProvider, t as validateCPF } from "./cpf-uAZTPUBy.esm.js";
11
- import { a as hasNameCharacters, c as matchesCharTemplate, i as hasDigitCount, n as CHARACTER_CLASSES, o as isInNumericRange, r as hasAllowedCharacters, s as isNotFuture, t as formatPhoneE164 } from "./phoneFormat-JJNaWthV.esm.js";
5
+ import { n as usStates, t as usStateOptions } from "./usStates-CwOQ2kAx.esm.js";
6
+ import { a as getPostalCodeMaxLength, c as fillFromSuggestion, l as getStreetLevelErrorForSuggestion, r as formatPostalCode, t as createBundledDefinitionSource } from "./definitionSource-1vPLtuXE.esm.js";
7
+ import { n as checkSupport, t as resolveForm } from "./resolveForm-f9PhUo9j.esm.js";
8
+ import { n as searchAddress, r as isFormDefinitionsEnabled, t as debounceSearchActor } from "./addressSearch-D6cKPWmk.esm.js";
9
+ import { C as TAX_ID_SOURCES, S as STREET_SOURCES, _ as MIDDLE_NAME_SOURCES, a as getEKYCFields, b as POSTAL_CODE_SOURCES, c as resolveEkycSource, d as APARTMENT_SOURCES, f as CITY_SOURCES, g as HOUSE_NO_SOURCES, h as EMAIL_SOURCES, i as getEKYCDisplayModes, l as toEkycConfig, m as COUNTRY_SELECTOR_DISABLED_SOURCES, o as isFieldOptional, p as COUNTRY_CODE_OMITTED_SOURCES, r as getEKYCCountry, s as mapToEKYCvalue, t as EKYC_GROUP_KEYS, u as ADDRESS_STATE_SOURCES, v as NAME_SOURCES, w as VOCABULARY, x as STATE_CODE_HINTS, y as ONE_OF_REQUIRED_GROUPS } from "./ekycUtils-K6VJXnOg.esm.js";
10
+ import { t as DateFormattingProvider } from "./DateFormattingProvider-DPq9zco-.esm.js";
11
+ import { n as CHARACTER_CLASSES, t as formatPhoneE164 } from "./phoneFormat-DEpESpz2.esm.js";
12
+ import { a as formatPhoneNational, c as oneOfRequiredErrorKey, i as cleanName, l as validateEkycField, n as projectRules, o as formatSSN, s as loadPhoneValidator, t as RULES, u as validateEkycForm } from "./ekycRules-B7vXnbdg.esm.js";
12
13
  //#region src/internal/forms/resolvePrefill.ts
13
14
  const DISPLAY_MODES = /* @__PURE__ */ new Set([
14
15
  "editable",
@@ -90,238 +91,125 @@ function resolvePrefill(form, context, data, checks) {
90
91
  values
91
92
  };
92
93
  }
93
- //#endregion
94
- //#region src/modules/ekyc/ekycValidators.ts
95
- async function loadPhoneValidator() {
96
- if (!await loadPhoneValidation()) throw new Error("Failed to load the phone validation rules");
97
- }
98
- /** Progressively formats an SSN as XXX-XX-XXXX */
99
- function formatSSN(value) {
100
- const ssn = value?.replace(/\D/g, "") ?? "";
101
- if (ssn.length < 4) return ssn;
102
- if (ssn.length < 6) return `${ssn.slice(0, 3)}-${ssn.slice(3)}`;
103
- return `${ssn.slice(0, 3)}-${ssn.slice(3, 5)}-${ssn.slice(5, 9)}`;
104
- }
105
- /**
106
- * Strips characters a name can't contain, as the user types. Keeps everything
107
- * `nameCharacters` allows (letters from any script with their combining marks,
108
- * spaces, hyphens, and straight or typographic apostrophes), plus the commas
109
- * and acute accents (´) SDKv1 kept, so it never strips a valid name.
110
- */
111
- function cleanName(name) {
112
- return (name ?? "").replace(/[^\p{L}\p{M}\s,'’´-]/gu, "").slice(0, 100);
113
- }
114
- const PO_BOX_REGEX = /POBox|P\.O\.Box|pobox|postofficebox|postbox|po\.box|p\.o\.box/i;
115
- /** Returns true if the address looks like a P.O. Box */
116
- function isPoBox(address) {
117
- return PO_BOX_REGEX.test(address.replace(/\s/g, ""));
118
- }
119
- function validatePhone(phone, country) {
120
- return getPhoneValidation()?.isValid(phone, country) ?? false;
121
- }
122
- /** The phone's national significant number, or the value as typed. */
123
- function formatPhoneNational(phone, country) {
124
- return getPhoneValidation()?.nationalNumber(phone, country) ?? phone;
125
- }
126
- /** The error key a `oneOfRequired` group shows: its own message, or DOB-or-SSN. */
127
- const oneOfRequiredErrorKey = (rule) => rule.message ?? "verification.errors.dobOrSsnRequired";
128
- const PHONE_INVALID_KEY = "verification.errors.phoneInvalid";
129
- const INVALID_ID_NUMBER_KEY = "verification.errors.invalidIdNumber";
130
- /** The digitCount message: one length, a list of lengths, or a range. */
131
- const digitCountError = (rule) => {
132
- if (rule.lengths?.length === 1) return {
133
- key: "verification.errors.exactDigits",
134
- params: { length: rule.lengths[0] }
135
- };
136
- if (rule.lengths) return {
137
- key: "verification.errors.digitsOneOf",
138
- params: { lengths: rule.lengths }
139
- };
140
- return {
141
- key: "verification.errors.digitsBetween",
142
- params: {
143
- min: rule.min ?? 0,
144
- max: rule.max ?? 0
145
- }
146
- };
147
- };
148
- /**
149
- * A national ID check: blank passes, anything else must satisfy `isValid`.
150
- * The error is the vocabulary's message for these rules; a definition names
151
- * its own with the rule's `message`.
152
- */
153
- const idNumberValidator = (isValid) => (value) => {
154
- if (value.trim().length === 0) return void 0;
155
- if (isValid(value)) return void 0;
156
- return { key: INVALID_ID_NUMBER_KEY };
157
- };
158
- const normalizeFieldValue = (value) => typeof value === "string" ? value : String(value ?? "");
159
- const SSN_FORMAT_REGEX = /^\d{3}-\d{2}-\d{4}$/;
160
- const EMAIL_FORMAT_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
161
- const buildPostalCodeParams = (country) => {
162
- const fixedLen = FIXED_DIGIT_POSTAL_CODE_LENGTH[country];
163
- if (fixedLen !== void 0) return { length: fixedLen };
164
- let maxLen = getPostalCodeMaxLength(country);
165
- if (country === "US" || country === "BR") maxLen = maxLen - 1;
166
- return { maxLength: maxLen };
167
- };
168
- const requiredError = (field) => {
169
- const fieldName = field.displayLabel ?? field.label;
170
- return fieldName ? {
171
- key: DYNAMIC_REQUIRED_KEY,
172
- params: { fieldName }
173
- } : { key: DYNAMIC_REQUIRED_KEY };
174
- };
175
- const isFilled = (values, name) => normalizeFieldValue(values[name]).trim().length > 0;
176
- const createValidators = () => {
177
- const validators = {
178
- required: (value, _rule, field) => {
179
- if (value.trim().length > 0) return void 0;
180
- return requiredError(field);
181
- },
182
- requiredIfFilled: (value, rule, field, values) => {
183
- if (rule.type !== "requiredIfFilled") return void 0;
184
- if (value.trim().length > 0) return void 0;
185
- return rule.fields.some((name) => isFilled(values, name)) ? requiredError(field) : void 0;
186
- },
187
- rulesByOption: (value, rule, field, values) => {
188
- if (rule.type !== "rulesByOption") return void 0;
189
- if (value.trim().length === 0) return void 0;
190
- const option = normalizeFieldValue(values[rule.selector]).trim();
191
- const rules = Object.prototype.hasOwnProperty.call(rule.cases, option) ? rule.cases[option] : void 0;
192
- return evaluateRules(value, rules, field, values, validators);
193
- },
194
- streetLevelRequired: (value) => {
195
- if (value.trim().length > 0) return void 0;
196
- return STREET_LEVEL_REQUIRED_ERROR;
197
- },
198
- cpf: (value) => {
199
- if (value.trim().length === 0) return void 0;
200
- return validateCPF(value) ? void 0 : { key: "verification.errors.invalidTaxId" };
201
- },
202
- ssnFormat: (value) => {
203
- if (value.trim().length === 0) return void 0;
204
- return SSN_FORMAT_REGEX.test(value) ? void 0 : { key: "verification.errors.ssnFormat" };
205
- },
206
- noPoBox: (value) => {
207
- if (value.trim().length === 0) return void 0;
208
- return isPoBox(value) ? { key: "verification.errors.poBox" } : void 0;
209
- },
210
- postalCodeFormat: (value, rule) => {
211
- if (rule.type !== "postalCodeFormat") return void 0;
212
- if (value.trim().length === 0) return void 0;
213
- if (validatePostalCode(value, rule.country)) return void 0;
214
- return {
215
- key: getPostalCodeErrorKey(rule.country),
216
- params: buildPostalCodeParams(rule.country)
217
- };
218
- },
219
- phoneFormat: (value, rule) => {
220
- if (rule.type !== "phoneFormat") return void 0;
221
- const trimmed = value.trim();
222
- if (rule.optional && trimmed.length === 0) return void 0;
223
- return validatePhone(trimmed, rule.country) ? void 0 : { key: "verification.errors.phoneInvalid" };
224
- },
225
- emailFormat: (value) => {
226
- if (value.trim().length === 0) return void 0;
227
- return EMAIL_FORMAT_REGEX.test(value) ? void 0 : { key: "verification.errors.emailInvalid" };
228
- },
229
- exactLength: (value, rule) => {
230
- if (rule.type !== "exactLength") return void 0;
231
- if (value.trim().length === 0) return void 0;
232
- return value.length === rule.length ? void 0 : { key: "verification.errors.exactly10Characters" };
233
- },
234
- nameCharacters: (value) => {
235
- if (value.trim().length === 0) return void 0;
236
- return hasNameCharacters(value.trim()) ? void 0 : { key: "verification.errors.nameCharacters" };
237
- },
238
- notFuture: (value) => {
239
- if (value.trim().length === 0) return void 0;
240
- return isNotFuture(value.trim(), getLocalIsoDate()) ? void 0 : { key: "verification.errors.futureDate" };
241
- },
242
- phoneDigits: (value, rule) => {
243
- if (rule.type !== "phoneDigits") return void 0;
244
- const trimmed = value.trim();
245
- if (trimmed.length === 0) return void 0;
246
- const national = getPhoneValidation()?.nationalNumber(trimmed, rule.country);
247
- if (!national) return { key: PHONE_INVALID_KEY };
248
- return national.length >= rule.min && national.length <= rule.max ? void 0 : { key: PHONE_INVALID_KEY };
249
- },
250
- digitCount: (value, rule) => {
251
- if (rule.type !== "digitCount") return void 0;
252
- if (value.trim().length === 0) return void 0;
253
- return hasDigitCount(value.trim(), rule) ? void 0 : digitCountError(rule);
254
- },
255
- allowedCharacters: (value, rule) => {
256
- if (rule.type !== "allowedCharacters") return void 0;
257
- if (value.trim().length === 0) return void 0;
258
- return hasAllowedCharacters(value.trim(), rule.classes, rule.extra) ? void 0 : { key: "verification.errors.invalidCharacters" };
259
- },
260
- charTemplate: (value, rule) => {
261
- if (rule.type !== "charTemplate") return void 0;
262
- if (value.trim().length === 0) return void 0;
263
- return matchesCharTemplate(value.trim(), rule.templates, rule.ignoreCase) ? void 0 : { key: "verification.errors.invalidFormat" };
264
- },
265
- numericRange: (value, rule) => {
266
- if (rule.type !== "numericRange") return void 0;
267
- if (value.trim().length === 0) return void 0;
268
- return isInNumericRange(value.trim(), rule.min, rule.max) ? void 0 : {
269
- key: "verification.errors.numberBetween",
270
- params: {
271
- min: rule.min,
272
- max: rule.max
273
- }
274
- };
275
- },
276
- rut: idNumberValidator(isValidRut),
277
- esDni: idNumberValidator(isValidEsDni),
278
- fiPersonalIdentityCode: idNumberValidator(isValidFiPersonalIdentityCode),
279
- inDrivingLicenseNumber: idNumberValidator(isValidInDrivingLicenseNumber),
280
- curp: idNumberValidator((value) => isValidCurp(value.trim())),
281
- oneOfRequired: (_value, rule, _field, values) => {
282
- if (rule.type !== "oneOfRequired") return void 0;
283
- return rule.fields.some((name) => isFilled(values, name)) ? void 0 : { key: oneOfRequiredErrorKey(rule) };
284
- }
285
- };
286
- return validators;
287
- };
288
- /**
289
- * A rule's own message key shows instead of the validator's, keeping its
290
- * params. `oneOfRequired` already shows its message.
291
- */
292
- const withRuleMessage = (error, rule) => !rule.message || error.key === rule.message ? error : {
293
- ...error,
294
- key: rule.message
295
- };
296
- const evaluateRules = (value, rules, field, values, validators) => {
297
- if (!rules) return void 0;
298
- for (const rule of rules) {
299
- const error = validators[rule.type](value, rule, field, values);
300
- if (error) return withRuleMessage(error, rule);
94
+ const brStateOptions = Object.values({
95
+ AC: {
96
+ code: "AC",
97
+ name: "Acre"
98
+ },
99
+ AL: {
100
+ code: "AL",
101
+ name: "Alagoas"
102
+ },
103
+ AP: {
104
+ code: "AP",
105
+ name: "Amapá"
106
+ },
107
+ AM: {
108
+ code: "AM",
109
+ name: "Amazonas"
110
+ },
111
+ BA: {
112
+ code: "BA",
113
+ name: "Bahia"
114
+ },
115
+ CE: {
116
+ code: "CE",
117
+ name: "Ceará"
118
+ },
119
+ DF: {
120
+ code: "DF",
121
+ name: "Distrito Federal"
122
+ },
123
+ ES: {
124
+ code: "ES",
125
+ name: "Espírito Santo"
126
+ },
127
+ GO: {
128
+ code: "GO",
129
+ name: "Goiás"
130
+ },
131
+ MA: {
132
+ code: "MA",
133
+ name: "Maranhão"
134
+ },
135
+ MT: {
136
+ code: "MT",
137
+ name: "Mato Grosso"
138
+ },
139
+ MS: {
140
+ code: "MS",
141
+ name: "Mato Grosso do Sul"
142
+ },
143
+ MG: {
144
+ code: "MG",
145
+ name: "Minas Gerais"
146
+ },
147
+ PA: {
148
+ code: "PA",
149
+ name: "Pará"
150
+ },
151
+ PB: {
152
+ code: "PB",
153
+ name: "Paraíba"
154
+ },
155
+ PR: {
156
+ code: "PR",
157
+ name: "Paraná"
158
+ },
159
+ PE: {
160
+ code: "PE",
161
+ name: "Pernambuco"
162
+ },
163
+ PI: {
164
+ code: "PI",
165
+ name: "Piauí"
166
+ },
167
+ RJ: {
168
+ code: "RJ",
169
+ name: "Rio de Janeiro"
170
+ },
171
+ RN: {
172
+ code: "RN",
173
+ name: "Rio Grande do Norte"
174
+ },
175
+ RS: {
176
+ code: "RS",
177
+ name: "Rio Grande do Sul"
178
+ },
179
+ RO: {
180
+ code: "RO",
181
+ name: "Rondônia"
182
+ },
183
+ RR: {
184
+ code: "RR",
185
+ name: "Roraima"
186
+ },
187
+ SC: {
188
+ code: "SC",
189
+ name: "Santa Catarina"
190
+ },
191
+ SP: {
192
+ code: "SP",
193
+ name: "São Paulo"
194
+ },
195
+ SE: {
196
+ code: "SE",
197
+ name: "Sergipe"
198
+ },
199
+ TO: {
200
+ code: "TO",
201
+ name: "Tocantins"
301
202
  }
302
- };
303
- function validateEkycForm(values, fields) {
304
- const validators = createValidators();
305
- return fields.reduce((errors, field) => {
306
- const value = normalizeFieldValue(values[field.name]);
307
- const error = evaluateRules(value, field.validation, field, values, validators);
308
- if (error) errors[field.name] = error;
309
- return errors;
310
- }, {});
311
- }
312
- function validateEkycField(values, fieldName, fields) {
313
- const field = fields.find((f) => f.name === fieldName);
314
- if (!field) return void 0;
315
- const validators = createValidators();
316
- const value = normalizeFieldValue(values[field.name]);
317
- return evaluateRules(value, field.validation, field, values, validators);
318
- }
203
+ }).map((state) => ({
204
+ value: state.code,
205
+ label: state.name
206
+ }));
319
207
  //#endregion
320
208
  //#region ../form-definitions/generated/ekyc.ts
321
209
  const EKYC_DEFINITIONS = {
322
210
  "ekyc/AR/AR_CREDIT_BUR_1": {
323
211
  schemaVersion: 1,
324
- vocabulary: "1.2",
212
+ vocabulary: "1.3",
325
213
  id: "ekyc/AR/AR_CREDIT_BUR_1",
326
214
  module: "ekyc",
327
215
  country: "AR",
@@ -376,7 +264,10 @@ const EKYC_DEFINITIONS = {
376
264
  required: true,
377
265
  label: { key: "verification.labels.dateOfBirth" },
378
266
  input: { autofill: "birthday" },
379
- rules: [{ id: "notFuture" }],
267
+ rules: [{
268
+ id: "maxAge",
269
+ params: { years: 120 }
270
+ }, { id: "notFuture" }],
380
271
  prefill: ["document.birthDate"]
381
272
  },
382
273
  {
@@ -423,6 +314,7 @@ const EKYC_DEFINITIONS = {
423
314
  id: "digitCount",
424
315
  params: { lengths: [8] }
425
316
  }],
317
+ payload: { key: "idNumber" },
426
318
  prefill: ["document.documentNumber"]
427
319
  },
428
320
  {
@@ -438,6 +330,7 @@ const EKYC_DEFINITIONS = {
438
330
  id: "digitCount",
439
331
  params: { lengths: [11] }
440
332
  }],
333
+ payload: { key: "idNumber1" },
441
334
  prefill: ["document.personalNumber"]
442
335
  },
443
336
  {
@@ -524,7 +417,7 @@ const EKYC_DEFINITIONS = {
524
417
  },
525
418
  "ekyc/AR/AR_RES_REGISTER": {
526
419
  schemaVersion: 1,
527
- vocabulary: "1.2",
420
+ vocabulary: "1.3",
528
421
  id: "ekyc/AR/AR_RES_REGISTER",
529
422
  module: "ekyc",
530
423
  country: "AR",
@@ -578,7 +471,10 @@ const EKYC_DEFINITIONS = {
578
471
  group: "dateOfBirth",
579
472
  label: { key: "verification.labels.dateOfBirth" },
580
473
  input: { autofill: "birthday" },
581
- rules: [{ id: "notFuture" }],
474
+ rules: [{
475
+ id: "maxAge",
476
+ params: { years: 120 }
477
+ }, { id: "notFuture" }],
582
478
  prefill: ["document.birthDate"]
583
479
  },
584
480
  {
@@ -692,7 +588,7 @@ const EKYC_DEFINITIONS = {
692
588
  },
693
589
  "ekyc/BE/BE_CREDIT_TELCO": {
694
590
  schemaVersion: 1,
695
- vocabulary: "1.2",
591
+ vocabulary: "1.3",
696
592
  id: "ekyc/BE/BE_CREDIT_TELCO",
697
593
  module: "ekyc",
698
594
  country: "BE",
@@ -733,7 +629,10 @@ const EKYC_DEFINITIONS = {
733
629
  group: "dateOfBirth",
734
630
  label: { key: "verification.labels.dateOfBirth" },
735
631
  input: { autofill: "birthday" },
736
- rules: [{ id: "notFuture" }],
632
+ rules: [{
633
+ id: "maxAge",
634
+ params: { years: 120 }
635
+ }, { id: "notFuture" }],
737
636
  prefill: ["document.birthDate"]
738
637
  },
739
638
  {
@@ -852,7 +751,7 @@ const EKYC_DEFINITIONS = {
852
751
  },
853
752
  "ekyc/BR/BR_GOVT_1": {
854
753
  schemaVersion: 1,
855
- vocabulary: "1.2",
754
+ vocabulary: "1.3",
856
755
  id: "ekyc/BR/BR_GOVT_1",
857
756
  module: "ekyc",
858
757
  country: "BR",
@@ -894,7 +793,10 @@ const EKYC_DEFINITIONS = {
894
793
  required: true,
895
794
  label: { key: "verification.labels.dateOfBirth" },
896
795
  input: { autofill: "birthday" },
897
- rules: [{ id: "notFuture" }],
796
+ rules: [{
797
+ id: "maxAge",
798
+ params: { years: 120 }
799
+ }, { id: "notFuture" }],
898
800
  prefill: ["document.birthDate"]
899
801
  },
900
802
  {
@@ -991,15 +893,14 @@ const EKYC_DEFINITIONS = {
991
893
  },
992
894
  {
993
895
  name: "state",
994
- kind: "text",
896
+ kind: "choice",
995
897
  group: "address",
996
898
  section: "address",
997
- label: { key: "verification.labels.state" },
998
- placeholder: {
999
- key: "verification.placeholder.stateCode",
1000
- params: { states: "RJ, SP" }
1001
- },
899
+ widget: "select",
900
+ label: { key: "verification.labels.chooseState" },
901
+ placeholder: { key: "verification.placeholder.state" },
1002
902
  input: { autofill: "addressLevel1" },
903
+ optionsRef: "BR_STATES",
1003
904
  payload: { transforms: [{ id: "uppercase" }] },
1004
905
  prefill: ["document.state", "poa.state"]
1005
906
  },
@@ -1031,7 +932,7 @@ const EKYC_DEFINITIONS = {
1031
932
  },
1032
933
  "ekyc/BR/BR_TAX_PHONE_REGISTER": {
1033
934
  schemaVersion: 1,
1034
- vocabulary: "1.2",
935
+ vocabulary: "1.3",
1035
936
  id: "ekyc/BR/BR_TAX_PHONE_REGISTER",
1036
937
  module: "ekyc",
1037
938
  country: "BR",
@@ -1085,7 +986,10 @@ const EKYC_DEFINITIONS = {
1085
986
  group: "dateOfBirth",
1086
987
  label: { key: "verification.labels.dateOfBirth" },
1087
988
  input: { autofill: "birthday" },
1088
- rules: [{ id: "notFuture" }],
989
+ rules: [{
990
+ id: "maxAge",
991
+ params: { years: 120 }
992
+ }, { id: "notFuture" }],
1089
993
  prefill: ["document.birthDate"]
1090
994
  },
1091
995
  {
@@ -1174,15 +1078,14 @@ const EKYC_DEFINITIONS = {
1174
1078
  },
1175
1079
  {
1176
1080
  name: "state",
1177
- kind: "text",
1081
+ kind: "choice",
1178
1082
  group: "address",
1179
1083
  section: "address",
1180
- label: { key: "verification.labels.state" },
1181
- placeholder: {
1182
- key: "verification.placeholder.stateCode",
1183
- params: { states: "RJ, SP" }
1184
- },
1084
+ widget: "select",
1085
+ label: { key: "verification.labels.chooseState" },
1086
+ placeholder: { key: "verification.placeholder.state" },
1185
1087
  input: { autofill: "addressLevel1" },
1088
+ optionsRef: "BR_STATES",
1186
1089
  payload: { transforms: [{ id: "uppercase" }] },
1187
1090
  prefill: ["document.state", "poa.state"]
1188
1091
  },
@@ -1214,7 +1117,7 @@ const EKYC_DEFINITIONS = {
1214
1117
  },
1215
1118
  "ekyc/CA/CA_CREDIT_FINTRAC": {
1216
1119
  schemaVersion: 1,
1217
- vocabulary: "1.2",
1120
+ vocabulary: "1.3",
1218
1121
  id: "ekyc/CA/CA_CREDIT_FINTRAC",
1219
1122
  module: "ekyc",
1220
1123
  country: "CA",
@@ -1269,7 +1172,10 @@ const EKYC_DEFINITIONS = {
1269
1172
  required: true,
1270
1173
  label: { key: "verification.labels.dateOfBirth" },
1271
1174
  input: { autofill: "birthday" },
1272
- rules: [{ id: "notFuture" }],
1175
+ rules: [{
1176
+ id: "maxAge",
1177
+ params: { years: 120 }
1178
+ }, { id: "notFuture" }],
1273
1179
  prefill: ["document.birthDate"]
1274
1180
  },
1275
1181
  {
@@ -1373,7 +1279,7 @@ const EKYC_DEFINITIONS = {
1373
1279
  },
1374
1280
  "ekyc/CA/CA_RES_CREDIT": {
1375
1281
  schemaVersion: 1,
1376
- vocabulary: "1.2",
1282
+ vocabulary: "1.3",
1377
1283
  id: "ekyc/CA/CA_RES_CREDIT",
1378
1284
  module: "ekyc",
1379
1285
  country: "CA",
@@ -1428,7 +1334,10 @@ const EKYC_DEFINITIONS = {
1428
1334
  required: true,
1429
1335
  label: { key: "verification.labels.dateOfBirth" },
1430
1336
  input: { autofill: "birthday" },
1431
- rules: [{ id: "notFuture" }],
1337
+ rules: [{
1338
+ id: "maxAge",
1339
+ params: { years: 120 }
1340
+ }, { id: "notFuture" }],
1432
1341
  prefill: ["document.birthDate"]
1433
1342
  },
1434
1343
  {
@@ -1551,7 +1460,7 @@ const EKYC_DEFINITIONS = {
1551
1460
  },
1552
1461
  "ekyc/CA/CA_TELCO": {
1553
1462
  schemaVersion: 1,
1554
- vocabulary: "1.2",
1463
+ vocabulary: "1.3",
1555
1464
  id: "ekyc/CA/CA_TELCO",
1556
1465
  module: "ekyc",
1557
1466
  country: "CA",
@@ -1593,7 +1502,10 @@ const EKYC_DEFINITIONS = {
1593
1502
  required: true,
1594
1503
  label: { key: "verification.labels.dateOfBirth" },
1595
1504
  input: { autofill: "birthday" },
1596
- rules: [{ id: "notFuture" }],
1505
+ rules: [{
1506
+ id: "maxAge",
1507
+ params: { years: 120 }
1508
+ }, { id: "notFuture" }],
1597
1509
  prefill: ["document.birthDate"]
1598
1510
  },
1599
1511
  {
@@ -1768,6 +1680,7 @@ const EKYC_DEFINITIONS = {
1768
1680
  format: [{ id: "stripSeparators" }, { id: "uppercase" }]
1769
1681
  },
1770
1682
  rules: [{ id: "rut" }],
1683
+ payload: { key: "idNumber" },
1771
1684
  prefill: ["document.documentNumber"]
1772
1685
  }
1773
1686
  ],
@@ -1781,7 +1694,7 @@ const EKYC_DEFINITIONS = {
1781
1694
  },
1782
1695
  "ekyc/CO/CO_CIVIL_REGISTER_1": {
1783
1696
  schemaVersion: 1,
1784
- vocabulary: "1.2",
1697
+ vocabulary: "1.3",
1785
1698
  id: "ekyc/CO/CO_CIVIL_REGISTER_1",
1786
1699
  module: "ekyc",
1787
1700
  country: "CO",
@@ -1838,7 +1751,10 @@ const EKYC_DEFINITIONS = {
1838
1751
  group: "dateOfBirth",
1839
1752
  label: { key: "verification.labels.dateOfBirth" },
1840
1753
  input: { autofill: "birthday" },
1841
- rules: [{ id: "notFuture" }],
1754
+ rules: [{
1755
+ id: "maxAge",
1756
+ params: { years: 120 }
1757
+ }, { id: "notFuture" }],
1842
1758
  prefill: ["document.birthDate"]
1843
1759
  },
1844
1760
  {
@@ -1881,6 +1797,7 @@ const EKYC_DEFINITIONS = {
1881
1797
  id: "digitCount",
1882
1798
  params: { lengths: [8, 10] }
1883
1799
  }],
1800
+ payload: { key: "idNumber" },
1884
1801
  prefill: ["document.documentNumber"]
1885
1802
  },
1886
1803
  {
@@ -1917,7 +1834,7 @@ const EKYC_DEFINITIONS = {
1917
1834
  },
1918
1835
  "ekyc/DE/DE_PHONE_MOBILE_REGISTER": {
1919
1836
  schemaVersion: 1,
1920
- vocabulary: "1.2",
1837
+ vocabulary: "1.3",
1921
1838
  id: "ekyc/DE/DE_PHONE_MOBILE_REGISTER",
1922
1839
  module: "ekyc",
1923
1840
  country: "DE",
@@ -1971,7 +1888,10 @@ const EKYC_DEFINITIONS = {
1971
1888
  group: "dateOfBirth",
1972
1889
  label: { key: "verification.labels.dateOfBirth" },
1973
1890
  input: { autofill: "birthday" },
1974
- rules: [{ id: "notFuture" }],
1891
+ rules: [{
1892
+ id: "maxAge",
1893
+ params: { years: 120 }
1894
+ }, { id: "notFuture" }],
1975
1895
  prefill: ["document.birthDate"]
1976
1896
  },
1977
1897
  {
@@ -2061,7 +1981,7 @@ const EKYC_DEFINITIONS = {
2061
1981
  },
2062
1982
  "ekyc/DK/DK_CIVIL_REG_CREDIT_TELCO": {
2063
1983
  schemaVersion: 1,
2064
- vocabulary: "1.2",
1984
+ vocabulary: "1.3",
2065
1985
  id: "ekyc/DK/DK_CIVIL_REG_CREDIT_TELCO",
2066
1986
  module: "ekyc",
2067
1987
  country: "DK",
@@ -2102,7 +2022,10 @@ const EKYC_DEFINITIONS = {
2102
2022
  group: "dateOfBirth",
2103
2023
  label: { key: "verification.labels.dateOfBirth" },
2104
2024
  input: { autofill: "birthday" },
2105
- rules: [{ id: "notFuture" }],
2025
+ rules: [{
2026
+ id: "maxAge",
2027
+ params: { years: 120 }
2028
+ }, { id: "notFuture" }],
2106
2029
  prefill: ["document.birthDate"]
2107
2030
  },
2108
2031
  {
@@ -2185,7 +2108,7 @@ const EKYC_DEFINITIONS = {
2185
2108
  },
2186
2109
  "ekyc/ES/ES_PHONE_REGISTER_2": {
2187
2110
  schemaVersion: 1,
2188
- vocabulary: "1.2",
2111
+ vocabulary: "1.3",
2189
2112
  id: "ekyc/ES/ES_PHONE_REGISTER_2",
2190
2113
  module: "ekyc",
2191
2114
  country: "ES",
@@ -2239,7 +2162,10 @@ const EKYC_DEFINITIONS = {
2239
2162
  group: "dateOfBirth",
2240
2163
  label: { key: "verification.labels.dateOfBirth" },
2241
2164
  input: { autofill: "birthday" },
2242
- rules: [{ id: "notFuture" }],
2165
+ rules: [{
2166
+ id: "maxAge",
2167
+ params: { years: 120 }
2168
+ }, { id: "notFuture" }],
2243
2169
  prefill: ["document.birthDate"]
2244
2170
  },
2245
2171
  {
@@ -2284,6 +2210,7 @@ const EKYC_DEFINITIONS = {
2284
2210
  format: [{ id: "stripSeparators" }, { id: "uppercase" }]
2285
2211
  },
2286
2212
  rules: [{ id: "esDni" }],
2213
+ payload: { key: "idNumber" },
2287
2214
  prefill: ["document.documentNumber"]
2288
2215
  },
2289
2216
  {
@@ -2360,7 +2287,7 @@ const EKYC_DEFINITIONS = {
2360
2287
  },
2361
2288
  "ekyc/FI/FI_CONSUMER_POP_REG_TELCO": {
2362
2289
  schemaVersion: 1,
2363
- vocabulary: "1.2",
2290
+ vocabulary: "1.3",
2364
2291
  id: "ekyc/FI/FI_CONSUMER_POP_REG_TELCO",
2365
2292
  module: "ekyc",
2366
2293
  country: "FI",
@@ -2401,7 +2328,10 @@ const EKYC_DEFINITIONS = {
2401
2328
  group: "dateOfBirth",
2402
2329
  label: { key: "verification.labels.dateOfBirth" },
2403
2330
  input: { autofill: "birthday" },
2404
- rules: [{ id: "notFuture" }],
2331
+ rules: [{
2332
+ id: "maxAge",
2333
+ params: { years: 120 }
2334
+ }, { id: "notFuture" }],
2405
2335
  prefill: ["document.birthDate"]
2406
2336
  },
2407
2337
  {
@@ -2509,7 +2439,7 @@ const EKYC_DEFINITIONS = {
2509
2439
  },
2510
2440
  "ekyc/FI/FI_NATIONAL_ID": {
2511
2441
  schemaVersion: 1,
2512
- vocabulary: "1.2",
2442
+ vocabulary: "1.3",
2513
2443
  id: "ekyc/FI/FI_NATIONAL_ID",
2514
2444
  module: "ekyc",
2515
2445
  country: "FI",
@@ -2551,7 +2481,10 @@ const EKYC_DEFINITIONS = {
2551
2481
  required: true,
2552
2482
  label: { key: "verification.labels.dateOfBirth" },
2553
2483
  input: { autofill: "birthday" },
2554
- rules: [{ id: "notFuture" }],
2484
+ rules: [{
2485
+ id: "maxAge",
2486
+ params: { years: 120 }
2487
+ }, { id: "notFuture" }],
2555
2488
  prefill: ["document.birthDate"]
2556
2489
  },
2557
2490
  {
@@ -2588,6 +2521,7 @@ const EKYC_DEFINITIONS = {
2588
2521
  label: { key: "verification.labels.idNum" },
2589
2522
  input: { maxLength: 11 },
2590
2523
  rules: [{ id: "fiPersonalIdentityCode" }],
2524
+ payload: { key: "idNumber" },
2591
2525
  prefill: ["document.documentNumber"]
2592
2526
  },
2593
2527
  {
@@ -2656,7 +2590,7 @@ const EKYC_DEFINITIONS = {
2656
2590
  },
2657
2591
  "ekyc/GB/GB_2X2": {
2658
2592
  schemaVersion: 1,
2659
- vocabulary: "1.2",
2593
+ vocabulary: "1.3",
2660
2594
  id: "ekyc/GB/GB_2X2",
2661
2595
  module: "ekyc",
2662
2596
  country: "GB",
@@ -2698,7 +2632,10 @@ const EKYC_DEFINITIONS = {
2698
2632
  required: true,
2699
2633
  label: { key: "verification.labels.dateOfBirth" },
2700
2634
  input: { autofill: "birthday" },
2701
- rules: [{ id: "notFuture" }],
2635
+ rules: [{
2636
+ id: "maxAge",
2637
+ params: { years: 120 }
2638
+ }, { id: "notFuture" }],
2702
2639
  prefill: ["document.birthDate"]
2703
2640
  },
2704
2641
  {
@@ -2808,7 +2745,7 @@ const EKYC_DEFINITIONS = {
2808
2745
  },
2809
2746
  "ekyc/GB/UK_VOTER_REGISTER": {
2810
2747
  schemaVersion: 1,
2811
- vocabulary: "1.2",
2748
+ vocabulary: "1.3",
2812
2749
  id: "ekyc/GB/UK_VOTER_REGISTER",
2813
2750
  module: "ekyc",
2814
2751
  country: "GB",
@@ -2862,7 +2799,10 @@ const EKYC_DEFINITIONS = {
2862
2799
  group: "dateOfBirth",
2863
2800
  label: { key: "verification.labels.dateOfBirth" },
2864
2801
  input: { autofill: "birthday" },
2865
- rules: [{ id: "notFuture" }],
2802
+ rules: [{
2803
+ id: "maxAge",
2804
+ params: { years: 120 }
2805
+ }, { id: "notFuture" }],
2866
2806
  prefill: ["document.birthDate"]
2867
2807
  },
2868
2808
  {
@@ -2966,7 +2906,7 @@ const EKYC_DEFINITIONS = {
2966
2906
  },
2967
2907
  "ekyc/GR/GR_1": {
2968
2908
  schemaVersion: 1,
2969
- vocabulary: "1.2",
2909
+ vocabulary: "1.3",
2970
2910
  id: "ekyc/GR/GR_1",
2971
2911
  module: "ekyc",
2972
2912
  country: "GR",
@@ -3020,7 +2960,10 @@ const EKYC_DEFINITIONS = {
3020
2960
  group: "dateOfBirth",
3021
2961
  label: { key: "verification.labels.dateOfBirth" },
3022
2962
  input: { autofill: "birthday" },
3023
- rules: [{ id: "notFuture" }],
2963
+ rules: [{
2964
+ id: "maxAge",
2965
+ params: { years: 120 }
2966
+ }, { id: "notFuture" }],
3024
2967
  prefill: ["document.birthDate"]
3025
2968
  },
3026
2969
  {
@@ -3068,6 +3011,7 @@ const EKYC_DEFINITIONS = {
3068
3011
  id: "digitCount",
3069
3012
  params: { lengths: [9] }
3070
3013
  }],
3014
+ payload: { key: "idNumber" },
3071
3015
  prefill: ["document.documentNumber"]
3072
3016
  },
3073
3017
  {
@@ -3159,7 +3103,7 @@ const EKYC_DEFINITIONS = {
3159
3103
  },
3160
3104
  "ekyc/GT/GT_1": {
3161
3105
  schemaVersion: 1,
3162
- vocabulary: "1.2",
3106
+ vocabulary: "1.3",
3163
3107
  id: "ekyc/GT/GT_1",
3164
3108
  module: "ekyc",
3165
3109
  country: "GT",
@@ -3198,7 +3142,10 @@ const EKYC_DEFINITIONS = {
3198
3142
  required: true,
3199
3143
  label: { key: "verification.labels.dateOfBirth" },
3200
3144
  input: { autofill: "birthday" },
3201
- rules: [{ id: "notFuture" }],
3145
+ rules: [{
3146
+ id: "maxAge",
3147
+ params: { years: 120 }
3148
+ }, { id: "notFuture" }],
3202
3149
  prefill: ["document.birthDate"]
3203
3150
  },
3204
3151
  {
@@ -3241,6 +3188,7 @@ const EKYC_DEFINITIONS = {
3241
3188
  id: "digitCount",
3242
3189
  params: { lengths: [13] }
3243
3190
  }],
3191
+ payload: { key: "idNumber" },
3244
3192
  prefill: ["document.documentNumber"]
3245
3193
  }
3246
3194
  ],
@@ -3254,7 +3202,7 @@ const EKYC_DEFINITIONS = {
3254
3202
  },
3255
3203
  "ekyc/IN/IN_DMV": {
3256
3204
  schemaVersion: 1,
3257
- vocabulary: "1.2",
3205
+ vocabulary: "1.3",
3258
3206
  id: "ekyc/IN/IN_DMV",
3259
3207
  module: "ekyc",
3260
3208
  country: "IN",
@@ -3309,7 +3257,10 @@ const EKYC_DEFINITIONS = {
3309
3257
  required: true,
3310
3258
  label: { key: "verification.labels.dateOfBirth" },
3311
3259
  input: { autofill: "birthday" },
3312
- rules: [{ id: "notFuture" }],
3260
+ rules: [{
3261
+ id: "maxAge",
3262
+ params: { years: 120 }
3263
+ }, { id: "notFuture" }],
3313
3264
  prefill: ["document.birthDate"]
3314
3265
  },
3315
3266
  {
@@ -3346,6 +3297,7 @@ const EKYC_DEFINITIONS = {
3346
3297
  label: { key: "verification.labels.idNum" },
3347
3298
  input: { maxLength: 20 },
3348
3299
  rules: [{ id: "inDrivingLicenseNumber" }],
3300
+ payload: { key: "idNumber" },
3349
3301
  prefill: ["document.documentNumber"]
3350
3302
  },
3351
3303
  {
@@ -3432,7 +3384,7 @@ const EKYC_DEFINITIONS = {
3432
3384
  },
3433
3385
  "ekyc/IN/INDIA_PAN_1": {
3434
3386
  schemaVersion: 1,
3435
- vocabulary: "1.2",
3387
+ vocabulary: "1.3",
3436
3388
  id: "ekyc/IN/INDIA_PAN_1",
3437
3389
  module: "ekyc",
3438
3390
  country: "IN",
@@ -3473,7 +3425,10 @@ const EKYC_DEFINITIONS = {
3473
3425
  required: true,
3474
3426
  label: { key: "verification.labels.dateOfBirth" },
3475
3427
  input: { autofill: "birthday" },
3476
- rules: [{ id: "notFuture" }],
3428
+ rules: [{
3429
+ id: "maxAge",
3430
+ params: { years: 120 }
3431
+ }, { id: "notFuture" }],
3477
3432
  prefill: ["document.birthDate"]
3478
3433
  },
3479
3434
  {
@@ -3505,7 +3460,7 @@ const EKYC_DEFINITIONS = {
3505
3460
  },
3506
3461
  "ekyc/IN/INDIA_PASSPORT_1": {
3507
3462
  schemaVersion: 1,
3508
- vocabulary: "1.2",
3463
+ vocabulary: "1.3",
3509
3464
  id: "ekyc/IN/INDIA_PASSPORT_1",
3510
3465
  module: "ekyc",
3511
3466
  country: "IN",
@@ -3553,7 +3508,10 @@ const EKYC_DEFINITIONS = {
3553
3508
  required: true,
3554
3509
  label: { key: "verification.labels.dateOfBirth" },
3555
3510
  input: { autofill: "birthday" },
3556
- rules: [{ id: "notFuture" }],
3511
+ rules: [{
3512
+ id: "maxAge",
3513
+ params: { years: 120 }
3514
+ }, { id: "notFuture" }],
3557
3515
  prefill: ["document.birthDate"]
3558
3516
  },
3559
3517
  {
@@ -3574,6 +3532,7 @@ const EKYC_DEFINITIONS = {
3574
3532
  },
3575
3533
  message: { key: "verification.errors.passportNumberFormat" }
3576
3534
  }],
3535
+ payload: { key: "idNumber" },
3577
3536
  prefill: ["document.documentNumber"]
3578
3537
  },
3579
3538
  {
@@ -3615,7 +3574,7 @@ const EKYC_DEFINITIONS = {
3615
3574
  },
3616
3575
  "ekyc/IT/IT_CIVIL_REG_CREDIT_TELCO": {
3617
3576
  schemaVersion: 1,
3618
- vocabulary: "1.2",
3577
+ vocabulary: "1.3",
3619
3578
  id: "ekyc/IT/IT_CIVIL_REG_CREDIT_TELCO",
3620
3579
  module: "ekyc",
3621
3580
  country: "IT",
@@ -3656,7 +3615,10 @@ const EKYC_DEFINITIONS = {
3656
3615
  group: "dateOfBirth",
3657
3616
  label: { key: "verification.labels.dateOfBirth" },
3658
3617
  input: { autofill: "birthday" },
3659
- rules: [{ id: "notFuture" }],
3618
+ rules: [{
3619
+ id: "maxAge",
3620
+ params: { years: 120 }
3621
+ }, { id: "notFuture" }],
3660
3622
  prefill: ["document.birthDate"]
3661
3623
  },
3662
3624
  {
@@ -3830,6 +3792,7 @@ const EKYC_DEFINITIONS = {
3830
3792
  id: "digitCount",
3831
3793
  params: { lengths: [14] }
3832
3794
  }],
3795
+ payload: { key: "idNumber" },
3833
3796
  prefill: ["document.documentNumber"]
3834
3797
  },
3835
3798
  {
@@ -3878,7 +3841,7 @@ const EKYC_DEFINITIONS = {
3878
3841
  },
3879
3842
  "ekyc/MX/MX_CIVIL_REGISTER_2": {
3880
3843
  schemaVersion: 1,
3881
- vocabulary: "1.2",
3844
+ vocabulary: "1.3",
3882
3845
  id: "ekyc/MX/MX_CIVIL_REGISTER_2",
3883
3846
  module: "ekyc",
3884
3847
  country: "MX",
@@ -3931,7 +3894,10 @@ const EKYC_DEFINITIONS = {
3931
3894
  group: "dateOfBirth",
3932
3895
  label: { key: "verification.labels.dateOfBirth" },
3933
3896
  input: { autofill: "birthday" },
3934
- rules: [{ id: "notFuture" }],
3897
+ rules: [{
3898
+ id: "maxAge",
3899
+ params: { years: 120 }
3900
+ }, { id: "notFuture" }],
3935
3901
  prefill: ["document.birthDate"]
3936
3902
  },
3937
3903
  {
@@ -3978,6 +3944,7 @@ const EKYC_DEFINITIONS = {
3978
3944
  id: "curp",
3979
3945
  message: { key: "verification.errors.curp" }
3980
3946
  }],
3947
+ payload: { key: "idNumber" },
3981
3948
  prefill: ["document.documentNumber"]
3982
3949
  },
3983
3950
  {
@@ -4005,7 +3972,7 @@ const EKYC_DEFINITIONS = {
4005
3972
  },
4006
3973
  "ekyc/NL/NL_CIVIL_REG_CREDIT_TELCO": {
4007
3974
  schemaVersion: 1,
4008
- vocabulary: "1.2",
3975
+ vocabulary: "1.3",
4009
3976
  id: "ekyc/NL/NL_CIVIL_REG_CREDIT_TELCO",
4010
3977
  module: "ekyc",
4011
3978
  country: "NL",
@@ -4046,7 +4013,10 @@ const EKYC_DEFINITIONS = {
4046
4013
  group: "dateOfBirth",
4047
4014
  label: { key: "verification.labels.dateOfBirth" },
4048
4015
  input: { autofill: "birthday" },
4049
- rules: [{ id: "notFuture" }],
4016
+ rules: [{
4017
+ id: "maxAge",
4018
+ params: { years: 120 }
4019
+ }, { id: "notFuture" }],
4050
4020
  prefill: ["document.birthDate"]
4051
4021
  },
4052
4022
  {
@@ -4129,7 +4099,7 @@ const EKYC_DEFINITIONS = {
4129
4099
  },
4130
4100
  "ekyc/NL/NL_CONSUMER_POP_REG_TELCO": {
4131
4101
  schemaVersion: 1,
4132
- vocabulary: "1.2",
4102
+ vocabulary: "1.3",
4133
4103
  id: "ekyc/NL/NL_CONSUMER_POP_REG_TELCO",
4134
4104
  module: "ekyc",
4135
4105
  country: "NL",
@@ -4170,7 +4140,10 @@ const EKYC_DEFINITIONS = {
4170
4140
  group: "dateOfBirth",
4171
4141
  label: { key: "verification.labels.dateOfBirth" },
4172
4142
  input: { autofill: "birthday" },
4173
- rules: [{ id: "notFuture" }],
4143
+ rules: [{
4144
+ id: "maxAge",
4145
+ params: { years: 120 }
4146
+ }, { id: "notFuture" }],
4174
4147
  prefill: ["document.birthDate"]
4175
4148
  },
4176
4149
  {
@@ -4274,7 +4247,7 @@ const EKYC_DEFINITIONS = {
4274
4247
  },
4275
4248
  "ekyc/NO/NO_CONS_POP_REG": {
4276
4249
  schemaVersion: 1,
4277
- vocabulary: "1.2",
4250
+ vocabulary: "1.3",
4278
4251
  id: "ekyc/NO/NO_CONS_POP_REG",
4279
4252
  module: "ekyc",
4280
4253
  country: "NO",
@@ -4316,7 +4289,10 @@ const EKYC_DEFINITIONS = {
4316
4289
  required: true,
4317
4290
  label: { key: "verification.labels.dateOfBirth" },
4318
4291
  input: { autofill: "birthday" },
4319
- rules: [{ id: "notFuture" }],
4292
+ rules: [{
4293
+ id: "maxAge",
4294
+ params: { years: 120 }
4295
+ }, { id: "notFuture" }],
4320
4296
  prefill: ["document.birthDate"]
4321
4297
  },
4322
4298
  {
@@ -4419,7 +4395,7 @@ const EKYC_DEFINITIONS = {
4419
4395
  },
4420
4396
  "ekyc/PE/PE_CIVIL_REGISTER_2": {
4421
4397
  schemaVersion: 1,
4422
- vocabulary: "1.2",
4398
+ vocabulary: "1.3",
4423
4399
  id: "ekyc/PE/PE_CIVIL_REGISTER_2",
4424
4400
  module: "ekyc",
4425
4401
  country: "PE",
@@ -4473,7 +4449,10 @@ const EKYC_DEFINITIONS = {
4473
4449
  group: "dateOfBirth",
4474
4450
  label: { key: "verification.labels.dateOfBirth" },
4475
4451
  input: { autofill: "birthday" },
4476
- rules: [{ id: "notFuture" }],
4452
+ rules: [{
4453
+ id: "maxAge",
4454
+ params: { years: 120 }
4455
+ }, { id: "notFuture" }],
4477
4456
  prefill: ["document.birthDate"]
4478
4457
  },
4479
4458
  {
@@ -4516,6 +4495,7 @@ const EKYC_DEFINITIONS = {
4516
4495
  id: "digitCount",
4517
4496
  params: { lengths: [8] }
4518
4497
  }],
4498
+ payload: { key: "idNumber" },
4519
4499
  prefill: ["document.documentNumber"]
4520
4500
  },
4521
4501
  {
@@ -4554,7 +4534,7 @@ const EKYC_DEFINITIONS = {
4554
4534
  },
4555
4535
  "ekyc/PH/PH_RES_CREDIT": {
4556
4536
  schemaVersion: 1,
4557
- vocabulary: "1.2",
4537
+ vocabulary: "1.3",
4558
4538
  id: "ekyc/PH/PH_RES_CREDIT",
4559
4539
  module: "ekyc",
4560
4540
  country: "PH",
@@ -4613,7 +4593,10 @@ const EKYC_DEFINITIONS = {
4613
4593
  required: true,
4614
4594
  label: { key: "verification.labels.dateOfBirth" },
4615
4595
  input: { autofill: "birthday" },
4616
- rules: [{ id: "notFuture" }],
4596
+ rules: [{
4597
+ id: "maxAge",
4598
+ params: { years: 120 }
4599
+ }, { id: "notFuture" }],
4617
4600
  prefill: ["document.birthDate"]
4618
4601
  },
4619
4602
  {
@@ -4665,6 +4648,7 @@ const EKYC_DEFINITIONS = {
4665
4648
  extra: "-"
4666
4649
  }
4667
4650
  }],
4651
+ payload: { key: "idNumber" },
4668
4652
  prefill: ["document.documentNumber"]
4669
4653
  },
4670
4654
  {
@@ -4767,7 +4751,7 @@ const EKYC_DEFINITIONS = {
4767
4751
  },
4768
4752
  "ekyc/PT/PT_CIVIL_REG_CREDIT_TELCO": {
4769
4753
  schemaVersion: 1,
4770
- vocabulary: "1.2",
4754
+ vocabulary: "1.3",
4771
4755
  id: "ekyc/PT/PT_CIVIL_REG_CREDIT_TELCO",
4772
4756
  module: "ekyc",
4773
4757
  country: "PT",
@@ -4808,7 +4792,10 @@ const EKYC_DEFINITIONS = {
4808
4792
  group: "dateOfBirth",
4809
4793
  label: { key: "verification.labels.dateOfBirth" },
4810
4794
  input: { autofill: "birthday" },
4811
- rules: [{ id: "notFuture" }],
4795
+ rules: [{
4796
+ id: "maxAge",
4797
+ params: { years: 120 }
4798
+ }, { id: "notFuture" }],
4812
4799
  prefill: ["document.birthDate"]
4813
4800
  },
4814
4801
  {
@@ -4892,7 +4879,7 @@ const EKYC_DEFINITIONS = {
4892
4879
  },
4893
4880
  "ekyc/SG/SG_PHONE_REGISTER": {
4894
4881
  schemaVersion: 1,
4895
- vocabulary: "1.2",
4882
+ vocabulary: "1.3",
4896
4883
  id: "ekyc/SG/SG_PHONE_REGISTER",
4897
4884
  module: "ekyc",
4898
4885
  country: "SG",
@@ -4946,7 +4933,10 @@ const EKYC_DEFINITIONS = {
4946
4933
  group: "dateOfBirth",
4947
4934
  label: { key: "verification.labels.dateOfBirth" },
4948
4935
  input: { autofill: "birthday" },
4949
- rules: [{ id: "notFuture" }],
4936
+ rules: [{
4937
+ id: "maxAge",
4938
+ params: { years: 120 }
4939
+ }, { id: "notFuture" }],
4950
4940
  prefill: ["document.birthDate"]
4951
4941
  },
4952
4942
  {
@@ -5050,7 +5040,7 @@ const EKYC_DEFINITIONS = {
5050
5040
  },
5051
5041
  "ekyc/US/US_CREDIT_BUREAU_1": {
5052
5042
  schemaVersion: 1,
5053
- vocabulary: "1.2",
5043
+ vocabulary: "1.3",
5054
5044
  id: "ekyc/US/US_CREDIT_BUREAU_1",
5055
5045
  module: "ekyc",
5056
5046
  country: "US",
@@ -5104,7 +5094,10 @@ const EKYC_DEFINITIONS = {
5104
5094
  group: "dateOfBirth",
5105
5095
  label: { key: "verification.labels.dateOfBirth" },
5106
5096
  input: { autofill: "birthday" },
5107
- rules: [{ id: "notFuture" }],
5097
+ rules: [{
5098
+ id: "maxAge",
5099
+ params: { years: 120 }
5100
+ }, { id: "notFuture" }],
5108
5101
  prefill: ["document.birthDate"]
5109
5102
  },
5110
5103
  {
@@ -5219,7 +5212,7 @@ const EKYC_DEFINITIONS = {
5219
5212
  },
5220
5213
  "ekyc/US/US_CREDIT_BUREAU_3": {
5221
5214
  schemaVersion: 1,
5222
- vocabulary: "1.2",
5215
+ vocabulary: "1.3",
5223
5216
  id: "ekyc/US/US_CREDIT_BUREAU_3",
5224
5217
  module: "ekyc",
5225
5218
  country: "US",
@@ -5273,7 +5266,10 @@ const EKYC_DEFINITIONS = {
5273
5266
  group: "dateOfBirth",
5274
5267
  label: { key: "verification.labels.dateOfBirth" },
5275
5268
  input: { autofill: "birthday" },
5276
- rules: [{ id: "notFuture" }],
5269
+ rules: [{
5270
+ id: "maxAge",
5271
+ params: { years: 120 }
5272
+ }, { id: "notFuture" }],
5277
5273
  prefill: ["document.birthDate"]
5278
5274
  },
5279
5275
  {
@@ -5399,7 +5395,7 @@ const EKYC_DEFINITIONS = {
5399
5395
  },
5400
5396
  "ekyc/US/US_CREDIT_TELCO": {
5401
5397
  schemaVersion: 1,
5402
- vocabulary: "1.2",
5398
+ vocabulary: "1.3",
5403
5399
  id: "ekyc/US/US_CREDIT_TELCO",
5404
5400
  module: "ekyc",
5405
5401
  country: "US",
@@ -5444,7 +5440,10 @@ const EKYC_DEFINITIONS = {
5444
5440
  group: "dateOfBirth",
5445
5441
  label: { key: "verification.labels.dateOfBirth" },
5446
5442
  input: { autofill: "birthday" },
5447
- rules: [{ id: "notFuture" }],
5443
+ rules: [{
5444
+ id: "maxAge",
5445
+ params: { years: 120 }
5446
+ }, { id: "notFuture" }],
5448
5447
  prefill: ["document.birthDate"]
5449
5448
  },
5450
5449
  {
@@ -5569,7 +5568,7 @@ const EKYC_DEFINITIONS = {
5569
5568
  },
5570
5569
  "ekyc/US/US_TELCO_1": {
5571
5570
  schemaVersion: 1,
5572
- vocabulary: "1.2",
5571
+ vocabulary: "1.3",
5573
5572
  id: "ekyc/US/US_TELCO_1",
5574
5573
  module: "ekyc",
5575
5574
  country: "US",
@@ -5610,7 +5609,10 @@ const EKYC_DEFINITIONS = {
5610
5609
  group: "dateOfBirth",
5611
5610
  label: { key: "verification.labels.dateOfBirth" },
5612
5611
  input: { autofill: "birthday" },
5613
- rules: [{ id: "notFuture" }],
5612
+ rules: [{
5613
+ id: "maxAge",
5614
+ params: { years: 120 }
5615
+ }, { id: "notFuture" }],
5614
5616
  prefill: ["document.birthDate"]
5615
5617
  },
5616
5618
  {
@@ -5738,7 +5740,7 @@ const EKYC_DEFINITIONS = {
5738
5740
  },
5739
5741
  "ekyc/US/US_TELCO_2": {
5740
5742
  schemaVersion: 1,
5741
- vocabulary: "1.2",
5743
+ vocabulary: "1.3",
5742
5744
  id: "ekyc/US/US_TELCO_2",
5743
5745
  module: "ekyc",
5744
5746
  country: "US",
@@ -5777,7 +5779,10 @@ const EKYC_DEFINITIONS = {
5777
5779
  group: "dateOfBirth",
5778
5780
  label: { key: "verification.labels.dateOfBirth" },
5779
5781
  input: { autofill: "birthday" },
5780
- rules: [{ id: "notFuture" }],
5782
+ rules: [{
5783
+ id: "maxAge",
5784
+ params: { years: 120 }
5785
+ }, { id: "notFuture" }],
5781
5786
  prefill: ["document.birthDate"]
5782
5787
  },
5783
5788
  {
@@ -5873,7 +5878,7 @@ const EKYC_DEFINITIONS = {
5873
5878
  },
5874
5879
  "ekyc/VE/VE_CIVIL_REGISTER": {
5875
5880
  schemaVersion: 1,
5876
- vocabulary: "1.2",
5881
+ vocabulary: "1.3",
5877
5882
  id: "ekyc/VE/VE_CIVIL_REGISTER",
5878
5883
  module: "ekyc",
5879
5884
  country: "VE",
@@ -5926,7 +5931,10 @@ const EKYC_DEFINITIONS = {
5926
5931
  group: "dateOfBirth",
5927
5932
  label: { key: "verification.labels.dateOfBirth" },
5928
5933
  input: { autofill: "birthday" },
5929
- rules: [{ id: "notFuture" }],
5934
+ rules: [{
5935
+ id: "maxAge",
5936
+ params: { years: 120 }
5937
+ }, { id: "notFuture" }],
5930
5938
  prefill: ["document.birthDate"]
5931
5939
  },
5932
5940
  {
@@ -5972,6 +5980,7 @@ const EKYC_DEFINITIONS = {
5972
5980
  max: 9
5973
5981
  }
5974
5982
  }],
5983
+ payload: { key: "idNumber" },
5975
5984
  prefill: ["document.documentNumber"]
5976
5985
  }
5977
5986
  ],
@@ -5984,119 +5993,6 @@ const EKYC_DEFINITIONS = {
5984
5993
  }
5985
5994
  }
5986
5995
  };
5987
- const brStateOptions = Object.values({
5988
- AC: {
5989
- code: "AC",
5990
- name: "Acre"
5991
- },
5992
- AL: {
5993
- code: "AL",
5994
- name: "Alagoas"
5995
- },
5996
- AP: {
5997
- code: "AP",
5998
- name: "Amapá"
5999
- },
6000
- AM: {
6001
- code: "AM",
6002
- name: "Amazonas"
6003
- },
6004
- BA: {
6005
- code: "BA",
6006
- name: "Bahia"
6007
- },
6008
- CE: {
6009
- code: "CE",
6010
- name: "Ceará"
6011
- },
6012
- DF: {
6013
- code: "DF",
6014
- name: "Distrito Federal"
6015
- },
6016
- ES: {
6017
- code: "ES",
6018
- name: "Espírito Santo"
6019
- },
6020
- GO: {
6021
- code: "GO",
6022
- name: "Goiás"
6023
- },
6024
- MA: {
6025
- code: "MA",
6026
- name: "Maranhão"
6027
- },
6028
- MT: {
6029
- code: "MT",
6030
- name: "Mato Grosso"
6031
- },
6032
- MS: {
6033
- code: "MS",
6034
- name: "Mato Grosso do Sul"
6035
- },
6036
- MG: {
6037
- code: "MG",
6038
- name: "Minas Gerais"
6039
- },
6040
- PA: {
6041
- code: "PA",
6042
- name: "Pará"
6043
- },
6044
- PB: {
6045
- code: "PB",
6046
- name: "Paraíba"
6047
- },
6048
- PR: {
6049
- code: "PR",
6050
- name: "Paraná"
6051
- },
6052
- PE: {
6053
- code: "PE",
6054
- name: "Pernambuco"
6055
- },
6056
- PI: {
6057
- code: "PI",
6058
- name: "Piauí"
6059
- },
6060
- RJ: {
6061
- code: "RJ",
6062
- name: "Rio de Janeiro"
6063
- },
6064
- RN: {
6065
- code: "RN",
6066
- name: "Rio Grande do Norte"
6067
- },
6068
- RS: {
6069
- code: "RS",
6070
- name: "Rio Grande do Sul"
6071
- },
6072
- RO: {
6073
- code: "RO",
6074
- name: "Rondônia"
6075
- },
6076
- RR: {
6077
- code: "RR",
6078
- name: "Roraima"
6079
- },
6080
- SC: {
6081
- code: "SC",
6082
- name: "Santa Catarina"
6083
- },
6084
- SP: {
6085
- code: "SP",
6086
- name: "São Paulo"
6087
- },
6088
- SE: {
6089
- code: "SE",
6090
- name: "Sergipe"
6091
- },
6092
- TO: {
6093
- code: "TO",
6094
- name: "Tocantins"
6095
- }
6096
- }).map((state) => ({
6097
- value: state.code,
6098
- label: state.name
6099
- }));
6100
5996
  const caProvinceOptions = Object.values({
6101
5997
  AB: {
6102
5998
  code: "AB",
@@ -6435,60 +6331,6 @@ const OPTION_LISTS = {
6435
6331
  }
6436
6332
  ]
6437
6333
  };
6438
- /** Vocabulary rules expressed as today's `EkycValidationRule` objects. */
6439
- const RULES = {
6440
- cpf: () => ({ type: "cpf" }),
6441
- ssnFormat: () => ({ type: "ssnFormat" }),
6442
- noPoBox: () => ({ type: "noPoBox" }),
6443
- emailFormat: () => ({ type: "emailFormat" }),
6444
- postalCodeFormat: ({ country }) => ({
6445
- type: "postalCodeFormat",
6446
- country
6447
- }),
6448
- phoneFormat: ({ country, required }) => ({
6449
- type: "phoneFormat",
6450
- country,
6451
- optional: !required
6452
- }),
6453
- exactLength: ({ params }) => ({
6454
- type: "exactLength",
6455
- length: params.length
6456
- }),
6457
- nameCharacters: () => ({ type: "nameCharacters" }),
6458
- notFuture: () => ({ type: "notFuture" }),
6459
- phoneDigits: ({ country, params }) => ({
6460
- type: "phoneDigits",
6461
- country,
6462
- min: params.min,
6463
- max: params.max
6464
- }),
6465
- digitCount: ({ params }) => ({
6466
- type: "digitCount",
6467
- ...params.lengths !== void 0 && { lengths: [...params.lengths] },
6468
- ...params.min !== void 0 && { min: params.min },
6469
- ...params.max !== void 0 && { max: params.max }
6470
- }),
6471
- allowedCharacters: ({ params }) => ({
6472
- type: "allowedCharacters",
6473
- classes: [...params.classes],
6474
- ...params.extra !== void 0 && { extra: params.extra }
6475
- }),
6476
- charTemplate: ({ params }) => ({
6477
- type: "charTemplate",
6478
- templates: [...params.templates],
6479
- ...params.ignoreCase !== void 0 && { ignoreCase: params.ignoreCase }
6480
- }),
6481
- numericRange: ({ params }) => ({
6482
- type: "numericRange",
6483
- min: params.min,
6484
- max: params.max
6485
- }),
6486
- rut: () => ({ type: "rut" }),
6487
- esDni: () => ({ type: "esDni" }),
6488
- fiPersonalIdentityCode: () => ({ type: "fiPersonalIdentityCode" }),
6489
- inDrivingLicenseNumber: () => ({ type: "inDrivingLicenseNumber" }),
6490
- curp: () => ({ type: "curp" })
6491
- };
6492
6334
  const isCount = (value) => typeof value === "number" && Number.isInteger(value) && value > 0;
6493
6335
  const isInteger = (value) => typeof value === "number" && Number.isInteger(value);
6494
6336
  const isNonEmptyArrayOf = (value, item) => Array.isArray(value) && value.length > 0 && value.every(item);
@@ -6505,7 +6347,8 @@ const RULE_PARAMS = {
6505
6347
  digitCount: ({ lengths, min, max }) => lengths !== void 0 ? isNonEmptyArrayOf(lengths, isCount) && min === void 0 && max === void 0 : isCount(min) && isCount(max) && min <= max,
6506
6348
  allowedCharacters: ({ classes, extra }) => isNonEmptyArrayOf(classes, isCharacterClass) && (extra === void 0 || isString(extra)),
6507
6349
  charTemplate: ({ templates, ignoreCase }) => isNonEmptyArrayOf(templates, (t) => isString(t) && t !== "") && (ignoreCase === void 0 || typeof ignoreCase === "boolean"),
6508
- numericRange: ({ min, max }) => isInteger(min) && isInteger(max) && min <= max
6350
+ numericRange: ({ min, max }) => isInteger(min) && isInteger(max) && min <= max,
6351
+ maxAge: ({ years }) => isCount(years)
6509
6352
  };
6510
6353
  /**
6511
6354
  * What the projection can express today. Request-body transforms are listed
@@ -6515,7 +6358,7 @@ const RULE_PARAMS = {
6515
6358
  */
6516
6359
  const EKYC_SUPPORTED_IDS = {
6517
6360
  schemaVersions: [1],
6518
- vocabulary: "1.2",
6361
+ vocabulary: "1.3",
6519
6362
  kinds: /* @__PURE__ */ new Set([
6520
6363
  "text",
6521
6364
  "date",
@@ -6778,21 +6621,6 @@ function projectField(resolved, verificationFields, country) {
6778
6621
  if (validation.length > 0) def.validation = validation;
6779
6622
  return def;
6780
6623
  }
6781
- function projectRules(rules, country, required) {
6782
- return rules.flatMap((rule) => {
6783
- const project = RULES[rule.id];
6784
- if (!project) return [];
6785
- const projected = project({
6786
- country,
6787
- required,
6788
- params: rule.params ?? {}
6789
- });
6790
- return [rule.message ? {
6791
- ...projected,
6792
- message: rule.message.key
6793
- } : projected];
6794
- });
6795
- }
6796
6624
  /**
6797
6625
  * Projects a resolved definition to today's `EkycFieldDef[]`, identical to
6798
6626
  * what `legacyBuildFieldDefs` returns for the same source and country.
@@ -6825,6 +6653,11 @@ function projectEkycFields(form, verificationFields, country) {
6825
6653
  //#endregion
6826
6654
  //#region src/modules/ekyc/ekycActions.ts
6827
6655
  const dateFormattingInstance = new DateFormattingProvider();
6656
+ /** Countries whose state is picked from a list, sent as the two-letter code. */
6657
+ const STATE_OPTIONS_BY_COUNTRY = {
6658
+ US: usStateOptions,
6659
+ BR: brStateOptions
6660
+ };
6828
6661
  function buildValidationRules(field, country, configSource) {
6829
6662
  const rules = [];
6830
6663
  if (field.required) rules.push({ type: "required" });
@@ -6845,6 +6678,10 @@ function buildValidationRules(field, country, configSource) {
6845
6678
  type: "exactLength",
6846
6679
  length: 10
6847
6680
  });
6681
+ if (field.name === "dateOfBirth") rules.push({
6682
+ type: "maxAge",
6683
+ years: 120
6684
+ });
6848
6685
  return rules;
6849
6686
  }
6850
6687
  function applyOneOfRequiredGroups(defs, configSource) {
@@ -6936,8 +6773,11 @@ function legacyBuildFieldDefs(fields, configSource, country, enablePhoneRisk = f
6936
6773
  ] });
6937
6774
  else add("nationality", "text", "verification.labels.nationality", fields.nationality);
6938
6775
  if (fields.last4SSN) add("last4SSN", "text", "verification.labels.last4SSN", fields.last4SSN, { maxLength: 4 });
6939
- if (fields.idNum) add("idNum", "text", "verification.labels.idNum", fields.idNum, { maxLength: 13 });
6940
- if (fields.idNum1) add("idNum1", "text", "verification.labels.idNum1", fields.idNum1);
6776
+ if (fields.idNum) add("idNum", "text", "verification.labels.idNum", fields.idNum, {
6777
+ maxLength: 13,
6778
+ payloadKey: "idNumber"
6779
+ });
6780
+ if (fields.idNum1) add("idNum1", "text", "verification.labels.idNum1", fields.idNum1, { payloadKey: "idNumber1" });
6941
6781
  if (fields.gender) add("gender", "radio", "verification.labels.gender", fields.gender, { options: [{
6942
6782
  value: "F",
6943
6783
  label: "common.female"
@@ -6949,23 +6789,26 @@ function legacyBuildFieldDefs(fields, configSource, country, enablePhoneRisk = f
6949
6789
  const addAddressFields = () => {
6950
6790
  const addrSource = fields.address;
6951
6791
  if (!addrSource) return;
6952
- if (HOUSE_NO_SOURCES.includes(configSource)) add("houseNo", "text", "verification.labels.houseNo", addrSource, { section: "address" });
6953
6792
  if (STREET_SOURCES.includes(configSource)) add("street", "text", "verification.labels.street", addrSource, { section: "address" });
6793
+ if (HOUSE_NO_SOURCES.includes(configSource)) add("houseNo", "text", "verification.labels.houseNo", addrSource, { section: "address" });
6954
6794
  if (APARTMENT_SOURCES.includes(configSource)) add("apartment", "text", "verification.labels.apartment", addrSource, {
6955
6795
  section: "address",
6956
6796
  placeholder: "verification.placeholder.apartment"
6957
6797
  });
6958
6798
  if (CITY_SOURCES.includes(configSource)) add("city", "text", "verification.labels.city", addrSource, { section: "address" });
6959
- if (ADDRESS_STATE_SOURCES.includes(configSource)) add("state", country === "US" ? "dropdown" : "text", country === "US" ? "verification.labels.chooseState" : "verification.labels.state", addrSource, {
6960
- section: "address",
6961
- ...country === "US" ? {
6962
- options: usStateOptions,
6963
- placeholder: "verification.placeholder.state"
6964
- } : {
6965
- placeholder: "verification.placeholder.stateCode",
6966
- placeholderParams: { states: STATE_CODE_HINTS[country] ?? "" }
6967
- }
6968
- });
6799
+ if (ADDRESS_STATE_SOURCES.includes(configSource)) {
6800
+ const stateOptions = STATE_OPTIONS_BY_COUNTRY[country];
6801
+ add("state", stateOptions ? "dropdown" : "text", stateOptions ? "verification.labels.chooseState" : "verification.labels.state", addrSource, {
6802
+ section: "address",
6803
+ ...stateOptions ? {
6804
+ options: stateOptions,
6805
+ placeholder: "verification.placeholder.state"
6806
+ } : {
6807
+ placeholder: "verification.placeholder.stateCode",
6808
+ placeholderParams: { states: STATE_CODE_HINTS[country] ?? "" }
6809
+ }
6810
+ });
6811
+ }
6969
6812
  if (POSTAL_CODE_SOURCES.includes(configSource)) add("postalCode", "text", country === "US" ? "verification.labels.zipCode" : "verification.labels.postalCode", addrSource, {
6970
6813
  section: "address",
6971
6814
  maxLength: getPostalCodeMaxLength(country)
@@ -7215,6 +7058,10 @@ async function submitEkyc(data, signal) {
7215
7058
  //#region src/modules/ekyc/ekycGuards.ts
7216
7059
  const hasNoValidationErrorsGuard = ({ context }) => Object.keys(context.validationErrors ?? {}).length === 0;
7217
7060
  const hasFlowIdGuard = ({ context }) => !!context.config.flowId;
7061
+ /** A `flowId` config whose module config never arrived (its load failed). */
7062
+ const needsModuleConfigGuard = ({ context }) => !!context.config.flowId && context.moduleConfig === void 0;
7063
+ /** A form with a phone field whose phone rules haven't loaded. */
7064
+ const needsPhoneRulesGuard = ({ context }) => context.fields.some((field) => field.type === "phone") && getPhoneValidation() === void 0;
7218
7065
  const hasVerificationFieldsGuard = ({ context }) => !!context.config.verificationFields;
7219
7066
  const COUNTRY_NOT_SUPPORTED_MSG = "Request unsuccessful. Country not supported for EKYC.";
7220
7067
  const isCountryNotSupportedGuard = ({ event }) => {
@@ -7230,6 +7077,14 @@ const fetchModuleConfigActor = fromPromise(async ({ input, signal }) => {
7230
7077
  if (getEKYCFields(config).phone !== false) await phoneRules;
7231
7078
  return config;
7232
7079
  });
7080
+ /**
7081
+ * Loads the phone validation rules for a config that arrived already resolved
7082
+ * (a workflow node, or `verificationFields`), which skips
7083
+ * `fetchModuleConfigActor`. Only a form with a phone field waits for them.
7084
+ */
7085
+ const loadPhoneRulesActor = fromPromise(async ({ input }) => {
7086
+ if (input.hasPhone) await loadPhoneValidator();
7087
+ });
7233
7088
  /** The first address suggestion for the first query that has one. */
7234
7089
  async function firstSuggestion(queries, signal) {
7235
7090
  for (const query of queries) try {
@@ -7292,6 +7147,7 @@ const ekycMachine = setup({
7292
7147
  },
7293
7148
  actors: {
7294
7149
  fetchModuleConfig: fetchModuleConfigActor,
7150
+ loadPhoneRules: loadPhoneRulesActor,
7295
7151
  fetchPrefillData: fetchPrefillDataActor,
7296
7152
  submitEkyc: submitEkycActor,
7297
7153
  debounceSearch: debounceSearchActor
@@ -7407,6 +7263,8 @@ const ekycMachine = setup({
7407
7263
  hasNoValidationErrors: hasNoValidationErrorsGuard,
7408
7264
  hasFlowId: hasFlowIdGuard,
7409
7265
  hasVerificationFields: hasVerificationFieldsGuard,
7266
+ needsModuleConfig: needsModuleConfigGuard,
7267
+ needsPhoneRules: needsPhoneRulesGuard,
7410
7268
  isCountryNotSupported: isCountryNotSupportedGuard,
7411
7269
  shouldAutoSubmit: ({ context }) => !context.autoSubmitted && showsNoFields(context),
7412
7270
  showsNoFields: ({ context }) => showsNoFields(context)
@@ -7438,11 +7296,11 @@ const ekycMachine = setup({
7438
7296
  states: {
7439
7297
  idle: { on: { LOAD: [
7440
7298
  {
7441
- target: "loading",
7299
+ target: "loading.moduleConfig",
7442
7300
  guard: "hasFlowId"
7443
7301
  },
7444
7302
  {
7445
- target: "prefilling",
7303
+ target: "loading.phoneRules",
7446
7304
  guard: "hasVerificationFields",
7447
7305
  actions: assign(({ context }) => {
7448
7306
  const vFields = context.config.verificationFields;
@@ -7458,19 +7316,34 @@ const ekycMachine = setup({
7458
7316
  },
7459
7317
  { target: "misconfigured" }
7460
7318
  ] } },
7461
- loading: { invoke: {
7462
- id: "fetchModuleConfig",
7463
- src: "fetchModuleConfig",
7464
- input: ({ context }) => ({ flowId: context.config.flowId }),
7465
- onDone: {
7466
- target: "prefilling",
7467
- actions: "setModuleConfig"
7468
- },
7469
- onError: {
7470
- target: "error",
7471
- actions: "setErrorMessage"
7319
+ loading: {
7320
+ initial: "moduleConfig",
7321
+ states: {
7322
+ moduleConfig: { invoke: {
7323
+ id: "fetchModuleConfig",
7324
+ src: "fetchModuleConfig",
7325
+ input: ({ context }) => ({ flowId: context.config.flowId }),
7326
+ onDone: {
7327
+ target: "#ekyc.prefilling",
7328
+ actions: "setModuleConfig"
7329
+ },
7330
+ onError: {
7331
+ target: "#ekyc.error",
7332
+ actions: "setErrorMessage"
7333
+ }
7334
+ } },
7335
+ phoneRules: { invoke: {
7336
+ id: "loadPhoneRules",
7337
+ src: "loadPhoneRules",
7338
+ input: ({ context }) => ({ hasPhone: context.fields.some((field) => field.type === "phone") }),
7339
+ onDone: { target: "#ekyc.prefilling" },
7340
+ onError: {
7341
+ target: "#ekyc.error",
7342
+ actions: "setErrorMessage"
7343
+ }
7344
+ } }
7472
7345
  }
7473
- } },
7346
+ },
7474
7347
  prefilling: { invoke: {
7475
7348
  id: "fetchPrefillData",
7476
7349
  src: "fetchPrefillData",
@@ -7562,10 +7435,22 @@ const ekycMachine = setup({
7562
7435
  } },
7563
7436
  success: { after: { 3e3: "finished" } },
7564
7437
  error: { on: {
7565
- RETRY: {
7566
- target: "form",
7567
- actions: ["clearErrorMessage", assign({ autoSubmitted: () => false })]
7568
- },
7438
+ RETRY: [
7439
+ {
7440
+ target: "loading.moduleConfig",
7441
+ guard: "needsModuleConfig",
7442
+ actions: "clearErrorMessage"
7443
+ },
7444
+ {
7445
+ target: "loading.phoneRules",
7446
+ guard: "needsPhoneRules",
7447
+ actions: "clearErrorMessage"
7448
+ },
7449
+ {
7450
+ target: "form",
7451
+ actions: ["clearErrorMessage", assign({ autoSubmitted: () => false })]
7452
+ }
7453
+ ],
7569
7454
  SKIP: { target: "finished" },
7570
7455
  CLOSE: { target: "closed" }
7571
7456
  } },