@adyen/kyc-components 3.26.3 → 3.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/es/adyen-kyc-components.es.js +773 -699
  2. package/dist/style.css +157 -283
  3. package/dist/types/components/BasicInformation/component/BasicInformationComponent.d.ts +1 -1
  4. package/dist/types/components/BasicInformation/types.d.ts +1 -0
  5. package/dist/types/components/BusinessDetails/types.d.ts +1 -0
  6. package/dist/types/components/BusinessSelection/BusinessInformationCard.d.ts +2 -1
  7. package/dist/types/components/BusinessSelection/component/BusinessSelectionComponent.d.ts +1 -1
  8. package/dist/types/components/BusinessSelection/types.d.ts +1 -0
  9. package/dist/types/components/Dropins/BusinessDetailsDropin/types.d.ts +1 -1
  10. package/dist/types/components/Dropins/CompanyDropin/components/CompanyDropinComponent.d.ts +1 -1
  11. package/dist/types/components/Dropins/CompanySearchDropin/components/CompanySearchDropinComponent.d.ts +1 -1
  12. package/dist/types/components/Dropins/DropinLayout/EmbeddedActionBar/EmbeddedActionBar.d.ts +1 -1
  13. package/dist/types/components/Dropins/FormWrapper/FormWrapper.d.ts +2 -1
  14. package/dist/types/components/EmbeddedDropins/CreateContractingComponent/CreateContractingComponent.d.ts +6 -0
  15. package/dist/types/components/EmbeddedDropins/ManageTransferInstrumentComponent/ManageTransferInstrumentOverview/ManageTransferInstrumentOverview.d.ts +2 -3
  16. package/dist/types/components/EmbeddedDropins/ManageTransferInstrumentComponent/ManageTransferInstrumentOverviewItem/ManageTransferInstrumentOverviewItem.d.ts +1 -3
  17. package/dist/types/components/EmbeddedDropins/ManageTransferInstrumentComponent/ManageTransferInstrumentOverviewItemModal/ManageTransferInstrumentOverviewItemModal.d.ts +11 -0
  18. package/dist/types/components/PayoutAccount/types.d.ts +1 -0
  19. package/dist/types/components/StepProgressIndicator/StepProgressIndicator.d.ts +8 -0
  20. package/dist/types/components/{internal → embedded-ui}/EmbeddedStatus/EmbeddedStatus.d.ts +3 -3
  21. package/dist/types/components/{internal → embedded-ui}/EmbeddedStatus/statusToTag.d.ts +3 -3
  22. package/dist/types/components/index.d.ts +2 -0
  23. package/dist/types/components/internal/Modal/Modal.d.ts +7 -16
  24. package/dist/types/components/internal/StructuredList/StructuredList.d.ts +10 -0
  25. package/dist/types/components/internal/Svg/svgs.d.ts +2 -3
  26. package/dist/types/core/hooks/singpass/useSingpassMyInfoLogin.d.ts +1 -2
  27. package/dist/types/core/hooks/useBusinessData/types.d.ts +1 -0
  28. package/dist/types/core/hooks/useFormComposer.d.ts +1 -0
  29. package/package.json +1 -1
  30. package/dist/es/owners-DT55tjrZ.js +0 -5
  31. package/dist/es/signatory-BUpU_luQ.js +0 -10
  32. package/dist/es/user-business-BZ3Ko-Oi.js +0 -11
  33. package/dist/types/components/EmbeddedDropins/ManageTransferInstrumentComponent/AddTransferInstrument/AddTransferInstrument.d.ts +0 -4
  34. package/dist/types/components/EmbeddedDropins/ManageTransferInstrumentComponent/ManageTransferInstrumentOverviewItemSummary/ManageTransferInstrumentOverviewItemSummary.d.ts +0 -8
  35. package/dist/types/components/internal/NewModal/Modal.d.ts +0 -11
