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.

69 lines (68 loc) 4.21 kB
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] = "1847734f-69f0-46bd-b2de-7740c55f36cf", e._sentryDebugIdIdentifier = "sentry-dbid-1847734f-69f0-46bd-b2de-7740c55f36cf"); } catch (e) {} import { p as TaskTypes } from "./entityAssociationUtil-BEzUdPbm.js"; import { t as DecisionMakerTypes } from "./decision-maker-type-Cow3CpUd.js"; import { t as Scenarios } from "./get-scenarios-DnCVdYIC.js"; import { computed, signal } from "@preact/signals"; //#region src/components/Individual/forms/IdNowVerificationModal/isIdNowModalOpen.ts var showIdNowModal = signal(false); var idNowModalChildEntityId = signal(); var idNowPostSubmit = signal(false); var shouldShowIdNowModal = computed(() => { const idNowModalChildEntityIdValue = !!idNowModalChildEntityId.value; return showIdNowModal.value && idNowModalChildEntityIdValue; }); //#endregion //#region src/components/Individual/helpers/bafinUtils.ts /** * For the BAFIN signatory flow, certain ID verification errors and remediation actions are not applicable. * This utility function takes a problems object and returns a new, deeply cloned object with all * ID verification-related issues removed. * * Specifically, it removes: * - 'missingData' entries related to ID document upload ('1_301'). * - The '1_301' remediation action from `remediationActions`. * - The entire `idVerificationMethod` object from `verificationErrors`. * - Any nested sub-errors with code '1_301' from `basicDetails` and `additionalPersonalDetails`. * * @param problems - The original entity problems object. * @returns A new `EntityProblems` object with BAFIN-specific modifications. */ var removeIdVerificationProblemsForBafinSignatory = (problems, decisionMakerLe) => { const newProblems = structuredClone(problems); if (newProblems.missingData?.some((item) => item.remediatingActions?.some((action) => action.code === "1_301" || action.code === "2_215"))) setTimeout(() => { idNowModalChildEntityId.value = decisionMakerLe; showIdNowModal.value = true; }, 100); if (Array.isArray(newProblems.missingData)) newProblems.missingData = newProblems.missingData.filter((item) => !item.remediatingActions?.some((action) => action.code === "1_301" || action.code === "2_215")); if (newProblems.remediationActions?.["1_301"]) delete newProblems.remediationActions["1_301"]; if (newProblems.remediationActions?.["2_215"]) delete newProblems.remediationActions["2_215"]; if (newProblems.verificationErrors?.idVerificationMethod) delete newProblems.verificationErrors.idVerificationMethod; ["basicDetails", "additionalPersonalDetails"].forEach((formName) => { const subErrors = newProblems.verificationErrors?.[formName]?.["1_30"]?.["1_3000"]; if (newProblems.verificationErrors?.[formName]?.["1_30"] && Array.isArray(subErrors)) newProblems.verificationErrors[formName]["1_30"]["1_3000"] = subErrors.filter((error) => error.code !== "1_301"); }); return newProblems; }; /** * Type guard to check if the data object is a LegalEntityAssociation. */ var isLegalEntityAssociation = (data) => "legalEntityId" in data; /** * Checks if the current context matches the specific flow for a BAFIN signatory. * This is true when the task is for a decision maker, their role is 'signatory', * and the BAFIN scenario is active. * * @param params - The parameters for the check. * @returns `true` if the conditions for the BAFIN signatory flow are met. */ var isBafinSignatoryFlow = ({ taskType, data, scenarios }) => { if (!data || !scenarios) return false; const isSignatory = isLegalEntityAssociation(data) ? data.type === DecisionMakerTypes.SIGNATORY : data.basicDetails?.role?.includes(DecisionMakerTypes.SIGNATORY); if (taskType === TaskTypes.DECISION_MAKER && isSignatory) return scenarios.includes(Scenarios.L_BAFIN); return false; }; //#endregion export { shouldShowIdNowModal as a, idNowPostSubmit as i, removeIdVerificationProblemsForBafinSignatory as n, showIdNowModal as o, idNowModalChildEntityId as r, isBafinSignatoryFlow as t };