UNPKG

@adyen/kyc-components

Version:

This guide assumes that you have already an account with Adyen. A legalEntity needs to be created, and you need to have a `legalEntityId` to instatiate a Component.

974 lines 1.82 MB
try { let e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack; n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "b0a79239-1744-44f0-94a2-cf60150c8001", e._sentryDebugIdIdentifier = "sentry-dbid-b0a79239-1744-44f0-94a2-cf60150c8001"); } catch (e) {} import { a as Icon, i as Typography, o as createLogger, r as useTranslation, t as Trans } from "./translation-BYvhW5zA.js"; import { C as useDataset, J as extractFieldName, M as ExperimentNames, N as FeatureNames, T as datasetUtilities, Z as hasEmptyFields, ft as useAccountHolder, j as useToggleContext, k as Header, nt as isEmpty, q as concatenateFieldNames, tt as isAccountIdentifierObscured, w as datasetIdentifier, x as Alert } from "./resolveEnvironment-DNmu53Rr.js"; import { t as Button } from "./Button-i8I2dHP8.js"; import { n as httpGet, r as httpPost, s as useApiContext } from "./http-8qgzqVqk.js"; import { t as LegalEntityTypes } from "./legal-entity-type-0MfCGzUf.js"; import { t as getLegalEntityCountry } from "./getLegalEntityCountry-BHh7Ux8v.js"; import { t as useSettingsContext } from "./useSettingsContext-Bpf4UqRT.js"; import { l as keysOf, n as cloneObject, o as objectsDeepEqual } from "./AnalyticsContext-BFrJmsp0.js"; import { t as StackLayout } from "./StackLayout-IUdNMDgW.js"; import { t as CountryCodes } from "./country-code-CJk2hdPu.js"; import { t as TaskTypes } from "./taskTypes-NawDTp5n.js"; import { d as hasOwnEntityAssociationOfType } from "./entityAssociationUtil-C-wflW8q.js"; import { t as EEA_Countries } from "./countries-CPj8hkLs.js"; import { t as Card } from "./Card-BCGLpdw7.js"; import { i as useAnalyticsContext, t as Modal } from "./Modal-BLP2aF-u.js"; import { t as SettingNames } from "./types-Cwq1JAWT.js"; import { n as useToastContext, t as useInvalidateRootLegalEntity } from "./invalidateRootLegalEntity-DLpPeD5p.js"; import { n as translateTranslatable, r as LoaderWrapper } from "./utils-C1buyvRw.js"; import { t as Confirm } from "./Confirm-CA-gL38n.js"; import { n as Image } from "./unincorporated-partnership-nnTW3FnG.js"; import { n as getLegalEntityNameBasedOnType, r as getPayoutAccountHolderName } from "./getName-D4ECvzcI.js"; import { i as FormFlow, n as addValidityToForms, o as useFormComposer, r as getRequiredForms, s as FormContextProvider, t as useFormContext } from "./useFormContext-CYHfY4k5.js"; import { r as getPropsFromConfigurations, t as augmentWithCountryConfigs } from "./process-field-configurations-DQlTj--V.js"; import { t as ErrorPanel } from "./ErrorPanel-DGlzO81g.js"; import { t as trackNavigation } from "./trackNavigation-DR70qR8T.js"; import { n as mergeFieldMetadataIntoProps, t as createFormUtils } from "./formUtils-DVc3a6gf.js"; import { n as summaryStep } from "./Summary-HxzWpI7W.js"; import { r as summaryItem } from "./summaryItem-uDWmtYtt.js"; import { n as isNotEmptyValidator, t as useMultiForm } from "./useMultiForm-ducdUyQ6.js"; import { a as useUnifyLoadingStatus, i as useScenarioConfiguration, o as payoutAccountFormat, r as getPageName, t as mapExistingFile } from "./mapExistingFile-BmI24MBQ.js"; import { t as useTaskLandedEvent } from "./useTaskLandedEvent-BXtOctC4.js"; import { a as alphanumericInputs, c as nonInputs, i as alphaInputs, l as numericInputs, o as customInputs, s as makeMask, t as MaskedInput, u as spacer } from "./MaskedInput-_dYxgb7_.js"; import { a as mapCreateOrUpdateTransferInstrumentErrorMessageToTranslatable, i as isValidationError, o as processValidationErrors, r as isIdDocumentUploadError, s as isMaintenanceModeError, t as isBankStatementUploadError } from "./validationError-COmWiy16.js"; import { a as createDocumentRequest, i as bytesToSize, l as getFileExtention, n as fileValidationRules, o as documentApiUtils, r as DropzoneFile, s as getDocument, t as defaultFileValidationOptions } from "./validate-DkjeS-zE.js"; import { t as omitObscuredFieldsIfUnchanged } from "./omitObscuredFieldsIfUnchanged-BehYhDYw.js"; import { t as uppercase } from "./uppercase-DvjwUM0n.js"; import { o as validatePatternOnBlur } from "./patternValidators-DFve5Dzt.js"; import { t as bankStatementDescriptionPattern } from "./basePatterns-plHFNzgJ.js"; import { t as resolveFieldMetadata } from "./fieldConfigurations-CZCFghnK.js"; import { t as Field } from "./Field-DoXLi6EY.js"; import { t as LandingLayout } from "./LandingLayout-CUAkXrpL.js"; import { t as Select } from "./Select-DUo2rOfa.js"; import { t as TextArea } from "./TextArea-CT04Dg1N.js"; import { t as Link } from "./Link-JFzfaUOa.js"; import { t as InputText } from "./InputText-B0N7am-q.js"; import { n as CountryField } from "./CountryField-D-Q958WF.js"; import { t as ContextGuidance } from "./ContextGuidance-R45SnI5u.js"; import { t as createFormRules } from "./form-rules-CUUQGacJ.js"; import { t as Tag } from "./Tag-CNeDHqKp.js"; import { n as useTransferInstrument, t as mapTransferInstrumentToPayoutAccount } from "./mapTransferInstrumentToPayoutAccount-CxdVWYkh.js"; import { t as Currencies } from "./currency-DQwXq9Mc.js"; import { t as currencyByCountry } from "./types-QSnyOf8p.js"; import { t as useUnincorporatedPartnershipMembers } from "./useUnincorporatedPartnershipMembers-7T2XW_zN.js"; import { t as Divider } from "./Divider-BENvVRnz.js"; import { lazy, memo, useMemo, useRef, useState } from "preact/compat"; import { useCallback as useCallback$1, useContext as useContext$1, useEffect as useEffect$1, useMemo as useMemo$1, useRef as useRef$1, useState as useState$1 } from "preact/hooks"; import cx from "classnames"; import { Fragment as Fragment$1, jsx, jsxs } from "preact/jsx-runtime"; import { signal } from "@preact/signals"; import { skipToken, useMutation, useQuery, useQueryClient } from "@tanstack/preact-query"; import { createContext as createContext$1 } from "preact"; import { Show } from "@preact/signals/utils"; import OpenBankingSDK from "@adyen/openbankingsdk"; //#region src/api/check/useCheck.ts var performCheck = async (legalEntityId, baseUrl, data) => { return httpPost({ baseUrl, path: `legalEntities/${legalEntityId}/checks/bankAccount` }, data); }; var useCheck = (options) => { const { rootLegalEntityId, baseUrl: url } = useApiContext(); return useMutation({ mutationFn: (data) => performCheck(rootLegalEntityId.value, url.value, data), ...options }); }; //#endregion //#region src/api/transferInstruments/useBankVerificationProviders.ts var getBankVerificationProviders = async (legalEntityId, baseUrl, queryParams) => { const { country, locale, configId } = queryParams; return httpGet({ baseUrl, path: `legalEntities/${legalEntityId}/transferInstruments/trusted/providers?${new URLSearchParams({ country, locale, ...configId && { configId } })}` }); }; /** * Retrieves the list of bank verification providers and their respective urls. * Bank verification providers are used to instantly verify payout accounts. * @param queryParams the relevant country, locale, and configId * @param options additional options passed to Tanstack Query, eg; onSuccess */ var useBankVerificationProviders = (queryParams, options) => { const { rootLegalEntityId, baseUrl } = useApiContext(); return useQuery({ queryKey: ["bankVerificationProviders", queryParams], queryFn: () => getBankVerificationProviders(rootLegalEntityId.value, baseUrl.value, queryParams), ...options }); }; //#endregion //#region src/api/transferInstruments/useCreateTransferInstrument.ts var createTransferInstrument = async (rootLegalEntityId, baseUrl, transferInstrument) => { return httpPost({ baseUrl, path: `legalEntities/${rootLegalEntityId}/transferInstruments` }, transferInstrument); }; //#endregion //#region src/api/transferInstruments/useCreateTrustedTransferInstrument.ts var createTrustedTransferInstrument = async (legalEntityId, baseUrl, data) => { return httpPost({ baseUrl, path: `legalEntities/${legalEntityId}/transferInstruments/trusted` }, data); }; /** * Creates a trusted transfer instrument in LEM using the information provided by Open Banking * @param options additional options passed to Tanstack Query, eg; onSuccess */ var useCreateTrustedTransferInstrument = (options) => { const { rootLegalEntityId, baseUrl } = useApiContext(); return useMutation({ mutationFn: (data) => createTrustedTransferInstrument(rootLegalEntityId.value, baseUrl.value, data), ...options }); }; //#endregion //#region src/api/transferInstruments/useUpdateTransferInstrument.ts var updateTransferInstrument = async (legalEntityId, baseUrl, transferInstrument, transferInstrumentId) => { return httpPost({ baseUrl, path: `legalEntities/${legalEntityId}/transferInstruments/${transferInstrumentId}` }, transferInstrument); }; /** * Updates a transfer instrument associated with a legal entity * When update is successful, updates the transfer instrument query and invalidates transfer instruments * @param options additional options passed to Tanstack Query */ var useUpdateTransferInstrument = (options) => { const { rootLegalEntityId, baseUrl } = useApiContext(); const queryClient = useQueryClient(); return useMutation({ mutationFn: ({ transferInstrument, transferInstrumentId }) => updateTransferInstrument(rootLegalEntityId.value, baseUrl.value, transferInstrument, transferInstrumentId), onSuccess: async (transferInstrument) => { queryClient.setQueryData(["transferInstrument", transferInstrument.id], transferInstrument); await queryClient.invalidateQueries({ queryKey: ["transferInstruments"] }); }, ...options }); }; //#endregion //#region src/api/transferInstruments/useUpdateTrustedTransferInstrument.ts var updateTrustedTransferInstrument = async (legalEntityId, baseUrl, preferredCurrencyCode, transferInstrumentId) => { return httpPost({ baseUrl, path: `legalEntities/${legalEntityId}/transferInstruments/trusted/${transferInstrumentId}` }, { preferredCurrencyCode }); }; /** * Updates a trusted transfer instrument associated with a legal entity * When update is successful, updates the transfer instrument query and invalidates transfer instruments * @param options additional options passed to Tanstack Query */ var useUpdateTrustedTransferInstrument = (options) => { const { rootLegalEntityId, baseUrl } = useApiContext(); return useMutation({ mutationFn: ({ preferredCurrencyCode, transferInstrumentId }) => updateTrustedTransferInstrument(rootLegalEntityId.value, baseUrl.value, preferredCurrencyCode, transferInstrumentId), ...options }); }; //#endregion //#region src/datasets/generators/getAccountFormatForCountry.ts var accountFormatsImports = /* @__PURE__ */ Object.assign({ "../accountFormats/AD.json": () => import("./AD-Clkur2Hx.js"), "../accountFormats/AE.json": () => import("./AE-BUOfE-VR.js"), "../accountFormats/AI.json": () => import("./AI-BApAOdVW.js"), "../accountFormats/AL.json": () => import("./AL-DfPgkH9x.js"), "../accountFormats/AR.json": () => import("./AR-Bddz61XJ.js"), "../accountFormats/AS.json": () => import("./AS-C3xgvOIz.js"), "../accountFormats/AT.json": () => import("./AT-DnJdtYnd.js"), "../accountFormats/AU.json": () => import("./AU-DL1fsj76.js"), "../accountFormats/AX.json": () => import("./AX-BTtRN-MP.js"), "../accountFormats/AZ.json": () => import("./AZ-CXVL6e85.js"), "../accountFormats/BA.json": () => import("./BA-27B-jpFq.js"), "../accountFormats/BE.json": () => import("./BE-BSUwgR6_.js"), "../accountFormats/BG.json": () => import("./BG-ChvSTIBz.js"), "../accountFormats/BH.json": () => import("./BH-D1HvWueK.js"), "../accountFormats/BM.json": () => import("./BM-bLwVUrnz.js"), "../accountFormats/BR.json": () => import("./BR-nSEEl5uz.js"), "../accountFormats/BS.json": () => import("./BS-Bf402NRj.js"), "../accountFormats/BV.json": () => import("./BV-CJwVioP4.js"), "../accountFormats/BY.json": () => import("./BY-CYaB1wEE.js"), "../accountFormats/CA.json": () => import("./CA-B49VPJKw.js"), "../accountFormats/CH.json": () => import("./CH-BASES6q1.js"), "../accountFormats/CN.json": () => import("./CN-CEIcYgEd.js"), "../accountFormats/CR.json": () => import("./CR-CU6MVhAz.js"), "../accountFormats/CY.json": () => import("./CY-DSZIX0eb.js"), "../accountFormats/CZ.json": () => import("./CZ-CUYgGHVo.js"), "../accountFormats/DE.json": () => import("./DE-3Qc-SfVV.js"), "../accountFormats/DK.json": () => import("./DK--Bs4HfJM.js"), "../accountFormats/DO.json": () => import("./DO-D4wgMRWE.js"), "../accountFormats/EC.json": () => import("./EC-B2FGK-mr.js"), "../accountFormats/EE.json": () => import("./EE-qXeASUC-.js"), "../accountFormats/ES.json": () => import("./ES-BBz54aGb.js"), "../accountFormats/FI.json": () => import("./FI-DHkXLS9S.js"), "../accountFormats/FJ.json": () => import("./FJ-V_2w3UTO.js"), "../accountFormats/FO.json": () => import("./FO-DR-Xnm7u.js"), "../accountFormats/FR.json": () => import("./FR-CtpYelsq.js"), "../accountFormats/GB.json": () => import("./GB-G_B8HSJg.js"), "../accountFormats/GE.json": () => import("./GE-By9lo4py.js"), "../accountFormats/GF.json": () => import("./GF-B0xFBl9q.js"), "../accountFormats/GG.json": () => import("./GG-bAeosM_i.js"), "../accountFormats/GI.json": () => import("./GI-DfkPsLw0.js"), "../accountFormats/GL.json": () => import("./GL-DhRtJPZY.js"), "../accountFormats/GP.json": () => import("./GP-DNyYQvJw.js"), "../accountFormats/GR.json": () => import("./GR-DK-QrYIO.js"), "../accountFormats/GT.json": () => import("./GT-BRuMYK92.js"), "../accountFormats/GU.json": () => import("./GU-DAYIt05K.js"), "../accountFormats/HK.json": () => import("./HK-DeKSh6yq.js"), "../accountFormats/HR.json": () => import("./HR-D0EqC8kx.js"), "../accountFormats/HU.json": () => import("./HU-DIT5cG5Z.js"), "../accountFormats/ID.json": () => import("./ID-BBzj2tyK.js"), "../accountFormats/IE.json": () => import("./IE-CxtzANSG.js"), "../accountFormats/IL.json": () => import("./IL-CgJ0eWPT.js"), "../accountFormats/IM.json": () => import("./IM-Ca1LRzUz.js"), "../accountFormats/IN.json": () => import("./IN--pr2-g7e.js"), "../accountFormats/IS.json": () => import("./IS-BZeqGau3.js"), "../accountFormats/IT.json": () => import("./IT-BioiAQgd.js"), "../accountFormats/JE.json": () => import("./JE-BCj36onT.js"), "../accountFormats/JM.json": () => import("./JM-b03xrGTz.js"), "../accountFormats/JO.json": () => import("./JO-CA8m_H5N.js"), "../accountFormats/JP.json": () => import("./JP-DroDT2u3.js"), "../accountFormats/KR.json": () => import("./KR-BkBLDQIT.js"), "../accountFormats/KW.json": () => import("./KW-dB3SXEf8.js"), "../accountFormats/KY.json": () => import("./KY-mZ-zKVkq.js"), "../accountFormats/KZ.json": () => import("./KZ-CcyUPGdv.js"), "../accountFormats/LB.json": () => import("./LB-DmtcVmjU.js"), "../accountFormats/LI.json": () => import("./LI-haSXATP0.js"), "../accountFormats/LT.json": () => import("./LT-CYlhLD3-.js"), "../accountFormats/LU.json": () => import("./LU-CnQilYzI.js"), "../accountFormats/LV.json": () => import("./LV-BJoOuCmD.js"), "../accountFormats/MC.json": () => import("./MC-1OhRuam2.js"), "../accountFormats/MD.json": () => import("./MD-DN7TRpmW.js"), "../accountFormats/ME.json": () => import("./ME-CuMiA40n.js"), "../accountFormats/MK.json": () => import("./MK-DGR-uR66.js"), "../accountFormats/MP.json": () => import("./MP-xhfj0dkC.js"), "../accountFormats/MQ.json": () => import("./MQ-CZu5G2-t.js"), "../accountFormats/MR.json": () => import("./MR--V7elAIS.js"), "../accountFormats/MT.json": () => import("./MT-BmkVDeF2.js"), "../accountFormats/MU.json": () => import("./MU-LzgqzZzT.js"), "../accountFormats/MX.json": () => import("./MX-z-WoZkPd.js"), "../accountFormats/MY.json": () => import("./MY-WsFwWp2U.js"), "../accountFormats/NC.json": () => import("./NC-B9M8cc6C.js"), "../accountFormats/NL.json": () => import("./NL-CXjh0eXG.js"), "../accountFormats/NO.json": () => import("./NO-BuWcaqBm.js"), "../accountFormats/NZ.json": () => import("./NZ-BDDXct1F.js"), "../accountFormats/PE.json": () => import("./PE-DJZc_8Lk.js"), "../accountFormats/PF.json": () => import("./PF-D593LuXT.js"), "../accountFormats/PH.json": () => import("./PH-CJRjYgx3.js"), "../accountFormats/PK.json": () => import("./PK-C1TVRYA6.js"), "../accountFormats/PL.json": () => import("./PL-C3tudSnw.js"), "../accountFormats/PM.json": () => import("./PM-CPvVGX_s.js"), "../accountFormats/PR.json": () => import("./PR-C6mnN4I1.js"), "../accountFormats/PS.json": () => import("./PS-Bqa7HAb6.js"), "../accountFormats/PT.json": () => import("./PT-BHFP2Jx8.js"), "../accountFormats/QA.json": () => import("./QA-B2A0rFrR.js"), "../accountFormats/RE.json": () => import("./RE-BSdvJRM5.js"), "../accountFormats/RO.json": () => import("./RO-BZxtXYEM.js"), "../accountFormats/RS.json": () => import("./RS-DAtcOeON.js"), "../accountFormats/RU.json": () => import("./RU-CDpkuVOX.js"), "../accountFormats/SA.json": () => import("./SA-BoAcP38a.js"), "../accountFormats/SE.json": () => import("./SE-DX5R7MEM.js"), "../accountFormats/SG.json": () => import("./SG-Dm4nWFwC.js"), "../accountFormats/SI.json": () => import("./SI-CbzJWJo5.js"), "../accountFormats/SJ.json": () => import("./SJ-C0EiPIY7.js"), "../accountFormats/SK.json": () => import("./SK-Bg9K35hT.js"), "../accountFormats/SM.json": () => import("./SM-BAP1izca.js"), "../accountFormats/TF.json": () => import("./TF-BzLXwUD9.js"), "../accountFormats/TH.json": () => import("./TH-wvwE8m03.js"), "../accountFormats/TL.json": () => import("./TL-CAwOhktT.js"), "../accountFormats/TN.json": () => import("./TN-Bs-VE6A_.js"), "../accountFormats/TR.json": () => import("./TR-7uYc2xp7.js"), "../accountFormats/TT.json": () => import("./TT-DbzL2xhJ.js"), "../accountFormats/TW.json": () => import("./TW-BTAvA4FA.js"), "../accountFormats/UA.json": () => import("./UA-BAkAL82L.js"), "../accountFormats/US.json": () => import("./US-BXek71cY.js"), "../accountFormats/UY.json": () => import("./UY-Bq43JSIl.js"), "../accountFormats/VA.json": () => import("./VA-CHkQ7jk0.js"), "../accountFormats/VG.json": () => import("./VG-DnUOjTKa.js"), "../accountFormats/VI.json": () => import("./VI-CjjaTPrq.js"), "../accountFormats/VN.json": () => import("./VN-DgqMueJl.js"), "../accountFormats/WF.json": () => import("./WF-Czcwchbb.js"), "../accountFormats/YT.json": () => import("./YT-BTQIBrb1.js"), "../accountFormats/ZA.json": () => import("./ZA-BAufwt8q.js") }); var getAccountFormatsForCountry = async (country) => { const importForCountry = accountFormatsImports[`../accountFormats/${country}.json`]; if (!importForCountry) throw Error(`No account formats available for ${country}`); return { ...(await importForCountry()).default, numberAndBic: { bankStatementRequirement: "OPTIONAL", fields: ["bankAccountNumber", "swiftCode"] } }; }; //#endregion //#region src/api/documentValidation/useDocumentMultipartValidate.ts var validateDocumentMultipart = async (context, request) => { const { baseUrl, rootLegalEntityId } = context; const formData = new FormData(); formData.append("file", request.file, request.fileName); formData.append("fileName", request.fileName); formData.append("documentType", request.documentType); formData.append("sessionId", request.sessionId); return httpPost({ baseUrl, path: `legalEntities/${rootLegalEntityId}/genai/classifyDocument` }, formData); }; var useValidateDocumentMultipart = (options) => { const { rootLegalEntityId, baseUrl } = useApiContext(); return useMutation({ mutationFn: (payload) => validateDocumentMultipart({ rootLegalEntityId: rootLegalEntityId.value, baseUrl: baseUrl.value }, payload), retry: 0, ...options }); }; //#endregion //#region src/components/ui/molecules/Dropzone/FilePicker.tsx function FilePicker({ files, setFiles, isValid, errorMessage, multiple = false, label, name, iconPrefix = "generic-document", enableTracking = false, id, loading, allowedFileTypes, maxSize, isOptional, maxNumberOfFiles, "aria-describedby": ariaDescribedBy, "aria-labelledby": ariaLabelledBy }) { const { t } = useTranslation("ui"); const userEvents = useAnalyticsContext(); const fileInput = useRef$1(null); const [dragged, setDragged] = useState$1(false); const hasRequiredError = errorMessage === "fieldIsRequired"; const showDropzone = files.length < maxNumberOfFiles; const openFilePicker = () => fileInput.current?.click(); const handleFileDelete = (fileToDelete) => { setFiles(files.filter((file) => file !== fileToDelete)); if (enableTracking) userEvents.addFieldEvent("Interacted with form field", { actionType: "remove", field: name || "dropzone" }); }; const handleDragEnter = (e) => { e.preventDefault(); e.stopPropagation(); }; const handleDragLeave = (e) => { e.preventDefault(); e.stopPropagation(); setDragged(false); }; const handleDragOver = (e) => { e.preventDefault(); e.stopPropagation(); setDragged(true); }; const handleDrop = (e) => { e.preventDefault(); e.stopPropagation(); if (e.dataTransfer) addFiles(e.dataTransfer.files); setDragged(false); }; const handleFilesChosen = (e) => { const fileInput = e.currentTarget; if (fileInput.files) addFiles(fileInput.files); }; const addFiles = (newFiles) => { if (enableTracking) userEvents.addFieldEvent("Interacted with form field", { actionType: "change", field: name || "dropzone" }); setFiles([...newFiles, ...files]); }; const allowedFileTypesString = allowedFileTypes.join(", "); return /* @__PURE__ */ jsxs("div", { children: [ label && /* @__PURE__ */ jsx("div", { className: cx("adyen-kyc-label__text", { "adyen-kyc-label__text--error": hasRequiredError }), children: label }), files.map((file) => /* @__PURE__ */ jsx(DropzoneFile, { file, onDelete: () => { handleFileDelete(file); }, errorMessage, iconPrefix, loading }, file)), showDropzone && /* @__PURE__ */ jsxs("div", { role: "region", className: cx("adyen-kyc-dropzone", { "adyen-kyc-dropzone--dragged": dragged, "adyen-kyc-dropzone--error": !dragged && hasRequiredError }), onDrop: handleDrop, onDragOver: handleDragOver, onDragEnter: handleDragEnter, onDragLeave: handleDragLeave, children: [ /* @__PURE__ */ jsx("div", { className: "adyen-kyc-dropzone__icon", children: /* @__PURE__ */ jsx(Icon, { name: "upload" }) }), /* @__PURE__ */ jsxs("div", { className: "adyen-kyc-dropzone__labels", children: [ /* @__PURE__ */ jsx(Typography, { el: "h4", variant: "body-strongest", children: t(($) => $["dropFileToUpload"]) }), /* @__PURE__ */ jsx(Typography, { color: "secondary", children: t(($) => $["supportedFileTypes"], { fileTypes: allowedFileTypesString }) }), /* @__PURE__ */ jsx(Typography, { color: "secondary", children: t(($) => $["maxFileSizeOnly"], { maxSize: bytesToSize(maxSize) }) }), /* @__PURE__ */ jsx(Typography, { color: "secondary", children: t(($) => $["upToFiles"], { maxFiles: maxNumberOfFiles }) }) ] }), /* @__PURE__ */ jsx("div", { className: "adyen-kyc-dropzone__button", children: /* @__PURE__ */ jsx(Button, { onClick: openFilePicker, variant: "secondary", children: t(($) => $["browseFiles"]) }) }), /* @__PURE__ */ jsx("input", { id, className: "adyen-kyc-dropzone__input", ref: fileInput, multiple, accept: allowedFileTypesString, onChange: handleFilesChosen, type: "file", "aria-required": !isOptional, "aria-describedby": ariaDescribedBy, "aria-labelledby": ariaLabelledBy, "data-testid": "hidden-file-input", "aria-invalid": !isValid }) ] }), hasRequiredError && /* @__PURE__ */ jsx("div", { className: "adyen-kyc-error-text", children: t(($) => $["fieldIsRequired"]) }) ] }); } //#endregion //#region src/utils/getFormSlice.ts function getFormSlice(form, formName) { return { data: form.data[formName], valid: form.valid[formName], errors: form.errors[formName], requiredFields: form.requiredFields?.[formName], optionalFields: form.optionalFields?.[formName], obscuredFields: form.obscuredFields?.[formName], trustedFields: form.trustedFields?.[formName], handleChange: (key, mode) => form.handleChangeFor(formName, key, mode) }; } //#endregion //#region src/components/BankAccount/fields/BankAccountNumber/fieldConfig.ts var simpleBankAccountNumberMetadata = (example, length, maxLength) => { if (maxLength) return { validators: validatePatternOnBlur(new RegExp(`^\\d{${length},${maxLength}}$`)), mask: { mask: makeMask(...numericInputs(length), ...numericInputs(maxLength - length, true)) }, guidanceText: { key: "enterAMaximumOfNDigitsForExample", values: { maxDigits: `${maxLength}`, example } } }; return { validators: validatePatternOnBlur(new RegExp(`^\\d{${length}}$`)), mask: { mask: makeMask(...numericInputs(length)) }, guidanceText: { key: "enterNDigitsForExample", values: { numDigits: `${length}`, example } } }; }; var defaultFieldMetadata$3 = { validators: isNotEmptyValidator }; var defaultFieldConfig$3 = { [CountryCodes.CzechRepublic]: { validators: validatePatternOnBlur(/^((\d{2}|\d{6})-)?\d*\d{2}$/), mask: { mask: makeMask(...numericInputs(2), ...customInputs(1, /-|\d/), ...numericInputs(3), ...customInputs(1, /-|\d/), ...numericInputs(10)) }, guidanceText: { key: "enterXToYDigitsWithOrWithoutPrefixForExample", values: { minDigits: "2", maxDigits: "16", firstExample: "19-123457", secondExample: "123457" } } }, [CountryCodes.Denmark]: simpleBankAccountNumberMetadata("2621955959", 10), [CountryCodes.Norway]: simpleBankAccountNumberMetadata("86011117947", 11), [CountryCodes.UnitedKingdom]: simpleBankAccountNumberMetadata("10000003", 8), [CountryCodes.Australia]: simpleBankAccountNumberMetadata("0001234", 5, 10), [CountryCodes.Brazil]: simpleBankAccountNumberMetadata("0009795493", 4, 12), [CountryCodes.Canada]: simpleBankAccountNumberMetadata("10220001111", 5, 12), [CountryCodes.HongKong]: { validators: validatePatternOnBlur(new RegExp(`^\\d{6,18}$`)), mask: { mask: makeMask(...numericInputs(6), ...numericInputs(12, true)) }, guidanceText: { key: "enterAccountNumberWithBranchCodeForExample", values: { minDigits: "9", maxDigits: "15", example: "790000000" } } }, [CountryCodes.Hungary]: simpleBankAccountNumberMetadata("117730161111101800000000", 24), [CountryCodes.Singapore]: simpleBankAccountNumberMetadata("0052312891876", 4, 19), [CountryCodes.Sweden]: simpleBankAccountNumberMetadata("123456789", 7, 10), [CountryCodes.UnitedStates]: simpleBankAccountNumberMetadata("10220001111", 3, 17), [CountryCodes.Poland]: { validators: validatePatternOnBlur(/^\d{26}$/), mask: { mask: makeMask(...numericInputs(2), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4), spacer, ...numericInputs(4)) }, guidanceText: { key: "enterNDigitsForExample", values: { numDigits: "26", example: "98 1090 2402 7474 4662 2173 1624" } } }, [CountryCodes.NewZealand]: { validators: validatePatternOnBlur(/^\d{15,16}$/), mask: { mask: makeMask(...numericInputs(2), ...nonInputs(" - "), ...numericInputs(4), ...nonInputs(" - "), ...numericInputs(7), ...nonInputs(" - "), ...numericInputs(2), ...numericInputs(1, true)) }, guidanceText: { key: "enterXToYDigitsForExample", values: { minDigits: "15", maxDigits: "16", example: "12-8765-9876543-043" } } } }; //#endregion //#region src/components/BankAccount/fields/BankCode/fieldConfig.ts var defaultFieldMetadata$2 = { label: "bankCode", validators: isNotEmptyValidator }; var simpleBankCodeMetadata = (length, example, label) => ({ label: label ?? "bankCode", validators: validatePatternOnBlur(new RegExp(`^\\d{${length}}$`)), mask: { mask: makeMask(...numericInputs(length)) }, guidanceText: { key: "enterNDigitsForExample", values: { numDigits: `${length}`, example } } }); var defaultFieldConfig$2 = { [CountryCodes.Brazil]: simpleBankCodeMetadata(3, "123"), [CountryCodes.Canada]: simpleBankCodeMetadata(3, "001", "institutionNumber"), [CountryCodes.CzechRepublic]: simpleBankCodeMetadata(4, "0800"), [CountryCodes.Denmark]: simpleBankCodeMetadata(4, "5051"), [CountryCodes.HongKong]: simpleBankCodeMetadata(3, "250"), [CountryCodes.Norway]: simpleBankCodeMetadata(4, "8601"), [CountryCodes.Ecuador]: simpleBankCodeMetadata(4, "1234"), [CountryCodes.Japan]: simpleBankCodeMetadata(4, "1234"), [CountryCodes.Taiwan]: simpleBankCodeMetadata(3, "123") }; //#endregion //#region src/components/BankAccount/fields/BranchCode/fieldConfig.ts var defaultFieldMetadata$1 = { label: "branchCode", validators: isNotEmptyValidator }; var defaultFieldConfig$1 = { [CountryCodes.UnitedKingdom]: { label: "sortCode", validators: validatePatternOnBlur(/^\d{6}$/), mask: { mask: makeMask(...numericInputs(6)) }, guidanceText: { key: "enterNDigitsForExample", values: { numDigits: "6", example: "401199" } } }, [CountryCodes.Australia]: { label: "bsbNumber", validators: validatePatternOnBlur(/^\d{6}$/), mask: { mask: makeMask(...numericInputs(3), ...nonInputs(" - "), ...numericInputs(3)) }, guidanceText: { key: "enterNDigitsForExample", values: { numDigits: "6", example: "033-547" } } }, [CountryCodes.Brazil]: { label: "branchCode", validators: validatePatternOnBlur(/^\d{1,5}$/), mask: { mask: makeMask(...numericInputs(1), ...numericInputs(4, true)) }, guidanceText: { key: "enterAMaximumOfNDigitsForExample", values: { maxDigits: "5", example: "36257" } } }, [CountryCodes.Canada]: { label: "transitNumber", validators: validatePatternOnBlur(/^\d{5}$/), mask: { mask: makeMask(...numericInputs(5)) }, guidanceText: { key: "enterNDigitsForExample", values: { numDigits: "5", example: "27601" } } }, [CountryCodes.UnitedStates]: { label: "routingNumber", validators: validatePatternOnBlur(/^\d{9}$/), mask: { mask: makeMask(...numericInputs(9)) }, guidanceText: { key: "enterNDigitsForExample", values: { numDigits: "9", example: "107005432" } } }, [CountryCodes.Sweden]: { label: "branchCode", validators: validatePatternOnBlur(/^(\d{4}|8\d{4})$/), mask: { mask: makeMask(...numericInputs(4), ...nonInputs(" - ", { displayEagerly: false }), ...numericInputs(1, true)) }, guidanceText: { key: "enterXOrYDigitsForExample", values: { xDigits: "4", yDigits: "5", example: "5678 or 8635-2" } } }, [CountryCodes.Indonesia]: { label: "clearingCode", validators: isNotEmptyValidator } }; //#endregion //#region src/components/BankAccount/fields/Iban/ibanValidator.ts /** * Basic Bank Account Number pattern per country */ var bbanPatternsByCountry = { [CountryCodes.Albania]: /\d{8}[\dA-Z]{16}/, [CountryCodes.Andorra]: /\d{8}[\dA-Z]{12}/, [CountryCodes.Austria]: /\d{16}/, [CountryCodes.Azerbaijan]: /[\dA-Z]{4}\d{20}/, [CountryCodes.Belgium]: /\d{12}/, [CountryCodes.Bahrain]: /[A-Z]{4}[\dA-Z]{14}/, [CountryCodes.BosniaAndHerzegovina]: /\d{16}/, [CountryCodes.Brazil]: /\d{23}[A-Z][\dA-Z]/, [CountryCodes.Bulgaria]: /[A-Z]{4}\d{6}[\dA-Z]{8}/, [CountryCodes.CostaRica]: /\d{17}/, [CountryCodes.Croatia]: /\d{17}/, [CountryCodes.Cyprus]: /\d{8}[\dA-Z]{16}/, [CountryCodes.CzechRepublic]: /\d{20}/, [CountryCodes.Denmark]: /\d{14}/, [CountryCodes.DominicanRepublic]: /[A-Z]{4}\d{20}/, [CountryCodes.Estonia]: /\d{16}/, [CountryCodes.FaroeIslands]: /\d{14}/, [CountryCodes.Finland]: /\d{14}/, [CountryCodes.France]: /\d{10}[\dA-Z]{11}\d{2}/, [CountryCodes.Georgia]: /[\dA-Z]{2}\d{16}/, [CountryCodes.Germany]: /\d{18}/, [CountryCodes.Gibraltar]: /[A-Z]{4}[\dA-Z]{15}/, [CountryCodes.Greece]: /\d{7}[\dA-Z]{16}/, [CountryCodes.Greenland]: /\d{14}/, [CountryCodes.Guatemala]: /[\dA-Z]{4}[\dA-Z]{20}/, [CountryCodes.Hungary]: /\d{24}/, [CountryCodes.Iceland]: /\d{22}/, [CountryCodes.Ireland]: /[\dA-Z]{4}\d{14}/, [CountryCodes.Israel]: /\d{19}/, [CountryCodes.Italy]: /[A-Z]\d{10}[\dA-Z]{12}/, [CountryCodes.Kazakhstan]: /\d{3}[\dA-Z]{13}/, [CountryCodes.Kuwait]: /[A-Z]{4}[\dA-Z]{22}/, [CountryCodes.Latvia]: /[A-Z]{4}[\dA-Z]{13}/, [CountryCodes.Lebanon]: /\d{4}[\dA-Z]{20}/, [CountryCodes.Liechtenstein]: /\d{5}[\dA-Z]{12}/, [CountryCodes.Lithuania]: /\d{16}/, [CountryCodes.Luxembourg]: /\d{3}[\dA-Z]{13}/, [CountryCodes.Macedonia]: /\d{3}[\dA-Z]{10}\d{2}/, [CountryCodes.Malta]: /[A-Z]{4}\d{5}[\dA-Z]{18}/, [CountryCodes.Mauritania]: /\d{23}/, [CountryCodes.Mauritius]: /[A-Z]{4}\d{19}[A-Z]{3}/, [CountryCodes.Monaco]: /\d{10}[\dA-Z]{11}\d{2}/, [CountryCodes.Moldova]: /[\dA-Z]{2}\d{18}/, [CountryCodes.Montenegro]: /\d{18}/, [CountryCodes.Netherlands]: /[A-Z]{4}\d{10}/, [CountryCodes.Norway]: /\d{11}/, [CountryCodes.Pakistan]: /[\dA-Z]{4}\d{16}/, [CountryCodes.PalestinianTerritory]: /[\dA-Z]{4}\d{21}/, [CountryCodes.Poland]: /\d{24}/, [CountryCodes.Portugal]: /\d{21}/, [CountryCodes.Romania]: /[A-Z]{4}[\dA-Z]{16}/, [CountryCodes.SanMarino]: /[A-Z]\d{10}[\dA-Z]{12}/, [CountryCodes.SaudiArabia]: /\d{2}[\dA-Z]{18}/, [CountryCodes.Serbia]: /\d{18}/, [CountryCodes.Slovakia]: /\d{20}/, [CountryCodes.Slovenia]: /\d{15}/, [CountryCodes.Spain]: /\d{20}/, [CountryCodes.Sweden]: /\d{20}/, [CountryCodes.Switzerland]: /\d{5}[\dA-Z]{12}/, [CountryCodes.Tunisia]: /\d{20}/, [CountryCodes.Turkey]: /\d{5}[\dA-Z]{17}/, [CountryCodes.UnitedArabEmirates]: /\d{3}\d{16}/, [CountryCodes.UnitedKingdom]: /[A-Z]{4}\d{14}/, [CountryCodes.VirginIslandsBritish]: /[\dA-Z]{4}\d{16}/ }; /** * For some regions the iban format is shared and therefore can accept IBANs starting * with some other country code */ var customPrefixByCountry = { [CountryCodes.Guernsey]: "GB", [CountryCodes.Jersey]: "GB", [CountryCodes.IsleOfMan]: "GB" }; function ibanValidator(input, bankCountry) { if (isEmpty(input)) return false; const ibanInput = input.replace(/ /g, "").toUpperCase(); if (!/^([a-zA-Z0-9]{4} ){2,8}[a-zA-Z0-9]{1,4}|[a-zA-Z0-9]{12,34}$/.test(ibanInput)) return false; const countryCode = ibanInput.substring(0, 2); const allowedPrefix = customPrefixByCountry[bankCountry] ?? bankCountry; if (countryCode !== allowedPrefix) return { key: "yourIbanShouldBeginWith_", values: { countryCode: allowedPrefix } }; const bbanPattern = bbanPatternsByCountry[countryCode]; if (bbanPattern) { if (!new RegExp(`^[A-Z]{2}\\d{2}${bbanPattern.source}$`, "").test(ibanInput)) return false; } const ibanCheck = ibanInput.substring(4, ibanInput.length) + ibanInput.substring(0, 4); let leadingZeroes = true; let ibanCheckDigits = ""; for (let i = 0; i < ibanCheck.length; i += 1) { const charAt = ibanCheck.charAt(i); if (charAt !== "0") leadingZeroes = false; if (!leadingZeroes) ibanCheckDigits += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt); } let cRest = 0; for (let p = 0; p < ibanCheckDigits.length; p += 1) { const cChar = ibanCheckDigits.charAt(p); cRest = +`${cRest}${cChar}` % 97; } return cRest === 1; } //#endregion //#region src/components/BankAccount/fields/Iban/fieldConfig.ts var validateIbanOnBlurAndInput = (country) => ({ modes: ["blur", "input"], validate: (iban) => ibanValidator(iban, country) === true, errorMessage: (iban) => { const result = ibanValidator(iban, country); return typeof result === "boolean" ? void 0 : result; } }); var ibanMask = (country, inputLength, allowLettersInBban) => { const tokens = []; tokens.push(...nonInputs(country, { includeInValue: true }), ...numericInputs(2)); inputLength -= 2; const inputToken = allowLettersInBban ? alphanumericInputs : numericInputs; const numGroups = Math.floor(inputLength / 4); const remainder = inputLength % 4; for (let i = 0; i < numGroups; i += 1) tokens.push(spacer, ...inputToken(4)); if (remainder > 0) tokens.push(spacer, ...inputToken(remainder)); return { mask: makeMask(...tokens), transformOnType: allowLettersInBban ? uppercase : void 0 }; }; var ibanGuidance = (type, numDigitsOrChars, example) => type === "digits" ? { key: "enterTheRemainingNDigitsForExample", values: { numDigits: `${numDigitsOrChars}`, example } } : { key: "enterTheRemainingNCharactersForExample", values: { numChars: `${numDigitsOrChars}`, example } }; var ibanMetadata = (country, inputLength, example, allowLettersInBban) => ({ validators: validateIbanOnBlurAndInput(country), mask: ibanMask(country, inputLength, allowLettersInBban), guidanceText: ibanGuidance(allowLettersInBban ? "characters" : "digits", inputLength, example) }); var gbIbanMetadata = ibanMetadata(CountryCodes.UnitedKingdom, 20, "GB09 BARC 2003 9554 8297 59", true); var defaultFieldMetadata = { validators: isNotEmptyValidator }; var defaultFieldConfig = { [CountryCodes.Austria]: ibanMetadata(CountryCodes.Austria, 18, "AT88 5400 0746 7265 9747"), [CountryCodes.Belgium]: ibanMetadata(CountryCodes.Belgium, 14, "BE59 9788 6743 2226"), [CountryCodes.Croatia]: ibanMetadata(CountryCodes.Croatia, 19, "HR51 2484 0083 5929 6973 8"), [CountryCodes.Cyprus]: ibanMetadata(CountryCodes.Cyprus, 26, "CY17 0020 0128 0000 0012 0052 7600", true), [CountryCodes.CzechRepublic]: ibanMetadata(CountryCodes.CzechRepublic, 22, "CZ65 0800 0000 1920 0014 5399"), [CountryCodes.Denmark]: ibanMetadata(CountryCodes.Denmark, 16, "DK95 2000 0123 4567 89"), [CountryCodes.Estonia]: ibanMetadata(CountryCodes.Estonia, 18, "EE26 1291 5123 1542 6371"), [CountryCodes.Finland]: ibanMetadata(CountryCodes.Finland, 16, "FI21 1234 5600 0007 85"), [CountryCodes.Germany]: ibanMetadata(CountryCodes.Germany, 20, "DE91 1000 0000 0123 4567 89"), [CountryCodes.Greece]: ibanMetadata(CountryCodes.Greece, 25, "GR57 0107 7142 7681 6687 9575 217", true), [CountryCodes.Hungary]: ibanMetadata(CountryCodes.Hungary, 26, "HU68 1070 0024 3428 4128 3192 4812"), [CountryCodes.Lithuania]: ibanMetadata(CountryCodes.Lithuania, 18, "LT12 1000 0111 0100 1000"), [CountryCodes.Luxembourg]: ibanMetadata(CountryCodes.Luxembourg, 18, "LU28 0019 4006 4475 0000", true), [CountryCodes.Norway]: ibanMetadata(CountryCodes.Norway, 13, "NO83 3000 1234 567"), [CountryCodes.Poland]: ibanMetadata(CountryCodes.Poland, 26, "PL98 1090 2402 7474 4662 2173 1624"), [CountryCodes.Portugal]: ibanMetadata(CountryCodes.Portugal, 23, "PT42 0035 0651 8646 9119 5263 5"), [CountryCodes.Slovakia]: ibanMetadata(CountryCodes.Slovakia, 22, "SK25 5173 1333 4916 3219 3521"), [CountryCodes.Slovenia]: ibanMetadata(CountryCodes.Slovenia, 17, "SI56 1920 0123 4567 892"), [CountryCodes.Spain]: ibanMetadata(CountryCodes.Spain, 22, "ES91 2100 0418 4502 0005 1332"), [CountryCodes.Sweden]: ibanMetadata(CountryCodes.Sweden, 22, "SE72 8000 0810 3400 0978 3242"), [CountryCodes.Bulgaria]: ibanMetadata(CountryCodes.Bulgaria, 20, "BG17 BNPA 9440 4432 7749 93", true), [CountryCodes.France]: ibanMetadata(CountryCodes.France, 25, "FR64 1009 6000 4035 3425 9742 Y90", true), [CountryCodes.Gibraltar]: ibanMetadata(CountryCodes.Gibraltar, 21, "GI75 NWBK 0000 0000 7099 453", true), [CountryCodes.Ireland]: ibanMetadata(CountryCodes.Ireland, 20, "IE64 IRCE 9205 0112 3456 78", true), [CountryCodes.Italy]: ibanMetadata(CountryCodes.Italy, 25, "IT06 L030 0203 2809 8485 8934 882", true), [CountryCodes.Latvia]: ibanMetadata(CountryCodes.Latvia, 19, "LV80 BANK 0000 4351 9500 1", true), [CountryCodes.Liechtenstein]: ibanMetadata(CountryCodes.Liechtenstein, 19, "LI21 0881 0000 2324 013A A", true), [CountryCodes.Malta]: ibanMetadata(CountryCodes.Malta, 29, "MT84 MALT 0110 0001 2345 MTLC AST0 01S", true), [CountryCodes.Monaco]: ibanMetadata(CountryCodes.Monaco, 25, "MC58 1122 2000 0101 2345 6789 030", true), [CountryCodes.Netherlands]: ibanMetadata(CountryCodes.Netherlands, 16, "NL50 ABNA 4452 7591 49", true), [CountryCodes.Romania]: ibanMetadata(CountryCodes.Romania, 22, "RO36 PORL 9596 9966 4965 4284", true), [CountryCodes.Switzerland]: ibanMetadata(CountryCodes.Switzerland, 19, "CH56 0483 5012 3456 7800 9", true), [CountryCodes.UnitedKingdom]: gbIbanMetadata, [CountryCodes.Guernsey]: gbIbanMetadata, [CountryCodes.Jersey]: gbIbanMetadata, [CountryCodes.IsleOfMan]: gbIbanMetadata }; //#endregion //#region src/components/BankAccount/fields/SwiftCode/fieldConfig.ts var swiftCodeFieldMetadata = { validators: validatePatternOnBlur(/^([a-zA-Z0-9]{8}|[a-zA-Z0-9]{11})$/), mask: { mask: makeMask(...alphaInputs(6), ...alphanumericInputs(2), ...alphanumericInputs(3, true)), transformOnType: uppercase } }; //#endregion //#region src/components/BankAccount/forms/BankDocument/validate.ts var bankDocumentValidationRules = { description: { modes: ["blur"], validate: (description) => description ? bankStatementDescriptionPattern.test(description) : true, errorMessage: "invalidFormatBankStatementDescription" } }; //#endregion //#region src/components/BankAccount/forms/BankVerification/validate.ts var bankVerificationValidationRules = { verifiedAccountHolder: { modes: ["blur"], validate: (verifiedAccountHolder) => !isEmpty(verifiedAccountHolder), errorMessage: "fieldIsRequired" }, verifiedBankCountry: { modes: ["blur"], validate: (verifiedBankCountry) => !isEmpty(verifiedBankCountry), errorMessage: "fieldIsRequired" }, verifiedBankName: { modes: ["blur"], validate: (verifiedBankName) => !isEmpty(verifiedBankName), errorMessage: "fieldIsRequired" }, verifiedCurrencyCode: { modes: ["blur"], validate: (verifiedCurrencyCode) => !isEmpty(verifiedCurrencyCode), errorMessage: "fieldIsRequired" }, verifiedBankAccountNumber: { modes: ["blur"], validate: (verifiedBankAccountNumber) => !isEmpty(verifiedBankAccountNumber), errorMessage: "fieldIsRequired" } }; //#endregion //#region src/components/BankAccount/tasks/PayoutDetailsDropin/validate.ts var bankStatementValidationOptions = { ...defaultFileValidationOptions, isOptional: false }; function payoutCountryDetailsValidators() { return {}; } function payoutVerificationMethodValidators() { return { payoutVerificationMethod: { modes: ["blur"], validate: (payoutVerificationMethod) => !!payoutVerificationMethod } }; } function payoutAccountDetailsValidators({ country }) { const branchCodeMetadata = resolveFieldMetadata(defaultFieldConfig$1[country], {}, defaultFieldMetadata$1); const bankAccountNumberMetadata = resolveFieldMetadata(defaultFieldConfig$3[country], {}, defaultFieldMetadata$3); const ibanMetadata = resolveFieldMetadata(defaultFieldConfig[country], {}, defaultFieldMetadata); const bankCodeMetadata = resolveFieldMetadata(defaultFieldConfig$2[country], {}, defaultFieldMetadata$2); return { branchCode: branchCodeMetadata.validators, bankAccountNumber: bankAccountNumberMetadata.validators, iban: ibanMetadata.validators, swiftCode: swiftCodeFieldMetadata.validators, bankCode: bankCodeMetadata.validators }; } function payoutAccountDocumentsValidators() { return { ...bankDocumentValidationRules, bankStatementDocument: fileValidationRules(bankStatementValidationOptions) }; } function payoutAccountVerificationValidators() { return bankVerificationValidationRules; } var BankDocumentClassification_module_default = { "requirements-list": "_requirements-list_y0dep_1", requirementsList: "_requirements-list_y0dep_1", "file-picker-disabled": "_file-picker-disabled_y0dep_9", filePickerDisabled: "_file-picker-disabled_y0dep_9", "review-modal": "_review-modal_y0dep_14", reviewModal: "_review-modal_y0dep_14", preview: "_preview_y0dep_23", "preview-image": "_preview-image_y0dep_37", previewImage: "_preview-image_y0dep_37", content: "_content_y0dep_53" }; //#endregion //#region src/components/BankAccount/forms/BankDocument/PdfPreview.tsx var workerSrc = new URL("data:text/javascript;base64,LyoqCiAqIEBsaWNzdGFydCBUaGUgZm9sbG93aW5nIGlzIHRoZSBlbnRpcmUgbGljZW5zZSBub3RpY2UgZm9yIHRoZQogKiBKYXZhU2NyaXB0IGNvZGUgaW4gdGhpcyBwYWdlCiAqCiAqIENvcHlyaWdodCAyMDI0IE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBAbGljZW5kIFRoZSBhYm92ZSBpcyB0aGUgZW50aXJlIGxpY2Vuc2Ugbm90aWNlIGZvciB0aGUKICogSmF2YVNjcmlwdCBjb2RlIGluIHRoaXMgcGFnZQogKi8KLyoqCiAqIHBkZmpzVmVyc2lvbiA9IDUuNy4yODQKICogcGRmanNCdWlsZCA9IDdlNWIzNmMyZAogKi9jb25zdCBlPSEoIm9iamVjdCIhPXR5cGVvZiBwcm9jZXNzfHxwcm9jZXNzKyIiIT0iW29iamVjdCBwcm9jZXNzXSJ8fHByb2Nlc3MudmVyc2lvbnMubnd8fHByb2Nlc3MudmVyc2lvbnMuZWxlY3Ryb24mJnByb2Nlc3MudHlwZSYmImJyb3dzZXIiIT09cHJvY2Vzcy50eXBlKSx0PVsxLzAsMS8wLC0xLzAsLTEvMF0sYT1uZXcgRmxvYXQzMkFycmF5KHQpLG49Wy4wMDEsMCwwLC4wMDEsMCwwXSxzPTEuMzUscj0uMzUsaT0uMjU5MjU5MjU5MjU5MjU5MjQsbz0xLGw9MixmPTQsYz04LGg9MTYsdT02NCxtPTEyOCxwPTI1NixkPSJwZGZqc19pbnRlcm5hbF9lZGl0b3JfIixnPTMsYj05LHc9MTMsaj0xNSxrPTEwMSx5PXtQUklOVDo0LE1PRElGWV9DT05URU5UUzo4LENPUFk6MTYsTU9ESUZZX0FOTk9UQVRJT05TOjMyLEZJTExfSU5URVJBQ1RJVkVfRk9STVM6MjU2LENPUFlfRk9SX0FDQ0VTU0lCSUxJVFk6NTEyLEFTU0VNQkxFOjEwMjQsUFJJTlRfSElHSF9RVUFMSVRZOjIwNDh9LHE9MSx2PTIsUz0zLHg9MCxDPTQsRj0xLFQ9MixPPTMsUj17VEVYVDoxLExJTks6MixGUkVFVEVYVDozLExJTkU6NCxTUVVBUkU6NSxDSVJDTEU6NixQT0xZR09OOjcsUE9MWUxJTkU6OCxISUdITElHSFQ6OSxVTkRFUkxJTkU6MTAsU1FVSUdHTFk6MTEsU1RSSUtFT1VUOjEyLFNUQU1QOjEzLENBUkVUOjE0LElOSzoxNSxQT1BVUDoxNixGSUxFQVRUQUNITUVOVDoxNyxTT1VORDoxOCxNT1ZJRToxOSxXSURHRVQ6MjAsU0NSRUVOOjIxLFBSSU5URVJNQVJLOjIyLFRSQVBORVQ6MjMsV0FURVJNQVJLOjI0LFRIUkVFRDoyNSxSRURBQ1Q6MjZ9LEg9Ikdyb3VwIixEPSJSIixNPTEsTj0yLEU9NCxfPTE2LHo9MzIsTD0xMjgsVT01MTIsWD0xLFc9MixLPTQwOTYsRz04MTkyLFY9MzI3NjgsJD02NTUzNixZPTEzMTA3MixKPTEwNDg1NzYsUT0yMDk3MTUyLFo9ODM4ODYwOCxlZT0xNjc3NzIxNix0ZT0xLGFlPTIsbmU9MyxzZT00LHJlPTUsaWU9e0U6Ik1vdXNlIEVudGVyIixYOiJNb3VzZSBFeGl0IixEOiJNb3VzZSBEb3duIixVOiJNb3VzZSBVcCIsRm86IkZvY3VzIixCbDoiQmx1ciIsUE86IlBhZ2VPcGVuIixQQzoiUGFnZUNsb3NlIixQVjoiUGFnZVZpc2libGUiLFBJOiJQYWdlSW52aXNpYmxlIixLOiJLZXlzdHJva2UiLEY6IkZvcm1hdCIsVjoiVmFsaWRhdGUiLEM6IkNhbGN1bGF0ZSJ9LG9lPXtXQzoiV2lsbENsb3NlIixXUzoiV2lsbFNhdmUiLERTOiJEaWRTYXZlIixXUDoiV2lsbFByaW50IixEUDoiRGlkUHJpbnQifSxsZT17TzoiUGFnZU9wZW4iLEM6IlBhZ2VDbG9zZSJ9LGZlPTEsY2U9NSxoZT0xLHVlPTIsbWU9MyxwZT00LGRlPTUsZ2U9NixiZT03LHdlPTgsamU9OSxrZT0xMCx5ZT0xMSxxZT0xMix2ZT0xMyxTZT0xNCxBZT0xNSx4ZT0xNixDZT0xNyxJZT0xOCxGZT0xOSxUZT0yMCxPZT0yMSxSZT0yMixIZT0yMyxCZT0yNCxEZT0yNSxNZT0yNixOZT0yNyxQZT0yOCxFZT0yOSxfZT0zMCx6ZT0zMSxMZT0zMixVZT0zMyxYZT0zNCxXZT0zNSxLZT0zNixHZT0zNyxWZT0zOCwkZT0zOSxZZT00MCxKZT00MSxRZT00MixaZT00MyxldD00NCx0dD00NSxhdD00NixudD00NyxzdD00OCxydD00OSxpdD01MCxvdD01MSxsdD01MixmdD01MyxjdD01NCxodD01NSx1dD01NixtdD01NyxwdD01OCxkdD01OSxndD02MCxidD02MSx3dD02MixqdD02MyxrdD02NCx5dD02NSxxdD02Nix2dD02NyxTdD02OCxBdD02OSx4dD03MCxDdD03MSxJdD03MixGdD03MyxUdD03NCxPdD03NSxSdD03NixIdD03NyxCdD04MCxEdD04MSxNdD04MyxOdD04NCxQdD04NSxFdD04NixfdD04Nyx6dD04OCxMdD04OSxVdD05MCxYdD05MSxXdD05MixLdD05MyxHdD05NCxWdD0wLCR0PTEsWXQ9MixKdD0zLFF0PTQsWnQ9MSxlYT0yO2xldCB0YT1mZTtmdW5jdGlvbiBnZXRWZXJib3NpdHlMZXZlbCgpe3JldHVybiB0YX1mdW5jdGlvbiBpbmZvKGUpe3RhPj1jZSYmY29uc29sZS5pbmZvKGBJbmZvOiAke2V9YCl9ZnVuY3Rpb24gd2FybihlKXt0YT49ZmUmJmNvbnNvbGUud2FybihgV2FybmluZzogJHtlfWApfWZ1bmN0aW9uIHVucmVhY2hhYmxlKGUpe3Rocm93IG5ldyBFcnJvcihlKX1mdW5jdGlvbiBhc3NlcnQoZSx0KXtlfHx1bnJlYWNoYWJsZSh0KX1mdW5jdGlvbiBjcmVhdGVWYWxpZEFic29sdXRlVXJsKGUsdD1udWxsLGE9bnVsbCl7aWYoIWUpcmV0dXJuIG51bGw7aWYoYSYmInN0cmluZyI9PXR5cGVvZiBlKXtpZihhLmFkZERlZmF1bHRQcm90b2NvbCYmZS5zdGFydHNXaXRoKCJ3d3cuIikpe2NvbnN0IHQ9ZS5tYXRjaCgvXC4vZyk7dD8ubGVuZ3RoPj0yJiYoZT1gaHR0cDovLyR7ZX1gKX1pZihhLnRyeUNvbnZlcnRFbmNvZGluZyl0cnl7ZT1zdHJpbmdUb1VURjhTdHJpbmcoZSl9Y2F0Y2h7fX1jb25zdCBuPXQ/VVJMLnBhcnNlKGUsdCk6VVJMLnBhcnNlKGUpO3JldHVybiBmdW5jdGlvbiBfaXNWYWxpZFByb3RvY29sKGUpe3N3aXRjaChlPy5wcm90b2NvbCl7Y2FzZSJodHRwOiI6Y2FzZSJodHRwczoiOmNhc2UiZnRwOiI6Y2FzZSJtYWlsdG86IjpjYXNlInRlbDoiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fShuKT9uOm51bGx9ZnVuY3Rpb24gc2hhZG93KGUsdCxhLG49ITEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOmEsZW51bWVyYWJsZTohbixjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITF9KTtyZXR1cm4gYX1jb25zdCBhYT1mdW5jdGlvbiBCYXNlRXhjZXB0aW9uQ2xvc3VyZSgpe2Z1bmN0aW9uIEJhc2VFeGNlcHRpb24oZSx0KXt0aGlzLm1lc3NhZ2U9ZTt0aGlzLm5hbWU9dH1CYXNlRXhjZXB0aW9uLnByb3RvdHlwZT1uZXcgRXJyb3I7QmFzZUV4Y2VwdGlvbi5jb25zdHJ1Y3Rvcj1CYXNlRXhjZXB0aW9uO3JldHVybiBCYXNlRXhjZXB0aW9ufSgpO2NsYXNzIFBhc3N3b3JkRXhjZXB0aW9uIGV4dGVuZHMgYWF7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLCJQYXNzd29yZEV4Y2VwdGlvbiIpO3RoaXMuY29kZT10fX1jbGFzcyBVbmtub3duRXJyb3JFeGNlcHRpb24gZXh0ZW5kcyBhYXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsIlVua25vd25FcnJvckV4Y2VwdGlvbiIpO3RoaXMuZGV0YWlscz10fX1jbGFzcyBJbnZhbGlkUERGRXhjZXB0aW9uIGV4dGVuZHMgYWF7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiSW52YWxpZFBERkV4Y2VwdGlvbiIpfX1jbGFzcyBSZXNwb25zZUV4Y2VwdGlvbiBleHRlbmRzIGFhe2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihlLCJSZXNwb25zZUV4Y2VwdGlvbiIpO3RoaXMuc3RhdHVzPXQ7dGhpcy5taXNzaW5nPWF9fWNsYXNzIEZvcm1hdEVycm9yIGV4dGVuZHMgYWF7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiRm9ybWF0RXJyb3IiKX19Y2xhc3MgQWJvcnRFeGNlcHRpb24gZXh0ZW5kcyBhYXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJBYm9ydEV4Y2VwdGlvbiIpfX1mdW5jdGlvbiBieXRlc1RvU3RyaW5nKGUpeyJvYmplY3QiPT10eXBlb2YgZSYmdm9pZCAwIT09ZT8ubGVuZ3RofHx1bnJlYWNoYWJsZSgiSW52YWxpZCBhcmd1bWVudCBmb3IgYnl0ZXNUb1N0cmluZyIpO2NvbnN0IHQ9ZS5sZW5ndGgsYT04MTkyO2lmKHQ8YSlyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGUpO2NvbnN0IG49W107Zm9yKGxldCBzPTA7cz