@adyen/kyc-components 3.2.0 → 3.3.2

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 (393) hide show
  1. package/dist/es/ad-e09b987a.mjs +13 -0
  2. package/dist/es/adyen-kyc-components.es.js +1966 -1480
  3. package/dist/es/ae-8ca1be27.mjs +10 -0
  4. package/dist/es/af-342e1bf5.mjs +12 -0
  5. package/dist/es/ag-997e3f88.mjs +35 -0
  6. package/dist/es/ai-402dc201.mjs +30 -0
  7. package/dist/es/al-38b31dad.mjs +14 -0
  8. package/dist/es/am-bc1403ea.mjs +10 -0
  9. package/dist/es/an-70336f96.mjs +10 -0
  10. package/dist/es/ao-eedf3279.mjs +41 -0
  11. package/dist/es/aq-2220e7e0.mjs +8 -0
  12. package/dist/es/ar-87abe42d.mjs +9 -0
  13. package/dist/es/arrow-left-3d6cd330.mjs +5 -0
  14. package/dist/es/arrow-right-994e40f8.mjs +8 -0
  15. package/dist/es/as-6e35c5ec.mjs +16 -0
  16. package/dist/es/at-4310d424.mjs +8 -0
  17. package/dist/es/au-50f94ba8.mjs +17 -0
  18. package/dist/es/aw-97918c9f.mjs +24 -0
  19. package/dist/es/ax-567f3585.mjs +10 -0
  20. package/dist/es/az-85dbb96d.mjs +19 -0
  21. package/dist/es/ba-8afe4a33.mjs +18 -0
  22. package/dist/es/bb-c4d79528.mjs +16 -0
  23. package/dist/es/bd-0f87f359.mjs +9 -0
  24. package/dist/es/be-63be2126.mjs +10 -0
  25. package/dist/es/bf-621f8737.mjs +10 -0
  26. package/dist/es/bg-30061757.mjs +12 -0
  27. package/dist/es/bh-a858ad79.mjs +8 -0
  28. package/dist/es/bi-c08e68ba.mjs +18 -0
  29. package/dist/es/bin-191739de.mjs +8 -0
  30. package/dist/es/bj-8e17226d.mjs +28 -0
  31. package/dist/es/bl-b7b32ae6.mjs +26 -0
  32. package/dist/es/bm-b728ab56.mjs +31 -0
  33. package/dist/es/bn-c706c05b.mjs +13 -0
  34. package/dist/es/bo-1fad8399.mjs +10 -0
  35. package/dist/es/br-11b9980d.mjs +14 -0
  36. package/dist/es/bs-090f5bd7.mjs +14 -0
  37. package/dist/es/bt-c56334d3.mjs +9 -0
  38. package/dist/es/bv-570dcd11.mjs +20 -0
  39. package/dist/es/bw-5de93ae1.mjs +10 -0
  40. package/dist/es/by-e2457131.mjs +14 -0
  41. package/dist/es/bz-30bbd0de.mjs +11 -0
  42. package/dist/es/ca-39c0e436.mjs +9 -0
  43. package/dist/es/cc-ddc2a1db.mjs +14 -0
  44. package/dist/es/cd-eab01270.mjs +14 -0
  45. package/dist/es/cf-50f7241b.mjs +12 -0
  46. package/dist/es/cg-e87aa981.mjs +13 -0
  47. package/dist/es/ch-9637f347.mjs +9 -0
  48. package/dist/es/check-b5a70376.mjs +5 -0
  49. package/dist/es/checkmark-fd78da6f.mjs +5 -0
  50. package/dist/es/checkmark-small-bf41309f.mjs +5 -0
  51. package/dist/es/chevron-down-df0a3ac6.mjs +8 -0
  52. package/dist/es/chevron-right-23ff6e47.mjs +8 -0
  53. package/dist/es/chevron-up-abfe0e90.mjs +8 -0
  54. package/dist/es/ci-41814a2b.mjs +9 -0
  55. package/dist/es/ck-60b0d769.mjs +24 -0
  56. package/dist/es/cl-931fd7da.mjs +10 -0
  57. package/dist/es/cm-55c02792.mjs +16 -0
  58. package/dist/es/cn-1526dac5.mjs +9 -0
  59. package/dist/es/co-c7ada338.mjs +28 -0
  60. package/dist/es/company-4f71e406.mjs +5 -0
  61. package/dist/es/contract-5bc99018.mjs +5 -0
  62. package/dist/es/controlling-person-88da578f.mjs +5 -0
  63. package/dist/es/cr-bac1e451.mjs +9 -0
  64. package/dist/es/cross-c2431982.mjs +8 -0
  65. package/dist/es/cu-af98b602.mjs +10 -0
  66. package/dist/es/cv-575fe55b.mjs +11 -0
  67. package/dist/es/cw-6f1c60ce.mjs +15 -0
  68. package/dist/es/cx-7687e3a9.mjs +16 -0
  69. package/dist/es/cy-eeff5dbd.mjs +10 -0
  70. package/dist/es/cz-24eff96c.mjs +9 -0
  71. package/dist/es/de-8e2b6f6c.mjs +28 -0
  72. package/dist/es/decision-maker-a2182544.mjs +5 -0
  73. package/dist/es/dj-e0f41411.mjs +15 -0
  74. package/dist/es/dk-a5073c43.mjs +8 -0
  75. package/dist/es/dm-9a3ee195.mjs +18 -0
  76. package/dist/es/do-5aa635df.mjs +12 -0
  77. package/dist/es/document-88abec41.mjs +5 -0
  78. package/dist/es/download-54b1a163.mjs +8 -0
  79. package/dist/es/dz-7452e74d.mjs +10 -0
  80. package/dist/es/ec-c68c940e.mjs +13 -0
  81. package/dist/es/edit-e3629680.mjs +5 -0
  82. package/dist/es/ee-1dbd9a40.mjs +9 -0
  83. package/dist/es/eg-40f9b2b5.mjs +10 -0
  84. package/dist/es/eh-51f4bae2.mjs +11 -0
  85. package/dist/es/er-61cda111.mjs +14 -0
  86. package/dist/es/es-78250575.mjs +13 -0
  87. package/dist/es/et-63dc8d1e.mjs +12 -0
  88. package/dist/es/fi-e2d1f3df.mjs +16 -0
  89. package/dist/es/field-error-620e1903.mjs +5 -0
  90. package/dist/es/fj-02f497c5.mjs +34 -0
  91. package/dist/es/fk-56af40af.mjs +41 -0
  92. package/dist/es/fm-0292f2ce.mjs +19 -0
  93. package/dist/es/fo-5063373c.mjs +14 -0
  94. package/dist/es/fr-fb20da2b.mjs +19 -0
  95. package/dist/es/fx-ca4da212.mjs +9 -0
  96. package/dist/es/ga-31f5afca.mjs +10 -0
  97. package/dist/es/gb-4ae48840.mjs +14 -0
  98. package/dist/es/gd-25e40717.mjs +22 -0
  99. package/dist/es/ge-939c150e.mjs +9 -0
  100. package/dist/es/gf-b8736c20.mjs +10 -0
  101. package/dist/es/gg-4c532713.mjs +13 -0
  102. package/dist/es/gh-7b187c5f.mjs +11 -0
  103. package/dist/es/gi-e59b72be.mjs +10 -0
  104. package/dist/es/gl-31e9b8e5.mjs +9 -0
  105. package/dist/es/gm-975999b2.mjs +11 -0
  106. package/dist/es/gn-3701984d.mjs +10 -0
  107. package/dist/es/gp-40fbae20.mjs +10 -0
  108. package/dist/es/gq-86021eca.mjs +11 -0
  109. package/dist/es/gr-3b0c7597.mjs +8 -0
  110. package/dist/es/gs-00bc8674.mjs +130 -0
  111. package/dist/es/gt-05eb5f87.mjs +11 -0
  112. package/dist/es/gu-497f9b0b.mjs +45 -0
  113. package/dist/es/gw-b54f1365.mjs +11 -0
  114. package/dist/es/gy-e917fca1.mjs +10 -0
  115. package/dist/es/hk-ddd60484.mjs +9 -0
  116. package/dist/es/hm-03a2df0b.mjs +18 -0
  117. package/dist/es/hn-1748eed1.mjs +9 -0
  118. package/dist/es/hr-6b1bd9c8.mjs +16 -0
  119. package/dist/es/ht-13a1ab82.mjs +23 -0
  120. package/dist/es/hu-81872148.mjs +9 -0
  121. package/dist/es/id-2c9c4235.mjs +8 -0
  122. package/dist/es/ie-ef96fd76.mjs +19 -0
  123. package/dist/es/il-20c3ccd4.mjs +20 -0
  124. package/dist/es/im-eb7a7143.mjs +40 -0
  125. package/dist/es/in-67c16223.mjs +11 -0
  126. package/dist/es/info-circle-3d2e7ba8.mjs +9 -0
  127. package/dist/es/io-9adeb690.mjs +22 -0
  128. package/dist/es/iq-61ffc408.mjs +11 -0
  129. package/dist/es/ir-bc3341c2.mjs +13 -0
  130. package/dist/es/is-7c19d0ff.mjs +10 -0
  131. package/dist/es/it-fa0dd04c.mjs +19 -0
  132. package/dist/es/je-a29e157d.mjs +18 -0
  133. package/dist/es/jm-53f8ddb8.mjs +13 -0
  134. package/dist/es/jo-89d49ef8.mjs +11 -0
  135. package/dist/es/jp-f97d7972.mjs +20 -0
  136. package/dist/es/ke-545eb9cb.mjs +33 -0
  137. package/dist/es/kg-066a524e.mjs +10 -0
  138. package/dist/es/kh-39620e7b.mjs +10 -0
  139. package/dist/es/ki-900be23e.mjs +17 -0
  140. package/dist/es/km-b4e8c8ba.mjs +12 -0
  141. package/dist/es/kn-8ec9ee75.mjs +15 -0
  142. package/dist/es/kp-1cdc64be.mjs +11 -0
  143. package/dist/es/kr-53eac37f.mjs +23 -0
  144. package/dist/es/kw-c4347b38.mjs +10 -0
  145. package/dist/es/ky-a104dc86.mjs +31 -0
  146. package/dist/es/kz-d64ba71d.mjs +10 -0
  147. package/dist/es/la-04577eb2.mjs +10 -0
  148. package/dist/es/lb-c2470dd0.mjs +19 -0
  149. package/dist/es/lc-58fb8706.mjs +19 -0
  150. package/dist/es/li-c887f5b7.mjs +9 -0
  151. package/dist/es/light-bulb-d403fe24.mjs +5 -0
  152. package/dist/es/lk-d10f8746.mjs +12 -0
  153. package/dist/es/location-e7c2a8f5.mjs +5 -0
  154. package/dist/es/lr-8422af8e.mjs +20 -0
  155. package/dist/es/ls-bdcefbbc.mjs +11 -0
  156. package/dist/es/lt-07e70fec.mjs +10 -0
  157. package/dist/es/lu-b7c93ece.mjs +9 -0
  158. package/dist/es/lv-97900494.mjs +8 -0
  159. package/dist/es/ly-86ceab07.mjs +29 -0
  160. package/dist/es/ma-21b21bdf.mjs +15 -0
  161. package/dist/es/mc-f23b73f0.mjs +12 -0
  162. package/dist/es/md-82ed1b49.mjs +17 -0
  163. package/dist/es/me-c45ff596.mjs +17 -0
  164. package/dist/es/mf-11563bd1.mjs +10 -0
  165. package/dist/es/mg-f5f0546b.mjs +9 -0
  166. package/dist/es/mh-06a860ed.mjs +15 -0
  167. package/dist/es/mk-91356e13.mjs +12 -0
  168. package/dist/es/ml-c3f2014e.mjs +16 -0
  169. package/dist/es/mm-d138bd76.mjs +17 -0
  170. package/dist/es/mn-9c4664d8.mjs +20 -0
  171. package/dist/es/mo-54bd2fbe.mjs +16 -0
  172. package/dist/es/more-horiz-0ca4ec23.mjs +5 -0
  173. package/dist/es/mp-796516e8.mjs +11 -0
  174. package/dist/es/mq-3511a92a.mjs +10 -0
  175. package/dist/es/mr-a4b18b6d.mjs +15 -0
  176. package/dist/es/ms-91e4dcef.mjs +28 -0
  177. package/dist/es/mt-9b58b6a6.mjs +21 -0
  178. package/dist/es/mu-2307760c.mjs +17 -0
  179. package/dist/es/mv-32c9699b.mjs +16 -0
  180. package/dist/es/mw-2b9505ac.mjs +17 -0
  181. package/dist/es/mx-98a49b74.mjs +17 -0
  182. package/dist/es/my-217f9384.mjs +16 -0
  183. package/dist/es/mz-92e1e39c.mjs +19 -0
  184. package/dist/es/na-3c30775f.mjs +18 -0
  185. package/dist/es/nc-c80aff50.mjs +18 -0
  186. package/dist/es/ne-b38208ab.mjs +11 -0
  187. package/dist/es/new-document-cfa14b7f.mjs +5 -0
  188. package/dist/es/nf-780a37dd.mjs +9 -0
  189. package/dist/es/ng-f5ea4118.mjs +19 -0
  190. package/dist/es/ni-60b41460.mjs +16 -0
  191. package/dist/es/nl-975a8624.mjs +11 -0
  192. package/dist/es/no-952bf512.mjs +19 -0
  193. package/dist/es/np-5135aa90.mjs +16 -0
  194. package/dist/es/nr-cecf1f05.mjs +9 -0
  195. package/dist/es/nu-c1ad2dc9.mjs +28 -0
  196. package/dist/es/nz-70a6e29f.mjs +21 -0
  197. package/dist/es/om-e5c99d1e.mjs +20 -0
  198. package/dist/es/owners-a58a9f25.mjs +5 -0
  199. package/dist/es/pa-0e401aff.mjs +16 -0
  200. package/dist/es/payout-575951ec.mjs +5 -0
  201. package/dist/es/pci-f4b6e5f5.mjs +5 -0
  202. package/dist/es/pe-823d3b3f.mjs +15 -0
  203. package/dist/es/pf-5c60fe59.mjs +24 -0
  204. package/dist/es/pg-71e8aaec.mjs +17 -0
  205. package/dist/es/ph-52f55ac4.mjs +16 -0
  206. package/dist/es/pk-372b07db.mjs +15 -0
  207. package/dist/es/pl-2c472f58.mjs +12 -0
  208. package/dist/es/plus-25579839.mjs +8 -0
  209. package/dist/es/pm-2195603b.mjs +38 -0
  210. package/dist/es/pn-ec73a623.mjs +25 -0
  211. package/dist/es/pr-8f159ad6.mjs +30 -0
  212. package/dist/es/ps-34dd64b7.mjs +11 -0
  213. package/dist/es/pt-b210cd4c.mjs +12 -0
  214. package/dist/es/pw-a474545d.mjs +15 -0
  215. package/dist/es/py-e271f15f.mjs +17 -0
  216. package/dist/es/qa-a7ad70ed.mjs +16 -0
  217. package/dist/es/re-a1440f32.mjs +10 -0
  218. package/dist/es/remove-6a123f82.mjs +5 -0
  219. package/dist/es/review-14953b30.mjs +8 -0
  220. package/dist/es/ro-8a071708.mjs +16 -0
  221. package/dist/es/rs-f3ea0f97.mjs +20 -0
  222. package/dist/es/ru-edd59839.mjs +19 -0
  223. package/dist/es/rw-df210dff.mjs +24 -0
  224. package/dist/es/sa-18c28dc4.mjs +9 -0
  225. package/dist/es/sb-35c0ab8d.mjs +36 -0
  226. package/dist/es/sc-82eb7101.mjs +22 -0
  227. package/dist/es/sd-dc5fb244.mjs +16 -0
  228. package/dist/es/se-0413b6f1.mjs +9 -0
  229. package/dist/es/search-3edfe795.mjs +5 -0
  230. package/dist/es/sg-8ff78597.mjs +15 -0
  231. package/dist/es/sh-7b636341.mjs +36 -0
  232. package/dist/es/si-2c09bba0.mjs +23 -0
  233. package/dist/es/signatory-c8417fb2.mjs +10 -0
  234. package/dist/es/sj-8aff2627.mjs +10 -0
  235. package/dist/es/sk-8da1fee7.mjs +23 -0
  236. package/dist/es/sl-92cb9116.mjs +15 -0
  237. package/dist/es/sm-6fd64a6a.mjs +16 -0
  238. package/dist/es/sn-57e8c34b.mjs +17 -0
  239. package/dist/es/so-f2f0ac03.mjs +15 -0
  240. package/dist/es/sr-7869b748.mjs +16 -0
  241. package/dist/es/ss-8e9c79ca.mjs +16 -0
  242. package/dist/es/st-6b3e911c.mjs +17 -0
  243. package/dist/es/store-9fc075e6.mjs +5 -0
  244. package/dist/es/sv-922ba5ea.mjs +14 -0
  245. package/dist/es/sx-c078bfd1.mjs +17 -0
  246. package/dist/es/sy-995ec1ee.mjs +16 -0
  247. package/dist/es/sz-da33c6e8.mjs +25 -0
  248. package/dist/es/tc-1a465526.mjs +27 -0
  249. package/dist/es/td-a7ff3830.mjs +10 -0
  250. package/dist/es/tf-c71eed4a.mjs +12 -0
  251. package/dist/es/tg-613f7f5a.mjs +17 -0
  252. package/dist/es/th-f517ca34.mjs +15 -0
  253. package/dist/es/tj-b99ac64f.mjs +16 -0
  254. package/dist/es/tk-c0dfeac1.mjs +10 -0
  255. package/dist/es/tl-35cc3595.mjs +17 -0
  256. package/dist/es/tm-0deecc32.mjs +47 -0
  257. package/dist/es/tn-190a49a0.mjs +15 -0
  258. package/dist/es/to-790cac18.mjs +19 -0
  259. package/dist/es/tr-1db5a437.mjs +16 -0
  260. package/dist/es/trust-0e40337d.mjs +5 -0
  261. package/dist/es/tt-85ae901c.mjs +16 -0
  262. package/dist/es/tv-9f2b4198.mjs +17 -0
  263. package/dist/es/tw-74aa27b3.mjs +16 -0
  264. package/dist/es/tz-2a5cf5e6.mjs +17 -0
  265. package/dist/es/ua-9fedceaa.mjs +9 -0
  266. package/dist/es/ug-1a8fee80.mjs +20 -0
  267. package/dist/es/um-d774b142.mjs +30 -0
  268. package/dist/es/us-20ac3d88.mjs +24 -0
  269. package/dist/es/uy-c22e1eb1.mjs +10 -0
  270. package/dist/es/uz-f8be4086.mjs +16 -0
  271. package/dist/es/va-d1f00296.mjs +12 -0
  272. package/dist/es/vc-0a06f1c2.mjs +17 -0
  273. package/dist/es/ve-3bc33c40.mjs +17 -0
  274. package/dist/es/vg-3ad787bf.mjs +31 -0
  275. package/dist/es/vi-5a78bf74.mjs +34 -0
  276. package/dist/es/vn-50e78ae2.mjs +9 -0
  277. package/dist/es/vu-72d9304c.mjs +37 -0
  278. package/dist/es/warning-bb000c6b.mjs +5 -0
  279. package/dist/es/wf-8cdbeff9.mjs +10 -0
  280. package/dist/es/wrong-652db543.mjs +5 -0
  281. package/dist/es/ws-745fc88c.mjs +16 -0
  282. package/dist/es/ye-f4eaca91.mjs +9 -0
  283. package/dist/es/yt-93635c9a.mjs +33 -0
  284. package/dist/es/za-42d70d0b.mjs +19 -0
  285. package/dist/es/zm-571a963f.mjs +24 -0
  286. package/dist/es/zw-6cf765c3.mjs +22 -0
  287. package/dist/es/zz-067ccc58.mjs +8 -0
  288. package/dist/style.css +40 -211
  289. package/dist/types/components/CompanyBasics/component/CompanyBasicsComponent.d.ts +1 -1
  290. package/dist/types/components/CompanyBasics/types.d.ts +1 -1
  291. package/dist/types/components/CompanyOtherDetails/component/CompanyOtherDetailsComponent.d.ts +1 -1
  292. package/dist/types/components/IdentityNumber/component/IdentityNumberComponent.d.ts +1 -3
  293. package/dist/types/components/IdentityNumber/fieldConfig.d.ts +12 -0
  294. package/dist/types/components/IdentityNumber/type.d.ts +6 -3
  295. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityAu/component/DriversLicense.d.ts +4 -3
  296. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityAu/component/IdentityAuComponent.d.ts +1 -1
  297. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityHK/component/IdentityHKComponent.d.ts +1 -1
  298. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityHK/validate.d.ts +0 -2
  299. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityNZ/component/DriversLicense.d.ts +4 -3
  300. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityNZ/component/IdentityNZComponent.d.ts +1 -1
  301. package/dist/types/components/PersonalDetails/component/IdentityComponent/TypeOfIdentity/index.d.ts +5 -5
  302. package/dist/types/components/PersonalDetails/component/IdentityComponent/types.d.ts +4 -6
  303. package/dist/types/components/PersonalDetails/types.d.ts +3 -2
  304. package/dist/types/components/TaskList/types.d.ts +2 -1
  305. package/dist/types/components/internal/AccordionItem/types.d.ts +2 -1
  306. package/dist/types/components/internal/Address/utils.d.ts +1 -1
  307. package/dist/types/components/internal/BankAccountFormat/BankAccountFormat.d.ts +1 -1
  308. package/dist/types/components/internal/BankAccountNumber/BankAccountNumber.d.ts +1 -1
  309. package/dist/types/components/internal/BankAccountNumber/fieldConfig.d.ts +5 -0
  310. package/dist/types/components/internal/BankAccountNumber/index.d.ts +1 -1
  311. package/dist/types/components/internal/BankAccountNumber/types.d.ts +2 -0
  312. package/dist/types/components/internal/BankCity/BankCity.d.ts +1 -1
  313. package/dist/types/components/internal/BankCity/index.d.ts +1 -1
  314. package/dist/types/components/internal/BankCode/BankCode.d.ts +1 -1
  315. package/dist/types/components/internal/BankCode/fieldConfig.d.ts +5 -0
  316. package/dist/types/components/internal/BankCode/index.d.ts +1 -1
  317. package/dist/types/components/internal/BankCode/types.d.ts +6 -1
  318. package/dist/types/components/internal/BankName/BankName.d.ts +1 -1
  319. package/dist/types/components/internal/BankName/index.d.ts +1 -1
  320. package/dist/types/components/internal/BranchCode/BranchCode.d.ts +1 -1
  321. package/dist/types/components/internal/BranchCode/fieldConfig.d.ts +5 -0
  322. package/dist/types/components/internal/BranchCode/index.d.ts +1 -1
  323. package/dist/types/components/internal/BranchCode/types.d.ts +6 -1
  324. package/dist/types/components/internal/Button/types.d.ts +2 -1
  325. package/dist/types/components/internal/CountryField/Flag.d.ts +7 -0
  326. package/dist/types/components/internal/FormFields/MaskedInputText/MaskedInputText.d.ts +2 -1
  327. package/dist/types/components/internal/FormFields/Select/types.d.ts +1 -2
  328. package/dist/types/components/internal/Iban/Iban.d.ts +1 -1
  329. package/dist/types/components/internal/Iban/fieldConfig.d.ts +5 -0
  330. package/dist/types/components/internal/Iban/ibanValidator.d.ts +1 -4
  331. package/dist/types/components/internal/Iban/index.d.ts +1 -1
  332. package/dist/types/components/internal/Iban/types.d.ts +2 -0
  333. package/dist/types/components/internal/Icon/Icon.d.ts +41 -3
  334. package/dist/types/components/internal/IdFieldTypeSelector/countryIdNumberTypes.d.ts +35 -2
  335. package/dist/types/components/internal/Link/types.d.ts +2 -1
  336. package/dist/types/components/internal/Menu/ActionsMenu.d.ts +2 -1
  337. package/dist/types/components/internal/Status/types.d.ts +2 -1
  338. package/dist/types/components/internal/SwiftCode/SwiftCode.d.ts +1 -1
  339. package/dist/types/components/internal/SwiftCode/fieldConfig.d.ts +3 -0
  340. package/dist/types/components/internal/SwiftCode/index.d.ts +1 -1
  341. package/dist/types/components/internal/TaxId/types.d.ts +0 -7
  342. package/dist/types/components/internal/TaxInformationField/fieldConfig.d.ts +249 -7
  343. package/dist/types/core/Context/ConfigurationApiContext/ConfigurationApiContext.d.ts +0 -1
  344. package/dist/types/core/Context/StateContext/useGlobalData.d.ts +1 -2
  345. package/dist/types/core/SDKValidation/index.d.ts +1 -1
  346. package/dist/types/core/Services/agnostic/get-images.d.ts +0 -1
  347. package/dist/types/core/Services/agnostic/index.d.ts +0 -1
  348. package/dist/types/core/core.d.ts +1 -1
  349. package/dist/types/core/hooks/useForm/reducer.d.ts +3 -3
  350. package/dist/types/core/hooks/useForm/types.d.ts +3 -3
  351. package/dist/types/core/hooks/useForm/useForm.d.ts +2 -2
  352. package/dist/types/core/hooks/useIsElementVisible.d.ts +2 -1
  353. package/dist/types/core/models/api/company-search.d.ts +2 -1
  354. package/dist/types/core/models/api/company-types-value.d.ts +3 -0
  355. package/dist/types/core/models/api/organization-type.d.ts +5 -0
  356. package/dist/types/core/models/api/organization.d.ts +3 -0
  357. package/dist/types/core/models/api/transfer-instrument.d.ts +1 -1
  358. package/dist/types/core/models/field-configurations.d.ts +1 -0
  359. package/dist/types/core/models/payout-account.d.ts +1 -1
  360. package/dist/types/core/models/scenario-fields.d.ts +1 -1
  361. package/dist/types/core/process-field-configurations.d.ts +1 -1
  362. package/dist/types/language/config.d.ts +8 -3
  363. package/dist/types/utils/dynamicImports.d.ts +3 -0
  364. package/dist/types/utils/entity-status-util.d.ts +1 -1
  365. package/dist/types/utils/formUtils.d.ts +1 -0
  366. package/dist/types/utils/isValueObscured.d.ts +1 -0
  367. package/dist/types/utils/mapping/companySearch/index.d.ts +1 -1
  368. package/dist/types/utils/mapping/companySearch/mapOrganizationTypeToCompanyType.d.ts +9 -0
  369. package/dist/types/utils/mapping/componentApiMapping.d.ts +1 -1
  370. package/dist/types/utils/masking/maskHelpers.d.ts +1 -0
  371. package/dist/types/utils/masking/matchAgainstMask.d.ts +3 -2
  372. package/dist/types/utils/omitObscuredFieldsIfUnchanged.d.ts +2 -0
  373. package/dist/types/utils/regex/countryIdNumberPatterns.d.ts +9 -6
  374. package/dist/types/utils/regex/driversLicenseCardNumberPatterns.d.ts +1 -0
  375. package/dist/types/utils/regex/proofOfIdentityCardPatterns.d.ts +0 -1
  376. package/dist/types/utils/validatorUtils.d.ts +11 -26
  377. package/package.json +3 -2
  378. package/dist/types/components/IdentityNumber/formats.d.ts +0 -18
  379. package/dist/types/components/IdentityNumber/validate.d.ts +0 -41
  380. package/dist/types/components/IdentityNumber/validate.helper.d.ts +0 -3
  381. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityAu/component/PassportNumber.d.ts +0 -15
  382. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityHK/component/DriversLicense.d.ts +0 -14
  383. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityHK/component/PassportNumber.d.ts +0 -9
  384. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityHK/component/ProofOfIdentityCard.d.ts +0 -10
  385. package/dist/types/components/PersonalDetails/component/IdentityComponent/IdentityNZ/component/PassportNumber.d.ts +0 -15
  386. package/dist/types/components/PersonalDetails/component/IdentityComponent/TypeOfIdentity/types.d.ts +0 -9
  387. package/dist/types/components/PersonalDetails/component/labels.d.ts +0 -4
  388. package/dist/types/core/Services/agnostic/get-fonts.d.ts +0 -9
  389. package/dist/types/utils/formatting/stripCountryIdFormat.d.ts +0 -2
  390. package/dist/types/utils/formatting/stripNonAlphanumeric.d.ts +0 -1
  391. package/dist/types/utils/isValueMasked.d.ts +0 -1
  392. package/dist/types/utils/mapping/companySearch/mapKompanyOrganizationTypeToCompanyType.d.ts +0 -2
  393. package/dist/types/utils/omitMaskedFieldsIfUnchanged.d.ts +0 -2
