@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.
160 lines (159 loc) • 6.08 kB
TypeScript
import type { ComponentChildren } from 'preact';
/**
* Experiments which are returned from a call made to onboardingcomponents for feature flags and experiments (see `useToggles`).
* Experiments are used to toggle behavior for A/B testing purposes.
* Defined using the Experimentation Platform in BO.
*
* Naming convention: `${ExperimentName}_${TreatmentGroupNameOrControl}` ex. `BankingVerificationExperiment_Treatment1` or `BusinessSearchExperiment_control`
*/
export declare const ExperimentNames: {
/**
* OXP-7319: Experiment with Forced Manual Payout Flow
*/
readonly BankingPayoutFlow_ForcedManualVerification: "BankingPayoutFlow_ForcedManualVerification";
};
export declare const FeatureNames: {
/**
*
*/
readonly EnableAgeVerification: "EnableAgeVerification";
/**
* Allows users to specify a 'Country of Governing Law' for UK companies
* within Business Details Task
*/
readonly EnableCountryOfGoverningLawForUKCompanies: "EnableCountryOfGoverningLawForUKCompanies";
/**
*
*/
readonly EnableDoingBusinessAsNameV4: "EnableDoingBusinessAsNameV4";
/**
*
*/
readonly EnableFinancialInformationComponentV4: "EnableFinancialInformationComponentV4";
/**
* Enables localization for Japan
*/
readonly EnableJapanLocalization: "EnableJapanLocalization";
/**
*
*/
readonly EnableNationalitySGHK: "EnableNationalitySGHK";
/**
*
*/
readonly EnableRegistrationAndTaxAbsentStatesV4: "EnableRegistrationAndTaxAbsentStatesV4";
/**
*
*/
readonly ShowCustomerSupportV4: "ShowCustomerSupportV4";
/**
*
*/
readonly StrictNameAndAddressValidationV4: "StrictNameAndAddressValidationV4";
/**
* OXP-6596: Enable Bank Document Classification in HO
*/
readonly EnableBankDocumentClassification: "EnableBankDocumentClassification";
/**
* OXP-6596: Enable Bank Document Classification in ShadowMode in HO
*/
readonly EnableBankDocumentClassificationShadowMode: "EnableBankDocumentClassificationShadowMode";
/**
* OXP-7195: Enable business details rendering inside of a modal
*/
readonly EnableBusinessDetailsModal: "EnableBusinessDetailsModal";
/**
* SOE-4062: Enable cross border payouts configuration for Bank Account task
*/
readonly EnableCrossBorderPayouts: "EnableCrossBorderPayouts";
/**
* OXP-6032: Enable editing a single business line
*/
readonly EnableDeleteBusinessLines: "EnableDeleteBusinessLines";
/**
* OXP-6799: Enable limit to a single business line
*/
readonly EnableLimitToSingleBusinessLine: "EnableLimitToSingleBusinessLine";
/**
* Enable in-memory routing (wouter-preact memoryLocation) instead of state-based navigation.
* When both EnableURLRouterForHostedOnboarding and EnableMemoryRouterForHostedOnboarding are on, memory router takes precedence.
*/
readonly EnableMemoryRouterForHostedOnboarding: "EnableMemoryRouterForHostedOnboarding";
/**
* OXP-6032: Enable editing a single business line
*/
readonly EnableModifyBusinessLines: "EnableModifyBusinessLines";
/**
* OXP-5392: UseMultiform in Soleprop and trust task
*/
readonly EnableMultiFormInTrustFlow: "EnableMultiFormInTrustFlow";
/**
* OXP-5390: Enable payout details flow with multiform
*/
readonly EnablePayoutDetailsMultiForm: "EnablePayoutDetailsMultiForm";
/**
* OXP-6357 Show revamped decision-maker task page
*/
readonly EnableRevampedDecisionMakersTaskPage: "EnableRevampedDecisionMakersTaskPage";
/**
* Enable URL-based routing (wouter-preact) instead of state-based navigation
*/
readonly EnableURLRouterForHostedOnboarding: "EnableURLRouterForHostedOnboarding";
/**
* Enable "Verify by Invite" flow for decision makers in Identity Verification
*/
readonly EnableVerifyByInvite: "EnableVerifyByInvite";
/**
* Use the status calculated on the backend for the payout task.
* If false, instead compute the status from capabilities and problems on the root LE.
*/
readonly UseTaskStatusApiForPayout: "UseTaskStatusApiForPayout";
/**
* Enable validation change to allow 2 repeated characters string e.g. "aa", "iI"
*/
readonly EnableAllowTwoRepeatedCharactersInName: "EnableAllowTwoRepeatedCharactersInName";
/**
OXP-6566: Create new payout intro screen
*/
readonly EnableBankAccountDetailsLandingPage: "EnableBankAccountDetailsLandingPage";
/**
* OXP-7197: Enable unified company search
*/
readonly EnableUnifiedCompanySearch: "EnableUnifiedCompanySearch";
/**
* Passed in from uo sdk, TODO: move to settings
*/
readonly EnableEInvoicingCodeField: "EnableEInvoicingCodeField";
readonly HidePayoutAccountTask: "HidePayoutAccountTask";
readonly ShowExtraTaxExemptionReasons: "ShowExtraTaxExemptionReasons";
/**
* Old features
*/
readonly AllowMoreRolesForMainRootTrustee: "AllowMoreRolesForMainRootTrustee";
readonly EnablePhoneFieldScenario: "EnablePhoneFieldScenario";
readonly ShowUnsupportedEntityType: "ShowUnsupportedEntityType";
/**
* OXP-6952: Consume new experiments endpoint inside SDK
*/
readonly EnableOnboardingTogglesEndpoint: "EnableOnboardingTogglesEndpoint";
};
export type ExperimentName = (typeof ExperimentNames)[keyof typeof ExperimentNames];
export type Experiments = {
[key in ExperimentName]?: boolean;
};
export type FeatureName = (typeof FeatureNames)[keyof typeof FeatureNames];
export type Features = {
[key in FeatureName]?: boolean;
};
export interface ToggleProps {
children?: ComponentChildren;
features: Features;
refreshExperiments?: () => void;
}
export interface ToggleContextValue {
features: Features;
isFeatureEnabled(key: FeatureName): boolean;
experiments: Experiments;
isExperimentEnabled(key: ExperimentName): boolean;
refreshExperiments?: () => void;
}