@@ -51,7 +51,7 @@ const defaultTrans = {
51
51
  ICO: "IČO (Identifikační číslo)",
52
52
  MBO: "MBO",
53
53
  MBS: "Matični broj subjekta trgovačkog suda (MBS)",
54
- Mehrwertsteuernummer: "Mehrwertsteuernummer (MwST), Numéro de TVA, Numero dellimposta sul valore aggiunto (IVA), VAT number",
54
+ Mehrwertsteuernummer: "Mehrwertsteuernummer (MwST), Numéro de TVA, Numero dell'imposta sul valore aggiunto (IVA), VAT number",
55
55
  NIF: "NIF (Número de Identificación Fiscal)",
56
56
  NIFdeIVA: "Número de Identificación a efectos de IVA (Impuesto sobre el Valor Añadido)",
57
57
  NIP: "Numer identyfikacji podatkowej (NIP)",
@@ -83,7 +83,7 @@ const defaultTrans = {
83
83
  acceptedDocumentsForPartnerships: "Accepted documents for partnerships",
84
84
  acceptedDocumentsForPrivateCompanies: "Accepted documents for private companies",
85
85
  acceptedDocumentsForPublicCompanies: "Accepted documents for public companies",
86
- accountCantBeSetUp: "Your account cant be set up as your information couldnt be verified. To find out more, reach out to customer support.",
86
+ accountCantBeSetUp: "Your account can't be set up as your information couldn't be verified. To find out more, reach out to customer support.",
87
87
  accountDetailsDescription: "Provide a few details about you to start accepting live payments.",
88
88
  accountHolder: "Account holder",
89
89
  accountHolderDescriptionCompany: "The bank account holder has to have the same name as your company.",
@@ -97,9 +97,10 @@ const defaultTrans = {
97
97
  accountVerification: "Account Verification",
98
98
  achRoutingNumber: "ACH routing number",
99
99
  acknowledgePciRequirements: "We hereby acknowledge that we must remain compliant with the aforementioned PCI DSS requirements at all times as long as we want to receive payments. Consequently, we must continuously reassess our environment and implement any additional PCI DSS requirements if our environment changes.",
100
+ actionNeeded: "Action needed",
100
101
  add: "Add",
101
102
  addAndVerifyYourBankDetails: "Add and verify your bank account details",
102
- addAnotherBankAccount: "Add another bank account",
103
+ addBankAccount: "Add bank account",
103
104
  addBankDetails: "Add bank details",
104
105
  addDecisionMaker: "Add decision-maker",
105
106
  addEntityOwner: "Add owner details",
@@ -119,7 +120,7 @@ const defaultTrans = {
119
120
  addressRegisteredWithSecretaryOfState: "Address registered with the Secretary of State for this company.",
120
121
  addresses: "Addresses",
121
122
  adoptionCertificate: "Adoption certificate",
122
- adyenKeepsDataAsLongAsLegallyRequired: "Adyen only keeps your data for as long as were legally required to. It wont be used for any other purposes or by other third parties than those stated.",
123
+ adyenKeepsDataAsLongAsLegallyRequired: "Adyen only keeps your data for as long as we're legally required to. It won't be used for any other purposes or by other third parties than those stated.",
123
124
  adyenWillOnlyGetTemporaryAccess: "Adyen will only gain temporary access to your bank details, and your data is never shared with third parties.",
124
125
  anAssociation: "An association",
125
126
  anAssociationDescription: "The account belongs to a group of people acting together for a specific non-commercial purpose",
@@ -127,7 +128,9 @@ const defaultTrans = {
127
128
  andResubmit: "and submit again.",
128
129
  annualReport: "Annual Report",
129
130
  annualTurnover: "Annual turnover",
131
+ annualTurnoverCurrency: "Annual turnover currency",
130
132
  annualTurnoverHelper: "The annual sales revenue minus all discounts and sales taxes. Also known as net sales.",
133
+ annualTurnoverValue: "Annual turnover value",
131
134
  apartmentSuite: "Apartment / Suite",
132
135
  apartmentSuiteOptional: "Apartment / Suite (optional)",
133
136
  areYouACompany: "Are you a company?",
@@ -162,9 +165,6 @@ const defaultTrans = {
162
165
  bankCode: "Bank code",
163
166
  bankCountry: "Bank country/region",
164
167
  bankDetails: "Bank details",
165
- bankDetailsBeingProcessed: "Your bank details are being processed at the moment. Come back later to check the status.",
166
- bankDetailsNotVerified: "Bank account details couldn't be verified. Review the information to see what needs to be adjusted.",
167
- bankDetailsVerified: "Your bank details are verified and you are ready to use it.",
168
168
  bankDocument: "Bank document",
169
169
  bankDocumentDescription: "We need an official document to verify your bank account details.",
170
170
  bankDocumentFileDescription: "Add a description for this bank account (optional)",
@@ -172,6 +172,7 @@ const defaultTrans = {
172
172
  bankDocumentHeaderOptional: "Upload a bank document (optional)",
173
173
  bankName: "Bank name",
174
174
  bankruptcyInsolvency: "Yes, the company is filing for bankruptcy or insolvency",
175
+ bankStatement: "Bank statement",
175
176
  bankStatementAlreadyUploaded: "Bank statement has already been uploaded, is too large, or the account has already been added; try another",
176
177
  bankStatementDocument: "Bank statement",
177
178
  basedOnTheAboveSignatory: "Based on the above, the signatory above asserts that the information within this attestation form fairly represents the results of the assessment.",
@@ -182,7 +183,7 @@ const defaultTrans = {
182
183
  basicInformationFormHeading: "Basic details about your business",
183
184
  basicInformationFormName: "Basic details",
184
185
  becauseYoureUnderXWeNeedToCollectInformationAboutALegalRepresentative: "Because you're under %{age}, we need to collect information about a legal representative in another step",
185
- beforeSubmittingYourCapitalLoanApplication: "Before submitting your capital loan application, we need to collect some information about you and your business. This information is required by EU financial regulations and will not affect your businesss credit score.",
186
+ beforeSubmittingYourCapitalLoanApplication: "Before submitting your capital loan application, we need to collect some information about you and your business. This information is required by EU financial regulations and will not affect your business's credit score.",
186
187
  belowTaxThreshold: "Earnings are below the mandatory indirect tax registration threshold in this country/region of establishment",
187
188
  beneficiariesDetailsIncl: "Beneficiaries details including number of beneficiaries, full legal names, and any default beneficiaries",
188
189
  beneficiary: "Beneficiary",
@@ -223,7 +224,7 @@ const defaultTrans = {
223
224
  cadastroDePessoasFisicas: "Cadastro de Pessoas Físicas (CPF)",
224
225
  canNotCompleteInstantVerification: "Can not complete instant verification?",
225
226
  cancel: "Cancel",
226
- cantSetUpAcccount: "You cant set up an account",
227
+ cantSetUpAcccount: "You can't set up an account",
227
228
  capitalUserTerms: "Capital User Terms",
228
229
  cardUserTerms: "Card User Terms",
229
230
  cashManagementTrust: "Cash management trust",
@@ -274,7 +275,7 @@ const defaultTrans = {
274
275
  companyRegistrationAddressFormDescription: "Specify the address registered to your company with the Secretary of State.",
275
276
  companyRegistrationAddressFormName: "Registered address",
276
277
  companyRegistrationDocument: "Company registration document",
277
- companyRegistrationDocumentFormDescription: "We need an official document to verify your organizations details.",
278
+ companyRegistrationDocumentFormDescription: "We need an official document to verify your organization's details.",
278
279
  companyRegistrationDocumentFormHeading: "Upload a registration document",
279
280
  companyRegistrationDocumentFormName: "Registration document",
280
281
  companyRegistrationNumber: "Company registration number",
@@ -282,7 +283,7 @@ const defaultTrans = {
282
283
  companyStructure: "Company structure",
283
284
  companyStructureFormDescription: "What type of company do you have?",
284
285
  companyStructureFormName: "Company structure",
285
- companyTaxDocumentFormDescription: "We need an official document to verify your organizations tax details.",
286
+ companyTaxDocumentFormDescription: "We need an official document to verify your organization's tax details.",
286
287
  companyTaxDocumentFormHeading: "Upload a tax document",
287
288
  companyTaxDocumentFormName: "Tax document",
288
289
  companyTrustee: "Company trustee",
@@ -360,8 +361,10 @@ const defaultTrans = {
360
361
  doNotHaveYTunnus: "I do not have a Y-TUNNUS",
361
362
  documentAddressedToName: "The document has to be addressed to %{name}",
362
363
  documentCannotBeDamaged: "The document cannot be damaged",
363
- documentIssuedByGovernmentAuthority: "The document has to be issued by a government authority. Its usually given when a business is created at the local commercial register",
364
+ documentIssuedByGovernmentAuthority: "The document has to be issued by a government authority. It's usually given when a business is created at the local commercial register",
364
365
  documentNotExpiredOrDamaged: "The document cannot be expired or damaged",
366
+ documentName: "Document name",
367
+ documentUpload: "Document upload",
365
368
  documentRequirements: "Document requirements",
366
369
  documentShowsTaxIdOfCompany: "The document shows the tax ID number of the company",
367
370
  documentType: "Document type",
@@ -373,7 +376,7 @@ const defaultTrans = {
373
376
  doingBusinessAsNameFiling: "Doing business as (DBA) filing",
374
377
  doingBusinessAsNameFiling__FR: "Trading name filing",
375
378
  doingBusinessAsNameFiling__US: "Doing business as (DBA) filing, such as your articles of incorporation",
376
- dontHaveAccessOnlineBanking: "Dont have access to online banking environment?",
379
+ dontHaveAccessOnlineBanking: "Don't have access to online banking environment?",
377
380
  download: "Download",
378
381
  downloadACopy: "Download a copy",
379
382
  downloadAsPdf: "Download as PDF",
@@ -429,12 +432,12 @@ const defaultTrans = {
429
432
  entityEstablishingTrust: "The entity that establishes a trust.",
430
433
  entityOwning25OrMoreOfTrust: "The entity who owns 25% or more of the property in trust.",
431
434
  entityType: "Entity type",
432
- errorMessage_1_10: "Information couldnt be verified",
435
+ errorMessage_1_10: "Information couldn't be verified",
433
436
  errorMessage_1_1000: "Verification failed. Legal entity declined",
434
437
  errorMessage_1_1001: "There were some technical issues in the verification process.",
435
438
  errorMessage_1_1002: "There are more questions about the submitted information.",
436
439
  errorMessage_1_1003: "The document contained sensitive data.",
437
- errorMessage_1_11: "Document didnt meet requirements",
440
+ errorMessage_1_11: "Document didn't meet requirements",
438
441
  errorMessage_1_12: "Legal entity declined",
439
442
  errorMessage_1_30: "Individual details couldn't be verified",
440
443
  errorMessage_1_3000: "The user couldn't be verified.",
@@ -446,12 +449,12 @@ const defaultTrans = {
446
449
  errorMessage_1_3006: "The name didn't match the national ID number.",
447
450
  errorMessage_1_3007: "An incorrect national ID number was entered.",
448
451
  errorMessage_1_3008: "The ID document image was incomplete.",
449
- errorMessage_1_3009: "The photo on the ID document couldnt be recognized.",
452
+ errorMessage_1_3009: "The photo on the ID document couldn't be recognized.",
450
453
  errorMessage_1_3010: "The ID document image was incomplete or too blurry.",
451
454
  errorMessage_1_3011: "The ID document image was in black and white.",
452
- errorMessage_1_3012: "The image couldnt be recognized as a supported ID document.",
455
+ errorMessage_1_3012: "The image couldn't be recognized as a supported ID document.",
453
456
  errorMessage_1_3013: "The ID document wasn't a supported document type.",
454
- errorMessage_1_3014: "The ID document image didnt contain the MRZ code.",
457
+ errorMessage_1_3014: "The ID document image didn't contain the MRZ code.",
455
458
  errorMessage_1_3015: "The ID document was expired.",
456
459
  errorMessage_1_3016: "The ID document image was of too low quality.",
457
460
  errorMessage_1_3017: "The ID document image was a scan.",
@@ -462,47 +465,47 @@ const defaultTrans = {
462
465
  errorMessage_1_3022: "The ID document image only showed one side of the ID document.",
463
466
  errorMessage_1_3023: "The ID document image only showed parts of the ID document.",
464
467
  errorMessage_1_3024: "The ID document wasn't valid.",
465
- errorMessage_1_3025: "The state didnt match the one on the ID document.",
466
- errorMessage_1_3026: "The ID document didnt show an issuing state.",
468
+ errorMessage_1_3025: "The state didn't match the one on the ID document.",
469
+ errorMessage_1_3026: "The ID document didn't show an issuing state.",
467
470
  errorMessage_1_3027: "The ID document wasn't valid.",
468
- errorMessage_1_3028: "The ID number didnt match the one on the document.",
469
- errorMessage_1_3029: "The ID document didnt show a document number.",
471
+ errorMessage_1_3028: "The ID number didn't match the one on the document.",
472
+ errorMessage_1_3029: "The ID document didn't show a document number.",
470
473
  errorMessage_1_3030: "The ID document wasn't valid.",
471
474
  errorMessage_1_3031: "The ID document wasn't valid.",
472
- errorMessage_1_3032: "The first name didnt match the one on the ID document.",
473
- errorMessage_1_3033: "The last name didnt match the one on the ID document.",
474
- errorMessage_1_3034: "The date of birth didnt match the one on the ID document.",
475
- errorMessage_1_3035: "The country didnt match the one on the ID document.",
475
+ errorMessage_1_3032: "The first name didn't match the one on the ID document.",
476
+ errorMessage_1_3033: "The last name didn't match the one on the ID document.",
477
+ errorMessage_1_3034: "The date of birth didn't match the one on the ID document.",
478
+ errorMessage_1_3035: "The country didn't match the one on the ID document.",
476
479
  errorMessage_1_3036: "The ID document image was too low quality.",
477
480
  errorMessage_1_3037: "The last name didn't match the one on the proof of residential address.",
478
- errorMessage_1_3038: "The first name didnt match the one on the proof of residential address.",
479
- errorMessage_1_3039: "The date of birth didnt match the one on the proof of residential address.",
480
- errorMessage_1_3040: "The proof of residential address didnt show the date it was issued.",
481
- errorMessage_1_3041: "The proof of residential address didnt show a name.",
481
+ errorMessage_1_3038: "The first name didn't match the one on the proof of residential address.",
482
+ errorMessage_1_3039: "The date of birth didn't match the one on the proof of residential address.",
483
+ errorMessage_1_3040: "The proof of residential address didn't show the date it was issued.",
484
+ errorMessage_1_3041: "The proof of residential address didn't show a name.",
482
485
  errorMessage_1_3042: "The proof of residential address didn't show an issuing country.",
483
486
  errorMessage_1_3043: "The proof of residential address wasn't a supported document type.",
484
487
  errorMessage_1_3044: "The proof of residential address was too old.",
485
488
  errorMessage_1_3045: "The proof of residential address image was of too low quality.",
486
489
  errorMessage_1_3046: "The address on the proof of residential address was a PO box.",
487
490
  errorMessage_1_3047: "The proof of national ID number wasn't a supported document type.",
488
- errorMessage_1_3048: "The last name didnt match the one on the proof of national ID number.",
489
- errorMessage_1_3049: "The first name didnt match the one on the proof of national ID number.",
490
- errorMessage_1_3050: "The date of birth didnt match the one on the proof of national ID number.",
491
+ errorMessage_1_3048: "The last name didn't match the one on the proof of national ID number.",
492
+ errorMessage_1_3049: "The first name didn't match the one on the proof of national ID number.",
493
+ errorMessage_1_3050: "The date of birth didn't match the one on the proof of national ID number.",
491
494
  errorMessage_1_3051: "The proof of national ID number image was of too low quality.",
492
495
  errorMessage_1_3052: "An ID document is needed to verify the individual.",
493
496
  errorMessage_1_3062: "The name and 4 digit SSN couldn't be verified.",
494
497
  errorMessage_1_31: "ID document is needed",
495
- errorMessage_1_32: "ID document couldnt be processed",
496
- errorMessage_1_33: "ID document didnt meet requirements",
497
- errorMessage_1_34: "Image of the ID document didnt meet requirements",
498
+ errorMessage_1_32: "ID document couldn't be processed",
499
+ errorMessage_1_33: "ID document didn't meet requirements",
500
+ errorMessage_1_34: "Image of the ID document didn't meet requirements",
498
501
  errorMessage_1_35: "Individual details didn't match the ID document",
499
- errorMessage_1_36: "Proof of residency didnt meet requirements",
502
+ errorMessage_1_36: "Proof of residency didn't meet requirements",
500
503
  errorMessage_1_37: "Image of the proof of residency didn't meet the requirements",
501
504
  errorMessage_1_38: "Individual details didn't match the proof of residency",
502
505
  errorMessage_1_39: "Proof of national ID number didn't meet requirements",
503
506
  errorMessage_1_40: "Image of the proof of national ID number didn't meet the requirements",
504
507
  errorMessage_1_41: "Individual details didn't match the proof of national ID number",
505
- errorMessage_1_50: "Organization details couldnt be verified",
508
+ errorMessage_1_50: "Organization details couldn't be verified",
506
509
  errorMessage_1_5000: "The legal business name couldn't be verified.",
507
510
  errorMessage_1_5001: "The tax ID number couldn't be verified.",
508
511
  errorMessage_1_5002: "The state couldn't be verified.",
@@ -515,7 +518,7 @@ const defaultTrans = {
515
518
  errorMessage_1_5009: "The registration number was provided as tax ID.",
516
519
  errorMessage_1_5010: "The company details couldn't be verified. ",
517
520
  errorMessage_1_5011: "The trade name (doing business as) was entered.",
518
- errorMessage_1_5012: "The submitted company type didnt match the one on the registry.",
521
+ errorMessage_1_5012: "The submitted company type didn't match the one on the registry.",
519
522
  errorMessage_1_5013: "The company was not found in the database.",
520
523
  errorMessage_1_5014: "The registration number couldn't be verified. ",
521
524
  errorMessage_1_5015: "The registration number didn't match the legal business name.",
@@ -559,7 +562,7 @@ const defaultTrans = {
559
562
  errorMessage_1_5053: "The affiliation document was not issued within the last 6 months",
560
563
  errorMessage_1_5067: "The legal name didn't match the one on the VAT registry.",
561
564
  errorMessage_1_51: "Organization details didn't match the document",
562
- errorMessage_1_52: "Registration document didnt meet requirements",
565
+ errorMessage_1_52: "Registration document didn't meet requirements",
563
566
  errorMessage_1_53: "Tax document didn't meet requirements",
564
567
  errorMessage_1_54: "Proof of address didn't meet requirements",
565
568
  errorMessage_1_55: "Proof of ownership is needed",
@@ -634,7 +637,7 @@ const defaultTrans = {
634
637
  errorMessage_1_7013: "The bank document was too low quality.",
635
638
  errorMessage_1_7014: "The bank document wasn't a supported document type.",
636
639
  errorMessage_1_7015: "The bank account country didn't match the one on the bank document.",
637
- errorMessage_1_7016: "The branch code didnt match the one on the bank document.",
640
+ errorMessage_1_7016: "The branch code didn't match the one on the bank document.",
638
641
  errorMessage_1_7017: "The bank account currency didn't match the one on the bank document.",
639
642
  errorMessage_1_7018: "The bank document wasn't officially issued by the bank.",
640
643
  errorMessage_1_7019: "The bank document wasn't issued in the past 12 months.",
@@ -645,7 +648,7 @@ const defaultTrans = {
645
648
  errorMessage_1_72: "Verification could not be completed",
646
649
  errorMessage_1_73: "Bank account access could not be authenticated",
647
650
  errorMessage_1_74: "Bank statement is needed",
648
- errorMessage_1_75: "Bank statement didnt meet requirements",
651
+ errorMessage_1_75: "Bank statement didn't meet requirements",
649
652
  errorMessage_1_76: "Bank details didn't match the bank statement",
650
653
  errorMessage_2_8064: "UBO through ownership was missing.",
651
654
  errorMessage_2_8067: "Signatory was missing.",
@@ -731,7 +734,7 @@ const defaultTrans = {
731
734
  handelsregisternummer: "Handelsregisternummer",
732
735
  hasBankStampOrBankSignature: "Includes a bank stamp or signature",
733
736
  hasDba: "Does your business use a DBA name?",
734
- hasDba__helperText: "A Doing Business As (DBA) name is a version of your business name that may be more recognizable to shoppers but is different from the legal name.",
737
+ hasDba__helperText: "A Doing Business As (DBA) name is a version of your business' name that may be more recognizable to shoppers but is different from the legal name.",
735
738
  hasToBeOfficialDocumentFromBank: "Includes the bank logo, bank name, or bank-specific font",
736
739
  helpUsVerifyCompany: "Help us verify this company.",
737
740
  hideDetails: "Hide details",
@@ -764,11 +767,11 @@ const defaultTrans = {
764
767
  identityNumberExempt: "I don't have an identity number",
765
768
  identityNumberExempt__CA: "I don't have an SIN",
766
769
  identityNumberExempt__US: "I don't have an SSN",
767
- ifNoOwnersSpecifyControllingPersons: "If you dont have any owners holding 25% or more, then specify <strong>all controlling persons</strong>.",
770
+ ifNoOwnersSpecifyControllingPersons: "If you don't have any owners holding 25% or more, then specify <strong>all controlling persons</strong>.",
768
771
  imagesInColor: "Images have to be in color",
769
772
  inReview: "In review",
770
773
  inThePreviousStepOwnedByAParentCompany: "In the last step, you indicated that your business is owned by a parent company. We need to know some information about this company before submitting your application.",
771
- inThePreviousStepOwnedByAnUltimateParentCompany: "In a previous step, you indicated that your business parent company was owned by an ultimate parent company. We need to know some information about this company before submitting your application.",
774
+ inThePreviousStepOwnedByAnUltimateParentCompany: "In a previous step, you indicated that your business' parent company was owned by an ultimate parent company. We need to know some information about this company before submitting your application.",
772
775
  includeFrontAndBack: "Include both the front and back side, each in separate file",
773
776
  includesEIN: "Includes your EIN (Employer Identification Number)",
774
777
  includesLegalCompanyName: "Includes the legal name of your company",
@@ -779,9 +782,9 @@ const defaultTrans = {
779
782
  industryAndNaceCode: "Industry and NACE code",
780
783
  industryExemption: "The goods or services provided are exempt from VAT/GST",
781
784
  infoInUploadedDocumentIsTrue: "All information in the uploaded document must be true and up-to-date.",
782
- informationCouldNotBeSubmitted: "Information couldnt be submitted",
785
+ informationCouldNotBeSubmitted: "Information couldn't be submitted",
783
786
  instant: "Instant",
784
- instantIDVerificationDescription: "Take a photo of a passport, identity card, or drivers license.",
787
+ instantIDVerificationDescription: "Take a photo of a passport, identity card, or driver's license.",
785
788
  instantVerification: "Instant verification",
786
789
  instantVerificationDescription: "Log in to your bank account and get instantly verified.",
787
790
  institutionNumber: "Institution number",
@@ -793,7 +796,7 @@ const defaultTrans = {
793
796
  introductionScreenCompanyDescriptionP1: "For example, your company name and registration number.",
794
797
  introductionScreenCompanyDescriptionP2: "Where to find this information",
795
798
  introductionScreenCompanyTitle: "Company details",
796
- introductionScreenDecisionMakerDescriptionLI1: "Drivers license",
799
+ introductionScreenDecisionMakerDescriptionLI1: "Driver's license",
797
800
  introductionScreenDecisionMakerDescriptionLI2: "Passport",
798
801
  introductionScreenDecisionMakerDescriptionLI3: "ID document",
799
802
  introductionScreenDecisionMakerDescriptionP1: "For example, the name and address of important people in your company.",
@@ -802,13 +805,13 @@ const defaultTrans = {
802
805
  introductionScreenEpilogueDescriptionP1: "We check all this information against official records to verify your identity and comply with financial regulations.",
803
806
  introductionScreenEpilogueDescriptionP2: "Your information will be used only for these purposes.",
804
807
  introductionScreenEpilogueTitle: "Why do we need this information?",
805
- introductionScreenIndividualDescriptionLI1: "Drivers license",
808
+ introductionScreenIndividualDescriptionLI1: "Driver's license",
806
809
  introductionScreenIndividualDescriptionLI2: "Passport",
807
810
  introductionScreenIndividualDescriptionLI3: "ID document",
808
811
  introductionScreenIndividualDescriptionP1: "For example, your name and residential address.",
809
812
  introductionScreenIndividualDescriptionP2: "Where to find this information",
810
813
  introductionScreenIndividualTitle: "Personal details",
811
- introductionScreenPrologueDescriptionP1: "Well ask for some details about your business as part of financial regulations.",
814
+ introductionScreenPrologueDescriptionP1: "We'll ask for some details about your business as part of financial regulations.",
812
815
  introductionScreenPrologueDescriptionP2: "Our advice? Have these details on hand so you can get verified quickly.",
813
816
  introductionScreenPrologueTitle: "Before you begin...",
814
817
  introductionScreenSoleProprietorCompanyDescriptionLI1: "Your sole proprietorship registration document",
@@ -816,16 +819,15 @@ const defaultTrans = {
816
819
  introductionScreenSoleProprietorCompanyDescriptionP2: "Where to find this information",
817
820
  introductionScreenSoleProprietorCompanyTitle: "Sole proprietorship details",
818
821
  introductionScreenTrustDescriptionLI1: "Your trust registration document",
819
- introductionScreenTrustDescriptionP1: "For example, your trusts name and business number. Youll also need to upload your trust deed.",
822
+ introductionScreenTrustDescriptionP1: "For example, your trust's name and business number. You'll also need to upload your trust deed.",
820
823
  introductionScreenTrustDescriptionP2: "Where to find this information",
821
- introductionScreenTrustMemberDescriptionLI1: "Drivers license",
824
+ introductionScreenTrustMemberDescriptionLI1: "Driver's license",
822
825
  introductionScreenTrustMemberDescriptionLI2: "Passport",
823
826
  introductionScreenTrustMemberDescriptionLI3: "ID document",
824
827
  introductionScreenTrustMemberDescriptionP1: "The name, date of birth, and address of trust members such as settlors and beneficiaries.",
825
828
  introductionScreenTrustMemberDescriptionP2: "Where to find this information",
826
829
  introductionScreenTrustMemberTitle: "Trust members",
827
830
  introductionScreenTrustTitle: "Trust details",
828
- invalidBirthDate: "Enter a valid birth date (TODO - explain why this is invalid)",
829
831
  invalidDateOfBirth: "Please enter a valid date of birth",
830
832
  invalidDateOfIncorporation: "Please enter a valid date of incorporation",
831
833
  invalidEmail: "Please enter a valid email",
@@ -920,7 +922,7 @@ const defaultTrans = {
920
922
  madeAMistake: "Made a mistake?",
921
923
  maintenanceModeMessage: "We're currently undergoing maintenance — please keep this page open until maintenance is complete to avoid losing unsaved changes.",
922
924
  makeSureToHaveYourTrustDeed: "Make sure to have your trust deed in hand to complete this information accurately.",
923
- manualIDVerificationDescription: "May take a few days. Upload a copy of a passport, identity, or drivers license.",
925
+ manualIDVerificationDescription: "May take a few days. Upload a copy of a passport, identity, or driver's license.",
924
926
  manualUpload: "Manual upload",
925
927
  manualVerificationDescription: "You also have to provide the bank account details.",
926
928
  maxFileSize: "Max file size: %{maxSize}. Maximal 1 page.",
@@ -931,7 +933,6 @@ const defaultTrans = {
931
933
  meetingRecords: "Board of directors' meeting records of decisions",
932
934
  memberDetails: "Member details",
933
935
  missingCompanyDetails: "Missing company details or root entity",
934
- missingDetailsToPerformPayouts: "We are missing some details in order to perform payouts, please add it.",
935
936
  missingMultipleDecisionMakers: "You haven't added all required decision-makers",
936
937
  mobileApplication: "Mobile Application",
937
938
  momsregistreringsnummer: "Momsregistreringsnummer",
@@ -942,7 +943,7 @@ const defaultTrans = {
942
943
  myInfoBusinessYouCanGetVerifiedDetails: "With Myinfo business, you can get your business's verified details instantly and skip uploading documents.",
943
944
  myInfoYouCanGetVerifiedDetails: "With Myinfo, you can get your verified details instantly and skip uploading documents.",
944
945
  myName: "My name",
945
- myNameDescription: "Its a personal bank account held in my own name",
946
+ myNameDescription: "It's a personal bank account held in my own name",
946
947
  mySoleProprietorName: "My sole proprietor name",
947
948
  mySoleProprietorNameDescription: "The account is in my name, but I am registered as a sole proprietor, sole trader, or freelancer",
948
949
  myinfoBusinessDetailsRetrieved: "Myinfo business details retrieved",
@@ -953,7 +954,7 @@ const defaultTrans = {
953
954
  nameOfTrustAgreement: "Name of trust agreement",
954
955
  nationalInsuranceNumber: "National Insurance Number (NINO)",
955
956
  nationality: "Nationality",
956
- naturalPersonDescription: "He/she doesnt have any business.",
957
+ naturalPersonDescription: "He/she doesn't have any business.",
957
958
  naturalPersonTitle: "Natural person",
958
959
  needHelpYouCanAlwaysReachOutToCustomerSupport: "Need help? You can always reach out to customer support.",
959
960
  next: "Next",
@@ -984,21 +985,21 @@ const defaultTrans = {
984
985
  onboardingRedirectAwaitingCtaButton: "Continue",
985
986
  onboardingRedirectAwaitingDescriptionP1: "Verify your business details to start receiving payments.",
986
987
  onboardingRedirectInReviewCtaButton: "Go to details",
987
- onboardingRedirectInReviewDescriptionP1: "Were reviewing your details. It might take up to 2 business days.",
988
+ onboardingRedirectInReviewDescriptionP1: "We're reviewing your details. It might take up to 2 business days.",
988
989
  onboardingRedirectLinkError: "Onboarding link not available at the moment, please try again later.",
989
990
  onboardingRedirectOpenError: "Pop-up blocker prevented redirecting, please allow pop-ups for this site.",
990
- onboardingRedirectRejectedDescriptionP1: "Your account cant be set up.",
991
+ onboardingRedirectRejectedDescriptionP1: "Your account can't be set up.",
991
992
  onboardingRedirectUnsuccessfulCtaButton: "Update details",
992
- onboardingRedirectUnsuccessfulDescriptionP1: "We couldnt verify some details. Check if theyre correct and make any updates needed.",
993
+ onboardingRedirectUnsuccessfulDescriptionP1: "We couldn't verify some details. Check if they're correct and make any updates needed.",
993
994
  onboardingRedirectVerifiedDescriptionP1: "Your details are verified.",
994
995
  onfidoIsOurTrustedPartner: "Onfido is our trusted partner helping speed up your account setup by verifying your identity in real-time. ",
995
996
  onfidoWillGiveFeedbackInRealTime: "Onfido will give you feedback in real-time",
996
997
  onlyEnterNormalCharacters: "Please only enter normal characters",
997
998
  operationalAddress: "Operational address",
998
999
  operationalAddressHeader: "Additional address",
999
- operationalAddressHeaderDescription: "Is there a different address for your companys main business operations?",
1000
+ operationalAddressHeaderDescription: "Is there a different address for your company's main business operations?",
1000
1001
  operationalAddressIsNotSameItemName: "Yes, our headquarters are at a different location",
1001
- operationalAddressIsSame: "Is there a different address for your companys main business operations?",
1002
+ operationalAddressIsSame: "Is there a different address for your company's main business operations?",
1002
1003
  operationalAddressIsSameItemName: "No, the registered address is where we operate",
1003
1004
  optional: "(optional)",
1004
1005
  orSoleProprietorshipName: "or sole proprietorship's name",
@@ -1009,7 +1010,7 @@ const defaultTrans = {
1009
1010
  otherInformation: "Other information",
1010
1011
  otherLegalMeasures: "Yes, the company is facing other legal measures",
1011
1012
  otherTrust: "Other trust",
1012
- ourFinancialServicesAreNotAvailableYetForPartnershipsAndAssociations: "Our financial services arent available yet for partnerships and associations",
1013
+ ourFinancialServicesAreNotAvailableYetForPartnershipsAndAssociations: "Our financial services aren't available yet for partnerships and associations",
1013
1014
  owner: "Owner",
1014
1015
  ownerDescription: "Someone who owns 25% or more of the company (directly or indirectly)",
1015
1016
  ownerGuideDescription: "An <strong>owner</strong> is someone who owns 25% or more of the company, through voting rights, equity, or similar.",
@@ -1094,12 +1095,12 @@ const defaultTrans = {
1094
1095
  publicCompanyTitle: "Public company",
1095
1096
  publicTradingTrust: "Public trading trust",
1096
1097
  ranIntoTechnicalError: "We ran into a technical error",
1097
- reasonForFillingCompanyAddressDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, well check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1098
- reasonForFillingCompanyRegistrationDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, well check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1099
- reasonForFillingIndividualAddressDetails: "We have to make sure that everyone who uses our services is who they say they are. To do that, well check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1100
- reasonForFillingIndividualPersonalDetails: "We have to make sure that everyone who uses our services is who they say they are. To do that, well check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1101
- reasonForFillingPayoutAccountDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, well check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1102
- reasonForFillingPayoutDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, well check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1098
+ reasonForFillingCompanyAddressDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, we'll check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1099
+ reasonForFillingCompanyRegistrationDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, we'll check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1100
+ reasonForFillingIndividualAddressDetails: "We have to make sure that everyone who uses our services is who they say they are. To do that, we'll check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1101
+ reasonForFillingIndividualPersonalDetails: "We have to make sure that everyone who uses our services is who they say they are. To do that, we'll check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1102
+ reasonForFillingPayoutAccountDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, we'll check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1103
+ reasonForFillingPayoutDetails: "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, we'll check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.",
1103
1104
  region: "Region",
1104
1105
  registeredAddress: "Registered address",
1105
1106
  registeredAddressHeaderDescription: "The address as it appears on your company's official registration documents.",
@@ -1110,7 +1111,7 @@ const defaultTrans = {
1110
1111
  registrationAddress: "Registration address",
1111
1112
  registrationDetails: "Registration details",
1112
1113
  registrationDocument: "Registration document",
1113
- registrationDocumentSubTitle: "Upload your companys business registration document. We need to see this document so we can verify your company.",
1114
+ registrationDocumentSubTitle: "Upload your company's business registration document. We need to see this document so we can verify your company.",
1114
1115
  registrationNumber: "Registration number",
1115
1116
  registrationNumber__US: "State registration number",
1116
1117
  registrationNumber__helperText__US: "This helps us better identify and verify your business.",
@@ -1120,7 +1121,7 @@ const defaultTrans = {
1120
1121
  regonKrsNumber: "REGON / KRS number",
1121
1122
  rejected: "Rejected",
1122
1123
  relationshipTo: "Relationship to %{firstName} %{lastName}",
1123
- remediationFormErrorMessage: "Some information couldnt be verified. Information in this form may need to be adjusted.",
1124
+ remediationFormErrorMessage: "Some information couldn't be verified. Information in this form may need to be adjusted.",
1124
1125
  remediationMessage_1_100: "No remediation possible",
1125
1126
  remediationMessage_1_101: "Contact Support",
1126
1127
  remediationMessage_1_102: "Upload a different document",
@@ -1134,7 +1135,7 @@ const defaultTrans = {
1134
1135
  remediationMessage_1_307: "Upload a proof of national ID number",
1135
1136
  remediationMessage_1_308: "Upload a different proof of national ID number",
1136
1137
  remediationMessage_1_309: "Upload a different image of the proof of national ID number",
1137
- remediationMessage_1_316: "Provide complete 9-digits Social Security Number number or upload an ID document if you dont have SSN.",
1138
+ remediationMessage_1_316: "Provide complete 9-digits Social Security Number number or upload an ID document if you don't have SSN.",
1138
1139
  remediationMessage_1_500: "Update organization details",
1139
1140
  remediationMessage_1_501: "Upload a registration document",
1140
1141
  remediationMessage_1_502: "Upload a different registration document",
@@ -1172,7 +1173,7 @@ const defaultTrans = {
1172
1173
  removeThisBankAccount: "Remove this bank account",
1173
1174
  removeTrustMember: "Remove %{trustMember}",
1174
1175
  removing: "Removing...",
1175
- requiredIfApplicable: "Required if its applicable ",
1176
+ requiredIfApplicable: "Required if it's applicable ",
1176
1177
  requirements: "Requirements:",
1177
1178
  requiresDecisionMakers: "Requires decision-makers",
1178
1179
  requiresSignatory: "Requires signatory",
@@ -1187,6 +1188,7 @@ const defaultTrans = {
1187
1188
  rnaNumber: "RNA number",
1188
1189
  role: "Role",
1189
1190
  roleAndEntityType: "Role and entity type",
1191
+ routingNumber: "Routing number",
1190
1192
  routingNumberVisible: "Includes your routing number",
1191
1193
  salarySlip: "Salary slip",
1192
1194
  sameNameAsLegalName: "Same as legal name of the company",
@@ -1234,8 +1236,8 @@ const defaultTrans = {
1234
1236
  signatoryGuideDescription: "A <strong>signatory</strong> has been given authority to sign official documents on behalf of the company. Usually a signatory is also an owner or a controlling person.",
1235
1237
  signed: "Signed",
1236
1238
  signer: "Signer",
1237
- singingUpAsCompanyButLooksLikeYouAreAnIndividual: "Youre now signing up as an company. But it looks like youre an individual who uses your personal bank account to receive payouts.",
1238
- singingUpAsIndividualButLooksLikeYouAreACompany: "Youre now signing up as an individual. But it looks like youre a company that uses a company bank account to receive payouts.",
1239
+ singingUpAsCompanyButLooksLikeYouAreAnIndividual: "You're now signing up as an company. But it looks like you're an individual who uses your personal bank account to receive payouts.",
1240
+ singingUpAsIndividualButLooksLikeYouAreACompany: "You're now signing up as an individual. But it looks like you're a company that uses a company bank account to receive payouts.",
1239
1241
  siret: "SIRET",
1240
1242
  skRegistrationNumber: "Identifikačné číslo (IČO)",
1241
1243
  skTaxId: "Identifikačné číslo pre daň z pridanej hodnoty (IČ DPH)",
@@ -1250,7 +1252,7 @@ const defaultTrans = {
1250
1252
  someInformationWillNotBeSaved: "Some information that you entered previously will not be saved. ",
1251
1253
  someoneAppointedToManageACompanysBusinessAndAffairs: "Someone appointed to manage a company's business and affairs.",
1252
1254
  sorryAnErrorOccurred: "We are sorry, an error has occurred",
1253
- sorryWeCantSetUpAnAccountForYou: "Sorry, we cant set up an account for you",
1255
+ sorryWeCantSetUpAnAccountForYou: "Sorry, we can't set up an account for you",
1254
1256
  sortCode: "Sort code",
1255
1257
  ssn: "SSN",
1256
1258
  stamregister: "Stamregister erhverv (SE-nummer)",
@@ -1262,6 +1264,7 @@ const defaultTrans = {
1262
1264
  stateOrProvince__US__business: "In which state is your business registered?",
1263
1265
  stateOrProvince__placeHolder: "Select a state or province",
1264
1266
  stateOrProvince__placeHolder__US: "Select one...",
1267
+ status: "Status",
1265
1268
  "stepsX/YofForm": "Step %{activeFormIndex}/ %{totalForms} of %{taskNameTranslated}",
1266
1269
  stockExchangeInformation: "Stock exchange information",
1267
1270
  stockExchangeMIC: "Market Identifier Code (MIC)",
@@ -1317,7 +1320,7 @@ const defaultTrans = {
1317
1320
  thereWasAnErrorTryAgain: "There was an error, please try again",
1318
1321
  thisIsMyBusiness: "This is my business",
1319
1322
  thisMeansYouHaveAParentCompany: "If yes, this means you have a parent company, such as a global headquarters or a holding company.",
1320
- thisMeansYouHaveAnUltimateParentCompany: "If yes, this means you have an ultimate parent company. An ultimate parent company is the company thats highest in the corporate structure. Learn more.",
1323
+ thisMeansYouHaveAnUltimateParentCompany: "If yes, this means you have an ultimate parent company. An ultimate parent company is the company that's highest in the corporate structure. Learn more.",
1321
1324
  thisPageIsNowInactive: "This page is now inactive",
1322
1325
  thisSessionWillExpireIn: "This session will expire in %{timeUntilExpiry}. Continue working to avoid losing any unsaved data.",
1323
1326
  toCompleteProcessReviewAndSignOfficialDocumentation: "To complete this process, review and sign the official documentation.",
@@ -1335,7 +1338,7 @@ const defaultTrans = {
1335
1338
  trustDeed: "Trust deed",
1336
1339
  trustDetails: "Trust details",
1337
1340
  trustDetailsDescription: "To prepare your account, we need information about your trust.",
1338
- trustDocumentDescription: "We wont be able to verify your trust without all required information. Make sure the following information is visible on your document:",
1341
+ trustDocumentDescription: "We won't be able to verify your trust without all required information. Make sure the following information is visible on your document:",
1339
1342
  trustInstrument: "Trust instrument",
1340
1343
  trustMembers: "Trust members",
1341
1344
  trustMembersDescription: "Provide information for all trustee, settlor, protector and beneficiary associated with the trust contract.",
@@ -1408,7 +1411,7 @@ const defaultTrans = {
1408
1411
  vatNumberExempted: "Exempted from VAT",
1409
1412
  vatNummerMomsregistreringsnummerOrMomsnummer: "VAT-nummer, Momsregistreringsnummer, or Momsnummer",
1410
1413
  vatRegistrationNumber: "VAT registration number",
1411
- verificationErrorMessage: "Some information couldnt be verified. Click to see what needs to be adjusted.",
1414
+ verificationErrorMessage: "Some information couldn't be verified. Click to see what needs to be adjusted.",
1412
1415
  verificationMethod: "Verification method",
1413
1416
  verified: "Verified",
1414
1417
  verifiedInformation: "Verified information",
@@ -1430,7 +1433,7 @@ const defaultTrans = {
1430
1433
  whatIsTheDifferenceBetweenTheseRoles: "What is the difference between these roles?",
1431
1434
  whatTypeOfCompanyDoYouHave: "What type of company do you have?",
1432
1435
  whatTypeOfTrusteeAreYou: "What type of trustee are you?",
1433
- whatTypeOfYourMembersEntity: "Whats the type of your members entity?",
1436
+ whatTypeOfYourMembersEntity: "What's the type of your member's entity?",
1434
1437
  whereCanIFindTheseNumbersOnMyDriversLicense: "Where can I find these numbers on my driver's license?",
1435
1438
  whereToFindNumbersOnDriversLicense: "Depending on the issuing state the position of these numbers might differ, but the license number is always on the front side of the card and the card number is in most cases located on the back of the license.",
1436
1439
  whereToFindNumbersOnDriversLicense__NZ: "The license number and version number are always on the front side of the card.",
@@ -1440,8 +1443,8 @@ const defaultTrans = {
1440
1443
  whichTypeOfRegistrationNumberDoYouHave: "Which type of registration number do you have?",
1441
1444
  whichTypeOfTaxIdNumberDoYouHave: "Which type of tax identification number do you have?",
1442
1445
  whyDoINeedToFillInThisInformation: "Why do I need to fill in this information?",
1443
- wouldYouLikeToSignUpAsCompanyInstead: "Would you like to sign up as a company instead? (Youll have to re-enter some information from before.)",
1444
- wouldYouLikeToSignUpAsIndividualInstead: "Would you like to sign up as an individual instead? (Youll have to re-enter some information from before.)",
1446
+ wouldYouLikeToSignUpAsCompanyInstead: "Would you like to sign up as a company instead? (You'll have to re-enter some information from before.)",
1447
+ wouldYouLikeToSignUpAsIndividualInstead: "Would you like to sign up as an individual instead? (You'll have to re-enter some information from before.)",
1445
1448
  xCharactersLeft: "%{charactersLeft} characters left",
1446
1449
  xMinutes: "%{minutes} minutes",
1447
1450
  xMinutesAndYSeconds: "%{minutes} and %{seconds}",
@@ -1449,17 +1452,17 @@ const defaultTrans = {
1449
1452
  yes: "Yes",
1450
1453
  yesChange: "Yes, change",
1451
1454
  youAlsoHaveToUploadSomeSupportingDocuments: "You'll also have to upload some supporting documents.",
1452
- youAreIndividualOrCompanyAndUseBankAccountInNameOfPartnershipOrAssociation: "Youre an individual or company, and you use a bank account in the name of a partnership, or association.",
1453
- youAreIndividualOrCompanyAndUseBankAccountInNameOfTrustPartnershipOrAssociation: "Youre an individual or company, and you use a bank account in the name of a trust, partnership, or association.",
1454
- youAreNotSoleProprietorAndUseBankAccount: "Youre not a registered sole proprietor, and you use a bank account in your name.",
1455
- youAreRegisteredSoleProprietorAndUseBankAccount: "Youre a registered sole proprietor, and you use a bank account in your name or sole proprietorships name.",
1456
- youAreTrusteeManagingTheTrustForBeneficiaries: "Youre a trustee managing the trust for beneficiaries.",
1455
+ youAreIndividualOrCompanyAndUseBankAccountInNameOfPartnershipOrAssociation: "You're an individual or company, and you use a bank account in the name of a partnership, or association.",
1456
+ youAreIndividualOrCompanyAndUseBankAccountInNameOfTrustPartnershipOrAssociation: "You're an individual or company, and you use a bank account in the name of a trust, partnership, or association.",
1457
+ youAreNotSoleProprietorAndUseBankAccount: "You're not a registered sole proprietor, and you use a bank account in your name.",
1458
+ youAreRegisteredSoleProprietorAndUseBankAccount: "You're a registered sole proprietor, and you use a bank account in your name or sole proprietorship's name.",
1459
+ youAreTrusteeManagingTheTrustForBeneficiaries: "You're a trustee managing the trust for beneficiaries.",
1457
1460
  youCanOnlyUseABankAccountInTheCountryRegionWhereYouLive: "You can only use a bank account in the country/region where you live.",
1458
1461
  youCanOnlyUseABankAccountInTheCountryRegionWhereYourCompanyIsRegistered: "You can only use a bank account in the country/region where your company is registered.",
1459
- youHaveSuccessfullyProvidedTheIdDocument: "Youve successfully provided the ID document.",
1462
+ youHaveSuccessfullyProvidedTheIdDocument: "You've successfully provided the ID document.",
1460
1463
  youHaveUnsavedChanges: "You have unsaved changes",
1461
1464
  youMustXYearsOldToContinue: "You must be at least %{minimumAge} years old to continue",
1462
- youSuccessfullyVerifiedAccount: "Youve successfully verified your bank account.",
1465
+ youSuccessfullyVerifiedAccount: "You've successfully verified your bank account.",
1463
1466
  yourAssociationIsRegisteredItWasSetUpForNonCommercialPurpose: "Your association is registered. It was set up for recreational, cultural, or non-profit purposes.",
1464
1467
  yourBankWillConfirmYourAccountDetails: "Your bank will confirm your account details to us.",
1465
1468
  yourBusinessInformation: "Your business information",
@@ -1831,7 +1834,7 @@ class UserEvents {
1831
1834
  }
1832
1835
  }
1833
1836
  const userEvents = new UserEvents();
1834
- const logger$I = createLogger("useCompanySearch");
1837
+ const logger$J = createLogger("useCompanySearch");
1835
1838
  const LOW_RISK_COMPANY_DATA_COMPLIANCE_WINDOW = 1577664e5;
1836
1839
  function useCompanySearch({
1837
1840
  defaultData,
@@ -1955,7 +1958,7 @@ function useCompanySearch({
1955
1958
  state: companyData.state ?? stateOrProvince
1956
1959
  });
1957
1960
  } catch (e) {
1958
- logger$I.error(e);
1961
+ logger$J.error(e);
1959
1962
  setError(e);
1960
1963
  setStatus("error");
1961
1964
  } finally {
@@ -1988,7 +1991,7 @@ function useCompanySearch({
1988
1991
  indexSearch: handleCompanyIndexSearch,
1989
1992
  deepSearch: handleCompanyDeepSearch,
1990
1993
  resultsLimit: limit
1991
- })) == null ? void 0 : _a.catch((e) => logger$I.error(e));
1994
+ })) == null ? void 0 : _a.catch((e) => logger$J.error(e));
1992
1995
  }
1993
1996
  }, [legalCompanyName, country, stateOrProvince, taxIdentificationNumber, verifiedCompany, searchCompanies, handleCompanyIndexSearch, handleCompanyDeepSearch, limit, canVerify, baseTrackingPayload]);
1994
1997
  useEffect(() => {
@@ -2011,7 +2014,7 @@ function useCompanySearch({
2011
2014
  reset
2012
2015
  };
2013
2016
  }
2014
- const logger$H = createLogger("useBusinessData");
2017
+ const logger$I = createLogger("useBusinessData");
2015
2018
  const KNOWN_BROKEN_PRIMARY_SOURCE_CONNECTIONS = [StateCodesUS.Arkansas, StateCodesUS.Connecticut, StateCodesUS.Georgia, StateCodesUS.Hawaii, StateCodesUS.Kentucky, StateCodesUS.Maryland, StateCodesUS.Minnesota, StateCodesUS.Missouri, StateCodesUS.Montana, StateCodesUS.NewHampshire, StateCodesUS.NewMexico, StateCodesUS.SouthCarolina, StateCodesUS.Utah, StateCodesUS.Vermont, StateCodesUS.Wisconsin, StateCodesUS.Wyoming];
2016
2019
  function useBusinessData({
2017
2020
  handleCompanyIndexSearch,
@@ -2032,7 +2035,7 @@ function useBusinessData({
2032
2035
  const [invalidTin, setInvalidTin] = useState(false);
2033
2036
  const searchForBusiness = useCallback(async (data) => {
2034
2037
  if (!handleCompanyDeepSearch || !handleCompanyIndexSearch) {
2035
- logger$H.log("Missing handlers for searchForBusiness");
2038
+ logger$I.log("Missing handlers for searchForBusiness");
2036
2039
  return;
2037
2040
  }
2038
2041
  if (searchResults && objectsDeepEqual(cachedSearch, data)) return;
@@ -2051,7 +2054,7 @@ function useBusinessData({
2051
2054
  return results;
2052
2055
  } catch (e) {
2053
2056
  setIsSearching("error");
2054
- logger$H.error(e);
2057
+ logger$I.error(e);
2055
2058
  } finally {
2056
2059
  setCachedSearch(data);
2057
2060
  setIsSearching((prevState) => prevState !== "error" ? "loaded" : prevState);
@@ -2059,7 +2062,7 @@ function useBusinessData({
2059
2062
  }, [handleCompanyDeepSearch, handleCompanyIndexSearch, searchResults, cachedSearch]);
2060
2063
  const fetchBusinessData = useCallback(async (company) => {
2061
2064
  if (!handleGetCompanyDataset || !handleRefreshCompanyDataset) {
2062
- logger$H.log("Missing handlers for fetchBusinessData");
2065
+ logger$I.log("Missing handlers for fetchBusinessData");
2063
2066
  return;
2064
2067
  }
2065
2068
  if (cachedBusiness && objectsDeepEqual({
@@ -2086,14 +2089,14 @@ function useBusinessData({
2086
2089
  } catch (e) {
2087
2090
  setIsFetching("error");
2088
2091
  setCachedBusiness(void 0);
2089
- logger$H.error(e);
2092
+ logger$I.error(e);
2090
2093
  } finally {
2091
2094
  setIsFetching((prevState) => prevState !== "error" ? "loaded" : prevState);
2092
2095
  }
2093
2096
  }, [cachedBusiness, handleGetCompanyDataset, handleRefreshCompanyDataset]);
2094
2097
  const verifyBusinessData = useCallback(async (data, tin) => {
2095
2098
  if (!handleVerifyTin) {
2096
- logger$H.log("Missing handlers for verifyBusinessData");
2099
+ logger$I.log("Missing handlers for verifyBusinessData");
2097
2100
  return;
2098
2101
  }
2099
2102
  try {
@@ -2114,7 +2117,7 @@ function useBusinessData({
2114
2117
  return matched;
2115
2118
  } catch (e) {
2116
2119
  setIsVerifying("error");
2117
- logger$H.error(e);
2120
+ logger$I.error(e);
2118
2121
  } finally {
2119
2122
  setIsVerifying((prevState) => prevState !== "error" ? "loaded" : prevState);
2120
2123
  }
@@ -2125,7 +2128,7 @@ function useBusinessData({
2125
2128
  await (handleClearCompanyData == null ? void 0 : handleClearCompanyData());
2126
2129
  } catch (e) {
2127
2130
  setIsClearingTrustedData("error");
2128
- logger$H.error(e);
2131
+ logger$I.error(e);
2129
2132
  } finally {
2130
2133
  setIsClearingTrustedData((prevState) => prevState !== "error" ? "loaded" : prevState);
2131
2134
  }
@@ -2134,6 +2137,9 @@ function useBusinessData({
2134
2137
  setSearchResults(void 0);
2135
2138
  setVerifiedBusiness(void 0);
2136
2139
  };
2140
+ const resetTinVerification = () => {
2141
+ setInvalidTin(false);
2142
+ };
2137
2143
  return {
2138
2144
  // Methods
2139
2145
  searchForBusiness,
@@ -2141,6 +2147,7 @@ function useBusinessData({
2141
2147
  verifyBusinessData,
2142
2148
  clearTrustedBusinessData,
2143
2149
  resetBusinessData,
2150
+ resetTinVerification,
2144
2151
  // Data
2145
2152
  isSearching,
2146
2153
  isFetching,
@@ -2383,7 +2390,7 @@ const NO_ALPHABET_REGEX = /^[^a-zA-Z]*$/;
2383
2390
  const INDIVIDUAL_VALID_CHAR_REGEX = /^[\w\s\-—./']*$/;
2384
2391
  const OTHER_ENTITIES_VALID_CHAR_REGEX = /^[\w\s,.;:\-—&!?@()"'/\\+]+$/;
2385
2392
  const matchesRegex = (regex, input) => isString(input) && regex.test(input ?? "");
2386
- const hasRepeatedCharacters = (input) => !isEmpty(input) && new Set(input).size === 1;
2393
+ const hasRepeatedCharacters = (input) => !isEmpty(input) && input.length > 1 && new Set(input).size === 1;
2387
2394
  const isValidMinLength = (input, minLength = 1) => !isEmpty(input) && input.length >= minLength;
2388
2395
  const isInvalidName = (input) => {
2389
2396
  const invalidNames = /* @__PURE__ */ new Set(["John Doe", "Jane Doe", "ABCD", "ABCDE", "ABCDEF", "ABCDEFG", "My Customer", "An other", "n/a", "not applicable", "n/A", "N/A", "N/a", "N\\ /A", "not app", "null"]);
@@ -2428,6 +2435,7 @@ const svgs = {
2428
2435
  store: lazy(() => import("./store-BLl8m644.js")),
2429
2436
  trust: lazy(() => import("./partner-B9xMZpSw.js")),
2430
2437
  user: lazy(() => import("./person-lPJ07vyF.js")),
2438
+ "user-business": lazy(() => import("./document-person-BPjqMJVL.js")),
2431
2439
  upload: lazy(() => import("./upload-XwV0PfcC.js")),
2432
2440
  "users-3": lazy(() => import("./4-people-BTQ6Okmp.js")),
2433
2441
  warning: lazy(() => import("./warning-filled-Od0v7tGX.js")),
@@ -2452,10 +2460,7 @@ const svgs = {
2452
2460
  "singpass-verification-instant": lazy(() => Promise.resolve().then(() => singpassVerificationInstant)),
2453
2461
  "singpass-verification-manual": lazy(() => Promise.resolve().then(() => singpassVerificationManual)),
2454
2462
  // These do not have a good equivalent in the icon package for now
2455
- owners: lazy(() => import("./owners-DT55tjrZ.js")),
2456
2463
  review: lazy(() => import("./review-C4CnZ2XP.js")),
2457
- signatory: lazy(() => import("./signatory-BUpU_luQ.js")),
2458
- "user-business": lazy(() => import("./user-business-BZ3Ko-Oi.js")),
2459
2464
  // id verification
2460
2465
  "onfido-logo": lazy(() => import("./onfido-logo-i_oduqdE.js")),
2461
2466
  "tink-logo": lazy(() => import("./tink-logo-CXMbO28D.js")),
@@ -2464,7 +2469,8 @@ const svgs = {
2464
2469
  "plaid-logo": lazy(() => import("./plaid-logo-4nYeR9iX.js")),
2465
2470
  "trustly-logo": lazy(() => import("./trustly-logo-YJslAOYF.js"))
2466
2471
  };
2467
- const logger$G = createLogger("Icon");
2472
+ const unscalableIconNames = ["arrow-left", "arrow-right", "bank", "bin", "check", "checkmark", "checkmark-small", "chevron-down", "chevron-right", "chevron-left", "chevron-up", "company", "company-2", "contract", "cross", "decision-maker", "document", "download", "edit", "info-circle", "field-error", "image", "light-bulb", "location", "more-horiz", "new-document", "payout", "pci", "plus", "plus-small", "remove", "save", "search", "store", "trust", "user", "user-business", "upload", "users-3", "warning", "wrong"];
2473
+ const logger$H = createLogger("Icon");
2468
2474
  const Svg = ({
2469
2475
  className,
2470
2476
  name,
@@ -2473,8 +2479,9 @@ const Svg = ({
2473
2479
  type
2474
2480
  }) => {
2475
2481
  const LazyLoadedSvg = svgs[name];
2482
+ const viewBox = unscalableIconNames.includes(name) ? "0 0 16 16" : void 0;
2476
2483
  if (!LazyLoadedSvg) {
2477
- logger$G.error(`No such svg: "${name}"`);
2484
+ logger$H.error(`No such svg: "${name}"`);
2478
2485
  return null;
2479
2486
  }
2480
2487
  return jsx("span", {
@@ -2482,7 +2489,11 @@ const Svg = ({
2482
2489
  "data-testid": testId,
2483
2490
  children: jsx(Suspense, {
2484
2491
  fallback: null,
2485
- children: jsx(LazyLoadedSvg, {
2492
+ children: viewBox ? jsx(LazyLoadedSvg, {
2493
+ alt,
2494
+ "aria-hidden": type === "icon",
2495
+ viewBox
2496
+ }) : jsx(LazyLoadedSvg, {
2486
2497
  alt,
2487
2498
  "aria-hidden": type === "icon"
2488
2499
  })
@@ -2756,7 +2767,7 @@ function useFormRouterContext() {
2756
2767
  }
2757
2768
  return context;
2758
2769
  }
2759
- const logger$F = createLogger("Link");
2770
+ const logger$G = createLogger("Link");
2760
2771
  const getIconClass = (icon, external) => {
2761
2772
  if (external) {
2762
2773
  return "adyen-kyc-link__icon adyen-kyc-icon-external-link";
@@ -2768,7 +2779,7 @@ const getIconClass = (icon, external) => {
2768
2779
  };
2769
2780
  const isValidLink = (href) => {
2770
2781
  if (href === "#") {
2771
- logger$F.error('Links must include a valid href. If your href is "#", consider using a Button instead');
2782
+ logger$G.error('Links must include a valid href. If your href is "#", consider using a Button instead');
2772
2783
  return false;
2773
2784
  }
2774
2785
  return true;
@@ -3118,7 +3129,7 @@ const useSetting = (settingName) => {
3118
3129
  } = context;
3119
3130
  return getSetting(settingName);
3120
3131
  };
3121
- const logger$E = createLogger("useAllowedCountries");
3132
+ const logger$F = createLogger("useAllowedCountries");
3122
3133
  const useAllowedCountries = () => {
3123
3134
  const acceptedCountries = useSetting("acceptedCountries");
3124
3135
  const {
@@ -3127,7 +3138,7 @@ const useAllowedCountries = () => {
3127
3138
  const [allowedCountries, setAllowedCountries] = useState(acceptedCountries);
3128
3139
  useEffect(() => {
3129
3140
  if (acceptedCountries !== void 0) return;
3130
- getAllowedCountries2().then((response) => setAllowedCountries(response.countries)).catch(logger$E.error);
3141
+ getAllowedCountries2().then((response) => setAllowedCountries(response.countries)).catch(logger$F.error);
3131
3142
  }, [acceptedCountries]);
3132
3143
  return allowedCountries;
3133
3144
  };
@@ -3486,7 +3497,7 @@ function reducer({
3486
3497
  }
3487
3498
  };
3488
3499
  }
3489
- const logger$D = createLogger("useAsyncValidator");
3500
+ const logger$E = createLogger("useAsyncValidator");
3490
3501
  const useAsyncValidator = (asyncRules) => {
3491
3502
  const [asyncValidationResults, setAsyncValidationResults] = useState({});
3492
3503
  const clearAsyncValidationResults = useCallback(() => setAsyncValidationResults({}), []);
@@ -3507,7 +3518,7 @@ const useAsyncValidator = (asyncRules) => {
3507
3518
  hasError: !isValid
3508
3519
  }])
3509
3520
  });
3510
- }).catch(logger$D.error);
3521
+ }).catch(logger$E.error);
3511
3522
  }, [asyncRules, clearAsyncValidationResults]);
3512
3523
  return {
3513
3524
  asyncValidationResults,
@@ -3952,12 +3963,13 @@ const Tag = ({
3952
3963
  children
3953
3964
  });
3954
3965
  };
3955
- const styles$3 = {
3966
+ const styles$4 = {
3956
3967
  "adyen-kyc-dropdown": "adyen-kyc-dropdown",
3957
3968
  "adyen-kyc-dropdown-button": "adyen-kyc-dropdown-button",
3958
3969
  "adyen-kyc-dropdown-button--active": "adyen-kyc-dropdown-button--active",
3959
3970
  "adyen-kyc-filter-input": "adyen-kyc-filter-input",
3960
3971
  "adyen-kyc-dropdown-list": "adyen-kyc-dropdown-list",
3972
+ "adyen-kyc-dropdown-list__transformer": "adyen-kyc-dropdown-list__transformer",
3961
3973
  "adyen-kyc-dropdown-list--active": "adyen-kyc-dropdown-list--active",
3962
3974
  "adyen-kyc-dropdown-element": "adyen-kyc-dropdown-element"
3963
3975
  };
@@ -4008,10 +4020,10 @@ function SelectButton({
4008
4020
  "aria-haspopup": "listbox",
4009
4021
  className: cx({
4010
4022
  "adyen-kyc-dropdown-button": true,
4011
- [styles$3["adyen-kyc-dropdown-button"]]: true,
4023
+ [styles$4["adyen-kyc-dropdown-button"]]: true,
4012
4024
  "adyen-kyc-dropdown-button--readonly": readonly,
4013
4025
  "adyen-kyc-dropdown-button--active": showList,
4014
- [styles$3["adyen-kyc-dropdown-button--active"]]: showList,
4026
+ [styles$4["adyen-kyc-dropdown-button--active"]]: showList,
4015
4027
  "adyen-kyc-dropdown-button--invalid": isInvalid,
4016
4028
  "adyen-kyc-dropdown-field--valid": isValid,
4017
4029
  "adyen-kyc-dropdown-button-search": isSearch
@@ -4081,7 +4093,7 @@ const SelectButtonContentSingle = ({
4081
4093
  "aria-expanded": showList,
4082
4094
  "aria-owns": selectListId,
4083
4095
  autoComplete: "off",
4084
- className: cx("adyen-kyc-filter-input", [styles$3["adyen-kyc-filter-input"]]),
4096
+ className: cx("adyen-kyc-filter-input", [styles$4["adyen-kyc-filter-input"]]),
4085
4097
  onInput,
4086
4098
  placeholder,
4087
4099
  ref: filterInputRef,
@@ -4169,7 +4181,7 @@ const SelectListItem = ({
4169
4181
  }) => jsx("li", {
4170
4182
  "aria-disabled": !!item.disabled,
4171
4183
  "aria-selected": selected,
4172
- className: cx(["adyen-kyc-dropdown-element", styles$3["adyen-kyc-dropdown-element"], {
4184
+ className: cx(["adyen-kyc-dropdown-element", styles$4["adyen-kyc-dropdown-element"], {
4173
4185
  "adyen-kyc-dropdown-element--active": selected,
4174
4186
  "adyen-kyc-dropdown-element--disabled": !!item.disabled,
4175
4187
  "adyen-kyc-dropdown-multi-element": isMulti,
@@ -4217,8 +4229,7 @@ const SelectListItem = ({
4217
4229
  })]
4218
4230
  })
4219
4231
  });
4220
- const ITEM_HEIGHT = 35;
4221
- const VISIBLE_ITEMS = 10;
4232
+ const VISIBLE_ITEMS = 5;
4222
4233
  function SelectList({
4223
4234
  active,
4224
4235
  items,
@@ -4237,7 +4248,14 @@ function SelectList({
4237
4248
  const listRef = useRef(null);
4238
4249
  const [startIndex, setStartIndex] = useState(0);
4239
4250
  const [endIndex, setEndIndex] = useState(VISIBLE_ITEMS);
4240
- const [listHeight, setListHeight] = useState(0);
4251
+ const [itemHeight, setItemHeight] = useState(0);
4252
+ useEffect(() => {
4253
+ var _a, _b, _c;
4254
+ if (listRef.current && itemHeight === 0 && showList) {
4255
+ const height = ((_c = (_b = (_a = listRef.current) == null ? void 0 : _a.firstElementChild) == null ? void 0 : _b.firstElementChild) == null ? void 0 : _c.clientHeight) || 0;
4256
+ setItemHeight(height);
4257
+ }
4258
+ }, [itemHeight, showList]);
4241
4259
  const filteredItems = items.filter((item) => {
4242
4260
  var _a;
4243
4261
  if (isSearch) {
@@ -4253,18 +4271,12 @@ function SelectList({
4253
4271
  scrollTop
4254
4272
  } = listRef.current;
4255
4273
  const maxStartIndex = totalItems - VISIBLE_ITEMS;
4256
- const newStartIndex = Math.min(Math.max(0, Math.floor(scrollTop / ITEM_HEIGHT)), maxStartIndex);
4274
+ const newStartIndex = Math.min(Math.max(0, Math.floor(scrollTop / itemHeight)), maxStartIndex);
4257
4275
  const newEndIndex = Math.min(newStartIndex + VISIBLE_ITEMS, totalItems);
4258
4276
  setStartIndex(newStartIndex);
4259
4277
  setEndIndex(newEndIndex);
4260
4278
  }
4261
- }, [totalItems]);
4262
- useEffect(() => {
4263
- if (listRef.current) {
4264
- const newHeight = totalItems ? Math.min(totalItems, VISIBLE_ITEMS) * ITEM_HEIGHT : ITEM_HEIGHT;
4265
- setListHeight(newHeight);
4266
- }
4267
- }, [totalItems]);
4279
+ }, [totalItems, itemHeight]);
4268
4280
  const getItems = () => {
4269
4281
  if (loading) {
4270
4282
  return jsx("div", {
@@ -4294,35 +4306,31 @@ function SelectList({
4294
4306
  }
4295
4307
  return null;
4296
4308
  };
4297
- return jsx("ul", {
4309
+ const calculateMaxHeight = useCallback(() => totalItems > VISIBLE_ITEMS && itemHeight ? `${itemHeight * (VISIBLE_ITEMS - 1)}px` : "auto", [totalItems, itemHeight]);
4310
+ return jsx("div", {
4298
4311
  className: cx({
4299
4312
  test: true,
4300
4313
  "adyen-kyc-dropdown-list--above": showAbove,
4301
4314
  "adyen-kyc-dropdown-list": true,
4302
- [styles$3["adyen-kyc-dropdown-list"]]: true,
4315
+ [styles$4["adyen-kyc-dropdown-list"]]: true,
4303
4316
  "adyen-kyc-dropdown-list--active": showList,
4304
- [styles$3["adyen-kyc-dropdown-list--active"]]: showList
4317
+ [styles$4["adyen-kyc-dropdown-list--active"]]: showList
4305
4318
  }),
4306
4319
  id: props.selectListId,
4307
- ref: listRef,
4308
4320
  role: "listbox",
4309
4321
  onScroll: handleScroll,
4310
4322
  style: {
4311
- height: `${listHeight}px`,
4312
4323
  overflowY: totalItems > VISIBLE_ITEMS ? "auto" : "hidden",
4313
- position: "absolute"
4324
+ position: "absolute",
4325
+ maxHeight: calculateMaxHeight()
4314
4326
  },
4315
- children: jsx("div", {
4327
+ ref: listRef,
4328
+ children: jsx("ul", {
4329
+ className: "adyen-kyc-dropdown-list__transformer",
4316
4330
  style: {
4317
- height: `${totalItems * ITEM_HEIGHT}px`,
4318
- position: "relative"
4331
+ transform: `translateY(${startIndex * itemHeight}px)`
4319
4332
  },
4320
- children: jsx("div", {
4321
- style: {
4322
- transform: `translateY(${startIndex * ITEM_HEIGHT}px)`
4323
- },
4324
- children: getItems()
4325
- })
4333
+ children: getItems()
4326
4334
  })
4327
4335
  });
4328
4336
  }
@@ -4509,7 +4517,7 @@ const Select = ({
4509
4517
  };
4510
4518
  }, []);
4511
4519
  return jsxs("div", {
4512
- className: cx(["adyen-kyc-dropdown", styles$3["adyen-kyc-dropdown"], className, ...classNameModifiers.map((m) => `adyen-kyc-dropdown--${m}`)]),
4520
+ className: cx(["adyen-kyc-dropdown", styles$4["adyen-kyc-dropdown"], className, ...classNameModifiers.map((m) => `adyen-kyc-dropdown--${m}`)]),
4513
4521
  ref: selectContainerRef,
4514
4522
  onClick: (e) => {
4515
4523
  e.stopPropagation();
@@ -5063,31 +5071,31 @@ const euCountries = [
5063
5071
  "AT",
5064
5072
  "BE",
5065
5073
  "BG",
5074
+ "HR",
5066
5075
  "CY",
5067
5076
  "CZ",
5068
- "DE",
5069
5077
  "DK",
5070
5078
  "EE",
5071
- "ES",
5072
5079
  "FI",
5073
5080
  "FR",
5081
+ "DE",
5074
5082
  "GR",
5075
- "HR",
5076
5083
  "HU",
5077
5084
  "IE",
5078
5085
  "IT",
5086
+ "LV",
5079
5087
  "LT",
5080
5088
  "LU",
5081
- "LV",
5082
5089
  "MT",
5083
5090
  "NL",
5084
5091
  "PL",
5085
5092
  "PT",
5086
5093
  "RO",
5087
- "SE",
5094
+ "SK",
5088
5095
  "SI",
5089
- "SK"
5090
- /* Slovakia */
5096
+ "ES",
5097
+ "SE"
5098
+ /* Sweden */
5091
5099
  ];
5092
5100
  const validateNotEmptyOnBlur = {
5093
5101
  modes: ["blur"],
@@ -7434,7 +7442,7 @@ const deriveInputState = (isValid, isFocused, isDisabled, isOptional, hasNullish
7434
7442
  };
7435
7443
  };
7436
7444
  const MISMATCH_ANIMATION_NAME = "mismatchShake";
7437
- const logger$C = createLogger("MaskedInputText");
7445
+ const logger$D = createLogger("MaskedInputText");
7438
7446
  const MaskedInputText = ({
7439
7447
  value,
7440
7448
  onInput,
@@ -7480,7 +7488,7 @@ const MaskedInputText = ({
7480
7488
  };
7481
7489
  useEffect(() => {
7482
7490
  if (!mask) {
7483
- logger$C.warn("`mask` is undefined. No masking of input will take place.");
7491
+ logger$D.warn("`mask` is undefined. No masking of input will take place.");
7484
7492
  }
7485
7493
  }, [mask]);
7486
7494
  const getMaskResult = useCallback((pureValue) => {
@@ -7505,13 +7513,13 @@ const MaskedInputText = ({
7505
7513
  return;
7506
7514
  }
7507
7515
  if (preserveMismatchingInitialValue) {
7508
- logger$C.warn(`Value received "${value}" does not match mask`, maskResult, `
7516
+ logger$D.warn(`Value received "${value}" does not match mask`, maskResult, `
7509
7517
  Preserving mismatched initial value until user input.`);
7510
7518
  setPreservingMismatchedValue(true);
7511
7519
  return;
7512
7520
  }
7513
7521
  const fallback = displayValueToPure(maskResult.partialDisplayValue);
7514
- logger$C.warn(`Value received "${value}" does not match mask`, maskResult, `
7522
+ logger$D.warn(`Value received "${value}" does not match mask`, maskResult, `
7515
7523
  Falling back to partially valid value "${fallback}"`);
7516
7524
  onInput(fallback);
7517
7525
  }
@@ -11067,7 +11075,7 @@ const accountHolderValidationRules = {
11067
11075
  }
11068
11076
  };
11069
11077
  const accountHolderFields = ["accountHolder"];
11070
- const logger$B = createLogger("AccountHolder");
11078
+ const logger$C = createLogger("AccountHolder");
11071
11079
  function getAvailableAccountHolderOptions(legalEntityType, isChangeOfLegalEntityTypeAllowed, isTrustFlowEnabled, isSoleProprietorshipAllowed, isChangeToMyNameAllowed) {
11072
11080
  switch (legalEntityType) {
11073
11081
  case LegalEntityType.ORGANIZATION: {
@@ -11077,7 +11085,7 @@ function getAvailableAccountHolderOptions(legalEntityType, isChangeOfLegalEntity
11077
11085
  return [...isChangeToMyNameAllowed ? ["myName"] : [], ...isChangeOfLegalEntityTypeAllowed ? ["theCompanyIWorkFor"] : [], ...isTrustFlowEnabled ? ["aTrust"] : [], ...isSoleProprietorshipAllowed ? ["mySoleProprietorName"] : []];
11078
11086
  }
11079
11087
  default:
11080
- logger$B.error(`No available account holder options for legal entity type '${legalEntityType}'`);
11088
+ logger$C.error(`No available account holder options for legal entity type '${legalEntityType}'`);
11081
11089
  return [];
11082
11090
  }
11083
11091
  }
@@ -11314,15 +11322,16 @@ function DocumentGuidance({
11314
11322
  name: item.svgName
11315
11323
  }), jsxs("figcaption", {
11316
11324
  className: "adyen-kyc-document-guidance__description",
11317
- children: [item.valid ? jsx(Svg, {
11318
- type: "icon",
11325
+ children: [item.valid ? jsx(Icon, {
11319
11326
  name: "check",
11320
- className: cx("adyen-kyc-document-guidance__icon", "adyen-kyc-document-guidance__icon--valid")
11321
- }) : jsx(Svg, {
11322
- type: "icon",
11327
+ className: "adyen-kyc-document-guidance__icon"
11328
+ }) : jsx(Icon, {
11323
11329
  name: "cross",
11324
- className: cx("adyen-kyc-document-guidance__icon", "adyen-kyc-document-guidance__icon--invalid")
11325
- }), i18n.get(item.translationKey)]
11330
+ className: "adyen-kyc-document-guidance__icon adyen-kyc-document-guidance__icon--invalid"
11331
+ }), jsx("span", {
11332
+ className: "adyen-kyc-document-guidance__description-text",
11333
+ children: i18n.get(item.translationKey)
11334
+ })]
11326
11335
  })]
11327
11336
  }, item.translationKey))
11328
11337
  })
@@ -11644,7 +11653,7 @@ function Dropzone(props) {
11644
11653
  })]
11645
11654
  });
11646
11655
  }
11647
- const logger$A = createLogger("TextArea");
11656
+ const logger$B = createLogger("TextArea");
11648
11657
  function TextArea(props) {
11649
11658
  const {
11650
11659
  classNameModifiers,
@@ -11665,7 +11674,7 @@ function TextArea(props) {
11665
11674
  } = useI18nContext();
11666
11675
  const [value, setValue] = useState("");
11667
11676
  if (Object.prototype.hasOwnProperty.call(props, "onChange")) {
11668
- logger$A.error("Error: Form fields that rely on InputBase may not have an onChange property");
11677
+ logger$B.error("Error: Form fields that rely on InputBase may not have an onChange property");
11669
11678
  }
11670
11679
  const handleInput = (e) => {
11671
11680
  var _a;
@@ -12110,7 +12119,7 @@ function useIsElementVisible(ref, fallback = true) {
12110
12119
  }, [ref]);
12111
12120
  return isOnScreen;
12112
12121
  }
12113
- const logger$z = createLogger("SearchAddress");
12122
+ const logger$A = createLogger("SearchAddress");
12114
12123
  const SearchAddress = ({
12115
12124
  data,
12116
12125
  legalEntityId,
@@ -12154,7 +12163,7 @@ const SearchAddress = ({
12154
12163
  const response = await handleFindAddress(selectedAddressId);
12155
12164
  autocompleteAddressForm(response);
12156
12165
  } catch (e) {
12157
- logger$z.error(e);
12166
+ logger$A.error(e);
12158
12167
  }
12159
12168
  };
12160
12169
  const onDrilldown = async (selectedAddress) => {
@@ -12166,7 +12175,7 @@ const SearchAddress = ({
12166
12175
  }, legalEntityId);
12167
12176
  setItems((response == null ? void 0 : response.results) || []);
12168
12177
  } catch (e) {
12169
- logger$z.error(e);
12178
+ logger$A.error(e);
12170
12179
  }
12171
12180
  };
12172
12181
  const onChange = (e) => {
@@ -12221,7 +12230,7 @@ const SearchAddress = ({
12221
12230
  setItems([]);
12222
12231
  }
12223
12232
  } catch (e) {
12224
- logger$z.error(e);
12233
+ logger$A.error(e);
12225
12234
  }
12226
12235
  setLoading(false);
12227
12236
  }
@@ -13468,7 +13477,10 @@ function CompanyComponent(props) {
13468
13477
  if (companyCountry != null && companyCountry !== companyCountryPrev) {
13469
13478
  props.onCountryChange(companyCountry);
13470
13479
  }
13471
- this.customNavigationHandler = accountHolder === "myName" ? () => props.onTypeSwitch(LegalEntityType.INDIVIDUAL) : null;
13480
+ this.customNavigationHandler = accountHolder === "myName" ? () => {
13481
+ var _a2;
13482
+ return (_a2 = props.onTypeSwitch) == null ? void 0 : _a2.call(props, LegalEntityType.INDIVIDUAL);
13483
+ } : null;
13472
13484
  };
13473
13485
  return jsxs("div", {
13474
13486
  className: "adyen-kyc-company",
@@ -13993,7 +14005,7 @@ const payoutBaseMapping = {
13993
14005
  "bankAccount.accountIdentification.clearingNumber": "payoutAccountDetails.branchCode",
13994
14006
  "bankAccount.accountIdentification.bic": "payoutAccountDetails.swiftCode",
13995
14007
  "bankAccount.accountIdentification.sortCode": "payoutAccountDetails.branchCode",
13996
- "bankAccount.accountIdentification.routingNumber": "payoutAccountDetails.branchCode"
14008
+ "bankAccount.accountIdentification.routingNumber": "payoutAccountDetails.routingNumber"
13997
14009
  };
13998
14010
  const businessDetailsBaseMapping = {
13999
14011
  "basicInformation.country": "organization.registeredAddress.country",
@@ -15051,7 +15063,7 @@ const useIdVerificationToken = ({
15051
15063
  loadingStatus
15052
15064
  };
15053
15065
  };
15054
- const styles$2 = {
15066
+ const styles$3 = {
15055
15067
  "adyen-kyc-loading-input__form": "adyen-kyc-loading-input__form",
15056
15068
  "adyen-kyc-loading-input__form--loading-opacity0": "adyen-kyc-loading-input__form--loading-opacity0",
15057
15069
  "adyen-kyc-loading-input__form--loading-opacity0-1": "adyen-kyc-loading-input__form--loading-opacity0-1",
@@ -15079,12 +15091,12 @@ const LoaderWrapper = ({
15079
15091
  const digit = formOpacityStrArr[0];
15080
15092
  const decimal = formOpacityStrArr[1];
15081
15093
  const opacity = decimal ? `${digit}-${decimal}` : `${digit}`;
15082
- const wrapperClass = cx("adyen-kyc-loading-input__form", styles$2["adyen-kyc-loading-input__form"], {
15083
- [styles$2[`adyen-kyc-loading-input__form--loading-opacity${opacity}`]]: status === "loading"
15094
+ const wrapperClass = cx("adyen-kyc-loading-input__form", styles$3["adyen-kyc-loading-input__form"], {
15095
+ [styles$3[`adyen-kyc-loading-input__form--loading-opacity${opacity}`]]: status === "loading"
15084
15096
  });
15085
15097
  const loaderWrapperClass = cx({
15086
- [styles$2["adyen-kyc-loading-input__loader"]]: true,
15087
- [styles$2["adyen-kyc-loading-input__loader--active"]]: status === "loading" && showSpinner
15098
+ [styles$3["adyen-kyc-loading-input__loader"]]: true,
15099
+ [styles$3["adyen-kyc-loading-input__loader--active"]]: status === "loading" && showSpinner
15088
15100
  });
15089
15101
  const overlayClass = cx("adyen-kyc-loading-input", className);
15090
15102
  return jsxs("div", {
@@ -15153,7 +15165,7 @@ const initOnfido = async ({
15153
15165
  language: getOnfidoLocaleConfig(i18n)
15154
15166
  });
15155
15167
  };
15156
- const logger$y = createLogger("IdVerificationComponent");
15168
+ const logger$z = createLogger("IdVerificationComponent");
15157
15169
  function IdVerificationComponent({
15158
15170
  userDetails,
15159
15171
  legalEntityId,
@@ -15190,7 +15202,7 @@ function IdVerificationComponent({
15190
15202
  onIdVerificationError,
15191
15203
  onIdVerificationComplete
15192
15204
  });
15193
- })().catch(logger$y.error);
15205
+ })().catch(logger$z.error);
15194
15206
  return () => {
15195
15207
  if (onfidoSdk.current) onfidoSdk.current.tearDown();
15196
15208
  };
@@ -15240,7 +15252,7 @@ function IdDocumentAlreadyUpload(props) {
15240
15252
  })]
15241
15253
  });
15242
15254
  }
15243
- const logger$x = createLogger("IdDocumentInstantVerificationComponent");
15255
+ const logger$y = createLogger("IdDocumentInstantVerificationComponent");
15244
15256
  const idVerificationSchema = ["instantIdVerificationData", "idDocumentType"];
15245
15257
  const documentTypeValidationRules = {
15246
15258
  instantIdVerificationData: {
@@ -15322,7 +15334,7 @@ function IdDocumentInstantVerificationComponent(props) {
15322
15334
  userDetails: props.userDetails,
15323
15335
  legalEntityId: props.legalEntityId,
15324
15336
  onIdVerificationComplete: handleIdVerificationComplete,
15325
- onIdVerificationError: logger$x.error
15337
+ onIdVerificationError: logger$y.error
15326
15338
  }), jsxs("div", {
15327
15339
  className: "adyen-kyc-document-upload__manual-upload",
15328
15340
  children: [i18n.get("canNotCompleteInstantVerification"), " ", jsx("button", {
@@ -15747,7 +15759,7 @@ const phoneFormatters = {
15747
15759
  };
15748
15760
  const phoneFields = ["phoneNumber"];
15749
15761
  const DEFAULT_PHONE_PREFIX = "+1";
15750
- const logger$w = createLogger("PhoneInput");
15762
+ const logger$x = createLogger("PhoneInput");
15751
15763
  const usePhonePrefixes = () => {
15752
15764
  const [phonePrefixes, setPhonePrefixes] = useState();
15753
15765
  useEffect(() => {
@@ -15755,7 +15767,7 @@ const usePhonePrefixes = () => {
15755
15767
  const loaded = (await import("./phonePrefixes-zV4hciyK.js")).default;
15756
15768
  setPhonePrefixes(loaded);
15757
15769
  };
15758
- loadPhonePrefixes().catch(logger$w.error);
15770
+ loadPhonePrefixes().catch(logger$x.error);
15759
15771
  }, []);
15760
15772
  return phonePrefixes;
15761
15773
  };
@@ -16599,7 +16611,7 @@ const handleKeys = (keys, callback, propagationMode = "stopIfMatches") => (event
16599
16611
  callback();
16600
16612
  }
16601
16613
  };
16602
- const styles$1 = {
16614
+ const styles$2 = {
16603
16615
  "adyen-kyc-multi-select-list": "adyen-kyc-multi-select-list",
16604
16616
  "adyen-kyc-multi-select-list-item": "adyen-kyc-multi-select-list-item",
16605
16617
  "adyen-kyc-multi-select-list-item--with-description": "adyen-kyc-multi-select-list-item--with-description",
@@ -16611,7 +16623,7 @@ const MultiSelectList = ({
16611
16623
  onSelect,
16612
16624
  mapToSelectItem
16613
16625
  }) => jsx("ul", {
16614
- className: styles$1["adyen-kyc-multi-select-list"],
16626
+ className: styles$2["adyen-kyc-multi-select-list"],
16615
16627
  children: options.map((option) => {
16616
16628
  const item = mapToSelectItem(option);
16617
16629
  const isSelected = selected.includes(option);
@@ -16625,8 +16637,8 @@ const MultiSelectList = ({
16625
16637
  onKeyDown: handleKeys(["Enter", " "], handleSelect),
16626
16638
  onSelect: handleSelect,
16627
16639
  isMulti: true,
16628
- className: cx([styles$1["adyen-kyc-multi-select-list-item"], {
16629
- [styles$1["adyen-kyc-multi-select-list-item--with-description"]]: !!item.description
16640
+ className: cx([styles$2["adyen-kyc-multi-select-list-item"], {
16641
+ [styles$2["adyen-kyc-multi-select-list-item--with-description"]]: !!item.description
16630
16642
  }])
16631
16643
  }, item.id);
16632
16644
  })
@@ -16763,7 +16775,7 @@ const nameValidationRulesV4 = {
16763
16775
  errorMessage: "nameMustContainLetters"
16764
16776
  }, {
16765
16777
  modes: ["blur"],
16766
- validate: (input) => !matchesRegex(EMOJI_REGEX, input) && !hasRepeatedCharacters(input) && isValidMinLength(input, 2) && !isInvalidName(input) && matchesRegex(INDIVIDUAL_VALID_CHAR_REGEX, input),
16778
+ validate: (input) => !matchesRegex(EMOJI_REGEX, input) && !hasRepeatedCharacters(input) && !isInvalidName(input) && matchesRegex(INDIVIDUAL_VALID_CHAR_REGEX, input),
16767
16779
  errorMessage: "checkForTypos"
16768
16780
  }],
16769
16781
  lastName: [{
@@ -16776,7 +16788,7 @@ const nameValidationRulesV4 = {
16776
16788
  errorMessage: "nameMustContainLetters"
16777
16789
  }, {
16778
16790
  modes: ["blur"],
16779
- validate: (input) => !matchesRegex(EMOJI_REGEX, input) && !hasRepeatedCharacters(input) && isValidMinLength(input, 1) && !isInvalidName(input) && matchesRegex(INDIVIDUAL_VALID_CHAR_REGEX, input),
16791
+ validate: (input) => !matchesRegex(EMOJI_REGEX, input) && !hasRepeatedCharacters(input) && !isInvalidName(input) && matchesRegex(INDIVIDUAL_VALID_CHAR_REGEX, input),
16780
16792
  errorMessage: "checkForTypos"
16781
16793
  }]
16782
16794
  };
@@ -18196,7 +18208,10 @@ function IndividualComponent(props) {
18196
18208
  setIdVerificationMethodSelected(idVerificationMethod);
18197
18209
  }
18198
18210
  const accountHolder = (_j = (_i = currentState.data) == null ? void 0 : _i.personalDetails) == null ? void 0 : _j.accountHolder;
18199
- this.customNavigationHandler = accountHolder === "theCompanyIWorkFor" ? () => props.onTypeSwitch(LegalEntityType.ORGANIZATION) : null;
18211
+ this.customNavigationHandler = accountHolder === "theCompanyIWorkFor" ? () => {
18212
+ var _a3;
18213
+ return (_a3 = props.onTypeSwitch) == null ? void 0 : _a3.call(props, LegalEntityType.ORGANIZATION);
18214
+ } : null;
18200
18215
  setData(currentState.data);
18201
18216
  };
18202
18217
  useEffect(() => {
@@ -19031,7 +19046,7 @@ class AdyenKycSdkError extends Error {
19031
19046
  }
19032
19047
  let sdkToken;
19033
19048
  let fetchSdkToken;
19034
- const logger$v = createLogger("Session");
19049
+ const logger$w = createLogger("Session");
19035
19050
  const setSdkToken = (token) => {
19036
19051
  sdkToken = token;
19037
19052
  };
@@ -19054,7 +19069,7 @@ const refreshSession = async () => {
19054
19069
  setSdkToken(token);
19055
19070
  isSessionRefreshed = true;
19056
19071
  } catch (e) {
19057
- logger$v.error("Failed to fetch sdk token", e);
19072
+ logger$w.error("Failed to fetch sdk token", e);
19058
19073
  }
19059
19074
  return isSessionRefreshed;
19060
19075
  };
@@ -19064,7 +19079,7 @@ const addAnimationStartListener = (element, listener) => {
19064
19079
  const removeAnimationStartListener = (element, listener) => {
19065
19080
  element.removeEventListener("animationstart", listener, false);
19066
19081
  };
19067
- const logger$u = createLogger("Fetch");
19082
+ const logger$v = createLogger("Fetch");
19068
19083
  const getRequestObject = (options, data) => {
19069
19084
  const {
19070
19085
  headers = [],
@@ -19111,10 +19126,10 @@ const logFetchError = (message, level) => {
19111
19126
  case "info":
19112
19127
  case "warn":
19113
19128
  case "error":
19114
- logger$u[level](message);
19129
+ logger$v[level](message);
19115
19130
  break;
19116
19131
  default:
19117
- logger$u.error(message);
19132
+ logger$v.error(message);
19118
19133
  }
19119
19134
  };
19120
19135
  const handleFetchResponse = async (response, responseType) => {
@@ -19212,7 +19227,7 @@ const RELEVANT_MESSAGE_TYPES = ["account_verification_report_id", "error"];
19212
19227
  const TERMINAL_DATA_PROPS = ["accounts", "error", "reference"];
19213
19228
  const MOUNT_TIMEOUT = 10 * 1e3;
19214
19229
  const TINK_VENDOR = "Tink";
19215
- const logger$t = createLogger("iframeWidget");
19230
+ const logger$u = createLogger("iframeWidget");
19216
19231
  const isObjectData = (data) => typeof data === "object" && !Array.isArray(data) && data !== null;
19217
19232
  const isTerminalMessageData = (data) => isObjectData(data) && Object.entries(data).some(([prop]) => TERMINAL_DATA_PROPS.includes(prop));
19218
19233
  const parseMessageJson = (message) => {
@@ -19230,7 +19245,7 @@ const callbackErrorHandler = async (response) => {
19230
19245
  try {
19231
19246
  await response;
19232
19247
  } catch (ex) {
19233
- logger$t.error(ex);
19248
+ logger$u.error(ex);
19234
19249
  }
19235
19250
  return {
19236
19251
  error: "UNKNOWN_ERROR",
@@ -19333,7 +19348,7 @@ class IFrameWidget {
19333
19348
  message = responseData.errorMessage;
19334
19349
  }
19335
19350
  } catch (ex) {
19336
- logger$t.error(ex);
19351
+ logger$u.error(ex);
19337
19352
  }
19338
19353
  throw new AdyenKycSdkError(reason, jsonData.error);
19339
19354
  }
@@ -19524,7 +19539,7 @@ function BankVerificationWidget({
19524
19539
  ref: widgetContainerRef
19525
19540
  });
19526
19541
  }
19527
- const logger$s = createLogger("BankVerification");
19542
+ const logger$t = createLogger("BankVerification");
19528
19543
  const accountVerificationFields = ["verifiedAccountHolder", "verifiedBankCountry", "verifiedBankName", "verifiedCurrencyCode", "verifiedBankAccountNumber"];
19529
19544
  const InstantVerificationErrorContext = createContext(null);
19530
19545
  const useInstantVerificationErrorNotification = (notificationVisibilityDuration) => {
@@ -19556,7 +19571,7 @@ const usePreferredVendorForCountry = (country, getBankVerificationVendors) => {
19556
19571
  const vendor = vendors[0];
19557
19572
  setPreferredVendor(vendor.name ? vendor : void 0);
19558
19573
  };
19559
- getPreferredVendor().catch(logger$s.error);
19574
+ getPreferredVendor().catch(logger$t.error);
19560
19575
  }, [country, getBankVerificationVendors]);
19561
19576
  return preferredVendor;
19562
19577
  };
@@ -23282,7 +23297,8 @@ const useFormComposer = ({
23282
23297
  const [hasAlreadyNavigatedForm, setHasAlreadyNavigatedForm] = useState(false);
23283
23298
  const getFormIndex = (formId) => forms2.findIndex((form) => form.formId === formId);
23284
23299
  const currentStep = getFormIndex(activeForm.formId);
23285
- const isFinalStep = currentStep === forms2.length - 1;
23300
+ const totalSteps = forms2.length;
23301
+ const isFinalStep = currentStep === totalSteps - 1;
23286
23302
  const isFirstStep = currentStep === 0;
23287
23303
  const [hideHomeButton, setHideHomeButton] = useState(false);
23288
23304
  const [hideBackButton, setHideBackButton] = useState(false);
@@ -23383,7 +23399,8 @@ const useFormComposer = ({
23383
23399
  activeForm,
23384
23400
  shouldValidate,
23385
23401
  setShouldValidate,
23386
- currentStep
23402
+ currentStep,
23403
+ totalSteps
23387
23404
  };
23388
23405
  };
23389
23406
  const obscuredPayoutFields = ["bankAccountNumber", "iban"];
@@ -23446,7 +23463,7 @@ const useUnifyLoadingStatus = (setParentLoadingStatus, ...childLoadingStatuses)
23446
23463
  setParentLoadingStatus(loadingStatus);
23447
23464
  }, [...childLoadingStatuses]);
23448
23465
  };
23449
- const logger$r = createLogger("useScenarioConfiguration");
23466
+ const logger$s = createLogger("useScenarioConfiguration");
23450
23467
  const useScenarioConfiguration = ({
23451
23468
  getConfigurationData,
23452
23469
  getPayoutAccountFormatData,
@@ -23472,12 +23489,12 @@ const useScenarioConfiguration = ({
23472
23489
  const response = await getConfigurationData();
23473
23490
  setConfigurationResponse(response);
23474
23491
  } catch (err) {
23475
- logger$r.warn("WARNING: Configuration request failed - error:", err);
23492
+ logger$s.warn("WARNING: Configuration request failed - error:", err);
23476
23493
  } finally {
23477
23494
  setConfigurationLoadingStatus("success");
23478
23495
  }
23479
23496
  };
23480
- makeConfigCallAndSave().catch(logger$r.error);
23497
+ makeConfigCallAndSave().catch(logger$s.error);
23481
23498
  }, [getConfigurationData, setConfigurationLoadingStatus]);
23482
23499
  useEffect(() => {
23483
23500
  if (!getPayoutAccountFormatData) return;
@@ -23494,12 +23511,12 @@ const useScenarioConfiguration = ({
23494
23511
  const defaultAccountFormat = defaultPayoutAccountFormat[country] ?? allowedBankAccountFormats[0];
23495
23512
  setAccountFormat(existingBankAccountFormat ?? defaultAccountFormat);
23496
23513
  } catch (err) {
23497
- logger$r.warn("WARNING: Payout format request failed - error:", err);
23514
+ logger$s.warn("WARNING: Payout format request failed - error:", err);
23498
23515
  } finally {
23499
23516
  setpayoutFormatLoadingStatus("success");
23500
23517
  }
23501
23518
  };
23502
- makePayoutFormatCallAndSave().catch(logger$r.error);
23519
+ makePayoutFormatCallAndSave().catch(logger$s.error);
23503
23520
  }, [country, setAccountFormat, getPayoutAccountFormatData, setpayoutFormatLoadingStatus, existingBankAccountFormat]);
23504
23521
  const {
23505
23522
  fieldConfigurations,
@@ -24207,6 +24224,33 @@ const dbaNameFieldMetadata = {
24207
24224
  label: "dbaName",
24208
24225
  validators: [validateNotEmptyOnBlur]
24209
24226
  };
24227
+ const styles$1 = {
24228
+ "adyen-kyc-structured-list": "adyen-kyc-structured-list",
24229
+ "adyen-kyc-structured-list__list-item": "adyen-kyc-structured-list__list-item",
24230
+ "adyen-layout-md": "adyen-layout-md",
24231
+ "adyen-kyc-structured-list__label": "adyen-kyc-structured-list__label",
24232
+ "adyen-kyc-structured-list__value": "adyen-kyc-structured-list__value"
24233
+ };
24234
+ const StructuredList = ({
24235
+ items
24236
+ }) => {
24237
+ const {
24238
+ i18n
24239
+ } = useI18nContext();
24240
+ return jsx("dl", {
24241
+ className: styles$1["adyen-kyc-structured-list"],
24242
+ children: items.map((item) => jsxs("div", {
24243
+ className: styles$1["adyen-kyc-structured-list__list-item"],
24244
+ children: [jsx("dt", {
24245
+ className: styles$1["adyen-kyc-structured-list__label"],
24246
+ children: i18n.get(item.labelKey)
24247
+ }), jsx("dd", {
24248
+ className: styles$1["adyen-kyc-structured-list__value"],
24249
+ children: item.value
24250
+ })]
24251
+ }, item.labelKey))
24252
+ });
24253
+ };
24210
24254
  function VerifiedBusinessCard({
24211
24255
  verifiedBusiness
24212
24256
  }) {
@@ -24216,52 +24260,38 @@ function VerifiedBusinessCard({
24216
24260
  const [expanded, setExpanded] = useState(false);
24217
24261
  const address = (verifiedBusiness == null ? void 0 : verifiedBusiness.street) && (verifiedBusiness == null ? void 0 : verifiedBusiness.city) && (verifiedBusiness == null ? void 0 : verifiedBusiness.state) && (verifiedBusiness == null ? void 0 : verifiedBusiness.zipcode) ? `${verifiedBusiness == null ? void 0 : verifiedBusiness.street} ${verifiedBusiness.city} ${verifiedBusiness.state} ${verifiedBusiness.zipcode}` : verifiedBusiness == null ? void 0 : verifiedBusiness.address;
24218
24262
  const addressLink = (verifiedBusiness == null ? void 0 : verifiedBusiness.address) ? `https://www.google.com/maps/place/${verifiedBusiness == null ? void 0 : verifiedBusiness.address.replaceAll(" ", "+")}` : void 0;
24263
+ const baseItems = useMemo(() => [{
24264
+ labelKey: "legalCompanyName__US",
24265
+ value: verifiedBusiness == null ? void 0 : verifiedBusiness.name
24266
+ }, {
24267
+ labelKey: "registrationNumber__US",
24268
+ value: verifiedBusiness == null ? void 0 : verifiedBusiness.registrationNumber
24269
+ }].filter((item) => !!item.value), [verifiedBusiness == null ? void 0 : verifiedBusiness.name, verifiedBusiness == null ? void 0 : verifiedBusiness.registrationNumber]);
24270
+ const expandedItems = useMemo(() => [{
24271
+ labelKey: "legalForm",
24272
+ value: verifiedBusiness == null ? void 0 : verifiedBusiness.legalForm
24273
+ }, {
24274
+ labelKey: "address",
24275
+ value: jsxs("div", {
24276
+ className: "adyen-kyc-verified-business-card__address",
24277
+ children: [address, addressLink && jsx(Link, {
24278
+ external: true,
24279
+ href: addressLink,
24280
+ children: i18n.get("showOnMap")
24281
+ })]
24282
+ })
24283
+ }].filter((item) => !!item.value), [address, addressLink, i18n, verifiedBusiness == null ? void 0 : verifiedBusiness.legalForm]);
24219
24284
  return jsxs("section", {
24220
24285
  children: [jsx(Typography, {
24221
24286
  el: "h3",
24222
24287
  children: i18n.get("verifiedInformation")
24223
24288
  }), jsxs("div", {
24224
24289
  className: "adyen-kyc-verified-business-card",
24225
- children: [jsxs("ul", {
24226
- children: [jsxs("li", {
24227
- children: [jsx(Typography, {
24228
- className: "adyen-kyc-verified-business-card__data-title ",
24229
- children: i18n.get("legalCompanyName__US")
24230
- }), jsx(Typography, {
24231
- children: verifiedBusiness == null ? void 0 : verifiedBusiness.name
24232
- })]
24233
- }), jsxs("li", {
24234
- children: [jsx(Typography, {
24235
- className: "adyen-kyc-verified-business-card__data-title ",
24236
- children: i18n.get("registrationNumber__US")
24237
- }), jsx(Typography, {
24238
- children: verifiedBusiness == null ? void 0 : verifiedBusiness.registrationNumber
24239
- })]
24240
- })]
24290
+ children: [jsx(StructuredList, {
24291
+ items: baseItems
24241
24292
  }), jsx(Divider, {}), expanded && jsxs(Fragment, {
24242
- children: [((verifiedBusiness == null ? void 0 : verifiedBusiness.legalForm) || address) && jsxs("ul", {
24243
- children: [(verifiedBusiness == null ? void 0 : verifiedBusiness.legalForm) && jsxs("li", {
24244
- children: [jsx(Typography, {
24245
- className: "adyen-kyc-verified-business-card__data-title ",
24246
- children: i18n.get("legalForm")
24247
- }), jsx(Typography, {
24248
- children: verifiedBusiness == null ? void 0 : verifiedBusiness.legalForm
24249
- })]
24250
- }), address && jsxs("li", {
24251
- children: [jsx(Typography, {
24252
- className: "adyen-kyc-verified-business-card__data-title ",
24253
- children: i18n.get("address")
24254
- }), jsx(Typography, {
24255
- children: jsxs("div", {
24256
- className: "adyen-kyc-verified-business-card__address",
24257
- children: [address, addressLink && jsx(Link, {
24258
- external: true,
24259
- href: addressLink,
24260
- children: i18n.get("showOnMap")
24261
- })]
24262
- })
24263
- })]
24264
- })]
24293
+ children: [jsx(StructuredList, {
24294
+ items: expandedItems
24265
24295
  }), jsx(Divider, {})]
24266
24296
  }), jsx("div", {
24267
24297
  className: "adyen-kyc-verified-business-card__button",
@@ -24697,13 +24727,33 @@ function BusinessInformation({
24697
24727
  fetching,
24698
24728
  selectedBusiness
24699
24729
  }) {
24700
- const {
24701
- i18n
24702
- } = useI18nContext();
24703
24730
  const [showLoader, setShowLoader] = useState(false);
24704
24731
  const businessInformationClasses = cx("adyen-kyc-business-information", {
24705
24732
  "adyen-kyc-business-information--fetching": fetching
24706
24733
  });
24734
+ const items = useMemo(() => selectedBusiness ? entriesOf(selectedBusiness).reduce((acc, [key, value]) => {
24735
+ switch (key) {
24736
+ case "legalForm":
24737
+ if (value) acc[0].value = value;
24738
+ break;
24739
+ case "name":
24740
+ if (value) acc[1].value = value;
24741
+ break;
24742
+ case "address":
24743
+ if (value) acc[2].value = value;
24744
+ break;
24745
+ }
24746
+ return acc;
24747
+ }, [{
24748
+ labelKey: "legalForm",
24749
+ value: ""
24750
+ }, {
24751
+ labelKey: "legalCompanyName__US",
24752
+ value: ""
24753
+ }, {
24754
+ labelKey: "address",
24755
+ value: ""
24756
+ }]).filter((item) => !!item.value) : [], [selectedBusiness]);
24707
24757
  const setFetching = () => {
24708
24758
  setTimeout(() => {
24709
24759
  setShowLoader(true);
@@ -24726,36 +24776,8 @@ function BusinessInformation({
24726
24776
  if (!fetching) {
24727
24777
  return jsx("div", {
24728
24778
  className: businessInformationClasses,
24729
- children: jsxs("ul", {
24730
- className: "adyen-kyc-business-information__business-data",
24731
- children: [!!(selectedBusiness == null ? void 0 : selectedBusiness.legalForm) && jsxs("li", {
24732
- name: "legalForm",
24733
- children: [jsx(Typography, {
24734
- className: "adyen-kyc-business-data__key",
24735
- color: "secondary",
24736
- children: i18n.get("legalForm")
24737
- }), jsx(Typography, {
24738
- children: selectedBusiness.legalForm
24739
- })]
24740
- }), !!(selectedBusiness == null ? void 0 : selectedBusiness.name) && jsxs("li", {
24741
- name: "name",
24742
- children: [jsx(Typography, {
24743
- className: "adyen-kyc-business-data__key",
24744
- color: "secondary",
24745
- children: i18n.get("legalCompanyName__US")
24746
- }), jsx(Typography, {
24747
- children: selectedBusiness.name
24748
- })]
24749
- }), !!(selectedBusiness == null ? void 0 : selectedBusiness.address) && jsxs("li", {
24750
- name: "address",
24751
- children: [jsx(Typography, {
24752
- className: "adyen-kyc-business-data__key",
24753
- color: "secondary",
24754
- children: i18n.get("address")
24755
- }), jsx(Typography, {
24756
- children: selectedBusiness.address
24757
- })]
24758
- })]
24779
+ children: jsx(StructuredList, {
24780
+ items
24759
24781
  })
24760
24782
  });
24761
24783
  }
@@ -24768,6 +24790,7 @@ function BusinessInformationCard({
24768
24790
  fetching,
24769
24791
  failedToLoad,
24770
24792
  invalidTin,
24793
+ resetTinVerification,
24771
24794
  setIsBusinessSelection,
24772
24795
  handleSelectBusiness,
24773
24796
  handleConfirmSelection
@@ -24780,6 +24803,10 @@ function BusinessInformationCard({
24780
24803
  if (failedToLoad && selectedBusinessId === searchResult.id) return;
24781
24804
  return handleSelectBusiness(searchResult);
24782
24805
  };
24806
+ const handleGoBack = () => {
24807
+ setIsBusinessSelection(false);
24808
+ resetTinVerification();
24809
+ };
24783
24810
  return jsx(Card, {
24784
24811
  "aria-selected": selectedBusinessId === result.id,
24785
24812
  className: "adyen-kyc-business-information-card",
@@ -24804,7 +24831,7 @@ function BusinessInformationCard({
24804
24831
  actions: jsx(Button, {
24805
24832
  label: "Go back",
24806
24833
  testId: "backBtn",
24807
- onClick: () => setIsBusinessSelection(false),
24834
+ onClick: handleGoBack,
24808
24835
  showAsLink: true
24809
24836
  }),
24810
24837
  testId: "invalidTin"
@@ -24826,7 +24853,7 @@ function BusinessInformationCard({
24826
24853
  })
24827
24854
  });
24828
24855
  }
24829
- const logger$q = createLogger("BusinessSelection");
24856
+ const logger$r = createLogger("BusinessSelection");
24830
24857
  function BusinessSelectionComponent({
24831
24858
  showCompanyStructure,
24832
24859
  isSearching,
@@ -24837,6 +24864,7 @@ function BusinessSelectionComponent({
24837
24864
  invalidTin,
24838
24865
  fetchBusinessData,
24839
24866
  verifyBusinessData,
24867
+ resetTinVerification,
24840
24868
  proceedToManualDataEntry,
24841
24869
  handleNextClick,
24842
24870
  setIsBusinessSelection,
@@ -24869,7 +24897,7 @@ function BusinessSelectionComponent({
24869
24897
  setCurrentBusinessSelection(businessData);
24870
24898
  }
24871
24899
  } catch (e) {
24872
- logger$q.error(e);
24900
+ logger$r.error(e);
24873
24901
  }
24874
24902
  }, [fetchBusinessData, isFetching, selectedBusinessId]);
24875
24903
  const handleConfirmSelection = useCallback(async (data) => {
@@ -24880,7 +24908,7 @@ function BusinessSelectionComponent({
24880
24908
  handleNextClick == null ? void 0 : handleNextClick();
24881
24909
  }
24882
24910
  } catch (e) {
24883
- logger$q.error(e);
24911
+ logger$r.error(e);
24884
24912
  }
24885
24913
  }, [currentTin, handleNextClick, handleBusinessVerification]);
24886
24914
  const showLoader = isSearching === "loading" || isVerifying === "loading" || isClearingTrustedData === "loading" || isFetching === "loading" && (searchResults == null ? void 0 : searchResults.length) === 1;
@@ -24911,6 +24939,7 @@ function BusinessSelectionComponent({
24911
24939
  fetching: isFetching === "loading",
24912
24940
  failedToLoad: isFetching === "error",
24913
24941
  invalidTin,
24942
+ resetTinVerification,
24914
24943
  handleSelectBusiness,
24915
24944
  handleConfirmSelection,
24916
24945
  setIsBusinessSelection
@@ -25042,7 +25071,8 @@ function BasicInformationComponent({
25042
25071
  proceedToManualDataEntry,
25043
25072
  handleNextClick,
25044
25073
  setShowBusinessSelection,
25045
- setShowCompanyStructure
25074
+ setShowCompanyStructure,
25075
+ resetTinVerification
25046
25076
  }) {
25047
25077
  var _a, _b, _c, _d, _e;
25048
25078
  const {
@@ -25165,7 +25195,8 @@ function BasicInformationComponent({
25165
25195
  proceedToManualDataEntry,
25166
25196
  handleNextClick,
25167
25197
  setIsBusinessSelection: setShowBusinessSelection,
25168
- setShowCompanyStructure
25198
+ setShowCompanyStructure,
25199
+ resetTinVerification
25169
25200
  });
25170
25201
  }
25171
25202
  return jsxs("form", {
@@ -25765,6 +25796,7 @@ function BusinessDetailsComponent(props) {
25765
25796
  searchResults,
25766
25797
  invalidTin,
25767
25798
  verifiedBusiness,
25799
+ resetTinVerification,
25768
25800
  handleNextClick,
25769
25801
  handleAddressSearch,
25770
25802
  handleFindAddress,
@@ -25813,7 +25845,8 @@ function BusinessDetailsComponent(props) {
25813
25845
  verifiedBusiness,
25814
25846
  setShowBusinessSelection,
25815
25847
  setShowCompanyStructure,
25816
- handleNextClick
25848
+ handleNextClick,
25849
+ resetTinVerification
25817
25850
  })
25818
25851
  }), jsx("div", {
25819
25852
  className: formWrapperClasses(forms2.companyStructure.formId),
@@ -26076,68 +26109,60 @@ const ExpiredBanner = () => {
26076
26109
  children: i18n.get("startANewSessionFromTheSamePlaceYouOriginallyAccessed")
26077
26110
  });
26078
26111
  };
26079
- const Modal$1 = ({
26080
- content,
26081
- footer,
26112
+ const Modal = ({
26082
26113
  header,
26083
- classNames,
26114
+ children,
26115
+ footer,
26084
26116
  size = "medium",
26085
- title,
26086
- isDismissible = true,
26087
- onClose = noop,
26088
- role = "dialog"
26117
+ onBack,
26118
+ onClose
26089
26119
  }) => {
26090
- const {
26091
- i18n
26092
- } = useI18nContext();
26093
- const closeModal = useCallback(() => {
26094
- if (isDismissible) {
26095
- onClose();
26096
- }
26097
- }, [isDismissible, onClose]);
26098
- useEffect(() => {
26099
- const handleEscapeKey = ({
26100
- code
26101
- }) => {
26102
- if (isDismissible && code === "Escape") {
26103
- closeModal();
26104
- }
26105
- };
26106
- document.documentElement.classList.add("u-overflow-hidden");
26107
- document.addEventListener("keydown", handleEscapeKey);
26108
- return () => {
26109
- document.documentElement.classList.remove("u-overflow-hidden");
26110
- document.removeEventListener("keydown", handleEscapeKey);
26111
- };
26112
- }, [closeModal, isDismissible]);
26113
- return jsx("div", {
26114
- className: cx("adyen-kyc-overlay", "adyen-kyc-overlay--visible"),
26115
- role: "none",
26120
+ const modalRef = useRef(null);
26121
+ useLayoutEffect(() => {
26122
+ const modalElement = modalRef.current;
26123
+ if (!modalElement) return;
26124
+ modalElement.showModal();
26125
+ modalElement.focus();
26126
+ modalElement.blur();
26127
+ return () => modalElement.close();
26128
+ }, []);
26129
+ return jsx("dialog", {
26130
+ ref: modalRef,
26131
+ className: cx("adyen-kyc-modal", {
26132
+ "adyen-kyc-modal--small": size === "small",
26133
+ "adyen-kyc-modal--large": size === "large",
26134
+ "adyen-kyc-modal--fullscreen": size === "fullscreen",
26135
+ "adyen-kyc-modal--with-backButton": onBack
26136
+ }),
26137
+ onClose,
26116
26138
  children: jsxs("div", {
26117
- className: cx(classNames == null ? void 0 : classNames.modal, "adyen-kyc-modal", {
26118
- "adyen-kyc-modal--small": size === "small",
26119
- "adyen-kyc-modal--large": size === "large"
26120
- }),
26121
- "aria-labelledby": title,
26122
- "aria-modal": "true",
26123
- role,
26124
- children: [isDismissible && jsx(Button, {
26125
- title: i18n.get("close"),
26126
- "aria-label": i18n.get("close"),
26127
- type: "button",
26128
- icon: "cross",
26129
- tertiary: true,
26130
- className: "adyen-kyc-modal__close",
26131
- onClick: () => onClose()
26132
- }), header && jsx("div", {
26133
- className: cx(classNames == null ? void 0 : classNames.header, "adyen-kyc-modal__header"),
26139
+ className: "adyen-kyc-modal__wrapper",
26140
+ children: [header && jsx("header", {
26141
+ className: "adyen-kyc-modal__header",
26134
26142
  children: header
26135
- }), content && jsx("div", {
26136
- className: cx(classNames == null ? void 0 : classNames.content, "adyen-kyc-modal__content"),
26137
- children: content
26138
- }), footer && jsx("div", {
26139
- className: cx(classNames == null ? void 0 : classNames.footer, "adyen-kyc-modal__footer"),
26140
- children: footer
26143
+ }), jsx("section", {
26144
+ className: "adyen-kyc-modal__content",
26145
+ children
26146
+ }), jsx("div", {
26147
+ children: footer && jsx("footer", {
26148
+ className: "adyen-kyc-modal__footer",
26149
+ children: footer
26150
+ })
26151
+ }), jsxs("section", {
26152
+ className: "adyen-kyc-modal-top-bar",
26153
+ children: [onBack ? jsx(Button, {
26154
+ tertiary: true,
26155
+ "aria-label": "back",
26156
+ icon: "arrow-left",
26157
+ onClick: onBack,
26158
+ shaded: true
26159
+ }) : jsx("div", {}), jsx(Button, {
26160
+ tertiary: true,
26161
+ "aria-label": "close",
26162
+ icon: "cross",
26163
+ onClick: onClose,
26164
+ shaded: true
26165
+ })]
26141
26166
  })]
26142
26167
  })
26143
26168
  });
@@ -26208,24 +26233,29 @@ const ExpiryModal = ({
26208
26233
  leftoverSeconds
26209
26234
  } = getDurationInMinutesAndSeconds(secondsUntilExpiry);
26210
26235
  const hasExpired = secondsUntilExpiry <= 0;
26211
- return jsx(Modal$1, {
26236
+ return jsx(Modal, {
26212
26237
  size: "small",
26213
- header: i18n.get("sessionTimeout"),
26214
- content: hasExpired ? i18n.get("toProtectYourInformationThisSessionHasExpired") : i18n.get({
26215
- key: "thisSessionWillExpireIn",
26216
- values: {
26217
- timeUntilExpiry: formatMinutesAndSeconds(minutes, leftoverSeconds, i18n)
26218
- }
26238
+ onClose: onContinue,
26239
+ header: jsx(Typography, {
26240
+ variant: "title",
26241
+ children: i18n.get("sessionTimeout")
26219
26242
  }),
26220
- footer: jsx(Button, {
26221
- label: hasExpired ? i18n.get("close") : i18n.get("continue"),
26222
- onClick: () => onContinue()
26243
+ footer: jsx("div", {
26244
+ className: "adyen-kyc-expiry-modal__footer",
26245
+ children: jsx(Button, {
26246
+ label: hasExpired ? i18n.get("close") : i18n.get("continue"),
26247
+ onClick: () => onContinue()
26248
+ })
26223
26249
  }),
26224
- classNames: {
26225
- header: "adyen-kyc-expiry-modal__header",
26226
- footer: "adyen-kyc-expiry-modal__footer"
26227
- },
26228
- onClose: onContinue
26250
+ children: jsx(Typography, {
26251
+ variant: "body",
26252
+ children: hasExpired ? i18n.get("toProtectYourInformationThisSessionHasExpired") : i18n.get({
26253
+ key: "thisSessionWillExpireIn",
26254
+ values: {
26255
+ timeUntilExpiry: formatMinutesAndSeconds(minutes, leftoverSeconds, i18n)
26256
+ }
26257
+ })
26258
+ })
26229
26259
  });
26230
26260
  };
26231
26261
  const ALMOST_EXPIRED_THRESHOLD = 2 * 60 * 1e3;
@@ -26281,7 +26311,7 @@ const useExpiryThreshold = (expiry) => {
26281
26311
  };
26282
26312
  };
26283
26313
  const ExpiryContext = createContext(false);
26284
- const logger$p = createLogger("ExpiryProvider");
26314
+ const logger$q = createLogger("ExpiryProvider");
26285
26315
  const ExpiryProvider = ({
26286
26316
  expiry: initialExpiry,
26287
26317
  eventEmitter,
@@ -26315,7 +26345,7 @@ const ExpiryProvider = ({
26315
26345
  refreshExpiry().then((newExpiry) => {
26316
26346
  setExpiry(newExpiry);
26317
26347
  setModalDismissed(false);
26318
- }).catch(logger$p.error);
26348
+ }).catch(logger$q.error);
26319
26349
  }
26320
26350
  }), children]
26321
26351
  });
@@ -26335,7 +26365,7 @@ const ExpiryProvider = ({
26335
26365
  });
26336
26366
  };
26337
26367
  const useHasExpired = () => useContext(ExpiryContext);
26338
- const logger$o = createLogger("FormRouterContextProvider");
26368
+ const logger$p = createLogger("FormRouterContextProvider");
26339
26369
  function FormRouterContextProvider({
26340
26370
  children,
26341
26371
  forms: forms2,
@@ -26355,7 +26385,7 @@ function FormRouterContextProvider({
26355
26385
  if (formIndex > -1) {
26356
26386
  setFormIndex(formIndex);
26357
26387
  } else {
26358
- logger$o.error("No form was found to have that field so form navigation failed.");
26388
+ logger$p.error("No form was found to have that field so form navigation failed.");
26359
26389
  }
26360
26390
  }
26361
26391
  }), [forms2, handleGetIdVerificationToken, setFormIndex]);
@@ -26371,7 +26401,7 @@ const StepProgressIndicator = ({
26371
26401
  fillBefore,
26372
26402
  thick
26373
26403
  }) => stepsCount > 0 ? jsx("div", {
26374
- "aria-label": `Step ${activeStepIndex + 1} of ${stepsCount}`,
26404
+ "aria-label": `Step ${activeStepIndex} of ${stepsCount}`,
26375
26405
  className: "adyen-kyc-progress",
26376
26406
  role: "group",
26377
26407
  children: jsx("ol", {
@@ -26387,70 +26417,12 @@ const StepProgressIndicator = ({
26387
26417
  }),
26388
26418
  children: jsx("span", {
26389
26419
  className: "adyen-kyc-progress__step-label",
26390
- children: `Step ${stepNumber + 1}: ${stepNumber < activeStepIndex ? "completed" : "not completed"}`
26420
+ children: `Step ${stepNumber}: ${stepNumber < activeStepIndex ? "completed" : "not completed"}`
26391
26421
  })
26392
26422
  }, stepNumber);
26393
26423
  })
26394
26424
  })
26395
26425
  }) : null;
26396
- const Modal = ({
26397
- title,
26398
- children,
26399
- footer,
26400
- fullscreen = false,
26401
- onBack,
26402
- onClose
26403
- }) => {
26404
- const modalRef = useRef(null);
26405
- useLayoutEffect(() => {
26406
- const modalElement = modalRef.current;
26407
- if (!modalElement) return;
26408
- modalElement.showModal();
26409
- modalElement.focus();
26410
- modalElement.blur();
26411
- return () => modalElement.close();
26412
- }, []);
26413
- return jsx("dialog", {
26414
- ref: modalRef,
26415
- className: cx("adyen-kyc-modal2", {
26416
- "adyen-kyc-modal2__fullscreen": fullscreen
26417
- }),
26418
- onClose,
26419
- children: jsxs("div", {
26420
- className: "adyen-kyc-modal2-wrapper",
26421
- children: [title && jsx("header", {
26422
- children: jsx(Typography, {
26423
- el: "h2",
26424
- variant: "title-l",
26425
- children: title
26426
- })
26427
- }), jsx("section", {
26428
- className: "adyen-kyc-modal2-content",
26429
- children
26430
- }), jsx("div", {
26431
- children: footer && jsx("footer", {
26432
- className: "adyen-kyc-modal2-footer",
26433
- children: footer
26434
- })
26435
- }), jsxs("section", {
26436
- className: "adyen-kyc-modal2-top-bar",
26437
- children: [onBack ? jsx(Button, {
26438
- tertiary: true,
26439
- "aria-label": "back",
26440
- icon: "arrow-left",
26441
- onClick: onBack,
26442
- shaded: true
26443
- }) : jsx("div", {}), jsx(Button, {
26444
- tertiary: true,
26445
- "aria-label": "close",
26446
- icon: "cross",
26447
- onClick: onClose,
26448
- shaded: true
26449
- })]
26450
- })]
26451
- })
26452
- });
26453
- };
26454
26426
  const DropinLayout = ({
26455
26427
  content,
26456
26428
  footer,
@@ -26630,7 +26602,8 @@ const FormWrapper = ({
26630
26602
  canSubmit: canSubmit2,
26631
26603
  onSubmit,
26632
26604
  problems,
26633
- currentStep
26605
+ currentStep,
26606
+ totalSteps
26634
26607
  }) => {
26635
26608
  var _a;
26636
26609
  const {
@@ -26698,7 +26671,7 @@ const FormWrapper = ({
26698
26671
  const embeddedFooter = jsx(EmbeddedActionBar, {
26699
26672
  left: jsx(StepProgressIndicator, {
26700
26673
  activeStepIndex: currentStep ?? 0,
26701
- stepsCount: 3,
26674
+ stepsCount: totalSteps ?? 3,
26702
26675
  fillBefore: true,
26703
26676
  thick: true
26704
26677
  }),
@@ -27290,6 +27263,7 @@ function BusinessDetailsDropinComponent({
27290
27263
  verifyBusinessData,
27291
27264
  clearTrustedBusinessData,
27292
27265
  resetBusinessData,
27266
+ resetTinVerification,
27293
27267
  isSearching,
27294
27268
  isFetching,
27295
27269
  isVerifying,
@@ -27480,6 +27454,7 @@ function BusinessDetailsDropinComponent({
27480
27454
  setShowCompanyStructure,
27481
27455
  searchResults,
27482
27456
  invalidTin,
27457
+ resetTinVerification,
27483
27458
  verifiedBusiness,
27484
27459
  isSearching,
27485
27460
  isFetching,
@@ -27495,42 +27470,6 @@ function BusinessDetailsDropinComponent({
27495
27470
  })
27496
27471
  });
27497
27472
  }
27498
- const getTrustedFieldsByProvider = (provider, trustedFields2) => trustedFields2.find((tf) => tf.provider === provider);
27499
- const parseTrustedFieldsIntoReadOnlyFields = (trustedFields2, mapping) => {
27500
- const formFieldsMapped = [];
27501
- trustedFields2.fields.forEach((field) => {
27502
- for (const [key, value] of Object.entries(mapping)) {
27503
- if (value === field) {
27504
- formFieldsMapped.push(key);
27505
- }
27506
- }
27507
- });
27508
- const readOnlyFields = {};
27509
- formFieldsMapped.forEach((field) => {
27510
- const tokenizedField = field.split(".");
27511
- const formField = tokenizedField.pop();
27512
- const formId = tokenizedField.pop();
27513
- if (formField && formId) {
27514
- if (formId in readOnlyFields) {
27515
- readOnlyFields[formId].push(formField);
27516
- } else {
27517
- readOnlyFields[formId] = [formField];
27518
- }
27519
- }
27520
- });
27521
- return readOnlyFields;
27522
- };
27523
- const trustedFields = ({
27524
- fields,
27525
- trustedFieldsProvider,
27526
- apiMapping
27527
- }) => {
27528
- if (!fields || !trustedFieldsProvider || !apiMapping) {
27529
- return {};
27530
- }
27531
- const trustedFieldsOfProvider = getTrustedFieldsByProvider(trustedFieldsProvider, fields);
27532
- return trustedFieldsOfProvider ? parseTrustedFieldsIntoReadOnlyFields(trustedFieldsOfProvider, apiMapping) : {};
27533
- };
27534
27473
  const parseConfiguration$6 = ({
27535
27474
  country,
27536
27475
  matchingScenario
@@ -27581,7 +27520,7 @@ function CompanyDropinComponent({
27581
27520
  handleHomeClick,
27582
27521
  onTypeSwitch,
27583
27522
  onChange,
27584
- trustedFieldsProvider
27523
+ trustedFields: trustedFields2
27585
27524
  }) {
27586
27525
  var _a, _b, _c, _d, _e;
27587
27526
  const {
@@ -27645,12 +27584,6 @@ function CompanyDropinComponent({
27645
27584
  isSettingEnabled,
27646
27585
  isExperimentEnabled
27647
27586
  }), [country, data, taskType, requiredFields, isSettingEnabled]);
27648
- const legalEntityTrustedFields = legalEntityResponse == null ? void 0 : legalEntityResponse.trustedFields;
27649
- const trustedFieldsOfProvider = useMemo(() => trustedFields({
27650
- fields: legalEntityTrustedFields,
27651
- trustedFieldsProvider,
27652
- apiMapping: companyComponentsKeyMapping
27653
- }), [legalEntityTrustedFields, trustedFieldsProvider]);
27654
27587
  const derivedProps = useMemo(() => ({
27655
27588
  ...getPropsFromConfigurations(fieldConfigurations, companyForms, (problems == null ? void 0 : problems.remediationActions) ? Object.values(problems == null ? void 0 : problems.remediationActions) : [], (problems == null ? void 0 : problems.missingData) ?? [], legalEntityResponse ? getFieldsWithExistingData(legalEntityResponse) : [], fieldsFromCustomRules)
27656
27589
  }), [fieldConfigurations, fieldsFromCustomRules, problems == null ? void 0 : problems.remediationActions]);
@@ -27728,7 +27661,7 @@ function CompanyDropinComponent({
27728
27661
  legalEntityName: dataSubmitted.companyNameAndCountry.legalCompanyName,
27729
27662
  usedAdditionalAddress: dataSubmitted.companyRegistrationAddress.operationalAddressIsSame === operationalAddressIsSameIds.OPERATIONAL_ADDRESS_IS_NOT_SAME
27730
27663
  };
27731
- const newAccountHolder = dataSubmitted.companyType.accountHolder ?? accountHolder;
27664
+ const newAccountHolder = dataSubmitted.companyType.accountHolder || accountHolder;
27732
27665
  legalEntity.entityAssociations = filterOutUnwantedAssociationsIfRootLE(taskType, legalEntityResponse, newAccountHolder);
27733
27666
  if (!isCountryOfGoverningLawEnabled && ((_a2 = legalEntity.organization) == null ? void 0 : _a2.countryOfGoverningLaw)) {
27734
27667
  delete legalEntity.organization.countryOfGoverningLaw;
@@ -27928,7 +27861,7 @@ function CompanyDropinComponent({
27928
27861
  ref: formRef,
27929
27862
  shouldValidate,
27930
27863
  isTopLevelEntity: taskType === TaskTypes.COMPANY,
27931
- readOnlyFields: trustedFieldsOfProvider
27864
+ readOnlyFields: trustedFields2
27932
27865
  })
27933
27866
  });
27934
27867
  }
@@ -28334,6 +28267,12 @@ function CompanyBasics({
28334
28267
  const {
28335
28268
  isSettingEnabled
28336
28269
  } = useSettingsContext();
28270
+ const {
28271
+ isExperimentEnabled
28272
+ } = useExperimentsContext();
28273
+ const isStrictNameAndAddressValidationEnabled = isExperimentEnabled(ExperimentNames.StrictNameAndAddressValidationV4);
28274
+ const LegalCompanyNameDefaultFieldConfig = isStrictNameAndAddressValidationEnabled ? defaultFieldConfigV4 : defaultFieldConfig$a;
28275
+ const LegalCompanyNameDefaultFieldMetadata = isStrictNameAndAddressValidationEnabled ? defaultFieldMetadataV4 : defaultFieldMetadata$a;
28337
28276
  const {
28338
28277
  updateStateSlice
28339
28278
  } = useGlobalDataSlice(COMPANY_BASICS_FORM_ID);
@@ -28359,9 +28298,9 @@ function CompanyBasics({
28359
28298
  return (_a2 = initialFormUtilsProps.allFields) == null ? void 0 : _a2.reduce((acc, field) => {
28360
28299
  switch (field) {
28361
28300
  case "legalCompanyName":
28362
- return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(defaultFieldConfig$a[country], {
28301
+ return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(LegalCompanyNameDefaultFieldConfig[country], {
28363
28302
  isBusiness: false
28364
- }, defaultFieldMetadata$a), acc);
28303
+ }, LegalCompanyNameDefaultFieldMetadata), acc);
28365
28304
  case "country":
28366
28305
  return {
28367
28306
  ...acc,
@@ -28923,7 +28862,7 @@ const formatDataForSummary = (data, forms2, labels2, i18n) => {
28923
28862
  }
28924
28863
  }, {});
28925
28864
  };
28926
- const logger$n = createLogger("useFormTaskSubmit");
28865
+ const logger$o = createLogger("useFormTaskSubmit");
28927
28866
  function useCompanySearchTaskSubmit({
28928
28867
  task,
28929
28868
  forms: forms2,
@@ -28966,7 +28905,7 @@ function useCompanySearchTaskSubmit({
28966
28905
  });
28967
28906
  }
28968
28907
  } catch (e) {
28969
- logger$n.error(e);
28908
+ logger$o.error(e);
28970
28909
  userEvents.addEvent(CompanySearchEvents.DOCUMENTS_ERROR, {
28971
28910
  segmentation: {
28972
28911
  ...baseTrackingPayload,
@@ -29018,7 +28957,7 @@ function useCompanySearchTaskSubmit({
29018
28957
  ...trackingPayload
29019
28958
  }
29020
28959
  });
29021
- logger$n.log(submittedLegalEntity);
28960
+ logger$o.log(submittedLegalEntity);
29022
28961
  clearToasts();
29023
28962
  onExternalSubmit == null ? void 0 : onExternalSubmit(data);
29024
28963
  } catch (e) {
@@ -29042,7 +28981,7 @@ function useCompanySearchTaskSubmit({
29042
28981
  type: "error"
29043
28982
  });
29044
28983
  }
29045
- logger$n.error(e);
28984
+ logger$o.error(e);
29046
28985
  userEvents.addEvent(CompanySearchEvents.TASK_ERROR, {
29047
28986
  segmentation: {
29048
28987
  ...baseTrackingPayload,
@@ -29214,7 +29153,8 @@ function CompanySearchDropinComponent({
29214
29153
  handleGetCompanyDataset,
29215
29154
  handleRefreshCompanyDataset,
29216
29155
  handleVerifyTin,
29217
- onTypeSwitch
29156
+ onTypeSwitch,
29157
+ trustedFields: trustedFields2
29218
29158
  }) {
29219
29159
  var _a, _b, _c, _d, _e, _f, _g;
29220
29160
  const {
@@ -29397,13 +29337,14 @@ function CompanySearchDropinComponent({
29397
29337
  handleCompanyDeepSearch,
29398
29338
  handleGetCompanyDataset,
29399
29339
  handleRefreshCompanyDataset,
29400
- handleVerifyTin
29340
+ handleVerifyTin,
29341
+ readOnlyFields: trustedFields2
29401
29342
  })
29402
29343
  });
29403
29344
  }
29404
29345
  const IgnoreLocalStorageContext = createContext(false);
29405
29346
  const useIgnoreLocalStorage = () => useContext(IgnoreLocalStorageContext);
29406
- const logger$m = createLogger("useLocalStorage");
29347
+ const logger$n = createLogger("useLocalStorage");
29407
29348
  const useLocalStorage = (key, defaultValue, options) => {
29408
29349
  const {
29409
29350
  serializer,
@@ -29424,7 +29365,7 @@ const useLocalStorage = (key, defaultValue, options) => {
29424
29365
  const res = rawValueRef.current ? parser(rawValueRef.current) : defaultValue;
29425
29366
  return res;
29426
29367
  } catch (err) {
29427
- logger$m.error(err);
29368
+ logger$n.error(err);
29428
29369
  return defaultValue;
29429
29370
  }
29430
29371
  });
@@ -29455,7 +29396,7 @@ const useLocalStorage = (key, defaultValue, options) => {
29455
29396
  try {
29456
29397
  updateLocalStorage();
29457
29398
  } catch (err) {
29458
- logger$m.error(err);
29399
+ logger$n.error(err);
29459
29400
  }
29460
29401
  }, [value, ignoreLocalStorage]);
29461
29402
  useEffect(() => {
@@ -29468,7 +29409,7 @@ const useLocalStorage = (key, defaultValue, options) => {
29468
29409
  setValue(event.newValue ? parser(event.newValue) : void 0);
29469
29410
  }
29470
29411
  } catch (err) {
29471
- logger$m.error(err);
29412
+ logger$n.error(err);
29472
29413
  }
29473
29414
  };
29474
29415
  if (ignoreLocalStorage) return;
@@ -29497,6 +29438,42 @@ const useHasSeenSingpassSelection = ({
29497
29438
  setHasSeenSingpassSelection
29498
29439
  };
29499
29440
  };
29441
+ const getTrustedFieldsByProvider = (provider, trustedFields2) => trustedFields2.find((tf) => tf.provider === provider);
29442
+ const parseTrustedFieldsIntoReadOnlyFields = (trustedFields2, mapping) => {
29443
+ const formFieldsMapped = [];
29444
+ trustedFields2.fields.forEach((field) => {
29445
+ for (const [key, value] of Object.entries(mapping)) {
29446
+ if (value === field) {
29447
+ formFieldsMapped.push(key);
29448
+ }
29449
+ }
29450
+ });
29451
+ const readOnlyFields = {};
29452
+ formFieldsMapped.forEach((field) => {
29453
+ const tokenizedField = field.split(".");
29454
+ const formField = tokenizedField.pop();
29455
+ const formId = tokenizedField.pop();
29456
+ if (formField && formId) {
29457
+ if (formId in readOnlyFields) {
29458
+ readOnlyFields[formId].push(formField);
29459
+ } else {
29460
+ readOnlyFields[formId] = [formField];
29461
+ }
29462
+ }
29463
+ });
29464
+ return readOnlyFields;
29465
+ };
29466
+ const trustedFields = ({
29467
+ fields,
29468
+ trustedFieldsProvider,
29469
+ apiMapping
29470
+ }) => {
29471
+ if (!fields || !trustedFieldsProvider || !apiMapping) {
29472
+ return {};
29473
+ }
29474
+ const trustedFieldsOfProvider = getTrustedFieldsByProvider(trustedFieldsProvider, fields);
29475
+ return trustedFieldsOfProvider ? parseTrustedFieldsIntoReadOnlyFields(trustedFieldsOfProvider, apiMapping) : {};
29476
+ };
29500
29477
  const defaultSingpassState = {
29501
29478
  isLoading: false,
29502
29479
  isSuccess: false
@@ -29525,11 +29502,25 @@ const singpassReducer = (state, action) => {
29525
29502
  return state;
29526
29503
  }
29527
29504
  };
29505
+ const getApiMapping = (enableCompanySearchFlow, legalEntity) => {
29506
+ if (!legalEntity) return;
29507
+ const {
29508
+ type
29509
+ } = legalEntity;
29510
+ if (type === LegalEntityType.INDIVIDUAL) {
29511
+ return individualComponentsKeyMapping;
29512
+ }
29513
+ if (type === LegalEntityType.ORGANIZATION) {
29514
+ if (enableCompanySearchFlow) {
29515
+ return companySearchComponentsKeyMapping;
29516
+ }
29517
+ return companyComponentsKeyMapping;
29518
+ }
29519
+ };
29528
29520
  const useSingpassMyInfoLogin = ({
29529
29521
  legalEntity,
29530
29522
  accountHolder,
29531
- handleOpenSingpassAuthorizationLink,
29532
- apiMapping
29523
+ handleOpenSingpassAuthorizationLink
29533
29524
  }) => {
29534
29525
  const [state, dispatch] = useReducer(singpassReducer, defaultSingpassState);
29535
29526
  const {
@@ -29537,6 +29528,8 @@ const useSingpassMyInfoLogin = ({
29537
29528
  } = useExperimentsContext();
29538
29529
  const isSingpassForCompaniesEnabled = isExperimentEnabled("ShowSingPassButtonForCompanies");
29539
29530
  const isSingpassForIndividualsEnabled = isExperimentEnabled("ShowSingPassButtonForIndividuals");
29531
+ const enableCompanySearchFlow = isExperimentEnabled("EnableCompanySearchFlow");
29532
+ const apiMapping = getApiMapping(enableCompanySearchFlow, legalEntity);
29540
29533
  const isEligibleForSingpass = useMemo(() => {
29541
29534
  if (!legalEntity) {
29542
29535
  return false;
@@ -29615,7 +29608,7 @@ const useSingpassMyInfoLogin = ({
29615
29608
  trustedFields: trustedFields$1
29616
29609
  };
29617
29610
  };
29618
- const logger$l = createLogger("useAssociatedLegalArrangement");
29611
+ const logger$m = createLogger("useAssociatedLegalArrangement");
29619
29612
  function useAssociatedLegalArrangement({
29620
29613
  rootLegalEntity,
29621
29614
  getLegalEntity: getLegalEntity2
@@ -29626,7 +29619,7 @@ function useAssociatedLegalArrangement({
29626
29619
  var _a;
29627
29620
  const foundEntity = (_a = rootLegalEntity == null ? void 0 : rootLegalEntity.entityAssociations) == null ? void 0 : _a.find((entity) => entity.type === LegalEntityType.SOLE_PROPRIETORSHIP || entity.type === LegalEntityType.TRUST);
29628
29621
  if (foundEntity == null ? void 0 : foundEntity.legalEntityId) {
29629
- getAssociatedEntity(foundEntity == null ? void 0 : foundEntity.legalEntityId).then((res) => setAssociatedLegalArrangement(res)).catch(logger$l.error);
29622
+ getAssociatedEntity(foundEntity == null ? void 0 : foundEntity.legalEntityId).then((res) => setAssociatedLegalArrangement(res)).catch(logger$m.error);
29630
29623
  }
29631
29624
  }, [getAssociatedEntity, rootLegalEntity == null ? void 0 : rootLegalEntity.entityAssociations]);
29632
29625
  useEffect(() => {
@@ -29683,7 +29676,7 @@ const useCanSeeEntitySelection = (legalEntityId) => {
29683
29676
  setCanSeeEntitySelection: setCanSeeEntitySelectionIntoLocalStorage
29684
29677
  };
29685
29678
  };
29686
- const logger$k = createLogger("useExemptSettlor");
29679
+ const logger$l = createLogger("useExemptSettlor");
29687
29680
  const useExemptSettlor = ({
29688
29681
  trust,
29689
29682
  handleGetLegalEntity
@@ -29696,7 +29689,7 @@ const useExemptSettlor = ({
29696
29689
  }, [handleGetLegalEntity]);
29697
29690
  useEffect(() => {
29698
29691
  if (!(trust == null ? void 0 : trust.trust)) return;
29699
- updateExemptSettlor(trust).catch(logger$k.error);
29692
+ updateExemptSettlor(trust).catch(logger$l.error);
29700
29693
  }, [trust, updateExemptSettlor]);
29701
29694
  return exemptSettlor;
29702
29695
  };
@@ -31309,7 +31302,7 @@ const Introduction = ({
31309
31302
  return (introductionScreens == null ? void 0 : introductionScreens.length) ? jsxs("div", {
31310
31303
  className: "adyen-kyc-introduction",
31311
31304
  children: [jsx(StepProgressIndicator, {
31312
- activeStepIndex: activeIndex,
31305
+ activeStepIndex: activeIndex + 1,
31313
31306
  stepsCount: introductionScreens.length
31314
31307
  }), jsx("div", {
31315
31308
  className: "adyen-kyc-introduction__skip",
@@ -32706,8 +32699,7 @@ function IndividualDropinComponent({
32706
32699
  } = useSingpassMyInfoLogin({
32707
32700
  legalEntity: legalEntityResponse,
32708
32701
  accountHolder,
32709
- handleOpenSingpassAuthorizationLink,
32710
- apiMapping: individualComponentsKeyMapping
32702
+ handleOpenSingpassAuthorizationLink
32711
32703
  });
32712
32704
  const baseTrackingPayload = getBaseTrackingPayload({
32713
32705
  trackingConfig,
@@ -32951,7 +32943,7 @@ function IndividualDropinComponent({
32951
32943
  idDocumentType: idDocumentType || null
32952
32944
  }
32953
32945
  });
32954
- const accountHolderToEvaluated = ((_c2 = dataSubmitted.personalDetails) == null ? void 0 : _c2.accountHolder) ?? accountHolder;
32946
+ const accountHolderToEvaluated = ((_c2 = dataSubmitted.personalDetails) == null ? void 0 : _c2.accountHolder) || accountHolder;
32955
32947
  legalEntity.entityAssociations = filterOutUnwantedAssociationsIfRootLE(taskType, legalEntityResponse, accountHolderToEvaluated ?? void 0);
32956
32948
  const createdLegalEntity = await submitLegalEntity({
32957
32949
  dataSubmitted,
@@ -33098,7 +33090,8 @@ function IndividualDropinComponent({
33098
33090
  setShouldValidate,
33099
33091
  gotoFormByFormIndex,
33100
33092
  nextButtonLabel,
33101
- currentStep
33093
+ currentStep,
33094
+ totalSteps
33102
33095
  } = useFormComposer({
33103
33096
  problems,
33104
33097
  baseTrackingPayload,
@@ -33135,6 +33128,7 @@ function IndividualDropinComponent({
33135
33128
  hideNavigation,
33136
33129
  asModal,
33137
33130
  currentStep,
33131
+ totalSteps,
33138
33132
  children: jsx(IndividualComponent, {
33139
33133
  ...derivedProps,
33140
33134
  capabilities: getCapabilities(legalEntityResponse),
@@ -33166,7 +33160,7 @@ function IndividualDropinComponent({
33166
33160
  })
33167
33161
  });
33168
33162
  }
33169
- const logger$j = createLogger("useBankConfigurationHandler");
33163
+ const logger$k = createLogger("useBankConfigurationHandler");
33170
33164
  const useBankConfigurationHandlers = ({
33171
33165
  isEmbeddedDropin,
33172
33166
  handleGetBankVerificationVendors,
@@ -33189,7 +33183,7 @@ const useBankConfigurationHandlers = ({
33189
33183
  const bankVerificationVendorsResponse2 = callBankVerificationVendorsUpfront ? await handleGetBankVerificationVendors(bankAccountCountry) : [];
33190
33184
  setBankVerificationVendorsResponse(bankVerificationVendorsResponse2);
33191
33185
  setUseFreshProviderRedirectUrl(false);
33192
- })().catch(logger$j.error).finally(() => {
33186
+ })().catch(logger$k.error).finally(() => {
33193
33187
  setLoadingStatus("success");
33194
33188
  });
33195
33189
  }, [bankAccountCountry, useFreshProviderRedirectUrl]);
@@ -34592,7 +34586,7 @@ const serviceAgreementValidationRules = {
34592
34586
  errorMessage: "fieldIsRequired"
34593
34587
  }
34594
34588
  };
34595
- const logger$i = createLogger("useServiceAgreement");
34589
+ const logger$j = createLogger("useServiceAgreement");
34596
34590
  const FALLBACK_LANGUAGE_CODE$1 = "en";
34597
34591
  const useServiceAgreement = ({
34598
34592
  handleGetServiceAgreement,
@@ -34625,7 +34619,7 @@ const useServiceAgreement = ({
34625
34619
  contract
34626
34620
  });
34627
34621
  };
34628
- requestAcceptedServiceAgreement().catch(logger$i.error).finally(() => setLoading("success"));
34622
+ requestAcceptedServiceAgreement().catch(logger$j.error).finally(() => setLoading("success"));
34629
34623
  }, [acceptanceId, handleViewAcceptedTermsOfServiceDocument]);
34630
34624
  useEffect(() => {
34631
34625
  const requestServiceAgreement = async () => {
@@ -34640,7 +34634,7 @@ const useServiceAgreement = ({
34640
34634
  language: agreementLanguage
34641
34635
  });
34642
34636
  if (!document2) {
34643
- logger$i.log('"document" field was missing in response');
34637
+ logger$j.log('"document" field was missing in response');
34644
34638
  return;
34645
34639
  }
34646
34640
  const contract = JSON.parse(decodeURIComponent(escape(window.atob(document2))));
@@ -34658,7 +34652,7 @@ const useServiceAgreement = ({
34658
34652
  throw err;
34659
34653
  }
34660
34654
  };
34661
- requestServiceAgreement().catch(logger$i.error);
34655
+ requestServiceAgreement().catch(logger$j.error);
34662
34656
  }, [handleGetServiceAgreement, handleServiceAgreementIsNotAvailableInThatLanguage, agreementLanguage, legalEntityId, serviceAgreementType]);
34663
34657
  return {
34664
34658
  loading,
@@ -34675,7 +34669,7 @@ const serviceAgreementTypesTranslationMapping = {
34675
34669
  adyenFranchisee: "franchiseesTAndCs",
34676
34670
  adyenPccr: "pccr"
34677
34671
  };
34678
- const logger$h = createLogger("ServiceAgreementDropinComponent");
34672
+ const logger$i = createLogger("ServiceAgreementDropinComponent");
34679
34673
  const FALLBACK_LANGUAGE_CODE = "en";
34680
34674
  function ServiceAgreementDropinComponent({
34681
34675
  legalEntityResponse,
@@ -34887,7 +34881,7 @@ function ServiceAgreementDropinComponent({
34887
34881
  await requestAndDownload(i18n.languageCode);
34888
34882
  } catch (e) {
34889
34883
  if (i18n.languageCode !== FALLBACK_LANGUAGE_CODE) {
34890
- await requestAndDownload(FALLBACK_LANGUAGE_CODE).catch(logger$h.error);
34884
+ await requestAndDownload(FALLBACK_LANGUAGE_CODE).catch(logger$i.error);
34891
34885
  return;
34892
34886
  }
34893
34887
  showToast({
@@ -35734,7 +35728,7 @@ const hasProgressedBeyondEntitySelection = (legalEntity) => {
35734
35728
  return hasOwnEntityAssocation || !!hasOrganizationType;
35735
35729
  };
35736
35730
  const PAGES_WITH_POLLING = [TaskTypes.DECISION_MAKER_OVERVIEW, TaskTypes.TASKS_OVERVIEW];
35737
- const logger$g = createLogger("DropinComposerComponent");
35731
+ const logger$h = createLogger("DropinComposerComponent");
35738
35732
  const isOrganizationSettlorWithExemptionReasonEnabled = (enabled, country) => country === CountryCodes.Australia && enabled;
35739
35733
  function DropinComposerComponent({
35740
35734
  capabilities,
@@ -35793,8 +35787,7 @@ function DropinComposerComponent({
35793
35787
  } = useSingpassMyInfoLogin({
35794
35788
  legalEntity: rootLegalEntity,
35795
35789
  accountHolder,
35796
- handleOpenSingpassAuthorizationLink,
35797
- apiMapping: (legalEntityResponse == null ? void 0 : legalEntityResponse.type) === LegalEntityType.INDIVIDUAL ? individualComponentsKeyMapping : companyComponentsKeyMapping
35790
+ handleOpenSingpassAuthorizationLink
35798
35791
  });
35799
35792
  const hasUsedSingpass = Boolean(Object.keys(singpassTrustedFields).length);
35800
35793
  const rootLegalEntityCountry = getLegalEntityCountry(rootLegalEntity);
@@ -35860,7 +35853,7 @@ function DropinComposerComponent({
35860
35853
  setPciStatus(response);
35861
35854
  return response;
35862
35855
  } catch (e) {
35863
- logger$g.warn(i18n.get("failedToGetPciStatus"));
35856
+ logger$h.warn(i18n.get("failedToGetPciStatus"));
35864
35857
  }
35865
35858
  }
35866
35859
  return void 0;
@@ -35888,7 +35881,7 @@ function DropinComposerComponent({
35888
35881
  }, [additionalSalesChannels, i18n, rootLegalEntity.id, args.handleGetPciTemplate]);
35889
35882
  useEffect(() => {
35890
35883
  if (!tasks.includes(TaskTypes.PCI_DSS)) return;
35891
- getPciTemplate2().catch(logger$g.error);
35884
+ getPciTemplate2().catch(logger$h.error);
35892
35885
  }, [getPciTemplate2, tasks]);
35893
35886
  const addFetchedAcceptedByName = async (acceptanceInfo) => {
35894
35887
  try {
@@ -35898,7 +35891,7 @@ function DropinComposerComponent({
35898
35891
  acceptedByName: getLegalEntityNameBasedOnType(acceptedByEntity)
35899
35892
  };
35900
35893
  } catch (e) {
35901
- logger$g.warn(i18n.get("failedToFetchAcceptedByName"));
35894
+ logger$h.warn(i18n.get("failedToFetchAcceptedByName"));
35902
35895
  return {
35903
35896
  ...acceptanceInfo,
35904
35897
  acceptedByName: null
@@ -35912,7 +35905,7 @@ function DropinComposerComponent({
35912
35905
  const serviceAgreementAcceptanceInfosWithNames2 = await Promise.all(response.data.map(addFetchedAcceptedByName));
35913
35906
  setServiceAgreementAcceptanceInfosWithNames(serviceAgreementAcceptanceInfosWithNames2);
35914
35907
  } catch (e) {
35915
- logger$g.warn(i18n.get("failedToGetServiceAgreementStatus"));
35908
+ logger$h.warn(i18n.get("failedToGetServiceAgreementStatus"));
35916
35909
  }
35917
35910
  }
35918
35911
  };
@@ -35922,7 +35915,7 @@ function DropinComposerComponent({
35922
35915
  const response = await args.handleGetServiceAgreementStatus(rootLegalEntity.id);
35923
35916
  setServiceAgreementTypes(response.termsOfServiceTypes);
35924
35917
  } catch (e) {
35925
- logger$g.warn(i18n.get("failedToGetServiceAgreementStatus"));
35918
+ logger$h.warn(i18n.get("failedToGetServiceAgreementStatus"));
35926
35919
  }
35927
35920
  }
35928
35921
  };
@@ -35958,7 +35951,7 @@ function DropinComposerComponent({
35958
35951
  try {
35959
35952
  return await args.handleGetLegalEntity(rootLegalEntity.id);
35960
35953
  } catch (e) {
35961
- logger$g.warn("Failed to fetch legal entity details", e);
35954
+ logger$h.warn("Failed to fetch legal entity details", e);
35962
35955
  }
35963
35956
  }
35964
35957
  return void 0;
@@ -36018,7 +36011,7 @@ function DropinComposerComponent({
36018
36011
  label: i18n.get("successFullyRemovedTrustMember")
36019
36012
  });
36020
36013
  } catch (err) {
36021
- logger$g.error(`Failed to delete trust member`, err);
36014
+ logger$h.error(`Failed to delete trust member`, err);
36022
36015
  showToast({
36023
36016
  type: "error",
36024
36017
  label: i18n.get("failedToRemoveTrustMember")
@@ -36088,7 +36081,7 @@ function DropinComposerComponent({
36088
36081
  }
36089
36082
  break;
36090
36083
  default:
36091
- logger$g.warn(`Updating trust member type "${trustMember.trustMemberType}" is not implemented.`);
36084
+ logger$h.warn(`Updating trust member type "${trustMember.trustMemberType}" is not implemented.`);
36092
36085
  }
36093
36086
  showToast({
36094
36087
  label: i18n.get("successfullyUpdatedDetails"),
@@ -36096,7 +36089,7 @@ function DropinComposerComponent({
36096
36089
  });
36097
36090
  await refreshLegalArrangementAndRunOnSubmit(associatedLegalArrangement, 1);
36098
36091
  } catch (err) {
36099
- logger$g.error(err);
36092
+ logger$h.error(err);
36100
36093
  showToast({
36101
36094
  label: i18n.get("failedToUpdateDetails"),
36102
36095
  type: "error"
@@ -36110,7 +36103,7 @@ function DropinComposerComponent({
36110
36103
  setHasSeenSingpassSelection(true);
36111
36104
  window.open(authUrl, "_blank").focus();
36112
36105
  } catch (e) {
36113
- logger$g.error(e);
36106
+ logger$h.error(e);
36114
36107
  handleSingpassMyInfoLoginFailure(e);
36115
36108
  }
36116
36109
  }
@@ -36314,7 +36307,7 @@ function DropinComposerComponent({
36314
36307
  }
36315
36308
  };
36316
36309
  setIsLoadingConfiguration(true);
36317
- fetchConfiguration().catch(logger$g.error).finally(() => {
36310
+ fetchConfiguration().catch(logger$h.error).finally(() => {
36318
36311
  setIsLoadingConfiguration(false);
36319
36312
  onLoad();
36320
36313
  });
@@ -36348,7 +36341,7 @@ function DropinComposerComponent({
36348
36341
  const authUrl = await handleInitiateSingpassMyInfoLogin();
36349
36342
  window.open(authUrl, "_blank").focus();
36350
36343
  } catch (e) {
36351
- logger$g.error(e);
36344
+ logger$h.error(e);
36352
36345
  handleSingpassMyInfoLoginFailure(e);
36353
36346
  }
36354
36347
  },
@@ -36587,6 +36580,7 @@ function DropinComposerComponent({
36587
36580
  handleFindAddress: args == null ? void 0 : args.handleFindAddress,
36588
36581
  onTypeSwitch: navigateToTypeSwitcher,
36589
36582
  isTargetLegalEntityType: legalEntityType === LegalEntityType.ORGANIZATION,
36583
+ trustedFields: singpassTrustedFields,
36590
36584
  trustedFieldsProvider: isEligibleForSingpass && TrustedFieldsProvider.SINGPASS
36591
36585
  });
36592
36586
  case TaskTypes.COMPANY_SEARCH:
@@ -36623,7 +36617,9 @@ function DropinComposerComponent({
36623
36617
  handleVerifyTin: args.handleVerifyTin,
36624
36618
  onTypeSwitch: navigateToTypeSwitcher,
36625
36619
  isTargetLegalEntityType: legalEntityType === LegalEntityType.ORGANIZATION,
36626
- accountHolder
36620
+ accountHolder,
36621
+ trustedFields: singpassTrustedFields,
36622
+ trustedFieldsProvider: isEligibleForSingpass && TrustedFieldsProvider.SINGPASS
36627
36623
  });
36628
36624
  case TaskTypes.BUSINESS_DETAILS:
36629
36625
  return jsx("div", {
@@ -37521,6 +37517,61 @@ const useComponentApi = (rootLegalEntityId) => {
37521
37517
  };
37522
37518
  }, [base, rootLegalEntityId]);
37523
37519
  };
37520
+ const logger$g = createLogger("CreateContractingComponent");
37521
+ function CreateContractingComponent({
37522
+ legalEntityId,
37523
+ modalView
37524
+ }) {
37525
+ const {
37526
+ isModalView,
37527
+ setIsModalView
37528
+ } = useCoreContext();
37529
+ if (!legalEntityId) {
37530
+ throw new Error("Must provide at-least a legalEntityId");
37531
+ }
37532
+ const {
37533
+ getLegalEntity: getLegalEntity2,
37534
+ createLegalEntity: createLegalEntity2,
37535
+ updateLegalEntity: updateLegalEntity2,
37536
+ getDocument: getDocument2,
37537
+ createDocument: createDocument2,
37538
+ updateDocument: updateDocument2
37539
+ } = useComponentApi(legalEntityId);
37540
+ const [legalEntity, setLegalEntity] = useState();
37541
+ if (modalView) {
37542
+ setIsModalView(true);
37543
+ }
37544
+ useEffect(() => {
37545
+ getLegalEntity2(legalEntityId).then((res) => setLegalEntity(res)).catch(logger$g.error);
37546
+ }, [getLegalEntity2, legalEntityId]);
37547
+ const serviceAgreementTypes = [];
37548
+ const serviceAgreementAcceptanceInfos = [];
37549
+ const handleGetServiceAgreement = () => {
37550
+ };
37551
+ const handleViewAcceptedTermsOfServiceDocument = () => {
37552
+ };
37553
+ const handleDownloadAcceptedTermsOfServiceDocument = () => {
37554
+ };
37555
+ const handleDownloadUnacceptedTermsOfServiceDocument = () => {
37556
+ };
37557
+ const handleHomeClick = () => {
37558
+ };
37559
+ const handleSign = () => {
37560
+ };
37561
+ return jsx(ServiceAgreementDropinComponent, {
37562
+ taskType: TaskTypes.SERVICE_AGREEMENT,
37563
+ legalEntityResponse: legalEntity,
37564
+ serviceAgreementTypes,
37565
+ serviceAgreementAcceptanceInfos,
37566
+ handleGetServiceAgreement,
37567
+ handleViewAcceptedTermsOfServiceDocument,
37568
+ handleDownloadAcceptedTermsOfServiceDocument,
37569
+ handleDownloadUnacceptedTermsOfServiceDocument,
37570
+ handleHomeClick,
37571
+ handleSign,
37572
+ asModal: isModalView
37573
+ });
37574
+ }
37524
37575
  const logger$f = createLogger("CreateIndividualComponent");
37525
37576
  function CreateIndividualComponent({
37526
37577
  parentLegalEntityId,
@@ -37735,22 +37786,24 @@ const statusToTag = (status) => {
37735
37786
  translationKey: "rejected",
37736
37787
  variant: "red"
37737
37788
  };
37789
+ case TaskStatus.ERROR:
37790
+ return {
37791
+ translationKey: "actionNeeded",
37792
+ variant: "red"
37793
+ };
37738
37794
  case TaskStatus.PROCESSING:
37739
37795
  case OnboardingStatus.AWAITING_DATA:
37740
37796
  return {
37741
37797
  translationKey: "inReview",
37742
37798
  variant: "grey"
37743
37799
  };
37744
- case TaskStatus.ERROR:
37745
37800
  case OnboardingStatus.UNSUCCESSFUL:
37746
37801
  return {
37747
37802
  translationKey: "unsuccessful",
37748
37803
  variant: "red"
37749
37804
  };
37750
37805
  default:
37751
- return {
37752
- variant: "grey"
37753
- };
37806
+ return void 0;
37754
37807
  }
37755
37808
  };
37756
37809
  const EmbeddedStatus = ({
@@ -37764,7 +37817,8 @@ const EmbeddedStatus = ({
37764
37817
  onClick,
37765
37818
  light,
37766
37819
  className,
37767
- actionButton
37820
+ actionButton,
37821
+ ...props
37768
37822
  }) => {
37769
37823
  const {
37770
37824
  i18n
@@ -37780,6 +37834,7 @@ const EmbeddedStatus = ({
37780
37834
  "adyen-kyc-embedded-status--light": light
37781
37835
  }),
37782
37836
  onClick,
37837
+ ...props,
37783
37838
  children: [jsx("section", {
37784
37839
  className: styles["adyen-kyc-embedded-status__avatar"],
37785
37840
  children: loading ? jsx(Skeleton, {
@@ -37826,7 +37881,7 @@ const EmbeddedStatus = ({
37826
37881
  secondary: true,
37827
37882
  small: true
37828
37883
  })
37829
- }) : statusTag.translationKey && jsx("section", {
37884
+ }) : (statusTag == null ? void 0 : statusTag.translationKey) && jsx("section", {
37830
37885
  className: styles["adyen-kyc-embedded-status__tag"],
37831
37886
  children: loading ? jsx(Skeleton, {
37832
37887
  width: "8ch",
@@ -37856,7 +37911,7 @@ function LegalEntityStatus({
37856
37911
  status
37857
37912
  }) => {
37858
37913
  setOnboardingStatus(status);
37859
- if (status === OnboardingStatus.VERIFIED) {
37914
+ if (status !== OnboardingStatus.AWAITING_DATA) {
37860
37915
  fetchLegalEntity().then((newLegalEntity) => {
37861
37916
  setLegalEntity(newLegalEntity);
37862
37917
  setIsLoading(false);
@@ -37926,151 +37981,162 @@ function useInterval(callback, initialDelay = DEFAULT_POLLING_INTERVAL) {
37926
37981
  }, [timeoutId]);
37927
37982
  return timeoutId;
37928
37983
  }
37929
- function AddTransferInstrument({
37930
- onAdd
37931
- }) {
37932
- const {
37933
- i18n
37934
- } = useI18nContext();
37935
- return jsxs(Fragment, {
37936
- children: [jsx(Typography, {
37937
- el: "h1",
37938
- variant: "title-l",
37939
- children: i18n.get("bankDetails")
37940
- }), jsx(Typography, {
37941
- children: i18n.get("addMissingBankDetails")
37942
- }), jsx(Button, {
37943
- label: i18n.get("addBankDetails"),
37944
- onClick: onAdd
37945
- })]
37946
- });
37947
- }
37948
- function ManageTransferInstrumentOverviewItemSummary({
37984
+ function ManageTransferInstrumentOverviewItemModal({
37985
+ status,
37949
37986
  transferInstrument,
37950
- accountHolderName,
37951
- onEdit
37987
+ onEdit,
37988
+ onClose,
37989
+ onRemove
37952
37990
  }) {
37953
37991
  var _a, _b, _c;
37954
37992
  const {
37955
37993
  i18n
37956
37994
  } = useI18nContext();
37957
37995
  const datasetUtils = datasetUtilities(i18n.locale);
37996
+ const isReviewInProgress = status === "PROCESSING";
37997
+ const showEditButton = status !== "ERROR" && !(transferInstrument == null ? void 0 : transferInstrument.bankAccount.trustedSource);
37958
37998
  const problems = transferInstrument ? getCapabilityProblems(transferInstrument, transferInstrument.bankAccount.countryCode) : {};
37959
- const formatDataForSummary2 = (data) => {
37999
+ const formatDataForStructuredList = (data) => {
37960
38000
  var _a2, _b2;
37961
38001
  const summaryData = cloneObject(data);
37962
- if (summaryData.payoutAccountDetails) {
37963
- if ((_a2 = summaryData.payoutVerificationMethod) == null ? void 0 : _a2.bankCountry) {
37964
- summaryData.payoutAccountDetails.bankCountry = datasetUtils.getCountryName(summaryData.payoutVerificationMethod.bankCountry);
37965
- summaryData.payoutAccountDetails.currency = (_b2 = currencyByCountry[summaryData.payoutVerificationMethod.bankCountry]) == null ? void 0 : _b2[0];
37966
- }
37967
- summaryData.payoutAccountDetails.accountHolder = accountHolderName;
38002
+ if (!summaryData.payoutAccountDetails) return [];
38003
+ if ((_a2 = summaryData.payoutVerificationMethod) == null ? void 0 : _a2.bankCountry) {
38004
+ summaryData.payoutAccountDetails.bankCountry = datasetUtils.getCountryName(summaryData.payoutVerificationMethod.bankCountry);
38005
+ summaryData.payoutAccountDetails.currency = (_b2 = currencyByCountry[summaryData.payoutVerificationMethod.bankCountry]) == null ? void 0 : _b2[0];
37968
38006
  }
37969
- return summaryData;
38007
+ delete summaryData.payoutAccountDetails.transferInstrumentId;
38008
+ return entriesOf(summaryData.payoutAccountDetails).map(([key, value]) => ({
38009
+ labelKey: key,
38010
+ value
38011
+ }));
37970
38012
  };
37971
- const getSummaryData = (ti) => {
37972
- const mappedTI = mapTransferInstrumentToPayoutAccount(ti);
37973
- return formatDataForSummary2(mappedTI);
38013
+ const getStatusTag = () => {
38014
+ const statusTagProps = statusToTag(TaskStatus[status]);
38015
+ if (!statusTagProps) return;
38016
+ return jsx(Tag, {
38017
+ variant: statusTagProps.variant,
38018
+ children: i18n.get(statusTagProps.translationKey)
38019
+ });
37974
38020
  };
37975
- return jsxs(Fragment, {
37976
- children: [!!((_b = (_a = problems.BankAccount) == null ? void 0 : _a[transferInstrument.id]) == null ? void 0 : _b.verificationErrors) && jsx(VerificationErrorAlert, {
37977
- className: "adyen-kyc-manage-ti-overview-item-summary__error",
37978
- problems: (_c = problems.BankAccount) == null ? void 0 : _c[transferInstrument.id],
37979
- children: jsx(Button, {
37980
- className: "adyen-kyc-manage-ti-overview-item-summary__error-button",
37981
- label: i18n.get("editDetails"),
37982
- secondary: true,
37983
- onClick: onEdit
37984
- })
37985
- }), jsx(Summary, {
37986
- data: getSummaryData(transferInstrument),
37987
- forms: [payoutSteps.payoutAccountDetails(TaskTypes.PAYOUT, false)],
37988
- showFormHeader: false,
37989
- showSectionHeader: false,
37990
- omittedKeys: ["transferInstrumentId"]
37991
- })]
38021
+ const getPayoutDetailSummary = (ti) => {
38022
+ const mappedTI = formatDataForStructuredList(mapTransferInstrumentToPayoutAccount(ti));
38023
+ const statusTag = getStatusTag();
38024
+ mappedTI.push({
38025
+ labelKey: "status",
38026
+ value: statusTag
38027
+ });
38028
+ return mappedTI;
38029
+ };
38030
+ const getStructuredLists = () => {
38031
+ var _a2, _b2;
38032
+ if (!transferInstrument) return [];
38033
+ const summaries = [];
38034
+ summaries.push(getPayoutDetailSummary(transferInstrument));
38035
+ if (transferInstrument.documentDetails) {
38036
+ summaries.push([{
38037
+ labelKey: "verificationMethod",
38038
+ value: i18n.get("documentUpload")
38039
+ }, {
38040
+ labelKey: "documentType",
38041
+ value: i18n.get((_a2 = transferInstrument.documentDetails[0]) == null ? void 0 : _a2.type)
38042
+ }, {
38043
+ labelKey: "documentName",
38044
+ value: (_b2 = transferInstrument.documentDetails[0]) == null ? void 0 : _b2.fileName
38045
+ }]);
38046
+ }
38047
+ return summaries;
38048
+ };
38049
+ const modalHeader = jsx(Typography, {
38050
+ variant: "title-l",
38051
+ children: i18n.get("bankAccount")
38052
+ });
38053
+ const modalFooter = () => {
38054
+ if (!transferInstrument) return;
38055
+ const actions = jsxs(Fragment, {
38056
+ children: [jsx(Remove, {
38057
+ onRemove: async () => onRemove(transferInstrument.id),
38058
+ isRemoveDisabled: isReviewInProgress
38059
+ }), showEditButton && jsx(Button, {
38060
+ label: i18n.get("edit"),
38061
+ onClick: () => onEdit(transferInstrument.id),
38062
+ disabled: isReviewInProgress
38063
+ })]
38064
+ });
38065
+ return jsx(EmbeddedActionBar, {
38066
+ right: actions
38067
+ });
38068
+ };
38069
+ return jsx(Modal, {
38070
+ header: modalHeader,
38071
+ onClose: () => onClose(),
38072
+ footer: modalFooter(),
38073
+ children: !transferInstrument ? jsx(Loader, {}) : jsxs("div", {
38074
+ className: "adyen-kyc-manage-ti-overview-item-summary",
38075
+ children: [!!((_b = (_a = problems.BankAccount) == null ? void 0 : _a[transferInstrument.id]) == null ? void 0 : _b.verificationErrors) && jsx(VerificationErrorAlert, {
38076
+ className: "adyen-kyc-manage-ti-overview-item-summary__error",
38077
+ problems: (_c = problems.BankAccount) == null ? void 0 : _c[transferInstrument.id],
38078
+ children: jsx(Button, {
38079
+ className: "adyen-kyc-manage-ti-overview-item-summary__error-button",
38080
+ label: i18n.get("editDetails"),
38081
+ tertiary: true,
38082
+ onClick: () => onEdit(transferInstrument.id)
38083
+ })
38084
+ }), getStructuredLists().map((listItems) => jsx(Card, {
38085
+ className: "adyen-kyc-manage-ti-overview-item-summary__card",
38086
+ children: jsx(StructuredList, {
38087
+ items: listItems
38088
+ })
38089
+ }, listItems))]
38090
+ })
37992
38091
  });
37993
38092
  }
37994
- const statusDescription = {
37995
- FINISHED: "bankDetailsVerified",
37996
- ERROR: "bankDetailsNotVerified",
37997
- PROCESSING: "bankDetailsBeingProcessed",
37998
- DETAILS_REQUIRED: "missingDetailsToPerformPayouts"
37999
- };
38000
38093
  function ManageTransferInstrumentOverviewItem({
38001
38094
  transferInstrumentReference,
38002
38095
  transferInstrument,
38003
38096
  onEdit,
38004
38097
  onOpen,
38005
- onRemove,
38006
- accountHolderName
38098
+ onRemove
38007
38099
  }) {
38008
38100
  const {
38009
38101
  i18n
38010
38102
  } = useI18nContext();
38011
- const description = statusDescription[transferInstrumentReference.status];
38012
- const needMoreDetails = transferInstrumentReference.status === "DETAILS_REQUIRED";
38013
- const [isRemoving, setIsRemoving] = useState(false);
38014
- const status = !needMoreDetails ? jsx(TaskItemStatus, {
38015
- status: TaskStatus[transferInstrumentReference.status],
38016
- size: "large",
38017
- showText: false
38018
- }) : null;
38019
- const actions = jsxs("div", {
38020
- className: "adyen-kyc-manage-ti-overview-item__action",
38021
- children: [needMoreDetails && jsx(Button, {
38022
- label: i18n.get("completeAddingAccount"),
38023
- onClick: (e) => {
38024
- e.stopPropagation();
38025
- onEdit(transferInstrumentReference.transferInstrument.id);
38026
- },
38027
- secondary: true
38028
- }), jsx(Remove, {
38029
- label: isRemoving ? "removing" : "removeThisBankAccount",
38030
- onRemove: async () => onRemove(transferInstrumentReference.transferInstrument.id),
38031
- onRemoveStatusChange: setIsRemoving
38032
- })]
38033
- });
38034
- const title = jsxs("div", {
38035
- className: "adyen-kyc-manage-ti-overview-item__header",
38036
- children: [jsxs("div", {
38037
- className: "adyen-kyc-manage-ti-overview-item__title",
38038
- children: [status, jsx(Typography, {
38039
- el: "h2",
38040
- variant: "title-m",
38041
- children: transferInstrumentReference.transferInstrument.accountIdentifier
38042
- })]
38043
- }), jsx("p", {
38044
- className: "adyen-kyc-manage-ti-overview-item__subtitle",
38045
- children: description && i18n.get(description)
38103
+ const [modalOpen, setModalOpen] = useState(false);
38104
+ const isDetailsRequired = transferInstrumentReference.status === "DETAILS_REQUIRED";
38105
+ const onClick = (transferInstrumentId) => {
38106
+ if (isDetailsRequired) return;
38107
+ onOpen(transferInstrumentId);
38108
+ setModalOpen(true);
38109
+ };
38110
+ const actionButton = {
38111
+ labelKey: "continue",
38112
+ onClick: () => onEdit(transferInstrumentReference.transferInstrument.id)
38113
+ };
38114
+ return jsxs(Fragment, {
38115
+ children: [jsx(EmbeddedStatus, {
38116
+ status: TaskStatus[transferInstrumentReference.status],
38117
+ className: "adyen-kyc-manage-ti-overview-item",
38118
+ iconName: "bank",
38119
+ title: transferInstrumentReference.transferInstrument.accountIdentifier.replaceAll("*", "•"),
38120
+ subtitle: i18n.get("bankAccount"),
38121
+ onClick: () => onClick(transferInstrumentReference.transferInstrument.id),
38122
+ actionButton: isDetailsRequired ? actionButton : void 0,
38123
+ "aria-label": i18n.get("bankAccount")
38124
+ }, transferInstrumentReference.transferInstrument.id), modalOpen && jsx(ManageTransferInstrumentOverviewItemModal, {
38125
+ transferInstrument,
38126
+ onEdit,
38127
+ onRemove,
38128
+ onClose: () => setModalOpen(false),
38129
+ status: transferInstrumentReference.status
38046
38130
  })]
38047
38131
  });
38048
- return jsx(Accordion, {
38049
- className: "adyen-kyc-manage-ti-overview-item",
38050
- title,
38051
- onToggle: (state) => {
38052
- if (state === "open") onOpen(transferInstrumentReference.transferInstrument.id);
38053
- },
38054
- children: jsxs(Fragment, {
38055
- children: [!transferInstrument ? jsx(LoaderWrapper, {
38056
- className: "adyen-kyc-manage-ti-overview-item__loader",
38057
- status: "loading"
38058
- }) : jsx(ManageTransferInstrumentOverviewItemSummary, {
38059
- transferInstrument,
38060
- accountHolderName,
38061
- onEdit: () => onEdit(transferInstrument.id)
38062
- }), actions]
38063
- })
38064
- }, transferInstrumentReference.transferInstrument.id);
38065
38132
  }
38066
38133
  const logger$d = createLogger("ManageTransferInstrumentOverview");
38067
38134
  function ManageTransferInstrumentOverview({
38068
38135
  transferInstrumentReferences,
38069
- onAdd,
38070
38136
  onEdit,
38137
+ onAdd,
38071
38138
  onRemove,
38072
- legalEntityId,
38073
- accountHolderName
38139
+ legalEntityId
38074
38140
  }) {
38075
38141
  const {
38076
38142
  i18n
@@ -38081,6 +38147,7 @@ function ManageTransferInstrumentOverview({
38081
38147
  } = useComponentApi(legalEntityId);
38082
38148
  const [transferInstrumentsMap, setTransferInstrumentsMap] = useState({});
38083
38149
  const onShowBankDetails = async (transferInstrumentId) => {
38150
+ if (transferInstrumentsMap[transferInstrumentId]) return;
38084
38151
  try {
38085
38152
  const ti = await getTransferInstrument2(transferInstrumentId);
38086
38153
  setTransferInstrumentsMap({
@@ -38091,7 +38158,7 @@ function ManageTransferInstrumentOverview({
38091
38158
  logger$d.error(e);
38092
38159
  }
38093
38160
  };
38094
- const onRemoveTransferinstrument = async (transferInstrumentId) => {
38161
+ const onRemoveTransferInstrument = async (transferInstrumentId) => {
38095
38162
  try {
38096
38163
  await deleteTransferInstrument2(transferInstrumentId);
38097
38164
  onRemove(transferInstrumentId);
@@ -38100,24 +38167,20 @@ function ManageTransferInstrumentOverview({
38100
38167
  }
38101
38168
  };
38102
38169
  const transferInstrumentListEle = transferInstrumentReferences.map((transferInstrumentRef) => jsx(ManageTransferInstrumentOverviewItem, {
38103
- accountHolderName,
38104
38170
  transferInstrument: transferInstrumentsMap[transferInstrumentRef.transferInstrument.id],
38105
38171
  transferInstrumentReference: transferInstrumentRef,
38106
38172
  onEdit,
38107
- onRemove: onRemoveTransferinstrument,
38173
+ onRemove: onRemoveTransferInstrument,
38108
38174
  onOpen: onShowBankDetails
38109
38175
  }, transferInstrumentRef.transferInstrument.id));
38110
- return jsxs(Fragment, {
38111
- children: [jsx("section", {
38112
- className: "adyen-kyc-manage-ti-overview",
38113
- children: transferInstrumentListEle
38114
- }), jsx("div", {
38115
- className: "adyen-kyc-manage-ti-overview__action",
38116
- children: jsx(Button, {
38117
- secondary: true,
38118
- label: i18n.get("addAnotherBankAccount"),
38119
- onClick: onAdd
38120
- })
38176
+ return jsxs("section", {
38177
+ className: "adyen-kyc-manage-ti-overview",
38178
+ children: [transferInstrumentListEle, jsx(EmbeddedStatus, {
38179
+ title: i18n.get("addBankAccount"),
38180
+ iconName: "plus-small",
38181
+ light: true,
38182
+ onClick: () => onAdd(legalEntityId),
38183
+ "aria-label": i18n.get("addBankAccount")
38121
38184
  })]
38122
38185
  });
38123
38186
  }
@@ -38134,12 +38197,10 @@ function ManageTransferInstrumentComponent({
38134
38197
  setLocale
38135
38198
  } = useI18nContext();
38136
38199
  const {
38137
- getTransferInstruments: getTransferInstruments2,
38138
- getLegalEntity: getLegalEntity2
38200
+ getTransferInstruments: getTransferInstruments2
38139
38201
  } = useComponentApi(legalEntityId);
38140
38202
  const [transferInstruments, setTransferInstruments] = useState([]);
38141
38203
  const [loadingStatus, setLoadingStatus] = useState("loading");
38142
- const [accountHolderName, setAccountHolderName] = useState("");
38143
38204
  useDataset(datasetIdentifier.country);
38144
38205
  const refreshTransferInstruments = async () => {
38145
38206
  const transferInstrumentRefs = await getTransferInstruments2();
@@ -38150,11 +38211,9 @@ function ManageTransferInstrumentComponent({
38150
38211
  }) => status === "FINISHED");
38151
38212
  const timeoutId = useInterval(refreshTransferInstruments);
38152
38213
  const init2 = useCallback(async () => {
38153
- const [transferInstrumentRefs, legalEntity] = await Promise.all([getTransferInstruments2(), getLegalEntity2(legalEntityId)]);
38154
- const accountHolder = getPayoutAccountHolderName(legalEntity, i18n);
38155
- setAccountHolderName(accountHolder);
38214
+ const transferInstrumentRefs = await getTransferInstruments2();
38156
38215
  setTransferInstruments(transferInstrumentRefs);
38157
- }, [getTransferInstruments2, getLegalEntity2, i18n, legalEntityId]);
38216
+ }, [getTransferInstruments2]);
38158
38217
  useEffect(() => {
38159
38218
  eventEmitter == null ? void 0 : eventEmitter.on("updateLocale", (locale) => setLocale(locale));
38160
38219
  init2().catch(logger$c.error).finally(() => {
@@ -38172,22 +38231,27 @@ function ManageTransferInstrumentComponent({
38172
38231
  };
38173
38232
  const render2 = () => {
38174
38233
  if (loadingStatus === "loading") {
38175
- return jsx(Loader, {
38176
- size: "medium"
38234
+ return jsx(EmbeddedStatus, {
38235
+ loading: true
38177
38236
  });
38178
38237
  }
38179
- if (transferInstruments.length === 0) {
38180
- return jsx(AddTransferInstrument, {
38181
- onAdd: () => onAdd(legalEntityId)
38182
- });
38183
- }
38184
- return jsx(ManageTransferInstrumentOverview, {
38185
- transferInstrumentReferences: transferInstruments,
38186
- onAdd: () => onAdd(legalEntityId),
38187
- onEdit: (transferInstrumentId) => onEdit(transferInstrumentId, legalEntityId),
38188
- onRemove,
38189
- legalEntityId,
38190
- accountHolderName
38238
+ return jsxs(Fragment, {
38239
+ children: [!transferInstruments.length ? jsxs("div", {
38240
+ className: "adyen-kyc-u-margin-bottom-12",
38241
+ children: [jsx(Typography, {
38242
+ el: "h1",
38243
+ variant: "title-l",
38244
+ children: i18n.get("bankDetails")
38245
+ }), jsx(Typography, {
38246
+ children: i18n.get("addMissingBankDetails")
38247
+ })]
38248
+ }) : void 0, jsx(ManageTransferInstrumentOverview, {
38249
+ transferInstrumentReferences: transferInstruments,
38250
+ onEdit: (transferInstrumentId) => onEdit(transferInstrumentId, legalEntityId),
38251
+ onRemove,
38252
+ onAdd,
38253
+ legalEntityId
38254
+ })]
38191
38255
  });
38192
38256
  };
38193
38257
  return jsx("div", {
@@ -40088,6 +40152,7 @@ const componentsMap = {
40088
40152
  manageTransferInstrumentComponent: ManageTransferInstrumentComponent,
40089
40153
  onboardingDropinComponent: OnboardingDropinComponent,
40090
40154
  manageIndividualComponent: ManageIndividualComponent,
40155
+ createContractingComponent: CreateContractingComponent,
40091
40156
  viewVerificationStatusComponent: ViewVerificationStatusComponent,
40092
40157
  updateLegalEntityForHighExposureComponent: UpdateLegalEntityForHighExposure
40093
40158
  };
@@ -40544,7 +40609,7 @@ const ConfigurationApiProvider = ({
40544
40609
  isEmbeddedDropin,
40545
40610
  loadingContext
40546
40611
  } = authContext;
40547
- const sdkVersion = "3.26.3";
40612
+ const sdkVersion = "3.27.1";
40548
40613
  useAnalytics({
40549
40614
  onUserEvent,
40550
40615
  legalEntityId: rootLegalEntityId,
@@ -41226,7 +41291,7 @@ const DebugModal = ({
41226
41291
  };
41227
41292
  const copyToClipboard = async () => {
41228
41293
  const toCopy = {
41229
- sdkVersion: "3.26.3",
41294
+ sdkVersion: "3.27.1",
41230
41295
  experiments: Object.fromEntries(allExperimentsWithValues),
41231
41296
  settings: Object.fromEntries(allSettingsWithValues)
41232
41297
  };
@@ -41239,28 +41304,38 @@ const DebugModal = ({
41239
41304
  setDebugInfoCopied(false);
41240
41305
  }, 5e3);
41241
41306
  };
41242
- return jsx(Modal$1, {
41307
+ const header = jsxs("div", {
41308
+ className: "adyen-kyc-debug-modal__header",
41309
+ children: ["Debug ", jsx(Button, {
41310
+ label: "Copy debug info",
41311
+ icon: "document",
41312
+ onClick: copyToClipboard
41313
+ }), debugInfoCopied ? jsxs("span", {
41314
+ children: [jsx(Icon, {
41315
+ name: "check"
41316
+ }), " Copied!"]
41317
+ }) : void 0]
41318
+ });
41319
+ const footer = jsx(Button, {
41320
+ label: "Get LE data",
41321
+ onClick: () => fetchRootLeData(),
41322
+ disabled: !getRootLegalEntity
41323
+ });
41324
+ return jsx(Modal, {
41243
41325
  size: "large",
41244
- header: jsxs(Fragment, {
41245
- children: ["Debug ", jsx(Button, {
41246
- label: "Copy debug info",
41247
- icon: "document",
41248
- onClick: copyToClipboard
41249
- }), debugInfoCopied ? jsxs("span", {
41250
- children: [jsx(Icon, {
41251
- name: "check"
41252
- }), " Copied!"]
41253
- }) : void 0]
41254
- }),
41255
- content: jsxs(Fragment, {
41326
+ header,
41327
+ footer,
41328
+ onClose: onExit,
41329
+ children: jsxs(Fragment, {
41256
41330
  children: [jsxs("div", {
41257
41331
  className: "adyen-kyc-debug-modal__meta",
41258
41332
  children: [jsxs("span", {
41259
- children: ["SDK version: ", "3.26.3"]
41333
+ children: ["SDK version: ", "3.27.1"]
41260
41334
  }), jsxs("span", {
41261
41335
  children: ["rootLegalEntityId: ", rootLegalEntityId]
41262
41336
  })]
41263
41337
  }), jsxs("div", {
41338
+ className: "adyen-kyc-debug-modal__content",
41264
41339
  children: [jsx(DebugTable, {
41265
41340
  data: allExperimentsWithValues,
41266
41341
  keyHeading: "Experiment",
@@ -41273,17 +41348,7 @@ const DebugModal = ({
41273
41348
  }), rootLeData ? jsx("pre", {
41274
41349
  children: JSON.stringify(rootLeData, null, 2)
41275
41350
  }) : void 0]
41276
- }),
41277
- footer: jsx(Button, {
41278
- label: "Get LE data",
41279
- onClick: () => fetchRootLeData(),
41280
- disabled: !getRootLegalEntity
41281
- }),
41282
- classNames: {
41283
- header: "adyen-kyc-debug-modal__header",
41284
- content: "adyen-kyc-debug-modal__content"
41285
- },
41286
- onClose: onExit
41351
+ })
41287
41352
  });
41288
41353
  };
41289
41354
  const DebugWrapper = ({
@@ -42176,6 +42241,14 @@ const manageIndividualComponentSchema = {
42176
42241
  type: "string"
42177
42242
  }
42178
42243
  };
42244
+ const createContractingComponentSchema = {
42245
+ legalEntityId: {
42246
+ type: "string"
42247
+ },
42248
+ modalView: {
42249
+ type: "boolean"
42250
+ }
42251
+ };
42179
42252
  const viewVerificationStatusComponentSchema = {
42180
42253
  legalEntityId: {
42181
42254
  type: "string",
@@ -42235,6 +42308,7 @@ const componentsSchemaMap = {
42235
42308
  manageTransferInstrumentComponent: manageTransferInstrumentComponentSchema,
42236
42309
  createIndividualComponent: createIndividualComponentSchema,
42237
42310
  manageIndividualComponent: manageIndividualComponentSchema,
42311
+ createContractingComponent: createContractingComponentSchema,
42238
42312
  createTransferInstrumentComponent: createTransferInstrumentComponentSchema,
42239
42313
  viewVerificationStatusComponent: viewVerificationStatusComponentSchema,
42240
42314
  updateLegalEntityForHighExposureComponent: updateLegalEntityForHighExposureComponentSchema,