@@ -2,8 +2,8 @@ import { useContext, useState, useCallback, useEffect, useMemo, useReducer, useR
2
2
  import { createContext, createElement, render } from "preact";
3
3
  import { sanitize } from "isomorphic-dompurify";
4
4
  import cx from "classnames";
5
+ import { lazy, Suspense, useId, forwardRef, memo, useMemo as useMemo$1, useEffect as useEffect$1, useState as useState$1, useCallback as useCallback$1 } from "preact/compat";
5
6
  import { jsx, jsxs, Fragment } from "preact/jsx-runtime";
6
- import { useId, forwardRef, memo, useMemo as useMemo$1, useEffect as useEffect$1, useState as useState$1, useCallback as useCallback$1 } from "preact/compat";
7
7
  import { debounce, noop as noop$1, isEmpty as isEmpty$1, range } from "lodash";
8
8
  import OpenBankingSDK from "@adyen/openbankingsdk";
9
9
  import "@adyen/adyen-document-viewer/dist/adyen-document-viewer.min.css";
@@ -65,7 +65,7 @@ const contactDetails = "Contact Details";
65
65
  const uploadDocument = "Upload Document";
66
66
  const individualDetails = "Individual details";
67
67
  const last4DigitsOfSocialSecurityNumber = "Last 4 digits of Social Security Number (SSN)";
68
- const socialSecurityNumber9Digits = "Social Security Number (SSN)";
68
+ const socialSecurityNumber = "Social Security Number (SSN)";
69
69
  const socialInsuranceNumber = "Social Insurance Number (SIN)";
70
70
  const codiceFiscale = "Codice fiscale";
71
71
  const personnummer = "Personnummer";
@@ -74,7 +74,7 @@ const nie = "NIE";
74
74
  const peselNumber = "PESEL number";
75
75
  const detCentralePersonregister = "Det Centrale Personregister (CPR)";
76
76
  const codNumericPersonal = "Cod Numeric Personal (CNP)";
77
- const cadastroDePessoasFisicas = "Cadastro de Pessoas Físicas (CFP)";
77
+ const cadastroDePessoasFisicas = "Cadastro de Pessoas Físicas (CPF)";
78
78
  const invalidFormatExpects = "Invalid format. Expected format: %{format}";
79
79
  const invalidFormatForAuPassportNumber = "This isn't a valid Australian passport number. Expected format: 1-2 letters followed by 7 numbers.";
80
80
  const invalidFormatForNZPassportNumber = "Expected format should be 8-9 alphanumeric characters. For example: PA094043.";
@@ -302,6 +302,7 @@ const bankAccountNumber = "Account number";
302
302
  const iban = "IBAN";
303
303
  const swiftCode = "Swift code";
304
304
  const bic = "BIC";
305
+ const bicSwift = "BIC / SWIFT";
305
306
  const bsbNumber = "BSB Number";
306
307
  const branchCode = "Branch code";
307
308
  const transitNumber = "Transit number";
@@ -347,8 +348,7 @@ const confirm = "Confirm";
347
348
  const goToDecisionMakers = "Go to list of decision-makers";
348
349
  const theSubmitWasSuccessful = "The submit was successful";
349
350
  const thereWasAnErrorTryAgain = "There was an error, please try again";
350
- const proofOfIdentityCard = "State-issued proof of identity card";
351
- const proofOfIdentityCardNumber = "Identity card number";
351
+ const stateIssuedProofOfIdentityCard = "State-issued proof of identity card";
352
352
  const proofOfResidence = "Proof of residency";
353
353
  const proofOfNationalId = "Proof of national ID";
354
354
  const backToTaskList = "Back to task list";
@@ -706,13 +706,17 @@ const liRegistrationNumber = "Unternehmensnummer";
706
706
  const Mehrwertsteuernummer = "Mehrwertsteuernummer (MwST), Numéro de TVA, Numero dell’imposta sul valore aggiunto (IVA), VAT number";
707
707
  const enterNDigitsForExample = "Enter %{numDigits} digits. For example, %{example}";
708
708
  const enterNCharactersForExample = "Enter %{numChars} characters. For example, %{example}";
709
+ const enterLastNDigitsForExample = "Enter the last %{numDigits} digits. For example, %{example}";
709
710
  const enterXToYDigitsForExample = "Enter %{minDigits} to %{maxDigits} digits. For example, %{example}";
711
+ const enterXOrYDigitsForExample = "Enter %{xDigits} or %{yDigits} digits. For example, %{example}";
710
712
  const enterXToYCharactersForExample = "Enter %{minChars} to %{maxChars} characters. For example, %{example}";
713
+ const enterXOrYCharactersForExample = "Enter %{xChars} or %{yChars} characters. For example, %{example}";
711
714
  const enterXToYCharactersWithAMixForExample = "Enter %{minChars} to %{maxChars} characters, with a mix of letters and numbers. For example, %{example}";
712
715
  const enterAMaximumOfNDigitsForExample = "Enter a maximum of %{maxDigits} digits. For example, %{example}";
713
716
  const enterAMaximumOfNMoreDigitsForExample = "Enter a maximum of %{maxDigits} more digits. For example, %{example}";
714
717
  const enterAMaximumOfNCharactersForExample = "Enter a maximum of %{maxChars} characters. For example, %{example}";
715
718
  const enterAMaximumOfNCharactersWithAMixForExample = "Enter a maximum of %{maxChars} characters, with a mix of letters and numbers. For example, %{example}";
719
+ const enterNCharactersWithAMixForExample = "Enter %{numChars} characters, with a mix of letters and numbers. For example, %{example}";
716
720
  const enterNDigitsAndThen1LetterForExample = "Enter %{numDigits} digits and then 1 letter. For example, %{example}";
717
721
  const enter1LetterAndThenNDigitsForExample = "Enter 1 letter and then %{numDigits} digits. For example, %{example}";
718
722
  const enter1LetterAndThenXToYDigitsForExample = "Enter 1 letter and then %{minDigits} to %{maxDigits} digits. For example, %{example}";
@@ -1211,6 +1215,7 @@ const introductionScreenAccountDescriptionP2 = "This is the bank account you use
1211
1215
  const introductionScreenEpilogueTitle = "Why do we need this information?";
1212
1216
  const introductionScreenEpilogueDescriptionP1 = "We check all this information against official records to verify your identity and comply with financial regulations.";
1213
1217
  const introductionScreenEpilogueDescriptionP2 = "Your information will be used only for these purposes.";
1218
+ const oib = "OIB";
1214
1219
  const addBankDetails = "Add bank details";
1215
1220
  const addMissingBankDetails = "We are missing your bank details in order to perform payouts, please add your bank account.";
1216
1221
  const bankDetails = "Bank details";
@@ -1274,7 +1279,7 @@ const defaultTrans = {
1274
1279
  uploadDocument,
1275
1280
  individualDetails,
1276
1281
  last4DigitsOfSocialSecurityNumber,
1277
- socialSecurityNumber9Digits,
1282
+ socialSecurityNumber,
1278
1283
  socialInsuranceNumber,
1279
1284
  codiceFiscale,
1280
1285
  personnummer,
@@ -1511,6 +1516,7 @@ const defaultTrans = {
1511
1516
  iban,
1512
1517
  swiftCode,
1513
1518
  bic,
1519
+ bicSwift,
1514
1520
  bsbNumber,
1515
1521
  branchCode,
1516
1522
  transitNumber,
@@ -1556,8 +1562,7 @@ const defaultTrans = {
1556
1562
  goToDecisionMakers,
1557
1563
  theSubmitWasSuccessful,
1558
1564
  thereWasAnErrorTryAgain,
1559
- proofOfIdentityCard,
1560
- proofOfIdentityCardNumber,
1565
+ stateIssuedProofOfIdentityCard,
1561
1566
  proofOfResidence,
1562
1567
  proofOfNationalId,
1563
1568
  backToTaskList,
@@ -1922,13 +1927,17 @@ const defaultTrans = {
1922
1927
  Mehrwertsteuernummer,
1923
1928
  enterNDigitsForExample,
1924
1929
  enterNCharactersForExample,
1930
+ enterLastNDigitsForExample,
1925
1931
  enterXToYDigitsForExample,
1932
+ enterXOrYDigitsForExample,
1926
1933
  enterXToYCharactersForExample,
1934
+ enterXOrYCharactersForExample,
1927
1935
  enterXToYCharactersWithAMixForExample,
1928
1936
  enterAMaximumOfNDigitsForExample,
1929
1937
  enterAMaximumOfNMoreDigitsForExample,
1930
1938
  enterAMaximumOfNCharactersForExample,
1931
1939
  enterAMaximumOfNCharactersWithAMixForExample,
1940
+ enterNCharactersWithAMixForExample,
1932
1941
  enterNDigitsAndThen1LetterForExample,
1933
1942
  enter1LetterAndThenNDigitsForExample,
1934
1943
  enter1LetterAndThenXToYDigitsForExample,
@@ -2428,6 +2437,7 @@ const defaultTrans = {
2428
2437
  introductionScreenEpilogueTitle,
2429
2438
  introductionScreenEpilogueDescriptionP1,
2430
2439
  introductionScreenEpilogueDescriptionP2,
2440
+ oib,
2431
2441
  addBankDetails,
2432
2442
  addMissingBankDetails,
2433
2443
  bankDetails,
@@ -2750,6 +2760,7 @@ const formUtilities = (props, i18n) => ({
2750
2760
  return this.isRequiredField(field, showIfNotInRequiredFields) || this.isOptionalField(field);
2751
2761
  },
2752
2762
  isReadOnly: (field) => props.readOnly || (props.readOnlyFields ? props.readOnlyFields.includes(field) : false),
2763
+ isObscured: (field) => props.obscuredFields ? props.obscuredFields.includes(field) : false,
2753
2764
  getVal: (val) => i18n.get(val),
2754
2765
  getErrorMessage: (field, errors, fieldProblems) => {
2755
2766
  var _a;
@@ -2849,10 +2860,6 @@ const mergeFieldMetadataIntoProps = (fieldName, metadata, otherProps) => {
2849
2860
  };
2850
2861
  };
2851
2862
  const MAX_LENGTH = 30;
2852
- const getMaxLengthByFormatRuleset = (formattingRules, field) => {
2853
- var _a;
2854
- return ((_a = formattingRules[field]) == null ? void 0 : _a.maxlength) || MAX_LENGTH;
2855
- };
2856
2863
  const getMaxLengthByFieldAndCountry = (formattingRules, field, country2, ignoreIfFormatterExists) => {
2857
2864
  var _a, _b, _c, _d;
2858
2865
  if (ignoreIfFormatterExists && ((_b = (_a = formattingRules[country2]) == null ? void 0 : _a[field]) == null ? void 0 : _b.formatter)) {
@@ -2861,75 +2868,18 @@ const getMaxLengthByFieldAndCountry = (formattingRules, field, country2, ignoreI
2861
2868
  const maxLength = (_d = (_c = formattingRules[country2]) == null ? void 0 : _c[field]) == null ? void 0 : _d.maxlength;
2862
2869
  return maxLength || MAX_LENGTH;
2863
2870
  };
2864
- function mergeCountryBasedValidators(defaultValidatorsObj, countryBasedValidators, country2) {
2865
- if (!country2 || !countryBasedValidators[country2]) {
2866
- return defaultValidatorsObj;
2867
- }
2868
- const mergedValidators = {};
2869
- Object.entries(defaultValidatorsObj).forEach(([field, validatorsByField]) => {
2870
- const countryBasedFieldValidators = countryBasedValidators[country2][field];
2871
- if (!countryBasedFieldValidators) {
2872
- mergedValidators[field] = validatorsByField;
2873
- } else {
2874
- const defaultFieldValidatorsArray = !Array.isArray(validatorsByField) ? [validatorsByField] : [...validatorsByField];
2875
- const countryFieldValidatorsArray = !Array.isArray(countryBasedFieldValidators) ? [countryBasedFieldValidators] : [...countryBasedFieldValidators];
2876
- mergedValidators[field] = [...countryFieldValidatorsArray];
2877
- defaultFieldValidatorsArray.forEach((rule) => {
2878
- const defaultModesArr = rule.modes;
2879
- let modeArraysMatch = false;
2880
- countryFieldValidatorsArray.every((item) => {
2881
- modeArraysMatch = doArraysMatch(item.modes, defaultModesArr);
2882
- return !modeArraysMatch;
2883
- });
2884
- if (!modeArraysMatch) {
2885
- mergedValidators[field].unshift(rule);
2886
- }
2887
- });
2888
- }
2889
- });
2890
- Object.entries(countryBasedValidators[country2]).forEach(([field, validators]) => {
2891
- if (!mergedValidators[field]) {
2892
- mergedValidators[field] = validators;
2893
- }
2894
- });
2895
- return mergedValidators;
2896
- }
2897
- function mergeCountryBasedRulesets(defaultRuleset, countryBasedRuleset, country2) {
2898
- if (!country2 || !countryBasedRuleset[country2]) {
2899
- return defaultRuleset;
2900
- }
2901
- const mergedRuleset = {};
2902
- Object.entries(defaultRuleset).forEach(([field, ruleset]) => {
2903
- const countryBasedFieldRuleset = countryBasedRuleset[country2][field];
2904
- if (!countryBasedFieldRuleset) {
2905
- mergedRuleset[field] = ruleset;
2906
- } else {
2907
- mergedRuleset[field] = {
2908
- ...ruleset,
2909
- ...countryBasedFieldRuleset
2910
- };
2911
- }
2912
- });
2913
- Object.entries(countryBasedRuleset[country2]).forEach(([field, ruleset]) => {
2914
- if (!mergedRuleset[field]) {
2915
- mergedRuleset[field] = ruleset;
2916
- }
2917
- });
2918
- return mergedRuleset;
2919
- }
2920
- const isUndefinedOrNull = (input) => !!(input === void 0 || input === null);
2921
- const isEmpty = (input) => !!(isUndefinedOrNull(input) || typeof input === "object" && Object.keys(input).length === 0 || typeof input === "string" && /^[\s]*$/.test(input));
2922
- const hasEmptyFields = (input) => input && (Object.keys(input).length === 0 || Object.values(input).some((value) => value === void 0 || value === null || value === ""));
2871
+ const isUndefinedOrNull = (input) => input === void 0 || input === null;
2872
+ const isEmpty = (input) => isUndefinedOrNull(input) || typeof input === "object" && Object.keys(input).length === 0 || typeof input === "string" && /^\s*$/.test(input);
2873
+ const hasEmptyFields = (input) => input !== void 0 && (Object.keys(input).length === 0 || Object.values(input).some((value) => value === void 0 || value === null || value === ""));
2923
2874
  const isAccountNumberMasked = (payload) => {
2924
2875
  var _a;
2925
- return (payload == null ? void 0 : payload.accountNumber) && ((_a = payload == null ? void 0 : payload.accountNumber) == null ? void 0 : _a.includes("*"));
2876
+ return Boolean(payload == null ? void 0 : payload.accountNumber) && ((_a = payload == null ? void 0 : payload.accountNumber) == null ? void 0 : _a.includes("*"));
2926
2877
  };
2927
2878
  const extractFieldName = (inputString) => {
2928
2879
  const fieldNames = inputString == null ? void 0 : inputString.split(".");
2929
2880
  const fieldName = (fieldNames == null ? void 0 : fieldNames.length) > 0 ? fieldNames[fieldNames.length - 1] : "";
2930
2881
  return fieldName;
2931
2882
  };
2932
- const mapKeyToFieldName = (i18n, key) => i18n == null ? void 0 : i18n.get(key);
2933
2883
  const concatenateFieldNames = (fieldNames) => fieldNames == null ? void 0 : fieldNames.join(", ");
2934
2884
  const isString = (input) => typeof input === "string" || input instanceof String;
2935
2885
  const hasText = (input) => isString(input) && !isEmpty(input);
@@ -2941,21 +2891,90 @@ const exactLength = (input, length) => {
2941
2891
  }
2942
2892
  return input.length === length;
2943
2893
  };
2944
- const lengthIsBetween = (input, minLength, maxLength) => (input == null ? void 0 : input.length) >= minLength && (input == null ? void 0 : input.length) <= maxLength;
2894
+ const lengthIsBetween = (input, minLength, maxLength) => Boolean(input && input.length >= minLength && input.length <= maxLength);
2945
2895
  const trimValWithOneSpace = (val) => val.trimStart().replace(/\s+/g, " ");
2946
2896
  const _button_component = "";
2947
2897
  const _link_component = "";
2948
- const _icon = "";
2898
+ const Icon$1 = "";
2899
+ let suppressed = false;
2900
+ const consoleMethodsPrefixable = Object.freeze(["debug", "info", "log", "warn", "error", "trace"]);
2901
+ const stringSubstitutionRegex = /%([soOc]|(\.\d)?[dif])/;
2902
+ const createLogger = (namespace) => {
2903
+ const methods = {};
2904
+ consoleMethodsPrefixable.forEach((method) => {
2905
+ methods[method] = (arg1, ...args) => {
2906
+ if (!console[method] || suppressed)
2907
+ return;
2908
+ if (!namespace) {
2909
+ console[method](arg1, ...args);
2910
+ } else if (stringSubstitutionRegex.test(arg1)) {
2911
+ console[method](`[${namespace}] ${arg1}`, ...args);
2912
+ } else {
2913
+ console[method](`[${namespace}]`, arg1, ...args);
2914
+ }
2915
+ };
2916
+ });
2917
+ return methods;
2918
+ };
2919
+ const icons = {
2920
+ "arrow-left": lazy(() => import("./arrow-left-3d6cd330.mjs")),
2921
+ "arrow-right": lazy(() => import("./arrow-right-994e40f8.mjs")),
2922
+ bin: lazy(() => import("./bin-191739de.mjs")),
2923
+ check: lazy(() => import("./check-b5a70376.mjs")),
2924
+ checkmark: lazy(() => import("./checkmark-fd78da6f.mjs")),
2925
+ "checkmark-small": lazy(() => import("./checkmark-small-bf41309f.mjs")),
2926
+ "chevron-down": lazy(() => import("./chevron-down-df0a3ac6.mjs")),
2927
+ "chevron-right": lazy(() => import("./chevron-right-23ff6e47.mjs")),
2928
+ "chevron-up": lazy(() => import("./chevron-up-abfe0e90.mjs")),
2929
+ company: lazy(() => import("./company-4f71e406.mjs")),
2930
+ contract: lazy(() => import("./contract-5bc99018.mjs")),
2931
+ "controlling-person": lazy(() => import("./controlling-person-88da578f.mjs")),
2932
+ cross: lazy(() => import("./cross-c2431982.mjs")),
2933
+ "decision-maker": lazy(() => import("./decision-maker-a2182544.mjs")),
2934
+ document: lazy(() => import("./document-88abec41.mjs")),
2935
+ download: lazy(() => import("./download-54b1a163.mjs")),
2936
+ edit: lazy(() => import("./edit-e3629680.mjs")),
2937
+ "field-error": lazy(() => import("./field-error-620e1903.mjs")),
2938
+ "info-circle": lazy(() => import("./info-circle-3d2e7ba8.mjs")),
2939
+ "light-bulb": lazy(() => import("./light-bulb-d403fe24.mjs")),
2940
+ location: lazy(() => import("./location-e7c2a8f5.mjs")),
2941
+ "more-horiz": lazy(() => import("./more-horiz-0ca4ec23.mjs")),
2942
+ "new-document": lazy(() => import("./new-document-cfa14b7f.mjs")),
2943
+ owners: lazy(() => import("./owners-a58a9f25.mjs")),
2944
+ payout: lazy(() => import("./payout-575951ec.mjs")),
2945
+ pci: lazy(() => import("./pci-f4b6e5f5.mjs")),
2946
+ plus: lazy(() => import("./plus-25579839.mjs")),
2947
+ remove: lazy(() => import("./remove-6a123f82.mjs")),
2948
+ review: lazy(() => import("./review-14953b30.mjs")),
2949
+ search: lazy(() => import("./search-3edfe795.mjs")),
2950
+ signatory: lazy(() => import("./signatory-c8417fb2.mjs")),
2951
+ store: lazy(() => import("./store-9fc075e6.mjs")),
2952
+ trust: lazy(() => import("./trust-0e40337d.mjs")),
2953
+ warning: lazy(() => import("./warning-bb000c6b.mjs")),
2954
+ wrong: lazy(() => import("./wrong-652db543.mjs"))
2955
+ };
2956
+ const logger$v = createLogger("Icon");
2949
2957
  const Icon = ({
2950
- className = "",
2958
+ className,
2951
2959
  name,
2952
2960
  testId
2953
- }) => jsx("i", {
2954
- className: cx("adyen-kyc-icon", `adyen-kyc-icon-${name}`, className),
2955
- role: "img",
2956
- "aria-hidden": true,
2957
- "data-testid": testId
2958
- });
2961
+ }) => {
2962
+ const LazyLoadedIcon = icons[name];
2963
+ if (!LazyLoadedIcon) {
2964
+ logger$v.error(`No such icon: "${name}"`);
2965
+ return null;
2966
+ }
2967
+ return jsx("span", {
2968
+ className: cx("adyen-kyc-icon", `adyen-kyc-icon-${name}`, className),
2969
+ role: "img",
2970
+ "aria-hidden": true,
2971
+ "data-testid": testId,
2972
+ children: jsx(Suspense, {
2973
+ fallback: null,
2974
+ children: jsx(LazyLoadedIcon, {})
2975
+ })
2976
+ });
2977
+ };
2959
2978
  const Spinner$1 = "";
2960
2979
  const Spinner = ({
2961
2980
  inline = false,
@@ -3149,26 +3168,6 @@ function useFormRouterContext() {
3149
3168
  }
3150
3169
  return context;
3151
3170
  }
3152
- let suppressed = false;
3153
- const consoleMethodsPrefixable = Object.freeze(["debug", "info", "log", "warn", "error", "trace"]);
3154
- const stringSubstitutionRegex = /%([soOc]|(\.\d)?[dif])/;
3155
- const createLogger = (namespace) => {
3156
- const methods = {};
3157
- consoleMethodsPrefixable.forEach((method) => {
3158
- methods[method] = (arg1, ...args) => {
3159
- if (!console[method] || suppressed)
3160
- return;
3161
- if (!namespace) {
3162
- console[method](arg1, ...args);
3163
- } else if (stringSubstitutionRegex.test(arg1)) {
3164
- console[method](`[${namespace}] ${arg1}`, ...args);
3165
- } else {
3166
- console[method](`[${namespace}]`, arg1, ...args);
3167
- }
3168
- };
3169
- });
3170
- return methods;
3171
- };
3172
3171
  const logger$u = createLogger("Link");
3173
3172
  const getIconClass = (icon, external) => {
3174
3173
  if (external) {
@@ -3342,7 +3341,7 @@ function getFormProps(props, innerFormId) {
3342
3341
  readOnlyFields: ((_g = props.readOnlyFields) == null ? void 0 : _g[innerFormId]) ?? [],
3343
3342
  requiredFields: ((_h = props.requiredFields) == null ? void 0 : _h[innerFormId]) ?? [],
3344
3343
  optionalFields: ((_i = props.optionalFields) == null ? void 0 : _i[innerFormId]) ?? [],
3345
- maskedFields: ((_j = props.maskedFields) == null ? void 0 : _j[innerFormId]) ?? [],
3344
+ obscuredFields: ((_j = props.obscuredFields) == null ? void 0 : _j[innerFormId]) ?? [],
3346
3345
  verifyFields: ((_k = props.verifyFields) == null ? void 0 : _k[innerFormId]) ?? [],
3347
3346
  formVerificationErrors: ((_m = (_l = props.problems) == null ? void 0 : _l.verificationErrors) == null ? void 0 : _m[innerFormId]) ?? {},
3348
3347
  fieldValidationErrors: ((_o = (_n = props.problems) == null ? void 0 : _n.validationErrors) == null ? void 0 : _o[innerFormId]) ?? {},
@@ -3369,7 +3368,7 @@ function getFieldProps(props, innerFormFields) {
3369
3368
  masks: {},
3370
3369
  data: {},
3371
3370
  requiredFields: [],
3372
- maskedFields: [],
3371
+ obscuredFields: [],
3373
3372
  optionalFields: [],
3374
3373
  readOnlyFields: [],
3375
3374
  verifyFields: [],
@@ -3397,8 +3396,8 @@ function getFieldProps(props, innerFormFields) {
3397
3396
  if ((_j = props.fieldValidationErrors) == null ? void 0 : _j[field]) {
3398
3397
  nestedFormProps.fieldValidationErrors[field] = props.fieldValidationErrors[field];
3399
3398
  }
3400
- if ((_k = props.maskedFields) == null ? void 0 : _k.includes(field)) {
3401
- nestedFormProps.maskedFields.push(field);
3399
+ if ((_k = props.obscuredFields) == null ? void 0 : _k.includes(field)) {
3400
+ nestedFormProps.obscuredFields.push(field);
3402
3401
  }
3403
3402
  if ((_l = props.validators) == null ? void 0 : _l[field]) {
3404
3403
  if (!(nestedFormProps == null ? void 0 : nestedFormProps.validators)) {
@@ -3476,7 +3475,7 @@ const processField = ({
3476
3475
  value = null,
3477
3476
  mode,
3478
3477
  defaultData,
3479
- maskedFields,
3478
+ obscuredFields,
3480
3479
  fieldContext,
3481
3480
  formatters,
3482
3481
  staticValidate,
@@ -3485,7 +3484,7 @@ const processField = ({
3485
3484
  var _a, _b;
3486
3485
  const formatterFn = ((_a = formatters == null ? void 0 : formatters[key]) == null ? void 0 : _a.formatter) ? (_b = formatters[key]) == null ? void 0 : _b.formatter : formatters == null ? void 0 : formatters[key];
3487
3486
  const formattedValue = formatterFn && typeof formatterFn === "function" ? formatterFn(value, fieldContext) : value;
3488
- const shouldValidateField = !((maskedFields == null ? void 0 : maskedFields.includes(key)) && (defaultData == null ? void 0 : defaultData[key]) === value && !!(defaultData == null ? void 0 : defaultData[key]));
3487
+ const shouldValidateField = !((obscuredFields == null ? void 0 : obscuredFields.includes(key)) && (defaultData == null ? void 0 : defaultData[key]) === value && !!(defaultData == null ? void 0 : defaultData[key]));
3489
3488
  if (shouldValidateField && value) {
3490
3489
  asyncValidate(key, fieldContext.state, mode);
3491
3490
  }
@@ -3504,7 +3503,7 @@ function init({
3504
3503
  schema,
3505
3504
  defaultData,
3506
3505
  fieldProblems,
3507
- maskedFields,
3506
+ obscuredFields,
3508
3507
  formatters,
3509
3508
  staticValidate,
3510
3509
  asyncValidate
@@ -3516,7 +3515,7 @@ function init({
3516
3515
  mode: "blur",
3517
3516
  formatters,
3518
3517
  defaultData,
3519
- maskedFields,
3518
+ obscuredFields,
3520
3519
  fieldContext: {
3521
3520
  state: {
3522
3521
  data: defaultData
@@ -3572,7 +3571,7 @@ function init({
3572
3571
  valid: {},
3573
3572
  errors: {},
3574
3573
  fieldProblems: {},
3575
- maskedFields
3574
+ obscuredFields
3576
3575
  });
3577
3576
  return formData;
3578
3577
  }
@@ -3589,7 +3588,7 @@ function reducer({
3589
3588
  schema,
3590
3589
  selectedSchema,
3591
3590
  formValue,
3592
- maskedFields,
3591
+ obscuredFields,
3593
3592
  fieldProblems,
3594
3593
  defaultData
3595
3594
  }) => {
@@ -3652,7 +3651,7 @@ function reducer({
3652
3651
  schema,
3653
3652
  defaultData,
3654
3653
  fieldProblems,
3655
- maskedFields,
3654
+ obscuredFields,
3656
3655
  staticValidate,
3657
3656
  asyncValidate
3658
3657
  });
@@ -3689,7 +3688,7 @@ function reducer({
3689
3688
  value,
3690
3689
  mode,
3691
3690
  defaultData,
3692
- maskedFields,
3691
+ obscuredFields,
3693
3692
  formatters,
3694
3693
  fieldContext: {
3695
3694
  state: state2
@@ -3752,7 +3751,7 @@ function reducer({
3752
3751
  value: state2.data[cur],
3753
3752
  mode: "blur",
3754
3753
  defaultData,
3755
- maskedFields,
3754
+ obscuredFields,
3756
3755
  formatters,
3757
3756
  fieldContext: {
3758
3757
  state: state2
@@ -3884,7 +3883,7 @@ function useForm({
3884
3883
  rules: rules2,
3885
3884
  asyncRules,
3886
3885
  fieldProblems,
3887
- maskedFields,
3886
+ obscuredFields,
3888
3887
  optionalFields,
3889
3888
  formatters,
3890
3889
  shouldValidate = false
@@ -3912,11 +3911,11 @@ function useForm({
3912
3911
  schema: getSchema,
3913
3912
  defaultData,
3914
3913
  fieldProblems,
3915
- maskedFields,
3914
+ obscuredFields,
3916
3915
  formatters,
3917
3916
  staticValidate: triggerStaticValidation,
3918
3917
  asyncValidate: triggerAsyncValidation
3919
- }), [getSchema, defaultData, fieldProblems, maskedFields, formatters, triggerStaticValidation, triggerAsyncValidation]);
3918
+ }), [getSchema, defaultData, fieldProblems, obscuredFields, formatters, triggerStaticValidation, triggerAsyncValidation]);
3920
3919
  const [state2, dispatch] = useReducer(getReducer(), getInitialData(), init);
3921
3920
  const isValid = useMemo(() => {
3922
3921
  var _a;
@@ -3966,17 +3965,17 @@ function useForm({
3966
3965
  value,
3967
3966
  mode,
3968
3967
  defaultData,
3969
- maskedFields
3968
+ obscuredFields
3970
3969
  });
3971
- }, [defaultData, maskedFields, getTargetValue]);
3970
+ }, [defaultData, obscuredFields, getTargetValue]);
3972
3971
  const triggerValidation = useCallback((selectedSchema) => {
3973
3972
  dispatch({
3974
3973
  type: "validateForm",
3975
3974
  selectedSchema,
3976
3975
  defaultData,
3977
- maskedFields
3976
+ obscuredFields
3978
3977
  });
3979
- }, [defaultData, maskedFields]);
3978
+ }, [defaultData, obscuredFields]);
3980
3979
  useEffect(() => {
3981
3980
  const newSchema = getRequiredFields(state2.data);
3982
3981
  if (!doArraysMatch(state2.schema, newSchema)) {
@@ -4806,12 +4805,9 @@ const SelectButtonContentSingle = ({
4806
4805
  }) => {
4807
4806
  const activeSingle = active.pop();
4808
4807
  return !showList || !filterable ? jsxs(Fragment, {
4809
- children: [(activeSingle == null ? void 0 : activeSingle.sprite) && jsx("svg", {
4808
+ children: [(activeSingle == null ? void 0 : activeSingle.icon) && jsx("span", {
4810
4809
  className: "adyen-kyc-dropdown-button__icon",
4811
- role: "img",
4812
- children: jsx("use", {
4813
- href: activeSingle.sprite
4814
- })
4810
+ children: activeSingle.icon
4815
4811
  }), isSearch && jsx(Icon, {
4816
4812
  name: "search",
4817
4813
  className: "adyen-kyc-dropdown-button-search__icon"
@@ -4933,20 +4929,10 @@ const SelectListItem = ({
4933
4929
  checked: selected,
4934
4930
  name: `adyen-kyc-dropdown-element__checkbox adyen-kyc-dropdown-element__checkbox--${item.id}`
4935
4931
  }) : children ? [children] : jsxs(Fragment, {
4936
- children: [!item.sprite ? item.icon && jsx("img", {
4937
- className: "adyen-kyc-dropdown-element__icon",
4938
- alt: item.name,
4939
- src: item.icon
4940
- }) : jsx("svg", {
4932
+ children: [item.icon && jsx("span", {
4941
4933
  className: "adyen-kyc-dropdown-element__icon",
4942
- role: "img",
4943
- children: jsx("use", {
4944
- href: item.sprite
4945
- })
4946
- }), !item.description ? jsx("span", {
4947
- className: "adyen-kyc-dropdown-element__label",
4948
- children: item.name
4949
- }) : jsxs(Fragment, {
4934
+ children: item.icon
4935
+ }), item.description ? jsxs(Fragment, {
4950
4936
  children: [jsx("span", {
4951
4937
  className: "adyen-kyc-dropdown-element__label adl-u-font-weight-semi-bold",
4952
4938
  children: item.name
@@ -4954,6 +4940,9 @@ const SelectListItem = ({
4954
4940
  className: "adyen-kyc-dropdown-element-description__text",
4955
4941
  children: item.description
4956
4942
  })]
4943
+ }) : jsx("span", {
4944
+ className: "adyen-kyc-dropdown-element__label",
4945
+ children: item.name
4957
4946
  })]
4958
4947
  })
4959
4948
  });
@@ -5254,7 +5243,308 @@ const Select = ({
5254
5243
  })]
5255
5244
  });
5256
5245
  };
5257
- const logger$r = createLogger("CountryField");
5246
+ const Flag$1 = "";
5247
+ const isIntersectionObserverSupported = typeof IntersectionObserver === "function";
5248
+ function useIsElementVisible(ref, fallback = true) {
5249
+ const [isOnScreen, setIsOnScreen] = useState(isIntersectionObserverSupported ? false : fallback);
5250
+ const observerRef = useRef();
5251
+ useEffect(() => {
5252
+ if (!isIntersectionObserverSupported)
5253
+ return;
5254
+ observerRef.current = new IntersectionObserver(([entry]) => setIsOnScreen(entry.isIntersecting));
5255
+ }, []);
5256
+ useEffect(() => {
5257
+ var _a;
5258
+ if (!ref.current)
5259
+ return;
5260
+ (_a = observerRef.current) == null ? void 0 : _a.observe(ref.current);
5261
+ return () => {
5262
+ var _a2;
5263
+ (_a2 = observerRef.current) == null ? void 0 : _a2.disconnect();
5264
+ };
5265
+ }, [ref]);
5266
+ return isOnScreen;
5267
+ }
5268
+ const logger$r = createLogger("Flag");
5269
+ const flagImports = /* @__PURE__ */ Object.assign({
5270
+ "../../../../assets/flags/ad.svg": () => import("./ad-e09b987a.mjs"),
5271
+ "../../../../assets/flags/ae.svg": () => import("./ae-8ca1be27.mjs"),
5272
+ "../../../../assets/flags/af.svg": () => import("./af-342e1bf5.mjs"),
5273
+ "../../../../assets/flags/ag.svg": () => import("./ag-997e3f88.mjs"),
5274
+ "../../../../assets/flags/ai.svg": () => import("./ai-402dc201.mjs"),
5275
+ "../../../../assets/flags/al.svg": () => import("./al-38b31dad.mjs"),
5276
+ "../../../../assets/flags/am.svg": () => import("./am-bc1403ea.mjs"),
5277
+ "../../../../assets/flags/an.svg": () => import("./an-70336f96.mjs"),
5278
+ "../../../../assets/flags/ao.svg": () => import("./ao-eedf3279.mjs"),
5279
+ "../../../../assets/flags/aq.svg": () => import("./aq-2220e7e0.mjs"),
5280
+ "../../../../assets/flags/ar.svg": () => import("./ar-87abe42d.mjs"),
5281
+ "../../../../assets/flags/as.svg": () => import("./as-6e35c5ec.mjs"),
5282
+ "../../../../assets/flags/at.svg": () => import("./at-4310d424.mjs"),
5283
+ "../../../../assets/flags/au.svg": () => import("./au-50f94ba8.mjs"),
5284
+ "../../../../assets/flags/aw.svg": () => import("./aw-97918c9f.mjs"),
5285
+ "../../../../assets/flags/ax.svg": () => import("./ax-567f3585.mjs"),
5286
+ "../../../../assets/flags/az.svg": () => import("./az-85dbb96d.mjs"),
5287
+ "../../../../assets/flags/ba.svg": () => import("./ba-8afe4a33.mjs"),
5288
+ "../../../../assets/flags/bb.svg": () => import("./bb-c4d79528.mjs"),
5289
+ "../../../../assets/flags/bd.svg": () => import("./bd-0f87f359.mjs"),
5290
+ "../../../../assets/flags/be.svg": () => import("./be-63be2126.mjs"),
5291
+ "../../../../assets/flags/bf.svg": () => import("./bf-621f8737.mjs"),
5292
+ "../../../../assets/flags/bg.svg": () => import("./bg-30061757.mjs"),
5293
+ "../../../../assets/flags/bh.svg": () => import("./bh-a858ad79.mjs"),
5294
+ "../../../../assets/flags/bi.svg": () => import("./bi-c08e68ba.mjs"),
5295
+ "../../../../assets/flags/bj.svg": () => import("./bj-8e17226d.mjs"),
5296
+ "../../../../assets/flags/bl.svg": () => import("./bl-b7b32ae6.mjs"),
5297
+ "../../../../assets/flags/bm.svg": () => import("./bm-b728ab56.mjs"),
5298
+ "../../../../assets/flags/bn.svg": () => import("./bn-c706c05b.mjs"),
5299
+ "../../../../assets/flags/bo.svg": () => import("./bo-1fad8399.mjs"),
5300
+ "../../../../assets/flags/br.svg": () => import("./br-11b9980d.mjs"),
5301
+ "../../../../assets/flags/bs.svg": () => import("./bs-090f5bd7.mjs"),
5302
+ "../../../../assets/flags/bt.svg": () => import("./bt-c56334d3.mjs"),
5303
+ "../../../../assets/flags/bv.svg": () => import("./bv-570dcd11.mjs"),
5304
+ "../../../../assets/flags/bw.svg": () => import("./bw-5de93ae1.mjs"),
5305
+ "../../../../assets/flags/by.svg": () => import("./by-e2457131.mjs"),
5306
+ "../../../../assets/flags/bz.svg": () => import("./bz-30bbd0de.mjs"),
5307
+ "../../../../assets/flags/ca.svg": () => import("./ca-39c0e436.mjs"),
5308
+ "../../../../assets/flags/cc.svg": () => import("./cc-ddc2a1db.mjs"),
5309
+ "../../../../assets/flags/cd.svg": () => import("./cd-eab01270.mjs"),
5310
+ "../../../../assets/flags/cf.svg": () => import("./cf-50f7241b.mjs"),
5311
+ "../../../../assets/flags/cg.svg": () => import("./cg-e87aa981.mjs"),
5312
+ "../../../../assets/flags/ch.svg": () => import("./ch-9637f347.mjs"),
5313
+ "../../../../assets/flags/ci.svg": () => import("./ci-41814a2b.mjs"),
5314
+ "../../../../assets/flags/ck.svg": () => import("./ck-60b0d769.mjs"),
5315
+ "../../../../assets/flags/cl.svg": () => import("./cl-931fd7da.mjs"),
5316
+ "../../../../assets/flags/cm.svg": () => import("./cm-55c02792.mjs"),
5317
+ "../../../../assets/flags/cn.svg": () => import("./cn-1526dac5.mjs"),
5318
+ "../../../../assets/flags/co.svg": () => import("./co-c7ada338.mjs"),
5319
+ "../../../../assets/flags/cr.svg": () => import("./cr-bac1e451.mjs"),
5320
+ "../../../../assets/flags/cu.svg": () => import("./cu-af98b602.mjs"),
5321
+ "../../../../assets/flags/cv.svg": () => import("./cv-575fe55b.mjs"),
5322
+ "../../../../assets/flags/cw.svg": () => import("./cw-6f1c60ce.mjs"),
5323
+ "../../../../assets/flags/cx.svg": () => import("./cx-7687e3a9.mjs"),
5324
+ "../../../../assets/flags/cy.svg": () => import("./cy-eeff5dbd.mjs"),
5325
+ "../../../../assets/flags/cz.svg": () => import("./cz-24eff96c.mjs"),
5326
+ "../../../../assets/flags/de.svg": () => import("./de-8e2b6f6c.mjs"),
5327
+ "../../../../assets/flags/dj.svg": () => import("./dj-e0f41411.mjs"),
5328
+ "../../../../assets/flags/dk.svg": () => import("./dk-a5073c43.mjs"),
5329
+ "../../../../assets/flags/dm.svg": () => import("./dm-9a3ee195.mjs"),
5330
+ "../../../../assets/flags/do.svg": () => import("./do-5aa635df.mjs"),
5331
+ "../../../../assets/flags/dz.svg": () => import("./dz-7452e74d.mjs"),
5332
+ "../../../../assets/flags/ec.svg": () => import("./ec-c68c940e.mjs"),
5333
+ "../../../../assets/flags/ee.svg": () => import("./ee-1dbd9a40.mjs"),
5334
+ "../../../../assets/flags/eg.svg": () => import("./eg-40f9b2b5.mjs"),
5335
+ "../../../../assets/flags/eh.svg": () => import("./eh-51f4bae2.mjs"),
5336
+ "../../../../assets/flags/er.svg": () => import("./er-61cda111.mjs"),
5337
+ "../../../../assets/flags/es.svg": () => import("./es-78250575.mjs"),
5338
+ "../../../../assets/flags/et.svg": () => import("./et-63dc8d1e.mjs"),
5339
+ "../../../../assets/flags/fi.svg": () => import("./fi-e2d1f3df.mjs"),
5340
+ "../../../../assets/flags/fj.svg": () => import("./fj-02f497c5.mjs"),
5341
+ "../../../../assets/flags/fk.svg": () => import("./fk-56af40af.mjs"),
5342
+ "../../../../assets/flags/fm.svg": () => import("./fm-0292f2ce.mjs"),
5343
+ "../../../../assets/flags/fo.svg": () => import("./fo-5063373c.mjs"),
5344
+ "../../../../assets/flags/fr.svg": () => import("./fr-fb20da2b.mjs"),
5345
+ "../../../../assets/flags/fx.svg": () => import("./fx-ca4da212.mjs"),
5346
+ "../../../../assets/flags/ga.svg": () => import("./ga-31f5afca.mjs"),
5347
+ "../../../../assets/flags/gb.svg": () => import("./gb-4ae48840.mjs"),
5348
+ "../../../../assets/flags/gd.svg": () => import("./gd-25e40717.mjs"),
5349
+ "../../../../assets/flags/ge.svg": () => import("./ge-939c150e.mjs"),
5350
+ "../../../../assets/flags/gf.svg": () => import("./gf-b8736c20.mjs"),
5351
+ "../../../../assets/flags/gg.svg": () => import("./gg-4c532713.mjs"),
5352
+ "../../../../assets/flags/gh.svg": () => import("./gh-7b187c5f.mjs"),
5353
+ "../../../../assets/flags/gi.svg": () => import("./gi-e59b72be.mjs"),
5354
+ "../../../../assets/flags/gl.svg": () => import("./gl-31e9b8e5.mjs"),
5355
+ "../../../../assets/flags/gm.svg": () => import("./gm-975999b2.mjs"),
5356
+ "../../../../assets/flags/gn.svg": () => import("./gn-3701984d.mjs"),
5357
+ "../../../../assets/flags/gp.svg": () => import("./gp-40fbae20.mjs"),
5358
+ "../../../../assets/flags/gq.svg": () => import("./gq-86021eca.mjs"),
5359
+ "../../../../assets/flags/gr.svg": () => import("./gr-3b0c7597.mjs"),
5360
+ "../../../../assets/flags/gs.svg": () => import("./gs-00bc8674.mjs"),
5361
+ "../../../../assets/flags/gt.svg": () => import("./gt-05eb5f87.mjs"),
5362
+ "../../../../assets/flags/gu.svg": () => import("./gu-497f9b0b.mjs"),
5363
+ "../../../../assets/flags/gw.svg": () => import("./gw-b54f1365.mjs"),
5364
+ "../../../../assets/flags/gy.svg": () => import("./gy-e917fca1.mjs"),
5365
+ "../../../../assets/flags/hk.svg": () => import("./hk-ddd60484.mjs"),
5366
+ "../../../../assets/flags/hm.svg": () => import("./hm-03a2df0b.mjs"),
5367
+ "../../../../assets/flags/hn.svg": () => import("./hn-1748eed1.mjs"),
5368
+ "../../../../assets/flags/hr.svg": () => import("./hr-6b1bd9c8.mjs"),
5369
+ "../../../../assets/flags/ht.svg": () => import("./ht-13a1ab82.mjs"),
5370
+ "../../../../assets/flags/hu.svg": () => import("./hu-81872148.mjs"),
5371
+ "../../../../assets/flags/id.svg": () => import("./id-2c9c4235.mjs"),
5372
+ "../../../../assets/flags/ie.svg": () => import("./ie-ef96fd76.mjs"),
5373
+ "../../../../assets/flags/il.svg": () => import("./il-20c3ccd4.mjs"),
5374
+ "../../../../assets/flags/im.svg": () => import("./im-eb7a7143.mjs"),
5375
+ "../../../../assets/flags/in.svg": () => import("./in-67c16223.mjs"),
5376
+ "../../../../assets/flags/io.svg": () => import("./io-9adeb690.mjs"),
5377
+ "../../../../assets/flags/iq.svg": () => import("./iq-61ffc408.mjs"),
5378
+ "../../../../assets/flags/ir.svg": () => import("./ir-bc3341c2.mjs"),
5379
+ "../../../../assets/flags/is.svg": () => import("./is-7c19d0ff.mjs"),
5380
+ "../../../../assets/flags/it.svg": () => import("./it-fa0dd04c.mjs"),
5381
+ "../../../../assets/flags/je.svg": () => import("./je-a29e157d.mjs"),
5382
+ "../../../../assets/flags/jm.svg": () => import("./jm-53f8ddb8.mjs"),
5383
+ "../../../../assets/flags/jo.svg": () => import("./jo-89d49ef8.mjs"),
5384
+ "../../../../assets/flags/jp.svg": () => import("./jp-f97d7972.mjs"),
5385
+ "../../../../assets/flags/ke.svg": () => import("./ke-545eb9cb.mjs"),
5386
+ "../../../../assets/flags/kg.svg": () => import("./kg-066a524e.mjs"),
5387
+ "../../../../assets/flags/kh.svg": () => import("./kh-39620e7b.mjs"),
5388
+ "../../../../assets/flags/ki.svg": () => import("./ki-900be23e.mjs"),
5389
+ "../../../../assets/flags/km.svg": () => import("./km-b4e8c8ba.mjs"),
5390
+ "../../../../assets/flags/kn.svg": () => import("./kn-8ec9ee75.mjs"),
5391
+ "../../../../assets/flags/kp.svg": () => import("./kp-1cdc64be.mjs"),
5392
+ "../../../../assets/flags/kr.svg": () => import("./kr-53eac37f.mjs"),
5393
+ "../../../../assets/flags/kw.svg": () => import("./kw-c4347b38.mjs"),
5394
+ "../../../../assets/flags/ky.svg": () => import("./ky-a104dc86.mjs"),
5395
+ "../../../../assets/flags/kz.svg": () => import("./kz-d64ba71d.mjs"),
5396
+ "../../../../assets/flags/la.svg": () => import("./la-04577eb2.mjs"),
5397
+ "../../../../assets/flags/lb.svg": () => import("./lb-c2470dd0.mjs"),
5398
+ "../../../../assets/flags/lc.svg": () => import("./lc-58fb8706.mjs"),
5399
+ "../../../../assets/flags/li.svg": () => import("./li-c887f5b7.mjs"),
5400
+ "../../../../assets/flags/lk.svg": () => import("./lk-d10f8746.mjs"),
5401
+ "../../../../assets/flags/lr.svg": () => import("./lr-8422af8e.mjs"),
5402
+ "../../../../assets/flags/ls.svg": () => import("./ls-bdcefbbc.mjs"),
5403
+ "../../../../assets/flags/lt.svg": () => import("./lt-07e70fec.mjs"),
5404
+ "../../../../assets/flags/lu.svg": () => import("./lu-b7c93ece.mjs"),
5405
+ "../../../../assets/flags/lv.svg": () => import("./lv-97900494.mjs"),
5406
+ "../../../../assets/flags/ly.svg": () => import("./ly-86ceab07.mjs"),
5407
+ "../../../../assets/flags/ma.svg": () => import("./ma-21b21bdf.mjs"),
5408
+ "../../../../assets/flags/mc.svg": () => import("./mc-f23b73f0.mjs"),
5409
+ "../../../../assets/flags/md.svg": () => import("./md-82ed1b49.mjs"),
5410
+ "../../../../assets/flags/me.svg": () => import("./me-c45ff596.mjs"),
5411
+ "../../../../assets/flags/mf.svg": () => import("./mf-11563bd1.mjs"),
5412
+ "../../../../assets/flags/mg.svg": () => import("./mg-f5f0546b.mjs"),
5413
+ "../../../../assets/flags/mh.svg": () => import("./mh-06a860ed.mjs"),
5414
+ "../../../../assets/flags/mk.svg": () => import("./mk-91356e13.mjs"),
5415
+ "../../../../assets/flags/ml.svg": () => import("./ml-c3f2014e.mjs"),
5416
+ "../../../../assets/flags/mm.svg": () => import("./mm-d138bd76.mjs"),
5417
+ "../../../../assets/flags/mn.svg": () => import("./mn-9c4664d8.mjs"),
5418
+ "../../../../assets/flags/mo.svg": () => import("./mo-54bd2fbe.mjs"),
5419
+ "../../../../assets/flags/mp.svg": () => import("./mp-796516e8.mjs"),
5420
+ "../../../../assets/flags/mq.svg": () => import("./mq-3511a92a.mjs"),
5421
+ "../../../../assets/flags/mr.svg": () => import("./mr-a4b18b6d.mjs"),
5422
+ "../../../../assets/flags/ms.svg": () => import("./ms-91e4dcef.mjs"),
5423
+ "../../../../assets/flags/mt.svg": () => import("./mt-9b58b6a6.mjs"),
5424
+ "../../../../assets/flags/mu.svg": () => import("./mu-2307760c.mjs"),
5425
+ "../../../../assets/flags/mv.svg": () => import("./mv-32c9699b.mjs"),
5426
+ "../../../../assets/flags/mw.svg": () => import("./mw-2b9505ac.mjs"),
5427
+ "../../../../assets/flags/mx.svg": () => import("./mx-98a49b74.mjs"),
5428
+ "../../../../assets/flags/my.svg": () => import("./my-217f9384.mjs"),
5429
+ "../../../../assets/flags/mz.svg": () => import("./mz-92e1e39c.mjs"),
5430
+ "../../../../assets/flags/na.svg": () => import("./na-3c30775f.mjs"),
5431
+ "../../../../assets/flags/nc.svg": () => import("./nc-c80aff50.mjs"),
5432
+ "../../../../assets/flags/ne.svg": () => import("./ne-b38208ab.mjs"),
5433
+ "../../../../assets/flags/nf.svg": () => import("./nf-780a37dd.mjs"),
5434
+ "../../../../assets/flags/ng.svg": () => import("./ng-f5ea4118.mjs"),
5435
+ "../../../../assets/flags/ni.svg": () => import("./ni-60b41460.mjs"),
5436
+ "../../../../assets/flags/nl.svg": () => import("./nl-975a8624.mjs"),
5437
+ "../../../../assets/flags/no.svg": () => import("./no-952bf512.mjs"),
5438
+ "../../../../assets/flags/np.svg": () => import("./np-5135aa90.mjs"),
5439
+ "../../../../assets/flags/nr.svg": () => import("./nr-cecf1f05.mjs"),
5440
+ "../../../../assets/flags/nu.svg": () => import("./nu-c1ad2dc9.mjs"),
5441
+ "../../../../assets/flags/nz.svg": () => import("./nz-70a6e29f.mjs"),
5442
+ "../../../../assets/flags/om.svg": () => import("./om-e5c99d1e.mjs"),
5443
+ "../../../../assets/flags/pa.svg": () => import("./pa-0e401aff.mjs"),
5444
+ "../../../../assets/flags/pe.svg": () => import("./pe-823d3b3f.mjs"),
5445
+ "../../../../assets/flags/pf.svg": () => import("./pf-5c60fe59.mjs"),
5446
+ "../../../../assets/flags/pg.svg": () => import("./pg-71e8aaec.mjs"),
5447
+ "../../../../assets/flags/ph.svg": () => import("./ph-52f55ac4.mjs"),
5448
+ "../../../../assets/flags/pk.svg": () => import("./pk-372b07db.mjs"),
5449
+ "../../../../assets/flags/pl.svg": () => import("./pl-2c472f58.mjs"),
5450
+ "../../../../assets/flags/pm.svg": () => import("./pm-2195603b.mjs"),
5451
+ "../../../../assets/flags/pn.svg": () => import("./pn-ec73a623.mjs"),
5452
+ "../../../../assets/flags/pr.svg": () => import("./pr-8f159ad6.mjs"),
5453
+ "../../../../assets/flags/ps.svg": () => import("./ps-34dd64b7.mjs"),
5454
+ "../../../../assets/flags/pt.svg": () => import("./pt-b210cd4c.mjs"),
5455
+ "../../../../assets/flags/pw.svg": () => import("./pw-a474545d.mjs"),
5456
+ "../../../../assets/flags/py.svg": () => import("./py-e271f15f.mjs"),
5457
+ "../../../../assets/flags/qa.svg": () => import("./qa-a7ad70ed.mjs"),
5458
+ "../../../../assets/flags/re.svg": () => import("./re-a1440f32.mjs"),
5459
+ "../../../../assets/flags/ro.svg": () => import("./ro-8a071708.mjs"),
5460
+ "../../../../assets/flags/rs.svg": () => import("./rs-f3ea0f97.mjs"),
5461
+ "../../../../assets/flags/ru.svg": () => import("./ru-edd59839.mjs"),
5462
+ "../../../../assets/flags/rw.svg": () => import("./rw-df210dff.mjs"),
5463
+ "../../../../assets/flags/sa.svg": () => import("./sa-18c28dc4.mjs"),
5464
+ "../../../../assets/flags/sb.svg": () => import("./sb-35c0ab8d.mjs"),
5465
+ "../../../../assets/flags/sc.svg": () => import("./sc-82eb7101.mjs"),
5466
+ "../../../../assets/flags/sd.svg": () => import("./sd-dc5fb244.mjs"),
5467
+ "../../../../assets/flags/se.svg": () => import("./se-0413b6f1.mjs"),
5468
+ "../../../../assets/flags/sg.svg": () => import("./sg-8ff78597.mjs"),
5469
+ "../../../../assets/flags/sh.svg": () => import("./sh-7b636341.mjs"),
5470
+ "../../../../assets/flags/si.svg": () => import("./si-2c09bba0.mjs"),
5471
+ "../../../../assets/flags/sj.svg": () => import("./sj-8aff2627.mjs"),
5472
+ "../../../../assets/flags/sk.svg": () => import("./sk-8da1fee7.mjs"),
5473
+ "../../../../assets/flags/sl.svg": () => import("./sl-92cb9116.mjs"),
5474
+ "../../../../assets/flags/sm.svg": () => import("./sm-6fd64a6a.mjs"),
5475
+ "../../../../assets/flags/sn.svg": () => import("./sn-57e8c34b.mjs"),
5476
+ "../../../../assets/flags/so.svg": () => import("./so-f2f0ac03.mjs"),
5477
+ "../../../../assets/flags/sr.svg": () => import("./sr-7869b748.mjs"),
5478
+ "../../../../assets/flags/ss.svg": () => import("./ss-8e9c79ca.mjs"),
5479
+ "../../../../assets/flags/st.svg": () => import("./st-6b3e911c.mjs"),
5480
+ "../../../../assets/flags/sv.svg": () => import("./sv-922ba5ea.mjs"),
5481
+ "../../../../assets/flags/sx.svg": () => import("./sx-c078bfd1.mjs"),
5482
+ "../../../../assets/flags/sy.svg": () => import("./sy-995ec1ee.mjs"),
5483
+ "../../../../assets/flags/sz.svg": () => import("./sz-da33c6e8.mjs"),
5484
+ "../../../../assets/flags/tc.svg": () => import("./tc-1a465526.mjs"),
5485
+ "../../../../assets/flags/td.svg": () => import("./td-a7ff3830.mjs"),
5486
+ "../../../../assets/flags/tf.svg": () => import("./tf-c71eed4a.mjs"),
5487
+ "../../../../assets/flags/tg.svg": () => import("./tg-613f7f5a.mjs"),
5488
+ "../../../../assets/flags/th.svg": () => import("./th-f517ca34.mjs"),
5489
+ "../../../../assets/flags/tj.svg": () => import("./tj-b99ac64f.mjs"),
5490
+ "../../../../assets/flags/tk.svg": () => import("./tk-c0dfeac1.mjs"),
5491
+ "../../../../assets/flags/tl.svg": () => import("./tl-35cc3595.mjs"),
5492
+ "../../../../assets/flags/tm.svg": () => import("./tm-0deecc32.mjs"),
5493
+ "../../../../assets/flags/tn.svg": () => import("./tn-190a49a0.mjs"),
5494
+ "../../../../assets/flags/to.svg": () => import("./to-790cac18.mjs"),
5495
+ "../../../../assets/flags/tr.svg": () => import("./tr-1db5a437.mjs"),
5496
+ "../../../../assets/flags/tt.svg": () => import("./tt-85ae901c.mjs"),
5497
+ "../../../../assets/flags/tv.svg": () => import("./tv-9f2b4198.mjs"),
5498
+ "../../../../assets/flags/tw.svg": () => import("./tw-74aa27b3.mjs"),
5499
+ "../../../../assets/flags/tz.svg": () => import("./tz-2a5cf5e6.mjs"),
5500
+ "../../../../assets/flags/ua.svg": () => import("./ua-9fedceaa.mjs"),
5501
+ "../../../../assets/flags/ug.svg": () => import("./ug-1a8fee80.mjs"),
5502
+ "../../../../assets/flags/um.svg": () => import("./um-d774b142.mjs"),
5503
+ "../../../../assets/flags/us.svg": () => import("./us-20ac3d88.mjs"),
5504
+ "../../../../assets/flags/uy.svg": () => import("./uy-c22e1eb1.mjs"),
5505
+ "../../../../assets/flags/uz.svg": () => import("./uz-f8be4086.mjs"),
5506
+ "../../../../assets/flags/va.svg": () => import("./va-d1f00296.mjs"),
5507
+ "../../../../assets/flags/vc.svg": () => import("./vc-0a06f1c2.mjs"),
5508
+ "../../../../assets/flags/ve.svg": () => import("./ve-3bc33c40.mjs"),
5509
+ "../../../../assets/flags/vg.svg": () => import("./vg-3ad787bf.mjs"),
5510
+ "../../../../assets/flags/vi.svg": () => import("./vi-5a78bf74.mjs"),
5511
+ "../../../../assets/flags/vn.svg": () => import("./vn-50e78ae2.mjs"),
5512
+ "../../../../assets/flags/vu.svg": () => import("./vu-72d9304c.mjs"),
5513
+ "../../../../assets/flags/wf.svg": () => import("./wf-8cdbeff9.mjs"),
5514
+ "../../../../assets/flags/ws.svg": () => import("./ws-745fc88c.mjs"),
5515
+ "../../../../assets/flags/ye.svg": () => import("./ye-f4eaca91.mjs"),
5516
+ "../../../../assets/flags/yt.svg": () => import("./yt-93635c9a.mjs"),
5517
+ "../../../../assets/flags/za.svg": () => import("./za-42d70d0b.mjs"),
5518
+ "../../../../assets/flags/zm.svg": () => import("./zm-571a963f.mjs"),
5519
+ "../../../../assets/flags/zw.svg": () => import("./zw-6cf765c3.mjs"),
5520
+ "../../../../assets/flags/zz.svg": () => import("./zz-067ccc58.mjs")
5521
+ });
5522
+ const getLazyLoadedSvgComponent = (country2) => {
5523
+ const importForCountry = flagImports[`../../../../assets/flags/${country2.toLowerCase()}.svg`];
5524
+ if (!importForCountry) {
5525
+ logger$r.error(`No flag available for ${country2}`);
5526
+ return void 0;
5527
+ }
5528
+ return lazy(importForCountry);
5529
+ };
5530
+ const Flag = ({
5531
+ country: country2
5532
+ }) => {
5533
+ const containerRef = useRef(null);
5534
+ const isVisible = useIsElementVisible(containerRef);
5535
+ const placeholder = jsx("span", {
5536
+ className: "adyen-kyc-flag__placeholder"
5537
+ });
5538
+ const LazyLoadedSvgComponent = isVisible ? getLazyLoadedSvgComponent(country2) : void 0;
5539
+ return jsx("span", {
5540
+ ref: containerRef,
5541
+ className: "adyen-kyc-flag__container",
5542
+ children: jsx(Suspense, {
5543
+ fallback: placeholder,
5544
+ children: LazyLoadedSvgComponent ? jsx(LazyLoadedSvgComponent, {}) : placeholder
5545
+ })
5546
+ });
5547
+ };
5258
5548
  const COUNTRY_FIELD = ["country"];
5259
5549
  function CountryField({
5260
5550
  data,
@@ -5270,19 +5560,15 @@ function CountryField({
5270
5560
  const {
5271
5561
  i18n
5272
5562
  } = useI18nContext();
5273
- const {
5274
- loadFlags: loadFlags2
5275
- } = useConfigurationApi();
5276
5563
  const {
5277
5564
  dataset: countriesFromApi
5278
5565
  } = useDataset(datasetIdentifier.country);
5279
- useEffect(() => {
5280
- loadFlags2().catch(logger$r.error);
5281
- }, [loadFlags2]);
5282
- const countries = countriesFromApi.filter((country2) => allowedCountries ? allowedCountries.includes(country2.id) : true).map((item) => ({
5566
+ const countries = useMemo(() => countriesFromApi.filter((country2) => allowedCountries ? allowedCountries.includes(country2.id) : true).map((item) => ({
5283
5567
  ...item,
5284
- sprite: `#adl-flag-${item.id.toLowerCase()}`
5285
- }));
5568
+ icon: jsx(Flag, {
5569
+ country: item.id
5570
+ })
5571
+ })), [allowedCountries, countriesFromApi]);
5286
5572
  return jsx(Field, {
5287
5573
  name: "country",
5288
5574
  label: (labels2 == null ? void 0 : labels2.country) || i18n.get("country"),
@@ -5894,6 +6180,10 @@ const displayValueToPureValue = (displayValue, mask) => {
5894
6180
  const stripPattern = cachedStripPatterns.get(mask) ?? makeStripPattern(mask);
5895
6181
  return displayValue.replaceAll(stripPattern, "");
5896
6182
  };
6183
+ const isValueObscured = (value) => {
6184
+ var _a;
6185
+ return typeof value === "string" && !!((_a = value.match(/[*]{1,}/)) == null ? void 0 : _a.length);
6186
+ };
5897
6187
  const getAvailableInputTokens = (tokens) => {
5898
6188
  const availableTokens = [];
5899
6189
  for (const token of tokens) {
@@ -5932,11 +6222,17 @@ const getEagerSuffix = (tokens) => {
5932
6222
  return suffix;
5933
6223
  };
5934
6224
  const getPotentialForMoreOptionalInput = (tokens) => tokens.some((token) => token.type === "input" && token.optional);
5935
- const matchAgainstMask = (pureValue, mask) => {
6225
+ const matchAgainstMask = (pureValue, mask, acceptObscuredValue = false) => {
5936
6226
  let tokensToProcess = [...mask.tokens];
5937
6227
  let charsToProcess = pureValue;
5938
6228
  let charIndex = 0;
5939
6229
  let displayValue = "";
6230
+ if (acceptObscuredValue && isValueObscured(pureValue)) {
6231
+ return {
6232
+ outcome: "obscureCorrect",
6233
+ displayValue: pureValue
6234
+ };
6235
+ }
5940
6236
  const shiftChars = (increment) => {
5941
6237
  charIndex += increment;
5942
6238
  charsToProcess = charsToProcess.slice(increment);
@@ -6045,7 +6341,8 @@ const MaskedInputText = ({
6045
6341
  readonly = false,
6046
6342
  disabled = false,
6047
6343
  formatGuidance,
6048
- classNameModifiers
6344
+ classNameModifiers,
6345
+ acceptObscuredValue = false
6049
6346
  }) => {
6050
6347
  const hasExistingData = !isEmpty(value);
6051
6348
  const [isFocused, setIsFocused] = useState(false);
@@ -6078,8 +6375,8 @@ const MaskedInputText = ({
6078
6375
  outcome: "partialCorrect",
6079
6376
  displayValue: pureValue
6080
6377
  };
6081
- return matchAgainstMask(transformOnType ? transformOnType(pureValue) : pureValue, mask);
6082
- }, [mask, transformOnType]);
6378
+ return matchAgainstMask(transformOnType ? transformOnType(pureValue) : pureValue, mask, acceptObscuredValue);
6379
+ }, [mask, transformOnType, acceptObscuredValue]);
6083
6380
  const displayValueToPure = useCallback((displayValue2) => {
6084
6381
  if (!mask)
6085
6382
  return displayValue2;
@@ -6224,6 +6521,11 @@ const alphanumericInputs = (length, optional = false) => makeArrayOfRepeatedObje
6224
6521
  allow: /[\dA-Za-z]/,
6225
6522
  optional
6226
6523
  });
6524
+ const customInputs = (length, regex, optional = false) => makeArrayOfRepeatedObjects(length, {
6525
+ type: "input",
6526
+ allow: regex,
6527
+ optional
6528
+ });
6227
6529
  const makeMask = (...tokens) => ({
6228
6530
  tokens
6229
6531
  });
@@ -6681,49 +6983,49 @@ const businessRegistrationNumberPatterns = {
6681
6983
  }
6682
6984
  };
6683
6985
  const CountryIdNumberPatterns = {
6684
- [CountryCodes.Brazil]: /(^\d{3}\.\d{3}\.\d{3}-\d{2}$)|(^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$)/,
6986
+ [CountryCodes.Brazil]: /^\d{11}$/,
6685
6987
  [CountryCodes.Canada]: /^\d{9}$/,
6686
- [CountryCodes.Denmark]: /(^\d{6}-\d{4}$)/,
6988
+ [CountryCodes.Croatia]: /^\d{11}$/,
6989
+ [CountryCodes.Denmark]: /^\d{10}$/,
6687
6990
  [CountryCodes.Italy]: /^[A-Z]{6}[0-9]{2}[ABCDEHLMPRST][0-9]{2}[A-Z][0-9]{3}[A-Z]$/,
6688
6991
  [CountryCodes.Poland]: /^\d{11}$/,
6689
6992
  [CountryCodes.Romania]: /^\d{13}$/,
6690
- [CountryCodes.Singapore]: /^[a-zA-Z0-9]{9,10}$/,
6691
- [CountryCodes.Spain]: /(^[KL]?\d{7,8}[A-Z]$)|(^[MXYZ]\d{7}[A-Z]$)/,
6692
- [CountryCodes.Sweden]: /(^\d{6}-\d{4}$)|(^\d{8}-\d{4}$)/,
6693
- [CountryCodes.UnitedStates]: /^\d{4}$/,
6694
- US9: /^\d{9}$/
6695
- };
6696
- const customPatternsPerIdNumberType = {
6993
+ [CountryCodes.Singapore]: /^[A-Z][0-9]{6}[A-Z]$/,
6697
6994
  [CountryCodes.Spain]: {
6698
- dni: /(^[KL]?\d{7,8}[A-Z]$)/,
6699
- nie: /(^[MXYZ]\d{7}[A-Z]$)/
6995
+ dni: /(^[KL]?\d{8}[A-Z]$)/,
6996
+ nie: /(^[MXYZ]\d{7,8}[A-Z]$)/
6997
+ },
6998
+ [CountryCodes.Sweden]: /^\d{10}$|^\d{12}$/,
6999
+ [CountryCodes.UnitedStates]: {
7000
+ ssn: /^\d{9}$/,
7001
+ ssnLastFour: /^\d{4}$/
6700
7002
  }
6701
7003
  };
6702
7004
  const DriversLicenseCardNumberPatterns = {
6703
- [CountryCodes.NewZealand]: /^[\d]{3}$/
7005
+ [CountryCodes.NewZealand]: /^[\d]{3}$/,
7006
+ [CountryCodes.Australia]: /^[A-Z0-9]{6,10}$/
6704
7007
  };
6705
7008
  const DriversLicenseNumberPatterns = {
6706
- [CountryCodes.Australia]: /^[A-Za-z\d]{6,11}$/,
6707
- [CountryCodes.HongKong]: /^[A-Z]{1}[A-Z0-9]{7}$/,
6708
- [CountryCodes.NewZealand]: /^[A-Za-z]{2}[\d]{6}$/
7009
+ [CountryCodes.Australia]: /^[A-Za-z0-9]{6,11}$/,
7010
+ [CountryCodes.HongKong]: /^[A-Z0-9]{8}$/,
7011
+ [CountryCodes.NewZealand]: /^[A-Z]{2}[0-9]{6}$/
6709
7012
  };
6710
7013
  const PassportNumberPatterns = {
6711
7014
  [CountryCodes.Australia]: /^[A-Z]{1,2}\d{7}$/,
6712
- [CountryCodes.HongKong]: /^(?=.{9}$)[A-Z]{1,2}\d{6}[A-Z0-9]{1,2}$/,
6713
- [CountryCodes.NewZealand]: /[A-Za-z0-9]{8,9}/
7015
+ [CountryCodes.HongKong]: /^[A-Z]{1,2}\d{6}[A-Z0-9]{1,2}$/,
7016
+ [CountryCodes.NewZealand]: /[A-Z]{2}[0-9]{6,7}/
6714
7017
  };
6715
7018
  const ProofOfIdentityCardPatterns = {
6716
- [CountryCodes.Australia]: /^[A-Za-z\d]{6,10}$/,
6717
7019
  [CountryCodes.HongKong]: /^[A-Z]{1,2}[0-9]{6}[0-9A]$/
6718
7020
  };
6719
7021
  const validatePatternOnBlur = (pattern) => ({
6720
7022
  modes: ["blur"],
6721
7023
  validate: (val) => !!val && pattern.test(val)
6722
7024
  });
6723
- const defaultFieldMetadata$3 = {
7025
+ const defaultFieldMetadata$8 = {
6724
7026
  label: "registrationNumber"
6725
7027
  };
6726
- const defaultFieldConfig$3 = {
7028
+ const defaultFieldConfig$8 = {
6727
7029
  [CountryCodes.Australia]: {
6728
7030
  label: "australianBusinessNumberAcn",
6729
7031
  mask: businessRegistrationNumberMasks[CountryCodes.Australia].default,
@@ -7376,7 +7678,7 @@ const defaultFieldConfig$3 = {
7376
7678
  const businessRegistrationNumberFields = ["registrationNumber", "exemptedFromRegistrationNumber"];
7377
7679
  function BusinessRegistrationNumber(props) {
7378
7680
  var _a;
7379
- const fieldConfig = props.fieldConfig ?? defaultFieldConfig$3;
7681
+ const fieldConfig = props.fieldConfig ?? defaultFieldConfig$8;
7380
7682
  const {
7381
7683
  i18n
7382
7684
  } = useI18nContext();
@@ -7392,7 +7694,7 @@ function BusinessRegistrationNumber(props) {
7392
7694
  const metadata = resolveFieldMetadata(fieldConfig[country2], {
7393
7695
  companyType: companyType2,
7394
7696
  registrationNumberType
7395
- }, defaultFieldMetadata$3);
7697
+ }, defaultFieldMetadata$8);
7396
7698
  const mergedProps = mergeFieldMetadataIntoProps("registrationNumber", metadata, {
7397
7699
  requiredFields: schema
7398
7700
  });
@@ -7621,7 +7923,7 @@ function AccordionItem({
7621
7923
  subTitle = "",
7622
7924
  expandIconPlacement = Placement.Left,
7623
7925
  iconPlacement = Placement.Left,
7624
- icon = "",
7926
+ icon,
7625
7927
  onOpen = noop,
7626
7928
  onClose = noop
7627
7929
  }) {
@@ -7885,6 +8187,32 @@ const individualIdNumberOptions = {
7885
8187
  name: "nie"
7886
8188
  }]
7887
8189
  };
8190
+ const additionallIdNumberOptions = {
8191
+ [CountryCodes.NewZealand]: [{
8192
+ id: "driversLicense",
8193
+ name: "driversLicense"
8194
+ }, {
8195
+ id: "passport",
8196
+ name: "passportNumber"
8197
+ }],
8198
+ [CountryCodes.HongKong]: [{
8199
+ id: "proofOfIdentityCard",
8200
+ name: "stateIssuedProofOfIdentityCard"
8201
+ }, {
8202
+ id: "driversLicense",
8203
+ name: "driversLicense"
8204
+ }, {
8205
+ id: "passport",
8206
+ name: "passportNumber"
8207
+ }],
8208
+ [CountryCodes.Australia]: [{
8209
+ id: "driversLicense",
8210
+ name: "driversLicense"
8211
+ }, {
8212
+ id: "passport",
8213
+ name: "passportNumber"
8214
+ }]
8215
+ };
7888
8216
  const taxIdNumberOptions = {
7889
8217
  [CountryCodes.Denmark]: [{
7890
8218
  id: "momsregistreringsnummerCVR",
@@ -7912,7 +8240,7 @@ const taxIdNumberOptions = {
7912
8240
  name: "employerIdentificationNumber"
7913
8241
  }, {
7914
8242
  id: "ssn",
7915
- name: "socialSecurityNumber9Digits",
8243
+ name: "socialSecurityNumber",
7916
8244
  applicableOnlyFor: [CompanyTypesValue.SOLE_PROPRIETORSHIP]
7917
8245
  }, {
7918
8246
  id: "ssnLastFour",
@@ -7961,7 +8289,7 @@ function CompanyRegistrationNumberTypeSelector({
7961
8289
  }
7962
8290
  const inferCompanyRegistrationNumberType = (registrationNumber2, country2, companyType2) => {
7963
8291
  const optionsForCountry = companyRegistrationNumberOptions[country2];
7964
- const metadataFn = defaultFieldConfig$3[country2];
8292
+ const metadataFn = defaultFieldConfig$8[country2];
7965
8293
  if (!optionsForCountry || !metadataFn || typeof metadataFn !== "function")
7966
8294
  return void 0;
7967
8295
  for (const option of optionsForCountry) {
@@ -7977,10 +8305,10 @@ const inferCompanyRegistrationNumberType = (registrationNumber2, country2, compa
7977
8305
  }
7978
8306
  }
7979
8307
  };
7980
- const defaultFieldMetadata$2 = {
8308
+ const defaultFieldMetadata$7 = {
7981
8309
  label: "taxId"
7982
8310
  };
7983
- const defaultFieldConfig$2 = {
8311
+ const defaultFieldConfig$7 = {
7984
8312
  [CountryCodes.Canada]: {
7985
8313
  label: "businessNumber",
7986
8314
  validators: validatePatternOnBlur(/^\d{9}$/),
@@ -8059,7 +8387,7 @@ const defaultFieldConfig$2 = {
8059
8387
  switch (taxIdNumberType) {
8060
8388
  case "ssn":
8061
8389
  return {
8062
- label: "socialSecurityNumber9Digits",
8390
+ label: "socialSecurityNumber",
8063
8391
  validators: validatePatternOnBlur(/^\d{9}$/),
8064
8392
  mask: {
8065
8393
  mask: makeMask(...numericInputs(9))
@@ -8109,10 +8437,10 @@ const defaultFieldConfig$2 = {
8109
8437
  validators: validatePatternOnBlur(/^\d{12}$/)
8110
8438
  }
8111
8439
  };
8112
- const defaultFieldMetadata$1 = {
8440
+ const defaultFieldMetadata$6 = {
8113
8441
  label: "vatNumber"
8114
8442
  };
8115
- const defaultFieldConfig$1 = {
8443
+ const defaultFieldConfig$6 = {
8116
8444
  [CountryCodes.Austria]: {
8117
8445
  label: "UST-ID",
8118
8446
  validators: validatePatternOnBlur(/^ATU\d{8}$/),
@@ -8741,7 +9069,7 @@ const defaultFieldConfig$1 = {
8741
9069
  };
8742
9070
  const inferTaxIdNumberType = (taxId2, country2) => {
8743
9071
  const optionsForCountry = taxIdNumberOptions[country2];
8744
- const metadataFn = defaultFieldConfig$1[country2] ?? defaultFieldConfig$2[country2];
9072
+ const metadataFn = defaultFieldConfig$6[country2] ?? defaultFieldConfig$7[country2];
8745
9073
  if (!optionsForCountry || !metadataFn || typeof metadataFn !== "function")
8746
9074
  return void 0;
8747
9075
  for (const option of optionsForCountry) {
@@ -8797,11 +9125,11 @@ function TaxId(props) {
8797
9125
  fieldValidationErrors,
8798
9126
  dataStoreId,
8799
9127
  taxIdNumberType,
8800
- fieldConfig = defaultFieldConfig$2
9128
+ fieldConfig = defaultFieldConfig$7
8801
9129
  } = props;
8802
9130
  const metadata = resolveFieldMetadata(fieldConfig[country2], {
8803
9131
  taxIdNumberType
8804
- }, defaultFieldMetadata$2);
9132
+ }, defaultFieldMetadata$7);
8805
9133
  const mergedProps = mergeFieldMetadataIntoProps("taxId", metadata, props);
8806
9134
  const {
8807
9135
  i18n
@@ -8916,12 +9244,12 @@ function VatNumber(props) {
8916
9244
  country: country2,
8917
9245
  fieldValidationErrors,
8918
9246
  dataStoreId,
8919
- fieldConfig = defaultFieldConfig$1,
9247
+ fieldConfig = defaultFieldConfig$6,
8920
9248
  vatNumberType
8921
9249
  } = props;
8922
9250
  const metadata = resolveFieldMetadata(fieldConfig[country2], {
8923
9251
  vatNumberType
8924
- }, defaultFieldMetadata$1);
9252
+ }, defaultFieldMetadata$6);
8925
9253
  const mergedProps = mergeFieldMetadataIntoProps("vatNumber", metadata, props);
8926
9254
  const {
8927
9255
  i18n
@@ -11329,19 +11657,6 @@ function FieldContainer(props) {
11329
11657
  }
11330
11658
  return renderField(fieldName);
11331
11659
  }
11332
- function useIsElementVisible(element) {
11333
- const [isIntersecting, setIntersecting] = useState(false);
11334
- useEffect(() => {
11335
- if (element) {
11336
- const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting));
11337
- observer.observe(element);
11338
- return () => {
11339
- observer.disconnect();
11340
- };
11341
- }
11342
- }, [element]);
11343
- return isIntersecting;
11344
- }
11345
11660
  const logger$n = createLogger("SearchAddress");
11346
11661
  const SearchAddress = ({
11347
11662
  data,
@@ -11362,7 +11677,7 @@ const SearchAddress = ({
11362
11677
  const [searchText, setSearchText] = useState(null);
11363
11678
  const [showSearchList, setShowSearchList] = useState(false);
11364
11679
  const searchBoxRef = useRef(null);
11365
- const isVisible = useIsElementVisible(searchBoxRef.current);
11680
+ const isVisible = useIsElementVisible(searchBoxRef);
11366
11681
  const canAutoFillKompanyAddress = kompanyAddress && searchText !== kompanyAddress && addressType === "registrationAddress";
11367
11682
  useEffect(() => {
11368
11683
  setSearchText(kompanyAddress);
@@ -11917,7 +12232,7 @@ function Address(props) {
11917
12232
  formatters: addressFormatters,
11918
12233
  rules: rules2,
11919
12234
  fieldProblems: fieldValidationErrorsProp,
11920
- maskedFields: []
12235
+ obscuredFields: []
11921
12236
  });
11922
12237
  const formUtils = formUtilities({
11923
12238
  ...props,
@@ -12070,12 +12385,12 @@ function Address(props) {
12070
12385
  addressType,
12071
12386
  kompanyAddress
12072
12387
  }), jsxs("div", {
12073
- className: "adyen-kyc-search-address--location",
12388
+ className: "adyen-kyc-search-address--below",
12074
12389
  children: [jsxs("span", {
12075
- className: "adyen-kyc-search-address--location-country",
12390
+ className: "adyen-kyc-search-address--below-location",
12076
12391
  children: [jsx(Icon, {
12077
12392
  name: "location"
12078
- }), " ", datasetUtils.getCountryName(dataProp.country)]
12393
+ }), datasetUtils.getCountryName(dataProp.country)]
12079
12394
  }), showAddAddressButton && jsx(Button, {
12080
12395
  showAsLink: true,
12081
12396
  testId: "addAddressManuallyBtn",
@@ -12161,7 +12476,7 @@ function RegistrationAddressComponent(props) {
12161
12476
  schema: ["operationalAddressIsSame"],
12162
12477
  defaultData: data,
12163
12478
  rules: validators || registrationAddressValidationRules,
12164
- maskedFields: [],
12479
+ obscuredFields: [],
12165
12480
  optionalFields
12166
12481
  });
12167
12482
  const formUtils = formUtilities(props, i18n);
@@ -12782,7 +13097,7 @@ function isTransferInstrument(account) {
12782
13097
  return account.bankAccount !== void 0;
12783
13098
  }
12784
13099
  const isInstantVerifiedAccount = (account) => Boolean(isTransferInstrument(account) ? account.bankAccount.trustedSource : account.trustedSource);
12785
- const getMaskedAccountNumber = ({
13100
+ const getObscuredAccountNumber = ({
12786
13101
  accountIdentifier,
12787
13102
  realLastFour
12788
13103
  }) => realLastFour ? `*******${realLastFour}` : accountIdentifier;
@@ -12950,55 +13265,6 @@ const updateTaxInformation = ({
12950
13265
  }
12951
13266
  return updatedEntity;
12952
13267
  };
12953
- function cleanNonNumbers(value) {
12954
- return value.replace(/[^0-9]/g, "").trim();
12955
- }
12956
- function maskCPF(value) {
12957
- return value.replace(/\W/gi, "").replace(/(\d{3})(?!$)/g, "$1.").replace(/(.{11}).(\d{1,2})$/g, "$1-$2");
12958
- }
12959
- function maskCNPJ(value) {
12960
- return value.replace(/^(\d{2})(\d{3})(\d{3})?(\d{4})?(\d{1,2})?$/g, (match, g1, g2, g3, g4 = "", g5 = "") => `${g1}.${g2}.${g3}/${g4}${g5.length ? `-${g5}` : ""}`);
12961
- }
12962
- function formatBrazilSSN(value) {
12963
- if (!value || typeof value !== "string")
12964
- return "";
12965
- const cleanValue = cleanNonNumbers(value);
12966
- const formattedValue = cleanValue.length > 11 ? maskCNPJ(cleanValue) : maskCPF(cleanValue);
12967
- return formattedValue;
12968
- }
12969
- function formatDenmarkCPR(value) {
12970
- if (!value || typeof value !== "string")
12971
- return "";
12972
- const cleanValue = cleanNonNumbers(value);
12973
- return cleanValue.replace(/^(\d{6})(\d{4})/g, (match, g1, g2) => `${g1}-${g2}`);
12974
- }
12975
- function formatSwedenPersonnummer(value) {
12976
- if (!value || typeof value !== "string")
12977
- return "";
12978
- const cleanValue = cleanNonNumbers(value);
12979
- if (cleanValue.length > 10) {
12980
- return cleanValue.replace(/^(\d{8})(\d{4})$/g, (match, g1, g2) => `${g1}-${g2}`);
12981
- }
12982
- return cleanValue.replace(/^(\d{6})(\d{4})/g, (match, g1, g2) => `${g1}-${g2}`);
12983
- }
12984
- const validatePerIdNumberType = (input, idNumberType, fallbackCountryCode = null) => {
12985
- var _a, _b;
12986
- const countryCode = fallbackCountryCode || ((input || "").toUpperCase().match(/^[A-Z]{2}/) || [])[0];
12987
- if (!input || !hasText(input) || input.length < 3) {
12988
- return false;
12989
- }
12990
- if (countryCode in customPatternsPerIdNumberType) {
12991
- return input ? !!((_b = (_a = customPatternsPerIdNumberType == null ? void 0 : customPatternsPerIdNumberType[countryCode]) == null ? void 0 : _a[idNumberType]) == null ? void 0 : _b.test(input)) : false;
12992
- }
12993
- return false;
12994
- };
12995
- const formattedCountries = [CountryCodes.Denmark, CountryCodes.Sweden];
12996
- const stripCountryIdFormat = (value, country2) => {
12997
- if (value && formattedCountries.includes(country2)) {
12998
- return cleanNonNumbers(value);
12999
- }
13000
- return value;
13001
- };
13002
13268
  const mandatoryApiFields = {
13003
13269
  INDIVIDUAL: ["personalDetails.firstName", "personalDetails.lastName", "personalDetails.residencyCountry"],
13004
13270
  DECISIONMAKER: ["personalDetails.firstName", "personalDetails.lastName", "personalDetails.residencyCountry", "personalDetails.role", "personalDetails.jobTitle"],
@@ -13007,7 +13273,7 @@ const mandatoryApiFields = {
13007
13273
  SOLE_PROPRIETORSHIP: ["solePropNameAndCountry.legalCompanyName", "solePropNameAndCountry.country"],
13008
13274
  TRUST: ["trustRegistrationDetails.legalName", "trustRegistrationDetails.country"]
13009
13275
  };
13010
- const individualMaskedFields = ["personalDetails.idNumber", "personalDetails.idNumberExempt"];
13276
+ const individualObscuredFields = ["personalDetails.idNumber", "personalDetails.idNumberExempt"];
13011
13277
  const individualBaseMapping = {
13012
13278
  "personalDetails.firstName": "individual.name.firstName",
13013
13279
  "personalDetails.lastName": "individual.name.lastName",
@@ -13307,7 +13573,7 @@ const adjustIdentificationData = (data, apiData) => {
13307
13573
  } = data;
13308
13574
  const identificationData = {
13309
13575
  ...apiData,
13310
- number: stripCountryIdFormat(idNumber2, residencyCountry2),
13576
+ number: idNumber2,
13311
13577
  type: getIdentityTypeToApiIdentityTypeMap(data)[typeOfIdentity2] ?? "nationalIdNumber"
13312
13578
  };
13313
13579
  switch (typeOfIdentity2) {
@@ -15277,273 +15543,463 @@ const ContactDetailsComp = memo(ContactDetailsComponent, (prevProps, nextProps)
15277
15543
  ContactDetailsComponent.defaultProps = {
15278
15544
  data: {}
15279
15545
  };
15280
- const IdentityNumber$1 = "";
15281
- const CHECKCHARACTER_ODD_VALUE = {
15282
- 0: 1,
15283
- 1: 0,
15284
- 2: 5,
15285
- 3: 7,
15286
- 4: 9,
15287
- 5: 13,
15288
- 6: 15,
15289
- 7: 17,
15290
- 8: 19,
15291
- 9: 21,
15292
- A: 1,
15293
- B: 0,
15294
- C: 5,
15295
- D: 7,
15296
- E: 9,
15297
- F: 13,
15298
- G: 15,
15299
- H: 17,
15300
- I: 19,
15301
- J: 21,
15302
- K: 2,
15303
- L: 4,
15304
- M: 18,
15305
- N: 20,
15306
- O: 11,
15307
- P: 3,
15308
- Q: 6,
15309
- R: 8,
15310
- S: 12,
15311
- T: 14,
15312
- U: 16,
15313
- V: 10,
15314
- W: 22,
15315
- X: 25,
15316
- Y: 24,
15317
- Z: 23
15318
- };
15319
- const CHECKCHARACTER_EVEN_VALUE = {
15320
- 0: 0,
15321
- 1: 1,
15322
- 2: 2,
15323
- 3: 3,
15324
- 4: 4,
15325
- 5: 5,
15326
- 6: 6,
15327
- 7: 7,
15328
- 8: 8,
15329
- 9: 9,
15330
- A: 0,
15331
- B: 1,
15332
- C: 2,
15333
- D: 3,
15334
- E: 4,
15335
- F: 5,
15336
- G: 6,
15337
- H: 7,
15338
- I: 8,
15339
- J: 9,
15340
- K: 10,
15341
- L: 11,
15342
- M: 12,
15343
- N: 13,
15344
- O: 14,
15345
- P: 15,
15346
- Q: 16,
15347
- R: 17,
15348
- S: 18,
15349
- T: 19,
15350
- U: 20,
15351
- V: 21,
15352
- W: 22,
15353
- X: 23,
15354
- Y: 24,
15355
- Z: 25
15356
- };
15357
- function validCheckCharacter(input, calculationInput) {
15358
- if (!/^[A-Z]$/.test(input)) {
15359
- return false;
15360
- }
15361
- let total = 0;
15362
- for (let i = 0; i < 15; i += 1) {
15363
- const set = i % 2 === 1 ? CHECKCHARACTER_EVEN_VALUE : CHECKCHARACTER_ODD_VALUE;
15364
- const token = calculationInput.substring(i, i + 1);
15365
- const value = set[token];
15366
- if (value == null) {
15367
- return true;
15368
- }
15369
- total = (total + value) % 26;
15370
- }
15371
- return total >= 0 && total <= 26 && "ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(total) === input;
15372
- }
15373
- const createErrorMessageObject = (format, idType) => ({
15374
- key: "validationPleaseEnterAValidIdNumberWithFormat",
15375
- values: {
15376
- format,
15377
- idType
15378
- }
15379
- });
15380
- const countryIdNumberFormatters = {
15546
+ const IdentityNumber = "";
15547
+ const defaultFieldMetadata$5 = {
15548
+ label: "idNumber"
15549
+ };
15550
+ const defaultFieldConfig$5 = {
15381
15551
  [CountryCodes.Brazil]: {
15382
- idNumber: {
15383
- formatter: formatBrazilSSN,
15384
- maxlength: 18
15385
- }
15386
- },
15387
- [CountryCodes.Denmark]: {
15388
- idNumber: {
15389
- formatter: formatDenmarkCPR,
15390
- maxlength: 11
15391
- }
15392
- },
15393
- [CountryCodes.Sweden]: {
15394
- idNumber: {
15395
- formatter: formatSwedenPersonnummer,
15396
- maxlength: 13
15552
+ label: "cadastroDePessoasFisicas",
15553
+ mask: {
15554
+ mask: makeMask(...numericInputs(3), ...nonInputs(" . "), ...numericInputs(3), ...nonInputs(" . "), ...numericInputs(3), ...nonInputs(" - "), ...numericInputs(2))
15555
+ },
15556
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Brazil]),
15557
+ guidanceText: {
15558
+ key: "enterNDigitsForExample",
15559
+ values: {
15560
+ numDigits: "11",
15561
+ example: "231.002.999-00"
15562
+ }
15397
15563
  }
15398
15564
  },
15399
- [CountryCodes.UnitedStates]: {
15400
- idNumber: {
15401
- maxlength: 4
15565
+ [CountryCodes.Canada]: {
15566
+ label: "socialInsuranceNumber",
15567
+ mask: {
15568
+ mask: makeMask(...numericInputs(3), spacer, ...numericInputs(3), spacer, ...numericInputs(3))
15569
+ },
15570
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Canada]),
15571
+ guidanceText: {
15572
+ key: "enterNDigitsForExample",
15573
+ values: {
15574
+ numDigits: "9",
15575
+ example: "046 454 286"
15576
+ }
15402
15577
  }
15403
15578
  },
15404
- US9: {
15405
- idNumber: {
15406
- maxlength: 9
15579
+ [CountryCodes.Croatia]: {
15580
+ label: "oib",
15581
+ mask: {
15582
+ mask: makeMask(...numericInputs(11))
15583
+ },
15584
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Croatia]),
15585
+ guidanceText: {
15586
+ key: "enterNDigitsForExample",
15587
+ values: {
15588
+ numDigits: "11",
15589
+ example: "94577403194"
15590
+ }
15407
15591
  }
15408
- }
15409
- };
15410
- const IdNumberValidationRules = {
15411
- idNumber: [{
15412
- validate: (value) => !!value,
15413
- modes: ["blur"],
15414
- errorMessage: "fieldIsRequired"
15415
- }]
15416
- };
15417
- const countryIdNumberValidationRules = {
15418
- [CountryCodes.Brazil]: {
15419
- idNumber: [{
15420
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.BR.test(idNumber2) : false,
15421
- modes: ["blur"],
15422
- errorMessage: "invalidFormatIdentityNumberBR"
15423
- }]
15424
- },
15425
- [CountryCodes.Canada]: {
15426
- idNumber: [{
15427
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.CA.test(idNumber2) : false,
15428
- modes: ["blur"],
15429
- errorMessage: "invalidFormatIdentityNumberCA"
15430
- }]
15431
15592
  },
15432
15593
  [CountryCodes.Denmark]: {
15433
- idNumber: [{
15434
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.DK.test(idNumber2) : false,
15435
- modes: ["blur"],
15436
- errorMessage: "invalidFormatIdentityNumberDK"
15437
- }]
15594
+ label: "detCentralePersonregister",
15595
+ mask: {
15596
+ mask: makeMask(...numericInputs(6), ...nonInputs(" - "), ...numericInputs(4))
15597
+ },
15598
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Denmark]),
15599
+ guidanceText: {
15600
+ key: "enterNDigitsForExample",
15601
+ values: {
15602
+ numDigits: "10",
15603
+ example: "010111-1113"
15604
+ }
15605
+ }
15438
15606
  },
15439
15607
  [CountryCodes.Italy]: {
15440
- idNumber: [{
15441
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.IT.test(idNumber2) && validCheckCharacter(idNumber2.substring(15, 16), idNumber2.substring(0, 15)) : false,
15442
- modes: ["blur"],
15443
- errorMessage: "invalidFormatIdentityNumberIT"
15444
- }]
15608
+ label: "codiceFiscale",
15609
+ mask: {
15610
+ mask: makeMask(...alphaInputs(6), ...numericInputs(2), ...customInputs(1, /^[ABCDEHLMPRST]$/), ...numericInputs(2), ...alphaInputs(1), ...numericInputs(3), ...alphaInputs(1)),
15611
+ transformOnType: uppercase
15612
+ },
15613
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Italy]),
15614
+ guidanceText: {
15615
+ key: "enterNCharactersWithAMixForExample",
15616
+ values: {
15617
+ numChars: "16",
15618
+ example: "YULSQG40E60L271T"
15619
+ }
15620
+ }
15445
15621
  },
15446
15622
  [CountryCodes.Poland]: {
15447
- idNumber: [{
15448
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.PL.test(idNumber2) : false,
15449
- modes: ["blur"],
15450
- errorMessage: "invalidFormatIdentityNumberPL"
15451
- }]
15452
- },
15453
- [CountryCodes.Romania]: {
15454
- idNumber: [{
15455
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.RO.test(idNumber2) : false,
15456
- modes: ["blur"],
15457
- errorMessage: "invalidFormatIdentityNumberRO"
15458
- }]
15459
- },
15460
- [CountryCodes.Singapore]: {
15461
- idNumber: [{
15462
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.SG.test(idNumber2) : false,
15463
- modes: ["blur"],
15464
- errorMessage: "invalidFormatIdentityNumberSG"
15465
- }]
15466
- },
15467
- [CountryCodes.Spain]: {
15468
- idNumber: [{
15469
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.ES.test(idNumber2) : false,
15470
- modes: ["blur"],
15471
- errorMessage: "invalidFormatIdentityNumberES"
15472
- }]
15623
+ label: "peselNumber",
15624
+ mask: {
15625
+ mask: makeMask(...numericInputs(11))
15626
+ },
15627
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Poland]),
15628
+ guidanceText: {
15629
+ key: "enterNDigitsForExample",
15630
+ values: {
15631
+ numDigits: "11",
15632
+ example: "23012224757"
15633
+ }
15634
+ }
15473
15635
  },
15474
- [CountryCodes.Sweden]: {
15475
- idNumber: [{
15476
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.SE.test(idNumber2) : false,
15477
- modes: ["blur"],
15478
- errorMessage: "invalidFormatIdentityNumberSE"
15479
- }]
15636
+ [CountryCodes.PuertoRico]: ({
15637
+ idNumberType
15638
+ }) => {
15639
+ switch (idNumberType) {
15640
+ case "ssn":
15641
+ return {
15642
+ label: "socialSecurityNumber",
15643
+ mask: {
15644
+ mask: makeMask(...numericInputs(3), ...nonInputs(" - "), ...numericInputs(2), ...nonInputs(" - "), ...numericInputs(4))
15645
+ },
15646
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.UnitedStates].ssn),
15647
+ guidanceText: {
15648
+ key: "enterNDigitsForExample",
15649
+ values: {
15650
+ numDigits: "9",
15651
+ example: "123-12-1234"
15652
+ }
15653
+ }
15654
+ };
15655
+ case "ssnLastFour":
15656
+ default:
15657
+ return {
15658
+ label: "socialSecurityNumber",
15659
+ mask: {
15660
+ mask: makeMask(...nonInputs("***"), ...nonInputs(" - "), ...nonInputs("**"), ...nonInputs(" - "), ...numericInputs(4))
15661
+ },
15662
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.UnitedStates].ssnLastFour),
15663
+ guidanceText: {
15664
+ key: "enterLastNDigitsForExample",
15665
+ values: {
15666
+ numDigits: "4",
15667
+ example: "***-**-1234"
15668
+ }
15669
+ }
15670
+ };
15671
+ }
15480
15672
  },
15481
- [CountryCodes.UnitedStates]: {
15482
- idNumber: [{
15483
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.US.test(idNumber2) : false,
15484
- modes: ["blur"],
15485
- errorMessage: "invalidFormatIdentityNumberUS"
15486
- }]
15673
+ [CountryCodes.Romania]: {
15674
+ label: "codNumericPersonal",
15675
+ mask: {
15676
+ mask: makeMask(...numericInputs(13))
15677
+ },
15678
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Romania]),
15679
+ guidanceText: {
15680
+ key: "enterNDigitsForExample",
15681
+ values: {
15682
+ numDigits: "13",
15683
+ example: "8001011234567"
15684
+ }
15685
+ }
15487
15686
  },
15488
- US9: {
15489
- idNumber: [{
15490
- validate: (idNumber2) => idNumber2 ? CountryIdNumberPatterns.US9.test(idNumber2) : false,
15491
- modes: ["blur"],
15492
- errorMessage: "invalidFormatIdentityNumberUS9"
15493
- }]
15687
+ [CountryCodes.Singapore]: {
15688
+ label: "nric",
15689
+ mask: {
15690
+ mask: makeMask(...alphaInputs(1), ...numericInputs(6), ...alphaInputs(1)),
15691
+ transformOnType: uppercase
15692
+ },
15693
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Singapore]),
15694
+ guidanceText: {
15695
+ key: "enterNCharactersWithAMixForExample",
15696
+ values: {
15697
+ numChars: "8",
15698
+ example: "T0123456J"
15699
+ }
15700
+ }
15701
+ },
15702
+ [CountryCodes.Spain]: ({
15703
+ idNumberType
15704
+ }) => {
15705
+ switch (idNumberType) {
15706
+ case "dni":
15707
+ return {
15708
+ label: "dni",
15709
+ mask: {
15710
+ mask: makeMask(...customInputs(1, /^[KL]$/, true), ...numericInputs(8), ...alphaInputs(1)),
15711
+ transformOnType: uppercase
15712
+ },
15713
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Spain].dni),
15714
+ guidanceText: {
15715
+ key: "enterXToYCharactersWithAMixForExample",
15716
+ values: {
15717
+ minChars: "9",
15718
+ maxChars: "10",
15719
+ example: "12345678A or L12345678A"
15720
+ }
15721
+ }
15722
+ };
15723
+ case "nie":
15724
+ default:
15725
+ return {
15726
+ label: "nie",
15727
+ mask: {
15728
+ mask: makeMask(...customInputs(1, /^[MXYZ]$/), ...numericInputs(7), ...numericInputs(1, true), ...alphaInputs(1)),
15729
+ transformOnType: uppercase
15730
+ },
15731
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Spain].nie),
15732
+ guidanceText: {
15733
+ key: "enterXToYCharactersWithAMixForExample",
15734
+ values: {
15735
+ minChars: "9",
15736
+ maxChars: "10",
15737
+ example: "X12345678A or Z6527153N"
15738
+ }
15739
+ }
15740
+ };
15741
+ }
15742
+ },
15743
+ [CountryCodes.Sweden]: {
15744
+ label: "personnummer",
15745
+ mask: {
15746
+ mask: makeMask(...numericInputs(6), ...numericInputs(2, true), ...nonInputs(" - "), ...numericInputs(4))
15747
+ },
15748
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.Sweden]),
15749
+ guidanceText: {
15750
+ key: "enterXOrYDigitsForExample",
15751
+ values: {
15752
+ xDigits: "10",
15753
+ yDigits: "12",
15754
+ example: "640823-3234 or 19640823-3234"
15755
+ }
15756
+ }
15757
+ },
15758
+ [CountryCodes.UnitedStates]: ({
15759
+ idNumberType
15760
+ }) => {
15761
+ switch (idNumberType) {
15762
+ case "ssn":
15763
+ return {
15764
+ label: "socialSecurityNumber",
15765
+ mask: {
15766
+ mask: makeMask(...numericInputs(3), ...nonInputs(" - "), ...numericInputs(2), ...nonInputs(" - "), ...numericInputs(4))
15767
+ },
15768
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.UnitedStates].ssn),
15769
+ guidanceText: {
15770
+ key: "enterNDigitsForExample",
15771
+ values: {
15772
+ numDigits: "9",
15773
+ example: "123-12-1234"
15774
+ }
15775
+ }
15776
+ };
15777
+ case "ssnLastFour":
15778
+ default:
15779
+ return {
15780
+ label: "socialSecurityNumber",
15781
+ mask: {
15782
+ mask: makeMask(...nonInputs("***"), ...nonInputs(" - "), ...nonInputs("**"), ...nonInputs(" - "), ...numericInputs(4))
15783
+ },
15784
+ validators: validatePatternOnBlur(CountryIdNumberPatterns[CountryCodes.UnitedStates].ssnLastFour),
15785
+ guidanceText: {
15786
+ key: "enterLastNDigitsForExample",
15787
+ values: {
15788
+ numDigits: "4",
15789
+ example: "***-**-1234"
15790
+ }
15791
+ }
15792
+ };
15793
+ }
15794
+ },
15795
+ [CountryCodes.NewZealand]: ({
15796
+ idNumberType
15797
+ }) => {
15798
+ switch (idNumberType) {
15799
+ case "passport":
15800
+ return {
15801
+ label: "passportNumber",
15802
+ mask: {
15803
+ mask: makeMask(...alphaInputs(2), ...numericInputs(6), ...numericInputs(1, true)),
15804
+ transformOnType: uppercase
15805
+ },
15806
+ validators: validatePatternOnBlur(PassportNumberPatterns[CountryCodes.NewZealand]),
15807
+ guidanceText: {
15808
+ key: "enterXToYCharactersWithAMixForExample",
15809
+ values: {
15810
+ minChars: "8",
15811
+ maxChars: "9",
15812
+ example: "RA000750"
15813
+ }
15814
+ }
15815
+ };
15816
+ case "driversLicense":
15817
+ default:
15818
+ return {
15819
+ label: "driversLicense",
15820
+ mask: {
15821
+ mask: makeMask(...alphaInputs(2), ...numericInputs(6)),
15822
+ transformOnType: uppercase
15823
+ },
15824
+ validators: validatePatternOnBlur(DriversLicenseNumberPatterns[CountryCodes.NewZealand]),
15825
+ guidanceText: {
15826
+ key: "enterNCharactersWithAMixForExample",
15827
+ values: {
15828
+ numChars: "8",
15829
+ example: "KA111112"
15830
+ }
15831
+ }
15832
+ };
15833
+ }
15834
+ },
15835
+ [CountryCodes.HongKong]: ({
15836
+ idNumberType
15837
+ }) => {
15838
+ switch (idNumberType) {
15839
+ case "proofOfIdentityCard":
15840
+ return {
15841
+ label: "hkid",
15842
+ mask: {
15843
+ mask: makeMask(...alphaInputs(1), ...alphaInputs(1, true), ...numericInputs(6), ...nonInputs("("), ...customInputs(1, /^[0-9A]$/), ...nonInputs(")")),
15844
+ transformOnType: uppercase
15845
+ },
15846
+ validators: validatePatternOnBlur(ProofOfIdentityCardPatterns[CountryCodes.HongKong]),
15847
+ guidanceText: {
15848
+ key: "enterXToYCharactersWithAMixForExample",
15849
+ values: {
15850
+ minChars: "8",
15851
+ maxChars: "9",
15852
+ example: "Z683365(5) or AB123456(A)"
15853
+ }
15854
+ }
15855
+ };
15856
+ case "passport":
15857
+ return {
15858
+ label: "passportNumber",
15859
+ mask: {
15860
+ mask: makeMask(...alphaInputs(1), ...alphaInputs(1, true), ...numericInputs(6), ...alphanumericInputs(1), ...alphanumericInputs(1, true)),
15861
+ transformOnType: uppercase
15862
+ },
15863
+ validators: validatePatternOnBlur(PassportNumberPatterns[CountryCodes.HongKong]),
15864
+ guidanceText: {
15865
+ key: "enterXToYCharactersWithAMixForExample",
15866
+ values: {
15867
+ minChars: "8",
15868
+ maxChars: "10",
15869
+ example: "H12345678"
15870
+ }
15871
+ }
15872
+ };
15873
+ case "driversLicense":
15874
+ default:
15875
+ return {
15876
+ label: "driversLicense",
15877
+ mask: {
15878
+ mask: makeMask(...alphanumericInputs(7), spacer, ...alphanumericInputs(1))
15879
+ },
15880
+ validators: validatePatternOnBlur(DriversLicenseNumberPatterns[CountryCodes.HongKong]),
15881
+ guidanceText: {
15882
+ key: "enterNCharactersForExample",
15883
+ values: {
15884
+ numChars: "8",
15885
+ example: "A123452 0"
15886
+ }
15887
+ }
15888
+ };
15889
+ }
15890
+ },
15891
+ [CountryCodes.Australia]: ({
15892
+ idNumberType
15893
+ }) => {
15894
+ switch (idNumberType) {
15895
+ case "passport":
15896
+ return {
15897
+ label: "passportNumber",
15898
+ mask: {
15899
+ mask: makeMask(...alphaInputs(1), ...alphaInputs(1, true), ...numericInputs(7)),
15900
+ transformOnType: uppercase
15901
+ },
15902
+ validators: validatePatternOnBlur(PassportNumberPatterns[CountryCodes.Australia]),
15903
+ guidanceText: {
15904
+ key: "enterXToYCharactersWithAMixForExample",
15905
+ values: {
15906
+ minChars: "8",
15907
+ maxChars: "9",
15908
+ example: "RA0123456"
15909
+ }
15910
+ }
15911
+ };
15912
+ case "driversLicense":
15913
+ default:
15914
+ return {
15915
+ label: "driversLicense",
15916
+ mask: {
15917
+ mask: makeMask(...alphanumericInputs(6), ...alphanumericInputs(5, true)),
15918
+ transformOnType: uppercase
15919
+ },
15920
+ validators: validatePatternOnBlur(DriversLicenseNumberPatterns[CountryCodes.Australia]),
15921
+ guidanceText: {
15922
+ key: "enterXToYCharactersWithAMixForExample",
15923
+ values: {
15924
+ minChars: "6",
15925
+ maxChars: "11",
15926
+ example: "1314159 or GN7073"
15927
+ }
15928
+ }
15929
+ };
15930
+ }
15494
15931
  }
15495
15932
  };
15496
- const idNumberCustomValidationRules = {
15497
- [CountryCodes.Spain]: {
15498
- dni: {
15499
- idNumber: [{
15500
- validate: (idNumber2) => validatePerIdNumberType(idNumber2, "dni", CountryCodes.Spain),
15501
- modes: ["blur"],
15502
- errorMessage: createErrorMessageObject("L0000000J", "DNI")
15503
- }]
15933
+ const licenseCardNumberDefaultMetadata = {
15934
+ label: "licenseCardNumber"
15935
+ };
15936
+ const licenseCardNumberDefaultConfig = {
15937
+ [CountryCodes.NewZealand]: {
15938
+ label: "licenceVersionNumber",
15939
+ mask: {
15940
+ mask: makeMask(...numericInputs(3))
15504
15941
  },
15505
- nie: {
15506
- idNumber: [{
15507
- validate: (idNumber2) => validatePerIdNumberType(idNumber2, "nie", CountryCodes.Spain),
15508
- modes: ["blur"],
15509
- errorMessage: createErrorMessageObject("M0000000L", "NIE")
15510
- }]
15942
+ validators: validatePatternOnBlur(DriversLicenseCardNumberPatterns[CountryCodes.NewZealand]),
15943
+ guidanceText: {
15944
+ key: "enterNDigitsForExample",
15945
+ values: {
15946
+ numDigits: "3",
15947
+ example: "108"
15948
+ }
15949
+ }
15950
+ },
15951
+ [CountryCodes.Australia]: {
15952
+ label: "licenseCardNumber",
15953
+ mask: {
15954
+ mask: makeMask(...alphanumericInputs(6), ...alphanumericInputs(4, true)),
15955
+ transformOnType: uppercase
15956
+ },
15957
+ validators: validatePatternOnBlur(DriversLicenseCardNumberPatterns[CountryCodes.Australia]),
15958
+ guidanceText: {
15959
+ key: "enterXToYCharactersWithAMixForExample",
15960
+ values: {
15961
+ minChars: "6",
15962
+ maxChars: "10",
15963
+ example: "FCC3456789 or 1898442"
15964
+ }
15511
15965
  }
15512
15966
  }
15513
15967
  };
15514
15968
  const idNumberFields = ["idNumber", "idNumberExempt"];
15515
- function IdentityNumber(props) {
15969
+ function IdentityNumberComponent(props) {
15516
15970
  const {
15517
15971
  i18n
15518
15972
  } = useI18nContext();
15519
15973
  const {
15520
- classNames,
15521
15974
  country: country2,
15522
15975
  data: propData = {},
15523
- dataPlaceholder,
15524
15976
  dataStoreId,
15525
15977
  errors: propErrors,
15526
15978
  fieldValidationErrors,
15527
- idNumberType = "idNumber",
15528
- maskedFields,
15529
- requiredFields
15979
+ idNumberType,
15980
+ obscuredFields,
15981
+ requiredFields,
15982
+ fieldConfig: propFieldConfig,
15983
+ shouldValidate: propShouldValidate
15530
15984
  } = props;
15531
15985
  const stateRef = useRef({
15532
15986
  setState: null
15533
15987
  });
15534
- const formUtils = formUtilities(props, i18n);
15535
15988
  const [errors, setErrors] = useState(propErrors);
15536
15989
  const [data, setData] = useState({
15537
15990
  ...propData,
15538
15991
  idNumberExempt: !!(propData == null ? void 0 : propData.idNumberExempt)
15539
15992
  });
15540
- const formattingRules = useMemo(() => mergeCountryBasedRulesets({}, countryIdNumberFormatters, country2), [country2]);
15541
- const validationRules = useMemo(() => mergeCountryBasedValidators(IdNumberValidationRules, countryIdNumberValidationRules, country2), [country2]);
15542
- const maxLengthForField = getMaxLengthByFormatRuleset(formattingRules, "idNumber");
15543
- const customRules = useMemo(() => {
15544
- var _a;
15545
- return (_a = idNumberCustomValidationRules == null ? void 0 : idNumberCustomValidationRules[props.country]) == null ? void 0 : _a[idNumberType];
15546
- }, [props.country, idNumberType]);
15993
+ const schema = requiredFields ?? idNumberFields;
15994
+ const fieldConfig = propFieldConfig ?? defaultFieldConfig$5;
15995
+ const metadata = resolveFieldMetadata(fieldConfig[country2], {
15996
+ idNumberType
15997
+ }, defaultFieldMetadata$5);
15998
+ const mergedProps = mergeFieldMetadataIntoProps("idNumber", metadata, {
15999
+ requiredFields: schema,
16000
+ obscuredFields
16001
+ });
16002
+ const formUtils = formUtilities(mergedProps, i18n);
15547
16003
  const {
15548
16004
  handleChangeFor,
15549
16005
  data: formData,
@@ -15554,13 +16010,12 @@ function IdentityNumber(props) {
15554
16010
  setErrors: setFormErrors,
15555
16011
  triggerValidation
15556
16012
  } = useForm({
15557
- ...props,
15558
- schema: requiredFields ?? idNumberFields,
15559
- formatters: formattingRules,
15560
- rules: customRules || validationRules,
16013
+ ...mergedProps,
16014
+ schema,
15561
16015
  defaultData: propData,
16016
+ rules: mergedProps.validators,
15562
16017
  fieldProblems: fieldValidationErrors,
15563
- maskedFields
16018
+ obscuredFields
15564
16019
  });
15565
16020
  useEffect(() => {
15566
16021
  if (propErrors && propErrors.idNumber) {
@@ -15619,37 +16074,30 @@ function IdentityNumber(props) {
15619
16074
  }
15620
16075
  });
15621
16076
  }, [data, valid, errors, fieldProblems, dataStoreId]);
15622
- const classModifiers = [formUtils.isRequiredField("idNumberExempt") ? "idNumberWithExempt" : "idNumber"];
15623
- if (classNames)
15624
- classModifiers.push(...classNames);
15625
16077
  return jsx("div", {
15626
16078
  className: "adyen-kyc-field__id-number",
15627
16079
  children: formUtils.isRequiredField("idNumber") && jsxs(Fragment, {
15628
- children: [jsx(Field, {
16080
+ children: [jsx(MaskedInputText, {
15629
16081
  name: "idNumber",
15630
- label: formUtils.getLabel("idNumber"),
15631
- classNameModifiers: classModifiers,
16082
+ label: formUtils.getLabel("idNumber", "idNumber"),
16083
+ formatGuidance: formUtils.getGuidanceText("idNumber"),
16084
+ classNameModifiers: {
16085
+ field: ["idNumber"],
16086
+ input: ["idNumber"]
16087
+ },
15632
16088
  errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems),
15633
- disabled: data.idNumberExempt,
16089
+ shouldValidate: propShouldValidate,
15634
16090
  isValid: valid.idNumber,
15635
- dataPlaceholder: data.idNumber && dataPlaceholder,
15636
- children: (childProps) => jsx(InputText, {
15637
- ...childProps,
15638
- name: "idNumber",
15639
- value: data.idNumber,
15640
- placeholder: formUtils.getPlaceholder("idNumber"),
15641
- readonly: formUtils.isReadOnly("idNumber"),
15642
- onInput: handleChangeFor("idNumber", "input"),
15643
- onBlur: handleChangeFor("idNumber", "blur"),
15644
- "aria-required": true,
15645
- "aria-label": formUtils.getLabel("idNumber", "idNumber"),
15646
- "aria-invalid": !valid.idNumber,
15647
- inputMode: "numeric",
15648
- maxLength: maxLengthForField,
15649
- ...data.idNumberExempt && {
15650
- disabled: true
15651
- }
15652
- })
16091
+ "aria-required": formUtils.isRequiredField("idNumber"),
16092
+ "aria-label": formUtils.getLabel("idNumber"),
16093
+ "aria-invalid": !valid.idNumber,
16094
+ disabled: data.idNumberExempt,
16095
+ onBlur: handleChangeFor("idNumber", "blur"),
16096
+ readonly: formUtils.isReadOnly("idNumber"),
16097
+ value: data.idNumber ?? "",
16098
+ onInput: handleChangeFor("idNumber", "input"),
16099
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("idNumber"),
16100
+ ...formUtils.getMask("idNumber")
15653
16101
  }), jsx(Field, {
15654
16102
  classNameModifiers: ["idNumber__checkbox"],
15655
16103
  name: "idNumberExempt",
@@ -15668,7 +16116,6 @@ function IdentityNumber(props) {
15668
16116
  })
15669
16117
  });
15670
16118
  }
15671
- const IdentityNumberComponent = memo(IdentityNumber, (prevProps, nextProps) => prevProps.country === nextProps.country && prevProps.shouldValidate === nextProps.shouldValidate && objectsDeepEqual(prevProps.errors, nextProps.errors) && objectsDeepEqual(prevProps.labels, nextProps.labels) && objectsDeepEqual(prevProps.requiredFields, nextProps.requiredFields) && objectsDeepEqual(prevProps.formVerificationErrors, nextProps.formVerificationErrors) && objectsDeepEqual(prevProps.fieldValidationErrors, nextProps.fieldValidationErrors));
15672
16119
  const roleMetadata = {
15673
16120
  [DecisionMakerType.CONTROLLING_PERSON]: {
15674
16121
  name: "controllingPerson",
@@ -16057,12 +16504,8 @@ const personalDetailsValidationRules = {
16057
16504
  errorMessage: "fieldIsRequired"
16058
16505
  }
16059
16506
  };
16060
- const mapIdentityTypeToItem = (type, label) => ({
16061
- id: type,
16062
- name: label
16063
- });
16064
16507
  const TypeOfIdentity = ({
16065
- availableIdentityTypes,
16508
+ availableIdentityTypesOptions,
16066
16509
  selectedIdentityType,
16067
16510
  setSelectedIdentityType,
16068
16511
  label,
@@ -16081,7 +16524,13 @@ const TypeOfIdentity = ({
16081
16524
  children: (childProps) => jsx(Select, {
16082
16525
  ...childProps,
16083
16526
  isInvalid: false,
16084
- items: availableIdentityTypes.map((type) => mapIdentityTypeToItem(type, i18n.get(type))),
16527
+ items: availableIdentityTypesOptions.map(({
16528
+ id: id2,
16529
+ name
16530
+ }) => ({
16531
+ id: id2,
16532
+ name: i18n.get(name)
16533
+ })),
16085
16534
  placeholder: i18n.get("id"),
16086
16535
  selected: selectedIdentityType,
16087
16536
  onChange: (event) => setSelectedIdentityType(event.target.value)
@@ -16093,48 +16542,26 @@ const isTruthyValidator = {
16093
16542
  modes: ["blur"],
16094
16543
  errorMessage: "fieldIsRequired"
16095
16544
  };
16545
+ const isNotEmptyValidator = {
16546
+ validate: (value) => !isEmpty(value),
16547
+ modes: ["blur"],
16548
+ errorMessage: "fieldIsRequired"
16549
+ };
16096
16550
  const auIdentityValidationRules = {
16097
16551
  typeOfIdentity: [isTruthyValidator],
16098
- idNumber: [{
16099
- validate: (value, context) => {
16100
- switch (context == null ? void 0 : context.state.data.typeOfIdentity) {
16101
- case "passport":
16102
- return PassportNumberPatterns.AU.test(value ?? "");
16103
- case "driversLicense":
16104
- return DriversLicenseNumberPatterns.AU.test(value ?? "");
16105
- default:
16106
- return false;
16107
- }
16108
- },
16109
- errorMessage: (_, context) => {
16110
- switch (context == null ? void 0 : context.state.data.typeOfIdentity) {
16111
- case "passport":
16112
- return "invalidFormatForAuPassportNumber";
16113
- case "driversLicense":
16114
- return "invalidFormatForAuDriversLicenseNumber";
16115
- }
16116
- },
16117
- modes: ["blur"]
16118
- }],
16119
- licenseCardNumber: [{
16120
- validate: (value) => DriversLicenseNumberPatterns.AU.test(value ?? ""),
16121
- errorMessage: "invalidFormatForAuDriversLicenseCardNumber",
16122
- modes: ["blur"]
16123
- }],
16124
16552
  issuerState: [isTruthyValidator]
16125
16553
  };
16126
- const DriversLicense$2 = ({
16554
+ const DriversLicense$1 = ({
16127
16555
  driversLicense: driversLicense2,
16128
16556
  onIssuerStateChange,
16129
16557
  onLicenseNumberInput,
16130
16558
  onLicenseNumberBlur,
16131
16559
  onCardNumberInput,
16132
16560
  onCardNumberBlur,
16133
- formUtils: {
16134
- getLabel
16135
- },
16561
+ formUtils,
16136
16562
  isValid,
16137
- errorMessages
16563
+ errorMessages,
16564
+ shouldValidate
16138
16565
  }) => {
16139
16566
  const {
16140
16567
  i18n
@@ -16145,7 +16572,7 @@ const DriversLicense$2 = ({
16145
16572
  return jsxs(Fragment, {
16146
16573
  children: [jsx(Field, {
16147
16574
  name: "issuerState",
16148
- label: getLabel("issuerState"),
16575
+ label: formUtils.getLabel("issuerState"),
16149
16576
  isValid: isValid.issuerState,
16150
16577
  errorMessage: errorMessages.issuerState,
16151
16578
  children: (childProps) => jsx(Select, {
@@ -16158,32 +16585,46 @@ const DriversLicense$2 = ({
16158
16585
  })
16159
16586
  }), jsxs("div", {
16160
16587
  className: "adyen-kyc-field-wrapper",
16161
- children: [jsx(Field, {
16162
- name: "licenseNumber",
16163
- label: getLabel("idNumber", "licenseNumber"),
16588
+ children: [jsx(MaskedInputText, {
16589
+ name: "idNumber",
16590
+ label: formUtils.getLabel("idNumber", "idNumber"),
16591
+ formatGuidance: formUtils.getGuidanceText("idNumber"),
16592
+ classNameModifiers: {
16593
+ field: ["idNumber"],
16594
+ input: ["idNumber"]
16595
+ },
16596
+ errorMessage: formUtils.getErrorMessage("idNumber", null, void 0),
16597
+ shouldValidate,
16164
16598
  isValid: isValid.idNumber,
16165
- errorMessage: errorMessages.idNumber,
16166
- children: (childProps) => jsx(InputText, {
16167
- ...childProps,
16168
- name: "licenseNumber",
16169
- value: driversLicense2.idNumber,
16170
- onInput: onLicenseNumberInput,
16171
- onBlur: onLicenseNumberBlur,
16172
- placeholder: ""
16173
- })
16174
- }), jsx(Field, {
16599
+ "aria-required": formUtils.isRequiredField("idNumber"),
16600
+ "aria-label": formUtils.getLabel("idNumber"),
16601
+ "aria-invalid": !isValid.idNumber,
16602
+ onBlur: onLicenseNumberBlur,
16603
+ readonly: formUtils.isReadOnly("idNumber"),
16604
+ value: driversLicense2.idNumber ?? "",
16605
+ onInput: onLicenseNumberInput,
16606
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("idNumber"),
16607
+ ...formUtils.getMask("idNumber")
16608
+ }), jsx(MaskedInputText, {
16175
16609
  name: "licenseCardNumber",
16176
- label: getLabel("licenseCardNumber"),
16610
+ label: formUtils.getLabel("licenseCardNumber", "licenseCardNumber"),
16611
+ formatGuidance: formUtils.getGuidanceText("licenseCardNumber"),
16612
+ classNameModifiers: {
16613
+ field: ["licenseCardNumber"],
16614
+ input: ["licenseCardNumber"]
16615
+ },
16616
+ errorMessage: formUtils.getErrorMessage("licenseCardNumber", null, void 0),
16617
+ shouldValidate,
16177
16618
  isValid: isValid.licenseCardNumber,
16178
- errorMessage: errorMessages.licenseCardNumber,
16179
- children: (childProps) => jsx(InputText, {
16180
- ...childProps,
16181
- name: "licenseCardNumber",
16182
- value: driversLicense2.licenseCardNumber,
16183
- onInput: onCardNumberInput,
16184
- onBlur: onCardNumberBlur,
16185
- placeholder: ""
16186
- })
16619
+ "aria-required": formUtils.isRequiredField("licenseCardNumber"),
16620
+ "aria-label": formUtils.getLabel("licenseCardNumber"),
16621
+ "aria-invalid": !isValid.licenseCardNumber,
16622
+ onBlur: onCardNumberBlur,
16623
+ readonly: formUtils.isReadOnly("licenseCardNumber"),
16624
+ value: driversLicense2.licenseCardNumber ?? "",
16625
+ onInput: onCardNumberInput,
16626
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("licenseCardNumber"),
16627
+ ...formUtils.getMask("licenseCardNumber")
16187
16628
  })]
16188
16629
  }), jsx(ContextGuidance, {
16189
16630
  page: "Personal details",
@@ -16201,52 +16642,62 @@ const DriversLicense$2 = ({
16201
16642
  })]
16202
16643
  });
16203
16644
  };
16204
- const PassportNumber$2 = ({
16205
- passportNumber: passportNumber2,
16206
- onInput,
16207
- onBlur,
16208
- formUtils: {
16209
- getLabel
16210
- },
16211
- errorMessage,
16212
- isValid
16213
- }) => jsx(Field, {
16214
- name: "passportNumber",
16215
- label: getLabel("idNumber", "passportNumber"),
16216
- errorMessage,
16217
- isValid,
16218
- children: (childProps) => jsx(InputText, {
16219
- ...childProps,
16220
- name: "passportNumber",
16221
- value: passportNumber2,
16222
- onInput,
16223
- onBlur,
16224
- placeholder: ""
16225
- })
16226
- });
16227
- function IdentityAuComponent(props) {
16228
- var _a;
16229
- if (((_a = props.data) == null ? void 0 : _a.typeOfIdentity) === "nationalIdNumber") {
16230
- props.data.typeOfIdentity = void 0;
16231
- }
16232
- const {
16233
- handleChangeFor,
16645
+ const licenseCardNumberMetaData$1 = resolveFieldMetadata(licenseCardNumberDefaultConfig[CountryCodes.Australia], {}, licenseCardNumberDefaultMetadata);
16646
+ function IdentityAuComponent({
16647
+ labels: labels2,
16648
+ data: propsData,
16649
+ placeholders,
16650
+ helperText,
16651
+ requiredFields,
16652
+ readOnlyFields,
16653
+ optionalFields,
16654
+ obscuredFields,
16655
+ shouldValidate,
16656
+ fieldValidationErrors,
16657
+ validators
16658
+ }) {
16659
+ const [identityType, setIdentityType] = useState(propsData == null ? void 0 : propsData.typeOfIdentity);
16660
+ if ((propsData == null ? void 0 : propsData.typeOfIdentity) === "nationalIdNumber") {
16661
+ propsData.typeOfIdentity = void 0;
16662
+ }
16663
+ const initialFormUtilProps = {
16664
+ validators: {
16665
+ ...auIdentityValidationRules,
16666
+ ...validators
16667
+ },
16668
+ labels: labels2,
16669
+ obscuredFields,
16670
+ placeholders,
16671
+ helperText,
16672
+ readOnlyFields,
16673
+ optionalFields,
16674
+ requiredFields
16675
+ };
16676
+ const mergedProps = useMemo(() => {
16677
+ const idNumberMetadata = resolveFieldMetadata(defaultFieldConfig$5[CountryCodes.Australia], {
16678
+ idNumberType: identityType
16679
+ }, defaultFieldMetadata$5);
16680
+ return mergeFieldMetadataIntoProps("idNumber", idNumberMetadata, mergeFieldMetadataIntoProps("licenseCardNumber", licenseCardNumberMetaData$1, initialFormUtilProps));
16681
+ }, [identityType]);
16682
+ const {
16683
+ handleChangeFor,
16234
16684
  triggerValidation,
16235
16685
  data,
16236
16686
  errors,
16237
16687
  fieldProblems,
16238
16688
  valid
16239
16689
  } = useForm({
16240
- ...props,
16241
- schema: props.requiredFields ?? [],
16242
- defaultData: props.data,
16243
- fieldProblems: props.fieldValidationErrors,
16244
- rules: auIdentityValidationRules,
16245
- maskedFields: props.maskedFields
16690
+ schema: requiredFields ?? [],
16691
+ defaultData: propsData,
16692
+ fieldProblems: fieldValidationErrors,
16693
+ rules: mergedProps.validators,
16694
+ obscuredFields,
16695
+ shouldValidate
16246
16696
  });
16247
16697
  useEffect(() => {
16248
- if (data.typeOfIdentity)
16249
- triggerValidation(["idNumber"]);
16698
+ if (data.typeOfIdentity) {
16699
+ setIdentityType(data.typeOfIdentity);
16700
+ }
16250
16701
  }, [data.typeOfIdentity]);
16251
16702
  const {
16252
16703
  sliceData,
@@ -16264,25 +16715,36 @@ function IdentityAuComponent(props) {
16264
16715
  const {
16265
16716
  i18n
16266
16717
  } = useI18nContext();
16267
- const formUtils = formUtilities(props, i18n);
16268
- const availableIdentityTypes = ["passport", "driversLicense"];
16269
- const selectedIdentityType = data.typeOfIdentity;
16718
+ const formUtils = useMemo(() => formUtilities(mergedProps, i18n), [mergedProps]);
16270
16719
  return jsxs(Fragment, {
16271
16720
  children: [jsx(TypeOfIdentity, {
16272
- availableIdentityTypes,
16273
- selectedIdentityType,
16721
+ availableIdentityTypesOptions: additionallIdNumberOptions.AU,
16722
+ selectedIdentityType: identityType,
16274
16723
  setSelectedIdentityType: handleChangeFor("typeOfIdentity"),
16275
16724
  label: formUtils.getLabel("typeOfIdentity"),
16276
16725
  isValid: valid.typeOfIdentity,
16277
16726
  errorMessage: formUtils.getErrorMessage("typeOfIdentity", errors, fieldProblems)
16278
- }), data.typeOfIdentity === "passport" ? jsx(PassportNumber$2, {
16279
- passportNumber: data.idNumber ?? "",
16280
- onInput: handleChangeFor("idNumber", "input"),
16281
- onBlur: handleChangeFor("idNumber", "blur"),
16282
- formUtils,
16727
+ }), data.typeOfIdentity === "passport" ? jsx(MaskedInputText, {
16728
+ name: "idNumber",
16729
+ label: formUtils.getLabel("idNumber", "idNumber"),
16730
+ formatGuidance: formUtils.getGuidanceText("idNumber"),
16731
+ classNameModifiers: {
16732
+ field: ["idNumber"],
16733
+ input: ["idNumber"]
16734
+ },
16735
+ errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems),
16736
+ shouldValidate,
16283
16737
  isValid: valid.idNumber,
16284
- errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems)
16285
- }) : data.typeOfIdentity === "driversLicense" ? jsx(DriversLicense$2, {
16738
+ "aria-required": formUtils.isRequiredField("idNumber"),
16739
+ "aria-label": formUtils.getLabel("idNumber"),
16740
+ "aria-invalid": !valid.idNumber,
16741
+ onBlur: handleChangeFor("idNumber", "blur"),
16742
+ readonly: formUtils.isReadOnly("idNumber"),
16743
+ value: data.idNumber ?? "",
16744
+ onInput: handleChangeFor("idNumber", "input"),
16745
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("idNumber"),
16746
+ ...formUtils.getMask("idNumber")
16747
+ }) : data.typeOfIdentity === "driversLicense" ? jsx(DriversLicense$1, {
16286
16748
  driversLicense: data,
16287
16749
  onIssuerStateChange: handleChangeFor("issuerState"),
16288
16750
  onLicenseNumberInput: handleChangeFor("idNumber", "input"),
@@ -16299,132 +16761,66 @@ function IdentityAuComponent(props) {
16299
16761
  idNumber: formUtils.getErrorMessage("idNumber", errors, fieldProblems),
16300
16762
  licenseCardNumber: formUtils.getErrorMessage("licenseCardNumber", errors, fieldProblems),
16301
16763
  issuerState: formUtils.getErrorMessage("issuerState", errors, fieldProblems)
16302
- }
16764
+ },
16765
+ shouldValidate
16303
16766
  }) : void 0]
16304
16767
  });
16305
16768
  }
16306
- const isValidatePassportNumber = (value) => PassportNumberPatterns.HK.test(value);
16307
16769
  const identityValidationRules = {
16308
- typeOfIdentity: [isTruthyValidator],
16309
- idNumber: [{
16310
- validate: (val, context) => {
16311
- const value = val ?? "";
16312
- switch (context == null ? void 0 : context.state.data.typeOfIdentity) {
16313
- case "passport":
16314
- return isValidatePassportNumber(value);
16315
- case "driversLicense":
16316
- return DriversLicenseNumberPatterns.HK.test(value);
16317
- case "proofOfIdentityCard":
16318
- return ProofOfIdentityCardPatterns.HK.test(value);
16319
- default:
16320
- return false;
16321
- }
16322
- },
16323
- errorMessage: (_, context) => {
16324
- switch (context == null ? void 0 : context.state.data.typeOfIdentity) {
16325
- case "passport":
16326
- return "invalidFormatForHKPassportNumber";
16327
- case "driversLicense":
16328
- return "invalidFormatForHKDriversLicenseNumber";
16329
- case "proofOfIdentityCard":
16330
- return "invalidFormatForHKIdentityCardNumber";
16331
- }
16332
- },
16333
- modes: ["blur"]
16334
- }]
16335
- };
16336
- const DriversLicense$1 = ({
16337
- driversLicense: driversLicense2,
16338
- onLicenseNumberInput,
16339
- onLicenseNumberBlur,
16340
- isValid,
16341
- errorMessages,
16342
- label
16343
- }) => {
16344
- useI18nContext();
16345
- return jsx("div", {
16346
- className: "adyen-kyc-field-wrapper",
16347
- children: jsx(Field, {
16348
- name: "licenseNumber",
16349
- label,
16350
- isValid: isValid.idNumber,
16351
- errorMessage: errorMessages.idNumber,
16352
- children: (childProps) => jsx(InputText, {
16353
- ...childProps,
16354
- name: "licenseNumber",
16355
- value: driversLicense2.idNumber,
16356
- onInput: onLicenseNumberInput,
16357
- onBlur: onLicenseNumberBlur,
16358
- placeholder: ""
16359
- })
16360
- })
16361
- });
16770
+ typeOfIdentity: [isTruthyValidator]
16362
16771
  };
16363
- const PassportNumber$1 = ({
16364
- passportNumber: passportNumber2,
16365
- onInput,
16366
- onBlur,
16367
- errorMessage,
16368
- isValid,
16369
- label
16370
- }) => jsx(Field, {
16371
- name: "passportNumber",
16372
- label,
16373
- errorMessage,
16374
- isValid,
16375
- children: (childProps) => jsx(InputText, {
16376
- ...childProps,
16377
- name: "passportNumber",
16378
- value: passportNumber2,
16379
- onInput,
16380
- onBlur,
16381
- placeholder: ""
16382
- })
16383
- });
16384
- const ProofOfIdentityCard = ({
16385
- cardNumber,
16386
- onInput,
16387
- onBlur,
16388
- label,
16389
- errorMessage,
16390
- isValid
16391
- }) => jsx(Field, {
16392
- name: "cardNumber",
16393
- label,
16394
- errorMessage,
16395
- isValid,
16396
- children: (childProps) => jsx(InputText, {
16397
- ...childProps,
16398
- name: "cardNumber",
16399
- value: cardNumber,
16400
- onInput,
16401
- onBlur,
16402
- placeholder: ""
16403
- })
16404
- });
16405
- function IdentityHKComponent(props) {
16406
- var _a;
16407
- if (((_a = props.data) == null ? void 0 : _a.typeOfIdentity) === "nationalIdNumber") {
16408
- props.data.typeOfIdentity = void 0;
16772
+ function IdentityHKComponent({
16773
+ labels: labels2,
16774
+ data: propsData,
16775
+ placeholders,
16776
+ helperText,
16777
+ requiredFields,
16778
+ readOnlyFields,
16779
+ optionalFields,
16780
+ obscuredFields,
16781
+ shouldValidate,
16782
+ fieldValidationErrors,
16783
+ validators
16784
+ }) {
16785
+ const [identityType, setIdentityType] = useState(propsData == null ? void 0 : propsData.typeOfIdentity);
16786
+ if ((propsData == null ? void 0 : propsData.typeOfIdentity) === "nationalIdNumber") {
16787
+ propsData.typeOfIdentity = void 0;
16409
16788
  }
16789
+ const initialFormUtilProps = {
16790
+ validators: {
16791
+ ...identityValidationRules,
16792
+ ...validators
16793
+ },
16794
+ labels: labels2,
16795
+ obscuredFields,
16796
+ placeholders,
16797
+ helperText,
16798
+ readOnlyFields,
16799
+ optionalFields,
16800
+ requiredFields
16801
+ };
16802
+ const mergedProps = useMemo(() => {
16803
+ const idNumberMetadata = resolveFieldMetadata(defaultFieldConfig$5[CountryCodes.HongKong], {
16804
+ idNumberType: identityType
16805
+ }, defaultFieldMetadata$5);
16806
+ return mergeFieldMetadataIntoProps("idNumber", idNumberMetadata, initialFormUtilProps);
16807
+ }, [identityType]);
16410
16808
  const {
16411
16809
  handleChangeFor,
16412
- triggerValidation,
16413
16810
  data,
16414
16811
  errors,
16415
16812
  fieldProblems,
16416
16813
  valid
16417
16814
  } = useForm({
16418
- ...props,
16419
- schema: props.requiredFields ?? [],
16420
- defaultData: props.data,
16421
- fieldProblems: props.fieldValidationErrors,
16422
- rules: identityValidationRules,
16423
- maskedFields: props.maskedFields
16815
+ schema: requiredFields ?? [],
16816
+ defaultData: propsData,
16817
+ fieldProblems: fieldValidationErrors,
16818
+ rules: mergedProps.validators,
16819
+ obscuredFields
16424
16820
  });
16425
16821
  useEffect(() => {
16426
16822
  if (data.typeOfIdentity) {
16427
- triggerValidation(["idNumber"]);
16823
+ setIdentityType(data.typeOfIdentity);
16428
16824
  }
16429
16825
  }, [data.typeOfIdentity]);
16430
16826
  const {
@@ -16445,76 +16841,40 @@ function IdentityHKComponent(props) {
16445
16841
  const {
16446
16842
  i18n
16447
16843
  } = useI18nContext();
16448
- const formUtils = formUtilities(props, i18n);
16449
- const availableIdentityTypes = ["passport", "driversLicense", "proofOfIdentityCard"];
16450
- const selectedIdentityType = data.typeOfIdentity;
16844
+ const formUtils = formUtilities(mergedProps, i18n);
16451
16845
  return jsxs(Fragment, {
16452
16846
  children: [jsx(TypeOfIdentity, {
16453
- availableIdentityTypes,
16454
- selectedIdentityType,
16847
+ availableIdentityTypesOptions: additionallIdNumberOptions.HK,
16848
+ selectedIdentityType: identityType,
16455
16849
  setSelectedIdentityType: handleChangeFor("typeOfIdentity"),
16456
16850
  label: formUtils.getLabel("typeOfIdentity"),
16457
16851
  isValid: valid.typeOfIdentity,
16458
16852
  errorMessage: formUtils.getErrorMessage("typeOfIdentity", errors, fieldProblems)
16459
- }), data.typeOfIdentity === "passport" ? jsx(PassportNumber$1, {
16460
- passportNumber: data.idNumber ?? "",
16461
- onInput: handleChangeFor("idNumber", "input"),
16462
- onBlur: handleChangeFor("idNumber", "blur"),
16853
+ }), jsx(MaskedInputText, {
16854
+ name: "idNumber",
16855
+ label: formUtils.getLabel("idNumber", "idNumber"),
16856
+ formatGuidance: formUtils.getGuidanceText("idNumber"),
16857
+ classNameModifiers: {
16858
+ field: ["idNumber"],
16859
+ input: ["idNumber"]
16860
+ },
16861
+ errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems),
16862
+ shouldValidate,
16463
16863
  isValid: valid.idNumber,
16464
- label: formUtils.getLabel("idNumber", "passportNumber"),
16465
- errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems)
16466
- }) : data.typeOfIdentity === "proofOfIdentityCard" ? jsx(ProofOfIdentityCard, {
16467
- cardNumber: data.idNumber ?? "",
16468
- onInput: handleChangeFor("idNumber", "input"),
16864
+ "aria-required": formUtils.isRequiredField("idNumber"),
16865
+ "aria-label": formUtils.getLabel("idNumber"),
16866
+ "aria-invalid": !valid.idNumber,
16469
16867
  onBlur: handleChangeFor("idNumber", "blur"),
16470
- isValid: valid.idNumber,
16471
- label: formUtils.getLabel("idNumber", "hkid"),
16472
- errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems)
16473
- }) : data.typeOfIdentity === "driversLicense" ? jsx(DriversLicense$1, {
16474
- driversLicense: data,
16475
- onLicenseNumberInput: handleChangeFor("idNumber", "input"),
16476
- onLicenseNumberBlur: handleChangeFor("idNumber", "blur"),
16477
- label: formUtils.getLabel("idNumber", "driverLicense"),
16478
- isValid: {
16479
- idNumber: valid.idNumber
16480
- },
16481
- errorMessages: {
16482
- idNumber: formUtils.getErrorMessage("idNumber", errors, fieldProblems)
16483
- }
16484
- }) : void 0]
16868
+ readonly: formUtils.isReadOnly("idNumber"),
16869
+ value: data.idNumber ?? "",
16870
+ onInput: handleChangeFor("idNumber", "input"),
16871
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("idNumber"),
16872
+ ...formUtils.getMask("idNumber")
16873
+ })]
16485
16874
  });
16486
16875
  }
16487
16876
  const nzIdentityValidationRules = {
16488
- typeOfIdentity: [isTruthyValidator],
16489
- idNumber: [{
16490
- validate: (val, context) => {
16491
- var _a, _b;
16492
- const value = val ?? "";
16493
- switch ((_b = (_a = context == null ? void 0 : context.state) == null ? void 0 : _a.data) == null ? void 0 : _b.typeOfIdentity) {
16494
- case "passport":
16495
- return PassportNumberPatterns[CountryCodes.NewZealand].test(value);
16496
- case "driversLicense":
16497
- return DriversLicenseNumberPatterns[CountryCodes.NewZealand].test(value);
16498
- default:
16499
- return false;
16500
- }
16501
- },
16502
- errorMessage: (_, context) => {
16503
- var _a, _b;
16504
- switch ((_b = (_a = context == null ? void 0 : context.state) == null ? void 0 : _a.data) == null ? void 0 : _b.typeOfIdentity) {
16505
- case "passport":
16506
- return "invalidFormatForNZPassportNumber";
16507
- case "driversLicense":
16508
- return "invalidFormatForNZDriversLicenseNumber";
16509
- }
16510
- },
16511
- modes: ["blur"]
16512
- }],
16513
- licenseCardNumber: [{
16514
- validate: (value) => DriversLicenseCardNumberPatterns[CountryCodes.NewZealand].test(value ?? ""),
16515
- errorMessage: "invalidFormatForNZDriversLicenseCardNumber",
16516
- modes: ["blur"]
16517
- }]
16877
+ typeOfIdentity: [isTruthyValidator]
16518
16878
  };
16519
16879
  const DriversLicense = ({
16520
16880
  driversLicense: driversLicense2,
@@ -16522,11 +16882,10 @@ const DriversLicense = ({
16522
16882
  onLicenseNumberBlur,
16523
16883
  onCardNumberInput,
16524
16884
  onCardNumberBlur,
16525
- formUtils: {
16526
- getLabel
16527
- },
16885
+ formUtils,
16528
16886
  isValid,
16529
- errorMessages
16887
+ errorMessages,
16888
+ shouldValidate
16530
16889
  }) => {
16531
16890
  const {
16532
16891
  i18n
@@ -16534,32 +16893,46 @@ const DriversLicense = ({
16534
16893
  return jsxs(Fragment, {
16535
16894
  children: [jsxs("div", {
16536
16895
  className: "adyen-kyc-field-wrapper",
16537
- children: [jsx(Field, {
16538
- name: "licenseNumber",
16539
- label: getLabel("idNumber", "licenseNumber"),
16540
- isValid: isValid.idNumber,
16896
+ children: [jsx(MaskedInputText, {
16897
+ name: "idNumber",
16898
+ label: formUtils.getLabel("idNumber", "idNumber"),
16899
+ formatGuidance: formUtils.getGuidanceText("idNumber"),
16900
+ classNameModifiers: {
16901
+ field: ["idNumber"],
16902
+ input: ["idNumber"]
16903
+ },
16541
16904
  errorMessage: errorMessages.idNumber,
16542
- children: (childProps) => jsx(InputText, {
16543
- ...childProps,
16544
- name: "licenseNumber",
16545
- value: driversLicense2.idNumber,
16546
- onInput: onLicenseNumberInput,
16547
- onBlur: onLicenseNumberBlur,
16548
- placeholder: ""
16549
- })
16550
- }), jsx(Field, {
16905
+ shouldValidate,
16906
+ isValid: isValid.idNumber,
16907
+ "aria-required": formUtils.isRequiredField("idNumber"),
16908
+ "aria-label": formUtils.getLabel("idNumber"),
16909
+ "aria-invalid": !isValid.idNumber,
16910
+ onBlur: onLicenseNumberBlur,
16911
+ readonly: formUtils.isReadOnly("idNumber"),
16912
+ value: driversLicense2.idNumber ?? "",
16913
+ onInput: onLicenseNumberInput,
16914
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("idNumber"),
16915
+ ...formUtils.getMask("idNumber")
16916
+ }), jsx(MaskedInputText, {
16551
16917
  name: "licenseCardNumber",
16552
- label: getLabel("licenceVersionNumber"),
16553
- isValid: isValid.licenseCardNumber,
16918
+ label: formUtils.getLabel("licenseCardNumber", "licenseCardNumber"),
16919
+ formatGuidance: formUtils.getGuidanceText("licenseCardNumber"),
16920
+ classNameModifiers: {
16921
+ field: ["licenseCardNumber"],
16922
+ input: ["licenseCardNumber"]
16923
+ },
16554
16924
  errorMessage: errorMessages.licenseCardNumber,
16555
- children: (childProps) => jsx(InputText, {
16556
- ...childProps,
16557
- name: "licenseCardNumber",
16558
- value: driversLicense2.licenseCardNumber,
16559
- onInput: onCardNumberInput,
16560
- onBlur: onCardNumberBlur,
16561
- placeholder: ""
16562
- })
16925
+ shouldValidate,
16926
+ isValid: isValid.licenseCardNumber,
16927
+ "aria-required": formUtils.isRequiredField("licenseCardNumber"),
16928
+ "aria-label": formUtils.getLabel("licenseCardNumber"),
16929
+ "aria-invalid": !isValid.licenseCardNumber,
16930
+ onBlur: onCardNumberBlur,
16931
+ readonly: formUtils.isReadOnly("licenseCardNumber"),
16932
+ value: driversLicense2.licenseCardNumber ?? "",
16933
+ onInput: onCardNumberInput,
16934
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("licenseCardNumber"),
16935
+ ...formUtils.getMask("licenseCardNumber")
16563
16936
  })]
16564
16937
  }), jsx(ContextGuidance, {
16565
16938
  page: "Personal details",
@@ -16577,34 +16950,43 @@ const DriversLicense = ({
16577
16950
  })]
16578
16951
  });
16579
16952
  };
16580
- const PassportNumber = ({
16581
- passportNumber: passportNumber2,
16582
- onInput,
16583
- onBlur,
16584
- formUtils: {
16585
- getLabel
16586
- },
16587
- errorMessage,
16588
- isValid
16589
- }) => jsx(Field, {
16590
- name: "passportNumber",
16591
- label: getLabel("idNumber", "passportNumber"),
16592
- errorMessage,
16593
- isValid,
16594
- children: (childProps) => jsx(InputText, {
16595
- ...childProps,
16596
- name: "passportNumber",
16597
- value: passportNumber2,
16598
- onInput,
16599
- onBlur,
16600
- placeholder: ""
16601
- })
16602
- });
16603
- function IdentityNZComponent(props) {
16604
- var _a;
16605
- if (((_a = props.data) == null ? void 0 : _a.typeOfIdentity) === "nationalIdNumber") {
16606
- props.data.typeOfIdentity = void 0;
16953
+ const licenseCardNumberMetaData = resolveFieldMetadata(licenseCardNumberDefaultConfig[CountryCodes.NewZealand], {}, licenseCardNumberDefaultMetadata);
16954
+ function IdentityNZComponent({
16955
+ labels: labels2,
16956
+ data: propsData,
16957
+ placeholders,
16958
+ helperText,
16959
+ requiredFields,
16960
+ readOnlyFields,
16961
+ optionalFields,
16962
+ obscuredFields,
16963
+ shouldValidate,
16964
+ fieldValidationErrors,
16965
+ validators
16966
+ }) {
16967
+ const [identityType, setIdentityType] = useState(propsData == null ? void 0 : propsData.typeOfIdentity);
16968
+ if ((propsData == null ? void 0 : propsData.typeOfIdentity) === "nationalIdNumber") {
16969
+ propsData.typeOfIdentity = void 0;
16607
16970
  }
16971
+ const initialFormUtilProps = {
16972
+ validators: {
16973
+ ...nzIdentityValidationRules,
16974
+ ...validators
16975
+ },
16976
+ labels: labels2,
16977
+ obscuredFields,
16978
+ placeholders,
16979
+ helperText,
16980
+ readOnlyFields,
16981
+ optionalFields,
16982
+ requiredFields
16983
+ };
16984
+ const mergedProps = useMemo(() => {
16985
+ const idNumberMetadata = resolveFieldMetadata(defaultFieldConfig$5[CountryCodes.NewZealand], {
16986
+ idNumberType: identityType
16987
+ }, defaultFieldMetadata$5);
16988
+ return mergeFieldMetadataIntoProps("idNumber", idNumberMetadata, mergeFieldMetadataIntoProps("licenseCardNumber", licenseCardNumberMetaData, initialFormUtilProps));
16989
+ }, [identityType]);
16608
16990
  const {
16609
16991
  handleChangeFor,
16610
16992
  triggerValidation,
@@ -16613,16 +16995,17 @@ function IdentityNZComponent(props) {
16613
16995
  fieldProblems,
16614
16996
  valid
16615
16997
  } = useForm({
16616
- ...props,
16617
- schema: props.requiredFields ?? [],
16618
- defaultData: props.data,
16619
- fieldProblems: props.fieldValidationErrors,
16620
- rules: nzIdentityValidationRules,
16621
- maskedFields: props.maskedFields
16998
+ schema: requiredFields ?? [],
16999
+ defaultData: propsData,
17000
+ fieldProblems: fieldValidationErrors,
17001
+ rules: mergedProps.validators,
17002
+ obscuredFields,
17003
+ shouldValidate
16622
17004
  });
16623
17005
  useEffect(() => {
16624
- if (data.typeOfIdentity)
16625
- triggerValidation(["idNumber"]);
17006
+ if (data.typeOfIdentity) {
17007
+ setIdentityType(data.typeOfIdentity);
17008
+ }
16626
17009
  }, [data.typeOfIdentity]);
16627
17010
  const {
16628
17011
  sliceData,
@@ -16640,28 +17023,39 @@ function IdentityNZComponent(props) {
16640
17023
  const {
16641
17024
  i18n
16642
17025
  } = useI18nContext();
16643
- const formUtils = formUtilities(props, i18n);
16644
- const availableIdentityTypes = ["passport", "driversLicense"];
16645
- const selectedIdentityType = data.typeOfIdentity;
17026
+ const formUtils = formUtilities(mergedProps, i18n);
16646
17027
  const today = /* @__PURE__ */ new Date();
16647
17028
  const maxExpiryDateSelection = new Date((/* @__PURE__ */ new Date()).setFullYear(today.getFullYear() + 10));
16648
17029
  return jsxs(Fragment, {
16649
17030
  children: [jsx(TypeOfIdentity, {
16650
- availableIdentityTypes,
16651
- selectedIdentityType,
17031
+ availableIdentityTypesOptions: additionallIdNumberOptions.NZ,
17032
+ selectedIdentityType: identityType,
16652
17033
  setSelectedIdentityType: handleChangeFor("typeOfIdentity"),
16653
17034
  label: formUtils.getLabel("typeOfIdentity"),
16654
17035
  isValid: valid.typeOfIdentity,
16655
17036
  errorMessage: formUtils.getErrorMessage("typeOfIdentity", errors, fieldProblems)
16656
17037
  }), data.typeOfIdentity === "passport" ? jsxs("div", {
16657
17038
  className: "adyen-kyc-field-wrapper",
16658
- children: [jsx(PassportNumber, {
16659
- passportNumber: data.idNumber ?? "",
16660
- onInput: handleChangeFor("idNumber", "input"),
16661
- onBlur: handleChangeFor("idNumber", "blur"),
16662
- formUtils,
17039
+ children: [jsx(MaskedInputText, {
17040
+ name: "idNumber",
17041
+ label: formUtils.getLabel("idNumber", "idNumber"),
17042
+ formatGuidance: formUtils.getGuidanceText("idNumber"),
17043
+ classNameModifiers: {
17044
+ field: ["idNumber"],
17045
+ input: ["idNumber"]
17046
+ },
17047
+ errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems),
17048
+ shouldValidate,
16663
17049
  isValid: valid.idNumber,
16664
- errorMessage: formUtils.getErrorMessage("idNumber", errors, fieldProblems)
17050
+ "aria-required": formUtils.isRequiredField("idNumber"),
17051
+ "aria-label": formUtils.getLabel("idNumber"),
17052
+ "aria-invalid": !valid.idNumber,
17053
+ onBlur: handleChangeFor("idNumber", "blur"),
17054
+ readonly: formUtils.isReadOnly("idNumber"),
17055
+ value: data.idNumber ?? "",
17056
+ onInput: handleChangeFor("idNumber", "input"),
17057
+ acceptObscuredValue: formUtils == null ? void 0 : formUtils.isObscured("idNumber"),
17058
+ ...formUtils.getMask("idNumber")
16665
17059
  }), jsx(Field, {
16666
17060
  name: "expiryDate",
16667
17061
  label: formUtils.getLabel("passportExpiryDate"),
@@ -16697,7 +17091,8 @@ function IdentityNZComponent(props) {
16697
17091
  errorMessages: {
16698
17092
  idNumber: formUtils.getErrorMessage("idNumber", errors, fieldProblems),
16699
17093
  licenseCardNumber: formUtils.getErrorMessage("licenseCardNumber", errors, fieldProblems)
16700
- }
17094
+ },
17095
+ shouldValidate
16701
17096
  }) : void 0]
16702
17097
  });
16703
17098
  }
@@ -16706,41 +17101,14 @@ const ERROR_CODES = {
16706
17101
  SSN_4_DIGITS_VALIDATION: "1_3062",
16707
17102
  PERSONAL_DETAILS_VALIDATION: "1_30"
16708
17103
  };
16709
- const OPTIONS_SSN = {
16710
- fourDigits: "4DigitSSN",
16711
- nineDigits: "entireSSN"
16712
- };
16713
17104
  const IdentityUSComponent = forwardRef((props, ref) => {
16714
17105
  var _a, _b, _c, _d;
16715
17106
  const individualDetailsError = (_a = props.formVerificationErrors) == null ? void 0 : _a[ERROR_CODES.PERSONAL_DETAILS_VALIDATION];
16716
17107
  const fourDigitsValidationError = (_b = individualDetailsError == null ? void 0 : individualDetailsError[ERROR_CODES.SSN_4_DIGITS_VALIDATION]) == null ? void 0 : _b.some((error) => error.code === ERROR_CODES.SSN_REMEDIATION);
16717
- const ssnType = fourDigitsValidationError || ((_d = (_c = props.data) == null ? void 0 : _c.idNumber) == null ? void 0 : _d.length) === 9 ? OPTIONS_SSN.nineDigits : OPTIONS_SSN.fourDigits;
16718
- let USIdentityProps = {
16719
- ...props
16720
- };
16721
- if (ssnType === OPTIONS_SSN.nineDigits) {
16722
- const nineDigitsProps = {
16723
- labels: {
16724
- ...props.labels,
16725
- idNumber: "socialSecurityNumber9Digits"
16726
- },
16727
- country: "US9",
16728
- placeholders: {
16729
- ...props.placeholders,
16730
- idNumber: "SSNFormatUS9Digits"
16731
- }
16732
- };
16733
- USIdentityProps = {
16734
- ...props,
16735
- ...nineDigitsProps
16736
- };
16737
- }
16738
- if (ssnType === OPTIONS_SSN.fourDigits) {
16739
- USIdentityProps.classNames = ["us4DigitsNumberId"];
16740
- USIdentityProps.dataPlaceholder = "*** — ** — ";
16741
- }
17108
+ const ssnType = fourDigitsValidationError || ((_d = (_c = props.data) == null ? void 0 : _c.idNumber) == null ? void 0 : _d.length) === 9 ? "ssn" : "ssnLastFour";
16742
17109
  return jsx(IdentityNumberComponent, {
16743
- ...USIdentityProps,
17110
+ ...props,
17111
+ idNumberType: ssnType,
16744
17112
  ref
16745
17113
  });
16746
17114
  });
@@ -16793,9 +17161,6 @@ function IdentityComponent(props) {
16793
17161
  dataStoreId
16794
17162
  });
16795
17163
  }
16796
- const customFieldlabels = (selected) => ({
16797
- idNumber: selected
16798
- });
16799
17164
  const personalDetailsFields = [...nameFields, "birthDate", ...idNumberFields, ...additionalIdentityInfoFields, "residencyCountry", "nationality", "jobTitle", ...decisionMakerRoleFields, ...contactDetailFields, ...accountHolderFields];
16800
17165
  function PersonalDetailsComponent(props) {
16801
17166
  var _a;
@@ -16893,7 +17258,6 @@ function PersonalDetailsComponent(props) {
16893
17258
  useEffect(() => {
16894
17259
  setIdNumberType(defaultIdNumberType);
16895
17260
  }, [props.data.residencyCountry]);
16896
- const idNumberCustomLabel = customFieldlabels ? customFieldlabels(idNumberType) : {};
16897
17261
  useEffect(() => {
16898
17262
  stateRef.current.setState({
16899
17263
  type: "addToState",
@@ -17000,8 +17364,7 @@ function PersonalDetailsComponent(props) {
17000
17364
  personalDetails: props,
17001
17365
  country: data.residencyCountry,
17002
17366
  errors: externalErrors,
17003
- idNumberType,
17004
- labels: idNumberCustomLabel
17367
+ idNumberType
17005
17368
  }), (data.residencyCountry === "SG" || data.residencyCountry === "HK") && formUtils.isRequiredField("nationality") && jsx(CountryField, {
17006
17369
  data: {
17007
17370
  country: data.nationality
@@ -18316,26 +18679,13 @@ const createDelimitedStringFormatter = (char, indexes) => (val) => indexes.reduc
18316
18679
  const slicePoint = delimiterIndex + index;
18317
18680
  return slicePoint < acc.length ? [...acc.slice(0, slicePoint), "-", ...acc.slice(slicePoint)] : acc;
18318
18681
  }, val.replaceAll("-", "").split("")).join("");
18319
- const countrySpecificBankAccountNumberFormatters = {
18682
+ ({
18320
18683
  [CountryCodes.NewZealand]: {
18321
18684
  bankAccountNumber: {
18322
18685
  // We want to add "-" after the 2nd, 6th and 13th numbers for New Zealand
18323
18686
  formatter: (val) => val ? createDelimitedStringFormatter("-", [2, 6, 13])(val) : val
18324
18687
  }
18325
18688
  }
18326
- };
18327
- const getBankAccountNumberFormatters = (country2, prependFormatters) => ({
18328
- bankAccountNumber: {
18329
- formatter: (val) => {
18330
- var _a, _b;
18331
- const preformattedValue = prependFormatters.reduce((acc, formatter) => formatter(acc), val);
18332
- const specificRule = (_b = (_a = countrySpecificBankAccountNumberFormatters[country2]) == null ? void 0 : _a.bankAccountNumber) == null ? void 0 : _b.formatter;
18333
- if (specificRule) {
18334
- return specificRule(preformattedValue);
18335
- }
18336
- return preformattedValue;
18337
- }
18338
- }
18339
18689
  });
18340
18690
  function BankAccountFormat(props) {
18341
18691
  const {
@@ -18370,78 +18720,139 @@ function BankAccountFormat(props) {
18370
18720
  })
18371
18721
  });
18372
18722
  }
18373
- const stripNonAlphanumeric = (value) => value.replaceAll(/[^0-9a-zA-Z]/g, "");
18374
- const isValueMasked = (value) => {
18375
- var _a;
18376
- return typeof value === "string" && !!((_a = value.match(/[*]{2,}/)) == null ? void 0 : _a.length);
18723
+ const simpleBankAccountNumberMetadata = (example, length, maxLength) => {
18724
+ if (maxLength) {
18725
+ return {
18726
+ label: "bankAccountNumber",
18727
+ validators: validatePatternOnBlur(new RegExp(`^\\d{${length},${maxLength}}$`)),
18728
+ mask: {
18729
+ mask: makeMask(...numericInputs(length), ...numericInputs(maxLength - length, true))
18730
+ },
18731
+ guidanceText: {
18732
+ key: "enterAMaximumOfNDigitsForExample",
18733
+ values: {
18734
+ maxDigits: `${maxLength}`,
18735
+ example
18736
+ }
18737
+ }
18738
+ };
18739
+ }
18740
+ return {
18741
+ label: "bankAccountNumber",
18742
+ validators: validatePatternOnBlur(new RegExp(`^\\d{${length}}$`)),
18743
+ mask: {
18744
+ mask: makeMask(...numericInputs(length))
18745
+ },
18746
+ guidanceText: {
18747
+ key: "enterNDigitsForExample",
18748
+ values: {
18749
+ numDigits: `${length}`,
18750
+ example
18751
+ }
18752
+ }
18753
+ };
18377
18754
  };
18378
- const bankAccountNumberFields = ["bankAccountNumber"];
18379
- function BankAccountNumber(props) {
18755
+ const defaultFieldMetadata$4 = {
18756
+ label: "bankAccountNumber",
18757
+ validators: isNotEmptyValidator
18758
+ };
18759
+ const defaultFieldConfig$4 = {
18760
+ [CountryCodes.Denmark]: simpleBankAccountNumberMetadata("2621955959", 10),
18761
+ [CountryCodes.Norway]: simpleBankAccountNumberMetadata("1117947", 7),
18762
+ [CountryCodes.UnitedKingdom]: simpleBankAccountNumberMetadata("10000003", 8),
18763
+ [CountryCodes.Australia]: simpleBankAccountNumberMetadata("0001234", 5, 10),
18764
+ [CountryCodes.Brazil]: simpleBankAccountNumberMetadata("0009795493", 4, 12),
18765
+ [CountryCodes.Canada]: simpleBankAccountNumberMetadata("10220001111", 5, 12),
18766
+ [CountryCodes.HongKong]: simpleBankAccountNumberMetadata("123456789001", 6, 18),
18767
+ [CountryCodes.Singapore]: simpleBankAccountNumberMetadata("0052312891876", 4, 19),
18768
+ [CountryCodes.Sweden]: simpleBankAccountNumberMetadata("123456789", 7, 10),
18769
+ [CountryCodes.UnitedStates]: simpleBankAccountNumberMetadata("10220001111", 3, 17),
18770
+ [CountryCodes.Poland]: {
18771
+ label: "bankAccountNumber",
18772
+ validators: validatePatternOnBlur(/^\d{26}$/),
18773
+ mask: {
18774
+ mask: makeMask(...numericInputs(2), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4))
18775
+ },
18776
+ guidanceText: {
18777
+ key: "enterNDigitsForExample",
18778
+ values: {
18779
+ numDigits: "26",
18780
+ example: "98 1090 2402 7474 4662 2173 1624"
18781
+ }
18782
+ }
18783
+ },
18784
+ [CountryCodes.NewZealand]: {
18785
+ label: "bankAccountNumber",
18786
+ validators: validatePatternOnBlur(/^\d{26}$/),
18787
+ mask: {
18788
+ mask: makeMask(...numericInputs(2), ...nonInputs(" - "), ...numericInputs(4), ...nonInputs(" - "), ...numericInputs(7), ...nonInputs(" - "), ...numericInputs(2), ...numericInputs(1, true))
18789
+ },
18790
+ guidanceText: {
18791
+ key: "enterXToYDigitsForExample",
18792
+ values: {
18793
+ minDigits: "15",
18794
+ maxDigits: "16",
18795
+ example: "12-8765-9876543-043"
18796
+ }
18797
+ }
18798
+ }
18799
+ };
18800
+ const bankAccountNumberFields = ["bankAccountNumber"];
18801
+ function BankAccountNumber(props) {
18380
18802
  const {
18381
18803
  i18n
18382
18804
  } = useI18nContext();
18383
18805
  const {
18384
- dataStoreId,
18385
- validators,
18386
- country: country2
18806
+ country: country2,
18807
+ fieldConfig = defaultFieldConfig$4
18387
18808
  } = props;
18388
- const stateRef = useRef({
18389
- setState: null
18390
- });
18391
- const formatters = getBankAccountNumberFormatters(country2, [(v) => v && !isValueMasked(v) ? stripNonAlphanumeric(v) : v]);
18809
+ const metadata = resolveFieldMetadata(fieldConfig[country2], {}, defaultFieldMetadata$4);
18810
+ const mergedProps = mergeFieldMetadataIntoProps("bankAccountNumber", metadata, props);
18392
18811
  const {
18393
18812
  handleChangeFor,
18394
18813
  data,
18395
18814
  valid,
18396
18815
  errors,
18397
- isValid,
18398
18816
  fieldProblems
18399
18817
  } = useForm({
18400
- ...props,
18818
+ ...mergedProps,
18401
18819
  schema: bankAccountNumberFields,
18402
- rules: validators,
18403
- defaultData: props.data,
18404
- fieldProblems: props == null ? void 0 : props.fieldValidationErrors,
18405
- formatters,
18406
- maskedFields: props.maskedFields
18820
+ rules: mergedProps.validators,
18821
+ defaultData: mergedProps.data,
18822
+ fieldProblems: mergedProps == null ? void 0 : mergedProps.fieldValidationErrors,
18823
+ obscuredFields: mergedProps.obscuredFields
18407
18824
  });
18825
+ const {
18826
+ updateStateSlice
18827
+ } = useGlobalDataSlice("payoutAccountDetails", "bankAccountNumber");
18408
18828
  useEffect(() => {
18409
- var _a, _b;
18410
- (_b = (_a = stateRef == null ? void 0 : stateRef.current) == null ? void 0 : _a.setState) == null ? void 0 : _b.call(_a, {
18411
- type: "addToState",
18412
- value: {
18413
- data,
18414
- valid,
18415
- errors,
18416
- fieldProblems,
18417
- caller: "bankAccountNumber",
18418
- dataStoreId
18419
- }
18829
+ updateStateSlice({
18830
+ data,
18831
+ valid,
18832
+ errors,
18833
+ fieldProblems
18420
18834
  });
18421
- }, [data, valid, errors, isValid]);
18422
- const formUtils = formUtilities(props, i18n);
18423
- return jsxs(Fragment, {
18424
- children: [jsx(StateContextSetter, {
18425
- stateRef
18426
- }), jsx(Field, {
18427
- classNameModifiers: ["bankAccountNumber"],
18428
- errorMessage: formUtils.getErrorMessage("bankAccountNumber", errors, fieldProblems) || "",
18429
- isValid: valid.bankAccountNumber,
18430
- label: formUtils.getLabel("bankAccountNumber"),
18431
- name: "bankAccountNumber",
18432
- children: (childProps) => jsx(InputText, {
18433
- ...childProps,
18434
- "aria-required": true,
18435
- "aria-invalid": !valid.bankAccountNumber,
18436
- "aria-label": formUtils.getLabel("bankAccountNumber"),
18437
- classNameModifiers: ["bankAccountNumber"],
18438
- name: "bankAccountNumber",
18439
- onBlur: handleChangeFor("bankAccountNumber", "blur"),
18440
- onInput: handleChangeFor("bankAccountNumber", "input"),
18441
- readonly: formUtils.isReadOnly("bankAccountNumber"),
18442
- value: data.bankAccountNumber
18443
- })
18444
- })]
18835
+ }, [data, valid, errors]);
18836
+ const formUtils = formUtilities(mergedProps, i18n);
18837
+ return jsx(MaskedInputText, {
18838
+ name: "bankAccountNumber",
18839
+ label: formUtils.getLabel("bankAccountNumber"),
18840
+ formatGuidance: formUtils.getGuidanceText("bankAccountNumber"),
18841
+ ...formUtils.getMask("bankAccountNumber"),
18842
+ isValid: valid.bankAccountNumber,
18843
+ errorMessage: formUtils.getErrorMessage("bankAccountNumber", errors, fieldProblems),
18844
+ "aria-required": true,
18845
+ "aria-invalid": !valid.bankAccountNumber,
18846
+ "aria-label": formUtils.getLabel("bankAccountNumber"),
18847
+ classNameModifiers: {
18848
+ field: ["bankAccountNumber"],
18849
+ input: ["bankAccountNumber"]
18850
+ },
18851
+ onBlur: handleChangeFor("bankAccountNumber", "blur"),
18852
+ onInput: handleChangeFor("bankAccountNumber", "input"),
18853
+ readonly: formUtils.isReadOnly("bankAccountNumber"),
18854
+ value: data.bankAccountNumber ?? "",
18855
+ acceptObscuredValue: formUtils.isObscured("bankAccountNumber")
18445
18856
  });
18446
18857
  }
18447
18858
  const bankCityFields = ["bankCity"];
@@ -18450,18 +18861,13 @@ function BankCity(props) {
18450
18861
  i18n
18451
18862
  } = useI18nContext();
18452
18863
  const {
18453
- dataStoreId,
18454
18864
  validators
18455
18865
  } = props;
18456
- const stateRef = useRef({
18457
- setState: null
18458
- });
18459
18866
  const {
18460
18867
  handleChangeFor,
18461
18868
  data,
18462
18869
  valid,
18463
18870
  errors,
18464
- isValid,
18465
18871
  fieldProblems
18466
18872
  } = useForm({
18467
18873
  ...props,
@@ -18470,106 +18876,120 @@ function BankCity(props) {
18470
18876
  defaultData: props.data,
18471
18877
  fieldProblems: props == null ? void 0 : props.fieldValidationErrors
18472
18878
  });
18879
+ const {
18880
+ updateStateSlice
18881
+ } = useGlobalDataSlice("payoutAccountDetails", "bankCity");
18473
18882
  useEffect(() => {
18474
- var _a, _b;
18475
- (_b = (_a = stateRef == null ? void 0 : stateRef.current) == null ? void 0 : _a.setState) == null ? void 0 : _b.call(_a, {
18476
- type: "addToState",
18477
- value: {
18478
- data,
18479
- valid,
18480
- errors,
18481
- fieldProblems,
18482
- caller: "bankCity",
18483
- dataStoreId
18484
- }
18883
+ updateStateSlice({
18884
+ data,
18885
+ valid,
18886
+ errors,
18887
+ fieldProblems
18485
18888
  });
18486
- }, [data, valid, errors, isValid]);
18889
+ }, [data, valid, errors]);
18487
18890
  const formUtils = formUtilities(props, i18n);
18488
- return jsxs(Fragment, {
18489
- children: [jsx(StateContextSetter, {
18490
- stateRef
18491
- }), jsx(Field, {
18891
+ return jsx(Field, {
18892
+ name: "bankCity",
18893
+ label: formUtils.getLabel("bankCity"),
18894
+ classNameModifiers: ["bankCity"],
18895
+ errorMessage: formUtils.getErrorMessage("bankCity", errors, fieldProblems),
18896
+ isValid: valid.bankCity,
18897
+ children: (childProps) => jsx(InputText, {
18898
+ ...childProps,
18492
18899
  name: "bankCity",
18493
- label: formUtils.getLabel("bankCity"),
18494
- classNameModifiers: ["bankCity"],
18495
- errorMessage: formUtils.getErrorMessage("bankCity", errors, fieldProblems),
18496
- isValid: valid.bankCity,
18497
- children: (childProps) => jsx(InputText, {
18498
- ...childProps,
18499
- name: "bankCity",
18500
- value: data.bankCity,
18501
- readonly: formUtils.isReadOnly("bankCity"),
18502
- onInput: handleChangeFor("bankCity", "input"),
18503
- onBlur: handleChangeFor("bankCity", "blur"),
18504
- "aria-required": true,
18505
- "aria-label": formUtils.getLabel("bankCity"),
18506
- "aria-invalid": !valid.bankCity
18507
- })
18508
- })]
18900
+ value: data.bankCity,
18901
+ readonly: formUtils.isReadOnly("bankCity"),
18902
+ onInput: handleChangeFor("bankCity", "input"),
18903
+ onBlur: handleChangeFor("bankCity", "blur"),
18904
+ "aria-required": true,
18905
+ "aria-label": formUtils.getLabel("bankCity"),
18906
+ "aria-invalid": !valid.bankCity
18907
+ })
18509
18908
  });
18510
18909
  }
18910
+ const defaultFieldMetadata$3 = {
18911
+ label: "bankCode",
18912
+ validators: isNotEmptyValidator
18913
+ };
18914
+ const simpleBankCodeMetadata = (length, example, label) => ({
18915
+ label: label ?? "bankCode",
18916
+ validators: validatePatternOnBlur(new RegExp(`^\\d{${length}}$`)),
18917
+ mask: {
18918
+ mask: makeMask(...numericInputs(length))
18919
+ },
18920
+ guidanceText: {
18921
+ key: "enterNDigitsForExample",
18922
+ values: {
18923
+ numDigits: `${length}`,
18924
+ example
18925
+ }
18926
+ }
18927
+ });
18928
+ const defaultFieldConfig$3 = {
18929
+ [CountryCodes.Brazil]: simpleBankCodeMetadata(3, "123"),
18930
+ [CountryCodes.Canada]: simpleBankCodeMetadata(3, "100", "institutionNumber"),
18931
+ [CountryCodes.Denmark]: simpleBankCodeMetadata(4, "5051"),
18932
+ [CountryCodes.HongKong]: simpleBankCodeMetadata(3, "321", "clearingCode"),
18933
+ [CountryCodes.Norway]: simpleBankCodeMetadata(4, "8601"),
18934
+ // Not yet implemented
18935
+ [CountryCodes.Ecuador]: simpleBankCodeMetadata(4, "1234"),
18936
+ [CountryCodes.Japan]: simpleBankCodeMetadata(4, "1234"),
18937
+ [CountryCodes.Taiwan]: simpleBankCodeMetadata(3, "123")
18938
+ };
18511
18939
  const bankCodeFields = ["bankCode"];
18512
18940
  function BankCode(props) {
18513
18941
  const {
18514
18942
  i18n
18515
18943
  } = useI18nContext();
18516
18944
  const {
18517
- dataStoreId,
18518
- validators
18945
+ country: country2,
18946
+ fieldConfig = defaultFieldConfig$3
18519
18947
  } = props;
18520
- const stateRef = useRef({
18521
- setState: null
18522
- });
18948
+ const metadata = resolveFieldMetadata(fieldConfig[country2], {}, defaultFieldMetadata$3);
18949
+ const mergedProps = mergeFieldMetadataIntoProps("bankCode", metadata, props);
18523
18950
  const {
18524
18951
  handleChangeFor,
18525
18952
  data,
18526
18953
  valid,
18527
18954
  errors,
18528
- isValid,
18529
18955
  fieldProblems
18530
18956
  } = useForm({
18531
- ...props,
18957
+ ...mergedProps,
18532
18958
  schema: bankCodeFields,
18533
- rules: validators,
18534
- defaultData: props.data,
18535
- fieldProblems: props == null ? void 0 : props.fieldValidationErrors
18959
+ rules: mergedProps.validators,
18960
+ defaultData: mergedProps.data,
18961
+ fieldProblems: mergedProps.fieldValidationErrors
18536
18962
  });
18963
+ const {
18964
+ updateStateSlice
18965
+ } = useGlobalDataSlice("payoutAccountDetails", "bankCode");
18537
18966
  useEffect(() => {
18538
- var _a, _b;
18539
- (_b = (_a = stateRef == null ? void 0 : stateRef.current) == null ? void 0 : _a.setState) == null ? void 0 : _b.call(_a, {
18540
- type: "addToState",
18541
- value: {
18542
- data,
18543
- valid,
18544
- errors,
18545
- fieldProblems,
18546
- caller: "bankCode",
18547
- dataStoreId
18548
- }
18967
+ updateStateSlice({
18968
+ data,
18969
+ valid,
18970
+ errors,
18971
+ fieldProblems
18549
18972
  });
18550
- }, [data, valid, errors, isValid]);
18551
- const formUtils = formUtilities(props, i18n);
18552
- return jsxs(Fragment, {
18553
- children: [jsx(StateContextSetter, {
18554
- stateRef
18555
- }), jsx(Field, {
18556
- name: "bankCode",
18557
- label: formUtils.getLabel("bankCode"),
18558
- classNameModifiers: ["bankCode"],
18559
- errorMessage: formUtils.getErrorMessage("bankCode", errors, fieldProblems) || "",
18560
- isValid: valid.bankCode,
18561
- children: (childProps) => jsx(InputText, {
18562
- ...childProps,
18563
- name: "bankCode",
18564
- value: data.bankCode,
18565
- readonly: formUtils.isReadOnly("bankCode"),
18566
- onInput: handleChangeFor("bankCode", "input"),
18567
- onBlur: handleChangeFor("bankCode", "blur"),
18568
- "aria-required": true,
18569
- "aria-label": formUtils.getLabel("bankCode"),
18570
- "aria-invalid": !valid.bankCode
18571
- })
18572
- })]
18973
+ }, [data, valid, errors]);
18974
+ const formUtils = formUtilities(mergedProps, i18n);
18975
+ return jsx(MaskedInputText, {
18976
+ name: "bankCode",
18977
+ label: formUtils.getLabel("bankCode"),
18978
+ classNameModifiers: {
18979
+ field: ["bankCode"],
18980
+ input: ["bankCode"]
18981
+ },
18982
+ errorMessage: formUtils.getErrorMessage("bankCode", errors, fieldProblems),
18983
+ formatGuidance: formUtils.getGuidanceText("bankCode"),
18984
+ ...formUtils.getMask("bankCode"),
18985
+ isValid: valid.bankCode,
18986
+ value: data.bankCode ?? "",
18987
+ readonly: formUtils.isReadOnly("bankCode"),
18988
+ onInput: handleChangeFor("bankCode", "input"),
18989
+ onBlur: handleChangeFor("bankCode", "blur"),
18990
+ "aria-required": true,
18991
+ "aria-label": formUtils.getLabel("bankCode"),
18992
+ "aria-invalid": !valid.bankCode
18573
18993
  });
18574
18994
  }
18575
18995
  const bankNameFields = ["bankName"];
@@ -18578,18 +18998,13 @@ function BankName(props) {
18578
18998
  i18n
18579
18999
  } = useI18nContext();
18580
19000
  const {
18581
- dataStoreId,
18582
19001
  validators
18583
19002
  } = props;
18584
- const stateRef = useRef({
18585
- setState: null
18586
- });
18587
19003
  const {
18588
19004
  handleChangeFor,
18589
19005
  data,
18590
19006
  valid,
18591
19007
  errors,
18592
- isValid,
18593
19008
  fieldProblems
18594
19009
  } = useForm({
18595
19010
  ...props,
@@ -18598,106 +19013,203 @@ function BankName(props) {
18598
19013
  defaultData: props.data,
18599
19014
  fieldProblems: props == null ? void 0 : props.fieldValidationErrors
18600
19015
  });
19016
+ const {
19017
+ updateStateSlice
19018
+ } = useGlobalDataSlice("payoutAccountDetails", "bankName");
18601
19019
  useEffect(() => {
18602
- var _a, _b;
18603
- (_b = (_a = stateRef == null ? void 0 : stateRef.current) == null ? void 0 : _a.setState) == null ? void 0 : _b.call(_a, {
18604
- type: "addToState",
18605
- value: {
18606
- data,
18607
- valid,
18608
- errors,
18609
- fieldProblems,
18610
- caller: "bankName",
18611
- dataStoreId
18612
- }
19020
+ updateStateSlice({
19021
+ data,
19022
+ valid,
19023
+ errors,
19024
+ fieldProblems
18613
19025
  });
18614
- }, [data, valid, errors, isValid]);
19026
+ }, [data, valid, errors]);
18615
19027
  const formUtils = formUtilities(props, i18n);
18616
- return jsxs(Fragment, {
18617
- children: [jsx(StateContextSetter, {
18618
- stateRef
18619
- }), jsx(Field, {
19028
+ return jsx(Field, {
19029
+ name: "bankName",
19030
+ label: formUtils.getLabel("bankName"),
19031
+ classNameModifiers: ["bankName"],
19032
+ errorMessage: formUtils.getErrorMessage("bankName", errors, fieldProblems),
19033
+ isValid: valid.bankName,
19034
+ children: (childProps) => jsx(InputText, {
19035
+ ...childProps,
18620
19036
  name: "bankName",
18621
- label: formUtils.getLabel("bankName"),
18622
- classNameModifiers: ["bankName"],
18623
- errorMessage: formUtils.getErrorMessage("bankName", errors, fieldProblems) || "",
18624
- isValid: valid.bankName,
18625
- children: (childProps) => jsx(InputText, {
18626
- ...childProps,
18627
- name: "bankName",
18628
- value: data.bankName,
18629
- readonly: formUtils.isReadOnly("bankName"),
18630
- onInput: handleChangeFor("bankName", "input"),
18631
- onBlur: handleChangeFor("bankName", "blur"),
18632
- "aria-required": true,
18633
- "aria-label": formUtils.getLabel("bankName"),
18634
- "aria-invalid": !valid.bankName
18635
- })
18636
- })]
19037
+ value: data.bankName,
19038
+ readonly: formUtils.isReadOnly("bankName"),
19039
+ onInput: handleChangeFor("bankName", "input"),
19040
+ onBlur: handleChangeFor("bankName", "blur"),
19041
+ "aria-required": true,
19042
+ "aria-label": formUtils.getLabel("bankName"),
19043
+ "aria-invalid": !valid.bankName
19044
+ })
18637
19045
  });
18638
19046
  }
19047
+ const defaultFieldMetadata$2 = {
19048
+ label: "branchCode",
19049
+ validators: isNotEmptyValidator
19050
+ };
19051
+ const defaultFieldConfig$2 = {
19052
+ [CountryCodes.UnitedKingdom]: {
19053
+ label: "sortCode",
19054
+ validators: validatePatternOnBlur(/^\d{6}$/),
19055
+ mask: {
19056
+ mask: makeMask(...numericInputs(6))
19057
+ },
19058
+ guidanceText: {
19059
+ key: "enterNDigitsForExample",
19060
+ values: {
19061
+ numDigits: "6",
19062
+ example: "401199"
19063
+ }
19064
+ }
19065
+ },
19066
+ [CountryCodes.Australia]: {
19067
+ label: "bsbNumber",
19068
+ validators: validatePatternOnBlur(/^\d{6}$/),
19069
+ mask: {
19070
+ mask: makeMask(...numericInputs(3), ...nonInputs(" - "), ...numericInputs(3))
19071
+ },
19072
+ guidanceText: {
19073
+ key: "enterNDigitsForExample",
19074
+ values: {
19075
+ numDigits: "6",
19076
+ example: "033-547"
19077
+ }
19078
+ }
19079
+ },
19080
+ [CountryCodes.Brazil]: {
19081
+ label: "branchCode",
19082
+ validators: validatePatternOnBlur(/^\d{1,5}$/),
19083
+ mask: {
19084
+ mask: makeMask(...numericInputs(1), ...numericInputs(4, true))
19085
+ },
19086
+ guidanceText: {
19087
+ key: "enterAMaximumOfNDigitsForExample",
19088
+ values: {
19089
+ maxDigits: "5",
19090
+ example: "36257"
19091
+ }
19092
+ }
19093
+ },
19094
+ [CountryCodes.Canada]: {
19095
+ label: "transitNumber",
19096
+ validators: validatePatternOnBlur(/^\d{5}$/),
19097
+ mask: {
19098
+ mask: makeMask(...numericInputs(5))
19099
+ },
19100
+ guidanceText: {
19101
+ key: "enterNDigitsForExample",
19102
+ values: {
19103
+ numDigits: "5",
19104
+ example: "27601"
19105
+ }
19106
+ }
19107
+ },
19108
+ [CountryCodes.HongKong]: {
19109
+ label: "branchCode",
19110
+ validators: validatePatternOnBlur(/^\d{3}$/),
19111
+ mask: {
19112
+ mask: makeMask(...numericInputs(3))
19113
+ },
19114
+ guidanceText: {
19115
+ key: "enterNDigitsForExample",
19116
+ values: {
19117
+ numDigits: "3",
19118
+ example: "100"
19119
+ }
19120
+ }
19121
+ },
19122
+ [CountryCodes.UnitedStates]: {
19123
+ label: "achRoutingNumber",
19124
+ validators: validatePatternOnBlur(/^\d{9}$/),
19125
+ mask: {
19126
+ mask: makeMask(...numericInputs(9))
19127
+ },
19128
+ guidanceText: {
19129
+ key: "enterNDigitsForExample",
19130
+ values: {
19131
+ numDigits: "9",
19132
+ example: "107005432"
19133
+ }
19134
+ }
19135
+ },
19136
+ [CountryCodes.Sweden]: {
19137
+ label: "branchCode",
19138
+ validators: validatePatternOnBlur(/^\d{4,5}$/),
19139
+ mask: {
19140
+ mask: makeMask(...numericInputs(4), ...nonInputs(" - ", {
19141
+ displayEagerly: false
19142
+ }), ...numericInputs(1, true))
19143
+ },
19144
+ guidanceText: {
19145
+ key: "enterXToYDigitsForExample",
19146
+ values: {
19147
+ minDigits: "4",
19148
+ maxDigits: "5",
19149
+ example: "5678 or 7635-2"
19150
+ }
19151
+ }
19152
+ },
19153
+ // Not yet implemented
19154
+ [CountryCodes.Indonesia]: {
19155
+ label: "clearingCode",
19156
+ validators: isNotEmptyValidator
19157
+ }
19158
+ };
18639
19159
  const branchCodeFields = ["branchCode"];
18640
19160
  function BranchCode(props) {
18641
19161
  const {
18642
19162
  i18n
18643
19163
  } = useI18nContext();
18644
19164
  const {
18645
- dataStoreId,
18646
- validators
19165
+ country: country2,
19166
+ fieldConfig = defaultFieldConfig$2
18647
19167
  } = props;
18648
- const stateRef = useRef({
18649
- setState: null
18650
- });
19168
+ const metadata = resolveFieldMetadata(fieldConfig[country2], {}, defaultFieldMetadata$2);
19169
+ const mergedProps = mergeFieldMetadataIntoProps("branchCode", metadata, props);
18651
19170
  const {
18652
19171
  handleChangeFor,
18653
19172
  data,
18654
19173
  valid,
18655
19174
  errors,
18656
- isValid,
18657
19175
  fieldProblems
18658
19176
  } = useForm({
18659
- ...props,
19177
+ ...mergedProps,
18660
19178
  schema: branchCodeFields,
18661
- rules: validators,
18662
- defaultData: props.data,
18663
- fieldProblems: props == null ? void 0 : props.fieldValidationErrors
19179
+ rules: mergedProps.validators,
19180
+ defaultData: mergedProps.data,
19181
+ fieldProblems: mergedProps == null ? void 0 : mergedProps.fieldValidationErrors
18664
19182
  });
19183
+ const {
19184
+ updateStateSlice
19185
+ } = useGlobalDataSlice("payoutAccountDetails", "branchCode");
18665
19186
  useEffect(() => {
18666
- var _a, _b;
18667
- (_b = (_a = stateRef == null ? void 0 : stateRef.current) == null ? void 0 : _a.setState) == null ? void 0 : _b.call(_a, {
18668
- type: "addToState",
18669
- value: {
18670
- data,
18671
- valid,
18672
- errors,
18673
- fieldProblems,
18674
- caller: "branchCode",
18675
- dataStoreId
18676
- }
19187
+ updateStateSlice({
19188
+ data,
19189
+ valid,
19190
+ errors,
19191
+ fieldProblems
18677
19192
  });
18678
- }, [data, valid, errors, isValid]);
18679
- const formUtils = formUtilities(props, i18n);
18680
- return jsxs(Fragment, {
18681
- children: [jsx(StateContextSetter, {
18682
- stateRef
18683
- }), jsx(Field, {
18684
- name: "branchCode",
18685
- label: formUtils.getLabel("branchCode"),
18686
- classNameModifiers: ["branchCode"],
18687
- errorMessage: formUtils.getErrorMessage("branchCode", errors, fieldProblems) || "",
18688
- isValid: valid.branchCode,
18689
- children: (childProps) => jsx(InputText, {
18690
- ...childProps,
18691
- name: "branchCode",
18692
- value: data.branchCode,
18693
- readonly: formUtils.isReadOnly("branchCode"),
18694
- onInput: handleChangeFor("branchCode", "input"),
18695
- onBlur: handleChangeFor("branchCode", "blur"),
18696
- "aria-required": true,
18697
- "aria-label": formUtils.getLabel("branchCode"),
18698
- "aria-invalid": !valid.branchCode
18699
- })
18700
- })]
19193
+ }, [data, valid, errors]);
19194
+ const formUtils = formUtilities(mergedProps, i18n);
19195
+ return jsx(MaskedInputText, {
19196
+ name: "branchCode",
19197
+ label: formUtils.getLabel("branchCode"),
19198
+ formatGuidance: formUtils.getGuidanceText("branchCode"),
19199
+ ...formUtils.getMask("branchCode"),
19200
+ classNameModifiers: {
19201
+ field: ["branchCode"],
19202
+ input: ["branchCode"]
19203
+ },
19204
+ errorMessage: formUtils.getErrorMessage("branchCode", errors, fieldProblems),
19205
+ isValid: valid.branchCode,
19206
+ value: data.branchCode ?? "",
19207
+ readonly: formUtils.isReadOnly("branchCode"),
19208
+ onInput: handleChangeFor("branchCode", "input"),
19209
+ onBlur: handleChangeFor("branchCode", "blur"),
19210
+ "aria-required": true,
19211
+ "aria-label": formUtils.getLabel("branchCode"),
19212
+ "aria-invalid": !valid.branchCode
18701
19213
  });
18702
19214
  }
18703
19215
  const currencyFields = ["currency"];
@@ -18767,23 +19279,25 @@ const bbanPatternsByCountry = {
18767
19279
  GB: /[A-Z]{4}\d{14}/,
18768
19280
  VG: /[\dA-Z]{4}\d{16}/
18769
19281
  };
18770
- const regionsWithSharedIbanFormat = {
18771
- GB: ["GG", "IM", "JE"]
19282
+ const customPrefixByCountry = {
19283
+ [CountryCodes.Guernsey]: "GB",
19284
+ [CountryCodes.Jersey]: "GB",
19285
+ [CountryCodes.IsleOfMan]: "GB"
18772
19286
  };
18773
- function ibanValidator(input, bankCountries) {
18774
- var _a;
19287
+ function ibanValidator(input, bankCountry2) {
18775
19288
  if (isEmpty(input))
18776
- return "fieldIsRequired";
19289
+ return false;
18777
19290
  const ibanInput = input.replace(/ /g, "").toUpperCase();
18778
19291
  if (!/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(ibanInput)) {
18779
- return "validationPleaseEnterAValidIban";
19292
+ return false;
18780
19293
  }
18781
19294
  const countryCode = ibanInput.substring(0, 2);
18782
- if (bankCountries && !bankCountries.includes(countryCode) && !((_a = regionsWithSharedIbanFormat[countryCode]) == null ? void 0 : _a.includes(bankCountries[0]))) {
19295
+ const allowedPrefix = customPrefixByCountry[bankCountry2] ?? bankCountry2;
19296
+ if (countryCode !== allowedPrefix) {
18783
19297
  return {
18784
19298
  key: "yourIbanShouldBeginWith_",
18785
19299
  values: {
18786
- countryCode: bankCountries.join("/")
19300
+ countryCode: allowedPrefix
18787
19301
  }
18788
19302
  };
18789
19303
  }
@@ -18791,7 +19305,7 @@ function ibanValidator(input, bankCountries) {
18791
19305
  if (bbanPattern) {
18792
19306
  const ibanPattern = new RegExp(`^[A-Z]{2}\\d{2}${bbanPattern.source}$`, "");
18793
19307
  if (!ibanPattern.test(ibanInput)) {
18794
- return "validationPleaseEnterAValidIban";
19308
+ return false;
18795
19309
  }
18796
19310
  }
18797
19311
  const ibanCheck = ibanInput.substring(4, ibanInput.length) + ibanInput.substring(0, 4);
@@ -18812,33 +19326,156 @@ function ibanValidator(input, bankCountries) {
18812
19326
  const cOperator = +`${cRest}${cChar}`;
18813
19327
  cRest = cOperator % 97;
18814
19328
  }
18815
- return cRest === 1 ? void 0 : "validationPleaseEnterAValidIban";
19329
+ return cRest === 1;
18816
19330
  }
18817
- const ibanFormatter = {
18818
- iban: {
18819
- formatter: (val) => val ? val.replaceAll(" ", "") : ""
19331
+ const validateIbanOnBlurAndInput = (country2) => ({
19332
+ modes: ["blur", "input"],
19333
+ validate: (iban2) => ibanValidator(iban2, country2) === true,
19334
+ errorMessage: (iban2) => {
19335
+ const result = ibanValidator(iban2, country2);
19336
+ return typeof result === "boolean" ? void 0 : result;
19337
+ }
19338
+ });
19339
+ const ibanMask = (country2, inputLength, includesBankCode) => {
19340
+ const tokens = [];
19341
+ tokens.push(...nonInputs(country2, {
19342
+ includeInValue: true
19343
+ }), ...numericInputs(2));
19344
+ inputLength -= 2;
19345
+ if (includesBankCode) {
19346
+ tokens.push(spacer, ...alphaInputs(4));
19347
+ inputLength -= 4;
19348
+ }
19349
+ const numGroups = Math.floor(inputLength / 4);
19350
+ const remainder = inputLength % 4;
19351
+ for (let i = 0; i < numGroups; i += 1) {
19352
+ tokens.push(spacer, ...numericInputs(4));
19353
+ }
19354
+ if (remainder > 0) {
19355
+ tokens.push(spacer, ...numericInputs(remainder));
19356
+ }
19357
+ return {
19358
+ mask: {
19359
+ tokens
19360
+ },
19361
+ transformOnType: includesBankCode ? uppercase : void 0
19362
+ };
19363
+ };
19364
+ const ibanGuidance = (type, numDigitsOrChars, example) => type === "digits" ? {
19365
+ key: "enterTheRemainingNDigitsForExample",
19366
+ values: {
19367
+ numDigits: `${numDigitsOrChars}`,
19368
+ example
19369
+ }
19370
+ } : {
19371
+ key: "enterTheRemainingNCharactersForExample",
19372
+ values: {
19373
+ numChars: `${numDigitsOrChars}`,
19374
+ example
19375
+ }
19376
+ };
19377
+ const ibanMetadata = (country2, inputLength, example, includesBankCode) => ({
19378
+ label: "iban",
19379
+ validators: validateIbanOnBlurAndInput(country2),
19380
+ mask: ibanMask(country2, inputLength, includesBankCode),
19381
+ guidanceText: ibanGuidance(includesBankCode ? "characters" : "digits", inputLength, example)
19382
+ });
19383
+ const gbIbanMetadata = ibanMetadata(CountryCodes.UnitedKingdom, 20, "GB09 BARC 2003 9554 8297 59", true);
19384
+ const defaultFieldMetadata$1 = {
19385
+ label: "iban",
19386
+ validators: isNotEmptyValidator
19387
+ };
19388
+ const defaultFieldConfig$1 = {
19389
+ [CountryCodes.Austria]: ibanMetadata(CountryCodes.Austria, 18, "AT88 5400 0746 7265 9747"),
19390
+ [CountryCodes.Belgium]: ibanMetadata(CountryCodes.Belgium, 14, "BE59 9788 6743 2226"),
19391
+ [CountryCodes.Croatia]: ibanMetadata(CountryCodes.Croatia, 19, "HR51 2484 0083 5929 6973 8"),
19392
+ [CountryCodes.Cyprus]: ibanMetadata(CountryCodes.Cyprus, 26, "CY16 5183 1221 8756 5858 5388 7678"),
19393
+ [CountryCodes.CzechRepublic]: ibanMetadata(CountryCodes.CzechRepublic, 22, "CZ23 5051 3674 5924 5233 3465"),
19394
+ [CountryCodes.Denmark]: ibanMetadata(CountryCodes.Denmark, 16, "DK95 2000 0123 4567 89"),
19395
+ [CountryCodes.Estonia]: ibanMetadata(CountryCodes.Estonia, 18, "EE26 1291 5123 1542 6371"),
19396
+ [CountryCodes.Finland]: ibanMetadata(CountryCodes.Finland, 16, "FI03 9319 8995 3742 51"),
19397
+ [CountryCodes.Germany]: ibanMetadata(CountryCodes.Germany, 20, "DE91 1000 0000 0123 4567 89"),
19398
+ [CountryCodes.Greece]: ibanMetadata(CountryCodes.Greece, 25, "GR57 0107 7142 7681 6687 9575 217"),
19399
+ [CountryCodes.Hungary]: ibanMetadata(CountryCodes.Hungary, 26, "HU68 1070 0024 3428 4128 3192 4812"),
19400
+ [CountryCodes.Lithuania]: ibanMetadata(CountryCodes.Lithuania, 18, "LT59 9244 6228 2176 2762"),
19401
+ [CountryCodes.Luxembourg]: ibanMetadata(CountryCodes.Luxembourg, 18, "LU71 0106 9242 5365 8562"),
19402
+ [CountryCodes.Norway]: ibanMetadata(CountryCodes.Norway, 13, "NO83 3000 1234 567"),
19403
+ [CountryCodes.Poland]: ibanMetadata(CountryCodes.Poland, 26, "PL98 1090 2402 7474 4662 2173 1624"),
19404
+ [CountryCodes.Portugal]: ibanMetadata(CountryCodes.Portugal, 23, "PT42 0035 0651 8646 9119 5263 5"),
19405
+ [CountryCodes.Slovakia]: ibanMetadata(CountryCodes.Slovakia, 22, "SK25 5173 1333 4916 3219 3521"),
19406
+ [CountryCodes.Slovenia]: ibanMetadata(CountryCodes.Slovenia, 17, "SI56 1920 0123 4567 892"),
19407
+ [CountryCodes.Spain]: ibanMetadata(CountryCodes.Spain, 22, "ES76 1465 5599 9226 7623 2635"),
19408
+ [CountryCodes.Sweden]: ibanMetadata(CountryCodes.Sweden, 22, "SE72 8000 0810 3400 0978 3242"),
19409
+ // These include 4-letter bank codes
19410
+ [CountryCodes.Bulgaria]: ibanMetadata(CountryCodes.Bulgaria, 20, "BG17 BNPA 9440 4432 7749 93", true),
19411
+ [CountryCodes.Gibraltar]: ibanMetadata(CountryCodes.Gibraltar, 21, "GI96 JYJT 9899 9587 8655 898", true),
19412
+ [CountryCodes.Ireland]: ibanMetadata(CountryCodes.Ireland, 20, "IE64 IRCE 9205 0112 3456 78", true),
19413
+ [CountryCodes.Latvia]: ibanMetadata(CountryCodes.Latvia, 19, "LV80 BANK 0000 4351 9500 1", true),
19414
+ [CountryCodes.Malta]: ibanMetadata(CountryCodes.Malta, 29, "MT03 VIXW 2487 8926 8575 8586 8929 858", true),
19415
+ [CountryCodes.Netherlands]: ibanMetadata(CountryCodes.Netherlands, 16, "NL50 ABNA 4452 7591 49", true),
19416
+ [CountryCodes.Romania]: ibanMetadata(CountryCodes.Romania, 22, "RO36 PORL 9596 9966 4965 4284", true),
19417
+ [CountryCodes.UnitedKingdom]: gbIbanMetadata,
19418
+ // IBANs for Guernsey, Jersey, and Isle of Man also use United Kingdom's format (starting with `GB`)
19419
+ [CountryCodes.Guernsey]: gbIbanMetadata,
19420
+ [CountryCodes.Jersey]: gbIbanMetadata,
19421
+ [CountryCodes.IsleOfMan]: gbIbanMetadata,
19422
+ // These are a little bit different
19423
+ [CountryCodes.France]: {
19424
+ label: "iban",
19425
+ validators: validateIbanOnBlurAndInput(CountryCodes.France),
19426
+ mask: {
19427
+ mask: makeMask(...nonInputs("FR", {
19428
+ includeInValue: true
19429
+ }), ...numericInputs(2), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(2), ...alphanumericInputs(2), spacer, ...alphanumericInputs(4), spacer, ...alphanumericInputs(4), spacer, ...alphanumericInputs(1), ...numericInputs(2)),
19430
+ transformOnType: uppercase
19431
+ },
19432
+ guidanceText: ibanGuidance("characters", 25, "FR64 1009 6000 4035 3425 9742 Y90")
19433
+ },
19434
+ [CountryCodes.Italy]: {
19435
+ label: "iban",
19436
+ validators: validateIbanOnBlurAndInput(CountryCodes.Italy),
19437
+ mask: {
19438
+ mask: makeMask(...nonInputs("IT", {
19439
+ includeInValue: true
19440
+ }), ...numericInputs(2), spacer, ...alphaInputs(1), ...numericInputs(3), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(3)),
19441
+ transformOnType: uppercase
19442
+ },
19443
+ guidanceText: ibanGuidance("characters", 25, "IT06 L030 0203 2809 8485 8934 882")
19444
+ },
19445
+ [CountryCodes.Liechtenstein]: {
19446
+ label: "iban",
19447
+ validators: validateIbanOnBlurAndInput(CountryCodes.Liechtenstein),
19448
+ mask: {
19449
+ mask: makeMask(...nonInputs("LI", {
19450
+ includeInValue: true
19451
+ }), ...numericInputs(2), spacer, ...numericInputs(4), spacer, ...numericInputs(1), ...alphanumericInputs(3), spacer, ...alphanumericInputs(4), spacer, ...alphanumericInputs(3), ...alphanumericInputs(1), spacer, ...alphanumericInputs(1)),
19452
+ transformOnType: uppercase
19453
+ },
19454
+ guidanceText: ibanGuidance("characters", 19, "LI21 0881 0000 2324 013A A")
19455
+ },
19456
+ [CountryCodes.Monaco]: {
19457
+ label: "iban",
19458
+ validators: validateIbanOnBlurAndInput(CountryCodes.Monaco),
19459
+ mask: {
19460
+ mask: makeMask(...nonInputs("MC", {
19461
+ includeInValue: true
19462
+ }), ...numericInputs(2), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(2), ...alphanumericInputs(2), spacer, ...alphanumericInputs(4), spacer, ...alphanumericInputs(4), spacer, ...alphanumericInputs(1), ...numericInputs(2)),
19463
+ transformOnType: uppercase
19464
+ },
19465
+ guidanceText: ibanGuidance("characters", 25, "MC58 1122 2000 0101 2345 6789 030")
18820
19466
  }
18821
19467
  };
18822
19468
  const ibanFields = ["iban"];
18823
- const addCountryValidationForIban = (allowedCountries) => ({
18824
- iban: [{
18825
- modes: ["blur", "input"],
18826
- validate: (iban2) => ibanValidator(iban2, allowedCountries) === void 0,
18827
- errorMessage: (iban2) => ibanValidator(iban2, allowedCountries)
18828
- }]
18829
- });
18830
19469
  function Iban(props) {
18831
19470
  const {
18832
19471
  i18n
18833
19472
  } = useI18nContext();
18834
19473
  const {
18835
- dataStoreId,
18836
- country: country2
19474
+ country: country2,
19475
+ fieldConfig = defaultFieldConfig$1
18837
19476
  } = props;
18838
- const stateRef = useRef({
18839
- setState: null
18840
- });
18841
- const rules2 = useMemo(() => addCountryValidationForIban([country2]), [country2]);
19477
+ const metadata = resolveFieldMetadata(fieldConfig[country2], {}, defaultFieldMetadata$1);
19478
+ const mergedProps = mergeFieldMetadataIntoProps("iban", metadata, props);
18842
19479
  const {
18843
19480
  handleChangeFor,
18844
19481
  data,
@@ -18846,115 +19483,111 @@ function Iban(props) {
18846
19483
  errors,
18847
19484
  fieldProblems
18848
19485
  } = useForm({
18849
- ...props,
19486
+ ...mergedProps,
18850
19487
  schema: ibanFields,
18851
- rules: rules2,
19488
+ rules: mergedProps.validators,
18852
19489
  defaultData: props.data,
18853
- formatters: ibanFormatter,
18854
19490
  fieldProblems: props == null ? void 0 : props.fieldValidationErrors,
18855
- maskedFields: props.maskedFields
19491
+ obscuredFields: props.obscuredFields
18856
19492
  });
19493
+ const {
19494
+ updateStateSlice
19495
+ } = useGlobalDataSlice("payoutAccountDetails", "iban");
18857
19496
  useEffect(() => {
18858
- var _a, _b;
18859
- (_b = (_a = stateRef.current) == null ? void 0 : _a.setState) == null ? void 0 : _b.call(_a, {
18860
- type: "addToState",
18861
- value: {
18862
- data,
18863
- valid,
18864
- errors,
18865
- fieldProblems,
18866
- caller: "iban",
18867
- dataStoreId
18868
- }
19497
+ updateStateSlice({
19498
+ data,
19499
+ valid,
19500
+ errors,
19501
+ fieldProblems
18869
19502
  });
18870
19503
  }, [data, errors, valid]);
18871
- const formUtils = formUtilities(props, i18n);
18872
- return jsxs(Fragment, {
18873
- children: [jsx(StateContextSetter, {
18874
- stateRef
18875
- }), jsx(Field, {
18876
- name: "iban",
18877
- label: formUtils.getLabel("iban"),
18878
- errorMessage: formUtils.getErrorMessage("iban", errors, fieldProblems) || "",
18879
- isValid: valid.iban,
18880
- children: (childProps) => jsx(InputText, {
18881
- ...childProps,
18882
- name: "iban",
18883
- value: data.iban,
18884
- readonly: formUtils.isReadOnly("iban"),
18885
- classNameModifiers: ["iban"],
18886
- onInput: handleChangeFor("iban", "blur"),
18887
- onBlur: handleChangeFor("iban", "blur"),
18888
- "aria-required": true,
18889
- "aria-label": formUtils.getLabel("iban"),
18890
- "aria-invalid": !valid.iban,
18891
- transformInput: (value) => value.toUpperCase()
18892
- })
18893
- })]
19504
+ const formUtils = formUtilities(mergedProps, i18n);
19505
+ return jsx(MaskedInputText, {
19506
+ name: "iban",
19507
+ label: formUtils.getLabel("iban"),
19508
+ formatGuidance: formUtils.getGuidanceText("iban"),
19509
+ ...formUtils.getMask("iban"),
19510
+ errorMessage: formUtils.getErrorMessage("iban", errors, fieldProblems),
19511
+ isValid: valid.iban,
19512
+ value: data.iban ?? "",
19513
+ readonly: formUtils.isReadOnly("iban"),
19514
+ classNameModifiers: {
19515
+ field: ["iban"],
19516
+ input: ["iban"]
19517
+ },
19518
+ onInput: handleChangeFor("iban", "blur"),
19519
+ onBlur: handleChangeFor("iban", "blur"),
19520
+ "aria-required": true,
19521
+ "aria-label": formUtils.getLabel("iban"),
19522
+ "aria-invalid": !valid.iban,
19523
+ acceptObscuredValue: formUtils.isObscured("iban")
18894
19524
  });
18895
19525
  }
19526
+ const swiftCodeFieldMetadata = {
19527
+ label: "bicSwift",
19528
+ validators: validatePatternOnBlur(/^([a-zA-Z0-9]{8}|[a-zA-Z0-9]{11})$/),
19529
+ mask: {
19530
+ mask: makeMask(...alphaInputs(6), ...alphanumericInputs(2), ...alphanumericInputs(3, true)),
19531
+ transformOnType: uppercase
19532
+ },
19533
+ guidanceText: {
19534
+ key: "enterXOrYCharactersForExample",
19535
+ values: {
19536
+ xChars: "8",
19537
+ yChars: "11",
19538
+ example: "BANKDE65287"
19539
+ }
19540
+ }
19541
+ };
18896
19542
  const swiftCodeFields = ["swiftCode"];
18897
19543
  function SwiftCode(props) {
18898
19544
  const {
18899
19545
  i18n
18900
19546
  } = useI18nContext();
18901
- const {
18902
- dataStoreId,
18903
- validators
18904
- } = props;
18905
- const stateRef = useRef({
18906
- setState: null
18907
- });
19547
+ const mergedProps = mergeFieldMetadataIntoProps("swiftCode", swiftCodeFieldMetadata, props);
18908
19548
  const {
18909
19549
  handleChangeFor,
18910
19550
  data,
18911
19551
  valid,
18912
19552
  errors,
18913
- isValid,
18914
19553
  fieldProblems
18915
19554
  } = useForm({
18916
- ...props,
19555
+ ...mergedProps,
18917
19556
  schema: swiftCodeFields,
18918
- rules: validators,
18919
- defaultData: props.data,
18920
- fieldProblems: props == null ? void 0 : props.fieldValidationErrors
19557
+ rules: mergedProps.validators,
19558
+ defaultData: mergedProps.data,
19559
+ fieldProblems: mergedProps == null ? void 0 : mergedProps.fieldValidationErrors
18921
19560
  });
19561
+ const {
19562
+ updateStateSlice
19563
+ } = useGlobalDataSlice("payoutAccountDetails", "swiftCode");
18922
19564
  useEffect(() => {
18923
- var _a, _b;
18924
- (_b = (_a = stateRef == null ? void 0 : stateRef.current) == null ? void 0 : _a.setState) == null ? void 0 : _b.call(_a, {
18925
- type: "addToState",
18926
- value: {
18927
- data,
18928
- valid,
18929
- errors,
18930
- fieldProblems,
18931
- caller: "swiftCode",
18932
- dataStoreId
18933
- }
19565
+ updateStateSlice({
19566
+ data,
19567
+ valid,
19568
+ errors,
19569
+ fieldProblems
18934
19570
  });
18935
- }, [data, valid, errors, isValid]);
18936
- const formUtils = formUtilities(props, i18n);
18937
- return jsxs(Fragment, {
18938
- children: [jsx(StateContextSetter, {
18939
- stateRef
18940
- }), jsx(Field, {
18941
- name: "swiftCode",
18942
- label: formUtils.getLabel("swiftCode"),
18943
- classNameModifiers: ["swiftCode"],
18944
- errorMessage: formUtils.getErrorMessage("swiftCode", errors, fieldProblems),
18945
- isValid: valid.swiftCode,
18946
- children: (childProps) => jsx(InputText, {
18947
- ...childProps,
18948
- name: "swiftCode",
18949
- value: data.swiftCode,
18950
- readonly: formUtils.isReadOnly("swiftCode"),
18951
- onInput: handleChangeFor("swiftCode", "input"),
18952
- onBlur: handleChangeFor("swiftCode", "blur"),
18953
- "aria-required": true,
18954
- "aria-label": formUtils.getLabel("swiftCode"),
18955
- "aria-invalid": !valid.swiftCode
18956
- })
18957
- })]
19571
+ }, [data, valid, errors]);
19572
+ const formUtils = formUtilities(mergedProps, i18n);
19573
+ return jsx(MaskedInputText, {
19574
+ name: "swiftCode",
19575
+ label: formUtils.getLabel("swiftCode"),
19576
+ formatGuidance: formUtils.getGuidanceText("swiftCode"),
19577
+ ...formUtils.getMask("swiftCode"),
19578
+ classNameModifiers: {
19579
+ field: ["swiftCode"],
19580
+ input: ["swiftCode"]
19581
+ },
19582
+ errorMessage: formUtils.getErrorMessage("swiftCode", errors, fieldProblems),
19583
+ isValid: valid.swiftCode,
19584
+ value: data.swiftCode ?? "",
19585
+ readonly: formUtils.isReadOnly("swiftCode"),
19586
+ onInput: handleChangeFor("swiftCode", "input"),
19587
+ onBlur: handleChangeFor("swiftCode", "blur"),
19588
+ "aria-required": true,
19589
+ "aria-label": formUtils.getLabel("swiftCode"),
19590
+ "aria-invalid": !valid.swiftCode
18958
19591
  });
18959
19592
  }
18960
19593
  const payoutAccountFields = ["accountHolder", ...ibanFields, ...branchCodeFields, ...swiftCodeFields, ...currencyFields, ...bankAccountNumberFields, ...bankNameFields, ...bankCodeFields];
@@ -18979,14 +19612,10 @@ function PayoutAccountComponent(props) {
18979
19612
  arePayoutAccountDetailsInvalid,
18980
19613
  invalidFieldNames
18981
19614
  } = props;
18982
- const stateRef = useRef({
18983
- setState: null
18984
- });
18985
19615
  const {
18986
19616
  data,
18987
19617
  valid,
18988
19618
  errors,
18989
- isValid,
18990
19619
  handleChangeFor,
18991
19620
  schema
18992
19621
  } = useForm({
@@ -19000,20 +19629,17 @@ function PayoutAccountComponent(props) {
19000
19629
  ...props,
19001
19630
  requiredFields
19002
19631
  }, i18n);
19632
+ const {
19633
+ updateStateSlice
19634
+ } = useGlobalDataSlice("payoutAccountDetails");
19003
19635
  useEffect(() => {
19004
- var _a, _b;
19005
- (_b = (_a = stateRef.current).setState) == null ? void 0 : _b.call(_a, {
19006
- type: "addToState",
19007
- value: {
19008
- data,
19009
- valid,
19010
- errors,
19011
- caller: id2,
19012
- dataStoreId: id2,
19013
- schema
19014
- }
19636
+ updateStateSlice({
19637
+ data,
19638
+ valid,
19639
+ errors,
19640
+ schema
19015
19641
  });
19016
- }, [data, valid, errors, isValid]);
19642
+ }, [data, valid, errors]);
19017
19643
  const bankAccountNumberProps = getFieldProps(props, bankAccountNumberFields);
19018
19644
  const swiftCodeProps = getFieldProps(props, swiftCodeFields);
19019
19645
  const ibanProps = getFieldProps(props, ibanFields);
@@ -19027,10 +19653,7 @@ function PayoutAccountComponent(props) {
19027
19653
  return jsxs("form", {
19028
19654
  className: "adyen-kyc-individual__payout-account",
19029
19655
  "aria-describedby": "ariaErrorField",
19030
- children: [jsx(StateContextSetter, {
19031
- owner: id2,
19032
- stateRef
19033
- }), jsx(FormHeader, {
19656
+ children: [jsx(FormHeader, {
19034
19657
  heading: props.heading
19035
19658
  }), jsx(ErrorPanel, {
19036
19659
  verificationErrors: props == null ? void 0 : props.formVerificationErrors,
@@ -19080,9 +19703,11 @@ function PayoutAccountComponent(props) {
19080
19703
  dataStoreId: id2
19081
19704
  }), formUtils.isRequiredField("bankCode") && jsx(BankCode, {
19082
19705
  ...bankCodeProps,
19706
+ country: country2,
19083
19707
  dataStoreId: id2
19084
19708
  }), formUtils.isRequiredField("branchCode") && jsx(BranchCode, {
19085
19709
  ...branchCodeProps,
19710
+ country: country2,
19086
19711
  dataStoreId: id2
19087
19712
  }), formUtils.isRequiredField("bankCity") && jsx(BankCity, {
19088
19713
  ...bankCityProps,
@@ -20082,7 +20707,7 @@ function PayoutDetailsComponent(props) {
20082
20707
  useEffect(() => {
20083
20708
  var _a2;
20084
20709
  if (validateAccountDetails && ((_a2 = validateAccountDetails.invalidFields) == null ? void 0 : _a2.length) > 0) {
20085
- const fieldNames = validateAccountDetails.invalidFields.map((field) => extractFieldName(field == null ? void 0 : field.name)).map((key) => mapKeyToFieldName(i18n, key));
20710
+ const fieldNames = validateAccountDetails.invalidFields.map((field) => extractFieldName(field == null ? void 0 : field.name)).map((key) => i18n.get(key));
20086
20711
  const invalidFieldsString = concatenateFieldNames(fieldNames);
20087
20712
  setInvalidFieldNames(invalidFieldsString);
20088
20713
  setArePayoutAccountDetailsInvalid(true);
@@ -21784,28 +22409,18 @@ const payoutFieldsMapping = {
21784
22409
  OWNER_NAME: "accountHolder",
21785
22410
  BANK_NAME: "bankName"
21786
22411
  };
21787
- const maskedPayoutFields = [payoutFieldsMapping.NUMBER, payoutFieldsMapping.IBAN];
22412
+ const obscuredPayoutFields = [payoutFieldsMapping.NUMBER, payoutFieldsMapping.IBAN];
21788
22413
  const countryConfig$2 = {
21789
- [CountryCodes.Australia]: {
21790
- branchCode: {
21791
- label: "bsbNumber"
21792
- }
21793
- },
22414
+ [CountryCodes.Australia]: {},
21794
22415
  [CountryCodes.Brazil]: {
21795
22416
  bankCode: {
21796
22417
  label: "bankCode"
21797
- },
21798
- branchCode: {
21799
- label: "branchCode"
21800
22418
  }
21801
22419
  },
21802
22420
  [CountryCodes.Canada]: {
21803
22421
  bankCode: {
21804
22422
  label: "institutionNumber"
21805
22423
  },
21806
- branchCode: {
21807
- label: "transitNumber"
21808
- },
21809
22424
  bankStatementDocument: {
21810
22425
  label: "listitemVoidedChequeBankLetterBankStatementOnline"
21811
22426
  }
@@ -21813,39 +22428,23 @@ const countryConfig$2 = {
21813
22428
  [CountryCodes.HongKong]: {
21814
22429
  bankCode: {
21815
22430
  label: "clearingCode"
21816
- },
21817
- branchCode: {
21818
- label: "branchCode"
21819
- }
21820
- },
21821
- [CountryCodes.Indonesia]: {
21822
- branchCode: {
21823
- label: "clearingCode"
21824
22431
  }
21825
22432
  },
22433
+ [CountryCodes.Indonesia]: {},
21826
22434
  [CountryCodes.NewZealand]: {
21827
22435
  bankCode: {
21828
22436
  label: "bankCode"
21829
- },
21830
- branchCode: {
21831
- label: "branchCode"
21832
22437
  }
21833
22438
  },
21834
22439
  [CountryCodes.Singapore]: {
21835
22440
  bankCode: {
21836
22441
  label: "bankCode"
21837
22442
  },
21838
- branchCode: {
21839
- label: "branchCode"
21840
- },
21841
22443
  swiftCode: {
21842
22444
  label: "bic"
21843
22445
  }
21844
22446
  },
21845
22447
  [CountryCodes.UnitedKingdom]: {
21846
- branchCode: {
21847
- label: "sortCode"
21848
- },
21849
22448
  bankCity: {
21850
22449
  label: "bankCityTown"
21851
22450
  },
@@ -21853,11 +22452,7 @@ const countryConfig$2 = {
21853
22452
  label: "listitemVoidedChequeBankLetterBankStatementOnline"
21854
22453
  }
21855
22454
  },
21856
- [CountryCodes.UnitedStates]: {
21857
- branchCode: {
21858
- label: "achRoutingNumber"
21859
- }
21860
- }
22455
+ [CountryCodes.UnitedStates]: {}
21861
22456
  };
21862
22457
  const parseValidationRule = (validationRule) => {
21863
22458
  const [name, start, end] = validationRule.split(":");
@@ -22112,7 +22707,7 @@ const identityNumber = {
22112
22707
  idNumber: {
22113
22708
  rule: "isDirectorIdNumberRequiredForCountry",
22114
22709
  verify: "isVerificationAllowedForCountry",
22115
- masked: true
22710
+ obscured: true
22116
22711
  },
22117
22712
  idNumberExempt: {
22118
22713
  rules: ["idNumberExemptIfApplicableCountry", "isDirectorIdNumberRequiredForCountry"]
@@ -22409,7 +23004,7 @@ function parsePayoutScenarios({
22409
23004
  rule: bankVerificationAvailable ? "whenUsingManualVerification" : "REQUIRED",
22410
23005
  validators: [requiredValidatorRule]
22411
23006
  };
22412
- fieldConfigurations[fieldName].masked = maskedPayoutFields.includes(fieldName);
23007
+ fieldConfigurations[fieldName].obscured = obscuredPayoutFields.includes(fieldName);
22413
23008
  }
22414
23009
  });
22415
23010
  if (bankVerificationAvailable) {
@@ -22468,7 +23063,7 @@ function getPropsFromConfigurations(scenarioConfiguration, forms2, remediationAc
22468
23063
  const helperText = {};
22469
23064
  const masks = {};
22470
23065
  const validators = {};
22471
- const maskedFields = {};
23066
+ const obscuredFields = {};
22472
23067
  if (!scenarioConfiguration) {
22473
23068
  return;
22474
23069
  }
@@ -22535,8 +23130,8 @@ function getPropsFromConfigurations(scenarioConfiguration, forms2, remediationAc
22535
23130
  [field]: fieldConfigurations.validators
22536
23131
  };
22537
23132
  }
22538
- if (fieldConfigurations.masked) {
22539
- maskedFields[formId] = maskedFields[formId] ? [...maskedFields[formId], field] : [field];
23133
+ if (fieldConfigurations.obscured) {
23134
+ obscuredFields[formId] = obscuredFields[formId] ? [...obscuredFields[formId], field] : [field];
22540
23135
  }
22541
23136
  }
22542
23137
  });
@@ -22549,7 +23144,7 @@ function getPropsFromConfigurations(scenarioConfiguration, forms2, remediationAc
22549
23144
  verifyFields,
22550
23145
  placeholders,
22551
23146
  validators,
22552
- maskedFields,
23147
+ obscuredFields,
22553
23148
  helperText,
22554
23149
  masks
22555
23150
  };
@@ -24086,15 +24681,6 @@ function useCompanySearch({
24086
24681
  reset
24087
24682
  };
24088
24683
  }
24089
- const mapKompanyOrganizationTypeToCompanyType = (organizationType) => {
24090
- const organizationTypeValue = organizationType == null ? void 0 : organizationType.toLowerCase();
24091
- switch (organizationTypeValue) {
24092
- case "business":
24093
- return CompanyTypesValue.PRIVATE_COMPANY;
24094
- default:
24095
- return void 0;
24096
- }
24097
- };
24098
24684
  const mapCompanyDataResponseToFormSchema = (company2) => ({
24099
24685
  companyBasics: {
24100
24686
  country: company2.country,
@@ -24109,9 +24695,10 @@ const mapCompanyDataResponseToFormSchema = (company2) => ({
24109
24695
  postalCode: company2.zipcode
24110
24696
  }
24111
24697
  },
24112
- companyStructure: {
24113
- entityType: mapKompanyOrganizationTypeToCompanyType(company2.organizationType)
24114
- },
24698
+ // TODO: use this when CORE-6950 is completed (BE ticket)
24699
+ // companyStructure: {
24700
+ // entityType: mapOrganizationTypeToCompanyType(company.organizationType),
24701
+ // },
24115
24702
  companyOtherDetails: {
24116
24703
  registrationNumber: company2.registrationNumber
24117
24704
  }
@@ -24574,95 +25161,37 @@ function TaxInformationField({
24574
25161
  })]
24575
25162
  });
24576
25163
  }
24577
- const taxInformationFieldValidation = (pattern, country2) => ({
24578
- modes: ["blur"],
24579
- validate: (taxInformation) => {
24580
- var _a;
24581
- const taxIdNumber2 = (_a = taxInformation == null ? void 0 : taxInformation.find((taxId2) => country2 === taxId2.country)) == null ? void 0 : _a.number;
24582
- return taxIdNumber2 ? pattern.test(taxIdNumber2) : false;
24583
- }
24584
- });
24585
- const defaultFieldMetadata = {
24586
- label: "taxId"
24587
- };
24588
- const defaultFieldConfig = {
24589
- ...defaultFieldConfig$2,
24590
- [CountryCodes.Canada]: {
24591
- ...defaultFieldConfig$2.CA,
24592
- validators: taxInformationFieldValidation(/^\d{9}$/, CountryCodes.Canada)
24593
- },
24594
- [CountryCodes.HongKong]: {
24595
- ...defaultFieldConfig$2.HK,
24596
- validators: taxInformationFieldValidation(/^\d{8}$/, CountryCodes.HongKong)
24597
- },
24598
- [CountryCodes.Australia]: {
24599
- ...defaultFieldConfig$2.AU,
24600
- validators: taxInformationFieldValidation(/^\d{11}$/, CountryCodes.Australia)
24601
- },
24602
- [CountryCodes.NewZealand]: {
24603
- ...defaultFieldConfig$2.NZ,
24604
- validators: taxInformationFieldValidation(/^\d{8,9}$/, CountryCodes.NewZealand)
24605
- },
24606
- [CountryCodes.Singapore]: {
24607
- ...defaultFieldConfig$2.SG,
24608
- validators: taxInformationFieldValidation(/^[A-Z0-9]{9,10}$/, CountryCodes.Singapore)
24609
- },
24610
- [CountryCodes.UnitedStates]: ({
25164
+ const defaultFieldMetadata = defaultFieldMetadata$7;
25165
+ const defaultFieldConfig = entriesOf(defaultFieldConfig$7).reduce((fieldConfig, [country2, countryEntry]) => ({
25166
+ ...fieldConfig,
25167
+ [country2]: ({
24611
25168
  taxIdNumberType
24612
25169
  }) => {
24613
- switch (taxIdNumberType) {
24614
- case "ssn":
24615
- return {
24616
- label: "socialSecurityNumber9Digits",
24617
- validators: taxInformationFieldValidation(/^\d{9}$/, CountryCodes.UnitedStates),
24618
- mask: {
24619
- mask: makeMask(...numericInputs(9))
24620
- }
24621
- };
24622
- case "ssnLastFour":
24623
- return {
24624
- label: "last4DigitsOfSocialSecurityNumber",
24625
- validators: taxInformationFieldValidation(/^\d{4}$/, CountryCodes.UnitedStates),
24626
- mask: {
24627
- mask: makeMask(...nonInputs("*** — ** — "), ...numericInputs(4))
24628
- }
24629
- };
24630
- case "ein":
24631
- default:
24632
- return {
24633
- label: "employerIdentificationNumber",
24634
- validators: taxInformationFieldValidation(/^\d{9}$/, CountryCodes.UnitedStates),
24635
- mask: {
24636
- mask: makeMask(...numericInputs(9))
24637
- },
24638
- guidanceText: {
24639
- key: "validationPleaseEnterAValidTaxIdNumberWithFormat",
24640
- values: {
24641
- format: "XXXXXXXXX"
24642
- }
24643
- }
24644
- };
24645
- }
24646
- },
24647
- /**
24648
- * NOT YET SUPPORTED
24649
- * These are brought over from the old pattern files. We have no idea if they are accurate or not.
24650
- * See https://en.wikipedia.org/wiki/VAT_identification_number
24651
- */
24652
- [CountryCodes.India]: {
24653
- validators: taxInformationFieldValidation(/^[A-Z0-9]{15}$/, CountryCodes.India)
24654
- },
24655
- [CountryCodes.Japan]: {
24656
- validators: taxInformationFieldValidation(/^\d{13}$/, CountryCodes.Japan)
24657
- },
24658
- [CountryCodes.Mexico]: {
24659
- validators: taxInformationFieldValidation(/^\D{3}\d{6}\w{3}$/, CountryCodes.Mexico)
24660
- // Examples: P&G851223B24, LFM200817DGA
24661
- },
24662
- [CountryCodes.Philippines]: {
24663
- validators: taxInformationFieldValidation(/^\d{12}$/, CountryCodes.Philippines)
25170
+ const fieldMetadata = resolveFieldMetadata(countryEntry, {
25171
+ taxIdNumberType
25172
+ }, defaultFieldMetadata$7);
25173
+ const taxIdValidators = fieldMetadata.validators ? Array.isArray(fieldMetadata.validators) ? fieldMetadata.validators : [fieldMetadata.validators] : [];
25174
+ const mappedValidators = taxIdValidators.map((validator) => ({
25175
+ ...validator,
25176
+ validate: (taxInformation) => {
25177
+ var _a;
25178
+ const taxIdNumber2 = (_a = taxInformation == null ? void 0 : taxInformation.find((taxId2) => country2 === taxId2.country)) == null ? void 0 : _a.number;
25179
+ return taxIdNumber2 ? validator.validate(taxIdNumber2) : false;
25180
+ },
25181
+ errorMessage: (taxInformation) => {
25182
+ var _a;
25183
+ const taxIdNumber2 = (_a = taxInformation == null ? void 0 : taxInformation.find((taxId2) => country2 === taxId2.country)) == null ? void 0 : _a.number;
25184
+ if (!taxIdNumber2)
25185
+ return void 0;
25186
+ return typeof validator.errorMessage === "function" ? validator.errorMessage(taxIdNumber2) : validator.errorMessage;
25187
+ }
25188
+ }));
25189
+ return {
25190
+ ...fieldMetadata,
25191
+ validators: mappedValidators
25192
+ };
24664
25193
  }
24665
- };
25194
+ }), {});
24666
25195
  const COMPANY_BASICS_FORM_ID = "companyBasics";
24667
25196
  const companyBasicsFields = [...LEGAL_COMPANY_NAME_FIELD, ...COUNTRY_FIELD, ...STATE_FIELD, ...TAX_INFORMATION_FIELD];
24668
25197
  function CompanyBasics({
@@ -24677,7 +25206,7 @@ function CompanyBasics({
24677
25206
  formVerificationErrors,
24678
25207
  fieldValidationErrors,
24679
25208
  requiredFields,
24680
- maskedFields,
25209
+ obscuredFields,
24681
25210
  optionalFields,
24682
25211
  readOnlyFields,
24683
25212
  handleCompanyIndexSearch,
@@ -24687,7 +25216,7 @@ function CompanyBasics({
24687
25216
  handleVerifyTin,
24688
25217
  country: country2,
24689
25218
  isTopLevelEntity,
24690
- kompanyAddress,
25219
+ kompanyVerifiedData,
24691
25220
  setKompanyAddress,
24692
25221
  setKompanyVerifiedData
24693
25222
  }) {
@@ -24711,9 +25240,9 @@ function CompanyBasics({
24711
25240
  requiredFields,
24712
25241
  readOnlyFields,
24713
25242
  optionalFields,
24714
- maskedFields,
25243
+ obscuredFields,
24715
25244
  shouldValidate
24716
- }), [helperText, labels2, maskedFields, optionalFields, placeholders, readOnly, readOnlyFields, requiredFields, shouldValidate]);
25245
+ }), [helperText, labels2, obscuredFields, optionalFields, placeholders, readOnly, readOnlyFields, requiredFields, shouldValidate]);
24717
25246
  const mergedFieldProps = useMemo$1(() => {
24718
25247
  var _a2;
24719
25248
  return (_a2 = initialFormUtilsProps.requiredFields) == null ? void 0 : _a2.reduce((acc, field) => {
@@ -24765,7 +25294,7 @@ function CompanyBasics({
24765
25294
  defaultData: data,
24766
25295
  rules: mergedFieldProps == null ? void 0 : mergedFieldProps.validators,
24767
25296
  optionalFields: mergedFieldProps == null ? void 0 : mergedFieldProps.optionalFields,
24768
- maskedFields: mergedFieldProps == null ? void 0 : mergedFieldProps.maskedFields,
25297
+ obscuredFields: mergedFieldProps == null ? void 0 : mergedFieldProps.obscuredFields,
24769
25298
  fieldProblems: fieldValidationErrors,
24770
25299
  shouldValidate
24771
25300
  });
@@ -24773,7 +25302,7 @@ function CompanyBasics({
24773
25302
  const formUtils = formUtilities(mergedFieldProps ?? initialFormUtilsProps, i18n);
24774
25303
  const hasCompanySearchProvider = formData.country && COUNTRIES_WITH_IN_APP_SEARCH_COMPANY_VERIFICATION.includes(formData.country);
24775
25304
  const currentCountryTaxIdNumber = (_b = (_a = formData.taxInformation) == null ? void 0 : _a.find((taxInfo) => taxInfo.country === formData.country)) == null ? void 0 : _b.number;
24776
- const disabled = (field) => formUtils.isReadOnly(field) || Boolean(kompanyAddress) || loading2;
25305
+ const disabled = (field) => formUtils.isReadOnly(field) || Boolean(kompanyVerifiedData) || loading2;
24777
25306
  useEffect$1(() => {
24778
25307
  updateStateSlice({
24779
25308
  schema: formSchema,
@@ -24865,7 +25394,7 @@ function CompanyBasics({
24865
25394
  })]
24866
25395
  });
24867
25396
  }
24868
- const CompanyBasicsComponent = memo(CompanyBasics, (prevProps, nextProps) => objectsDeepEqual(prevProps.data, nextProps.data) && objectsDeepEqual(prevProps.labels, nextProps.labels) && objectsDeepEqual(prevProps.placeholders, nextProps.placeholders) && objectsDeepEqual(prevProps.helperText, nextProps.helperText) && objectsDeepEqual(prevProps.formVerificationErrors, nextProps.formVerificationErrors) && objectsDeepEqual(prevProps.fieldValidationErrors, nextProps.fieldValidationErrors) && prevProps.heading === nextProps.heading && prevProps.description === nextProps.description && prevProps.readOnly === nextProps.readOnly && prevProps.requiredFields === nextProps.requiredFields && prevProps.maskedFields === nextProps.maskedFields && prevProps.optionalFields === nextProps.optionalFields && prevProps.readOnlyFields === nextProps.readOnlyFields && prevProps.shouldValidate === nextProps.shouldValidate && prevProps.kompanyAddress === nextProps.kompanyAddress);
25397
+ const CompanyBasicsComponent = memo(CompanyBasics, (prevProps, nextProps) => objectsDeepEqual(prevProps.data, nextProps.data) && objectsDeepEqual(prevProps.labels, nextProps.labels) && objectsDeepEqual(prevProps.placeholders, nextProps.placeholders) && objectsDeepEqual(prevProps.helperText, nextProps.helperText) && objectsDeepEqual(prevProps.formVerificationErrors, nextProps.formVerificationErrors) && objectsDeepEqual(prevProps.fieldValidationErrors, nextProps.fieldValidationErrors) && prevProps.heading === nextProps.heading && prevProps.description === nextProps.description && prevProps.readOnly === nextProps.readOnly && prevProps.requiredFields === nextProps.requiredFields && prevProps.obscuredFields === nextProps.obscuredFields && prevProps.optionalFields === nextProps.optionalFields && prevProps.readOnlyFields === nextProps.readOnlyFields && prevProps.shouldValidate === nextProps.shouldValidate && objectsDeepEqual(prevProps.kompanyVerifiedData, nextProps.kompanyVerifiedData));
24869
25398
  const CompanyOtherDetailsComponent$1 = "";
24870
25399
  const BUSINESS_REGISTRATION_NUMBER_FIELD = ["registrationNumber", "exemptedFromRegistrationNumber"];
24871
25400
  function BusinessRegistrationNumberField({
@@ -25180,7 +25709,7 @@ function CompanyOtherDetails({
25180
25709
  formVerificationErrors,
25181
25710
  fieldValidationErrors,
25182
25711
  requiredFields,
25183
- maskedFields,
25712
+ obscuredFields,
25184
25713
  optionalFields,
25185
25714
  readOnlyFields,
25186
25715
  country: country2,
@@ -25213,9 +25742,9 @@ function CompanyOtherDetails({
25213
25742
  requiredFields,
25214
25743
  readOnlyFields,
25215
25744
  optionalFields,
25216
- maskedFields,
25745
+ obscuredFields,
25217
25746
  shouldValidate
25218
- }), [helperText, labels2, maskedFields, optionalFields, placeholders, readOnly, readOnlyFields, requiredFields, shouldValidate]);
25747
+ }), [helperText, labels2, obscuredFields, optionalFields, placeholders, readOnly, readOnlyFields, requiredFields, shouldValidate]);
25219
25748
  const mergedFieldProps = useMemo$1(() => {
25220
25749
  var _a2;
25221
25750
  return (_a2 = initialFormUtilsProps.requiredFields) == null ? void 0 : _a2.reduce((acc, field) => {
@@ -25253,18 +25782,18 @@ function CompanyOtherDetails({
25253
25782
  }
25254
25783
  };
25255
25784
  case "registrationNumber":
25256
- return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(defaultFieldConfig$3[country2], {
25785
+ return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(defaultFieldConfig$8[country2], {
25257
25786
  companyType: companyType2,
25258
25787
  registrationNumberType
25259
- }, defaultFieldMetadata$3), acc);
25788
+ }, defaultFieldMetadata$8), acc);
25260
25789
  case "taxInformation":
25261
25790
  return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(defaultFieldConfig[country2], {
25262
25791
  taxIdNumberType: taxIdentificationNumberType
25263
25792
  }, defaultFieldMetadata), acc);
25264
25793
  case "vatNumber":
25265
- return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(defaultFieldConfig$1[country2], {
25794
+ return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(defaultFieldConfig$6[country2], {
25266
25795
  vatNumberType: taxIdentificationNumberType
25267
- }, defaultFieldMetadata$1), acc);
25796
+ }, defaultFieldMetadata$6), acc);
25268
25797
  default:
25269
25798
  return acc;
25270
25799
  }
@@ -25283,7 +25812,7 @@ function CompanyOtherDetails({
25283
25812
  defaultData: data,
25284
25813
  rules: mergedFieldProps == null ? void 0 : mergedFieldProps.validators,
25285
25814
  optionalFields: mergedFieldProps == null ? void 0 : mergedFieldProps.optionalFields,
25286
- maskedFields: mergedFieldProps == null ? void 0 : mergedFieldProps.maskedFields,
25815
+ obscuredFields: mergedFieldProps == null ? void 0 : mergedFieldProps.obscuredFields,
25287
25816
  fieldProblems: fieldValidationErrors,
25288
25817
  shouldValidate
25289
25818
  });
@@ -25432,7 +25961,7 @@ function CompanyOtherDetails({
25432
25961
  })]
25433
25962
  });
25434
25963
  }
25435
- const CompanyOtherDetailsComponent = memo(CompanyOtherDetails, (prevProps, nextProps) => objectsDeepEqual(prevProps.data, nextProps.data) && objectsDeepEqual(prevProps.labels, nextProps.labels) && objectsDeepEqual(prevProps.placeholders, nextProps.placeholders) && objectsDeepEqual(prevProps.helperText, nextProps.helperText) && objectsDeepEqual(prevProps.formVerificationErrors, nextProps.formVerificationErrors) && objectsDeepEqual(prevProps.fieldValidationErrors, nextProps.fieldValidationErrors) && prevProps.heading === nextProps.heading && prevProps.description === nextProps.description && prevProps.requiredFields === nextProps.requiredFields && prevProps.maskedFields === nextProps.maskedFields && prevProps.optionalFields === nextProps.optionalFields && prevProps.readOnlyFields === nextProps.readOnlyFields && prevProps.shouldValidate === nextProps.shouldValidate && prevProps.readOnly === nextProps.readOnly && prevProps.country === nextProps.country && prevProps.legalCompanyName === nextProps.legalCompanyName && prevProps.companyType === nextProps.companyType && prevProps.kompanyVerifiedData === nextProps.kompanyVerifiedData);
25964
+ const CompanyOtherDetailsComponent = memo(CompanyOtherDetails, (prevProps, nextProps) => objectsDeepEqual(prevProps.data, nextProps.data) && objectsDeepEqual(prevProps.labels, nextProps.labels) && objectsDeepEqual(prevProps.placeholders, nextProps.placeholders) && objectsDeepEqual(prevProps.helperText, nextProps.helperText) && objectsDeepEqual(prevProps.formVerificationErrors, nextProps.formVerificationErrors) && objectsDeepEqual(prevProps.fieldValidationErrors, nextProps.fieldValidationErrors) && prevProps.heading === nextProps.heading && prevProps.description === nextProps.description && prevProps.requiredFields === nextProps.requiredFields && prevProps.obscuredFields === nextProps.obscuredFields && prevProps.optionalFields === nextProps.optionalFields && prevProps.readOnlyFields === nextProps.readOnlyFields && prevProps.shouldValidate === nextProps.shouldValidate && prevProps.readOnly === nextProps.readOnly && prevProps.country === nextProps.country && prevProps.legalCompanyName === nextProps.legalCompanyName && prevProps.companyType === nextProps.companyType && prevProps.kompanyVerifiedData === nextProps.kompanyVerifiedData);
25436
25965
  const CompanyStructureComponent$1 = "";
25437
25966
  const CompanyStructureValidation = {
25438
25967
  entityType: {
@@ -25944,7 +26473,7 @@ function CompanySearchComponent(props) {
25944
26473
  handleGetCompanyDataset,
25945
26474
  handleRefreshCompanyDataset,
25946
26475
  handleVerifyTin,
25947
- kompanyAddress,
26476
+ kompanyVerifiedData,
25948
26477
  setKompanyAddress,
25949
26478
  setKompanyVerifiedData
25950
26479
  })
@@ -27095,7 +27624,7 @@ const Remove = ({
27095
27624
  })
27096
27625
  }) : jsx(Button, {
27097
27626
  type: "button",
27098
- icon: !hasLabel ? "bin" : "",
27627
+ icon: !hasLabel ? "bin" : void 0,
27099
27628
  ghost: !hasLabel,
27100
27629
  secondary: hasLabel,
27101
27630
  negative: hasLabel,
@@ -27941,13 +28470,13 @@ const PayoutAccountTaskListItem = ({
27941
28470
  const [isDeletingTransferInstrument, setIsDeletingTransferInstrument] = useState(false);
27942
28471
  const isInstantVerificationAccount = isInstantVerifiedAccount(account);
27943
28472
  const [isRemoveDisabled, setIsRemoveDisabled] = useState(false);
27944
- const maskedAccountNumber = getMaskedAccountNumber(account);
28473
+ const obscuredAccountNumber = getObscuredAccountNumber(account);
27945
28474
  const status = getTaskStatus(EntityType.BANK_ACCOUNT, capabilityProblems, legalEntityResponse, [account.id], isInstantVerificationAccount);
27946
28475
  return jsx(TaskListItem, {
27947
28476
  disabled: isInstantVerificationAccount && status === TaskStatus.PROCESSING,
27948
28477
  onNavigateToTask: isInstantVerificationAccount ? void 0 : onNavigateToTask,
27949
28478
  icon: "payout",
27950
- title: maskedAccountNumber,
28479
+ title: obscuredAccountNumber,
27951
28480
  tagline: isExperimentEnabled("EnableNewEntryFlow") ? void 0 : i18n.get("payoutDetails"),
27952
28481
  status,
27953
28482
  problems: (_a = capabilityProblems == null ? void 0 : capabilityProblems.BankAccount) == null ? void 0 : _a[account.id],
@@ -28183,7 +28712,7 @@ function TaskListComponent({
28183
28712
  title: i18n.get("pleaseEnsureTheFollowing"),
28184
28713
  children: jsx(TaskListItem, {
28185
28714
  onNavigateToTask: handleOnNavigateToTaskReview,
28186
- icon: "ari",
28715
+ icon: "review",
28187
28716
  title: i18n.get("submitReviewOfYourData"),
28188
28717
  status: TaskStatus.SUBMIT,
28189
28718
  problems: (_m = capabilityProblems == null ? void 0 : capabilityProblems.LegalEntity) == null ? void 0 : _m[legalEntityResponse.id],
@@ -28517,16 +29046,16 @@ const TrustMembersOverview = ({
28517
29046
  })
28518
29047
  });
28519
29048
  };
28520
- const omitMaskedFieldsIfUnchanged = (maskedFields, dataSubmitted, savedData) => {
29049
+ const omitObscuredFieldsIfUnchanged = (obscuredFields, dataSubmitted, savedData) => {
28521
29050
  if (!dataSubmitted) {
28522
29051
  return;
28523
29052
  }
28524
29053
  const filtered = cloneObject(dataSubmitted);
28525
- maskedFields.forEach((maskedField) => {
28526
- const prevValue = getProp(savedData, maskedField);
28527
- const newValue = getProp(dataSubmitted, maskedField);
28528
- if (prevValue === newValue && isValueMasked(newValue)) {
28529
- deleteProp(maskedField, filtered);
29054
+ obscuredFields.forEach((obscuredField) => {
29055
+ const prevValue = getProp(savedData, obscuredField);
29056
+ const newValue = getProp(dataSubmitted, obscuredField);
29057
+ if (prevValue === newValue && isValueObscured(newValue)) {
29058
+ deleteProp(obscuredField, filtered);
28530
29059
  }
28531
29060
  });
28532
29061
  return filtered;
@@ -28779,7 +29308,7 @@ function IndividualDropinComponent({
28779
29308
  const onSubmit = async () => {
28780
29309
  var _a2, _b2;
28781
29310
  setLoadingStatus("loading");
28782
- const dataSubmitted = omitMaskedFieldsIfUnchanged(individualMaskedFields, data, dataFromResponse);
29311
+ const dataSubmitted = omitObscuredFieldsIfUnchanged(individualObscuredFields, data, dataFromResponse);
28783
29312
  try {
28784
29313
  const legalEntity = mapIndividualToLegalEntity(dataSubmitted);
28785
29314
  const idDocumentType = (_a2 = idDocumentTypeOptions.find(({
@@ -29340,7 +29869,7 @@ function PayoutDetailsDropinComponent({
29340
29869
  data: dataSubmitted,
29341
29870
  legalEntity: legalEntityResponse
29342
29871
  });
29343
- transferInstrumentFromInput = omitMaskedFieldsIfUnchanged(["bankAccount.accountIdentification.accountNumber", "bankAccount.accountIdentification.iban"], transferInstrumentFromInput, transferInstrument);
29872
+ transferInstrumentFromInput = omitObscuredFieldsIfUnchanged(["bankAccount.accountIdentification.accountNumber", "bankAccount.accountIdentification.iban"], transferInstrumentFromInput, transferInstrument);
29344
29873
  try {
29345
29874
  if (!transferInstrumentFromInput) {
29346
29875
  return;
@@ -33134,31 +33663,6 @@ const AuthProvider = ({
33134
33663
  children
33135
33664
  });
33136
33665
  };
33137
- const fontFormats = ["eot", "woff", "woff2", "ttf", "otf"];
33138
- const formatFullNames = {
33139
- eot: "embedded-opentype",
33140
- woff: "woff",
33141
- woff2: "woff2",
33142
- ttf: "truetype",
33143
- otf: "opentype"
33144
- };
33145
- const getFontFaceRule = (fontFamily, fontStyle, fontWeight, fontPath, formats) => {
33146
- const fontSources = formats.map((format) => `url(${fontPath}.${format}) format(${formatFullNames[format]})`);
33147
- const ruleLines = [`font-family: '${fontFamily}'`, `font-style: ${fontStyle}`, `font-weight: ${fontWeight}`, `src: ${fontSources.join(",")}`];
33148
- return `@font-face {${ruleLines.join(";")}}`;
33149
- };
33150
- const addStyleTagForFont = (fontFamily, fontStyle, fontWeight, fontPath, formats) => {
33151
- const style = document.createElement("style");
33152
- style.setAttribute("type", "text/css");
33153
- style.innerText = getFontFaceRule(fontFamily, fontStyle, fontWeight, fontPath, formats);
33154
- document.head.insertBefore(style, document.head.firstChild);
33155
- };
33156
- const addStyleTagForADLIconFont = (loadingContext) => {
33157
- const fontPath = `${loadingContext}static/fonts`;
33158
- const iconFontPath = `${fontPath}/adyen-kyc-icons`;
33159
- addStyleTagForFont("adyen-kyc-icons", "normal", "normal", iconFontPath, fontFormats);
33160
- };
33161
- let isFlagsLoaded = false;
33162
33666
  let isDocumentGuidanceLoaded = false;
33163
33667
  const getIconContainer = () => {
33164
33668
  const container = document.createElement("div");
@@ -33172,16 +33676,6 @@ const buildSpriteDOMFromResponse = (responseData) => {
33172
33676
  iconContainer.innerHTML = responseData;
33173
33677
  return iconContainer;
33174
33678
  };
33175
- const loadFlags = async (loadingContext) => {
33176
- if (isFlagsLoaded)
33177
- return;
33178
- isFlagsLoaded = true;
33179
- const responseData = await http({
33180
- loadingContext,
33181
- path: "static/images/country-flags.svg"
33182
- }, null, "text");
33183
- document.body.insertBefore(buildSpriteDOMFromResponse(responseData), document.body.firstChild);
33184
- };
33185
33679
  const loadDocumentGuidance = async (loadingContext) => {
33186
33680
  if (isDocumentGuidanceLoaded)
33187
33681
  return;
@@ -33317,7 +33811,6 @@ const getEmbeddedApi = ({
33317
33811
  ...baseRequestContext,
33318
33812
  loadingContext
33319
33813
  }, datasetIdentifier2, locale),
33320
- loadFlags: async () => loadFlags(base),
33321
33814
  loadDocumentGuidance: async () => loadDocumentGuidance(base),
33322
33815
  getImageUrl: () => `${base}static/images/`,
33323
33816
  getAllowedCountries: async () => getSupportedCountries(baseRequestContext),
@@ -33482,7 +33975,6 @@ const getKycExternalApi = ({
33482
33975
  loadingContext,
33483
33976
  clientKey
33484
33977
  }, name, locale),
33485
- loadFlags: async () => loadFlags(loadingContext),
33486
33978
  loadDocumentGuidance: async () => loadDocumentGuidance(loadingContext),
33487
33979
  verifyIdNumber: async (request) => verifyIdNumber({
33488
33980
  loadingContext,
@@ -33517,15 +34009,9 @@ const CoreProvider = ({
33517
34009
  enableNewEntryFlowExperiment = false,
33518
34010
  children
33519
34011
  }) => {
33520
- const {
33521
- loadingContext
33522
- } = useAuthContext();
33523
34012
  const [contextCountry, setContextCountry] = useState(initialContextCountry);
33524
34013
  const [accountHolder2, setAccountHolder] = useAccountHolder(enableNewEntryFlowExperiment);
33525
34014
  const [accountFormat, setAccountFormat] = useState("local");
33526
- useEffect(() => {
33527
- addStyleTagForADLIconFont(loadingContext);
33528
- }, [loadingContext]);
33529
34015
  const allowedCountries = useAllowedCountries();
33530
34016
  const isCountryAllowed = (allowedCountries == null ? void 0 : allowedCountries.includes(contextCountry)) ?? true;
33531
34017
  useEffect(() => {