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.

71 lines (70 loc) 3.32 kB
import type { ComponentChildren } from 'preact'; import type { CountryCode } from '../../types/datasets/country-code'; /** * Settings are features that can be switched on or off by external users. * This list is defined in the BE. */ export declare const SettingNames: { readonly AcceptedCountries: "acceptedCountries"; readonly AllowBankAccountFormatSelection: "allowBankAccountFormatSelection"; readonly AllowDebugUi: "allowDebugUi"; readonly AllowIntraRegionCrossBorderPayout: "allowIntraRegionCrossBorderPayout"; readonly AllowLegalEntityTypeChange: "changeLegalEntityType"; readonly AllowPrefilledCountryEdit: "editPrefilledCountry"; readonly RequirePciSignEcommerce: "requirePciSignEcommerce"; readonly RequirePciSignPos: "requirePciSignPos"; readonly RequirePciSignEcomMoto: "requirePciSignEcomMoto"; readonly RequirePciSignPosMoto: "requirePciSignPosMoto"; readonly HideOnboardingIntroductionIndividual: "hideOnboardingIntroductionIndividual"; readonly HideOnboardingIntroductionOrganization: "hideOnboardingIntroductionOrganization"; readonly HideOnboardingIntroductionTrust: "hideOnboardingIntroductionTrust"; readonly HideOnboardingIntroductionSoleProprietor: "hideOnboardingIntroductionSoleProprietor"; readonly TransferInstrumentLimit: "transferInstrumentLimit"; readonly ViewOnboardingGuidance: "viewOnboardingGuidance"; readonly InstantBankVerification: "instantBankVerification"; readonly ShowServiceAgreementsFirst: "showServiceAgreementsFirst"; readonly ShowBusinessFinancingFirst: "showBusinessFinancingFirst"; readonly EnforceLegalAge: "enforceLegalAge"; readonly MerchantType: "merchantType"; readonly AllowBusinessLines: "allowBusinessLines"; readonly AllowCrossBorderPayout: "allowCrossBorderPayout"; }; export type SettingName = (typeof SettingNames)[keyof typeof SettingNames]; export interface Settings { acceptedCountries: CountryCode[] | undefined; allowBankAccountFormatSelection: boolean; allowDebugUi: boolean; allowIntraRegionCrossBorderPayout: boolean; changeLegalEntityType: boolean; editPrefilledCountry: boolean; requirePciSignEcommerce: boolean; requirePciSignPos: boolean; requirePciSignEcomMoto: boolean; requirePciSignPosMoto: boolean; hideOnboardingIntroductionIndividual: boolean; hideOnboardingIntroductionOrganization: boolean; hideOnboardingIntroductionTrust: boolean; hideOnboardingIntroductionSoleProprietor: boolean; viewOnboardingGuidance: boolean; transferInstrumentLimit: number; instantBankVerification: boolean; showServiceAgreementsFirst: boolean; showBusinessFinancingFirst: boolean; enforceLegalAge: boolean; merchantType: string | undefined; allowBusinessLines: boolean; allowCrossBorderPayout: boolean; } export type ProvidedSettings = Partial<Settings>; export type BooleanSettingName = { [S in keyof Settings]: Settings[S] extends boolean ? S : never; }[keyof Settings]; export interface SettingsProps { children?: ComponentChildren; settings: ProvidedSettings; } export interface SettingsContextValue { isSettingEnabled(key: BooleanSettingName): boolean; getSetting<S extends SettingName>(settingName: S): Settings[S]; settings: Readonly<Settings>; }