@adyen/kyc-components 4.0.0-compact.3 → 4.0.0-compact.7

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 (1064) hide show
  1. package/dist/4-people-BtDi7O9A.js +24 -0
  2. package/dist/AcceptTermsOfServiceComponent-BFqDontt.js +650 -0
  3. package/dist/Accordion-B2vSnESS.js +88 -0
  4. package/dist/AccountSetupRejected-f8rcBzZj.js +26 -0
  5. package/dist/ActionBar-CijauUSe.js +31 -0
  6. package/dist/Address-Bj7zJ6yZ.js +1112 -0
  7. package/dist/Alert-CFmX9yNV.js +169 -0
  8. package/dist/Avatar-DWU7t_0U.js +60 -0
  9. package/dist/BusinessFinancingComponent-_DvatBRp.js +55 -0
  10. package/dist/BusinessFinancingDropin-BuATaIOz.js +2235 -0
  11. package/dist/BusinessFinancingPage-Bpu78Ynn.js +43 -0
  12. package/dist/BusinessTypeSelectionPage-gsT7g7u8.js +446 -0
  13. package/dist/Card-OQuFzmxm.js +90 -0
  14. package/dist/Checkbox-5Sc5pzsh.js +74 -0
  15. package/dist/Confirm-C0J_JwMM.js +64 -0
  16. package/dist/ConstitutionalDocument-Bw5T0g5Q.js +2361 -0
  17. package/dist/ContactDetails-CXTim9KR.js +396 -0
  18. package/dist/ContextGuidance-074d6FWy.js +34 -0
  19. package/dist/ContractViewer-DcQHIGMU.js +935 -0
  20. package/dist/CountryField-DxZlK1rV.js +66 -0
  21. package/dist/CreateIndividualComponent-BppUrKMC.js +65 -0
  22. package/dist/CreateTransferInstrumentComponent-Cl2NOJb6.js +56 -0
  23. package/dist/Currency-CIgj9KwH.js +238 -0
  24. package/dist/CustomerSupport-UenL9SqQ.js +156 -0
  25. package/dist/DebugModal-KXKodU9u.js +416 -0
  26. package/dist/DecisionMakerDetailsPage-Xwe1qYtH.js +104 -0
  27. package/dist/DecisionMakers-CJDodZSl.js +858 -0
  28. package/dist/Dropzone-kpihpy7N.js +224 -0
  29. package/dist/EmbeddedStatus-BJjPDUeS.js +97 -0
  30. package/dist/EndStateLayout-Cx1NUGVq.js +71 -0
  31. package/dist/EntityAssociation-BtQeHZOq.js +178 -0
  32. package/dist/EntityGuidanceStatus-DyMVy3R4.js +106 -0
  33. package/dist/ErrorPanel-CAALFKmE.js +194 -0
  34. package/dist/Field-Bs7wGDqk.js +141 -0
  35. package/dist/FormNavigation-BtSvWPRY.js +144 -0
  36. package/dist/FormWrapper-B3N3YosC.js +135 -0
  37. package/dist/Header-vslG1ugE.js +83 -0
  38. package/dist/Image-CAucF9wz.js +27 -0
  39. package/dist/Individual.rules-CP2tzjmO.js +383 -0
  40. package/dist/IndividualDropin-xfXkDkrM.js +5168 -0
  41. package/dist/InputDate-CLxqciJA.js +43 -0
  42. package/dist/InputGroup-WBfGDV5F.js +32 -0
  43. package/dist/InputText-BdCbTzL9.js +134 -0
  44. package/dist/Introduction-BRWdnVv5.js +256 -0
  45. package/dist/JpAddress-BSEenMj0.js +329 -0
  46. package/dist/LandingLayout-kl7TkBGx.js +60 -0
  47. package/dist/LegalCompanyNameField-DzAxAnD9.js +138 -0
  48. package/dist/LegalRepresentativeDetailsPage--yY_D66i.js +55 -0
  49. package/dist/Link-CXYU8cLY.js +35 -0
  50. package/dist/List-BAzyC6sw.js +83 -0
  51. package/dist/ListItem-HD5_HiQ2.js +69 -0
  52. package/dist/LoaderWrapper-C2PvjjQc.js +42 -0
  53. package/dist/ManageIndividualComponent-BGaAbJjj.js +46 -0
  54. package/dist/ManageTermsOfServiceComponent-DFjaajE4.js +52 -0
  55. package/dist/ManageTransferInstrumentComponent-Dndkwh_d.js +292 -0
  56. package/dist/MaskedInput-BSW18fxr.js +811 -0
  57. package/dist/MaybeModal-xIjl3I31.js +36 -0
  58. package/dist/Modal-CZ-HuGUO.js +147 -0
  59. package/dist/Name-D6EhveoK.js +81 -0
  60. package/dist/OnboardingDropinComponent-CHtcVTHh.js +2672 -0
  61. package/dist/PayoutDetailsDropin-C2pNMAZS.js +4978 -0
  62. package/dist/Radio-BMtxBpnn.js +39 -0
  63. package/dist/RadioGroup-CxcIXYzs.js +100 -0
  64. package/dist/RadioGroupCard-Y214QWmQ.js +152 -0
  65. package/dist/Review-B2NCN4h_.js +84 -0
  66. package/dist/RootBusinessDetailsPage-hr5fLCIH.js +50 -0
  67. package/dist/RootBusinessLinesPage-DSna9haW.js +1553 -0
  68. package/dist/RootIndividualDetailsPage-BItguz9n.js +62 -0
  69. package/dist/Select-DaCJsYNl.js +868 -0
  70. package/dist/SignPCIComponent-C2YjBxQM.js +307 -0
  71. package/dist/SingpassSelection-B3ozCH9I.js +132 -0
  72. package/dist/SoleProprietorshipPage-DIzzhgjr.js +50 -0
  73. package/dist/SourceOfFundsPage-C3kXyE7G.js +2162 -0
  74. package/dist/Spacer-BK3jDget.js +18 -0
  75. package/dist/StepProgressIndicator-BSGlNU3K.js +78 -0
  76. package/dist/StoreProvider-99-ewU62.js +4793 -0
  77. package/dist/StructuredList-CVMZBzwq.js +61 -0
  78. package/dist/Summary-D0GcSMNn.js +220 -0
  79. package/dist/TaskVerificationStatus-DZIw2ztV.js +129 -0
  80. package/dist/TaxInformationField-BxQvx1zK.js +3741 -0
  81. package/dist/TaxReportingDropin-BqvAQH2c.js +503 -0
  82. package/dist/TextArea-BjsWgkR-.js +103 -0
  83. package/dist/TileGroup-C-5-VREz.js +203 -0
  84. package/dist/TrustDetailsPage-YROGiuFJ.js +2172 -0
  85. package/dist/TrustMemberCompanyPage-Z2EuqPEI.js +68 -0
  86. package/dist/TrustMemberIndividualPage-DmNp3D89.js +64 -0
  87. package/dist/TrustMemberRoleAndTypePage-BEOtdItr.js +1087 -0
  88. package/dist/TrustMembersOverview-GybHMIEU.js +439 -0
  89. package/dist/UnincorporatedPartnershipIndividualPage-BCYxSTlv.js +63 -0
  90. package/dist/UnincorporatedPartnershipMemberCompanyPage-Buez4OHl.js +71 -0
  91. package/dist/UnincorporatedPartnershipMemberRoleAndTypePage-Cfpe0BuU.js +292 -0
  92. package/dist/UnincorporatedPartnershipMembersOverview-B3Vi088r.js +173 -0
  93. package/dist/VerificationErrorAlert-C6_ewC7c.js +60 -0
  94. package/dist/ViewVerificationStatusComponent-DpA4jlct.js +181 -0
  95. package/dist/accountHolderUtils-Btu9mMnM.js +66 -0
  96. package/dist/adyen-business-financing.js +8 -4
  97. package/dist/adyen-individual-configuration.js +8 -4
  98. package/dist/adyen-individual-status.js +5 -4
  99. package/dist/adyen-invited-decision-maker.js +87 -0
  100. package/dist/adyen-kyc-components.js +23 -21
  101. package/dist/adyen-onboarding.js +8 -4
  102. package/dist/adyen-terms-of-service-management.js +8 -4
  103. package/dist/adyen-terms-of-service-status.js +5 -4
  104. package/dist/adyen-transfer-instrument-configuration.js +8 -4
  105. package/dist/adyen-transfer-instrument-management.js +5 -4
  106. package/dist/adyen-verification-status.js +8 -4
  107. package/dist/arrow-right-BoqwUH_d.js +14 -0
  108. package/dist/bafinUtils-CIGv_BK8.js +80 -0
  109. package/dist/bag-BXVWLrwo.js +14 -0
  110. package/dist/bank-1GvaHPAZ.js +14 -0
  111. package/dist/bin-Ba-3ll8T.js +18 -0
  112. package/dist/business-lines-BAqTbnBw.js +135 -0
  113. package/dist/capital-9TKHySO7.js +17 -0
  114. package/dist/cash-stack-DwYu4xNy.js +22 -0
  115. package/dist/certificate-N2YFedpI.js +17 -0
  116. package/dist/checkmark-D9dGhGpG.js +14 -0
  117. package/dist/checkmark-circle-CFWClLQ6.js +20 -0
  118. package/dist/checkmark-circle-fill-DEB-tuGl.js +17 -0
  119. package/dist/checkmark-small-D3VNx2lo.js +14 -0
  120. package/dist/chevron-down-C7SUSYfl.js +14 -0
  121. package/dist/chevron-left-BXmd-S46.js +14 -0
  122. package/dist/chevron-right-jE6RwM2B.js +14 -0
  123. package/dist/chevron-up-BdfNcqzq.js +14 -0
  124. package/dist/circle-BJPTMCWB.js +17 -0
  125. package/dist/circle-small-filled-BuO8Vg8j.js +14 -0
  126. package/dist/clock-DAzaBRWk.js +20 -0
  127. package/dist/coins-DYdzG5e_.js +17 -0
  128. package/dist/commonValidators-DTt6he7v.js +24 -0
  129. package/dist/company-types-value-D_mKv5PT.js +23 -0
  130. package/dist/contract-BfJb1t6M.js +14 -0
  131. package/dist/cross-CDS_eot4.js +14 -0
  132. package/dist/cross-circle-fill-C-EJ57Yn.js +17 -0
  133. package/dist/cross-circle-fill-small-DkPjsuBH.js +14 -0
  134. package/dist/currency-CrdnaaDu.js +35 -0
  135. package/dist/da-DK-B3Pg-MWO.js +13 -0
  136. package/dist/da-DK-CGWvmdkq.js +38 -0
  137. package/dist/da-DK-Cd5IQPv3.js +75 -0
  138. package/dist/da-DK-DQ4ZYSea.js +65 -0
  139. package/dist/da-DK-DzcTI92X.js +13 -0
  140. package/dist/da-DK-vcVNQJbX.js +63 -0
  141. package/dist/datasetUtil-BHQp0-xL.js +58 -0
  142. package/dist/de-DE-C9NH2zMh.js +75 -0
  143. package/dist/de-DE-CWEW2yqg.js +63 -0
  144. package/dist/de-DE-CkbOZ6S_.js +65 -0
  145. package/dist/de-DE-DHDJhahG.js +38 -0
  146. package/dist/de-DE-S6qDey1L.js +13 -0
  147. package/dist/de-DE-dPfrbCii.js +13 -0
  148. package/dist/debouncedInputEvent-Cv2S512Y.js +46 -0
  149. package/dist/decision-makers-group-DrvpnEqj.js +1944 -0
  150. package/dist/digital-wallet-Bx5YM1LY.js +46 -0
  151. package/dist/document-1-qlSTF558.js +14 -0
  152. package/dist/document-blurred-BiWap0xs.js +37 -0
  153. package/dist/document-cut-off-aQezqOif.js +32 -0
  154. package/dist/document-expired-BhBXaWWQ.js +38 -0
  155. package/dist/document-front-DYuhZGeQ.js +30 -0
  156. package/dist/document-person-CDbnTOdV.js +20 -0
  157. package/dist/download-BZQB1WkZ.js +17 -0
  158. package/dist/dropinUtils--st1YpV6.js +200 -0
  159. package/dist/edit-1-DAqtnOIx.js +14 -0
  160. package/dist/en-US-BSQXKu6d.js +54 -0
  161. package/dist/en-US-CjjPhkB5.js +65 -0
  162. package/dist/en-US-D1sB335h.js +61 -0
  163. package/dist/en-US-DLY20x1O.js +13 -0
  164. package/dist/en-US-DYP6rAvA.js +75 -0
  165. package/dist/en-US-DoiQhi0j.js +38 -0
  166. package/dist/en-US-cVpRgdC8.js +13 -0
  167. package/dist/es-ES--IvNed_Q.js +13 -0
  168. package/dist/es-ES-BAolMrZ0.js +65 -0
  169. package/dist/es-ES-BYl5-PFR.js +13 -0
  170. package/dist/es-ES-CDgjGql5.js +63 -0
  171. package/dist/es-ES-CxnsKEh4.js +38 -0
  172. package/dist/es-ES-DK-7qtDf.js +75 -0
  173. package/dist/external-link-Cg6pJaSJ.js +14 -0
  174. package/dist/fi-FI-57-xkioo.js +38 -0
  175. package/dist/fi-FI-BJLU1JHw.js +75 -0
  176. package/dist/fi-FI-BUixKfXH.js +13 -0
  177. package/dist/fi-FI-CsZlDJFb.js +63 -0
  178. package/dist/fi-FI-D8WrLxxq.js +65 -0
  179. package/dist/fi-FI-DFxljML-.js +13 -0
  180. package/dist/fieldConfigurations-BUT9DTUH.js +21 -0
  181. package/dist/filterProblemsByTaskForms-Cz7iQtms.js +30 -0
  182. package/dist/form-rules-DhbF2mY4.js +13 -0
  183. package/dist/formUtils-C_sWWLS3.js +107 -0
  184. package/dist/fr-FR-B2je0smB.js +75 -0
  185. package/dist/fr-FR-BM-qNLci.js +13 -0
  186. package/dist/fr-FR-Beljeilc.js +65 -0
  187. package/dist/fr-FR-BxiX8Zfi.js +38 -0
  188. package/dist/fr-FR-DPehHVb6.js +13 -0
  189. package/dist/fr-FR-VoxPkXSc.js +63 -0
  190. package/dist/funds-in-CInoUdmG.js +21 -0
  191. package/dist/getName-CnZDw7kV.js +41 -0
  192. package/dist/getProblemsForEntity-D8qEVVOM.js +24 -0
  193. package/dist/getProps-Cc3J2-z9.js +148 -0
  194. package/dist/getTrustedFields-C5-mXl-l.js +64 -0
  195. package/dist/gift-omNInZeB.js +14 -0
  196. package/dist/graph-DunG_uu1.js +21 -0
  197. package/dist/graph-up-BZze4i6m.js +20 -0
  198. package/dist/headquarter-BhpSibFO.js +21 -0
  199. package/dist/hotel-Cp7VgGCJ.js +22 -0
  200. package/dist/house-BhyBQdR3.js +21 -0
  201. package/dist/id-blurred-B5lHEP8M.js +59 -0
  202. package/dist/id-cut-off-Ba1FRzKO.js +55 -0
  203. package/dist/id-front-CpNWN6nG.js +52 -0
  204. package/dist/id-glare-DgCQON8k.js +49 -0
  205. package/dist/iframeWidget-DqeucjDU.js +234 -0
  206. package/dist/image-CmB0ioUM.js +17 -0
  207. package/dist/info-Bb_-xIEK.js +21 -0
  208. package/dist/info-filled-CK8LB339.js +17 -0
  209. package/dist/instant-verification-UrnuHTYn.js +40 -0
  210. package/dist/isEmpty-CUuXL9Na.js +23 -0
  211. package/dist/isNewEntity-7Vw_eQBr.js +13 -0
  212. package/dist/it-IT-5a7NHVFo.js +65 -0
  213. package/dist/it-IT-D63gRTDc.js +13 -0
  214. package/dist/it-IT-DOBp2-MP.js +13 -0
  215. package/dist/it-IT-DZjw9LNC.js +63 -0
  216. package/dist/it-IT-Dhwa9Ecj.js +75 -0
  217. package/dist/it-IT-masgjk9F.js +38 -0
  218. package/dist/ja-JP-B3wVYIJU.js +151 -0
  219. package/dist/ja-JP-Bc4U0S8-.js +75 -0
  220. package/dist/ja-JP-BoxeBgOv.js +32 -0
  221. package/dist/ja-JP-BqluCflj.js +63 -0
  222. package/dist/ja-JP-Bv3ru9Xq.js +125 -0
  223. package/dist/ja-JP-CbgaW99b.js +54 -0
  224. package/dist/ja-JP-CceCDXLB.js +55 -0
  225. package/dist/ja-JP-CvNJvxkQ.js +218 -0
  226. package/dist/ja-JP-DL0IjTzn.js +13 -0
  227. package/dist/ja-JP-DSvZhFNY.js +65 -0
  228. package/dist/ja-JP-FWHXsXlW.js +24 -0
  229. package/dist/ja-JP-bz7ekGnF.js +27 -0
  230. package/dist/ja-JP-g6VOUGXZ.js +136 -0
  231. package/dist/ja-JP-vv3-YsHU.js +38 -0
  232. package/dist/japanSupportUtils-CGWcXGP2.js +16 -0
  233. package/dist/jpAddressSchema-DEOyz9Yo.js +26 -0
  234. package/dist/localizeDateString-D6tFShQu.js +27 -0
  235. package/dist/location-itJfxrDQ.js +17 -0
  236. package/dist/mail-VHTlAusn.js +14 -0
  237. package/dist/manual-verification-BO8zgAYT.js +41 -0
  238. package/dist/mapExistingFile-BM9f5AeG.js +230 -0
  239. package/dist/mapJpAddressSchemaToAddressLocalizations-Cu4hdrYE.js +162 -0
  240. package/dist/mapLegalEntityToIndividualSchema-DVKTWyvx.js +206 -0
  241. package/dist/mapTransferInstrumentToPayoutAccount--gtugk3J.js +34 -0
  242. package/dist/minus-circle-filled-ZhtJ0GD3.js +17 -0
  243. package/dist/nl-NL-B0fvINJj.js +75 -0
  244. package/dist/nl-NL-CmURERx_.js +65 -0
  245. package/dist/nl-NL-D1b5RUJ0.js +38 -0
  246. package/dist/nl-NL-KQ6bciOb.js +13 -0
  247. package/dist/nl-NL-SjOGmGk5.js +13 -0
  248. package/dist/nl-NL-lcNM54vV.js +63 -0
  249. package/dist/no-NO-BAWVf0GX.js +13 -0
  250. package/dist/no-NO-CTrVITNu.js +63 -0
  251. package/dist/no-NO-Dkh4SWbB.js +38 -0
  252. package/dist/no-NO-Ds3VioxT.js +13 -0
  253. package/dist/no-NO-Jw7Gae-a.js +75 -0
  254. package/dist/no-NO-qyqWODMp.js +65 -0
  255. package/dist/onfido-logo-BSkKPH10.js +14 -0
  256. package/dist/options-horizontal-GuXvLvV3.js +18 -0
  257. package/dist/partner-QD27Vy4w.js +18 -0
  258. package/dist/passport-blurred-CVG493IJ.js +59 -0
  259. package/dist/passport-cut-off-COzA_TmB.js +56 -0
  260. package/dist/passport-front-WJleLixT.js +52 -0
  261. package/dist/passport-front-green-CZVkCa1n.js +232 -0
  262. package/dist/passport-glare-BP5WnJZj.js +50 -0
  263. package/dist/patternValidators-vYKnE5-t.js +83 -0
  264. package/dist/pay-by-link-plane-BpY8Q6-B.js +22 -0
  265. package/dist/payout-DtB68BcZ.js +20 -0
  266. package/dist/payout-verification-instant-BzpfOQLD.js +41 -0
  267. package/dist/payout-verification-manual-gNEoeZkV.js +90 -0
  268. package/dist/person-IVZG3t3_.js +17 -0
  269. package/dist/plaid-logo-FsZ7kfL-.js +14 -0
  270. package/dist/plus-DiALAL8-.js +14 -0
  271. package/dist/plus-circle-filled-BzHtTqEN.js +17 -0
  272. package/dist/process-field-configurations-Dl2Isz78.js +324 -0
  273. package/dist/pt-BR-BRdIEO2O.js +38 -0
  274. package/dist/pt-BR-BaTE6BB_.js +75 -0
  275. package/dist/pt-BR-BfDe_8iW.js +13 -0
  276. package/dist/pt-BR-BxoOF8jB.js +65 -0
  277. package/dist/pt-BR-Ct4s4jXV.js +13 -0
  278. package/dist/pt-BR-DA44Wgbt.js +63 -0
  279. package/dist/recurring-DKNs9K3x.js +17 -0
  280. package/dist/reporting-D5ABpLO_.js +16 -0
  281. package/dist/resolveEnvironment-B_JokQ0n.js +84 -0
  282. package/dist/revenue-accelerate-D7Sp0V4a.js +17 -0
  283. package/dist/review-D4TUjcWF.js +17 -0
  284. package/dist/roleMetadata-eM6T7GeQ.js +66 -0
  285. package/dist/save-BfqO2JBI.js +14 -0
  286. package/dist/search-Cmzbf5zI.js +17 -0
  287. package/dist/show-IdbU1C6P.js +17 -0
  288. package/dist/singpass-logo-wY4xsmTX.js +17 -0
  289. package/dist/singpass-verification-instant-JCqTr7Mv.js +40 -0
  290. package/dist/singpass-verification-manual-DQ7XW6R3.js +34 -0
  291. package/dist/sl-SI-BAIm-qBe.js +13 -0
  292. package/dist/sl-SI-BZpXMHiG.js +13 -0
  293. package/dist/sl-SI-CvUzNn9Z.js +38 -0
  294. package/dist/sl-SI-D8dDckrW.js +55 -0
  295. package/dist/sl-SI-DEaeEVKB.js +24 -0
  296. package/dist/sl-SI-DTvJT7fC.js +65 -0
  297. package/dist/sl-SI-DZHePXbK.js +63 -0
  298. package/dist/sl-SI-DbfswGh0.js +75 -0
  299. package/dist/sl-SI-DqUEy_Cm.js +32 -0
  300. package/dist/sl-SI-hxwQIw_i.js +13 -0
  301. package/dist/solution-payments-DpyE_sdS.js +14 -0
  302. package/dist/store-Btc4GcmU.js +14 -0
  303. package/dist/style.css +2642 -2946
  304. package/dist/styles-CLV89_hH.js +2642 -2946
  305. package/dist/summaryItem-CAQCQSkt.js +18 -0
  306. package/dist/sv-SE-0PQ-U1u6.js +13 -0
  307. package/dist/sv-SE-BZNey_8S.js +13 -0
  308. package/dist/sv-SE-BsLkPEzn.js +38 -0
  309. package/dist/sv-SE-D_Efxy3s.js +75 -0
  310. package/dist/sv-SE-Dq56vGlB.js +63 -0
  311. package/dist/sv-SE-N-Hqwcjq.js +65 -0
  312. package/dist/tax-reporting-graph-hgoilCHZ.js +504 -0
  313. package/dist/terminal-1-D1pwXCoi.js +18 -0
  314. package/dist/tink-logo-DDyjz5eJ.js +17 -0
  315. package/dist/types/api/address/useAddressCleanse.d.ts +1 -1
  316. package/dist/types/api/address/useRetrieveAddress.d.ts +1 -1
  317. package/dist/types/api/address/useRetrieveFromPostcodeJp.d.ts +1 -1
  318. package/dist/types/api/address/useSearchAddress.d.ts +1 -2
  319. package/dist/types/api/businessLines/useBusinessLines.d.ts +3 -3
  320. package/dist/types/api/businessLines/useCreateBusinessLine.d.ts +2 -2
  321. package/dist/types/api/businessLines/useDeleteBusinessLine.d.ts +2 -2
  322. package/dist/types/api/businessLines/useUpdateBusinessLines.d.ts +2 -2
  323. package/dist/types/api/businessLines/useUpdateSourceOfFunds.d.ts +2 -2
  324. package/dist/types/api/check/useCheck.d.ts +1 -2
  325. package/dist/types/api/companyDataSet/useClearCompanyData.d.ts +2 -2
  326. package/dist/types/api/companySearch/useCompanySearch.d.ts +1 -2
  327. package/dist/types/api/companySelection/useCompanySelection.d.ts +1 -1
  328. package/dist/types/api/configurations/useScenarios.d.ts +3 -161
  329. package/dist/types/api/configurations/useSupportedCountries.d.ts +1 -1
  330. package/dist/types/api/configurations/useTaskTypes.d.ts +1 -1
  331. package/dist/types/api/configurations/useVersionConfiguration.d.ts +1 -1
  332. package/dist/types/api/createLegalEntity/useCreateLegalEntity.d.ts +2 -2
  333. package/dist/types/api/datasets/useLegalForms.d.ts +1 -1
  334. package/dist/types/api/datasets/useNaceCodes.d.ts +1 -1
  335. package/dist/types/api/datasets/useSourceOfFundsTypes.d.ts +1 -1
  336. package/dist/types/api/documentValidation/useDocumentValidate.d.ts +2 -4
  337. package/dist/types/api/documents/useCreateDocument.d.ts +2 -2
  338. package/dist/types/api/documents/useDeleteDocument.d.ts +2 -2
  339. package/dist/types/api/documents/useDocument.d.ts +2 -2
  340. package/dist/types/api/documents/useDocuments.d.ts +4 -0
  341. package/dist/types/api/documents/useUpdateDocument.d.ts +2 -2
  342. package/dist/types/api/entityVerifications/useVerifyIdNumber.d.ts +2 -2
  343. package/dist/types/api/idNowProvider/useIdNowProvider.d.ts +3 -4
  344. package/dist/types/api/idVerificationProviders/idVerificationStartCheck.d.ts +2 -2
  345. package/dist/types/api/idVerificationProviders/useExtractDocumentInformation.d.ts +2 -2
  346. package/dist/types/api/idVerificationProviders/useIdVerificationToken.d.ts +3 -3
  347. package/dist/types/api/industryCodes/useIndustryCodes.d.ts +1 -2
  348. package/dist/types/api/legalEntity/useConfirmReview.d.ts +2 -2
  349. package/dist/types/api/legalEntity/useLegalEntity.d.ts +8 -389
  350. package/dist/types/api/legalEntity/useUpdateLegalEntity.d.ts +2 -2
  351. package/dist/types/api/onboardingStatus/useGenerateOnboardingLink.d.ts +2 -2
  352. package/dist/types/api/onboardingStatus/useOnboardingStatus.d.ts +1 -1
  353. package/dist/types/api/openId/useOpenIdAuthorizationLink.d.ts +1 -2
  354. package/dist/types/api/pci/usePciQuestionnaireList.d.ts +1 -1
  355. package/dist/types/api/pci/usePciStatus.d.ts +1 -1
  356. package/dist/types/api/pci/usePciTemplate.d.ts +1 -1
  357. package/dist/types/api/pci/useSignPci.d.ts +2 -3
  358. package/dist/types/api/providersConfiguration/useProviderStatus.d.ts +1 -1
  359. package/dist/types/api/queryKeys.d.ts +4 -2
  360. package/dist/types/api/taskStatus/useTaskStatus.d.ts +2 -2
  361. package/dist/types/api/taxClassification/useTaxClassification.d.ts +1 -1
  362. package/dist/types/api/termsOfService/useAcceptTermsOfService.d.ts +2 -3
  363. package/dist/types/api/termsOfService/useAcceptedTermsOfService.d.ts +1 -7
  364. package/dist/types/api/termsOfService/useTermsOfService.d.ts +1 -1
  365. package/dist/types/api/termsOfService/useTermsOfServiceAcceptanceInfos.d.ts +1 -1
  366. package/dist/types/api/termsOfService/useTermsOfServiceStatus.d.ts +1 -1
  367. package/dist/types/api/tinVerification/useVerifyTin.d.ts +1 -1
  368. package/dist/types/api/transferInstruments/useBankVerificationProviders.d.ts +1 -1
  369. package/dist/types/api/transferInstruments/useCreateTrustedTransferInstrument.d.ts +1 -1
  370. package/dist/types/api/transferInstruments/useDeleteTransferInstrument.d.ts +1 -1
  371. package/dist/types/api/transferInstruments/useHandleBankVerificationError.d.ts +1 -1
  372. package/dist/types/api/transferInstruments/useTransferInstrument.d.ts +2 -2
  373. package/dist/types/api/transferInstruments/useTransferInstruments.d.ts +1 -1
  374. package/dist/types/api/transferInstruments/useUpdateTransferInstrument.d.ts +1 -1
  375. package/dist/types/api/transferInstruments/useUpdateTrustedTransferInstrument.d.ts +15 -0
  376. package/dist/types/api/types.d.ts +3 -2
  377. package/dist/types/api/uiAnalytics/useAnalyticsSession.d.ts +2 -2
  378. package/dist/types/api/uiAnalytics/usePushAnalyticEvent.d.ts +2 -2
  379. package/dist/types/api/validation/useValidateAccountIdentification.d.ts +2 -3
  380. package/dist/types/api/validation/useValidatePhoneNumber.d.ts +1 -1
  381. package/dist/types/components/Apps/tasks/TaskList/utils.d.ts +4 -0
  382. package/dist/types/components/BankAccount/forms/BankDocument/BankDocumentClassification.d.ts +1 -2
  383. package/dist/types/components/BankAccount/forms/BankDocument/types.d.ts +0 -1
  384. package/dist/types/components/BankAccount/forms/BankVerification/types.d.ts +1 -0
  385. package/dist/types/components/BankAccount/forms/BankVerification/verification/overlay/BankVerificationOverlay.d.ts +1 -1
  386. package/dist/types/components/BankAccount/forms/PayoutDetails/rules.d.ts +1 -1
  387. package/dist/types/components/BankAccount/forms/PayoutDetails/types.d.ts +0 -1
  388. package/dist/types/components/BankAccount/mapping/payoutKeyMappings.d.ts +439 -439
  389. package/dist/types/components/BankAccount/pages/PayoutDetailsPage.d.ts +3 -3
  390. package/dist/types/components/BankAccount/tasks/PayoutDetailsDropin/PayoutDetailsDropin.d.ts +1 -1
  391. package/dist/types/components/BankAccount/tasks/PayoutDetailsDropin/utils.d.ts +1 -1
  392. package/dist/types/components/BankAccount/utils/payoutAccountUtil.d.ts +1 -1
  393. package/dist/types/components/Business/forms/AdditionalInformation/AdditionalInformation.d.ts +0 -2
  394. package/dist/types/components/Business/forms/AdditionalInformation/utils.d.ts +0 -3
  395. package/dist/types/components/Business/forms/BusinessDetails/form-ids.d.ts +2 -0
  396. package/dist/types/components/Business/forms/BusinessDetails/forms.d.ts +12 -11
  397. package/dist/types/components/Business/forms/BusinessDetails/types.d.ts +2 -1
  398. package/dist/types/components/Business/forms/BusinessSelection/BusinessInformationCard/BusinessInformationCard.d.ts +4 -4
  399. package/dist/types/components/Business/forms/CompanyStructure/CompanyStructure.d.ts +0 -1
  400. package/dist/types/components/Business/forms/FinancialInformation/formatFinancialInformationSummary.d.ts +4 -0
  401. package/dist/types/components/Business/forms/FinancialInformation/mapping/mapFinancialInformationToFinancialReport.d.ts +3 -0
  402. package/dist/types/components/Business/forms/FinancialInformation/mapping/mapFinancialReportsToFinancialInformation.d.ts +3 -0
  403. package/dist/types/components/Business/forms/rules.d.ts +10 -10
  404. package/dist/types/components/Business/mapping/businessDetails/businessBankAccountTaxIdUtils.d.ts +7 -0
  405. package/dist/types/components/Business/mapping/businessDetails/mapBusinessDetailsSchemaToLegalEntity.d.ts +4 -2
  406. package/dist/types/components/Business/mapping/businessDetails/mapLegalEntityToBusinessDetailsSchema.d.ts +8 -1
  407. package/dist/types/components/Business/pages/RootBusinessDetailsPage.d.ts +1 -2
  408. package/dist/types/components/Business/tasks/BusinessDetailsDropin/BusinessDetailsDropin.d.ts +1 -1
  409. package/dist/types/components/Business/tasks/BusinessDetailsDropin/businessDetailsStore.d.ts +0 -2
  410. package/dist/types/components/Business/tasks/BusinessDetailsDropin/types.d.ts +7 -2
  411. package/dist/types/components/Business/tasks/BusinessDetailsDropin/utils.d.ts +3 -4
  412. package/dist/types/components/Business/utils/companyUtil.d.ts +0 -10
  413. package/dist/types/components/Business/utils/useBusinessDetailsData.d.ts +21 -0
  414. package/dist/types/components/BusinessLines/constants.d.ts +2 -0
  415. package/dist/types/components/BusinessLines/fields/Carousel/Carousel.d.ts +10 -10
  416. package/dist/types/components/BusinessLines/fields/SctaField/types.d.ts +1 -1
  417. package/dist/types/components/BusinessLines/fields/WebDataField/types.d.ts +1 -1
  418. package/dist/types/components/BusinessLines/pages/RootBusinessLinesPage.d.ts +1 -2
  419. package/dist/types/components/BusinessLines/tasks/BusinessLines/BusinessLineModal/BusinessLineModal.d.ts +2 -1
  420. package/dist/types/components/BusinessLines/tasks/BusinessLines/BusinessLinesDropin.d.ts +1 -1
  421. package/dist/types/components/BusinessLines/tasks/types.d.ts +2 -0
  422. package/dist/types/components/BusinessLines/tasks/utils.d.ts +10 -7
  423. package/dist/types/components/Contract/tasks/ServiceAgreementDropin/types.d.ts +1 -1
  424. package/dist/types/components/EFP/fields/LegalFormField/LegalFormField.d.ts +1 -1
  425. package/dist/types/components/EFP/fields/NaceCodeField/NaceCodeField.d.ts +1 -1
  426. package/dist/types/components/EFP/mapping/businessFinancingKeyMappings.d.ts +5771 -541
  427. package/dist/types/components/EFP/mapping/mapBusinessFinancingToLegalEntity.d.ts +3 -2
  428. package/dist/types/components/EFP/mapping/mapLegalEntityToBusinessFinancing.d.ts +1 -1
  429. package/dist/types/components/EFP/pages/BusinessFinancingPage.d.ts +1 -2
  430. package/dist/types/components/EFP/pages/SourceOfFundsPage.d.ts +1 -2
  431. package/dist/types/components/EFP/tasks/BusinessFinancingDropin/AdditionalFieldsForBusinessFinancingSoleProprietor.d.ts +2 -0
  432. package/dist/types/components/EFP/tasks/BusinessFinancingDropin/BusinessFinancingSoleProprietorPersonalInformation.d.ts +4 -0
  433. package/dist/types/components/EFP/tasks/BusinessFinancingDropin/types.d.ts +28 -0
  434. package/dist/types/components/EFP/tasks/BusinessFinancingDropin/utils.d.ts +14 -3
  435. package/dist/types/components/EFP/tasks/BusinessFinancingDropin/validate.d.ts +10 -1
  436. package/dist/types/components/EFP/tasks/SourceOfFundsDropin/types.d.ts +20 -21
  437. package/dist/types/components/EFP/tasks/SourceOfFundsDropin/utils.d.ts +6 -4
  438. package/dist/types/components/EFP/tasks/TaxReportingDropin/utils.d.ts +1 -2
  439. package/dist/types/components/EmbeddedDropins/BusinessFinancingComponent/utils.d.ts +2 -1
  440. package/dist/types/components/EmbeddedDropins/CreateIndividualComponent/CreateIndividualComponent.d.ts +2 -2
  441. package/dist/types/components/EmbeddedDropins/InvitedDecisionMakerComponent/InvitedDecisionMakerComponent.d.ts +4 -0
  442. package/dist/types/components/EmbeddedDropins/OnboardingDropinComponent/DropinComposer/DropinComposer.d.ts +1 -1
  443. package/dist/types/components/EmbeddedDropins/OnboardingDropinComponent/DropinComposer/RouterDropinComposer.d.ts +4 -0
  444. package/dist/types/components/Individual/fields/DriversLicense/DriversLicense.types.d.ts +1 -1
  445. package/dist/types/components/Individual/fields/IdentityNumber/fieldConfig.d.ts +4 -3
  446. package/dist/types/components/Individual/forms/AdditionalPersonalDetails/AdditionalPersonalDetails.types.d.ts +29 -0
  447. package/dist/types/components/Individual/forms/AdditionalPersonalDetails/Identity/Identity.types.d.ts +13 -0
  448. package/dist/types/components/Individual/forms/AdditionalPersonalDetails/Identity/TypeOfIdentity/index.d.ts +11 -0
  449. package/dist/types/components/Individual/forms/AdditionalPersonalDetails/Identity/validate.d.ts +4 -0
  450. package/dist/types/components/Individual/forms/AdditionalPersonalDetails/validate.d.ts +22 -0
  451. package/dist/types/components/Individual/forms/BasicDetails/BasicDetails.types.d.ts +22 -0
  452. package/dist/types/components/Individual/forms/BasicDetails/validate.d.ts +8 -0
  453. package/dist/types/components/Individual/forms/DataConflictsModal/ConflictRow.d.ts +12 -0
  454. package/dist/types/components/Individual/forms/DataConflictsModal/DataConflictsModal.d.ts +24 -0
  455. package/dist/types/components/Individual/forms/IdDocumentUpload/types.d.ts +43 -0
  456. package/dist/types/components/Individual/forms/IdDocumentUpload/utils.d.ts +3 -0
  457. package/dist/types/components/Individual/forms/IdNowVerificationModal/isIdNowModalOpen.d.ts +18 -0
  458. package/dist/types/components/Individual/forms/IdVerificationMethod/IdVerificationMethod.types.d.ts +21 -0
  459. package/dist/types/components/Individual/forms/IdVerificationMethod/OnfidoVerificationModal/OnfidoVerificationModal.d.ts +7 -0
  460. package/dist/types/components/Individual/forms/IdVerificationMethod/UploadedDocument/UploadedDocument.d.ts +7 -0
  461. package/dist/types/components/Individual/forms/IdVerificationMethod/individualOnfidoConflictsSchema.d.ts +46 -0
  462. package/dist/types/components/Individual/forms/IdVerificationMethod/mapExtractionResultToSchema.d.ts +4 -0
  463. package/dist/types/components/Individual/forms/IdVerificationMethod/validateExtractionResult.d.ts +12 -0
  464. package/dist/types/components/Individual/forms/Individual.d.ts +56 -0
  465. package/dist/types/components/Individual/forms/Individual.rules.d.ts +45 -0
  466. package/dist/types/components/Individual/forms/Individual.types.d.ts +60 -0
  467. package/dist/types/components/Individual/forms/ProofOfRelationship/types.d.ts +14 -0
  468. package/dist/types/components/Individual/forms/ProofOfResidency/types.d.ts +39 -0
  469. package/dist/types/components/Individual/forms/SignatoryQuestionnaire/SignatoryQuestionnaire.types.d.ts +6 -0
  470. package/dist/types/components/Individual/forms/UboQuestionnaire/UboQuestionnaire.types.d.ts +13 -0
  471. package/dist/types/components/Individual/forms/UboQuestionnaire/UboQuestionnaireModalContent.d.ts +7 -0
  472. package/dist/types/components/Individual/forms/form-ids.d.ts +2 -0
  473. package/dist/types/components/Individual/helpers/bafinUtils.d.ts +3 -2
  474. package/dist/types/components/Individual/helpers/mandateIdVerificationForMotionCapture.d.ts +2 -3
  475. package/dist/types/components/Individual/helpers/roleUtils.d.ts +1 -1
  476. package/dist/types/components/Individual/mapping/adjustOnfidoIdentificationData.d.ts +1 -1
  477. package/dist/types/components/Individual/mapping/getOnfidoIdentityTypeToApiIdentityTypeMap.d.ts +1 -1
  478. package/dist/types/components/Individual/mapping/individualKeyMappings.d.ts +6 -12
  479. package/dist/types/components/Individual/mapping/mapApiDocumentToIndividualDocuments.d.ts +2 -2
  480. package/dist/types/components/Individual/mapping/mapIndividualDocumentToApiDocument.d.ts +2 -3
  481. package/dist/types/components/Individual/mapping/mapIndividualSchemaToLegalEntity.d.ts +5 -0
  482. package/dist/types/components/Individual/mapping/mapLegalEntityToIndividualSchema.d.ts +3 -0
  483. package/dist/types/components/Individual/pages/DecisionMakerDetailsPage.d.ts +6 -7
  484. package/dist/types/components/Individual/pages/LegalRepresentativeDetailsPage.d.ts +2 -2
  485. package/dist/types/components/Individual/pages/RootIndividualDetailsPage.d.ts +2 -2
  486. package/dist/types/components/Individual/tasks/DecisionMakers/DecisionMakerDetails/utils.d.ts +2 -14
  487. package/dist/types/components/Individual/tasks/DecisionMakers/RemediationAlerts/remediation.config.d.ts +0 -2
  488. package/dist/types/components/Individual/tasks/DecisionMakers/types.d.ts +8 -0
  489. package/dist/types/components/Individual/tasks/DecisionMakers/utils.d.ts +1 -1
  490. package/dist/types/components/Individual/tasks/IndividualDropin/IndividualDropin.d.ts +2 -2
  491. package/dist/types/components/Individual/tasks/IndividualDropin/individualFormConfig.d.ts +3 -3
  492. package/dist/types/components/Shared/EntityAssociation/EntityAssociation.d.ts +0 -1
  493. package/dist/types/components/Shared/FormFlow/FormFlow.d.ts +1 -1
  494. package/dist/types/components/Shared/FormFlow/FormFlow.types.d.ts +2 -0
  495. package/dist/types/components/Shared/Introduction/copy.d.ts +3 -3
  496. package/dist/types/components/Shared/fields/BusinessRegistrationNumberField/BusinessRegistrationNumberField.d.ts +1 -1
  497. package/dist/types/components/Shared/fields/BusinessRegistrationNumberField/fieldConfig.d.ts +10 -0
  498. package/dist/types/components/Shared/fields/BusinessRegistrationNumberField/types.d.ts +2 -1
  499. package/dist/types/components/Shared/fields/CountryField/types.d.ts +2 -1
  500. package/dist/types/components/Shared/fields/CountryOfGoverningLawField/CountryOfGoverningLawField.d.ts +1 -1
  501. package/dist/types/components/Shared/fields/CountryOfGoverningLawField/types.d.ts +1 -1
  502. package/dist/types/components/Shared/fields/Currency/Currency.d.ts +1 -1
  503. package/dist/types/components/Shared/fields/Currency/types.d.ts +1 -1
  504. package/dist/types/components/Shared/fields/DBANameField/DBANameField.d.ts +1 -1
  505. package/dist/types/components/Shared/fields/DBANameField/types.d.ts +1 -1
  506. package/dist/types/components/Shared/fields/DateOfIncorporationField/DateOfIncorporationField.d.ts +1 -1
  507. package/dist/types/components/Shared/fields/DateOfIncorporationField/types.d.ts +3 -1
  508. package/dist/types/components/Shared/fields/EInvoicingCodeField/EInvoicingCodeField.d.ts +1 -1
  509. package/dist/types/components/Shared/fields/EInvoicingCodeField/types.d.ts +1 -1
  510. package/dist/types/components/Shared/fields/IdFieldTypeSelector/countryIdNumberTypes.d.ts +121 -1
  511. package/dist/types/components/Shared/fields/IndustryCodeField/IndustryCodeField.d.ts +1 -1
  512. package/dist/types/components/Shared/fields/IndustryCodeField/types.d.ts +1 -1
  513. package/dist/types/components/Shared/fields/LegalCompanyNameField/fieldConfig.d.ts +12 -6
  514. package/dist/types/components/Shared/fields/LegalCompanyNameField/types.d.ts +3 -1
  515. package/dist/types/components/Shared/fields/LocalizedNameFields/types.d.ts +9 -0
  516. package/dist/types/components/Shared/fields/LocalizedNameFields/validate.d.ts +5 -0
  517. package/dist/types/components/Shared/fields/NumberOfEmployees/NumberOfEmployees.d.ts +1 -1
  518. package/dist/types/components/Shared/fields/NumberOfEmployees/types.d.ts +1 -1
  519. package/dist/types/components/Shared/fields/PhoneField/PhoneField.d.ts +1 -1
  520. package/dist/types/components/Shared/fields/PhoneField/fieldConfig.d.ts +5 -0
  521. package/dist/types/components/Shared/fields/PhoneField/types.d.ts +2 -1
  522. package/dist/types/components/Shared/fields/StateField/StateField.d.ts +1 -1
  523. package/dist/types/components/Shared/fields/StateField/fieldConfig.d.ts +8 -0
  524. package/dist/types/components/Shared/fields/StateField/types.d.ts +1 -1
  525. package/dist/types/components/Shared/fields/StockExchangeMICField/StockExchangeMICField.d.ts +1 -1
  526. package/dist/types/components/Shared/fields/StockExchangeMICField/types.d.ts +1 -1
  527. package/dist/types/components/Shared/fields/StockISINField/StockISINField.d.ts +1 -1
  528. package/dist/types/components/Shared/fields/StockISINField/types.d.ts +1 -1
  529. package/dist/types/components/Shared/fields/StockTickerSymbol/StockTickerSymbolField.d.ts +1 -1
  530. package/dist/types/components/Shared/fields/StockTickerSymbol/types.d.ts +1 -1
  531. package/dist/types/components/Shared/fields/TaxInformationField/TaxInformationField.d.ts +1 -1
  532. package/dist/types/components/Shared/fields/TaxInformationField/fieldConfig.d.ts +6 -0
  533. package/dist/types/components/Shared/fields/TaxInformationField/types.d.ts +2 -1
  534. package/dist/types/components/Shared/fields/VatNumberField/VatNumberField.d.ts +1 -1
  535. package/dist/types/components/Shared/fields/VatNumberField/types.d.ts +1 -1
  536. package/dist/types/components/Shared/forms/Address/Address.d.ts +1 -1
  537. package/dist/types/components/Shared/forms/Address/localized/jp/jpAddressSchema.d.ts +3 -1
  538. package/dist/types/components/Shared/forms/Address/utils.d.ts +1 -1
  539. package/dist/types/components/Shared/forms/BusinessTypeSelection/utils.d.ts +1 -1
  540. package/dist/types/components/Trust/forms/Trust/rules.d.ts +2 -2
  541. package/dist/types/components/Trust/hooks/useTrustMemberNavigation.hook.d.ts +1 -1
  542. package/dist/types/components/Trust/pages/TrustDetailsPage.d.ts +1 -2
  543. package/dist/types/components/Trust/pages/TrustMemberCompanyPage.d.ts +3 -3
  544. package/dist/types/components/Trust/pages/TrustMemberIndividualPage.d.ts +5 -5
  545. package/dist/types/components/Trust/pages/TrustMemberRoleAndTypePage.d.ts +2 -2
  546. package/dist/types/components/Trust/tasks/RoleAndTypeDropin/formatRoleAndEntityTypeSummary.d.ts +1 -1
  547. package/dist/types/components/Trust/tasks/TrustDropin/TrustMultiform.d.ts +2 -1
  548. package/dist/types/components/Trust/tasks/TrustMembers/TrustMembersOverview.d.ts +1 -2
  549. package/dist/types/components/UnincorporatedPartnership/hooks/useUnincorporatedPartnershipNavigation.d.ts +1 -1
  550. package/dist/types/components/UnincorporatedPartnership/pages/UnincorporatedPartnershipIndividualPage.d.ts +5 -5
  551. package/dist/types/components/UnincorporatedPartnership/pages/UnincorporatedPartnershipMemberCompanyPage.d.ts +3 -3
  552. package/dist/types/components/UnincorporatedPartnership/pages/UnincorporatedPartnershipMemberRoleAndTypePage.d.ts +1 -1
  553. package/dist/types/components/ui/atoms/Card/Card.d.ts +19 -0
  554. package/dist/types/components/ui/atoms/Loader/Loader.d.ts +11 -1
  555. package/dist/types/components/ui/atoms/MultiSelectList/MultiSelectList.d.ts +0 -1
  556. package/dist/types/components/ui/atoms/Svg/Svg.d.ts +0 -1
  557. package/dist/types/components/ui/atoms/Tile/Tile.d.ts +2 -1
  558. package/dist/types/components/ui/molecules/EmbeddedStatus/statusToTag.d.ts +2 -2
  559. package/dist/types/components/ui/molecules/ErrorPanel/ErrorPanel.d.ts +0 -1
  560. package/dist/types/context/ExperimentContext/types.d.ts +19 -42
  561. package/dist/types/context/QueryContext/QueryClient.d.ts +1 -1
  562. package/dist/types/context/StateContext/types.d.ts +2 -3
  563. package/dist/types/core/models/api/individual.d.ts +3 -0
  564. package/dist/types/core/models/api/instant-id-verification.d.ts +1 -1
  565. package/dist/types/core/models/api/legal-arrangement.d.ts +3 -0
  566. package/dist/types/core/models/api/legal-entity-association.d.ts +1 -1
  567. package/dist/types/core/process-field-configurations.d.ts +0 -5
  568. package/dist/types/core/services/types.d.ts +1 -1
  569. package/dist/types/core/user-events.d.ts +4 -2
  570. package/dist/types/embeds/baseEmbedProps.d.ts +0 -21
  571. package/dist/types/embeds/business-financing/adyen-business-financing.d.ts +2 -1
  572. package/dist/types/embeds/individual-configuration/adyen-individual-configuration.d.ts +5 -1
  573. package/dist/types/embeds/individual-configuration/adyen-individual-configuration.types.d.ts +2 -2
  574. package/dist/types/embeds/invited-decision-maker/adyen-invited-decision-maker.d.ts +5 -0
  575. package/dist/types/embeds/invited-decision-maker/adyen-invited-decision-maker.types.d.ts +34 -0
  576. package/dist/types/embeds/onboarding/adyen-onboarding.d.ts +2 -1
  577. package/dist/types/embeds/terms-of-service-management/adyen-terms-of-service-management.d.ts +5 -1
  578. package/dist/types/embeds/transfer-instrument-configuration/adyen-transfer-instrument-configuration.d.ts +2 -1
  579. package/dist/types/embeds/verification-status/adyen-verification-status.d.ts +2 -1
  580. package/dist/types/hooks/useAssociatedLegalEntity.d.ts +1 -1
  581. package/dist/types/hooks/useForm/types.d.ts +0 -8
  582. package/dist/types/hooks/useLegalCompanyNameField/useLegalCompanyNameField.d.ts +4 -2
  583. package/dist/types/hooks/usePageLandedEvent.d.ts +7 -0
  584. package/dist/types/hooks/useUboQuestionnaire.d.ts +2 -2
  585. package/dist/types/language/types.d.ts +7 -2
  586. package/dist/types/language/utils.d.ts +1 -2
  587. package/dist/types/router/DefaultRouteRedirect.d.ts +8 -0
  588. package/dist/types/router/MemoryRouterContext.d.ts +9 -0
  589. package/dist/types/router/OnboardingRouter.d.ts +39 -0
  590. package/dist/types/router/SuspenseRoute.d.ts +7 -0
  591. package/dist/types/router/getDefaultTask.d.ts +16 -0
  592. package/dist/types/router/routeConfig.d.ts +68 -0
  593. package/dist/types/router/useCurrentTask.d.ts +5 -0
  594. package/dist/types/router/useNavigate.d.ts +7 -0
  595. package/dist/types/stores/formState.d.ts +1 -1
  596. package/dist/types/stores/globalStore/taskStatus.d.ts +5 -3
  597. package/dist/types/types/assert.d.ts +1 -0
  598. package/dist/types/types/form-rules.d.ts +0 -1
  599. package/dist/types/utils/addLinkedFields.d.ts +0 -2
  600. package/dist/types/utils/analytics/debouncedInputEvent.d.ts +1 -0
  601. package/dist/types/utils/analytics/getPrefilledDetails.d.ts +28 -0
  602. package/dist/types/utils/api/documentUtils.d.ts +6 -0
  603. package/dist/types/utils/api/processCapabilitites.d.ts +14 -2
  604. package/dist/types/utils/birthDateUtils.d.ts +0 -17
  605. package/dist/types/utils/entityAssociationUtil.d.ts +3 -4
  606. package/dist/types/utils/entityStatusUtil.d.ts +1 -1
  607. package/dist/types/utils/fieldConfigurations.d.ts +0 -2
  608. package/dist/types/utils/formUtils.d.ts +1 -6
  609. package/dist/types/utils/getDisplayErrorMessage.d.ts +1 -2
  610. package/dist/types/utils/getFieldsWithExistingData.d.ts +2 -3
  611. package/dist/types/utils/getName.d.ts +1 -1
  612. package/dist/types/utils/japanSupportUtils.d.ts +2 -1
  613. package/dist/types/utils/logger.d.ts +0 -1
  614. package/dist/types/utils/makeSelectItemForRole.d.ts +1 -1
  615. package/dist/types/utils/performance.d.ts +64 -0
  616. package/dist/types/utils/regex/patternValidators.d.ts +1 -1
  617. package/dist/types/utils/translation.d.ts +3 -2
  618. package/dist/types/utils/validatorUtils.d.ts +2 -1
  619. package/dist/types/utils/verification/helpers/verifyIdNumber.d.ts +3 -2
  620. package/dist/types-B7GElie6.js +138 -0
  621. package/dist/types-BQL9Lsg4.js +74 -0
  622. package/dist/types-C8io4KaH.js +64 -0
  623. package/dist/types-DwXc_yI8.js +34 -0
  624. package/dist/unincorporated-partnership-MeN1dp53.js +97 -0
  625. package/dist/upload-BmUXjsaU.js +17 -0
  626. package/dist/us-check-C1rTBsCY.js +46 -0
  627. package/dist/us-check-account-number-9lI1dXNC.js +48 -0
  628. package/dist/us-check-routing-number-s_KaAGSM.js +49 -0
  629. package/dist/useAssociatedLegalEntity-ETDoz1H2.js +34 -0
  630. package/dist/useBusinessDetailsData-FrL0b9Ni.js +5197 -0
  631. package/dist/useBusinessLines-C5NQ5pE8.js +29 -0
  632. package/dist/useCanSeeIntroduction-BdZJ7k-_.js +48 -0
  633. package/dist/useCreateLegalEntity-DrcLoNYT.js +32 -0
  634. package/dist/useDataMissingRemediations-Zgtpw7uZ.js +41 -0
  635. package/dist/useDataset-Cap5ZjTr.js +76 -0
  636. package/dist/useDeleteTransferInstrument-B2wRj-qL.js +32 -0
  637. package/dist/useForm-DqUW2TbW.js +582 -0
  638. package/dist/useFormContext-CkuaJPUI.js +201 -0
  639. package/dist/useGlobalData-5Z6W3or1.js +68 -0
  640. package/dist/useId-BZ0PA7jP.js +24 -0
  641. package/dist/useMultiForm-Dm2IEMH9.js +873 -0
  642. package/dist/useNavigate-CI0N-POy.js +265 -0
  643. package/dist/useOnboardingStatus-H7Xqe2GC.js +28 -0
  644. package/dist/usePciQuestionnaireList-BF7TPjbQ.js +29 -0
  645. package/dist/useSalesChannels-DYGRfKeh.js +65 -0
  646. package/dist/useScenarios-CibP5LVa.js +48 -0
  647. package/dist/useSetting-CbBaitp6.js +19 -0
  648. package/dist/useTaskStatus-1OZ2clnm.js +51 -0
  649. package/dist/useTermsOfServiceStatus-Dg_nBQgt.js +43 -0
  650. package/dist/useToastContext-D643iewp.js +49 -0
  651. package/dist/useTrustMembers-BTCDIu6B.js +163 -0
  652. package/dist/useUnincorporatedPartnershipMembers-BM9dNg4i.js +99 -0
  653. package/dist/useUpdateBusinessLines-BuW6Vnof.js +339 -0
  654. package/dist/useUpdateLegalEntity-tRw1V_Mt.js +40 -0
  655. package/dist/utils-BasWTkqk.js +159 -0
  656. package/dist/utils-BnolcW6V.js +237 -0
  657. package/dist/utils-D9h2Aq2w.js +778 -0
  658. package/dist/utils-PkTZS9uf.js +58 -0
  659. package/dist/utils-b_KUV0wb.js +29 -0
  660. package/dist/validate-CtxacqMv.js +434 -0
  661. package/dist/validate-K0fmvoFj.js +108 -0
  662. package/dist/validationError-DdlWONz2.js +86 -0
  663. package/dist/warning-circle-fill-DBvt921B.js +17 -0
  664. package/dist/warning-diamond-filled-Lb2od2ry.js +17 -0
  665. package/dist/webinar-m9nuFZBt.js +22 -0
  666. package/dist/yapily-logo-BduxhNRA.js +17 -0
  667. package/package.json +88 -56
  668. package/dist/4-people-BzyXLUF9.js +0 -24
  669. package/dist/AcceptTermsOfServiceComponent-DmtE39CC.js +0 -642
  670. package/dist/Accordion-C-BvE1VA.js +0 -88
  671. package/dist/AccountSetupRejected-DDoI43lB.js +0 -26
  672. package/dist/ActionBar-Dzrzolec.js +0 -31
  673. package/dist/Address-e41CN3CB.js +0 -1317
  674. package/dist/Alert-Dk-oZlnx.js +0 -159
  675. package/dist/Avatar-efxn8pKz.js +0 -60
  676. package/dist/BusinessDetailsDropin-DDh_D2hv.js +0 -2359
  677. package/dist/BusinessFinancingComponent-C04uRrhE.js +0 -55
  678. package/dist/BusinessFinancingDropin-_OlSqohS.js +0 -1843
  679. package/dist/BusinessFinancingPage-DdMugwOa.js +0 -43
  680. package/dist/BusinessTypeSelectionPage-vkCTEFEJ.js +0 -426
  681. package/dist/Card-CqXQA0AI.js +0 -82
  682. package/dist/ConstitutionalDocument-CcwyClZ7.js +0 -143
  683. package/dist/ContractViewer-Byp71k2e.js +0 -935
  684. package/dist/CountryField-CzRN1OE8.js +0 -843
  685. package/dist/CreateIndividualComponent-BNeY6u8q.js +0 -71
  686. package/dist/CreateTransferInstrumentComponent-B8cNHRdF.js +0 -63
  687. package/dist/Currency-BBt4yo5i.js +0 -183
  688. package/dist/CustomerSupport-CObTT8cH.js +0 -153
  689. package/dist/DebugModal-DJcim6UP.js +0 -413
  690. package/dist/DecisionMakerDetailsPage-CrQgRW8X.js +0 -106
  691. package/dist/DecisionMakers-B-3aMddf.js +0 -842
  692. package/dist/EmbeddedStatus-C_5DguHv.js +0 -99
  693. package/dist/EndStateLayout-CwdrDEYY.js +0 -71
  694. package/dist/EntityAssociation-C413vcu6.js +0 -159
  695. package/dist/EntityGuidanceStatus-C6b8i7os.js +0 -105
  696. package/dist/FormFlow-PppMJ6OA.js +0 -186
  697. package/dist/FormNavigation-DL47b_QR.js +0 -144
  698. package/dist/FormWrapper-BOrTn1C8.js +0 -135
  699. package/dist/IndividualOnfido-CmmyKC7J.js +0 -9631
  700. package/dist/IndividualOnfidoDropin-BsCb6dvy.js +0 -2569
  701. package/dist/InputText-BfL9DgWp.js +0 -249
  702. package/dist/Introduction-CBMl7v2M.js +0 -300
  703. package/dist/JpAddress-BCwWQ0Ul.js +0 -271
  704. package/dist/LegalRepresentativeDetailsPage-CDURNY_v.js +0 -60
  705. package/dist/ListItem-BhUSZdS5.js +0 -69
  706. package/dist/ManageIndividualComponent-wYIuZdQ8.js +0 -46
  707. package/dist/ManageTermsOfServiceComponent-6RBHbbsn.js +0 -52
  708. package/dist/ManageTransferInstrumentComponent-BDyWbySW.js +0 -287
  709. package/dist/MaybeModal-CG0BAO68.js +0 -36
  710. package/dist/Modal-CJ_hgcGb.js +0 -149
  711. package/dist/OnboardingDropinComponent-D3dYF_4W.js +0 -7617
  712. package/dist/PayoutDetailsDropin-DxALk48X.js +0 -4840
  713. package/dist/Review-C_JnI94L.js +0 -83
  714. package/dist/RootBusinessDetailsPage-BE3Uck1r.js +0 -46
  715. package/dist/RootBusinessLinesPage-DknXuZgi.js +0 -1484
  716. package/dist/RootIndividualDetailsPage-BIj988Sh.js +0 -71
  717. package/dist/SignPCIComponent-BjVEKTlw.js +0 -304
  718. package/dist/SingpassSelection-Bkbz_bGo.js +0 -130
  719. package/dist/SoleProprietorshipPage-DSOEsSfJ.js +0 -46
  720. package/dist/SourceOfFundsPage-cWwthA_A.js +0 -2383
  721. package/dist/Spacer-D4I0f08n.js +0 -1416
  722. package/dist/StepProgressIndicator-FNAEisRr.js +0 -78
  723. package/dist/StoreProvider-jtUYKLRz.js +0 -7707
  724. package/dist/Summary-COehg8IT.js +0 -204
  725. package/dist/TaxReportingDropin-BBkhMcPn.js +0 -501
  726. package/dist/TrustDetailsPage-50i4_lFA.js +0 -2149
  727. package/dist/TrustMemberCompanyPage-v2Md1srF.js +0 -57
  728. package/dist/TrustMemberIndividualPage-Bn6TXkhN.js +0 -66
  729. package/dist/TrustMemberRoleAndTypePage-C_NPNe6_.js +0 -985
  730. package/dist/TrustMembersOverview-FcSsQZ3Z.js +0 -438
  731. package/dist/UnincorporatedPartnershipIndividualPage-zsyk9RTz.js +0 -65
  732. package/dist/UnincorporatedPartnershipMemberCompanyPage-FP75ZgOg.js +0 -60
  733. package/dist/UnincorporatedPartnershipMemberRoleAndTypePage-n6SndOAj.js +0 -281
  734. package/dist/UnincorporatedPartnershipMembersOverview-BbW2q9EI.js +0 -172
  735. package/dist/VerificationErrorAlert-B7jRGdgn.js +0 -79
  736. package/dist/ViewVerificationStatusComponent-CuUmC319.js +0 -180
  737. package/dist/arrow-right-KxA3SvQj.js +0 -14
  738. package/dist/bag-BPumznWh.js +0 -14
  739. package/dist/bank-D6FiNBhs.js +0 -14
  740. package/dist/bin-Bz6KOIeE.js +0 -18
  741. package/dist/business-lines-DboUCbXw.js +0 -135
  742. package/dist/capital-GVQ3svwN.js +0 -17
  743. package/dist/cash-stack-D9AoDDwt.js +0 -22
  744. package/dist/certificate-CdEWgHQf.js +0 -17
  745. package/dist/checkmark-Q7x6tGhy.js +0 -14
  746. package/dist/checkmark-circle-fill-CsvN5_PL.js +0 -17
  747. package/dist/checkmark-circle-x7dzbp3I.js +0 -20
  748. package/dist/checkmark-small-D35myntq.js +0 -14
  749. package/dist/chevron-down-C2iDorpW.js +0 -14
  750. package/dist/chevron-left-ztPO84q-.js +0 -14
  751. package/dist/chevron-right-C_JN0oDt.js +0 -14
  752. package/dist/chevron-up-CgG8n25g.js +0 -14
  753. package/dist/circle-Bt3Nlr3q.js +0 -17
  754. package/dist/circle-small-filled-YMzP6yQU.js +0 -14
  755. package/dist/clock-BZHremOA.js +0 -20
  756. package/dist/coins-fkAk6dCo.js +0 -17
  757. package/dist/contract-BTa4HltT.js +0 -14
  758. package/dist/cross-Cn09MtQ_.js +0 -14
  759. package/dist/cross-circle-fill-maan7Z5S.js +0 -17
  760. package/dist/cross-circle-fill-small-DCz52AuN.js +0 -14
  761. package/dist/da-DK-BlU1EczG.js +0 -30
  762. package/dist/da-DK-DEdQ-QPp.js +0 -13
  763. package/dist/da-DK-DYpfNZdP.js +0 -37
  764. package/dist/da-DK-Dc0QYG8m.js +0 -68
  765. package/dist/da-DK-DqkN5oIu.js +0 -13
  766. package/dist/da-DK-jK7c9UL0.js +0 -57
  767. package/dist/de-DE-BXt1K0Tr.js +0 -37
  768. package/dist/de-DE-COuUdtao.js +0 -13
  769. package/dist/de-DE-DrSSblam.js +0 -13
  770. package/dist/de-DE-Dz2OsS1F.js +0 -68
  771. package/dist/de-DE-s0B-XZyp.js +0 -30
  772. package/dist/de-DE-wmerDL2e.js +0 -57
  773. package/dist/debouncedInputEvent-HhImBs4O.js +0 -109
  774. package/dist/decision-makers-group-CgddXgrx.js +0 -1944
  775. package/dist/digital-wallet-D_IpxnkN.js +0 -46
  776. package/dist/document-1-C08ut-Dt.js +0 -14
  777. package/dist/document-blurred-2Zpodj3_.js +0 -37
  778. package/dist/document-cut-off-ClS7RiOp.js +0 -32
  779. package/dist/document-expired-CjksBq-N.js +0 -38
  780. package/dist/document-front-DiAairT3.js +0 -30
  781. package/dist/document-person-vxlA6C5f.js +0 -20
  782. package/dist/documentUtils-DIcRD9lR.js +0 -218
  783. package/dist/download-Drhk9k1f.js +0 -17
  784. package/dist/dropinUtils-BK1u6OTG.js +0 -200
  785. package/dist/edit-1-CFoDTMvQ.js +0 -14
  786. package/dist/el-GR-CdgLZhuO.js +0 -13
  787. package/dist/en-US-CzEL6t1W.js +0 -55
  788. package/dist/en-US-D-B35AoN.js +0 -68
  789. package/dist/en-US-Dg505Oh3.js +0 -37
  790. package/dist/en-US-d4WBvUW7.js +0 -118
  791. package/dist/en-US-fyGPkcqX.js +0 -13
  792. package/dist/en-US-gsp7CD_E.js +0 -57
  793. package/dist/es-ES-BI_jdT67.js +0 -68
  794. package/dist/es-ES-BhNhIf08.js +0 -37
  795. package/dist/es-ES-DNGEW6V_.js +0 -13
  796. package/dist/es-ES-Qnc0Q6JH.js +0 -57
  797. package/dist/es-ES-ShWaSuJd.js +0 -13
  798. package/dist/es-ES-esfwvKwz.js +0 -30
  799. package/dist/external-link-DCMYUMfW.js +0 -14
  800. package/dist/fi-FI-ChApf7lf.js +0 -13
  801. package/dist/fi-FI-CjB6QC01.js +0 -30
  802. package/dist/fi-FI-CoI_94Fv.js +0 -13
  803. package/dist/fi-FI-Dn2MC8uW.js +0 -57
  804. package/dist/fi-FI-hwzizPnr.js +0 -68
  805. package/dist/fi-FI-ysUrBilO.js +0 -37
  806. package/dist/fr-FR-BSvSKazD.js +0 -37
  807. package/dist/fr-FR-BWX14yb7.js +0 -57
  808. package/dist/fr-FR-Br7OeDIe.js +0 -13
  809. package/dist/fr-FR-C1XqLftn.js +0 -30
  810. package/dist/fr-FR-CYZXbwc9.js +0 -68
  811. package/dist/fr-FR-Q3urMjbl.js +0 -13
  812. package/dist/funds-in-D8bj0aoE.js +0 -21
  813. package/dist/getFieldsWithExistingData-DxCFyXNd.js +0 -22
  814. package/dist/getName-BS-pHwl0.js +0 -41
  815. package/dist/gift-CQ_DEma7.js +0 -14
  816. package/dist/graph-BJmqglH2.js +0 -21
  817. package/dist/graph-up-Bq6adtlX.js +0 -20
  818. package/dist/hasDataChanged-CWdnpJrE.js +0 -19
  819. package/dist/headquarter-DNYyuuFq.js +0 -21
  820. package/dist/hotel-BuNql78Z.js +0 -22
  821. package/dist/house-B6sNRj-B.js +0 -21
  822. package/dist/id-blurred-9dzBOWCE.js +0 -59
  823. package/dist/id-cut-off-CohJCI2h.js +0 -55
  824. package/dist/id-front-CSZfvdRg.js +0 -52
  825. package/dist/id-glare-Q2JWo5ts.js +0 -49
  826. package/dist/id-verification-instant-BUVBO4R3.js +0 -58
  827. package/dist/id-verification-manual-B3YZALYU.js +0 -55
  828. package/dist/iframeWidget-Uz4rHS0r.js +0 -234
  829. package/dist/image-BSihO8lR.js +0 -17
  830. package/dist/info-filled-SQotHmT9.js +0 -17
  831. package/dist/info-vHTZWoJ7.js +0 -21
  832. package/dist/instant-verification-Dvvkyfmp.js +0 -40
  833. package/dist/it-IT-B0YGvVgW.js +0 -57
  834. package/dist/it-IT-BAvsF2TB.js +0 -13
  835. package/dist/it-IT-C_YDqVNT.js +0 -30
  836. package/dist/it-IT-Erh1DIlj.js +0 -68
  837. package/dist/it-IT-Qfzc8jnW.js +0 -37
  838. package/dist/it-IT-vdMlF0Ha.js +0 -13
  839. package/dist/localizeDateString-DgSdo3D5.js +0 -27
  840. package/dist/location-Q4oKvnkl.js +0 -17
  841. package/dist/mail-BOdyoVqB.js +0 -14
  842. package/dist/manual-verification-BvZWqA00.js +0 -41
  843. package/dist/mapExistingFile-CqrlnmFQ.js +0 -156
  844. package/dist/mapFinancialReportsToFinancialInformation-ZmhVRj3f.js +0 -67
  845. package/dist/mapJpAddressSchemaToAddressLocalizations-D6HjhjJT.js +0 -63
  846. package/dist/mapLegalEntityToIndividualOnfidoSchema-COcit7Hx.js +0 -146
  847. package/dist/mapTransferInstrumentToPayoutAccount-DfJHF9H8.js +0 -33
  848. package/dist/minus-circle-filled-kC2IUvKz.js +0 -17
  849. package/dist/nl-NL-BMUYBqlF.js +0 -57
  850. package/dist/nl-NL-BwKrj-29.js +0 -13
  851. package/dist/nl-NL-C3YJkSIj.js +0 -13
  852. package/dist/nl-NL-D7gBNWEY.js +0 -37
  853. package/dist/nl-NL-DyeSX0PH.js +0 -30
  854. package/dist/nl-NL-O9GCHMDA.js +0 -68
  855. package/dist/no-NO-B6OPS2CA.js +0 -13
  856. package/dist/no-NO-C-gCYc9q.js +0 -37
  857. package/dist/no-NO-CA1aR6Wh.js +0 -68
  858. package/dist/no-NO-D4BECLky.js +0 -130
  859. package/dist/no-NO-DKbWxgF-.js +0 -57
  860. package/dist/no-NO-DPRsAb_o.js +0 -30
  861. package/dist/onfido-logo-BWSv__sQ.js +0 -14
  862. package/dist/options-horizontal-CBmbNv7R.js +0 -18
  863. package/dist/partner-CPjsrePY.js +0 -18
  864. package/dist/passport-blurred-B4UDQfmc.js +0 -59
  865. package/dist/passport-cut-off-C0N2mgLk.js +0 -56
  866. package/dist/passport-front-BwA7wR91.js +0 -52
  867. package/dist/passport-front-green-BL4HmtsB.js +0 -232
  868. package/dist/passport-glare-Mg2ixsYA.js +0 -50
  869. package/dist/pay-by-link-plane-BVZndh67.js +0 -22
  870. package/dist/payout-ChUEoLjt.js +0 -20
  871. package/dist/payout-verification-instant-5u-wvFKv.js +0 -41
  872. package/dist/payout-verification-manual-BH2mu0UW.js +0 -90
  873. package/dist/person-DGjUU4S4.js +0 -17
  874. package/dist/plaid-logo-CtActXTN.js +0 -14
  875. package/dist/plus-CWXA5wdX.js +0 -14
  876. package/dist/plus-circle-filled-CbC0u2Y1.js +0 -17
  877. package/dist/process-field-configurations-N1jHgPa8.js +0 -324
  878. package/dist/pt-BR--kaJvtE6.js +0 -57
  879. package/dist/pt-BR-BKQRvAfq.js +0 -13
  880. package/dist/pt-BR-C-C4ZJ9x.js +0 -30
  881. package/dist/pt-BR-NtLaWlnZ.js +0 -68
  882. package/dist/pt-BR-gh27BC86.js +0 -13
  883. package/dist/pt-BR-ur86nRrK.js +0 -37
  884. package/dist/pt-PT-B4F_5NWi.js +0 -55
  885. package/dist/pt-PT-BZ5ZZm6G.js +0 -57
  886. package/dist/pt-PT-Bf4IV7wp.js +0 -13
  887. package/dist/pt-PT-CFY1O_K0.js +0 -13
  888. package/dist/pt-PT-CIo3mlXL.js +0 -24
  889. package/dist/pt-PT-CVNEcs32.js +0 -37
  890. package/dist/pt-PT-D2Xe-OdG.js +0 -13
  891. package/dist/pt-PT-DSxxVA0f.js +0 -68
  892. package/dist/pt-PT-DVKtHjIY.js +0 -13
  893. package/dist/pt-PT-DYihdcJx.js +0 -13
  894. package/dist/pt-PT-Dm5DRDrd.js +0 -32
  895. package/dist/pt-PT-DpDxAynk.js +0 -13
  896. package/dist/pt-PT-JVqqgvPs.js +0 -54
  897. package/dist/pt-PT-LbneTcRx.js +0 -30
  898. package/dist/pt-PT-TKg5FLat.js +0 -27
  899. package/dist/recurring-CkL4cCM2.js +0 -17
  900. package/dist/reporting-DerosUNm.js +0 -16
  901. package/dist/resolveEnvironment-DZ77JxLV.js +0 -164
  902. package/dist/revenue-accelerate-Dp4Ns_5c.js +0 -17
  903. package/dist/review-CxIN9azU.js +0 -17
  904. package/dist/rules-_v8BprU3.js +0 -317
  905. package/dist/save-Fgy7EDid.js +0 -14
  906. package/dist/search-C4GZ-Rc1.js +0 -17
  907. package/dist/show-yPjPmEf8.js +0 -17
  908. package/dist/singpass-logo-BkMSwiGY.js +0 -17
  909. package/dist/singpass-verification-instant-hY4eGFwl.js +0 -40
  910. package/dist/singpass-verification-manual-DwhRpy5Q.js +0 -34
  911. package/dist/sl-SI-8SzKx7XD.js +0 -30
  912. package/dist/sl-SI-CUCrzJQv.js +0 -37
  913. package/dist/sl-SI-DdjgSySI.js +0 -13
  914. package/dist/sl-SI-DtdGMD6i.js +0 -57
  915. package/dist/solution-payments-CNAat9h7.js +0 -14
  916. package/dist/store-IuAkDRAp.js +0 -14
  917. package/dist/sv-SE-B7cpKp1l.js +0 -30
  918. package/dist/sv-SE-BHkYspm-.js +0 -130
  919. package/dist/sv-SE-C6uPh9g5.js +0 -37
  920. package/dist/sv-SE-K1QT1cOt.js +0 -68
  921. package/dist/sv-SE-kR514dO1.js +0 -57
  922. package/dist/sv-SE-zTiw1bUU.js +0 -13
  923. package/dist/tax-reporting-graph-DjzwRgE6.js +0 -504
  924. package/dist/terminal-1-_me9J9h0.js +0 -18
  925. package/dist/tink-logo-BcIv93ND.js +0 -17
  926. package/dist/types/components/Business/tasks/BusinessDetailsDropin/mandatoryFields.d.ts +0 -3
  927. package/dist/types/components/Individual/fields/DecisionMakerRole/DecisionMakerRole.d.ts +0 -3
  928. package/dist/types/components/Individual/fields/DecisionMakerRole/NomineeDecisionMakerRole.d.ts +0 -10
  929. package/dist/types/components/Individual/fields/DecisionMakerRole/types.d.ts +0 -23
  930. package/dist/types/components/Individual/fields/LocalizedNameFields/types.d.ts +0 -9
  931. package/dist/types/components/Individual/fields/NameFields/validate.d.ts +0 -4
  932. package/dist/types/components/Individual/forms/Individual/IdDocumentUpload/IdDocumentAlreadyUpload.d.ts +0 -2
  933. package/dist/types/components/Individual/forms/Individual/IdDocumentUpload/IdDocumentInstantVerification.d.ts +0 -3
  934. package/dist/types/components/Individual/forms/Individual/IdDocumentUpload/IdDocumentUpload.d.ts +0 -3
  935. package/dist/types/components/Individual/forms/Individual/IdDocumentUpload/types.d.ts +0 -53
  936. package/dist/types/components/Individual/forms/Individual/IdDocumentUpload/utils.d.ts +0 -3
  937. package/dist/types/components/Individual/forms/Individual/IdVerificationMethod/IdVerificationMethod.d.ts +0 -3
  938. package/dist/types/components/Individual/forms/Individual/IdVerificationMethod/idVerificationMethodMetadata.d.ts +0 -15
  939. package/dist/types/components/Individual/forms/Individual/IdVerificationMethod/types.d.ts +0 -14
  940. package/dist/types/components/Individual/forms/Individual/Individual.d.ts +0 -9
  941. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/Identity.d.ts +0 -2
  942. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/IdentityAu/IdentityAu.d.ts +0 -2
  943. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/IdentityAu/validate.d.ts +0 -3
  944. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/IdentityHK/IdentityHK.d.ts +0 -2
  945. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/IdentityHK/validate.d.ts +0 -3
  946. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/IdentityNZ/IdentityNZ.d.ts +0 -2
  947. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/IdentityNZ/validate.d.ts +0 -3
  948. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/TypeOfIdentity/index.d.ts +0 -11
  949. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/identityUS/IdentityUS.d.ts +0 -4
  950. package/dist/types/components/Individual/forms/Individual/PersonalDetails/Identity/types.d.ts +0 -14
  951. package/dist/types/components/Individual/forms/Individual/PersonalDetails/PersonalDetails.d.ts +0 -3
  952. package/dist/types/components/Individual/forms/Individual/PersonalDetails/types.d.ts +0 -41
  953. package/dist/types/components/Individual/forms/Individual/PersonalDetails/validate.d.ts +0 -21
  954. package/dist/types/components/Individual/forms/Individual/ProofOfRelationship/types.d.ts +0 -14
  955. package/dist/types/components/Individual/forms/Individual/ProofOfResidency/types.d.ts +0 -39
  956. package/dist/types/components/Individual/forms/Individual/rules.d.ts +0 -40
  957. package/dist/types/components/Individual/forms/Individual/types.d.ts +0 -51
  958. package/dist/types/components/Individual/forms/IndividualOnfido/AdditionalPersonalDetails/AdditionalPersonalDetails.types.d.ts +0 -29
  959. package/dist/types/components/Individual/forms/IndividualOnfido/AdditionalPersonalDetails/Identity/Identity.types.d.ts +0 -13
  960. package/dist/types/components/Individual/forms/IndividualOnfido/AdditionalPersonalDetails/Identity/TypeOfIdentity/index.d.ts +0 -11
  961. package/dist/types/components/Individual/forms/IndividualOnfido/AdditionalPersonalDetails/Identity/validate.d.ts +0 -4
  962. package/dist/types/components/Individual/forms/IndividualOnfido/AdditionalPersonalDetails/validate.d.ts +0 -22
  963. package/dist/types/components/Individual/forms/IndividualOnfido/BasicDetails/BasicDetails.types.d.ts +0 -22
  964. package/dist/types/components/Individual/forms/IndividualOnfido/BasicDetails/validate.d.ts +0 -6
  965. package/dist/types/components/Individual/forms/IndividualOnfido/DataConflictsModal/ConflictRow.d.ts +0 -12
  966. package/dist/types/components/Individual/forms/IndividualOnfido/DataConflictsModal/DataConflictsModal.d.ts +0 -24
  967. package/dist/types/components/Individual/forms/IndividualOnfido/IdNowVerificationModal/isIdNowModalOpen.d.ts +0 -17
  968. package/dist/types/components/Individual/forms/IndividualOnfido/IdVerificationMethod/IdVerificationMethod.types.d.ts +0 -20
  969. package/dist/types/components/Individual/forms/IndividualOnfido/IdVerificationMethod/OnfidoVerificationModal/OnfidoVerificationModal.d.ts +0 -7
  970. package/dist/types/components/Individual/forms/IndividualOnfido/IdVerificationMethod/UploadedDocument/UploadedDocument.d.ts +0 -7
  971. package/dist/types/components/Individual/forms/IndividualOnfido/IdVerificationMethod/individualOnfidoConflictsSchema.d.ts +0 -46
  972. package/dist/types/components/Individual/forms/IndividualOnfido/IdVerificationMethod/mapExtractionResultToSchema.d.ts +0 -4
  973. package/dist/types/components/Individual/forms/IndividualOnfido/IdVerificationMethod/validateExtractionResult.d.ts +0 -12
  974. package/dist/types/components/Individual/forms/IndividualOnfido/IndividualOnfido.d.ts +0 -52
  975. package/dist/types/components/Individual/forms/IndividualOnfido/IndividualOnfido.rules.d.ts +0 -46
  976. package/dist/types/components/Individual/forms/IndividualOnfido/IndividualOnfido.types.d.ts +0 -59
  977. package/dist/types/components/Individual/forms/IndividualOnfido/SignatoryQuestionnaire/SignatoryQuestionnaire.types.d.ts +0 -6
  978. package/dist/types/components/Individual/forms/IndividualOnfido/UboQuestionnaire/UboQuestionnaire.types.d.ts +0 -13
  979. package/dist/types/components/Individual/forms/IndividualOnfido/UboQuestionnaire/UboQuestionnaireModalContent.d.ts +0 -7
  980. package/dist/types/components/Individual/helpers/isOnfidoAutofillFlowEnabled.d.ts +0 -4
  981. package/dist/types/components/Individual/mapping/adjustIdentificationData.d.ts +0 -3
  982. package/dist/types/components/Individual/mapping/getIdentityTypeToApiIdentityTypeMap.d.ts +0 -3
  983. package/dist/types/components/Individual/mapping/individualOnfidoKeyMappings.d.ts +0 -8
  984. package/dist/types/components/Individual/mapping/mapIndividualOnfidoSchemaToLegalEntity.d.ts +0 -5
  985. package/dist/types/components/Individual/mapping/mapIndividualToLegalEntity.d.ts +0 -3
  986. package/dist/types/components/Individual/mapping/mapLegalEntityToIndividual.d.ts +0 -3
  987. package/dist/types/components/Individual/mapping/mapLegalEntityToIndividualOnfidoSchema.d.ts +0 -3
  988. package/dist/types/components/Individual/tasks/IndividualOnfidoDropin/IndividualOnfidoDropin.d.ts +0 -2
  989. package/dist/types/components/Individual/tasks/IndividualOnfidoDropin/individualOnfidoFormConfig.d.ts +0 -4
  990. package/dist/types/components/Shared/forms/BusinessTypeSelection/EntityTypeRadioGroupCard.d.ts +0 -11
  991. package/dist/types/components/Shared/forms/FinancialInformation/formatFinancialInformationSummary.d.ts +0 -4
  992. package/dist/types/components/Shared/forms/FinancialInformation/mapping/mapFinancialInformationToFinancialReport.d.ts +0 -3
  993. package/dist/types/components/Shared/forms/FinancialInformation/mapping/mapFinancialReportsToFinancialInformation.d.ts +0 -3
  994. package/dist/types/components/Shared/tasks/TaskList/utils.d.ts +0 -8
  995. package/dist/types/components/ui/molecules/Card/Card.d.ts +0 -3
  996. package/dist/types/components/ui/molecules/Card/types.d.ts +0 -26
  997. package/dist/types/embeds/EmbedBaseElement.d.ts +0 -41
  998. package/dist/types/embeds/EmbedCore.d.ts +0 -22
  999. package/dist/types/embeds/business-financing/AdyenBusinessFinancing.d.ts +0 -14
  1000. package/dist/types/embeds/individual-configuration/AdyenIndividual.d.ts +0 -12
  1001. package/dist/types/embeds/individual-status/AdyenManageIndividual.d.ts +0 -12
  1002. package/dist/types/embeds/onboarding/AdyenOnboarding.d.ts +0 -12
  1003. package/dist/types/embeds/terms-of-service-management/AdyenTermsOfService.d.ts +0 -12
  1004. package/dist/types/embeds/terms-of-service-status/AdyenManageTermsOfService.d.ts +0 -12
  1005. package/dist/types/embeds/transfer-instrument-configuration/AdyenTransferInstrument.d.ts +0 -16
  1006. package/dist/types/embeds/transfer-instrument-management/AdyenManageTransferInstrument.d.ts +0 -14
  1007. package/dist/types/embeds/verification-status/AdyenVerificationStatus.d.ts +0 -20
  1008. package/dist/types-BnnF5_7m.js +0 -34
  1009. package/dist/types-D0u3f6aG.js +0 -87
  1010. package/dist/types-Dk94b8kx.js +0 -161
  1011. package/dist/types-sYQKhaSL.js +0 -74
  1012. package/dist/upload-BF65P4KM.js +0 -17
  1013. package/dist/us-check-CYY6Crhr.js +0 -46
  1014. package/dist/us-check-account-number-C7KE5YzX.js +0 -48
  1015. package/dist/us-check-routing-number-DUbhsYAR.js +0 -49
  1016. package/dist/useAssociatedLegalEntity-00JVCmQ7.js +0 -33
  1017. package/dist/useCreateLegalEntity-BvvwB9r0.js +0 -31
  1018. package/dist/useDataset-8WyOJBhU.js +0 -220
  1019. package/dist/useForm-DLxHtZTP.js +0 -1624
  1020. package/dist/useGlobalData-D9dz7GIi.js +0 -68
  1021. package/dist/useMultiForm--sSlt50X.js +0 -864
  1022. package/dist/useOnboardingStatus-91zhqzLd.js +0 -27
  1023. package/dist/useScenarios-CqKpYbe_.js +0 -46
  1024. package/dist/useTermsOfServiceStatus-DLQVpbik.js +0 -42
  1025. package/dist/useToastContext-FI3dwzzs.js +0 -60
  1026. package/dist/useUnincorporatedPartnershipMembers-CdQDPlZq.js +0 -99
  1027. package/dist/useUpdateBusinessLines-BulhyPjH.js +0 -46
  1028. package/dist/useUpdateLegalEntity-Q3Icdeo6.js +0 -39
  1029. package/dist/utils-DQLhii3U.js +0 -774
  1030. package/dist/utils-DV0_GilJ.js +0 -237
  1031. package/dist/validate-BD3wn-YX.js +0 -100
  1032. package/dist/validate-H-iE__-w.js +0 -41
  1033. package/dist/validationError-B5aoMbe_.js +0 -86
  1034. package/dist/warning-circle-fill-CEN1WL7A.js +0 -17
  1035. package/dist/warning-diamond-filled-BfXMlVrG.js +0 -17
  1036. package/dist/webinar-DqjqrNEv.js +0 -22
  1037. package/dist/yapily-logo-CZ4ywjwA.js +0 -17
  1038. /package/dist/types/components/{Shared → Apps}/tasks/TaskList/PayoutAccountTaskListItem.d.ts +0 -0
  1039. /package/dist/types/components/{Shared → Apps}/tasks/TaskList/TaskList.d.ts +0 -0
  1040. /package/dist/types/components/{Shared → Apps}/tasks/TaskList/TaskListGroup.d.ts +0 -0
  1041. /package/dist/types/components/{Shared → Apps}/tasks/TaskList/TaskListItem.d.ts +0 -0
  1042. /package/dist/types/components/{Shared → Apps}/tasks/TaskList/types.d.ts +0 -0
  1043. /package/dist/types/components/{Shared → Business}/forms/FinancialInformation/FinancialInformation.d.ts +0 -0
  1044. /package/dist/types/components/{Shared → Business}/forms/FinancialInformation/ReportedValue.d.ts +0 -0
  1045. /package/dist/types/components/{Shared → Business}/forms/FinancialInformation/types.d.ts +0 -0
  1046. /package/dist/types/components/{Shared → Business}/forms/FinancialInformation/validate.d.ts +0 -0
  1047. /package/dist/types/components/Individual/forms/{IndividualOnfido/AdditionalPersonalDetails → AdditionalPersonalDetails}/AdditionalPersonalDetails.d.ts +0 -0
  1048. /package/dist/types/components/Individual/forms/{IndividualOnfido/AdditionalPersonalDetails → AdditionalPersonalDetails}/Identity/Identity.d.ts +0 -0
  1049. /package/dist/types/components/Individual/forms/{IndividualOnfido/BasicDetails → BasicDetails}/BasicDetails.d.ts +0 -0
  1050. /package/dist/types/components/Individual/forms/{IndividualOnfido/GuidanceQuestion → GuidanceQuestion}/GuidanceQuestion.d.ts +0 -0
  1051. /package/dist/types/components/Individual/forms/{Individual/IdDocumentUpload → IdDocumentUpload}/IdDocumentManualUpload.d.ts +0 -0
  1052. /package/dist/types/components/Individual/forms/{IndividualOnfido/IdNowVerificationModal → IdNowVerificationModal}/IdNowVerificationModal.d.ts +0 -0
  1053. /package/dist/types/components/Individual/forms/{Individual/IdVerification → IdVerification}/IdVerification.d.ts +0 -0
  1054. /package/dist/types/components/Individual/forms/{Individual/IdVerification → IdVerification}/idVerificationProviderId.d.ts +0 -0
  1055. /package/dist/types/components/Individual/forms/{Individual/IdVerification → IdVerification}/types.d.ts +0 -0
  1056. /package/dist/types/components/Individual/forms/{IndividualOnfido/IdVerificationMethod → IdVerificationMethod}/IdVerificationMethod.d.ts +0 -0
  1057. /package/dist/types/components/Individual/forms/{IndividualOnfido/ManualIdUpload → ManualIdUpload}/ManualIdUpload.d.ts +0 -0
  1058. /package/dist/types/components/Individual/forms/{Individual/ProofOfRelationship → ProofOfRelationship}/index.d.ts +0 -0
  1059. /package/dist/types/components/Individual/forms/{Individual/ProofOfResidency → ProofOfResidency}/ProofOfResidency.d.ts +0 -0
  1060. /package/dist/types/components/Individual/forms/{IndividualOnfido/SignatoryQuestionnaire → SignatoryQuestionnaire}/SignatoryQuestionnaire.d.ts +0 -0
  1061. /package/dist/types/components/Individual/forms/{IndividualOnfido/SignatoryQuestionnaire → SignatoryQuestionnaire}/SignatoryQuestionnaireModalContent.d.ts +0 -0
  1062. /package/dist/types/components/Individual/forms/{IndividualOnfido/UboQuestionnaire → UboQuestionnaire}/UboQuestionnaire.d.ts +0 -0
  1063. /package/dist/types/components/Individual/tasks/{IndividualOnfidoDropin/IndividualOnfidoStore.d.ts → IndividualDropin/IndividualStore.d.ts} +0 -0
  1064. /package/dist/types/components/{Individual → Shared}/fields/LocalizedNameFields/LocalizedNameFields.d.ts +0 -0
