@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
JavaScript
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 };