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.

943 lines 262 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] = "7fa443be-df0e-45f9-aa76-fab78e6ca795", e._sentryDebugIdIdentifier = "sentry-dbid-7fa443be-df0e-45f9-aa76-fab78e6ca795"); } catch (e) {} import { i as Typography, o as createLogger, r as useTranslation } from "./translation-BFxyJ1c5.js"; import { r as Loader, t as Button } from "./Button-oj6H8OrC.js"; import { r as httpPost, s as useApiContext } from "./http-D1NDkBxF.js"; import { r as useLegalEntity, t as ROOT_LE } from "./useLegalEntity-yxi9XhLi.js"; import { t as LegalEntityTypes } from "./legal-entity-type-VIfNYnJP.js"; import { t as useAccountHolder } from "./useAccountHolder-ClppK4-L.js"; import { t as useSettingsContext } from "./useSettingsContext-DzwVt0W0.js"; import { a as drop, c as objectsDeepEqual, d as keysOf, i as doArraysMatch, t as useAnalyticsContext, u as entriesOf } from "./useAnalyticsContext-BVFDMrVE.js"; import { t as useToggleContext } from "./useToggleContext-DaQUBF8O.js"; import { S as isUndefinedOrNull, b as isISIN, y as isEmpty } from "./validatorUtils-DRapRJ6z.js"; import { t as StackLayout } from "./StackLayout-Bhbj68nx.js"; import { t as Header } from "./Header-CPmJyuoP.js"; import { t as useAllowedCountries } from "./useAllowedCountries-x3yZO5Qw.js"; import { t as CountryCodes } from "./country-code-CX5KqMBr.js"; import { n as datasetUtilities } from "./datasetUtil-Zd4TCTDn.js"; import { t as Alert } from "./Alert-C6gL3JIt.js"; import { _ as businessDetailsDocumentMapping, f as solePropBusinessDetailsApiKeyMapping, g as businessDetailsComponentsKeyMapping, h as businessDetailsApiKeyMapping, m as solePropBusinessDetailsKeyMapping, p as solePropBusinessDetailsDocumentMapping } from "./processCapabilities-DlZY9-Jc.js"; import { p as TaskTypes, r as filterOutUnwantedAssociationsIfRootLE, s as getOwnEntityAssociations } from "./entityAssociationUtil-BEzUdPbm.js"; import { t as Scenarios } from "./get-scenarios-DnCVdYIC.js"; import { t as useBusinessLines } from "./useBusinessLines-CgnQUuie.js"; import { t as Card } from "./Card-vYndix5Y.js"; import { t as SettingNames } from "./types-CNZsK2dZ.js"; import { t as useToastContext } from "./useToastContext-CYgfHjSb.js"; import { t as CompanyTypesValues } from "./company-types-value-BYTAKfjo.js"; import { t as useInvalidateRootLegalEntity } from "./invalidateRootLegalEntity-CZr0iiji.js"; import { t as LoaderWrapper } from "./LoaderWrapper-Dq8TNJCi.js"; import { t as KEYBOARD_KEYS } from "./keys-fzUbt2xF.js"; import { n as ModalContent, t as Modal } from "./Modal-CioQJ7Q7.js"; import { t as Confirm } from "./Confirm-B6TWSuab.js"; import { t as HandlerContext } from "./HandlerContext-CIedIvkP.js"; import { t as useScenarios } from "./useScenarios-BxrbVsQp.js"; import { t as useCreateLegalEntity } from "./useCreateLegalEntity-BK1XURnK.js"; import { t as useUpdateLegalEntity } from "./useUpdateLegalEntity-CtaRaKZ6.js"; import { a as defaultFieldMetadata, c as mapAddressData, i as defaultFieldConfig, n as STATE_FIELD, o as getNestedTrustedFields, r as StateField, s as isDateOlderThanAYear, t as Address } from "./Address-D5EL-3iQ.js"; import { n as FormFlow, r as FormContextProvider, t as useFormContext } from "./useFormContext-Cx9-3iXR.js"; import { n as composePerScenarioFormConfigurations, r as getPropsFromConfigurations } from "./process-field-configurations-C7MuEj5q.js"; import { i as useFormComposer, t as addValidityToForms } from "./dropinUtils-IdasFZCU.js"; import { t as StructuredList } from "./StructuredList-w0Z2zLTk.js"; import { t as ErrorPanel } from "./ErrorPanel-B536hgSc.js"; import { n as mergeFieldMetadataIntoProps, t as createFormUtils } from "./formUtils-DCvL3uZG.js"; import { n as summaryStep, r as Summary_module_default } from "./Summary-B5IkOGJV.js"; import { t as useMultiForm } from "./useMultiForm-B3e1ImN3.js"; import { a as useScenarioConfiguration, i as uppercase, r as getPageName, t as mapExistingFile } from "./mapExistingFile-wp3Nf1-m.js"; import { t as useTaskLandedEvent } from "./useTaskLandedEvent-DInxWeqN.js"; import { a as alphanumericInputs, i as alphaInputs, l as numericInputs, s as makeMask, t as MaskedInput } from "./MaskedInput-BFPSwRto.js"; import { r as mapJpAddressSummaryNewSummary, t as mapJpAddressSchemaToAddressLocalizations } from "./mapJpAddressSchemaToAddressLocalizations-C-Kwjo9Q.js"; import { a as mapAddressLabelsNewSummary, c as COUNTRIES_WITH_STATES_DATASET, n as getAddressSchemaLabelsByCountry, r as getKeyForField, t as getAddressSchemaForCountry } from "./utils-CfTVU2Hq.js"; import { i as isValidationError, n as isBusinessSelectionLegalArrangementError, o as processValidationErrors, s as isMaintenanceModeError } from "./validationError-BzQCrJPn.js"; import { c as getDocument, l as getDocuments, o as createDocumentRequest, p as mergeProofOfOwnershipAttachments, s as documentApiUtils, u as getFileExtention } from "./validate-DDKy88ac.js"; import { r as formatObject } from "./utils-oc3EdK6K.js"; import { T as getFieldsWithExistingData, a as isRegistrationNumberAbsentStateV4Scenario, b as taxInformationDefaultFieldConfig, c as requestingBanking, f as getTaxIdNumberOptions, h as MemoizedDocumentUpload, i as COUNTRY_OF_GOVERNING_LAW_POSSIBLE, l as requestingIssuing, n as TaxInformationField, o as isUsingCompanySearch, p as getValidCompanyTypesForTaxIdNumberType, r as COUNTRIES_THAT_USE_TAX_ID_INSTEAD_OF_VAT, s as rules, t as TAX_INFORMATION_FIELD, u as countryToTaxInfoTypeMap, x as taxInformationDefaultFieldMetadata, y as getTaxInformationPlaceholderText } from "./TaxInformationField-DVc2iorX.js"; import { t as isJapanLocalizationEnabled } from "./japanSupportUtils-DcDqwV81.js"; import { a as validateNotEmptyOnBlur, n as validateJaKanaLegalCompanyName, o as validatePatternOnBlur, t as validateJaHaniLegalCompanyName } from "./patternValidators-BaQxw3ki.js"; import { c as useAddressCleanse, s as formatAddressForCleanse } from "./validate-qd_17no4.js"; import { t as resolveFieldMetadata } from "./fieldConfigurations-m7oWP1DZ.js"; import { t as Field } from "./Field-pcJkjIG_.js"; import { t as TileGroup } from "./TileGroup-D0YbtzZ0.js"; import { t as LandingLayout } from "./LandingLayout-z8j2xiqg.js"; import { r as useDebouncedCallback } from "./debouncedInputEvent-Dxv4-RAv.js"; import { t as Checkbox } from "./Checkbox-BCYjFPa4.js"; import { t as Link } from "./Link-6M1PZnz2.js"; import { t as InputText } from "./InputText-C30dZxS4.js"; import { n as formatDateObj, t as InputDate } from "./InputDate-XX9jaw9v.js"; import { n as CountryField, t as COUNTRY_FIELD } from "./CountryField-Dh4DfjBf.js"; import { t as RadioGroup } from "./RadioGroup-7g7Xv9rl.js"; import { t as toFullWidth } from "./toFullWidth-CSa3Sffs.js"; import { t as isEmpty$1 } from "./isEmpty-Dw2W8jeR.js"; import { n as mapApiScriptLocalizationToSchemaFields, r as mapSchemaFieldsToApiScriptLocalization, t as mapAddressLocalizationToJpAddressSchema } from "./mapAddressLocalizationToJpAddressSchema-Cu5HfF7K.js"; import { t as currencyByCountry } from "./types-qnPNJzLh.js"; import { t as Divider } from "./Divider-DMwncntz.js"; import { a as LegalFormField, i as InputCurrency, n as Currency, o as mapFinancialReportsToFinancialInformation, r as InputNumber, s as mapFinancialInformationToFinancialReport, t as CURRENCY_FIELD } from "./Currency-DtAL1CZd.js"; import { t as NewSummary } from "./NewSummary-C-LKBMpr.js"; import { t as ListItem } from "./ListItem-BWH4IPrj.js"; import { C as exemptFromRegistrationNumberDefaultFieldMetadata, E as registrationNumberDefaultFieldMetadata, T as registrationNumberDefaultFieldConfig, _ as BusinessRegistrationNumberField, b as getCompanyRegistrationNumberOptions, c as getDefaultVatNumberType, d as vatAbsenceReasonMetadata, f as doingBusinessAsAbsentFieldMetadata, g as BUSINESS_REGISTRATION_NUMBER_FIELD, h as DBA_NAME_FIELD, i as operationalAddressIsSameIds, l as defaultFieldConfig$1, m as DBANameField, o as VAT_NUMBER_FIELD, p as doingBusinessAsFieldMetadata, r as registrationAddressFields, s as VatNumberField, t as MemoizedConstitutionalDocument, u as defaultFieldMetadata$1, v as getDefaultRegistrationNumberType, w as getRegistrationNumberHelperText, x as getValidCompanyTypesForRegistrationNumberType, y as inferCompanyRegistrationNumberType } from "./ConstitutionalDocument-CnNB3LUI.js"; import { d as IndustryCodeField, h as useIndustryCodes, m as industryCodeFieldMetadata, n as useCreateBusinessLine, r as INDUSTRY_CODE_FIELD, t as useUpdateBusinessLine } from "./useUpdateBusinessLines-BUVnf_SX.js"; import { a as defaultFieldMetadata$2, i as defaultFieldConfigV4, o as defaultFieldMetadataV4, r as defaultFieldConfig$2, s as getLegalCompanyNameGuidanceText, t as LEGAL_COMPANY_NAME_FIELD } from "./LegalCompanyNameField-CW82YkTh.js"; import { A as formatCurrency, t as ALLOWED_SOF_SERVICES } from "./utils-DRjqyP-s.js"; import { s as organizationTypesToSkipCompanyStructureForm } from "./utils-BptSfkns.js"; import { Suspense, lazy } 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, useSignal } from "@preact/signals"; import { queryOptions, skipToken, useMutation, useQuery, useQueryClient } from "@tanstack/preact-query"; //#region src/components/Shared/fields/DateOfIncorporationField/DateOfIncorporationField.tsx var DATE_OF_INCORPORATION_FIELD = ["dateOfIncorporation"]; function DateOfIncorporationField({ data, valid, errors, placeholder, readonly, handleChangeFor }) { const { t } = useTranslation("common"); return /* @__PURE__ */ jsx(Field, { name: "dateOfIncorporation", label: t(($) => $["dateOfIncorporation"]), errorMessage: errors.dateOfIncorporation, isValid: valid.dateOfIncorporation, children: (childProps) => /* @__PURE__ */ jsx(InputDate, { ...childProps, "aria-required": true, "aria-invalid": !valid.dateOfIncorporation, name: "dateOfIncorporation", value: data.dateOfIncorporation, placeholder, readonly, onInput: handleChangeFor("dateOfIncorporation", "input"), onBlur: handleChangeFor("dateOfIncorporation", "blur"), max: formatDateObj(/* @__PURE__ */ new Date()), min: formatDateObj(new Date(1900, 0, 1)) }) }); } //#endregion //#region src/components/Shared/fields/DateOfIncorporationField/fieldConfig.ts var validateDateOfIncorporation = (dateOfIncorporation) => { if (!dateOfIncorporation) return false; const date = new Date(dateOfIncorporation); return date < /* @__PURE__ */ new Date() && date > new Date(1900, 0, 1); }; var dateOfIncorporationFieldMetadata = { validators: [validateNotEmptyOnBlur, { modes: ["blur"], validate: validateDateOfIncorporation, errorMessage: "invalidDateOfIncorporation" }] }; //#endregion //#region src/components/Shared/fields/EInvoicingCodeField/EInvoicingCodeField.tsx var EINVOICING_CODE_FIELD = ["eInvoicingCode"]; function EInvoicingCodeField({ data, valid, errors, labels, readonly, mask, shouldValidate, handleChangeFor }) { const { t } = useTranslation("common"); const [noInvoicingCode, setNoInvoicingCode] = useState$1(false); const handleNoInvoicingCode = () => { setNoInvoicingCode(!noInvoicingCode); handleChangeFor("eInvoicingCode")("0000000"); }; return /* @__PURE__ */ jsxs("div", { className: "adyen-kyc-field", children: [/* @__PURE__ */ jsx(MaskedInput, { name: "eInvoicingCode", type: "text", label: labels.eInvoicingCode ?? "", formatGuidance: t(($) => $["the7CharacterIdentifierAssignedToThis"], { example: "MP10YNU" }), errorMessage: errors.eInvoicingCode, isValid: valid.eInvoicingCode ?? false, value: data.eInvoicingCode ?? "", readonly: readonly || noInvoicingCode, shouldValidate, onInput: handleChangeFor("eInvoicingCode", "input"), onBlur: handleChangeFor("eInvoicingCode", "blur"), disabled: noInvoicingCode, "aria-required": true, "aria-invalid": !valid.eInvoicingCode, ...mask }), /* @__PURE__ */ jsx(Field, { name: "noEInvoicingCode", children: (childProps) => /* @__PURE__ */ jsx(Checkbox, { ...childProps, name: "noEInvoicingCode", "aria-required": false, "aria-invalid": false, label: t(($) => $["thisCompanyDoesntHaveAnSDI"]), checked: noInvoicingCode, onChange: handleNoInvoicingCode }) })] }); } //#endregion //#region src/components/Shared/fields/EInvoicingCodeField/fieldConfig.ts var eInvoicingCodeFieldMetadata = { validators: validatePatternOnBlur(/^[A-Z0-9]{7}$/), mask: { mask: makeMask(...alphanumericInputs(16)), transformOnType: uppercase } }; //#endregion //#region src/components/Shared/fields/StockExchangeMICField/fieldConfig.ts var stockExchangeMICFieldMetadata = { validators: [validateNotEmptyOnBlur, validatePatternOnBlur(/^[a-zA-Z0-9]{4}$/)], mask: { mask: makeMask(...alphanumericInputs(4)), transformOnType: uppercase } }; //#endregion //#region src/components/Shared/fields/StockExchangeMICField/StockExchangeMICField.tsx var STOCK_EXCHANGE_MIC_FIELD = ["stockExchangeMIC"]; function StockExchangeMICField({ data, valid, errors, readonly, mask, shouldValidate, handleChangeFor }) { const { t } = useTranslation("common"); return /* @__PURE__ */ jsx(MaskedInput, { name: "stockExchangeMIC", type: "text", label: t(($) => $["stockExchangeMIC"]), formatGuidance: t(($) => $["enterNCharactersForExample"], { numChars: "4", example: "XNAS" }), ...mask, errorMessage: errors.stockExchangeMIC, isValid: valid.stockExchangeMIC ?? false, value: data.stockExchangeMIC ?? "", readonly, shouldValidate, onInput: handleChangeFor("stockExchangeMIC", "input"), onBlur: handleChangeFor("stockExchangeMIC", "blur"), "aria-required": true, "aria-invalid": !valid.stockExchangeMIC }); } //#endregion //#region src/components/Shared/fields/StockISINField/fieldConfig.ts var stockISINFieldMetadata = { validators: [validateNotEmptyOnBlur, { modes: ["blur"], validate: (value) => !!value && isISIN(value) }], mask: { mask: makeMask(...alphaInputs(2), ...alphanumericInputs(9), ...numericInputs(1)), transformOnType: uppercase } }; //#endregion //#region src/components/Shared/fields/StockISINField/StockISINField.tsx var STOCK_ISIN_FIELD = ["stockISIN"]; function StockISINField({ data, valid, errors, readonly, mask, shouldValidate, handleChangeFor }) { const { t } = useTranslation("common"); return /* @__PURE__ */ jsx(MaskedInput, { name: "stockISIN", type: "text", label: t(($) => $["stockISIN"]), formatGuidance: t(($) => $["validationPleaseEnterAValidStockISIN"], { example: "NL0012969182" }), ...mask, errorMessage: errors.stockISIN, isValid: valid.stockISIN ?? false, value: data.stockISIN ?? "", readonly, shouldValidate, onInput: handleChangeFor("stockISIN", "input"), onBlur: handleChangeFor("stockISIN", "blur"), "aria-required": true, "aria-invalid": !valid.stockISIN }); } //#endregion //#region src/components/Shared/fields/StockTickerSymbol/fieldConfig.ts var stockTickerSymbolFieldMetadata = { validators: [validateNotEmptyOnBlur, validatePatternOnBlur(/^[A-Z\d]{1,5}$/)], mask: { mask: makeMask(...alphanumericInputs(1), ...alphanumericInputs(4)), transformOnType: uppercase } }; //#endregion //#region src/components/Shared/fields/StockTickerSymbol/StockTickerSymbolField.tsx var STOCK_TICKER_SYMBOL_FIELD = ["stockTickerSymbol"]; function StockTickerSymbolField({ data, valid, errors, readonly, mask, shouldValidate, handleChangeFor }) { const { t } = useTranslation("common"); return /* @__PURE__ */ jsx(MaskedInput, { name: "stockTickerSymbol", type: "text", label: t(($) => $["stockTickerSymbol"]), formatGuidance: t(($) => $["enterAMaximumOfNCharactersForExample"], { maxChars: "5", example: "ADYEN" }), ...mask, errorMessage: errors.stockTickerSymbol, isValid: valid.stockTickerSymbol ?? false, value: data.stockTickerSymbol ?? "", readonly, shouldValidate, onInput: handleChangeFor("stockTickerSymbol", "input"), onBlur: handleChangeFor("stockTickerSymbol", "blur"), "aria-required": true, "aria-invalid": !valid.stockTickerSymbol }); } //#endregion //#region src/utils/useDebouncedState.ts /** * Like {@link useState}, but waits for the given amount of time before applying *only* the most recent update. * * @param wait the time to wait, in milliseconds * @param initialState (optional) the default value */ function useDebouncedState(wait, initialState) { const [state, _setState] = useState$1(initialState); return [state, useDebouncedCallback(_setState, wait)]; } //#endregion //#region src/components/EFP/fields/LegalFormField/types.ts var LEGAL_FORM_FIELDS = ["legalForm", "legalFormLabel"]; var legalFormFieldMetadata = { label: "legalForm", validators: [validateNotEmptyOnBlur] }; //#endregion //#region src/components/Business/tasks/BusinessDetailsDropin/businessDetailsStore.ts var isBankAccountRequestedForOrganization = signal(void 0); var tinMatched = signal(void 0); var businessMismatchModalOpen = signal(false); var verifiedBusiness = signal(void 0); var AdditionalInformation_module_default = { "additional-information-content": "adyen-kyc-additional-information-content", additionalInformationContent: "adyen-kyc-additional-information-content", "additional-information-section-heading": "adyen-kyc-additional-information-section-heading", additionalInformationSectionHeading: "adyen-kyc-additional-information-section-heading" }; var VerifiedBusinessCard_module_default = { "verified-business-card": "adyen-kyc-verified-business-card", verifiedBusinessCard: "adyen-kyc-verified-business-card", "verified-business-card-content": "adyen-kyc-verified-business-card-content", verifiedBusinessCardContent: "adyen-kyc-verified-business-card-content", "verified-business-card-content-collapsed": "adyen-kyc-verified-business-card-content-collapsed", verifiedBusinessCardContentCollapsed: "adyen-kyc-verified-business-card-content-collapsed", "verified-business-card-content-expanded": "adyen-kyc-verified-business-card-content-expanded", verifiedBusinessCardContentExpanded: "adyen-kyc-verified-business-card-content-expanded", "verified-business-card-expand-button": "adyen-kyc-verified-business-card-expand-button", verifiedBusinessCardExpandButton: "adyen-kyc-verified-business-card-expand-button" }; //#endregion //#region src/components/Business/forms/AdditionalInformation/VerifiedBusinessCard/VerifiedBusinessCard.tsx function VerifiedBusinessCard({ verifiedBusiness, verifiedAddress }) { const { t } = useTranslation(["common"]); const [expanded, setExpanded] = useState$1(false); const address = verifiedAddress?.address && verifiedAddress.city && verifiedAddress.stateOrProvince && verifiedAddress.postalCode ? `${verifiedAddress.address} ${verifiedAddress.city} ${verifiedAddress.stateOrProvince} ${verifiedAddress.postalCode}` : verifiedAddress?.address; const addressLink = `https://www.google.com/maps/place/${address?.replaceAll(" ", "+")}`; const baseItems = useMemo$1(() => [{ term: t(($) => $["legalCompanyName__US"], { ns: "common" }), details: verifiedBusiness?.name }, { term: t(($) => $["registrationNumber__US"], { ns: "common" }), details: verifiedBusiness?.registrationNumber }].filter((item) => !!item.details), [ verifiedBusiness?.name, verifiedBusiness?.registrationNumber, t ]); const expandedItems = useMemo$1(() => [{ term: t(($) => $["legalForm"], { ns: "common" }), details: verifiedBusiness?.legalForm }, { term: t(($) => $["address"], { ns: "common" }), details: address && /* @__PURE__ */ jsxs(Fragment$1, { children: [ address, /* @__PURE__ */ jsx("br", {}), /* @__PURE__ */ jsx(Link, { href: addressLink, external: true, children: t(($) => $["showOnMap"], { ns: "common" }) }) ] }) }].filter((item) => !!item.details), [ address, addressLink, t, verifiedBusiness?.legalForm ]); const expandedContentClasses = cx(VerifiedBusinessCard_module_default.verifiedBusinessCardContent, { [VerifiedBusinessCard_module_default.verifiedBusinessCardContentCollapsed]: !expanded, [VerifiedBusinessCard_module_default.verifiedBusinessCardContentExpanded]: expanded }); return /* @__PURE__ */ jsxs("section", { className: VerifiedBusinessCard_module_default.verifiedBusinessCard, children: [ /* @__PURE__ */ jsxs("div", { className: VerifiedBusinessCard_module_default.verifiedBusinessCardContent, children: [/* @__PURE__ */ jsx(StructuredList, { items: baseItems }), /* @__PURE__ */ jsx(Divider, {})] }), /* @__PURE__ */ jsxs("div", { className: expandedContentClasses, children: [/* @__PURE__ */ jsx(StructuredList, { items: expandedItems }), /* @__PURE__ */ jsx(Divider, {})] }), /* @__PURE__ */ jsx("div", { className: VerifiedBusinessCard_module_default.verifiedBusinessCardExpandButton, children: /* @__PURE__ */ jsx(Button, { variant: "link", onClick: () => setExpanded(!expanded), children: expanded ? t(($) => $["hideDetails"], { ns: "common" }) : t(($) => $["showDetails"], { ns: "common" }) }) }) ] }); } //#endregion //#region src/components/Business/forms/AdditionalInformation/AdditionalInformation.tsx var LazyJpAddress = lazy(async () => (await import("./JpAddress-CcvXXU8C.js")).JpAddress); var ADDITIONAL_INFORMATION_FORM_ID = "additionalInformation"; var ADDITIONAL_INFORMATION_FIELDS = [ ...DBA_NAME_FIELD, ...BUSINESS_REGISTRATION_NUMBER_FIELD, ...TAX_INFORMATION_FIELD, ...VAT_NUMBER_FIELD, ...INDUSTRY_CODE_FIELD, ...DATE_OF_INCORPORATION_FIELD, ...STOCK_EXCHANGE_MIC_FIELD, ...STOCK_ISIN_FIELD, ...STOCK_TICKER_SYMBOL_FIELD, ...EINVOICING_CODE_FIELD, "legalFormDescription", ...LEGAL_FORM_FIELDS, ...registrationAddressFields ]; function AdditionalInformation({ id, country, companyType, shouldValidate, validationErrors = {}, verificationErrors = {} }) { const { t, i18n } = useTranslation(["common", "business"]); const { t: businessT } = useTranslation("business"); const { form } = useFormContext(); const { isFeatureEnabled } = useToggleContext(); const { data: rootLegalEntity } = useLegalEntity(ROOT_LE); const verifiedBusiness$1 = verifiedBusiness.value; const showVerified = !!verifiedBusiness$1; const showStockData = companyType === CompanyTypesValues.PUBLIC_COMPANY; const addressSchema = getAddressSchemaForCountry(country).filter((field) => !COUNTRIES_WITH_STATES_DATASET.includes(country) ? field !== "stateOrProvince" : true); const currentCountryTaxInformation = form.data.additionalInformation?.taxInformation?.find((taxId) => taxId.country === country); const businessLineTypes = []; if (requestingBanking(rootLegalEntity)) businessLineTypes.push("banking"); if (requestingIssuing(rootLegalEntity)) businessLineTypes.push("issuing"); const [addressToCheck, setAddressToCheck] = useDebouncedState(500); const { data: cleansedRegistrationAddress } = useAddressCleanse({ text: addressToCheck, country }, { enabled: Boolean(addressToCheck) }); const mustProvideOperationalAddress = cleansedRegistrationAddress?.poBox ?? false; useEffect$1(() => setAddressToCheck(formatAddressForCleanse(form.data.additionalInformation?.registrationAddress ?? {})), [form.data.additionalInformation?.registrationAddress, setAddressToCheck]); /** * Map the existing verified address data returned from the business data provider to our local address schema. * This must be done differently than the other verified data as the address * component maintains its own local form state. */ const verifiedAddress = useMemo$1(() => { if (!verifiedBusiness$1) return void 0; if (form.defaultData?.additionalInformation?.registrationAddress?.address || form.defaultData?.additionalInformation?.operationalAddress?.address) return { override: { address: "" } }; return { ...verifiedBusiness$1.registeredAddress && { registrationAddress: mapAddressData(verifiedBusiness$1.registeredAddress) }, ...verifiedBusiness$1.principalPlaceOfBusinessAddress && { operationalAddress: mapAddressData(verifiedBusiness$1.principalPlaceOfBusinessAddress) } }; }, [ verifiedBusiness$1, form.defaultData?.additionalInformation?.registrationAddress?.address, form.defaultData?.additionalInformation?.operationalAddress?.address ]); const registrationAddressValid = useRef$1(false); const operationalAddressValid = useRef$1(false); if (form.valid.additionalInformation?.registrationAddress !== registrationAddressValid.current) form.setValid("registrationAddress", registrationAddressValid.current, "additionalInformation"); if (form.data.additionalInformation?.operationalAddressIsSame === operationalAddressIsSameIds.OPERATIONAL_ADDRESS_IS_NOT_SAME && form.valid.additionalInformation?.operationalAddress !== operationalAddressValid.current) form.setValid("operationalAddress", operationalAddressValid.current, "additionalInformation"); const handleChangeFor = useCallback$1((fieldName, mode) => form.handleChangeFor(fieldName, "additionalInformation", mode), [form]); const handleRegistrationAddressChange = (state) => { handleChangeFor("registrationAddress")(state.data); form.setValid("registrationAddress", Boolean(state.isValid), "additionalInformation"); registrationAddressValid.current = Boolean(state.isValid); }; const handleOperationalAddressChange = (state) => { handleChangeFor("operationalAddress")(state.data); form.setValid("operationalAddress", Boolean(state.isValid), "additionalInformation"); operationalAddressValid.current = Boolean(state.isValid); }; const handleOperationalAddressIsSameChange = useCallback$1((isChecked) => { if (isChecked) { handleChangeFor("operationalAddressIsSame")(operationalAddressIsSameIds.OPERATIONAL_ADDRESS_IS_SAME); form.setValid("operationalAddress", true, "additionalInformation"); } else handleChangeFor("operationalAddressIsSame")(operationalAddressIsSameIds.OPERATIONAL_ADDRESS_IS_NOT_SAME); }, [form, handleChangeFor]); if (form.data.additionalInformation?.operationalAddressIsSame === null) handleOperationalAddressIsSameChange(true); useEffect$1(() => { if (mustProvideOperationalAddress && form.data.additionalInformation?.operationalAddressIsSame !== operationalAddressIsSameIds.OPERATIONAL_ADDRESS_IS_NOT_SAME) handleOperationalAddressIsSameChange(false); }, [ handleOperationalAddressIsSameChange, mustProvideOperationalAddress, form.data.additionalInformation?.operationalAddressIsSame ]); const formUtils = useMemo$1(() => { const initialProps = { data: form.data.additionalInformation ?? {}, fieldValidationErrors: validationErrors, formVerificationErrors: verificationErrors, allFields: form.allFields?.additionalInformation ?? [], requiredFields: form.requiredFields?.additionalInformation ?? [], optionalFields: form.optionalFields?.additionalInformation ?? [], trustedFields: form.trustedFields?.additionalInformation ?? [], obscuredFields: form.obscuredFields?.additionalInformation ?? [], errors: form.errors.additionalInformation ?? {}, valid: form.valid.additionalInformation ?? {}, handleFieldChange: handleChangeFor }; const formUtilProps = initialProps.allFields?.reduce((acc, field) => { switch (field) { case "hasDoingBusinessAs": return mergeFieldMetadataIntoProps("hasDoingBusinessAs", doingBusinessAsAbsentFieldMetadata, acc); case "doingBusinessAs": return mergeFieldMetadataIntoProps("doingBusinessAs", doingBusinessAsFieldMetadata, acc); case "registrationNumber": return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(registrationNumberDefaultFieldConfig[country], { registrationNumberType: form.data.additionalInformation?.registrationNumberType }, registrationNumberDefaultFieldMetadata), acc); case "taxInformation": return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(taxInformationDefaultFieldConfig[country], { taxIdNumberType: currentCountryTaxInformation?.type, companyType }, taxInformationDefaultFieldMetadata), acc); case "vatNumber": return mergeFieldMetadataIntoProps(field, resolveFieldMetadata(defaultFieldConfig$1[country], { vatNumberType: form.data.additionalInformation?.vatNumberType }, defaultFieldMetadata$1), acc); case "vatAbsenceReason": return mergeFieldMetadataIntoProps("vatAbsenceReason", vatAbsenceReasonMetadata, acc); case "eInvoicingCode": return mergeFieldMetadataIntoProps("eInvoicingCode", eInvoicingCodeFieldMetadata, acc); case "industryCodes": return mergeFieldMetadataIntoProps("industryCodes", industryCodeFieldMetadata, acc); case "dateOfIncorporation": return mergeFieldMetadataIntoProps("dateOfIncorporation", dateOfIncorporationFieldMetadata, acc); case "stockExchangeMIC": return mergeFieldMetadataIntoProps("stockExchangeMIC", stockExchangeMICFieldMetadata, acc); case "stockISIN": return mergeFieldMetadataIntoProps("stockISIN", stockISINFieldMetadata, acc); case "stockTickerSymbol": return mergeFieldMetadataIntoProps("stockTickerSymbol", stockTickerSymbolFieldMetadata, acc); case "legalForm": return mergeFieldMetadataIntoProps("legalForm", legalFormFieldMetadata, acc); default: return acc; } }, initialProps); return createFormUtils(formUtilProps ?? initialProps, t); }, [ companyType, country, currentCountryTaxInformation?.type, form.allFields?.additionalInformation, form.data.additionalInformation, form.errors.additionalInformation, form.obscuredFields?.additionalInformation, form.optionalFields?.additionalInformation, form.requiredFields?.additionalInformation, form.trustedFields?.additionalInformation, form.valid.additionalInformation, handleChangeFor, t, validationErrors, verificationErrors ]); const showField = (fieldKeys) => fieldKeys.some((field) => formUtils.isRequiredField(field) || formUtils.isOptionalField(field)); const { data: industryCodes } = useIndustryCodes(businessLineTypes, i18n.language, { enabled: showField(INDUSTRY_CODE_FIELD) }); const datasetUtils = datasetUtilities(i18n.language); const registrationAddressDescription = useMemo$1(() => { return [ "US", "NL", "CZ" ].includes(country) ? t(($) => $["youBusinessOfficalAddressInTheCounty"], { ns: "business", country: datasetUtils.getCountryName(country) }) : t(($) => $["youBusinessOfficalAddressInCounty"], { ns: "business", country: datasetUtils.getCountryName(country) }); }, [ country, datasetUtils, t ]); const showJapanLocalization = isJapanLocalizationEnabled(isFeatureEnabled, country); let readOnlyAddressFields = []; if (verifiedBusiness$1?.registeredAddress?.state && verifiedBusiness$1.registeredAddress.state === form.data.basicInformation?.stateOrProvince) readOnlyAddressFields = ["stateOrProvince"]; return /* @__PURE__ */ jsxs("form", { id, children: [ /* @__PURE__ */ jsx(Header, { title: t(($) => $["additionalInformationFormHeading"], { ns: "business" }) }), /* @__PURE__ */ jsx(ErrorPanel, { id: "ariaErrorField", verificationErrors, validationErrors, formUtils }), /* @__PURE__ */ jsxs("div", { className: AdditionalInformation_module_default.additionalInformationContent, children: [ showVerified && /* @__PURE__ */ jsxs("section", { children: [/* @__PURE__ */ jsx("div", { className: AdditionalInformation_module_default.additionalInformationSectionHeading, children: /* @__PURE__ */ jsx(Typography, { el: "h3", variant: "title", children: t(($) => $["verifiedInformation"], { ns: "business" }) }) }), /* @__PURE__ */ jsx(VerifiedBusinessCard, { verifiedBusiness: verifiedBusiness$1, verifiedAddress: verifiedAddress?.override ?? verifiedAddress?.registrationAddress ?? verifiedAddress?.operationalAddress })] }), /* @__PURE__ */ jsxs("section", { children: [showVerified && /* @__PURE__ */ jsx("div", { className: AdditionalInformation_module_default.additionalInformationSectionHeading, children: /* @__PURE__ */ jsx(Typography, { el: "h3", variant: "title", children: t(($) => $["otherBusinessInformation"], { ns: "business" }) }) }), /* @__PURE__ */ jsxs("fieldset", { children: [ showField(LEGAL_FORM_FIELDS) && /* @__PURE__ */ jsx(LegalFormField, { name: "legalForm", countryCode: country, data: { legalForm: formUtils.getFieldData(form.data.additionalInformation ?? {}, LEGAL_FORM_FIELDS).legalForm }, valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, LEGAL_FORM_FIELDS), errorMessage: form.errors.additionalInformation?.legalForm?.errorMessage, handleChangeFor, readonly: false, label: formUtils.getLabel("legalForm", "businessStructure") }), showField(DBA_NAME_FIELD) && /* @__PURE__ */ jsx(DBANameField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, DBA_NAME_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, DBA_NAME_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, DBA_NAME_FIELD), readonly: formUtils.isReadOnly("doingBusinessAs"), handleChangeFor }), showField(BUSINESS_REGISTRATION_NUMBER_FIELD) && /* @__PURE__ */ jsx(BusinessRegistrationNumberField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, BUSINESS_REGISTRATION_NUMBER_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, BUSINESS_REGISTRATION_NUMBER_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, BUSINESS_REGISTRATION_NUMBER_FIELD), labels: formUtils.getFieldLabels(BUSINESS_REGISTRATION_NUMBER_FIELD, { exemptedFromRegistrationNumber: "iDontHaveARegistrationNumber" }), mask: formUtils.getMask("registrationNumber"), helperText: getRegistrationNumberHelperText(businessT, { country, companyType }), readonly: formUtils.isReadOnly("registrationNumber"), optional: formUtils.isOptionalField("registrationNumber"), shouldValidate, handleChangeFor, country, canExempt: showField(["exemptedFromRegistrationNumber"]), companyType }), showField(TAX_INFORMATION_FIELD) && /* @__PURE__ */ jsx(TaxInformationField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, TAX_INFORMATION_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, TAX_INFORMATION_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, TAX_INFORMATION_FIELD), labels: formUtils.getFieldLabels(TAX_INFORMATION_FIELD, { exemptedFromTax: "iDontHaveATaxId" }), mask: formUtils.getMask("taxInformation"), readonly: formUtils.isReadOnly("taxInformation"), shouldValidate, handleChangeFor, canExempt: showField(["exemptedFromTax"]), country, entityType: companyType, defaultData: form.defaultData?.additionalInformation?.taxInformation, registrationNumber: form.data.additionalInformation?.registrationNumber }), showField(VAT_NUMBER_FIELD) && /* @__PURE__ */ jsx(VatNumberField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, VAT_NUMBER_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, VAT_NUMBER_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, VAT_NUMBER_FIELD), labels: formUtils.getFieldLabels(VAT_NUMBER_FIELD, { exemptedFromVat: "iDontHaveAVatNumber" }), mask: formUtils.getMask("vatNumber"), readonly: formUtils.isReadOnly("vatNumber"), handleChangeFor, country, canExempt: showField(["exemptedFromVat"]), shouldValidate }), formUtils.isRequiredField("eInvoicingCode", false) && /* @__PURE__ */ jsx(EInvoicingCodeField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, EINVOICING_CODE_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, EINVOICING_CODE_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, EINVOICING_CODE_FIELD), labels: formUtils.getFieldLabels(EINVOICING_CODE_FIELD), mask: formUtils.getMask("eInvoicingCode"), readonly: formUtils.isReadOnly("eInvoicingCode"), handleChangeFor }), showField(INDUSTRY_CODE_FIELD) && /* @__PURE__ */ jsx(IndustryCodeField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, INDUSTRY_CODE_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, INDUSTRY_CODE_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, INDUSTRY_CODE_FIELD), guidanceText: t(($) => $["primaryIndustryCodeGuidance"], { ns: "business" }), readonly: formUtils.isReadOnly("industryCodes"), handleChangeFor, businessLineTypes, single: true, industryCodes: industryCodes ?? [] }), showField(DATE_OF_INCORPORATION_FIELD) && /* @__PURE__ */ jsx(DateOfIncorporationField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, DATE_OF_INCORPORATION_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, DATE_OF_INCORPORATION_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, DATE_OF_INCORPORATION_FIELD), placeholder: t(($) => $["datePlaceholder"]), readonly: formUtils.isReadOnly("dateOfIncorporation"), handleChangeFor }) ] })] }), showStockData && /* @__PURE__ */ jsxs("section", { children: [/* @__PURE__ */ jsx("div", { className: AdditionalInformation_module_default.additionalInformationSectionHeading, children: /* @__PURE__ */ jsx(Typography, { el: "h3", variant: "title", children: t(($) => $["stockExchangeInformation"], { ns: "business" }) }) }), /* @__PURE__ */ jsxs("fieldset", { children: [ showField(STOCK_EXCHANGE_MIC_FIELD) && /* @__PURE__ */ jsx(StockExchangeMICField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, STOCK_EXCHANGE_MIC_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, STOCK_EXCHANGE_MIC_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, STOCK_EXCHANGE_MIC_FIELD), mask: formUtils.getMask("stockExchangeMIC"), readonly: formUtils.isReadOnly("stockExchangeMIC"), shouldValidate, handleChangeFor }), showField(STOCK_ISIN_FIELD) && /* @__PURE__ */ jsx(StockISINField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, STOCK_ISIN_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, STOCK_ISIN_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, STOCK_ISIN_FIELD), mask: formUtils.getMask("stockISIN"), readonly: formUtils.isReadOnly("stockISIN"), shouldValidate, handleChangeFor }), showField(STOCK_TICKER_SYMBOL_FIELD) && /* @__PURE__ */ jsx(StockTickerSymbolField, { data: formUtils.getFieldData(form.data.additionalInformation ?? {}, STOCK_TICKER_SYMBOL_FIELD), valid: formUtils.getFieldValid(form.valid.additionalInformation ?? {}, STOCK_TICKER_SYMBOL_FIELD), errors: formUtils.getFieldErrors(form.errors.additionalInformation ?? {}, validationErrors, STOCK_TICKER_SYMBOL_FIELD), mask: formUtils.getMask("stockTickerSymbol"), readonly: formUtils.isReadOnly("stockTickerSymbol"), shouldValidate, handleChangeFor }) ] })] }), /* @__PURE__ */ jsxs("section", { "data-testid": "registeredBusinessAddress", children: [/* @__PURE__ */ jsxs("div", { className: AdditionalInformation_module_default.additionalInformationSectionHeading, children: [/* @__PURE__ */ jsx(Typography, { el: "h3", variant: "title", children: t(($) => $["registeredBusinessAddress"], { ns: "business" }) }), /* @__PURE__ */ jsx(Typography, { el: "p", variant: "body", children: registrationAddressDescription })] }), showJapanLocalization ? /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Loader, {}), children: /* @__PURE__ */ jsx(LazyJpAddress, { id: ADDITIONAL_INFORMATION_FORM_ID, addressType: "registrationAddress", data: { ...form.data.additionalInformation?.registrationAddress, country }, shouldValidate, onChange: handleRegistrationAddressChange }) }) : /* @__PURE__ */ jsx(Address, { id: ADDITIONAL_INFORMATION_FORM_ID, addressType: "registrationAddress", data: { ...form.data.additionalInformation?.registrationAddress, country }, labels: getAddressSchemaLabelsByCountry(country), requiredFields: addressSchema, shouldValidate, hideCountry: true, optionalFields: ["otherAddressInformation"], readOnlyFields: readOnlyAddressFields, trustedFields: getNestedTrustedFields("registrationAddress", form.data.additionalInformation, form.trustedFields?.additionalInformation), onChange: handleRegistrationAddressChange, verifiedBusiness: verifiedBusiness$1, verifiedAddress: verifiedAddress?.registrationAddress, condensed: true })] }), /* @__PURE__ */ jsxs("section", { "data-testid": "principalPlaceOfBusiness", children: [ /* @__PURE__ */ jsxs("div", { className: AdditionalInformation_module_default.additionalInformationSectionHeading, children: [/* @__PURE__ */ jsx(Typography, { el: "h3", variant: "title", children: t(($) => $["principalPlaceOfBusiness"], { ns: "business" }) }), /* @__PURE__ */ jsx(Typography, { el: "p", variant: "body", children: t(($) => $["thePhysicalLocationWhereABusiness"], { ns: "business" }) })] }), !mustProvideOperationalAddress && /* @__PURE__ */ jsx(Field, { el: "fieldset", name: "operationalAddressIsSame", errorMessage: form.errors.additionalInformation?.operationalAddressIsSame?.errorMessage, isValid: form.valid.additionalInformation?.operationalAddressIsSame, children: (childProps) => /* @__PURE__ */ jsx(Checkbox, { ...childProps, "aria-required": formUtils.isRequiredField("operationalAddressIsSame"), "aria-invalid": !form.valid.additionalInformation?.operationalAddressIsSame, name: "operationalAddressIsSame", label: formUtils.getLabel("sameAsRegisteredAddress"), checked: form.data.additionalInformation?.operationalAddressIsSame ? form.data.additionalInformation.operationalAddressIsSame === operationalAddressIsSameIds.OPERATIONAL_ADDRESS_IS_SAME : true, onChange: handleOperationalAddressIsSameChange }) }), form.data.additionalInformation?.operationalAddressIsSame === operationalAddressIsSameIds.OPERATIONAL_ADDRESS_IS_NOT_SAME && (showJapanLocalization ? /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Loader, {}), children: /* @__PURE__ */ jsx(LazyJpAddress, { id: ADDITIONAL_INFORMATION_FORM_ID, addressType: "operationalAddress", data: { ...form.data.additionalInformation.operationalAddress, country }, shouldValidate, onChange: handleOperationalAddressChange }) }) : /* @__PURE__ */ jsx(Address, { id: ADDITIONAL_INFORMATION_FORM_ID, addressType: "operationalAddress", data: { ...form.defaultData?.additionalInformation?.operationalAddress, country }, labels: getAddressSchemaLabelsByCountry(country), requiredFields: addressSchema, shouldValidate, hideCountry: true, optionalFields: ["otherAddressInformation"], trustedFields: getNestedTrustedFields("operationalAddress", form.data.additionalInformation, form.trustedFields?.additionalInformation), onChange: handleOperationalAddressChange, verifiedBusiness: verifiedBusiness$1, verifiedAddress: verifiedAddress?.operationalAddress, condensed: true })) ] }) ] }) ] }); } //#endregion //#region src/components/Shared/fields/LocalizedLegalCompanyNameField/types.ts var JAPANESE_LEGAL_COMPANY_NAME_FIELDS = ["jaHaniLegalCompanyName", "jaKanaLegalCompanyName"]; //#endregion //#region src/hooks/useLegalCompanyNameField/useLegalCompanyNameField.ts function useLegalCompanyNameField({ data, valid, errors, fieldProblems, country, formUtils, handleChange, t }) { const { isFeatureEnabled } = useToggleContext(); const fieldKeys = getFieldKeys(isFeatureEnabled, country); const labels = formUtils.getFieldLabels(fieldKeys); const fieldErrors = formUtils.getFieldErrors(errors, fieldProblems, fieldKeys); const fieldsTransformInput = { jaHaniLegalCompanyName: toFullWidth, jaKanaLegalCompanyName: toFullWidth }; const fieldsTransformMode = { jaHaniLegalCompanyName: "blur", jaKanaLegalCompanyName: "blur" }; return fieldKeys.map((fieldKey) => { if (formUtils.isRequiredField(fieldKey) || formUtils.isOptionalField(fieldKey)) { const guidance = fieldKey === "legalCompanyName" ? getLegalCompanyNameGuidanceText(t, { country }) : void 0; return { name: fieldKey, value: data[fieldKey] ?? "", readonly: formUtils.isReadOnly(fieldKey), onInput: handleChange(fieldKey, "input"), onBlur: handleChange(fieldKey, "blur"), isValid: valid[fieldKey], errorMessage: fieldErrors[fieldKey], label: labels[fieldKey], guidance, onKeyDown: handleKeyDown, transformInput: fieldsTransformInput[fieldKey], transformMode: fieldsTransformMode[fieldKey] }; } }); } var getFieldKeys = (isFeatureEnabled = () => false, country) => { if (isJapanLocalizationEnabled(isFeatureEnabled, country)) return [...JAPANESE_LEGAL_COMPANY_NAME_FIELDS, ...LEGAL_COMPANY_NAME_FIELD]; return LEGAL_COMPANY_NAME_FIELD; }; var handleKeyDown = (e) => { if (e.key === KEYBOARD_KEYS.enter) e.preventDefault(); }; //#endregion //#region src/components/Shared/fields/CountryOfGoverningLawField/CountryOfGoverningLawField.tsx var COUNTRY_OF_GOVERNING_LAW_FIELD = ["countryOfGoverningLaw"]; function CountryOfGoverningLawField({ data, valid, errors, labels, readonly, handleChangeFor, allowedCountries, country }) { const { t } = useTranslation("common"); useEffect$1(() => { if (country === CountryCodes.UnitedKingdom && !data.countryOfGoverningLaw) { const countryOfGoverningLawEvent = { target: { name: "countryOfGoverningLaw", value: CountryCodes.UnitedKingdom } }; handleChangeFor("countryOfGoverningLaw")(countryOfGoverningLawEvent); } }, [country]); return /* @__PURE__ */ jsx(CountryField, { name: "countryOfGoverningLaw", data: { country: data.countryOfGoverningLaw }, valid: { country: valid.countryOfGoverningLaw }, errors: { country: errors.countryOfGoverningLaw }, labels: { country: labels?.countryOfGoverningLaw || t(($) => $["countryOfGoverningLaw"]) }, readonly, allowedCountries, handleChangeFor: () => handleChangeFor("countryOfGoverningLaw") }); } var localizedLegalCompanyNameFieldConfig = { jaHaniLegalCompanyName: { config: { label: "jaHaniLegalCompanyName", validators: validateJaHaniLegalCompanyName }, metadata: { label: "jaHaniLegalCompanyName" } }, jaKanaLegalCompanyName: { config: { label: "jaKanaLegalCompanyName", validators: validateJaKanaLegalCompanyName }, metadata: { label: "jaKanaLegalCompanyName" } } }; var BasicInformation_module_default = { "basic-information": "adyen-kyc-basic-information", basicInformation: "adyen-kyc-basic-information" }; //#endregion //#region src/components/Business/forms/BasicInformation/BasicInformation.tsx var BASIC_INFORMATION_FIELDS = [ ...COUNTRY_FIELD, ...LEGAL_COMPANY_NAME_FIELD, "jaHaniLegalCompanyName", "jaKanaLegalCompanyName", ...TAX_INFORMATION_FIELD, ...STATE_FIELD, ...BUSINESS_REGISTRATION_NUMBER_FIELD, ...COUNTRY_OF_GOVERNING_LAW_FIELD ]; var FormDescription = ({ description, t }) => { return /* @__PURE__ */ jsxs("div", { className: "adyen-kyc-form-header__description", children: [ description, " ", /* @__PURE__ */ jsx(Link, { href: "https://www.adyen.com/privacy-policy", external: true, children: t(($) => $["privacyStatement"]) }) ] }); }; function BasicInformation({ id, country, shouldValidate, validationErrors = {}, verificationErrors = {}, isTopLevelEntity, disableCountry, companyType }) { const { t } = useTranslation(["common", "business"]); const { t: businessT } = useTranslation("business"); const { isSettingEnabled } = useSettingsContext(); const { isFeatureEnabled } = useToggleContext(); const { form } = useFormContext(); const allowedCountries = useAllowedCountries(); const isAllowedEditPrefilledCountry = isSettingEnabled(SettingNames.AllowPrefilledCountryEdit); const state = form.data.basicInformation?.stateOrProvince; const currentCountryTaxInformation = form.data.basicInformation