@@ -1,2569 +0,0 @@
1
- ;
2
- {
3
- try {
4
- let e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack;
5
- n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "86ec2b5d-2f27-4f33-b222-86760cc5bdf3", e._sentryDebugIdIdentifier = "sentry-dbid-86ec2b5d-2f27-4f33-b222-86760cc5bdf3");
6
- } catch (e) {
7
- }
8
- }
9
- ;
10
- import { jsx, jsxs, Fragment } from "preact/jsx-runtime";
11
- import { useMemo, useState, useEffect, useCallback, useRef } from "preact/hooks";
12
- import { u as useScenarios } from "./useScenarios-CqKpYbe_.js";
13
- import { b as useApiContext, $ as useMutation, k as httpPost, aE as matchesRegex, aQ as trimValWithOneSpace, aF as NO_ALPHABET_REGEX, aG as EMOJI_REGEX, aH as hasRepeatedCharacters, aI as isInvalidName, b0 as INDIVIDUAL_VALID_CHAR_REGEX, aO as getFormattingRegEx, aP as SPECIAL_CHARS, C as CountryCodes, aL as standardKatakanaValidator, aM as standardKanjiValidator, W as isEmpty, O as TaskTypes, r as LegalEntityTypes, b1 as getAgeToday, b2 as euCountries, b3 as individualApiKeyMapping, a_ as reverseMapping, b4 as getNomineeFromAssociation, b5 as individualComponentsKeyMapping, b6 as drop, P as createLogger, K as useAccountHolder, V as useI18nContext, a2 as useAnalyticsContext, X as useExperimentsContext, au as useVersionConfiguration, o as useSettingsContext, g as getLegalEntityCountry, b7 as getAllowedDecisionMakerRoles, b8 as filterOutUnwantedAssociationsIfRootLE, aB as cloneObject, b9 as individualDocumentMapping, ba as individualObscuredFields, af as getOwnEntityAssociations, bb as hasNomineesChanged, bc as attachNomineeToRole, aV as doArraysMatch, j as useQuery, w as skipToken, m as httpGet, u as useTranslation, a1 as useQueryClient, B as Button, L as Loader, bd as individualOnfidoApiKeyMapping, al as Scenarios, am as DecisionMakerTypes, be as individualOnfidoDocumentMapping, bf as individualOnfidoObscuredFields } from "./StoreProvider-jtUYKLRz.js";
14
- import { u as useCreateLegalEntity } from "./useCreateLegalEntity-BvvwB9r0.js";
15
- import { u as useUpdateLegalEntity } from "./useUpdateLegalEntity-Q3Icdeo6.js";
16
- import { h as useProviderStatus, l as addressValidators, n as addressFormatters, o as mapAddressLabels } from "./Address-e41CN3CB.js";
17
- import { c as contactDetailsValidationRules, u as useValidatePhoneNumberImperatively } from "./validate-H-iE__-w.js";
18
- import { F as FormContextProvider, a as FormFlow } from "./FormFlow-PppMJ6OA.js";
19
- import { a as useToastContext } from "./useToastContext-FI3dwzzs.js";
20
- import { g as getPropsFromConfigurations, c as composePerScenarioFormConfigurations } from "./process-field-configurations-N1jHgPa8.js";
21
- import { g as getRequiredForms, a as addValidityToForms, u as useFormComposer } from "./dropinUtils-BK1u6OTG.js";
22
- import { u as useMultiForm } from "./useMultiForm--sSlt50X.js";
23
- import { m as mapExistingFile, g as getPageName, a as getPage, u as useScenarioConfiguration } from "./mapExistingFile-CqrlnmFQ.js";
24
- import { w as getSSNType, x as defaultFieldMetadata, y as defaultFieldConfig, z as defaultFieldMetadata$1, A as fieldConfig, t as taxInformationDefaultFieldMetadata, f as taxInformationDefaultFieldConfig, B as isEmpty$1, D as getTrustedFields, E as getAsyncIdNumberValidationRule, F as getAsyncPhoneValidationRules, G as setHasMotionCaptureScenario, H as showIndividualMotionCapture, o as individualForms, I as Individual, J as individualDocumentForms, K as idVerificationProviderId, L as idNowModalChildEntityId, M as LandingLayout, q as showIdNowModal, N as check4DigitSsnFailed, O as individualOnfidoRules, n as individualOnfidoForms, P as isNextStepDisabled, Q as shouldShowIdNowModal, R as IndividualOnfido, U as isCompatibleJapanVersion, V as JP_ADDRESS_REQUIRED_FIELDS, W as GuidanceQuestionValues, X as DECISION_MAKER_TYPES_WITH_JOBTITLE$1 } from "./IndividualOnfido-CmmyKC7J.js";
25
- import { i as isValidationError, p as processValidationErrors, a as isMaintenanceModeError } from "./validationError-B5aoMbe_.js";
26
- import { g as getIdDocument, a as getDocument, c as createDocumentRequest, d as documentApiUtils, m as mergeAttachments, b as getFileExtention } from "./documentUtils-DIcRD9lR.js";
27
- import { a as datasetUtilities, C as Confirm } from "./useDataset-8WyOJBhU.js";
28
- import { g as getFieldsWithExistingData } from "./getFieldsWithExistingData-DxCFyXNd.js";
29
- import { l as localizeDateString } from "./localizeDateString-DgSdo3D5.js";
30
- import { o as omitObscuredFieldsIfUnchanged, I as IFrameWidget } from "./iframeWidget-Uz4rHS0r.js";
31
- import { r as resolveFieldMetadata, w as getLocalizedIdDocumentTypeOptions, I as Image } from "./Spacer-D4I0f08n.js";
32
- import { r as rules, D as DECISION_MAKER_TYPES_WITH_JOBTITLE } from "./rules-_v8BprU3.js";
33
- import { f as formatObject } from "./utils-DNSfZiio.js";
34
- import { m as mapSchemaFieldsToApiScriptLocalization, a as mapApiScriptLocalizationToSchemaFields } from "./mapAddressLocalizationToJpAddressSchema-vJWbpAyq.js";
35
- import { Show } from "@preact/signals/utils";
36
- import { m as mapJpAddressSchemaToAddressLocalizations, a as mapJpAddressSummary } from "./mapJpAddressSchemaToAddressLocalizations-D6HjhjJT.js";
37
- import { g as getOnfidoIdentityTypeToApiIdentityTypeMap, i as individualFormDefaultData, m as mapLegalEntityToIndividualOnfidoSchema } from "./mapLegalEntityToIndividualOnfidoSchema-COcit7Hx.js";
38
- import { lazy } from "preact/compat";
39
- import { M as Modal } from "./Modal-CJ_hgcGb.js";
40
- import { a as Alert } from "./Alert-Dk-oZlnx.js";
41
- import { a as getIndividualLegalEntityName } from "./getName-BS-pHwl0.js";
42
- const verifyIdNumber = async (legalEntityId, baseUrl, data) => {
43
- return await httpPost(
44
- {
45
- baseUrl,
46
- path: `legalEntities/${legalEntityId}/verifications/idNumber`,
47
- // Handler for unhappy flows, i.e. status != 200, in the idNumber verification process
48
- errorHandler: async (response) => {
49
- const responseData = await response;
50
- if (responseData.status === 422) {
51
- return { status: 422, message: responseData.detail, errorCode: responseData.errorCode };
52
- }
53
- if (responseData.status === 500) {
54
- return { status: 500, message: "Service did not respond, do not block verification" };
55
- }
56
- }
57
- },
58
- data
59
- );
60
- };
61
- const useVerifyIdNumber = (options) => {
62
- const { rootLegalEntityId, baseUrl } = useApiContext();
63
- return useMutation({
64
- mutationFn: (data) => verifyIdNumber(rootLegalEntityId.value, baseUrl.value, data),
65
- ...options
66
- });
67
- };
68
- const startVerificationCheck = async (rootLegalEntityId, baseUrl, data) => {
69
- return httpPost(
70
- {
71
- baseUrl,
72
- path: `legalEntities/${rootLegalEntityId}/providers/idVerification/process`
73
- },
74
- data
75
- );
76
- };
77
- const useIdVerificationStartCheck = (options) => {
78
- const { rootLegalEntityId, baseUrl } = useApiContext();
79
- return useMutation({
80
- mutationFn: (data) => startVerificationCheck(rootLegalEntityId.value, baseUrl.value, data),
81
- ...options
82
- });
83
- };
84
- const nameValidationRulesV4 = {
85
- firstName: [
86
- {
87
- modes: ["blur"],
88
- validate: (input) => !matchesRegex(NO_ALPHABET_REGEX, input),
89
- errorMessage: "nameMustContainLetters"
90
- },
91
- {
92
- modes: ["blur"],
93
- validate: (input) => !matchesRegex(EMOJI_REGEX, input) && !hasRepeatedCharacters(input) && !isInvalidName(input) && matchesRegex(INDIVIDUAL_VALID_CHAR_REGEX, input),
94
- errorMessage: "checkForTypos"
95
- }
96
- ],
97
- lastName: [
98
- {
99
- modes: ["blur"],
100
- validate: (input) => !matchesRegex(NO_ALPHABET_REGEX, input),
101
- errorMessage: "nameMustContainLetters"
102
- },
103
- {
104
- modes: ["blur"],
105
- validate: (input) => !matchesRegex(EMOJI_REGEX, input) && !hasRepeatedCharacters(input) && !isInvalidName(input) && matchesRegex(INDIVIDUAL_VALID_CHAR_REGEX, input),
106
- errorMessage: "checkForTypos"
107
- }
108
- ]
109
- };
110
- const specialCharsRegEx = getFormattingRegEx(SPECIAL_CHARS.replace("-", ""));
111
- const nameFormatters = {
112
- firstName: {
113
- // formatter: trimValWithOneSpace // just trim
114
- // Example - removing disallowed chars as they are input: then they don't end up in state
115
- formatter: (val) => val ? trimValWithOneSpace(val).replace(specialCharsRegEx, "") : void 0
116
- // trim & replace
117
- },
118
- lastName: {
119
- formatter: (val) => val ? trimValWithOneSpace(val).replace(specialCharsRegEx, "") : void 0
120
- }
121
- };
122
- const customerSupportPresubmitProcess = (legalEntityResponse, legalEntityToSubmit) => {
123
- if (legalEntityResponse.type === "individual") {
124
- return processCustomerSupportForIndividual(legalEntityResponse, legalEntityToSubmit);
125
- }
126
- if (legalEntityResponse.type === "organization") {
127
- return processCustomerSupportForOrganization(legalEntityResponse, legalEntityToSubmit);
128
- }
129
- };
130
- const processCustomerSupportForOrganization = (legalEntityResponse, legalEntityToSubmit) => {
131
- if (!legalEntityResponse.organization?.support) {
132
- return legalEntityToSubmit.organization?.support ?? void 0;
133
- }
134
- if (legalEntityResponse.organization?.countryOfGoverningLaw !== legalEntityToSubmit.organization?.countryOfGoverningLaw) {
135
- const customerSupport = legalEntityResponse.organization?.support;
136
- const country = legalEntityToSubmit.organization?.countryOfGoverningLaw;
137
- switch (country) {
138
- case CountryCodes.Japan:
139
- return unsetCustomerSupportNumber(customerSupport);
140
- default:
141
- return customerSupport;
142
- }
143
- }
144
- };
145
- const processCustomerSupportForIndividual = (legalEntityResponse, legalEntityToSubmit) => {
146
- if (!legalEntityResponse.individual?.support) {
147
- return legalEntityToSubmit.individual?.support ?? void 0;
148
- }
149
- if (legalEntityResponse.individual?.residentialAddress.country !== legalEntityToSubmit.individual?.residentialAddress.country) {
150
- const customerSupport = legalEntityResponse.individual?.support;
151
- const country = legalEntityToSubmit.individual?.residentialAddress.country;
152
- switch (country) {
153
- case CountryCodes.Japan:
154
- return unsetCustomerSupportNumber(customerSupport);
155
- default:
156
- return customerSupport;
157
- }
158
- }
159
- };
160
- const unsetCustomerSupportNumber = (customerSupport) => {
161
- return customerSupport ? {
162
- email: customerSupport.email,
163
- phone: { number: "", type: "mobile" }
164
- } : void 0;
165
- };
166
- const onfidoDocumentTypeMapping = [
167
- { id: "driversLicense", name: "driversLicense", hasBackPage: true },
168
- { id: "identityCard", name: "identityCard", hasBackPage: true },
169
- { id: "passport", name: "passport", hasBackPage: false }
170
- ];
171
- const jaHaniNameValidationRules = {
172
- jaHaniFirstName: [
173
- {
174
- modes: ["blur"],
175
- validate: (input) => standardKanjiValidator(input),
176
- errorMessage: "nameMustContainLetters"
177
- }
178
- ],
179
- jaHaniLastName: [
180
- {
181
- modes: ["blur"],
182
- validate: (input) => standardKanjiValidator(input),
183
- errorMessage: "nameMustContainLetters"
184
- }
185
- ]
186
- };
187
- const jaKanaNameValidationRules = {
188
- jaKanaFirstName: [
189
- {
190
- modes: ["blur"],
191
- validate: (input) => standardKatakanaValidator(input),
192
- errorMessage: "nameMustContainLetters"
193
- }
194
- ],
195
- jaKanaLastName: [
196
- {
197
- modes: ["blur"],
198
- validate: (input) => standardKatakanaValidator(input),
199
- errorMessage: "nameMustContainLetters"
200
- }
201
- ]
202
- };
203
- const isNotOutOfRangeBirthDateValidatorRule$1 = {
204
- modes: ["blur"],
205
- validate: (birthDate) => !isEmpty(birthDate) && new Date(birthDate) < /* @__PURE__ */ new Date(),
206
- errorMessage: "invalidDateOfBirth"
207
- };
208
- const buildMinimumAgeValidationRule$1 = (minimumAge) => ({
209
- modes: ["blur"],
210
- validate: (birthDate) => !!birthDate && getAgeToday(birthDate) >= minimumAge,
211
- errorMessage: {
212
- key: "youMustXYearsOldToContinue",
213
- values: { minimumAge: minimumAge.toString() }
214
- }
215
- });
216
- const getCountrySpecificMinimumAgeValidationRule$1 = (country) => {
217
- if (!country) {
218
- return buildMinimumAgeValidationRule$1(13);
219
- }
220
- if ([...euCountries, CountryCodes.UnitedKingdom, CountryCodes.Switzerland].some(
221
- (c) => c === country
222
- )) {
223
- return buildMinimumAgeValidationRule$1(16);
224
- }
225
- switch (country) {
226
- case CountryCodes.HongKong:
227
- case CountryCodes.Singapore:
228
- return buildMinimumAgeValidationRule$1(18);
229
- default:
230
- return buildMinimumAgeValidationRule$1(13);
231
- }
232
- };
233
- const personalDetailsValidators = ({
234
- country,
235
- isExperimentEnabled = () => false,
236
- isSettingEnabled = () => false,
237
- taskType,
238
- idNumberType,
239
- phonePrefix,
240
- idNumberExempt,
241
- idNumber,
242
- existingIdNumber,
243
- formVerificationErrors,
244
- taxIdNumberType
245
- }) => ({
246
- taxInformation: resolveFieldMetadata(
247
- taxInformationDefaultFieldConfig[country],
248
- {
249
- taxIdNumberType,
250
- companyType: LegalEntityTypes.INDIVIDUAL
251
- },
252
- taxInformationDefaultFieldMetadata
253
- )?.validators,
254
- birthDate: (() => {
255
- const baseValidators = [isNotOutOfRangeBirthDateValidatorRule$1];
256
- if (isSettingEnabled("enforceLegalAge")) {
257
- return [...baseValidators, buildMinimumAgeValidationRule$1(18)];
258
- }
259
- if (isExperimentEnabled("EnableAgeVerification")) {
260
- if (taskType === TaskTypes.LEGAL_REPRESENTATIVE_DETAILS) {
261
- return [...baseValidators, buildMinimumAgeValidationRule$1(18)];
262
- }
263
- return [...baseValidators, getCountrySpecificMinimumAgeValidationRule$1(country)];
264
- }
265
- return baseValidators;
266
- })(),
267
- ...isExperimentEnabled("StrictNameAndAddressValidationV4") ? nameValidationRulesV4 : void 0,
268
- ...contactDetailsValidationRules,
269
- phoneNumber: resolveFieldMetadata(
270
- fieldConfig[phonePrefix ?? country],
271
- {},
272
- defaultFieldMetadata$1
273
- )?.validators,
274
- idNumber: (() => {
275
- const derivedIdNumberType = country === CountryCodes.UnitedStates ? getSSNType(formVerificationErrors, existingIdNumber) : idNumberType;
276
- return idNumberExempt ? {
277
- validate: () => {
278
- return idNumberExempt || !isEmpty(idNumber);
279
- },
280
- modes: ["blur"]
281
- } : resolveFieldMetadata(
282
- defaultFieldConfig[country],
283
- { idNumberType: derivedIdNumberType },
284
- defaultFieldMetadata
285
- )?.validators;
286
- })(),
287
- ...jaHaniNameValidationRules,
288
- ...jaKanaNameValidationRules
289
- });
290
- const mandateIdVerificationForMotionCapture = (showMotionCapture, derivedProps) => {
291
- if (!derivedProps) {
292
- return void 0;
293
- }
294
- const copiedDerivedProps = { ...derivedProps };
295
- if (showMotionCapture) {
296
- const idVerificationFields = [
297
- ...derivedProps.requiredFields.idVerificationMethod ?? [],
298
- "idVerificationMethod"
299
- ];
300
- copiedDerivedProps.allFields.idVerificationMethod = idVerificationFields;
301
- copiedDerivedProps.requiredFields.idVerificationMethod = idVerificationFields;
302
- }
303
- return copiedDerivedProps;
304
- };
305
- const mapApiDocumentToIndividualDocuments = (entityId) => {
306
- const idDocument2 = getIdDocument(entityId);
307
- const proofOfResidency = getDocument(entityId, "proofOfResidency");
308
- const proofOfNationalId = getDocument(entityId, "proofOfNationalIdNumber");
309
- const proofOfRelationship = getDocument(entityId, "proofOfRelationship");
310
- return {
311
- idDocument: idDocument2 ? mapApiIdDocumentToSchema(idDocument2) : void 0,
312
- proofOfResidency: proofOfResidency ? { proofOfResidency: [mapExistingFile(getPageName(proofOfResidency))] } : void 0,
313
- proofOfNationalId: proofOfNationalId ? { proofOfNationalId: [mapExistingFile(getPageName(proofOfNationalId))] } : void 0,
314
- proofOfRelationship: proofOfRelationship ? { proofOfRelationship: [mapExistingFile(getPageName(proofOfRelationship))] } : void 0
315
- };
316
- };
317
- const mapApiIdDocumentToSchema = (idDocument2) => {
318
- const { type, attachments, modificationDate } = idDocument2;
319
- const { hasBackPage } = getLocalizedIdDocumentTypeOptions().find(({ id }) => id === type);
320
- let frontPage;
321
- let backPage;
322
- if (attachments?.length === 1) {
323
- frontPage = getPage(idDocument2);
324
- } else {
325
- frontPage = hasBackPage ? getPage(idDocument2, "front") : getPage(idDocument2);
326
- backPage = hasBackPage ? getPage(idDocument2, "back") : void 0;
327
- }
328
- return {
329
- ...frontPage ? { idFrontPage: [mapExistingFile(frontPage.pageName ?? "")] } : {},
330
- ...backPage ? { idBackPage: [mapExistingFile(backPage.pageName ?? "")] } : {},
331
- idDocumentType: type,
332
- modificationDate
333
- };
334
- };
335
- const mapIndividualDocumentToApiDocument = async (data, entityId) => {
336
- if (!data) return void 0;
337
- const { proofOfNationalId, proofOfResidency, proofOfRelationship } = data;
338
- const idDocument2 = "idDocument" in data ? data.idDocument : data.manualIdUpload;
339
- const entityType = "legalEntity";
340
- const documents = await Promise.all([
341
- idDocument2?.idFrontPage ? createDocumentRequest({
342
- entityId,
343
- entityType,
344
- documentType: idDocument2.idDocumentType,
345
- page1: idDocument2.idFrontPage?.[0],
346
- page2: idDocument2.idBackPage?.[0]
347
- }) : void 0,
348
- proofOfNationalId?.proofOfNationalId ? createDocumentRequest({
349
- entityId,
350
- entityType,
351
- documentType: "proofOfNationalIdNumber",
352
- page1: proofOfNationalId.proofOfNationalId[0]
353
- }) : void 0,
354
- proofOfResidency?.proofOfResidency ? createDocumentRequest({
355
- entityId,
356
- entityType,
357
- documentType: "proofOfResidency",
358
- page1: proofOfResidency.proofOfResidency[0]
359
- }) : void 0,
360
- proofOfRelationship?.proofOfRelationship ? createDocumentRequest({
361
- entityId,
362
- entityType,
363
- documentType: "proofOfRelationship",
364
- page1: proofOfRelationship.proofOfRelationship[0]
365
- }) : void 0
366
- ]);
367
- return documents.filter(Boolean);
368
- };
369
- const getIdentityTypeToApiIdentityTypeMap = (data) => {
370
- const { residencyCountry } = data;
371
- switch (residencyCountry) {
372
- case CountryCodes.HongKong:
373
- return {
374
- passport: "passport",
375
- driversLicense: "driversLicense",
376
- proofOfIdentityCard: "nationalIdNumber"
377
- };
378
- default:
379
- return {
380
- nationalIdNumber: "nationalIdNumber",
381
- passport: "passport",
382
- driversLicense: "driversLicense",
383
- proofOfIdentityCard: "identityCard"
384
- };
385
- }
386
- };
387
- const adjustIdentificationData = (data, apiData) => {
388
- const { typeOfIdentity, idNumber, idNumberExempt } = data;
389
- const identificationData = {
390
- ...apiData,
391
- number: idNumber,
392
- type: getIdentityTypeToApiIdentityTypeMap(data)[typeOfIdentity] ?? "nationalIdNumber"
393
- };
394
- switch (typeOfIdentity) {
395
- case "passport":
396
- return {
397
- ...identificationData,
398
- cardNumber: ""
399
- };
400
- case "driversLicense":
401
- return {
402
- ...identificationData,
403
- expiryDate: ""
404
- };
405
- default:
406
- return idNumber === void 0 && idNumberExempt === void 0 ? void 0 : {
407
- ...identificationData,
408
- expiryDate: "",
409
- cardNumber: "",
410
- nationalIdExempt: apiData?.nationalIdExempt ?? !idNumber
411
- };
412
- }
413
- };
414
- const mapIndividualToLegalEntity = (data) => {
415
- const requestObj = {
416
- ...formatObject(data, individualApiKeyMapping)
417
- };
418
- requestObj.type = LegalEntityTypes.INDIVIDUAL;
419
- const { personalDetails } = data;
420
- if (!personalDetails) return requestObj;
421
- requestObj.individual.identificationData = adjustIdentificationData(
422
- personalDetails,
423
- requestObj.individual.identificationData
424
- );
425
- const localization = [
426
- mapSchemaFieldsToApiScriptLocalization(personalDetails, "jaHani"),
427
- mapSchemaFieldsToApiScriptLocalization(personalDetails, "jaKana")
428
- ].filter(({ fields }) => !isEmpty$1(fields));
429
- if (localization.length) {
430
- requestObj.individual.name.localization = localization;
431
- }
432
- if (personalDetails.phoneNumber?.number) {
433
- requestObj.individual.phone = {
434
- number: personalDetails.phoneNumber.number,
435
- type: "mobile"
436
- };
437
- } else {
438
- delete requestObj.individual.phone;
439
- }
440
- return requestObj;
441
- };
442
- const mapLegalEntityToIndividual = (legalEntity, isChangingType, isRoleFieldNeeded, parentLegalEntity, isLegalRepresentative) => {
443
- let individualData = formatObject(
444
- legalEntity,
445
- individualComponentsKeyMapping
446
- );
447
- individualData = {
448
- ...individualData,
449
- personalDetails: {
450
- ...individualData?.personalDetails,
451
- ...isChangingType && {
452
- firstName: "",
453
- lastName: ""
454
- }
455
- }
456
- };
457
- if (!individualData.personalDetails?.idNumberExempt) {
458
- individualData.personalDetails.idNumberExempt = false;
459
- }
460
- const apiIdentityTypeToIdentityTypeMap = reverseMapping(
461
- getIdentityTypeToApiIdentityTypeMap(individualData.personalDetails)
462
- );
463
- if (legalEntity?.individual?.identificationData?.type) {
464
- individualData.personalDetails.typeOfIdentity = apiIdentityTypeToIdentityTypeMap[legalEntity.individual.identificationData.type];
465
- }
466
- if (legalEntity?.documentDetails?.length) {
467
- individualData = {
468
- ...individualData,
469
- ...mapApiDocumentToIndividualDocuments(legalEntity?.id)
470
- };
471
- }
472
- if (legalEntity?.individual?.residentialAddress.country === "JP" && legalEntity.individual?.name?.localization) {
473
- for (const scriptLoc of legalEntity.individual.name.localization) {
474
- individualData.personalDetails = {
475
- ...individualData.personalDetails,
476
- ...mapApiScriptLocalizationToSchemaFields(scriptLoc)
477
- };
478
- }
479
- }
480
- if (!parentLegalEntity?.entityAssociations) {
481
- return individualData;
482
- }
483
- const associations = parentLegalEntity?.entityAssociations?.filter((ea) => ea.legalEntityId === legalEntity?.id) ?? [];
484
- if (isRoleFieldNeeded) {
485
- individualData.personalDetails.role = associations.map((ea) => ea.type);
486
- individualData.personalDetails.jobTitle = associations.find(
487
- ({ jobTitle }) => Boolean(jobTitle)
488
- )?.jobTitle;
489
- }
490
- individualData.personalDetails = getNomineeFromAssociation(
491
- associations,
492
- individualData.personalDetails
493
- );
494
- if (isLegalRepresentative) {
495
- individualData.personalDetails.relationship = associations.find(
496
- ({ relationship }) => Boolean(relationship)
497
- )?.relationship;
498
- }
499
- return individualData;
500
- };
501
- const identityBase = {
502
- role: {
503
- rule: "requiredIfDecisionMakerTask"
504
- },
505
- firstName: {
506
- rule: "REQUIRED"
507
- },
508
- lastName: {
509
- rule: "REQUIRED"
510
- },
511
- birthDate: {
512
- rule: "REQUIRED"
513
- },
514
- phoneNumber: {
515
- rules: ["requiredIfPhoneScenarioDisabled", "contactsIfRequiredForRole"]
516
- },
517
- email: {
518
- rule: "contactsIfRequiredForRole"
519
- },
520
- jobTitle: {
521
- rule: "jobTitleIfRequiredForRole"
522
- },
523
- nationality: {
524
- rule: "nationalityIfRequiredForRole"
525
- },
526
- address: {
527
- rule: "addressIfRequiredForCountry"
528
- },
529
- otherAddressInformation: {
530
- rule: "otherAddressInfoIfRequiredForCountry"
531
- },
532
- country: {
533
- rule: "REQUIRED"
534
- },
535
- postalCode: {
536
- rule: "postalCodeIfRequiredForCountry"
537
- },
538
- city: {
539
- rule: "cityIfRequiredForCountry"
540
- },
541
- stateOrProvince: {
542
- rule: "stateOrProvinceIfRequiredForCountry"
543
- },
544
- residencyCountry: {
545
- rule: "REQUIRED"
546
- },
547
- proofOfResidency: {
548
- rule: "isProofOfResidencyRequired"
549
- },
550
- proofOfNationalId: {
551
- rule: "isProofOfNationalIdRequired"
552
- },
553
- relationship: {
554
- rule: "legalRepresentativeRelationshipRequired"
555
- },
556
- proofOfRelationship: {
557
- rule: "isProofOfRelationshipRequired"
558
- },
559
- nomineeDirector: {
560
- rule: "nomineeDirectorRequiredForCountry"
561
- },
562
- nomineeShareholder: {
563
- rule: "nomineeShareHolderRequiredForCountry"
564
- },
565
- jaHaniFirstName: {
566
- rule: "japaneseFirstAndLastNames"
567
- },
568
- jaHaniLastName: {
569
- rule: "japaneseFirstAndLastNames"
570
- },
571
- jaKanaFirstName: {
572
- rule: "japaneseFirstAndLastNames"
573
- },
574
- jaKanaLastName: {
575
- rule: "japaneseFirstAndLastNames"
576
- },
577
- idDocumentType: {
578
- // If the user has a missing ID error and chooses manual flow
579
- rule: "isManualIdFlowAndHasMissingData"
580
- }
581
- };
582
- const identityNumber$1 = {
583
- idNumber: {
584
- rule: "idNumberRules",
585
- obscured: true
586
- },
587
- idNumberExempt: {
588
- rules: ["idNumberExemptIfApplicableCountry", "isDirectorIdNumberRequiredForCountry"]
589
- },
590
- idDocumentType: {
591
- rule: "manualIdDocumentRequired"
592
- },
593
- idFrontPage: {
594
- rule: "idFrontPageIfManualUpload"
595
- },
596
- idBackPage: {
597
- rule: "backPageIfRequiredForDocumentType"
598
- },
599
- idVerificationMethod: {
600
- rule: "idVerificationRequired"
601
- },
602
- instantIdVerificationData: {
603
- rule: "instantVerificationDataRule"
604
- }
605
- };
606
- const additionalIdentityInfo$1 = {
607
- typeOfIdentity: {
608
- rules: ["requiredIfCountryUsesMultipleTypesOfIdentity", "isDirectorIdNumberRequiredForCountry"]
609
- },
610
- issuerState: {
611
- rule: "issuerStateRequired"
612
- },
613
- licenseCardNumber: {
614
- rule: "licenseCardNumberRules"
615
- },
616
- expiryDate: {
617
- rule: "expiryDateRequired"
618
- }
619
- };
620
- const idDocument = {
621
- idVerificationMethod: {
622
- rule: "REQUIRED"
623
- },
624
- idDocumentType: {
625
- rule: "REQUIRED"
626
- },
627
- idFrontPage: {
628
- rule: "idFrontPageIfManualUpload"
629
- },
630
- idBackPage: {
631
- rule: "backPageIfRequiredForDocumentType"
632
- }
633
- };
634
- const nationality$1 = {
635
- nationality: {
636
- rule: "REQUIRED"
637
- }
638
- };
639
- const phoneNumberBase$1 = {
640
- phoneNumber: {
641
- rule: "contactsIfRequiredForRole"
642
- }
643
- };
644
- const taxInformationBase$1 = {
645
- taxInformation: { rule: "countryUsesTaxId" }
646
- };
647
- const fieldsPerScenario = {
648
- L0: drop("address", "birthDate").from(identityBase),
649
- L1: identityBase,
650
- L_TAXINFO: { ...identityBase, ...taxInformationBase$1 },
651
- L1_ID: {
652
- ...identityBase,
653
- ...identityNumber$1,
654
- ...additionalIdentityInfo$1
655
- },
656
- L1_IDO: {
657
- // TODO: change idNumber rule to optional once optional fields are implemented
658
- ...identityBase,
659
- ...identityNumber$1,
660
- ...additionalIdentityInfo$1
661
- },
662
- L1_NAT: {
663
- ...identityBase,
664
- ...identityNumber$1,
665
- ...additionalIdentityInfo$1,
666
- ...nationality$1
667
- },
668
- L1_IDDOC: idDocument,
669
- L_PH: phoneNumberBase$1
670
- };
671
- const parseIndividualScenarios = (scenarios) => composePerScenarioFormConfigurations(scenarios, fieldsPerScenario);
672
- const parseConfiguration$1 = ({ scenarios }) => parseIndividualScenarios(scenarios);
673
- const logger$1 = createLogger();
674
- function IndividualDropin({
675
- taskType = TaskTypes.INDIVIDUAL,
676
- parentLegalEntity,
677
- legalEntityResponse,
678
- handleHomeClick,
679
- isTargetLegalEntityType,
680
- country: parentCountry,
681
- problems: propProblems,
682
- trustMember,
683
- onSubmit: externalOnSubmit,
684
- asModal = false,
685
- handleBackClick: externalBackClick,
686
- trustedFields,
687
- trustedFieldsProvider,
688
- trustedRoles
689
- }) {
690
- const { baseUrl, rootLegalEntityId } = useApiContext();
691
- const { accountHolder, setAccountHolder } = useAccountHolder();
692
- const { i18n } = useI18nContext();
693
- const userEvents = useAnalyticsContext();
694
- const { showToast, clearToasts } = useToastContext();
695
- const { isExperimentEnabled } = useExperimentsContext();
696
- const { data: versionData } = useVersionConfiguration();
697
- const { isSettingEnabled } = useSettingsContext();
698
- const isRoleFieldNeeded = taskType === TaskTypes.DECISION_MAKER || taskType === TaskTypes.TRUST_MEMBER_COMPANY_OWNER || taskType === TaskTypes.UNINCORPORATED_PARTNERSHIP_MEMBER_COMPANY_OWNER;
699
- const isLegalRepresentative = taskType === TaskTypes.LEGAL_REPRESENTATIVE_DETAILS;
700
- const dataFromResponse = useMemo(() => {
701
- if (legalEntityResponse) {
702
- return mapLegalEntityToIndividual(
703
- legalEntityResponse,
704
- isTargetLegalEntityType,
705
- isRoleFieldNeeded,
706
- parentLegalEntity,
707
- isLegalRepresentative
708
- );
709
- }
710
- return {
711
- personalDetails: {
712
- residencyCountry: parentCountry
713
- },
714
- address: {
715
- country: parentCountry
716
- }
717
- };
718
- }, [
719
- legalEntityResponse,
720
- parentCountry,
721
- isTargetLegalEntityType,
722
- parentLegalEntity,
723
- isRoleFieldNeeded,
724
- isLegalRepresentative
725
- ]);
726
- const documentUtils = documentApiUtils({
727
- baseUrl: baseUrl.value,
728
- rootLegalEntityId: rootLegalEntityId.value
729
- });
730
- let roleTypes = [];
731
- const [matchingScenario, setMatchingScenario] = useState();
732
- const [validationErrors, setValidationErrors] = useState();
733
- const [loadingStatus, setLoadingStatus] = useState("success");
734
- const [documents, setDocuments] = useState();
735
- const [existingAttachments, setExistingAttachments] = useState();
736
- const [country, setCountry] = useState(
737
- dataFromResponse?.personalDetails?.residencyCountry ?? parentCountry
738
- );
739
- const [hideFooter, setHideFooter] = useState(false);
740
- const [derivedProps, setDerivedProps] = useState();
741
- const associatedLegalEntityTrustedFields = useMemo(
742
- () => legalEntityResponse ? getTrustedFields(legalEntityResponse, individualComponentsKeyMapping) : {},
743
- [legalEntityResponse]
744
- );
745
- const { data: providerStatus } = useProviderStatus({
746
- providers: ["address", "idDocument"],
747
- country: legalEntityResponse ? getLegalEntityCountry(legalEntityResponse) : country
748
- });
749
- const problems = useMemo(
750
- () => ({
751
- ...propProblems,
752
- validationErrors
753
- }),
754
- [propProblems, validationErrors]
755
- );
756
- useEffect(() => {
757
- userEvents.updateBaseTrackingPayload({ task: taskType });
758
- userEvents.addTaskEvent("Landed on page", {
759
- actionType: "start"
760
- });
761
- }, []);
762
- const individualFieldValidations = useCallback(
763
- (data2) => ({
764
- personalDetails: personalDetailsValidators({
765
- country: data2?.personalDetails?.residencyCountry ?? country,
766
- isExperimentEnabled,
767
- isSettingEnabled,
768
- taskType,
769
- idNumberType: data2?.personalDetails?.typeOfIdentity,
770
- phonePrefix: data2?.personalDetails?.phoneNumber?.phoneCountryCode,
771
- idNumberExempt: data2?.personalDetails?.idNumberExempt,
772
- idNumber: data2?.personalDetails?.idNumber,
773
- existingIdNumber: dataFromResponse.personalDetails?.idNumber,
774
- formVerificationErrors: propProblems?.verificationErrors?.personalDetails,
775
- taxIdNumberType: data2?.personalDetails?.taxInformation?.length ? data2?.personalDetails?.taxInformation[0]?.type : void 0
776
- }),
777
- address: addressValidators({
778
- isExperimentEnabled,
779
- country: data2?.personalDetails?.residencyCountry ?? country,
780
- i18n
781
- })
782
- }),
783
- [isExperimentEnabled, isSettingEnabled, taskType]
784
- );
785
- const validatePhoneNumber = useValidatePhoneNumberImperatively();
786
- const { mutateAsync: verifyIdNumber2 } = useVerifyIdNumber();
787
- const individualFieldAsyncValidations = useCallback(
788
- (data2) => ({
789
- personalDetails: {
790
- phoneNumber: getAsyncPhoneValidationRules(validatePhoneNumber).phoneNumber,
791
- idNumber: getAsyncIdNumberValidationRule(verifyIdNumber2, data2?.personalDetails).idNumber
792
- }
793
- }),
794
- [getAsyncPhoneValidationRules, getAsyncIdNumberValidationRule]
795
- );
796
- const defaultData = useMemo(
797
- () => ({
798
- ...dataFromResponse,
799
- ...documents,
800
- idVerificationMethod: {
801
- idVerificationMethod: "instantVerification"
802
- }
803
- }),
804
- [legalEntityResponse, documents, isTargetLegalEntityType, dataFromResponse]
805
- );
806
- const formatters = useMemo(
807
- () => ({
808
- personalDetails: {
809
- ...nameFormatters
810
- },
811
- address: addressFormatters
812
- }),
813
- []
814
- );
815
- const form = useMultiForm({
816
- requiredFields: derivedProps?.requiredFields,
817
- defaultData,
818
- rules: individualFieldValidations,
819
- asyncRules: individualFieldAsyncValidations,
820
- optionalFields: derivedProps?.optionalFields,
821
- formatters,
822
- obscuredFields: {
823
- personalDetails: ["idNumber"]
824
- }
825
- });
826
- const { data = dataFromResponse } = form;
827
- useEffect(() => {
828
- setCountry(data?.personalDetails?.residencyCountry ?? parentCountry);
829
- }, [data?.personalDetails?.residencyCountry, parentCountry]);
830
- const { data: scenarios } = useScenarios(country, LegalEntityTypes.INDIVIDUAL);
831
- useEffect(() => {
832
- if (!scenarios) return;
833
- setHasMotionCaptureScenario(scenarios);
834
- setMatchingScenario(scenarios);
835
- }, [scenarios]);
836
- const { fieldConfigurations } = useScenarioConfiguration({
837
- parseConfiguration: parseConfiguration$1,
838
- legalEntityType: LegalEntityTypes.INDIVIDUAL,
839
- setLoadingStatus,
840
- country
841
- });
842
- const fieldsFromCustomRules = useMemo(
843
- () => rules({
844
- matchingScenario,
845
- data,
846
- country: data?.personalDetails?.residencyCountry ?? country,
847
- taskType,
848
- isExperimentEnabled,
849
- rootLegalEntity: parentLegalEntity,
850
- problems,
851
- version: versionData?.version
852
- }),
853
- [country, matchingScenario, data, taskType, problems]
854
- );
855
- useEffect(() => {
856
- const derivedProps2 = getPropsFromConfigurations({
857
- scenarioConfiguration: fieldConfigurations,
858
- forms: individualForms,
859
- remediationActions: problems?.remediationActions ? Object.values(problems?.remediationActions) : [],
860
- dataMissingErrors: problems?.missingData ?? [],
861
- fieldsWithExistingData: legalEntityResponse ? getFieldsWithExistingData(
862
- legalEntityResponse,
863
- individualApiKeyMapping,
864
- individualDocumentMapping,
865
- // We ignore these fields for the purposes of this rule because we know them to be problematic
866
- [
867
- "personalDetails.typeOfIdentity",
868
- "personalDetails.idNumber",
869
- "address.stateOrProvince",
870
- "personalDetails.issuerState"
871
- ]
872
- ) : [],
873
- customRules: fieldsFromCustomRules,
874
- legalEntityType: legalEntityResponse?.type,
875
- legalEntityTrustedFields: [],
876
- remediationFieldAsOptional: true
877
- });
878
- const updatedDerivedProps = mandateIdVerificationForMotionCapture(
879
- showIndividualMotionCapture?.value,
880
- derivedProps2
881
- );
882
- setDerivedProps(updatedDerivedProps);
883
- }, [
884
- fieldConfigurations,
885
- legalEntityResponse,
886
- fieldsFromCustomRules,
887
- problems?.remediationActions,
888
- problems?.missingData
889
- ]);
890
- const forms = useMemo(() => {
891
- const formsWithUpdatedName = {
892
- ...individualForms,
893
- idDocument: {
894
- ...individualForms.idDocument,
895
- formName: data.idVerificationMethod?.idVerificationMethod === "instantVerification" ? "instantVerification" : "idDocument"
896
- }
897
- };
898
- const requiredForms = getRequiredForms(
899
- formsWithUpdatedName,
900
- derivedProps?.requiredFields,
901
- derivedProps?.optionalFields
902
- ).filter(
903
- // Prevent showing the ID verification method step when onfido is not enabled
904
- (form2) => form2.formId !== "idVerificationMethod" || providerStatus?.statuses?.idDocument?.enabled
905
- );
906
- return addValidityToForms(requiredForms, form.isValid, problems);
907
- }, [
908
- derivedProps,
909
- form.isValid,
910
- problems,
911
- providerStatus?.statuses?.idDocument?.enabled,
912
- data.idVerificationMethod?.idVerificationMethod
913
- ]);
914
- if (isRoleFieldNeeded && parentLegalEntity) {
915
- roleTypes = getAllowedDecisionMakerRoles(parentLegalEntity, taskType);
916
- }
917
- useEffect(() => {
918
- if (!legalEntityResponse?.documentDetails?.length) return;
919
- documentUtils.fetchDocuments(legalEntityResponse.documentDetails, legalEntityResponse?.id).then((res) => {
920
- setExistingAttachments(res[0].attachments);
921
- setDocuments(mapApiDocumentToIndividualDocuments(legalEntityResponse?.id));
922
- }).catch(() => {
923
- showToast({ label: i18n.get("failedToFetchRelevantDocuments"), variant: "error" });
924
- });
925
- }, [legalEntityResponse]);
926
- const { mutateAsync: createLegalEntity } = useCreateLegalEntity();
927
- const { mutateAsync: updateLegalEntity } = useUpdateLegalEntity();
928
- const idDocumentTypeOptions = getLocalizedIdDocumentTypeOptions(country);
929
- const submitLegalEntity = async ({
930
- dataSubmitted,
931
- legalEntity,
932
- idDocumentType
933
- }) => {
934
- let updatedLegalEntity;
935
- const existingLeId = legalEntityResponse?.id;
936
- if (legalEntity.individual && legalEntityResponse?.individual?.support) {
937
- legalEntity.individual.support = customerSupportPresubmitProcess(
938
- legalEntityResponse,
939
- legalEntity
940
- );
941
- }
942
- if (!existingLeId) {
943
- updatedLegalEntity = await createLegalEntity(legalEntity);
944
- userEvents.addTaskEvent("Success", {
945
- actionType: "submit",
946
- countryOfRegistration: dataSubmitted.personalDetails?.residencyCountry,
947
- roles: dataSubmitted.personalDetails?.role
948
- });
949
- } else {
950
- const patchLegalEntity = { ...drop("type").from(legalEntity), id: existingLeId };
951
- updatedLegalEntity = await updateLegalEntity(patchLegalEntity);
952
- userEvents.addTaskEvent("Success", {
953
- actionType: "submit",
954
- countryOfRegistration: dataSubmitted.personalDetails?.residencyCountry,
955
- documentType: idDocumentType
956
- });
957
- }
958
- return updatedLegalEntity;
959
- };
960
- const { mutateAsync: getIdVerificationStartCheck } = useIdVerificationStartCheck();
961
- const handleInstantIdVerificationStartCheck = async (onfidoResponse, legalEntityId) => {
962
- const providerId = idVerificationProviderId.value;
963
- if (!providerId) throw Error("idVerificationProviderId not yet set");
964
- const data2 = {
965
- providerId,
966
- legalEntityId,
967
- captureMetadata: onfidoResponse
968
- };
969
- await getIdVerificationStartCheck(data2);
970
- };
971
- const submitDocuments = async ({
972
- forms: forms2,
973
- legalEntity,
974
- dataSubmitted
975
- }) => {
976
- if (!isDocumentsRequired(forms2)) return;
977
- if (dataSubmitted.idDocument?.instantIdVerificationData) {
978
- if (providerStatus?.statuses?.idDocument?.enabled === false) {
979
- throw new Error("Provider unexpectedly disabled instant verification flow");
980
- }
981
- await handleInstantIdVerificationStartCheck(
982
- dataSubmitted.idDocument.instantIdVerificationData,
983
- legalEntity.id
984
- );
985
- } else {
986
- const formattedDocuments = await mapIndividualDocumentToApiDocument(
987
- dataSubmitted,
988
- legalEntity.id
989
- );
990
- if (!formattedDocuments || formattedDocuments.length === 0) {
991
- if (existingAttachments?.length)
992
- logger$1.log(
993
- "User has already uploaded documents and is not changing them, nothing needs to be done"
994
- );
995
- else
996
- logger$1.error(
997
- `formattedDocuments is empty, but there are no existing documents. Something has gone wrong`
998
- );
999
- return;
1000
- }
1001
- formattedDocuments[0].attachments = mergeAttachments(
1002
- existingAttachments ?? [],
1003
- formattedDocuments[0]?.attachments ?? []
1004
- ).filter((attachment) => attachment.content);
1005
- const uploadedDocuments = await documentUtils.uploadDocuments(
1006
- formattedDocuments,
1007
- legalEntity.id
1008
- );
1009
- uploadedDocuments?.forEach((doc) => {
1010
- userEvents.addTaskEvent("Success", {
1011
- actionType: "upload",
1012
- documentType: doc.type,
1013
- fileExtention: doc?.attachments?.map((item) => getFileExtention(item.pageName ?? "")).filter((item) => item !== void 0) ?? void 0
1014
- });
1015
- });
1016
- }
1017
- };
1018
- const hasRolesChanged = (legalEntity, existingEntityAssociations, newRoles) => {
1019
- const existingRoles = existingEntityAssociations?.filter((ea) => ea.legalEntityId === legalEntity.id)?.map(({ type }) => type);
1020
- return !doArraysMatch(existingRoles, newRoles);
1021
- };
1022
- const attachAssociationToParentLegalEntity = async ({
1023
- legalEntity,
1024
- parentLE,
1025
- dataSubmitted
1026
- }) => {
1027
- const newRoles = taskType === TaskTypes.DECISION_MAKER || taskType === TaskTypes.TRUST_MEMBER_COMPANY_OWNER || taskType === TaskTypes.UNINCORPORATED_PARTNERSHIP_MEMBER_COMPANY_OWNER ? dataSubmitted?.personalDetails?.role : taskType === TaskTypes.TRUST_MEMBER_INDIVIDUAL || taskType === TaskTypes.UNINCORPORATED_PARTNERSHIP_MEMBER_INDIVIDUAL ? trustMember?.roles : null;
1028
- const existingEntityAssociations = getOwnEntityAssociations(parentLE);
1029
- if (newRoles && (hasRolesChanged(legalEntity, existingEntityAssociations, newRoles) || dataFromResponse.personalDetails?.jobTitle !== dataSubmitted?.personalDetails?.jobTitle || hasNomineesChanged(dataFromResponse.personalDetails, dataSubmitted.personalDetails))) {
1030
- const updatedParentLegalEntity = {
1031
- entityAssociations: [
1032
- ...newRoles.map((role) => ({
1033
- type: role,
1034
- legalEntityId: legalEntity.id,
1035
- ...DECISION_MAKER_TYPES_WITH_JOBTITLE.some((type) => type === role) && {
1036
- jobTitle: dataSubmitted?.personalDetails?.jobTitle
1037
- }
1038
- })) || [],
1039
- ...existingEntityAssociations.filter((ea) => ea.legalEntityId !== legalEntity.id) || []
1040
- ]
1041
- };
1042
- if (updatedParentLegalEntity.entityAssociations) {
1043
- updatedParentLegalEntity.entityAssociations = updatedParentLegalEntity.entityAssociations.map(
1044
- (ea) => attachNomineeToRole(ea, country, dataSubmitted.personalDetails)
1045
- );
1046
- }
1047
- await updateLegalEntity({ ...updatedParentLegalEntity, id: parentLE.id });
1048
- }
1049
- if (taskType === TaskTypes.LEGAL_REPRESENTATIVE_DETAILS && (existingEntityAssociations.every((ea) => ea.legalEntityId !== legalEntity.id) || dataFromResponse?.personalDetails?.relationship !== dataSubmitted?.personalDetails?.relationship)) {
1050
- const newEntityAssociation = {
1051
- type: "legalRepresentative",
1052
- legalEntityId: legalEntity.id,
1053
- relationship: dataSubmitted?.personalDetails?.relationship
1054
- };
1055
- const updatedParentLegalEntity = {
1056
- entityAssociations: [newEntityAssociation, ...existingEntityAssociations]
1057
- };
1058
- await updateLegalEntity({ ...updatedParentLegalEntity, id: parentLE.id });
1059
- }
1060
- };
1061
- const onSubmit = async () => {
1062
- setLoadingStatus("loading");
1063
- const dataSubmitted = omitObscuredFieldsIfUnchanged(
1064
- individualObscuredFields,
1065
- data,
1066
- dataFromResponse
1067
- );
1068
- if (!dataSubmitted) {
1069
- return;
1070
- }
1071
- try {
1072
- const legalEntity = mapIndividualToLegalEntity(dataSubmitted);
1073
- const idDocumentType = idDocumentTypeOptions.find(
1074
- ({ id }) => dataSubmitted?.idDocument?.idDocumentType === id
1075
- )?.id;
1076
- legalEntity.entityAssociations = filterOutUnwantedAssociationsIfRootLE(
1077
- taskType,
1078
- legalEntityResponse,
1079
- accountHolder || void 0
1080
- );
1081
- const createdLegalEntity = await submitLegalEntity({
1082
- dataSubmitted,
1083
- legalEntity,
1084
- idDocumentType
1085
- });
1086
- setAccountHolder(accountHolder);
1087
- await submitDocuments({ forms, legalEntity: createdLegalEntity, dataSubmitted });
1088
- if (parentLegalEntity) {
1089
- await attachAssociationToParentLegalEntity({
1090
- legalEntity: createdLegalEntity,
1091
- parentLE: parentLegalEntity,
1092
- dataSubmitted
1093
- });
1094
- }
1095
- setLoadingStatus("success");
1096
- clearToasts();
1097
- externalOnSubmit?.(dataSubmitted);
1098
- } catch (e) {
1099
- logger$1.error("Failed to update individual", e);
1100
- if (isValidationError(e)) {
1101
- setValidationErrors(processValidationErrors(e, TaskTypes.INDIVIDUAL));
1102
- } else if (isMaintenanceModeError(e)) {
1103
- showToast({
1104
- label: i18n.get("maintenanceModeMessage"),
1105
- variant: "error",
1106
- duration: "indefinite"
1107
- });
1108
- } else {
1109
- showToast({ label: i18n.get("failedToUpdateDetails"), variant: "error" });
1110
- }
1111
- setLoadingStatus("success");
1112
- userEvents.addTaskEvent("Encountered error", {
1113
- actionType: "submit",
1114
- returnType: e.errorCode,
1115
- returnValue: e.title
1116
- });
1117
- }
1118
- };
1119
- const isDocumentsRequired = (forms2) => forms2.some((form2) => individualDocumentForms.includes(form2.formId));
1120
- const datasetUtils = datasetUtilities(i18n.locale);
1121
- const formatIdDocument = (idDocument2) => {
1122
- if (!idDocument2) return void 0;
1123
- const documentType = idDocument2?.instantIdVerificationData ? onfidoDocumentTypeMapping.find(
1124
- (document2) => idDocument2.instantIdVerificationData?.document_front.type === document2.id
1125
- ) : idDocumentTypeOptions.find(({ id }) => idDocument2.idDocumentType === id);
1126
- if (!documentType) return void 0;
1127
- const frontPage = idDocument2.idFrontPage?.[0];
1128
- const backPage = idDocument2.idBackPage?.[0];
1129
- if (!frontPage) return void 0;
1130
- return {
1131
- documentType: i18n.get(documentType.name),
1132
- ...backPage && documentType.hasBackPage ? {
1133
- frontPage: frontPage.name,
1134
- backPage: backPage.name
1135
- } : {
1136
- fileName: frontPage.name
1137
- }
1138
- };
1139
- };
1140
- const formatFileSummaryData = ({
1141
- idDocument: idDocument2,
1142
- proofOfNationalId,
1143
- proofOfResidency,
1144
- proofOfRelationship
1145
- }) => {
1146
- const proofOfNationalIdFile = proofOfNationalId?.proofOfNationalId?.[0];
1147
- const proofOfResidencyFile = proofOfResidency?.proofOfResidency?.[0];
1148
- const proofOfRelationshipFile = proofOfRelationship?.proofOfRelationship?.[0];
1149
- return {
1150
- ...(idDocument2?.idDocumentType || idDocument2?.instantIdVerificationData) && {
1151
- idDocument: formatIdDocument(idDocument2)
1152
- },
1153
- ...proofOfNationalIdFile && {
1154
- proofOfNationalId: {
1155
- fileName: proofOfNationalIdFile.name
1156
- }
1157
- },
1158
- ...proofOfResidencyFile && {
1159
- proofOfResidency: {
1160
- fileName: proofOfResidencyFile.name
1161
- }
1162
- },
1163
- ...proofOfRelationshipFile && {
1164
- proofOfRelationship: {
1165
- fileName: proofOfRelationshipFile.name
1166
- }
1167
- }
1168
- };
1169
- };
1170
- const formatDataForSummary = () => {
1171
- let summaryData = cloneObject(data);
1172
- if (summaryData.personalDetails?.residencyCountry) {
1173
- summaryData.personalDetails.residencyCountry = datasetUtils.getCountryName(
1174
- summaryData.personalDetails.residencyCountry
1175
- );
1176
- }
1177
- if (summaryData.personalDetails?.nationality) {
1178
- summaryData.personalDetails.nationality = datasetUtils.getCountryName(
1179
- summaryData.personalDetails.nationality
1180
- );
1181
- }
1182
- if (summaryData.address) {
1183
- summaryData.address = mapAddressLabels(summaryData.address, datasetUtils);
1184
- }
1185
- if (isDocumentsRequired(forms)) {
1186
- individualDocumentForms.forEach((formId) => delete summaryData[formId]);
1187
- summaryData = { ...summaryData, ...formatFileSummaryData(data) };
1188
- }
1189
- if (summaryData.personalDetails?.accountHolder) {
1190
- summaryData.personalDetails.accountHolder = i18n.get(
1191
- summaryData.personalDetails.accountHolder
1192
- );
1193
- }
1194
- if (summaryData.personalDetails?.birthDate) {
1195
- summaryData.personalDetails.birthDate = localizeDateString(
1196
- summaryData.personalDetails.birthDate,
1197
- i18n.locale
1198
- );
1199
- }
1200
- if (summaryData.personalDetails?.phoneNumber) {
1201
- delete summaryData.personalDetails.phoneNumber;
1202
- summaryData.personalDetails.phoneNumber = data.personalDetails?.phoneNumber?.number;
1203
- }
1204
- if (summaryData.personalDetails?.taxInformation) {
1205
- const taxInformation = summaryData.personalDetails.taxInformation.find(
1206
- (taxId) => taxId.country === data.personalDetails?.nationality
1207
- );
1208
- if (taxInformation) {
1209
- delete summaryData.personalDetails.taxInformation;
1210
- summaryData.personalDetails[taxInformation.type] = taxInformation.number;
1211
- }
1212
- }
1213
- return summaryData;
1214
- };
1215
- const summaryOmittedKeys = [
1216
- ...taskType === TaskTypes.DECISION_MAKER ? ["role"] : [],
1217
- ...data?.personalDetails?.idNumberExempt ? ["idNumber"] : []
1218
- ];
1219
- const {
1220
- handleNextClick,
1221
- handleBackClick,
1222
- activeForm,
1223
- shouldValidate,
1224
- gotoFormByFormIndex,
1225
- steps
1226
- } = useFormComposer({
1227
- problems,
1228
- externalBackClick,
1229
- forms,
1230
- onSubmit,
1231
- triggerValidation: form.triggerValidation
1232
- // TODO: figure out type of nested keys
1233
- });
1234
- return /* @__PURE__ */ jsx(FormContextProvider, { form, children: /* @__PURE__ */ jsx(
1235
- FormFlow,
1236
- {
1237
- summary: {
1238
- data: formatDataForSummary(),
1239
- omitted: {
1240
- keys: summaryOmittedKeys
1241
- },
1242
- problems
1243
- },
1244
- asModal,
1245
- currentStep: steps.current,
1246
- disableNextButton: hideFooter,
1247
- forms,
1248
- gotoFormByFormIndex,
1249
- handleBackClick,
1250
- handleCancelClick: handleHomeClick,
1251
- handleNextClick,
1252
- loadingStatus,
1253
- totalSteps: steps.total,
1254
- children: /* @__PURE__ */ jsx(
1255
- Individual,
1256
- {
1257
- ...derivedProps,
1258
- data,
1259
- country,
1260
- activeForm,
1261
- forms,
1262
- taskType,
1263
- problems,
1264
- onNext: handleNextClick,
1265
- onBack: handleBackClick,
1266
- setHideFooter,
1267
- legalEntityId: legalEntityResponse?.id,
1268
- allowedRoles: roleTypes,
1269
- shouldValidate,
1270
- accountHolder,
1271
- parentLegalEntity,
1272
- trustedFields: !parentLegalEntity ? trustedFields : associatedLegalEntityTrustedFields,
1273
- trustedFieldsProvider,
1274
- trustedRoles
1275
- }
1276
- )
1277
- }
1278
- ) });
1279
- }
1280
- const isNotOutOfRangeBirthDateValidatorRule = {
1281
- modes: ["blur"],
1282
- validate: (birthDate) => !isEmpty(birthDate) && new Date(birthDate) < /* @__PURE__ */ new Date(),
1283
- errorMessage: "invalidDateOfBirth"
1284
- };
1285
- const buildMinimumAgeValidationRule = (minimumAge) => ({
1286
- modes: ["blur"],
1287
- validate: (birthDate) => !!birthDate && getAgeToday(birthDate) >= minimumAge,
1288
- errorMessage: {
1289
- key: "youMustXYearsOldToContinue",
1290
- values: { minimumAge: minimumAge.toString() }
1291
- }
1292
- });
1293
- const getCountrySpecificMinimumAgeValidationRule = (country) => {
1294
- if (!country) {
1295
- return buildMinimumAgeValidationRule(13);
1296
- }
1297
- if ([...euCountries, CountryCodes.UnitedKingdom, CountryCodes.Switzerland].some(
1298
- (c) => c === country
1299
- )) {
1300
- return buildMinimumAgeValidationRule(16);
1301
- }
1302
- switch (country) {
1303
- case CountryCodes.HongKong:
1304
- case CountryCodes.Singapore:
1305
- return buildMinimumAgeValidationRule(18);
1306
- default:
1307
- return buildMinimumAgeValidationRule(13);
1308
- }
1309
- };
1310
- const additionalPersonalDetailsValidators = ({
1311
- country,
1312
- isExperimentEnabled = () => false,
1313
- isSettingEnabled = () => false,
1314
- taskType,
1315
- idNumberType,
1316
- idNumberExempt,
1317
- idNumber,
1318
- existingIdNumber,
1319
- formVerificationErrors,
1320
- i18n,
1321
- taxIdNumberType
1322
- }) => ({
1323
- taxInformation: resolveFieldMetadata(
1324
- taxInformationDefaultFieldConfig[country],
1325
- {
1326
- taxIdNumberType,
1327
- companyType: LegalEntityTypes.INDIVIDUAL
1328
- },
1329
- taxInformationDefaultFieldMetadata
1330
- )?.validators,
1331
- birthDate: (() => {
1332
- const baseValidators = [isNotOutOfRangeBirthDateValidatorRule];
1333
- if (isSettingEnabled("enforceLegalAge")) {
1334
- return [...baseValidators, buildMinimumAgeValidationRule(18)];
1335
- }
1336
- if (isExperimentEnabled("EnableAgeVerification")) {
1337
- if (taskType === TaskTypes.LEGAL_REPRESENTATIVE_DETAILS) {
1338
- return [...baseValidators, buildMinimumAgeValidationRule(18)];
1339
- }
1340
- return [...baseValidators, getCountrySpecificMinimumAgeValidationRule(country)];
1341
- }
1342
- return baseValidators;
1343
- })(),
1344
- ...isExperimentEnabled("StrictNameAndAddressValidationV4") ? nameValidationRulesV4 : void 0,
1345
- ...contactDetailsValidationRules,
1346
- idNumber: (() => {
1347
- const derivedIdNumberType = country === CountryCodes.UnitedStates || country === CountryCodes.PuertoRico ? getSSNType(formVerificationErrors, existingIdNumber) : idNumberType;
1348
- return idNumberExempt ? {
1349
- validate: () => {
1350
- return idNumberExempt || !isEmpty(idNumber);
1351
- },
1352
- modes: ["blur"]
1353
- } : resolveFieldMetadata(
1354
- defaultFieldConfig[country],
1355
- { idNumberType: derivedIdNumberType },
1356
- defaultFieldMetadata
1357
- )?.validators;
1358
- })(),
1359
- ...addressValidators({
1360
- isExperimentEnabled,
1361
- country,
1362
- i18n
1363
- })
1364
- });
1365
- const basicDetailsValidators = ({
1366
- isExperimentEnabled = () => false
1367
- }) => ({
1368
- ...contactDetailsValidationRules,
1369
- ...isExperimentEnabled("StrictNameAndAddressValidationV4") ? nameValidationRulesV4 : void 0
1370
- });
1371
- const getIdNowProviderIdentificationStatus = async (rootLegalEntityId, baseUrl, legalEntityId) => {
1372
- return httpGet({
1373
- baseUrl,
1374
- path: `legalEntities/${rootLegalEntityId}/child/${legalEntityId}/provider/idnow/identification/status`,
1375
- errorHandler: async (response) => {
1376
- const responseData = await response;
1377
- if (responseData.status === 404) {
1378
- return { status: 404, message: responseData.detail, errorCode: responseData.errorCode };
1379
- }
1380
- }
1381
- });
1382
- };
1383
- const useIdNowIdentificationStatus = (legalEntityId, options) => {
1384
- const { rootLegalEntityId, baseUrl } = useApiContext();
1385
- return useQuery({
1386
- queryKey: legalEntityId === skipToken ? [] : ["idNowProviderIdentificationStatus", legalEntityId],
1387
- queryFn: legalEntityId === skipToken ? skipToken : () => getIdNowProviderIdentificationStatus(
1388
- rootLegalEntityId.value,
1389
- baseUrl.value,
1390
- legalEntityId
1391
- ),
1392
- ...options
1393
- });
1394
- };
1395
- const idNowProviderStartIdentification = async (rootLegalEntityId, baseUrl, legalEntityId) => {
1396
- return httpPost({
1397
- baseUrl,
1398
- path: `legalEntities/${rootLegalEntityId}/child/${legalEntityId}/provider/idnow/identification/start`
1399
- });
1400
- };
1401
- const useIdNowStartIdentification = (legalEntityId, options) => {
1402
- const { rootLegalEntityId, baseUrl } = useApiContext();
1403
- return useQuery({
1404
- queryKey: legalEntityId === skipToken ? [] : ["idNowProviderStartIdentification", legalEntityId],
1405
- queryFn: legalEntityId === skipToken ? skipToken : () => idNowProviderStartIdentification(rootLegalEntityId.value, baseUrl.value, legalEntityId),
1406
- ...options
1407
- });
1408
- };
1409
- const idnowHeader = "adyen-kyc-idnow-header";
1410
- const idnowVerificationHeaderIframeContainer = "adyen-kyc-idnow-verification-header-iframe-container";
1411
- const idnowVerificationHeaderIframe = "adyen-kyc-idnow-verification-header-iframe";
1412
- const idnowVerificationHeaderImage = "adyen-kyc-idnow-verification-header-image";
1413
- const styles = {
1414
- idnowHeader,
1415
- idnowVerificationHeaderIframeContainer,
1416
- idnowVerificationHeaderIframe,
1417
- idnowVerificationHeaderImage
1418
- };
1419
- const passportFrontGreenImage = lazy(
1420
- () => import("./passport-front-green-BL4HmtsB.js")
1421
- );
1422
- const isIdNowSuccessful = (status) => {
1423
- const providerStatus = status?.providerStatus;
1424
- return providerStatus === "SUCCESS" || providerStatus === "SUCCESS_DATA_CHANGED" || providerStatus === "REVIEW_PENDING";
1425
- };
1426
- const IdNowVerificationModal = ({ handleFinish }) => {
1427
- const { t } = useTranslation(["individual", "common"]);
1428
- const [isConfirmPresented, setIsConfirmPresented] = useState(false);
1429
- const [genericError, setGenericError] = useState(false);
1430
- const widgetContainerRef = useRef(null);
1431
- const iFrameRef = useRef(null);
1432
- const iFrameWidgetRef = useRef(null);
1433
- const [page, setPage] = useState(1);
1434
- const queryClient = useQueryClient();
1435
- const { showToast } = useToastContext();
1436
- const {
1437
- data: idNowStatus,
1438
- isLoading: isStatusLoading,
1439
- refetch: refetchIdNowIdentificationStatus
1440
- } = useIdNowIdentificationStatus(idNowModalChildEntityId.value?.id ?? skipToken, {
1441
- enabled: !!idNowModalChildEntityId.value?.id,
1442
- refetchOnMount: "always",
1443
- refetchInterval: 1e4,
1444
- // poll every 10 seconds
1445
- retry: (failureCount, error) => {
1446
- if ("status" in error && error.status === 404) return false;
1447
- return failureCount < 3;
1448
- }
1449
- });
1450
- const {
1451
- data: idNowStart,
1452
- isLoading,
1453
- isError: idNowStartError,
1454
- refetch: refetchIdNowStartIdentification
1455
- } = useIdNowStartIdentification(idNowModalChildEntityId.value?.id ?? skipToken, {
1456
- enabled: !!idNowModalChildEntityId.value?.id && page === 2
1457
- });
1458
- const handleDismiss = () => {
1459
- setIsConfirmPresented(true);
1460
- };
1461
- const handleCancelDismiss = () => {
1462
- setIsConfirmPresented(false);
1463
- };
1464
- const handleConfirmDismiss = () => {
1465
- setPage(1);
1466
- setGenericError(false);
1467
- setIsConfirmPresented(false);
1468
- showIdNowModal.value = false;
1469
- if (idNowStartError && idNowModalChildEntityId.value?.id) {
1470
- queryClient.resetQueries({
1471
- queryKey: ["idNowProviderStartIdentification", idNowModalChildEntityId.value?.id]
1472
- });
1473
- }
1474
- idNowModalChildEntityId.value = void 0;
1475
- iFrameWidgetRef.current?.unmount();
1476
- iFrameRef.current?.remove();
1477
- handleFinish?.();
1478
- };
1479
- if (idNowStatus?.status === "finished") {
1480
- if (isIdNowSuccessful(idNowStatus)) {
1481
- showToast({
1482
- label: t(($) => $["successfullyUpdatedDetails"], { ns: "common" }),
1483
- variant: "success"
1484
- });
1485
- handleConfirmDismiss();
1486
- } else {
1487
- if (page === 2) {
1488
- handleConfirmDismiss();
1489
- }
1490
- }
1491
- }
1492
- if (!isLoading && idNowStartError) {
1493
- setGenericError(true);
1494
- setPage(1);
1495
- }
1496
- const initializeIdNowWidget = useCallback(async (url) => {
1497
- const container = widgetContainerRef.current;
1498
- if (!container) {
1499
- return;
1500
- }
1501
- const iFrame = document.createElement("iframe");
1502
- iFrameRef.current = iFrame;
1503
- iFrame.setAttribute("allowFullscreen", "true");
1504
- iFrame.classList.add(styles.idnowVerificationHeaderIframe);
1505
- iFrame.setAttribute("height", "800");
1506
- iFrame.setAttribute(
1507
- "allow",
1508
- "camera *;microphone *;geolocation *;clipboard-read *;clipboard-write *"
1509
- );
1510
- container.appendChild(iFrame);
1511
- try {
1512
- iFrameWidgetRef.current = new IFrameWidget(iFrame, url, "idnow", "");
1513
- await iFrameWidgetRef.current.mountAndWaitForResponse();
1514
- } catch (err) {
1515
- console.error("Error occurred:", err);
1516
- setGenericError(true);
1517
- setPage(1);
1518
- }
1519
- }, []);
1520
- useEffect(() => {
1521
- if (page === 2 && !isLoading && idNowStart && idNowStart?.url) {
1522
- (async () => {
1523
- await refetchIdNowIdentificationStatus();
1524
- await initializeIdNowWidget(idNowStart.url);
1525
- })();
1526
- }
1527
- return () => {
1528
- iFrameWidgetRef.current?.unmount();
1529
- iFrameRef.current?.remove();
1530
- };
1531
- }, [isLoading, page, initializeIdNowWidget, refetchIdNowIdentificationStatus, idNowStart]);
1532
- return /* @__PURE__ */ jsxs(Fragment, { children: [
1533
- !isStatusLoading && /* @__PURE__ */ jsxs(
1534
- Modal,
1535
- {
1536
- size: page === 2 ? "large" : "medium",
1537
- showCloseButton: !isLoading && !isStatusLoading,
1538
- onClose: handleDismiss,
1539
- ariaLabel: t(($) => $["identityVerification"], { ns: "common" }),
1540
- children: [
1541
- page === 1 && /* @__PURE__ */ jsx("div", { className: styles.idnowHeader, children: /* @__PURE__ */ jsx(
1542
- LandingLayout,
1543
- {
1544
- media: /* @__PURE__ */ jsx(
1545
- Image,
1546
- {
1547
- className: styles.idnowVerificationHeaderImage,
1548
- lazyLoadedImage: passportFrontGreenImage
1549
- }
1550
- ),
1551
- title: t(($) => $["identityVerification"], { ns: "common" }),
1552
- description: /* @__PURE__ */ jsxs(Fragment, { children: [
1553
- t(($) => $["idNowDescription"], { ns: "individual" }),
1554
- /* @__PURE__ */ jsx("br", {}),
1555
- /* @__PURE__ */ jsx("br", {}),
1556
- getIndividualLegalEntityName(idNowModalChildEntityId.value) && t(($) => $["idNowDescriptionName"], {
1557
- ns: "individual",
1558
- name: getIndividualLegalEntityName(idNowModalChildEntityId.value)
1559
- })
1560
- ] }),
1561
- error: !isLoading && genericError ? /* @__PURE__ */ jsx(
1562
- Alert,
1563
- {
1564
- variant: "error",
1565
- title: t(($) => $["thereWasAnErrorTryAgain"], { ns: "common" })
1566
- }
1567
- ) : void 0,
1568
- actions: /* @__PURE__ */ jsxs(Fragment, { children: [
1569
- /* @__PURE__ */ jsx(
1570
- Button,
1571
- {
1572
- onClick: async () => {
1573
- setGenericError(false);
1574
- setPage(2);
1575
- await refetchIdNowStartIdentification();
1576
- },
1577
- disabled: isLoading || isStatusLoading || idNowStatus?.status === "finished" && isIdNowSuccessful(idNowStatus),
1578
- fullWidth: true,
1579
- children: idNowStatus?.status === "pending" ? t(($) => $["continueVerification"], { ns: "common" }) : t(($) => $["startVerification"], { ns: "common" })
1580
- }
1581
- ),
1582
- /* @__PURE__ */ jsx(
1583
- Button,
1584
- {
1585
- disabled: isLoading || isStatusLoading,
1586
- variant: "tertiary",
1587
- onClick: handleConfirmDismiss,
1588
- fullWidth: true,
1589
- children: t(($) => $["finishLater"], { ns: "common" })
1590
- }
1591
- )
1592
- ] })
1593
- }
1594
- ) }),
1595
- page === 2 && (isLoading ? /* @__PURE__ */ jsx(Loader, {}) : /* @__PURE__ */ jsx(
1596
- "div",
1597
- {
1598
- ref: widgetContainerRef,
1599
- className: styles.idnowVerificationHeaderIframeContainer
1600
- }
1601
- ))
1602
- ]
1603
- }
1604
- ),
1605
- isConfirmPresented && /* @__PURE__ */ jsx(
1606
- Confirm,
1607
- {
1608
- confirmText: t(($) => $["leave"], { ns: "common" }),
1609
- onCancel: handleCancelDismiss,
1610
- onConfirm: handleConfirmDismiss,
1611
- title: t(($) => $["unsavedChanges"], { ns: "common" })
1612
- }
1613
- )
1614
- ] });
1615
- };
1616
- const adjustOnfidoIdentificationData = (data, apiData) => {
1617
- const { typeOfIdentity, idNumber, idNumberExempt } = data;
1618
- const identificationData = {
1619
- ...apiData,
1620
- number: idNumber,
1621
- type: getOnfidoIdentityTypeToApiIdentityTypeMap(data)[typeOfIdentity] ?? "nationalIdNumber"
1622
- };
1623
- switch (typeOfIdentity) {
1624
- case "passport":
1625
- return {
1626
- ...identificationData,
1627
- cardNumber: ""
1628
- };
1629
- case "driversLicense":
1630
- return {
1631
- ...identificationData,
1632
- expiryDate: ""
1633
- };
1634
- default:
1635
- return idNumber === void 0 && idNumberExempt === void 0 ? void 0 : {
1636
- ...identificationData,
1637
- expiryDate: "",
1638
- cardNumber: "",
1639
- nationalIdExempt: apiData?.nationalIdExempt ?? !idNumber
1640
- };
1641
- }
1642
- };
1643
- const mapIndividualOnfidoSchemaToLegalEntity = (individualOnfido, isExperimentEnabled, matchingScenario) => {
1644
- const legalEntity = {
1645
- ...formatObject(individualOnfido, individualOnfidoApiKeyMapping),
1646
- type: LegalEntityTypes.INDIVIDUAL
1647
- };
1648
- if (individualOnfido.additionalPersonalDetails) {
1649
- if (isExperimentEnabled("EnableTaxIdRequiredForBusinessAccountsScenarios") && matchingScenario?.includes(Scenarios.L_TAXINFO) && individualOnfido.additionalPersonalDetails?.idNumber && individualOnfido.additionalPersonalDetails?.typeOfIdentity && individualOnfido.additionalPersonalDetails?.country === CountryCodes.Spain) {
1650
- legalEntity.individual.taxInformation = [
1651
- {
1652
- country: individualOnfido.additionalPersonalDetails.country,
1653
- number: individualOnfido.additionalPersonalDetails.idNumber,
1654
- type: individualOnfido.additionalPersonalDetails.typeOfIdentity.toUpperCase()
1655
- }
1656
- ];
1657
- }
1658
- legalEntity.individual.identificationData = adjustOnfidoIdentificationData(
1659
- individualOnfido.additionalPersonalDetails,
1660
- legalEntity.individual.identificationData
1661
- );
1662
- }
1663
- const nameLocalization = [
1664
- mapSchemaFieldsToApiScriptLocalization(individualOnfido.basicDetails ?? {}, "jaHani"),
1665
- mapSchemaFieldsToApiScriptLocalization(individualOnfido.basicDetails ?? {}, "jaKana")
1666
- ].filter(({ fields }) => !isEmpty$1(fields));
1667
- if (nameLocalization.length) {
1668
- legalEntity.individual.name.localization = nameLocalization;
1669
- }
1670
- const addressLocalizations = mapJpAddressSchemaToAddressLocalizations(
1671
- individualOnfido.additionalPersonalDetails
1672
- );
1673
- if (addressLocalizations.length > 0)
1674
- legalEntity.individual.residentialAddress.localization = addressLocalizations;
1675
- if (individualOnfido.basicDetails?.phoneNumber) {
1676
- const phone = {
1677
- number: individualOnfido.basicDetails.phoneNumber.number,
1678
- type: "mobile"
1679
- };
1680
- if (phone.number && legalEntity.individual) {
1681
- legalEntity.individual.phone = phone;
1682
- } else {
1683
- delete legalEntity?.individual?.phone;
1684
- }
1685
- }
1686
- return legalEntity;
1687
- };
1688
- const identityOnfidoBase = {
1689
- role: {
1690
- rule: "requiredIfDecisionMakerTask"
1691
- },
1692
- firstName: {
1693
- rule: "REQUIRED"
1694
- },
1695
- lastName: {
1696
- rule: "REQUIRED"
1697
- },
1698
- birthDate: {
1699
- rule: "REQUIRED"
1700
- },
1701
- phoneNumber: {
1702
- rules: ["requiredIfPhoneScenarioDisabled", "contactsIfRequiredForRole"]
1703
- },
1704
- email: {
1705
- rule: "contactsIfRequiredForRole"
1706
- },
1707
- jobTitle: {
1708
- rule: "jobTitleIfRequiredForRole"
1709
- },
1710
- placeOfBirth: {
1711
- rule: "isPlaceOfBirthRequired"
1712
- },
1713
- nationality: {
1714
- rule: "nationalityIfRequiredForRole"
1715
- },
1716
- address: {
1717
- rule: "addressIfRequiredForCountry"
1718
- },
1719
- otherAddressInformation: {
1720
- rule: "otherAddressInfoIfRequiredForCountry"
1721
- },
1722
- country: {
1723
- rule: "REQUIRED"
1724
- },
1725
- postalCode: {
1726
- rule: "postalCodeIfRequiredForCountry"
1727
- },
1728
- city: {
1729
- rule: "cityIfRequiredForCountry"
1730
- },
1731
- stateOrProvince: {
1732
- rule: "stateOrProvinceIfRequiredForCountry"
1733
- },
1734
- proofOfResidency: {
1735
- rule: "isProofOfResidencyRequired"
1736
- },
1737
- proofOfNationalId: {
1738
- rule: "isProofOfNationalIdRequired"
1739
- },
1740
- relationship: {
1741
- rule: "legalRepresentativeRelationshipRequired"
1742
- },
1743
- proofOfRelationship: {
1744
- rule: "isProofOfRelationshipRequired"
1745
- },
1746
- nomineeDirector: {
1747
- rules: ["isGuidedDecisionMakersFlowDisabled", "nomineeDirectorRequiredForCountry"]
1748
- },
1749
- nomineeShareholder: {
1750
- rules: ["isGuidedDecisionMakersFlowDisabled", "nomineeShareHolderRequiredForCountry"]
1751
- },
1752
- idVerificationMethod: {
1753
- rule: "isIdVerificationMethodRequired"
1754
- },
1755
- idDocument: {
1756
- // (either from Onfido or previously-uploaded document)
1757
- rule: "isUsingInstantVerificationOrHasExistingDocument"
1758
- },
1759
- idDocumentType: {
1760
- // If the user has a missing ID error and chooses manual flow
1761
- rule: "isManualIdFlowAndHasMissingData"
1762
- },
1763
- /**
1764
- * Below fields only relevant if manual ID is needed
1765
- * @see identityNumber
1766
- * @see idDocRequired
1767
- */
1768
- idFrontPage: {
1769
- rule: "hasChosenIdType"
1770
- },
1771
- idBackPage: {
1772
- rule: "backPageIfRequiredForIdType"
1773
- },
1774
- // Fields required for Guided decision makers flow
1775
- isSignatory: {
1776
- rules: ["isGuidedDecisionMakersFlowEnabled", "requiredIfDecisionMakerTask"]
1777
- },
1778
- isOwner: {
1779
- rules: ["isGuidedDecisionMakersFlowEnabled", "requiredIfDecisionMakerTask"]
1780
- },
1781
- isControllingPerson: {
1782
- rules: ["isGuidedDecisionMakersFlowEnabled", "requiredIfDecisionMakerTask"]
1783
- },
1784
- isDirector: {
1785
- rules: [
1786
- "isGuidedDecisionMakersFlowEnabled",
1787
- "requiredIfDecisionMakerTask",
1788
- "isDirectorRequiredForCountry"
1789
- ]
1790
- },
1791
- isNomineeDirector: {
1792
- rules: [
1793
- "isGuidedDecisionMakersFlowEnabled",
1794
- "requiredIfDecisionMakerTask",
1795
- "nomineeDirectorRequiredForCountry"
1796
- ]
1797
- },
1798
- isNomineeShareholder: {
1799
- rules: [
1800
- "isGuidedDecisionMakersFlowEnabled",
1801
- "requiredIfDecisionMakerTask",
1802
- "nomineeShareHolderRequiredForCountry"
1803
- ]
1804
- },
1805
- // Japanese name fields
1806
- jaHaniFirstName: {
1807
- rule: "japanSpecificField"
1808
- },
1809
- jaHaniLastName: {
1810
- rule: "japanSpecificField"
1811
- },
1812
- jaKanaFirstName: {
1813
- rule: "japanSpecificField"
1814
- },
1815
- jaKanaLastName: {
1816
- rule: "japanSpecificField"
1817
- },
1818
- // Japanese address fields
1819
- jaHaniAddress: {
1820
- rule: "japanSpecificField"
1821
- },
1822
- jaHaniCity: {
1823
- rule: "japanSpecificField"
1824
- },
1825
- jaHaniStateOrProvince: {
1826
- rule: "japanSpecificField"
1827
- },
1828
- jaKanaCity: {
1829
- rule: "japanSpecificField"
1830
- },
1831
- jaKanaStateOrProvince: {
1832
- rule: "japanSpecificField"
1833
- }
1834
- };
1835
- const identityNumber = {
1836
- idNumber: {
1837
- rule: "idNumberRules",
1838
- obscured: true
1839
- },
1840
- idNumberExempt: {
1841
- rules: ["idNumberExemptIfApplicableCountry", "isDirectorIdNumberRequiredForCountry"]
1842
- },
1843
- idDocumentType: {
1844
- // If the user chooses to not provide an ID number, we'll need an ID from them
1845
- rule: "isManualIdFlowAndNotProvidingIdNumber"
1846
- }
1847
- };
1848
- const additionalIdentityInfo = {
1849
- typeOfIdentity: {
1850
- rules: ["requiredIfCountryUsesMultipleTypesOfIdentity", "isDirectorIdNumberRequiredForCountry"]
1851
- },
1852
- issuerState: {
1853
- rule: "issuerStateRequired"
1854
- },
1855
- licenseCardNumber: {
1856
- rule: "licenseCardNumberRules"
1857
- },
1858
- expiryDate: {
1859
- rule: "expiryDateRequired"
1860
- }
1861
- };
1862
- const idDocRequired = {
1863
- // These fields are relevant for the manual ID flow only.
1864
- // If we get `L1_IDDOC` then we know we need to require a manual ID upload when the manual flow is used
1865
- idDocumentType: {
1866
- rule: "isManualIdFlow"
1867
- }
1868
- };
1869
- const nationality = {
1870
- nationality: {
1871
- rule: "REQUIRED"
1872
- }
1873
- };
1874
- const phoneNumberBase = {
1875
- phoneNumber: {
1876
- rule: "contactsIfRequiredForRole"
1877
- }
1878
- };
1879
- const taxInformationBase = {
1880
- taxInformation: { rule: "countryUsesTaxId" }
1881
- };
1882
- const individualOnfidoFieldsPerScenario = {
1883
- L0: drop("address", "birthDate").from(identityOnfidoBase),
1884
- L1: identityOnfidoBase,
1885
- L1_ID: {
1886
- ...identityOnfidoBase,
1887
- ...identityNumber,
1888
- ...additionalIdentityInfo
1889
- },
1890
- L1_IDO: {
1891
- // TODO: change idNumber rule to optional once optional fields are implemented
1892
- ...identityOnfidoBase,
1893
- ...identityNumber,
1894
- ...additionalIdentityInfo
1895
- },
1896
- L1_NAT: {
1897
- ...identityOnfidoBase,
1898
- ...identityNumber,
1899
- ...additionalIdentityInfo,
1900
- ...nationality
1901
- },
1902
- L_TAXINFO: { ...identityOnfidoBase, ...taxInformationBase },
1903
- L1_IDDOC: idDocRequired,
1904
- L_PH: phoneNumberBase
1905
- };
1906
- const parseIndividualOnfidoScenarios = (scenarios) => composePerScenarioFormConfigurations(scenarios, individualOnfidoFieldsPerScenario);
1907
- const parseConfiguration = ({ scenarios }) => parseIndividualOnfidoScenarios(scenarios);
1908
- const logger = createLogger();
1909
- function IndividualOnfidoDropin({
1910
- taskType = TaskTypes.INDIVIDUAL,
1911
- parentLegalEntity,
1912
- legalEntityResponse,
1913
- handleHomeClick,
1914
- isTargetLegalEntityType,
1915
- country: parentCountry,
1916
- problems: propProblems,
1917
- onSubmit: externalOnSubmit,
1918
- asModal = false,
1919
- handleBackClick: externalBackClick,
1920
- trustedFields,
1921
- trustedFieldsProvider,
1922
- trustedRoles
1923
- }) {
1924
- const { baseUrl, rootLegalEntityId } = useApiContext();
1925
- const { accountHolder, setAccountHolder } = useAccountHolder();
1926
- const { i18n } = useI18nContext();
1927
- const { t } = useTranslation("individual");
1928
- const userEvents = useAnalyticsContext();
1929
- const { showToast, clearToasts } = useToastContext();
1930
- const { isExperimentEnabled } = useExperimentsContext();
1931
- const { data: versionData } = useVersionConfiguration();
1932
- const { isSettingEnabled } = useSettingsContext();
1933
- const queryClient = useQueryClient();
1934
- const isGuidedDecisionMakersFlowEnabled = isExperimentEnabled("EnableGuidedDecisionMakersFlow") || isExperimentEnabled("DecisionMakersFlowOptimization_GuidedDecisionMakersFlow");
1935
- const isGuidedDecisionMakersFlowDisabled = isExperimentEnabled("DisableGuidedDecisionMakersFlow");
1936
- const defaultCountry = "NL";
1937
- const { data: providerStatus } = useProviderStatus({
1938
- providers: ["idDocument"],
1939
- country: legalEntityResponse ? getLegalEntityCountry(legalEntityResponse) : defaultCountry
1940
- });
1941
- const isInstantVerificationEnabled = providerStatus?.statuses?.idDocument?.enabled ?? true;
1942
- const { mutateAsync: updateLegalEntity } = useUpdateLegalEntity();
1943
- const isRoleFieldNeeded = taskType === TaskTypes.DECISION_MAKER || taskType === TaskTypes.TRUST_MEMBER_COMPANY_OWNER || taskType === TaskTypes.UNINCORPORATED_PARTNERSHIP_MEMBER_COMPANY_OWNER;
1944
- const dataFromResponse = useMemo(() => {
1945
- const formStateData = individualFormDefaultData.value;
1946
- individualFormDefaultData.value = null;
1947
- if (legalEntityResponse) {
1948
- return {
1949
- ...mapLegalEntityToIndividualOnfidoSchema(
1950
- legalEntityResponse,
1951
- isTargetLegalEntityType,
1952
- isRoleFieldNeeded,
1953
- parentLegalEntity
1954
- ),
1955
- ...formStateData
1956
- };
1957
- }
1958
- return {
1959
- additionalPersonalDetails: {
1960
- country: parentCountry
1961
- },
1962
- ...formStateData
1963
- };
1964
- }, [
1965
- legalEntityResponse,
1966
- parentCountry,
1967
- isTargetLegalEntityType,
1968
- isRoleFieldNeeded,
1969
- parentLegalEntity
1970
- ]);
1971
- const [matchingScenario, setMatchingScenario] = useState();
1972
- const [validationErrors, setValidationErrors] = useState();
1973
- const [loadingStatus, setLoadingStatus] = useState("success");
1974
- const [existingAttachments, setExistingAttachments] = useState();
1975
- const [documents, setDocuments] = useState();
1976
- const [country, setCountry] = useState(
1977
- dataFromResponse?.additionalPersonalDetails?.country ?? parentCountry
1978
- );
1979
- const [derivedProps, setDerivedProps] = useState();
1980
- const [nextHandler, setNextHandler] = useState();
1981
- const problems = useMemo(
1982
- () => ({
1983
- ...propProblems,
1984
- validationErrors
1985
- }),
1986
- [propProblems, validationErrors]
1987
- );
1988
- const hasVerificationErrors = propProblems?.verificationErrors && Object.keys(propProblems.verificationErrors).length > 0;
1989
- useEffect(() => {
1990
- userEvents.updateBaseTrackingPayload({ task: taskType });
1991
- userEvents.addTaskEvent("Landed on page", {
1992
- actionType: "start"
1993
- });
1994
- }, []);
1995
- const individualFieldValidations = useCallback(
1996
- (data2) => ({
1997
- basicDetails: basicDetailsValidators({
1998
- isExperimentEnabled
1999
- }),
2000
- additionalPersonalDetails: additionalPersonalDetailsValidators({
2001
- country: data2?.additionalPersonalDetails?.country ?? country,
2002
- isExperimentEnabled,
2003
- isSettingEnabled,
2004
- taskType,
2005
- idNumberType: data2?.additionalPersonalDetails?.typeOfIdentity,
2006
- idNumberExempt: data2?.additionalPersonalDetails?.idNumberExempt,
2007
- idNumber: data2?.additionalPersonalDetails?.idNumber,
2008
- existingIdNumber: dataFromResponse.additionalPersonalDetails?.idNumber,
2009
- formVerificationErrors: problems?.verificationErrors?.additionalPersonalDetails,
2010
- i18n,
2011
- taxIdNumberType: data2?.additionalPersonalDetails?.taxInformation?.length ? data2?.additionalPersonalDetails?.taxInformation[0]?.type : void 0
2012
- })
2013
- }),
2014
- [
2015
- country,
2016
- dataFromResponse.additionalPersonalDetails?.idNumber,
2017
- i18n,
2018
- isExperimentEnabled,
2019
- isSettingEnabled,
2020
- problems?.verificationErrors?.additionalPersonalDetails,
2021
- taskType
2022
- ]
2023
- );
2024
- const validatePhoneNumber = useValidatePhoneNumberImperatively();
2025
- const { mutateAsync: verifyIdNumber2 } = useVerifyIdNumber();
2026
- const individualFieldAsyncValidations = useCallback(
2027
- (data2) => ({
2028
- basicDetails: {
2029
- phoneNumber: getAsyncPhoneValidationRules(validatePhoneNumber).phoneNumber
2030
- },
2031
- additionalPersonalDetails: {
2032
- idNumber: getAsyncIdNumberValidationRule(verifyIdNumber2, data2?.additionalPersonalDetails).idNumber
2033
- }
2034
- }),
2035
- [verifyIdNumber2, validatePhoneNumber]
2036
- );
2037
- const defaultData = useMemo(() => {
2038
- if (!documents) return dataFromResponse;
2039
- return {
2040
- ...dataFromResponse,
2041
- ...drop("idDocument").from(documents),
2042
- idVerificationMethod: {
2043
- idDocument: documents.idDocument,
2044
- idVerificationMethod: "existingDocument"
2045
- }
2046
- };
2047
- }, [documents, dataFromResponse]);
2048
- const form = useMultiForm({
2049
- requiredFields: derivedProps?.requiredFields,
2050
- defaultData,
2051
- rules: individualFieldValidations,
2052
- asyncRules: individualFieldAsyncValidations,
2053
- optionalFields: derivedProps?.optionalFields,
2054
- obscuredFields: {
2055
- /**takes care of scenario when the 4 digit provided is wrong based on verification errors and
2056
- * we need to show validation error for defaultData which is already saved
2057
- **/
2058
- additionalPersonalDetails: check4DigitSsnFailed(
2059
- problems?.verificationErrors?.additionalPersonalDetails
2060
- ) ? [] : ["idNumber"]
2061
- }
2062
- });
2063
- const documentUtils = documentApiUtils({
2064
- baseUrl: baseUrl.value,
2065
- rootLegalEntityId: rootLegalEntityId.value
2066
- });
2067
- const { data, requiredFields } = form;
2068
- useEffect(() => {
2069
- setCountry(data?.additionalPersonalDetails?.country ?? parentCountry);
2070
- }, [data?.additionalPersonalDetails?.country, parentCountry]);
2071
- const { data: scenarios } = useScenarios(country, LegalEntityTypes.INDIVIDUAL);
2072
- useEffect(() => {
2073
- if (!scenarios) return;
2074
- setHasMotionCaptureScenario(scenarios);
2075
- setMatchingScenario(scenarios);
2076
- }, [scenarios]);
2077
- const { fieldConfigurations } = useScenarioConfiguration({
2078
- parseConfiguration,
2079
- legalEntityType: LegalEntityTypes.INDIVIDUAL,
2080
- setLoadingStatus,
2081
- country
2082
- });
2083
- const fieldsFromCustomRules = useMemo(
2084
- () => individualOnfidoRules({
2085
- matchingScenario,
2086
- data,
2087
- country: data?.additionalPersonalDetails?.country ?? country,
2088
- taskType,
2089
- isExperimentEnabled,
2090
- rootLegalEntity: parentLegalEntity,
2091
- problems,
2092
- version: versionData?.version
2093
- }),
2094
- [
2095
- country,
2096
- matchingScenario,
2097
- data,
2098
- isExperimentEnabled,
2099
- parentLegalEntity,
2100
- taskType,
2101
- problems,
2102
- versionData?.version
2103
- ]
2104
- );
2105
- useEffect(() => {
2106
- const derivedProps2 = getPropsFromConfigurations({
2107
- scenarioConfiguration: fieldConfigurations,
2108
- forms: individualOnfidoForms,
2109
- remediationActions: problems?.remediationActions ? Object.values(problems?.remediationActions) : [],
2110
- dataMissingErrors: problems?.missingData ?? [],
2111
- fieldsWithExistingData: legalEntityResponse ? getFieldsWithExistingData(
2112
- legalEntityResponse,
2113
- individualOnfidoApiKeyMapping,
2114
- individualOnfidoDocumentMapping,
2115
- [
2116
- "additionalPersonalDetails.typeOfIdentity",
2117
- "additionalPersonalDetails.idNumber",
2118
- "additionalPersonalDetails.stateOrProvince",
2119
- "additionalPersonalDetails.issuerState"
2120
- ]
2121
- ) : [],
2122
- customRules: fieldsFromCustomRules,
2123
- legalEntityType: legalEntityResponse?.type,
2124
- legalEntityTrustedFields: [],
2125
- remediationFieldAsOptional: true
2126
- });
2127
- const updatedDerivedProps = mandateIdVerificationForMotionCapture(
2128
- showIndividualMotionCapture?.value,
2129
- derivedProps2
2130
- );
2131
- if (updatedDerivedProps) {
2132
- setDerivedProps(updatedDerivedProps);
2133
- }
2134
- }, [
2135
- fieldConfigurations,
2136
- legalEntityResponse,
2137
- fieldsFromCustomRules,
2138
- problems?.remediationActions,
2139
- problems?.missingData
2140
- ]);
2141
- useEffect(() => {
2142
- if (!legalEntityResponse?.documentDetails?.length) return;
2143
- documentUtils.fetchDocuments(legalEntityResponse.documentDetails, legalEntityResponse?.id).then((res) => {
2144
- setExistingAttachments(res[0].attachments);
2145
- setDocuments(mapApiDocumentToIndividualDocuments(legalEntityResponse?.id));
2146
- }).catch(() => {
2147
- showToast({ label: i18n.get("failedToFetchRelevantDocuments"), variant: "error" });
2148
- });
2149
- }, []);
2150
- const forms = useMemo(() => {
2151
- const requiredForms = getRequiredForms(
2152
- individualOnfidoForms,
2153
- derivedProps?.requiredFields,
2154
- derivedProps?.optionalFields
2155
- );
2156
- const filteredForms = !isInstantVerificationEnabled ? requiredForms.filter((f) => f.formId !== "idVerificationMethod") : requiredForms;
2157
- return addValidityToForms(filteredForms, form.isValid, problems);
2158
- }, [derivedProps, form.isValid, isInstantVerificationEnabled, problems]);
2159
- const { mutateAsync: getIdVerificationStartCheck } = useIdVerificationStartCheck();
2160
- const handleInstantIdVerificationStartCheck = async (onfidoResponse, legalEntityId) => {
2161
- const providerId = idVerificationProviderId.value;
2162
- if (!providerId) throw Error("idVerificationProviderId not yet set");
2163
- const data2 = {
2164
- providerId,
2165
- legalEntityId,
2166
- captureMetadata: onfidoResponse
2167
- };
2168
- await getIdVerificationStartCheck(data2);
2169
- };
2170
- const roleTypes = isRoleFieldNeeded && parentLegalEntity ? getAllowedDecisionMakerRoles(parentLegalEntity, taskType, matchingScenario) : [];
2171
- const { mutateAsync: createLegalEntity } = useCreateLegalEntity();
2172
- const idDocumentTypeOptions = getLocalizedIdDocumentTypeOptions(country);
2173
- const submitLegalEntity = async ({
2174
- dataSubmitted,
2175
- legalEntity,
2176
- idDocumentType
2177
- }) => {
2178
- let updatedLegalEntity;
2179
- const existingLeId = legalEntityResponse?.id;
2180
- if (legalEntity.individual && legalEntityResponse?.individual?.support) {
2181
- legalEntity.individual.support = customerSupportPresubmitProcess(
2182
- legalEntityResponse,
2183
- legalEntity
2184
- );
2185
- }
2186
- if (!existingLeId) {
2187
- updatedLegalEntity = await createLegalEntity(legalEntity);
2188
- userEvents.addTaskEvent("Success", {
2189
- actionType: "submit",
2190
- countryOfRegistration: dataSubmitted.additionalPersonalDetails?.country,
2191
- roles: dataSubmitted.basicDetails?.role
2192
- });
2193
- } else {
2194
- updatedLegalEntity = await updateLegalEntity({
2195
- ...drop("type").from(legalEntity),
2196
- id: existingLeId
2197
- });
2198
- userEvents.addTaskEvent("Success", {
2199
- actionType: "submit",
2200
- countryOfRegistration: dataSubmitted.additionalPersonalDetails?.country,
2201
- documentType: idDocumentType
2202
- });
2203
- }
2204
- return updatedLegalEntity;
2205
- };
2206
- const submitDocuments = async ({
2207
- legalEntity,
2208
- dataSubmitted
2209
- }) => {
2210
- const idDocument2 = dataSubmitted.idVerificationMethod?.idDocument;
2211
- if (idDocument2?.instantIdVerificationData) {
2212
- if (providerStatus?.statuses?.idDocument?.enabled === false) {
2213
- throw new Error("Provider unexpectedly disabled instant verification flow");
2214
- }
2215
- await handleInstantIdVerificationStartCheck(
2216
- idDocument2.instantIdVerificationData,
2217
- legalEntity.id
2218
- );
2219
- } else {
2220
- const formattedDocuments = await mapIndividualDocumentToApiDocument(
2221
- dataSubmitted,
2222
- legalEntity.id
2223
- );
2224
- if (!formattedDocuments || formattedDocuments?.length === 0) {
2225
- if (existingAttachments?.length)
2226
- logger.log(
2227
- "User has already uploaded documents and is not changing them, nothing needs to be done"
2228
- );
2229
- else
2230
- logger.error(
2231
- `formattedDocuments is empty, but there are no existing documents. Something has gone wrong`
2232
- );
2233
- return;
2234
- }
2235
- formattedDocuments[0].attachments = mergeAttachments(
2236
- existingAttachments ?? [],
2237
- formattedDocuments[0]?.attachments ?? []
2238
- ).filter((attachment) => attachment.content);
2239
- const uploadedDocuments = await documentUtils.uploadDocuments(
2240
- formattedDocuments,
2241
- legalEntity.id
2242
- );
2243
- uploadedDocuments?.forEach((doc) => {
2244
- userEvents.addTaskEvent("Success", {
2245
- actionType: "upload",
2246
- documentType: doc.type,
2247
- fileExtention: doc?.attachments?.map((item) => getFileExtention(item.pageName ?? "")).filter((item) => item !== void 0) ?? void 0
2248
- });
2249
- });
2250
- }
2251
- };
2252
- const hasRolesChanged = (legalEntityId, existingEntityAssociations, newRoles) => {
2253
- const existingRoles = existingEntityAssociations?.filter((association) => association.legalEntityId === legalEntityId).map(({ type }) => type);
2254
- return !doArraysMatch(existingRoles, newRoles);
2255
- };
2256
- const attachAssociationToParentLegalEntity = async ({
2257
- legalEntity,
2258
- parentLE,
2259
- dataSubmitted
2260
- }) => {
2261
- const newRoles = taskType === TaskTypes.DECISION_MAKER || taskType === TaskTypes.TRUST_MEMBER_COMPANY_OWNER || taskType === TaskTypes.UNINCORPORATED_PARTNERSHIP_MEMBER_COMPANY_OWNER ? dataSubmitted?.basicDetails?.role : null;
2262
- const existingEntityAssociations = getOwnEntityAssociations(parentLE);
2263
- if (newRoles && (hasRolesChanged(legalEntity?.id, existingEntityAssociations, newRoles) || dataFromResponse.basicDetails?.jobTitle !== dataSubmitted?.basicDetails?.jobTitle || hasNomineesChanged(dataFromResponse.basicDetails, dataSubmitted.basicDetails))) {
2264
- const updatedParentLegalEntity = {
2265
- entityAssociations: [
2266
- ...newRoles.map((role) => ({
2267
- type: role,
2268
- legalEntityId: legalEntity.id,
2269
- ...DECISION_MAKER_TYPES_WITH_JOBTITLE$1.some((type) => type === role) && {
2270
- jobTitle: dataSubmitted?.basicDetails?.jobTitle
2271
- }
2272
- })) || [],
2273
- ...existingEntityAssociations.filter((ea) => ea.legalEntityId !== legalEntity.id) || []
2274
- ]
2275
- };
2276
- const nomineeDataSource = !isGuidedDecisionMakersFlowDisabled && isGuidedDecisionMakersFlowEnabled ? dataSubmitted?.uboQuestionnaire : dataSubmitted.basicDetails;
2277
- if (nomineeDataSource && updatedParentLegalEntity.entityAssociations) {
2278
- updatedParentLegalEntity.entityAssociations = updatedParentLegalEntity.entityAssociations.map(
2279
- (ea) => attachNomineeToRole(ea, country, nomineeDataSource)
2280
- );
2281
- }
2282
- await updateLegalEntity({ ...updatedParentLegalEntity, id: parentLE.id });
2283
- }
2284
- };
2285
- const onSubmit = async () => {
2286
- setLoadingStatus("loading");
2287
- const dataSubmitted = omitObscuredFieldsIfUnchanged(
2288
- individualOnfidoObscuredFields,
2289
- data,
2290
- dataFromResponse
2291
- );
2292
- if (!dataSubmitted) {
2293
- return;
2294
- }
2295
- try {
2296
- const legalEntity = mapIndividualOnfidoSchemaToLegalEntity(
2297
- dataSubmitted,
2298
- isExperimentEnabled,
2299
- matchingScenario
2300
- );
2301
- const idDocumentType = idDocumentTypeOptions.find(
2302
- ({ id }) => dataSubmitted?.idVerificationMethod?.idDocument?.idDocumentType === id
2303
- )?.id;
2304
- legalEntity.entityAssociations = filterOutUnwantedAssociationsIfRootLE(
2305
- taskType,
2306
- legalEntityResponse,
2307
- accountHolder || void 0
2308
- );
2309
- const submittedLegalEntity = await submitLegalEntity({
2310
- dataSubmitted,
2311
- legalEntity,
2312
- idDocumentType
2313
- });
2314
- setAccountHolder(accountHolder);
2315
- if (dataSubmitted.idVerificationMethod && dataSubmitted.idVerificationMethod?.idVerificationMethod !== "existingDocument" || hasVerificationErrors) {
2316
- const isBafinSignatory = dataSubmitted?.basicDetails?.role?.includes(DecisionMakerTypes.SIGNATORY) && matchingScenario?.includes(Scenarios.L_BAFIN);
2317
- if (!isBafinSignatory) {
2318
- await submitDocuments({ legalEntity: submittedLegalEntity, dataSubmitted });
2319
- }
2320
- }
2321
- if (parentLegalEntity) {
2322
- await attachAssociationToParentLegalEntity({
2323
- legalEntity: submittedLegalEntity,
2324
- parentLE: parentLegalEntity,
2325
- dataSubmitted
2326
- });
2327
- queryClient.invalidateQueries({
2328
- queryKey: ["legalEntity", parentLegalEntity.id],
2329
- refetchType: "all"
2330
- });
2331
- }
2332
- idNowModalChildEntityId.value = submittedLegalEntity;
2333
- setLoadingStatus("success");
2334
- clearToasts();
2335
- externalOnSubmit?.(dataSubmitted, matchingScenario);
2336
- } catch (e) {
2337
- const eventsAdditionalData = {};
2338
- logger.error("Failed to update individual", e);
2339
- if (isValidationError(e)) {
2340
- const getErrors = processValidationErrors(e, TaskTypes.INDIVIDUAL);
2341
- if (getErrors && !Object.keys(getErrors).length) {
2342
- showToast({ label: i18n.get("failedToUpdateDetails"), variant: "error" });
2343
- eventsAdditionalData.unmappedErrorNames = e.invalidFields?.map((field) => field.name).filter(Boolean);
2344
- } else {
2345
- setValidationErrors(getErrors);
2346
- }
2347
- } else if (isMaintenanceModeError(e)) {
2348
- showToast({
2349
- label: i18n.get("maintenanceModeMessage"),
2350
- variant: "error",
2351
- duration: "indefinite"
2352
- });
2353
- } else {
2354
- showToast({ label: i18n.get("failedToUpdateDetails"), variant: "error" });
2355
- }
2356
- setLoadingStatus("success");
2357
- userEvents.addTaskEvent("Encountered error", {
2358
- actionType: "submit",
2359
- additionalData: eventsAdditionalData,
2360
- returnType: e?.errorCode,
2361
- returnValue: e?.title || "backend"
2362
- });
2363
- }
2364
- };
2365
- const datasetUtils = datasetUtilities(i18n.locale);
2366
- const formatIdDocument = (idDocument2) => {
2367
- if (!idDocument2) return void 0;
2368
- const documentType = idDocument2?.instantIdVerificationData ? onfidoDocumentTypeMapping.find(
2369
- (document2) => idDocument2.instantIdVerificationData?.document_front.type === document2.id
2370
- ) : idDocumentTypeOptions.find(({ id }) => idDocument2.idDocumentType === id);
2371
- if (!documentType) return void 0;
2372
- const frontPage = idDocument2.idFrontPage?.[0];
2373
- const backPage = idDocument2.idBackPage?.[0];
2374
- if (!frontPage) return void 0;
2375
- return {
2376
- documentType: i18n.get(documentType.name),
2377
- ...backPage && documentType.hasBackPage ? {
2378
- frontPage: frontPage.name,
2379
- backPage: backPage.name
2380
- } : {
2381
- fileName: frontPage.name
2382
- }
2383
- };
2384
- };
2385
- const formatFileSummaryData = ({
2386
- idVerificationMethod,
2387
- manualIdUpload,
2388
- proofOfNationalId,
2389
- proofOfResidency,
2390
- proofOfRelationship
2391
- }) => {
2392
- const proofOfNationalIdFile = proofOfNationalId?.proofOfNationalId?.[0];
2393
- const proofOfResidencyFile = proofOfResidency?.proofOfResidency?.[0];
2394
- const proofOfRelationshipFile = proofOfRelationship?.proofOfRelationship?.[0];
2395
- const idDocument2 = idVerificationMethod?.idVerificationMethod === "manualVerification" ? manualIdUpload : idVerificationMethod?.idDocument;
2396
- return {
2397
- ...(idDocument2?.idDocumentType || idDocument2?.instantIdVerificationData) && {
2398
- idDocument: formatIdDocument(idDocument2)
2399
- },
2400
- ...proofOfNationalIdFile && {
2401
- proofOfNationalId: {
2402
- fileName: proofOfNationalIdFile.name
2403
- }
2404
- },
2405
- ...proofOfResidencyFile && {
2406
- proofOfResidency: {
2407
- fileName: proofOfResidencyFile.name
2408
- }
2409
- },
2410
- ...proofOfRelationshipFile && {
2411
- proofOfRelationship: {
2412
- fileName: proofOfRelationshipFile.name
2413
- }
2414
- }
2415
- };
2416
- };
2417
- const isManualVerificationOrExistingDoc = (idVerificationMethod) => idVerificationMethod === "manualVerification" || idVerificationMethod === "existingDocument";
2418
- const formatDataForSummary = () => {
2419
- let summaryData = cloneObject(data);
2420
- if (summaryData?.basicDetails?.phoneNumber) {
2421
- summaryData.basicDetails.phoneNumber = summaryData.basicDetails.phoneNumber.number;
2422
- }
2423
- if (summaryData.additionalPersonalDetails?.nationality) {
2424
- summaryData.additionalPersonalDetails.nationality = datasetUtils.getCountryName(
2425
- summaryData.additionalPersonalDetails.nationality
2426
- );
2427
- }
2428
- if (data.additionalPersonalDetails) {
2429
- if (isCompatibleJapanVersion(country, versionData?.version)) {
2430
- summaryData.additionalPersonalDetails = {
2431
- ...drop(...JP_ADDRESS_REQUIRED_FIELDS).from(summaryData.additionalPersonalDetails),
2432
- ...mapJpAddressSummary(data.additionalPersonalDetails, datasetUtils)
2433
- };
2434
- } else {
2435
- summaryData.additionalPersonalDetails = {
2436
- ...summaryData.additionalPersonalDetails,
2437
- ...mapAddressLabels(data.additionalPersonalDetails, datasetUtils)
2438
- };
2439
- }
2440
- }
2441
- if (summaryData.basicDetails?.accountHolder) {
2442
- summaryData.basicDetails.accountHolder = i18n.get(summaryData.basicDetails.accountHolder);
2443
- }
2444
- if (summaryData.additionalPersonalDetails?.birthDate) {
2445
- summaryData.additionalPersonalDetails.birthDate = localizeDateString(
2446
- summaryData.additionalPersonalDetails.birthDate,
2447
- i18n.locale
2448
- );
2449
- }
2450
- if (isManualVerificationOrExistingDoc(summaryData.idVerificationMethod?.idVerificationMethod) || summaryData.proofOfResidency) {
2451
- const fileSummaryData = formatFileSummaryData(data);
2452
- summaryData = { ...summaryData, ...fileSummaryData };
2453
- summaryData.manualIdUpload = { ...summaryData.idDocument };
2454
- summaryData.idVerificationMethod.idDocument = { ...summaryData.idDocument };
2455
- }
2456
- if (summaryData.additionalPersonalDetails?.taxInformation) {
2457
- const taxInformation = summaryData.additionalPersonalDetails.taxInformation.find(
2458
- (taxId) => taxId.country === data.additionalPersonalDetails?.nationality
2459
- );
2460
- if (taxInformation) {
2461
- delete summaryData.additionalPersonalDetails.taxInformation;
2462
- summaryData.additionalPersonalDetails[taxInformation.type] = taxInformation.number;
2463
- }
2464
- }
2465
- if (summaryData?.signatoryQuestionnaire) {
2466
- summaryData.signatoryQuestionnaire = data?.signatoryQuestionnaire?.isSignatory === GuidanceQuestionValues.YES ? [i18n.get("signatorySummaryLabel")] : [];
2467
- }
2468
- if (summaryData?.uboQuestionnaire) {
2469
- const roleFieldToLabelMap = {
2470
- isOwner: "ownerSummaryLabel",
2471
- isControllingPerson: "controllingPersonSummaryLabel",
2472
- isDirector: "directorSummaryLabel"
2473
- };
2474
- summaryData.uboQuestionnaire = Object.keys(roleFieldToLabelMap).flatMap(
2475
- (field) => data?.uboQuestionnaire?.[field] === GuidanceQuestionValues.YES ? [t(($) => $[roleFieldToLabelMap[field]])] : []
2476
- );
2477
- }
2478
- return summaryData;
2479
- };
2480
- const omittedKeysForSummary = [
2481
- ...taskType === TaskTypes.DECISION_MAKER ? ["role"] : [],
2482
- ...data?.additionalPersonalDetails?.idNumberExempt ? ["idNumber"] : [],
2483
- ...isManualVerificationOrExistingDoc(data?.idVerificationMethod?.idVerificationMethod) ? ["idVerificationMethod", "modificationDate"] : []
2484
- ];
2485
- const isUploadEmpty = !data?.manualIdUpload || Object.keys(data?.manualIdUpload).length === 0;
2486
- const omittedFormsForSummary = [
2487
- // 1. Omit idDocument if instant OR (manual/existing AND upload is empty)
2488
- ...data?.idVerificationMethod?.idVerificationMethod === "instantVerification" || isManualVerificationOrExistingDoc(data?.idVerificationMethod?.idVerificationMethod) && isUploadEmpty ? ["idDocument"] : [],
2489
- // 2. Omit idVerificationMethod if manual or existing
2490
- ...isManualVerificationOrExistingDoc(data?.idVerificationMethod?.idVerificationMethod) ? ["idVerificationMethod"] : []
2491
- ];
2492
- const customLabelsForSummary = {
2493
- idVerificationMethod: data?.idVerificationMethod?.idVerificationMethod === "instantVerification" ? "idVerificationMethod" : "idDocument"
2494
- };
2495
- const {
2496
- handleNextClick,
2497
- handleBackClick,
2498
- activeForm,
2499
- shouldValidate,
2500
- gotoFormByFormIndex,
2501
- steps
2502
- } = useFormComposer({
2503
- problems,
2504
- externalBackClick,
2505
- forms,
2506
- onSubmit,
2507
- triggerValidation: form.triggerValidation
2508
- // TODO: figure out type of nested keys
2509
- });
2510
- const isVerificationMethod = activeForm?.formId === "idVerificationMethod";
2511
- const disableNextButton = isVerificationMethod && !activeForm?.isValid || isNextStepDisabled.value;
2512
- return /* @__PURE__ */ jsxs(Fragment, { children: [
2513
- /* @__PURE__ */ jsx(Show, { when: shouldShowIdNowModal, children: /* @__PURE__ */ jsx(IdNowVerificationModal, { handleFinish: handleHomeClick }) }),
2514
- /* @__PURE__ */ jsx(FormContextProvider, { form, children: /* @__PURE__ */ jsx(
2515
- FormFlow,
2516
- {
2517
- summary: {
2518
- data: formatDataForSummary(),
2519
- omitted: {
2520
- keys: omittedKeysForSummary,
2521
- forms: omittedFormsForSummary
2522
- },
2523
- problems,
2524
- labels: customLabelsForSummary
2525
- },
2526
- asModal,
2527
- currentStep: steps.current,
2528
- disableNextButton,
2529
- forms,
2530
- gotoFormByFormIndex,
2531
- handleBackClick,
2532
- handleCancelClick: handleHomeClick,
2533
- handleNextClick: nextHandler || handleNextClick,
2534
- loadingStatus,
2535
- totalSteps: steps.total,
2536
- children: /* @__PURE__ */ jsx(
2537
- IndividualOnfido,
2538
- {
2539
- ...derivedProps,
2540
- requiredFields,
2541
- data,
2542
- defaultCountry: country,
2543
- activeForm,
2544
- forms,
2545
- scenarios,
2546
- taskType,
2547
- problems,
2548
- onNext: handleNextClick,
2549
- onBack: handleBackClick,
2550
- legalEntityId: legalEntityResponse?.id,
2551
- allowedRoles: roleTypes,
2552
- shouldValidate,
2553
- accountHolder,
2554
- parentLegalEntity,
2555
- trustedFields,
2556
- trustedFieldsProvider,
2557
- trustedRoles,
2558
- setNextHandler,
2559
- handleHomeClick
2560
- }
2561
- )
2562
- }
2563
- ) })
2564
- ] });
2565
- }
2566
- export {
2567
- IndividualOnfidoDropin as I,
2568
- IndividualDropin as a
2569
- };