{"version":3,"file":"static/js/353.52e8599d.chunk.js","mappings":"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","sources":["flows/Onboarding/remote/pages/identificationCardIsExpired/IdentificationCardIsExpired.tsx","flows/Onboarding/remote/pages/identificationSuccessful/IdentificationSuccessful.tsx","flows/Onboarding/remote/pages/informativeNotice/InformativeNotice.tsx","flows/Onboarding/remote/pages/knowYourCustomer/KnowYourCustomer.tsx","flows/Onboarding/remote/pages/knowYourCustomer/components/KnowYourCustomerForm.tsx","flows/Onboarding/remote/pages/knowYourCustomerTransaction/KnowYourCustomerTransaction.tsx","flows/Onboarding/remote/pages/knowYourCustomerTransaction/components/EditTransactionDetailsDialog.tsx","flows/Onboarding/remote/pages/knowYourCustomerTransaction/components/KnowYourCustomerTransactionForm.tsx","flows/Onboarding/remote/pages/knowYourCustomerTransaction/components/TransactionNumberAndVolume.tsx","flows/Onboarding/remote/pages/knowYourCustomerTransaction/components/TransactionSelectionDialog.tsx","flows/Onboarding/remote/pages/kycPendingResults/KycPendingResults.tsx","flows/Onboarding/remote/pages/kycPendingResults/services/domain.ts","flows/Onboarding/remote/pages/kycPendingResults/services/quitApplicationApi.ts","flows/Onboarding/remote/pages/marketingConsents/MarketingConsents.tsx","flows/Onboarding/remote/pages/marketingConsents/components/CommunicationChannelsSection.tsx","flows/Onboarding/remote/pages/marketingConsents/components/MarketingConsent.tsx","flows/Onboarding/remote/pages/optimalOffer/OptimalOffer.tsx","flows/Onboarding/remote/pages/optimalOffer/components/MoreDetails.tsx","flows/Onboarding/remote/pages/optimalOffer/components/OptionItem.tsx","flows/Onboarding/remote/pages/optimalOffer/services/useSavePackageSelection.ts","flows/Onboarding/remote/pages/packageSelection/PackageSelection.tsx","flows/Onboarding/remote/pages/packageSelection/components/MoreDetails.tsx","flows/Onboarding/remote/pages/phoneNumberValidation/PhoneNumberValidation.tsx","flows/Onboarding/remote/pages/phoneNumberValidation/components/EditPhoneMode.tsx","flows/Onboarding/remote/pages/phoneNumberValidation/components/PhoneNumberValidationForm.tsx","flows/Onboarding/remote/pages/processCeased/ProcessCeased.tsx","flows/Onboarding/remote/pages/resumeApplicationVerifyPhoneNumber/ResumeApplicationVerifyPhoneNumber.tsx","flows/Onboarding/remote/pages/resumeApplicationVerifyPhoneNumber/components/MissingDigitsInput.tsx","flows/Onboarding/remote/pages/resumeApplicationVerifyPhoneNumber/components/ResumeApplicationVerifyPhoneNumberForm.tsx","flows/Onboarding/remote/pages/resumeApplicationVerifyPhoneNumber/services/domain.ts","flows/Onboarding/remote/pages/resumeApplicationVerifyPhoneNumber/services/verifyPhoneNumberApi.ts","flows/Onboarding/remote/pages/resumeCantProceed/ResumeCantProceed.tsx","flows/Onboarding/remote/pages/resumeOtpValidate/ResumeOtpValidate.tsx","flows/Onboarding/remote/pages/resumePasswordValidate/ResumePasswordValidate.tsx","flows/Onboarding/remote/pages/scanId/ScanId.tsx","flows/Onboarding/remote/pages/scanIdStatus/ScanIdStatus.tsx","flows/Onboarding/remote/pages/scanIdStatus/services/domain.ts","flows/Onboarding/remote/pages/scanIdStatus/services/useClientExists.ts","flows/Onboarding/remote/pages/scanIdStatus/services/useScanIdStatus.ts","flows/Onboarding/remote/pages/signContractualDocument/SignContractualDocument.tsx","flows/Onboarding/remote/pages/signContractualDocument/services/applySimpleSignatureApi.ts","flows/Onboarding/remote/pages/signingProcessCompleted/SigningProcessCompleted.tsx","flows/Onboarding/remote/pages/signingProcessCompleted/services/getClientInfo.tsx","flows/Onboarding/remote/pages/stepsPresentation/StepsPresentation.tsx","flows/Onboarding/remote/pages/stepsPresentation/components/MoreDetails.tsx","flows/Onboarding/remote/pages/takeSelfieInformation/TakeSelfieInformation.tsx","flows/Onboarding/remote/pages/takeSelfieStatus/TakeSelfieStatus.tsx","flows/Onboarding/remote/pages/takeSelfieStatus/services/useTakeSelfieStatus.tsx","flows/Onboarding/remote/pages/userContactInfo/UserContactInfo.tsx","flows/Onboarding/remote/pages/userContactInfo/components/ContactRow.tsx","flows/Onboarding/remote/pages/userContactInfo/services/usePrecontractDocumentsApi.ts","flows/Onboarding/remote/services/applicationExpirationTime.ts","flows/Onboarding/remote/services/changeAuthToPotentialClient.ts","flows/Onboarding/remote/services/changeStepApi.tsx","flows/Onboarding/remote/services/consentsApi.ts","flows/Onboarding/remote/services/domain.ts","flows/Onboarding/remote/services/reducer.ts","flows/Onboarding/remote/services/remoteOnboardingContext.tsx","flows/Onboarding/remote/services/reportsApi.ts","flows/Onboarding/remote/services/useRemoteOnboardingStepOptions.tsx","flows/Onboarding/services/courierDeliveryAddresses/addressUtils.ts","flows/Onboarding/services/courierDeliveryAddresses/deleteCourierAddress.ts","flows/Onboarding/services/courierDeliveryAddresses/domain.ts","flows/Onboarding/services/courierDeliveryAddresses/getCourierDeliveryAddressesApi.ts","flows/Onboarding/services/courierDeliveryAddresses/saveDeliveryAddressApi.ts","flows/Onboarding/services/dataPrivacyConsent/getDMSFilesList.ts","flows/Onboarding/services/dataSummary/addressUtils.tsx","flows/Onboarding/services/dataSummary/domain.ts","flows/Onboarding/services/dataSummary/ocrDataSummary.tsx","flows/Onboarding/services/dataSummary/useSaveDataSummaryAddress.tsx","flows/Onboarding/services/domain.ts","flows/Onboarding/services/emailValidation/generateOtp.ts","flows/Onboarding/services/emailValidation/resendOtp.ts","flows/Onboarding/services/emailValidation/validateOtp.ts","flows/Onboarding/services/existingApplication/useCancelApplication.tsx","flows/Onboarding/services/existingApplication/useCloseUnfinishedApi.ts","flows/Onboarding/services/existingApplication/useResignKeepClient.tsx","flows/Onboarding/services/existingApplication/useResumeApi.tsx","flows/Onboarding/services/existingApplication/useResumeApplication.tsx","flows/Onboarding/services/feedback/domain.ts","flows/Onboarding/services/knowYourCustomer/domain.ts","flows/Onboarding/services/knowYourCustomer/useSaveMainAdditionalData.ts","flows/Onboarding/services/knowYourCustomer/utils.tsx","flows/Onboarding/services/knowYourCustomerTransaction/domain.ts","flows/Onboarding/services/knowYourCustomerTransaction/kycTransactionDataApi.tsx","flows/Onboarding/services/knowYourCustomerTransaction/saveTransactionAdditionalDataApi.ts","flows/Onboarding/services/knowYourCustomerTransaction/utils.ts","flows/Onboarding/services/kysPendingResults/checkKycApi.ts","flows/Onboarding/services/kysPendingResults/checkManualInterventionStatus.ts","flows/Onboarding/services/marketingConsents/domain.ts","flows/Onboarding/services/marketingConsents/getGranularConsents.tsx","flows/Onboarding/services/marketingConsents/setGranularConsents.tsx","flows/Onboarding/services/marketingConsents/useMarketingConsentLogic.ts","flows/Onboarding/services/phoneNumberValidation/generateOtp.ts","flows/Onboarding/services/phoneNumberValidation/resendOtp.ts","flows/Onboarding/services/phoneNumberValidation/validateOtp.ts","flows/Onboarding/services/resume/checkResumeApi.tsx","flows/Onboarding/services/useStepOptions.tsx","flows/Onboarding/styles/InformationDetailContainerStyled.tsx","flows/Onboarding/styles/ProgressContainerStyled.tsx"],"sourcesContent":["import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport { MOBILE_PRE_LOGIN_PAGE_URL } from \"services/domain\";\nimport image from \"assets/rejected-request.png\";\nimport styled from \"styled-components\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\n\nconst TitleStyled = styled(Body)`\n text-transform: none;\n`\n\nexport default function IdentificationCardIsExpired() {\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n\n return (\n \n \n\n {formatMessageWithKey(\"title\")}\n\n \n \n {formatMessageWithKey(\"descriptionTitle\")}\n \n\n \n\n \n {formatMessageWithKey(\"description\")}\n \n \n\n \n\n window.location.href = MOBILE_PRE_LOGIN_PAGE_URL}\n />\n \n )\n}","import { Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/approved-final.png\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\n\ntype Props = {\n onNext: () => void;\n}\n\nexport default function IdentificationSuccessful(props: Props) {\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n return (\n \n \n\n {formatMessageWithKey(\"title\")}\n\n \n\n \n \n );\n}","import { Body, Box, Divider, Space, Stack, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport GetSupport from \"../../components/GetSupport\";\nimport { Heading } from \"components/Heading\";\nimport { OptionItemProps } from \"flows/Onboarding/services/useStepOptions\";\nimport image from \"assets/analyze-your-data.png\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"../../services/useRemoteOnboardingStepOptions\";\nimport { useState } from \"react\";\n\nconst StepContainerStyled = styled(Box)`\n span {\n text-transform: none;\n }\n`;\n\nfunction computeHeaderTitle(details: OptionItemProps) {\n if (details.subtitle) {\n return details.subtitle;\n }\n\n if (details.title) {\n return details.title;\n }\n\n return \"\";\n}\n\ntype Props = {\n onNext: () => unknown;\n}\n\nexport default function InformativeNotice({ onNext }: Props) {\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const [showSupport, setShowSupport] = useState(false);\n const [details, setDetails] = useState();\n const { options } = useRemoteOnboardingStepOptions();\n\n const handleCloseDialog = () => setDetails(undefined);\n\n return (\n \n \n \n\n \n {formatMessageWithKey(\"title\")}\n \n\n \n {formatMessageWithKey(\"description\")}\n \n\n \n\n {\n options.map(({ key, description, subtitle, title }) => (\n \n \n {formatMessage(title ? title : \"\")}\n \n {\n !!description && (\n setDetails({ key, subtitle, title, description })}>\n \n \n {formatMessageWithKey(\"seeMore\")}\n \n \n \n )\n }\n \n ))\n }\n \n\n \n\n \n\n setShowSupport(true)}\n />\n\n \n\n {showSupport && setShowSupport(false)} />}\n\n {details && (\n \n \n {formatRichTextMessage(details.description ? details.description : \"\")}\n \n \n )}\n \n )\n}","import { KnowYourCustomerProps, KnowYourCustomerValues, PROFESSIONAL_STATUS_PREFIX, PURPOSE_OF_RELATIONSHIP_PREFIX, ProfessionalStatus, PurposeOfRelationship, SOURCE_OF_FUNDS_PREFIX, SourceOfFunds } from \"flows/Onboarding/services/knowYourCustomer/domain\";\nimport { formValidation, useComputeOptionList } from \"flows/Onboarding/services/knowYourCustomer/utils\";\n\nimport KnowYourCustomerForm from \"./components/KnowYourCustomerForm\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\nimport { withFormik } from \"formik\";\n\nexport const KnowYourCustomerFormik = withFormik({\n mapPropsToValues: (props: any) => {\n const { initialValues } = props;\n const { professionalStatus, occupation, currentEmployer, sourceOfFunds, purposeBankRelationship } = initialValues;\n return { professionalStatus, occupation, currentEmployer, sourceOfFunds, purposeBankRelationship };\n },\n handleSubmit: (values: KnowYourCustomerValues, bag: { props: { onSubmit: Function } }) => {\n bag.props.onSubmit(values);\n },\n validate: formValidation,\n})(KnowYourCustomerForm);\n\ntype Props = {\n onNext: () => unknown;\n}\n\nexport default function KnowYourCustomer({ onNext }: Props) {\n const { knowYourCustomerData } = useRemoteOnboardingContext();\n const { computeOptionList } = useComputeOptionList()\n\n return (\n \n )\n}","import { ASSOCIATE, EMPLOYEE, FREELANCER, KnowYourCustomerProps, KnowYourCustomerValues } from \"flows/Onboarding/services/knowYourCustomer/domain\";\nimport { Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\n\nimport DropdownField from \"components/form/DropdownField\";\nimport { FormikProps } from \"formik\";\nimport LoadingButton from \"components/LoadingButton\";\nimport TextField from \"components/form/TextField\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useSaveMainAdditionalData from \"flows/Onboarding/services/knowYourCustomer/useSaveMainAdditionalData\";\n\nexport default function KnowYourCustomerForm(props: FormikProps & KnowYourCustomerProps) {\n const { formatMessageWithKey, formatRichTextMessageWithKey, updateKnowYourCustomer } = useRemoteOnboardingContext();\n const { handleSubmit, errors, touched, validateForm, values, professionalStatusOptionsList, sourceOfFundsOptionsList, purposeOfRelationshipOptionsList, isValid } = props;\n const { saveMainAdditionalData } = useSaveMainAdditionalData();\n\n const onSubmit = (resolve: (successful: boolean) => unknown) => {\n validateForm()\n .then(validationErrors => {\n if (Object.keys(validationErrors).length) {\n handleSubmit();\n resolve(false)\n return;\n }\n updateKnowYourCustomer(values);\n saveMainAdditionalData({\n data: {\n professionalStatus: values.professionalStatus,\n occupation: values.occupation,\n currentEmployer: values.currentEmployer,\n sourceOfFunds: values.sourceOfFunds,\n purposeBankRelationship: values.purposeBankRelationship\n }\n },\n {\n onSuccess: () => {\n resolve(true);\n handleSubmit();\n },\n onFail: () => resolve(false),\n }\n )\n });\n }\n\n let index = 1;\n const computeError = (errorKey?: string | string[]) => {\n if (typeof errorKey === \"string\") {\n return formatMessageWithKey(errorKey);\n }\n }\n\n return (\n \n \n\n \n \n {formatMessageWithKey(\"title\")}\n \n \n \n\n (![EMPLOYEE, FREELANCER, ASSOCIATE].includes(value)) },\n { key: \"currentEmployer\", value: \"\", when: (value: string) => value !== EMPLOYEE }\n ]}\n />\n\n {[EMPLOYEE, ASSOCIATE, FREELANCER].includes(values.professionalStatus) &&\n \n }\n\n {values.professionalStatus === EMPLOYEE &&\n \n }\n\n \n {formatRichTextMessageWithKey(\"tooltip.line1\")}\n
\n {formatRichTextMessageWithKey(\"tooltip.line2\")}\n
\n {formatRichTextMessageWithKey(\"tooltip.line3\")}\n

\n }\n />\n\n \n\n \n\n \n
\n )\n}","import { FormikErrors, withFormik } from \"formik\";\nimport { INTERNATIONAL_ACCOUNTS, KnowYourCustomerTransactionValues, KnowYourCustomerTransactionsProps } from \"flows/Onboarding/services/knowYourCustomerTransaction/domain\";\n\nimport KnowYourCustomerTransactionForm from \"./components/KnowYourCustomerTransactionForm\";\nimport Loader from \"components/Loader\";\nimport { useKycTransactionData } from \"../../../services/knowYourCustomerTransaction/kycTransactionDataApi\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\n\ntype Props = {\n onNext: () => unknown;\n onBlocked: () => unknown;\n}\n\nexport const KnowYourCustomerFormik = withFormik({\n mapPropsToValues: (props: any) => {\n const { initialValues } = props;\n return { ...initialValues };\n },\n handleSubmit: (values: KnowYourCustomerTransactionValues, bag: { props: { onSubmit: Function } }) => {\n bag.props.onSubmit(values);\n },\n validate: ({ kindOfTransactions, countriesInternationalTransaction, sourceOfIncomeFromOtherCountries }: KnowYourCustomerTransactionValues, props) => {\n const { formatMessageWithKey } = props;\n let errors: FormikErrors = {};\n\n if (!kindOfTransactions.length) {\n errors.kindOfTransactions = formatMessageWithKey(\"kindOfTransactions.error.required\");\n } else if (\n kindOfTransactions.includes(INTERNATIONAL_ACCOUNTS) &&\n !countriesInternationalTransaction.length\n ) {\n errors.countriesInternationalTransaction = formatMessageWithKey(\"countriesInternationalTransaction.error.required\");\n }\n\n if (!sourceOfIncomeFromOtherCountries.length) {\n errors.sourceOfIncomeFromOtherCountries = formatMessageWithKey(\"sourceOfIncomeFromOtherCountries.error.required\");\n }\n\n return errors;\n }\n})(KnowYourCustomerTransactionForm);\n\nexport default function KnowYourCustomerTransaction({ onNext, onBlocked }: Props) {\n const { formatMessageWithKey, knowYourCustomerTransactionData } = useRemoteOnboardingContext();\n const { loading, countryList, transactionKindList } = useKycTransactionData();\n const { countriesInvolved, transactionTypes, otherCountriesIncomeSource, details } = knowYourCustomerTransactionData;\n \n if (loading) {\n return ;\n }\n\n return (\n country.code),\n kindOfTransactions: transactionTypes,\n sourceOfIncomeFromOtherCountries: otherCountriesIncomeSource.map(country => country.code),\n ...details\n }}\n countriesOptionsList={countryList}\n kindOfTransactionsOptionsList={transactionKindList.map(option => ({ ...option, label: formatMessageWithKey(option.label) }))}\n onSubmit={onNext}\n onBlocked={onBlocked} />\n );\n}","import { Body, Box, Divider, Space } from \"omnichannel-design-system\";\nimport { CASH, INTERNATIONAL_ACCOUNTS, KnowYourCustomerTransactionValues, PAYMENT_ORDER, TRANSACTION_VALUES } from \"flows/Onboarding/services/knowYourCustomerTransaction/domain\";\n\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { KnowYourCustomerTransactionDetail } from \"../../../services/domain\";\nimport { LooseObject } from \"services/types\";\nimport NumberField from \"components/form/NumberField\";\nimport { SetStateAction } from \"react\";\nimport { useRemoteOnboardingContext } from \"../../../services/remoteOnboardingContext\";\n\ntype Props = {\n values: KnowYourCustomerTransactionValues;\n onConfirm: (details: KnowYourCustomerTransactionDetail, isClosed?: boolean) => unknown;\n setValues: (values: SetStateAction, shouldValidate?: boolean | undefined) => void;\n}\n\nfunction isNotRightSelection(values: KnowYourCustomerTransactionValues) {\n const copyValues: LooseObject = { ...values };\n const validSelection = Object.values(TRANSACTION_VALUES).some(({ volume, number }) => !!copyValues[volume] && !!copyValues[number]);\n const notCompletedSelection = Object.values(TRANSACTION_VALUES).some(({ volume, number }) => (!!copyValues[volume] && !copyValues[number]) || (!copyValues[volume] && !!copyValues[number]));\n return !validSelection || notCompletedSelection;\n}\n\nexport default function EditTransactionDetailsDialog(props: Props) {\n const { onConfirm, values, setValues } = props;\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n const { kindOfTransactions } = values;\n\n const onConfirmDialog = () => {\n const details = {\n cashNumber: values.cashNumber,\n cashVolume: values.cashVolume,\n bankNumber: values.bankNumber,\n bankVolume: values.bankVolume,\n internationalNumber: values.internationalNumber,\n internationalVolume: values.internationalVolume\n }\n onConfirm(details)\n }\n\n const onDismiss = () => {\n onConfirm({}, true);\n return true;\n }\n\n const onKeyUp = (fieldName: string) => (inputEvent: LooseObject) => {\n const { target: { value: newValue } } = inputEvent;\n setValues(previousValues => {\n const fieldNameType = fieldName as keyof KnowYourCustomerTransactionValues;\n if (!previousValues[fieldNameType] || !newValue) {\n return previousValues;\n }\n return { ...previousValues, [fieldNameType]: newValue }\n })\n }\n\n return (\n \n \n {[PAYMENT_ORDER, CASH, INTERNATIONAL_ACCOUNTS]\n .filter(item => kindOfTransactions.some(transaction => item === transaction))\n .map(transaction => {\n const { number, volume } = TRANSACTION_VALUES[transaction];\n const volumeValue = (values as LooseObject)[volume];\n const numberValue = (values as LooseObject)[number];\n\n // Render values\n const isVolumeTouched = !volumeValue && !!numberValue;\n const volumeError = isVolumeTouched ? formatMessageWithKey(transaction + \".volumeOfTransactions.error\") : \"\";\n const volumeAssistiveText = isVolumeTouched ? undefined : formatMessageWithKey(transaction + \".volumeOfTransactions.description\");\n\n const isNumberTouched = !!volumeValue && !numberValue;\n const numberError = isNumberTouched ? formatMessageWithKey(transaction + \".numberOfTransactions.error\") : \"\";\n const numberAssistiveText = isNumberTouched ? undefined : formatMessageWithKey(transaction + \".numberOfTransactions.description\");\n\n return (\n \n \n {formatMessageWithKey(transaction + \".title\")}\n \n\n \n\n \n\n \n\n \n\n \n \n \n )\n })}\n \n \n )\n}","import { Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\nimport { CASH, DEFAULT_NUMBER_OF_TRANSACTIONS, DEFAULT_VOLUME_OF_TRANSACTIONS, INTERNATIONAL_ACCOUNTS, KnowYourCustomerTransactionValues, KnowYourCustomerTransactionsProps, NOT_APPLICABLE, OptionItem, PAYMENT_ORDER, TransactionAdditionalDataStatus } from \"flows/Onboarding/services/knowYourCustomerTransaction/domain\";\nimport { KnowYourCustomerTransactionData, KnowYourCustomerTransactionDetail } from \"../../../services/domain\";\nimport { useEffect, useState } from \"react\";\n\nimport DropdownField from \"components/form/DropdownField\";\nimport LoadingButton from \"components/LoadingButton\";\nimport TransactionNumberAndVolume from \"./TransactionNumberAndVolume\";\nimport TransactionSelectionDialog from \"./TransactionSelectionDialog\";\nimport { onDisableSourceOfIncomeOptions } from \"flows/Onboarding/services/knowYourCustomerTransaction/utils\";\nimport { useFormikContext } from \"formik\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport { useTransactionAdditionalDataApi } from \"flows/Onboarding/services/knowYourCustomerTransaction/saveTransactionAdditionalDataApi\";\n\nexport default function KnowYourCustomerTransactionForm(props: KnowYourCustomerTransactionsProps) {\n const { formatMessageWithKey, updateKnowYourCustomerTransaction } = useRemoteOnboardingContext();\n const { countriesOptionsList = [], kindOfTransactionsOptionsList, onBlocked } = props;\n const { validateForm, handleSubmit, values, setValues } = useFormikContext();\n const { saveTransactionAdditionalData } = useTransactionAdditionalDataApi();\n const [showTransactionSelection, setShowTransactionSelection] = useState(false);\n const [details, setDetails] = useState({});\n\n const changeInTransactionTypeDetails = (values.kindOfTransactions.includes(CASH) && !!details?.cashNumber) ||\n (values.kindOfTransactions.includes(PAYMENT_ORDER) && !!details?.bankNumber) ||\n (values.kindOfTransactions.includes(INTERNATIONAL_ACCOUNTS) && !!details?.internationalNumber);\n\n const resetTransactionValues = (currentValues: KnowYourCustomerTransactionValues, selectedTransactionDetails: KnowYourCustomerTransactionDetail) => {\n setValues({\n ...currentValues,\n cashNumber: selectedTransactionDetails.cashNumber,\n cashVolume: selectedTransactionDetails.cashVolume,\n bankNumber: selectedTransactionDetails.bankNumber,\n bankVolume: selectedTransactionDetails.bankVolume,\n internationalNumber: selectedTransactionDetails.internationalNumber,\n internationalVolume: selectedTransactionDetails.internationalVolume\n });\n }\n const [knowYourCustomerTransactionData, setKnowYourCustomerTransactionData] = useState({\n transactionTypes: [],\n countriesInvolved: [],\n otherCountriesIncomeSource: [],\n details: {}\n })\n\n useEffect(() => {\n const decideValue = (types: string[], type: string, defaultValue: number, value?: number): number => {\n if (types.includes(type)) {\n return !!value ? value : defaultValue;\n }\n return 0;\n }\n const computeTransactionDetails = (types: string[], transactionDetails?: KnowYourCustomerTransactionDetail): KnowYourCustomerTransactionDetail => {\n return {\n cashNumber: decideValue(types, CASH, DEFAULT_NUMBER_OF_TRANSACTIONS, transactionDetails?.cashNumber),\n cashVolume: decideValue(types, CASH, DEFAULT_VOLUME_OF_TRANSACTIONS, transactionDetails?.cashVolume),\n bankVolume: decideValue(types, PAYMENT_ORDER, DEFAULT_NUMBER_OF_TRANSACTIONS, transactionDetails?.bankVolume),\n bankNumber: decideValue(types, PAYMENT_ORDER, DEFAULT_VOLUME_OF_TRANSACTIONS, transactionDetails?.bankNumber),\n internationalNumber: decideValue(types, INTERNATIONAL_ACCOUNTS, DEFAULT_NUMBER_OF_TRANSACTIONS, transactionDetails?.internationalNumber),\n internationalVolume: decideValue(types, INTERNATIONAL_ACCOUNTS, DEFAULT_VOLUME_OF_TRANSACTIONS, transactionDetails?.internationalVolume)\n }\n }\n const computeCountries = (countries: string[]) => {\n return countries\n .map(countryId => countriesOptionsList.find(option => option.value === countryId))\n .filter((country): country is OptionItem => !!country)\n .map(country => ({\n code: country.value,\n name: country.label\n }))\n };\n setKnowYourCustomerTransactionData({\n transactionTypes: values.kindOfTransactions,\n countriesInvolved: values.kindOfTransactions.includes(INTERNATIONAL_ACCOUNTS)\n ? computeCountries(values.countriesInternationalTransaction) : [],\n otherCountriesIncomeSource: computeCountries(values.sourceOfIncomeFromOtherCountries),\n details: computeTransactionDetails(values.kindOfTransactions, details)\n\n })\n }, [values, countriesOptionsList, details]);\n\n const handleSaveTransactionData = (resolve: (successful: boolean) => unknown) => {\n saveTransactionAdditionalData({\n data: knowYourCustomerTransactionData\n },\n {\n onSuccess: ({ status }) => {\n const { OK, HIGH_RISK_COUNTRY } = TransactionAdditionalDataStatus;\n switch (status) {\n case OK:\n resolve(true);\n handleSubmit();\n break;\n case HIGH_RISK_COUNTRY:\n resolve(true);\n onBlocked();\n break;\n default:\n resolve(false);\n onBlocked();\n }\n },\n onFail: () => resolve(false),\n }\n )\n }\n\n const onSubmit = (resolve: (successful: boolean) => unknown) => {\n validateForm()\n .then(validationErrors => {\n if (Object.keys(validationErrors).length) {\n handleSubmit();\n resolve(false)\n return;\n }\n updateKnowYourCustomerTransaction(knowYourCustomerTransactionData);\n handleSaveTransactionData(resolve);\n });\n }\n\n return (\n \n {showTransactionSelection && (\n {\n if (!isClosed) {\n setValues(selectedValues);\n if (selectedTransactionDetails !== undefined) {\n setDetails(selectedTransactionDetails);\n }\n }\n setShowTransactionSelection(false);\n }}\n onReset={(selectedValues, selectedTransactionDetails) => {\n resetTransactionValues(selectedValues, selectedTransactionDetails);\n }}\n />\n )}\n \n\n \n \n {formatMessageWithKey(\"title\")}\n \n \n \n\n {\n if (!ref) { return }\n ref.firstElementChild?.lastElementChild?.addEventListener(\"click\", () => setShowTransactionSelection(true))\n }}>\n \n \n\n {changeInTransactionTypeDetails &&\n {\n if (!isClosed) {\n setDetails(selectedTransactionDetails)\n }\n }}\n onReset={(selectedValues, selectedTransactionDetails) => {\n resetTransactionValues(selectedValues, selectedTransactionDetails);\n }}\n />\n }\n\n {values.kindOfTransactions.includes(INTERNATIONAL_ACCOUNTS) && (\n \n )}\n\n \n\n \n\n \n \n )\n}","import { Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\nimport { CASH, INTERNATIONAL_ACCOUNTS, KnowYourCustomerTransactionValues, PAYMENT_ORDER } from \"flows/Onboarding/services/knowYourCustomerTransaction/domain\";\nimport { SetStateAction, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport EditTransactionDetailsDialog from \"./EditTransactionDetailsDialog\";\nimport { KnowYourCustomerTransactionDetail } from \"../../../services/domain\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\n\ntype Props = {\n values: KnowYourCustomerTransactionValues;\n onConfirm: (details: KnowYourCustomerTransactionDetail, isClosed?: boolean) => unknown;\n details: KnowYourCustomerTransactionDetail,\n onReset: (values: KnowYourCustomerTransactionValues, details: KnowYourCustomerTransactionDetail) => unknown;\n setValues: (values: SetStateAction, shouldValidate?: boolean | undefined) => void;\n}\n\nexport default function TransactionNumberAndVolume(props: Props) {\n const { values, onConfirm, details, onReset, setValues } = props;\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n const [edit, setEdit] = useState(false);\n const { kindOfTransactions } = values;\n\n const handleEditTransactionDetails = () => {\n onReset(values, details);\n setEdit(true);\n }\n\n if (edit) {\n return (\n {\n onConfirm(selectedTransactionDetails, isClosed);\n setEdit(false);\n return true;\n }} />\n )\n }\n\n return (\n \n \n \n {formatMessageWithKey(\"transactionNumberAndVolume.title\")}\n \n \n \n\n {!!details.bankNumber && kindOfTransactions.includes(PAYMENT_ORDER) &&\n \n \n \n {formatMessageWithKey(\"transactionNumberAndVolume.bankTransaction\")}\n \n\n \n {formatMessageWithKey(\"transactionNumberAndVolume.value\",\n {\n numberOfTransactions: details.bankNumber,\n volumeOfTransactions: details.bankVolume\n })}\n \n \n \n \n }\n\n {!!details.cashNumber && kindOfTransactions.includes(CASH) &&\n \n \n \n {formatMessageWithKey(\"transactionNumberAndVolume.cashTransaction\")}\n \n\n \n\n \n {formatMessageWithKey(\"transactionNumberAndVolume.value\",\n {\n numberOfTransactions: details.cashNumber,\n volumeOfTransactions: details.cashVolume\n })}\n \n \n \n \n }\n\n {!!details.internationalNumber && kindOfTransactions.includes(INTERNATIONAL_ACCOUNTS) &&\n \n \n \n {formatMessageWithKey(\"transactionNumberAndVolume.internationalTransaction\")}\n \n\n \n\n \n {formatMessageWithKey(\"transactionNumberAndVolume.value\",\n {\n numberOfTransactions: details.internationalNumber,\n volumeOfTransactions: details.internationalVolume\n })}\n \n \n \n }\n\n \n \n \n )\n}","import { Body, Box, Stack, buttonLink } from \"omnichannel-design-system\";\nimport { SetStateAction, useState } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport Checkbox from \"components/Checkbox\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport EditTransactionDetailsDialog from \"./EditTransactionDetailsDialog\";\nimport { KnowYourCustomerTransactionDetail } from \"../../../services/domain\";\nimport { KnowYourCustomerTransactionValues } from \"flows/Onboarding/services/knowYourCustomerTransaction/domain\";\nimport { SelectOption } from \"components/form/DropdownField\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\n\ntype Props = {\n optionList: Array;\n values: KnowYourCustomerTransactionValues;\n onConfirm: (selectedValues: KnowYourCustomerTransactionValues, details?: KnowYourCustomerTransactionDetail, isClosed?: boolean) => unknown;\n details: KnowYourCustomerTransactionDetail,\n onReset: (values: KnowYourCustomerTransactionValues, details: KnowYourCustomerTransactionDetail) => unknown;\n setValues: (values: SetStateAction, shouldValidate?: boolean | undefined) => void;\n}\n\nexport default function TransactionSelectionDialog(props: Props) {\n const { onConfirm, optionList, values, details, onReset, setValues } = props;\n const { formatMessageWithKey, formatRichTextMessageWithKey } = useRemoteOnboardingContext();\n const [selected, setSelected] = useState>(optionList.filter(item => values?.kindOfTransactions.includes(item.value)));\n const [edit, setEdit] = useState(false);\n\n const handleEditTransactionDetails = () => {\n onReset(values, details);\n setEdit(true);\n }\n\n const computeValues = (): KnowYourCustomerTransactionValues => {\n return {\n ...values, kindOfTransactions: selected.map(item => item.value)\n }\n }\n\n if (edit) {\n return (\n {\n if (isClosed) {\n setEdit(false);\n } else {\n const newValues = {\n ...values,\n kindOfTransactions: selected.map(item => item.value)\n }\n onConfirm(newValues, selectedTransactionDetails);\n }\n return true;\n }}\n />\n )\n }\n\n const onDismiss = () => {\n onConfirm(values, details, true);\n return true;\n }\n\n return (\n onConfirm(computeValues())\n }]}\n onDismiss={onDismiss}\n >\n \n {optionList.map((item) => (\n {\n setSelected(previousValues => {\n if (checked) {\n return [...previousValues, item]\n .sort((a, b) => optionList.indexOf(a) - optionList.indexOf(b));\n }\n return previousValues.filter(currentItem => currentItem.value !== item.value)\n })\n }}\n name=\"\"\n label={item.label}\n value={selected.some(currentItem => currentItem.value === item.value)} />\n ))}\n\n {selected.length > 0 &&\n \n {formatRichTextMessageWithKey(\"transactionSelection.banner\")}\n \n {buttonLink(handleEditTransactionDetails, formatMessageWithKey(\"transactionSelection.pressHere.banner\"))}\n \n \n } type=\"informative\" />\n }\n \n \n )\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\nimport { KYC_STATUS, MANUAL_INTERVENTION_STATUS } from \"./services/domain\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport { MOBILE_PRE_LOGIN_PAGE_URL } from \"services/domain\";\nimport ResumePasswordForm from \"../closeApplication/components/ResumePasswordForm\";\nimport image from \"assets/approved-operation.png\";\nimport styled from \"styled-components\";\nimport { useAvailableResumePasswordApi } from \"../closeApplication/service/useAvailableResumePasswordApi\";\nimport { useGetCheckKycStatus } from \"../../../services/kysPendingResults/checkKycApi\";\nimport { useGetManualInterventionStatus } from \"../../../services/kysPendingResults/checkManualInterventionStatus\";\nimport { useQuitApplication } from \"./services/quitApplicationApi\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\n\nconst TitleStyled = styled(Body)`\n text-transform: none;\n`;\n\nexport type KycCheckProps = {\n onKycSuccess: () => unknown;\n onKycFailure: () => unknown;\n}\n\nexport default function KycPendingResults(props: KycCheckProps) {\n const { onKycSuccess, onKycFailure } = props;\n const { getKycStatus, loading: getCheckKycStatusLoading } = useGetCheckKycStatus();\n const { getManualInterventionStatus, loading: manualInterventionLoading } = useGetManualInterventionStatus();\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n const { quitApplication } = useQuitApplication();\n const { availableResumePassword, loading: availableResumePasswordLoading } = useAvailableResumePasswordApi();\n const [ askPassword, setAskPassword] = useState(false);\n\n const kycInitialized = useRef(false);\n\n const onSubmit = () => {\n quitApplication();\n window.location.href = MOBILE_PRE_LOGIN_PAGE_URL\n }\n\n useEffect(() => {\n if (kycInitialized.current) {\n return;\n }\n kycInitialized.current = true;\n\n getManualInterventionStatus((status: MANUAL_INTERVENTION_STATUS) => {\n if (status === MANUAL_INTERVENTION_STATUS.FAIL) {\n onKycFailure();\n return;\n }\n getKycStatus((response) => {\n if (response.status === KYC_STATUS.REJECTED || response.status === KYC_STATUS.EXPIRED) {\n onKycFailure();\n } else if (response.status === KYC_STATUS.APPROVED) {\n onKycSuccess();\n }\n\n availableResumePassword((available: boolean) => setAskPassword(!available))\n });\n })\n\n }, [onKycFailure, onKycSuccess, getKycStatus, getManualInterventionStatus, availableResumePassword, setAskPassword]);\n\n if (getCheckKycStatusLoading || manualInterventionLoading || availableResumePasswordLoading) {\n return \n }\n\n return (\n \n \n\n \n\n {formatMessageWithKey(\"title\")}\n\n \n\n \n \n {formatMessageWithKey(\"descriptionTitle\")}\n \n\n \n\n \n {formatMessageWithKey(\"description\")}\n \n \n\n {askPassword &&\n \n }\n\n {!askPassword &&\n <>\n \n\n \n \n }\n\n \n )\n}\n","export enum KYC_STATUS {\n PENDING = \"PENDING\", \n REJECTED = \"REJECTED\", \n APPROVED = \"APPROVED\",\n EXPIRED = \"EXPIRED\",\n}\n\nexport enum MANUAL_INTERVENTION_STATUS {\n OK = \"OK\",\n FAIL = \"FAIL\",\n PENDING = \"PENDING\",\n}","import { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { useCallback } from \"react\";\n\nconst quitApplicationConfig = {\n url: \"/ca-ro/quit/kycPending\",\n method: \"POST\" as Method,\n};\n\nexport function useQuitApplication() {\n return {\n quitApplication: useCallback(() => {\n executeAxios({\n params: {...quitApplicationConfig}\n })\n }, [])\n }\n}","import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\nimport { CommunicationChannelType, CommunicationChannelsConsents } from \"../../../services/marketingConsents/domain\";\nimport { useEffect, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport { CheckboxState } from \"pages/DocumentDetails/services/domain\";\nimport CommunicationChannelsSection from \"./components/CommunicationChannelsSection\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport MarketingConsent from \"./components/MarketingConsent\";\nimport { Step } from \"flows/Onboarding/remote/services/domain\";\nimport { GDPRConsents, useGranularConsents } from \"../../../services/marketingConsents/getGranularConsents\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\nimport { useSetGranularConsentsApi } from \"../../../services/marketingConsents/setGranularConsents\";\nimport useMarketingConsentLogic from \"../../../services/marketingConsents/useMarketingConsentLogic\";\n\ntype Props = {\n onNext: () => unknown;\n}\n\nexport enum ConsentType {\n DATA_SHARING = \"dataSharing\",\n CONTACT_DETAILS_3RD_PARTY = \"contactDetails3rdParty\"\n}\n\nexport type MarketingConsentsChecks = GDPRConsents & {\n channelsEmail: boolean;\n channelsMailbox: boolean;\n channelsMobileAndOnlineBanking: boolean;\n channelsPhone: boolean;\n channelsSms: boolean;\n marketingUnicreditBank?: boolean;\n thirdPartiesUnicredit?: boolean;\n}\n\nexport default function MarketingConsents({ onNext }: Props) {\n const onboardingContext = useRemoteOnboardingContext();\n const { formatMessageWithKey, formatRichTextMessageWithKey , updateContext } = onboardingContext;\n const { loading, gdprConsents } = useGranularConsents(onboardingContext[Step.MARKETING_CONSENTS]);\n const { setGranularConsentsApi, loading: setGranularConsentsLoading } = useSetGranularConsentsApi(onNext);\n const { consents, setConsents } = useMarketingConsentLogic(onboardingContext[Step.MARKETING_CONSENTS]);\n\n const [changeDoneForAllChannels, setChangeDoneForAllChannels] = useState(true);\n const [allChannelsSelected, setAllChannelsSelected] = useState(false);\n\n const { marketingUnicreditBank, thirdPartiesUnicredit, channelsSms, channelsEmail, channelsPhone, channelsMobileAndOnlineBanking, channelsMailbox } = consents;\n const [canContinue, setCanContinue] = useState(true);\n const [moreDetails, setMoreDetails] = useState();\n\n useEffect(() => {\n if (gdprConsents) {\n setConsents(gdprConsents as MarketingConsentsChecks)\n }\n }, [gdprConsents, setConsents]);\n\n useEffect(() => {\n if (!marketingUnicreditBank && !thirdPartiesUnicredit) {\n setConsents(previous => ({\n ...previous,\n channelsSms: false,\n channelsEmail: false,\n channelsPhone: false,\n channelsMailbox: false,\n channelsMobileAndOnlineBanking: false\n }));\n setChangeDoneForAllChannels(false);\n setAllChannelsSelected(false);\n }\n }, [marketingUnicreditBank, thirdPartiesUnicredit, setConsents]);\n\n useEffect(() => {\n if (!changeDoneForAllChannels) {\n setConsents(previous => ({\n ...previous,\n channelsSms: allChannelsSelected,\n channelsEmail: allChannelsSelected,\n channelsPhone: allChannelsSelected,\n channelsMailbox: allChannelsSelected,\n channelsMobileAndOnlineBanking: allChannelsSelected\n }));\n }\n }, [allChannelsSelected, changeDoneForAllChannels, setConsents]);\n\n useEffect(() => {\n const contactConsents = [channelsSms, channelsEmail, channelsPhone, channelsMobileAndOnlineBanking, channelsMailbox];\n setAllChannelsSelected(!contactConsents.some(consent => !consent));\n }, [channelsSms, channelsEmail, channelsPhone, channelsMobileAndOnlineBanking, channelsMailbox]);\n\n const handleDataSharingConsent = () => {\n setConsents(previous => ({ ...previous, marketingUnicreditBank: !previous.marketingUnicreditBank }));\n };\n\n const handleContactDetails3rdParties = () => {\n setConsents(previous => ({ ...previous, thirdPartiesUnicredit: !previous.thirdPartiesUnicredit }));\n };\n\n const handleOnChangeCommunicationChannels = (details: CommunicationChannelsConsents,\n checkboxState: CheckboxState) => {\n setCanContinue(true);\n const { ALL_CHANNELS_SELECTED, PHONE_MESSAGE, EMAIL, PHONE_CALL, MOBILE_AND_ONLINE_BANKING } = CommunicationChannelType;\n setChangeDoneForAllChannels(true);\n\n switch (checkboxState.checkboxName) {\n case ALL_CHANNELS_SELECTED:\n setAllChannelsSelected(checkboxState.checked);\n setChangeDoneForAllChannels(false);\n break;\n case PHONE_MESSAGE:\n setConsents(previous => ({ ...previous, channelsSms: checkboxState.checked }));\n break;\n case EMAIL:\n setConsents(previous => ({ ...previous, channelsEmail: checkboxState.checked }));\n break;\n case PHONE_CALL:\n setConsents(previous => ({ ...previous, channelsPhone: checkboxState.checked }));\n break;\n case MOBILE_AND_ONLINE_BANKING:\n setConsents(previous => ({ ...previous, channelsMobileAndOnlineBanking: checkboxState.checked }));\n break;\n default:\n setConsents(previous => ({ ...previous, channelsMailbox: checkboxState.checked }));\n break;\n }\n };\n\n const handleOnDocumentLinkClick = (consentType: ConsentType) => {\n setMoreDetails(consentType);\n };\n\n const handleNext = () => {\n if (marketingUnicreditBank || thirdPartiesUnicredit) {\n if (![channelsPhone, channelsEmail, channelsMobileAndOnlineBanking, channelsMailbox, channelsSms].some(consent => consent)) {\n setCanContinue(false);\n return;\n }\n }\n\n updateContext({ [Step.MARKETING_CONSENTS]: consents });\n setGranularConsentsApi({ data: consents });\n };\n\n const backFromMoreDetails = () => setMoreDetails(undefined);\n\n if (loading || setGranularConsentsLoading) {\n return ;\n }\n\n if (moreDetails) {\n return (\n \n \n {formatRichTextMessageWithKey(`${moreDetails}.details`)}\n \n \n );\n }\n return (\n \n \n\n \n {formatMessageWithKey(\"description\")}\n \n\n \n\n \n\n {(marketingUnicreditBank || thirdPartiesUnicredit) && (\n \n )}\n\n \n\n \n \n );\n}","import { Body, Box, Card, Divider, LocalizedString, Stack } from \"omnichannel-design-system\";\nimport { CommunicationChannelType, CommunicationChannelsConsents } from \"flows/Onboarding/services/marketingConsents/domain\";\n\nimport Banner from \"components/Banner\";\nimport Checkbox from \"components/Checkbox\";\nimport { CheckboxState } from \"pages/DocumentDetails/services/domain\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n title: LocalizedString,\n description: LocalizedString,\n initialValues: CommunicationChannelsConsents,\n onChange: (newInitialValues: CommunicationChannelsConsents, checkboxState: CheckboxState) => unknown,\n hasWarning: boolean,\n disabled?: boolean,\n isBranch?: boolean,\n}\n\nexport default function CommunicationChannelsSection(props: Props) {\n const { title, description, initialValues, onChange, hasWarning, disabled, isBranch } = props;\n const { formatMessage } = useFormatMessage();\n\n const handleChange = (whatToChange: string) => (checked: boolean) => {\n onChange({ ...initialValues, [whatToChange]: checked },\n { checkboxName: whatToChange, checked: checked });\n };\n\n let disabledValue = (disabled !== undefined && disabled) ? disabled : false;\n\n const content = (\n \n \n {title}\n \n \n {description}\n \n \n \n \n \n \n \n \n \n \n\n {hasWarning && (\n \n )}\n \n )\n\n if (isBranch) {\n return content;\n }\n\n return (\n \n \n \n {content}\n \n \n \n );\n}","import { Body, Box, Card, Divider, LocalizedString, Stack, buttonLink } from \"omnichannel-design-system\";\n\nimport { ConsentType } from \"../MarketingConsents\";\nimport NavigationSwitch from \"components/NavigationSwitch\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\ntype Props = {\n title: LocalizedString,\n description: LocalizedString,\n consentText: LocalizedString,\n buttonText: LocalizedString,\n consent: boolean,\n handleToggleAction: (checked: boolean) => unknown,\n handleOnDocumentLinkClick: (consentType: ConsentType) => unknown,\n consentType: ConsentType,\n}\n\nconst CardStyled = styled(Card)`\n padding: 12px;\n`;\n\nexport default function MarketingConsent(props: Props) {\n const { title, description, consentText, buttonText, handleOnDocumentLinkClick, consent, handleToggleAction,\n consentType } = props;\n return (\n \n \n \n \n \n {title}\n \n\n \n {description}\n \n\n \n \n \n {[\n buttonLink(() => handleOnDocumentLinkClick(consentType), buttonText)]}\n }\n switchOn={consent}\n toggleAction={handleToggleAction}\n />\n \n \n \n \n );\n}","import { Account, HEADER_TITLE, Step } from \"flows/Onboarding/remote/services/domain\";\nimport { Body, Box, Divider, Space, Stack, SwitchField, buttonLink, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { Button, ButtonContainer } from \"components/Button\";\nimport { DocumentDetailsType, ReportCodes } from \"pages/DocumentDetails/services/domain\";\nimport { useCallback, useState } from \"react\";\n\nimport Checkbox from \"components/Checkbox\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport LoadingButton from \"components/LoadingButton\";\nimport MoreDetails from \"./components/MoreDetails\";\nimport OptionItem from \"./components/OptionItem\";\nimport TitleSection from \"flows/Onboarding/remote/components/TitleSection\";\nimport Typography from \"components/Typography\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"../../services/useRemoteOnboardingStepOptions\";\nimport useSavePackageSelection from \"./services/useSavePackageSelection\";\n\ntype Props = {\n onNext: () => unknown;\n}\n\nexport default function OptimalOffer({ onNext }: Props) {\n const contextProps = useRemoteOnboardingContext();\n const { formatMessageWithKey, setHeaderMetadata, updateContext, formatRichTextMessageWithKey, selectedAccounts: preselectedAccounts } = contextProps;\n const { options } = useRemoteOnboardingStepOptions();\n const { savePackageSelection } = useSavePackageSelection();\n const [selectedAccounts, setSelectedAccounts] = useState(preselectedAccounts);\n const [showTaxes, setShowTaxes] = useState(false);\n const [showMoreDetails, setShowMoreDetails] = useState(false);\n const [agreeConsent, setAgreeConsent] = useState((() => {\n let consent: boolean = false;\n const contextProp = contextProps[Step.PACKAGE_SELECTION];\n if (contextProp) {\n consent = contextProp.annexConsent;\n }\n return consent;\n })());\n\n const onToggleConsent = (value: boolean) => {\n setAgreeConsent(value);\n }\n\n const onOpenTaxes = () => {\n setShowTaxes(true);\n };\n\n const onCloseConsent = () => {\n setShowTaxes(false);\n }\n\n const onConfirmConsent = () => {\n setShowTaxes(false);\n setAgreeConsent(true);\n }\n\n const backFromMoreDetails = useCallback(() => {\n setHeaderMetadata({\n title: HEADER_TITLE.CURRENT_ACCOUNT,\n onBack: undefined,\n onCancel: undefined\n });\n setShowMoreDetails(false)\n }, [setHeaderMetadata]);\n\n if (showMoreDetails) {\n return \n }\n\n const firstOption = options[0];\n\n return (\n \n \n\n \n\n \n\n \n\n \n \n\n \n \n {formatMessageWithKey(\"selectCurrencyAccount\")}\n \n \n\n \n {selectedAccounts.length === 0 && (\n \n \n {formatMessageWithKey(\"errorSelectAccount\")}\n \n \n )}\n\n {[\"RON\", \"EUR\"].map((account: any) => (\n {\n setSelectedAccounts((previous => {\n let newSelection = [...previous];\n if (selectedAccounts.includes(account)) {\n newSelection = newSelection.filter(item => item !== account);\n return newSelection;\n }\n newSelection.push(account);\n return newSelection;\n }))\n }}\n />\n ))}\n \n\n {\n options\n .filter((item, index) => index !== 0)\n .map(item => )\n }\n\n \n {formatRichTextMessageWithKey(\"note\")}\n \n\n \n\n \n\n \n\n \n\n \n \n \n {formatMessageWithKey(\"consent.title\")}\n \n\n \n {buttonLink(onOpenTaxes, formatMessageWithKey(\"consent.subtitle\"))}\n \n \n\n \n\n \n \n \n \n\n \n\n \n\n {\n setHeaderMetadata({\n title: HEADER_TITLE.PRODUCT_DETAILS,\n onBack: backFromMoreDetails,\n onCancel: null\n });\n setShowMoreDetails(true);\n }}\n translationKey={formatMessageWithKey(\"submit.moreDetails\")}\n />\n\n \n {\n savePackageSelection(selectedAccounts,\n () => {\n updateContext({ [Step.PACKAGE_SELECTION]: { annexConsent: agreeConsent }, selectedAccounts })\n onNext();\n resolve(true);\n }, () => {\n resolve(false);\n })\n }}\n normalText={formatMessageWithKey(\"submit.next\")}\n />\n \n\n {\n showTaxes && (\n \n formatMessageWithKey(\"commissions.and.interests.content\")}\n />\n \n )\n }\n \n )\n}","import { Box, Space } from \"omnichannel-design-system\";\nimport { ExpandableItemList, Item } from \"flows/Onboarding/remote/components/ExpandableItemList\";\n\nimport { Button } from \"components/Button\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"flows/Onboarding/remote/services/useRemoteOnboardingStepOptions\";\n\ntype Props = {\n onBack: () => unknown;\n}\n\nconst PACKAGE_SELECTION_MORE_DETAILS = \"optimalOfferMoreDetails\";\n\nexport default function MoreDetails({ onBack }: Props) {\n const { formatMessageWithKey, formatRichTextMessageWithKey } = useRemoteOnboardingContext();\n const { options } = useRemoteOnboardingStepOptions(PACKAGE_SELECTION_MORE_DETAILS);\n\n const items = options\n ?.filter(item => item.title && item.description)\n ?.map(item => ({ title: item.title, text: item.description, icon: item.icon } as Item));\n \n return (\n \n {\n items?.length !== 0 &&\n \n }\n \n {formatRichTextMessageWithKey(\"note\", { step: PACKAGE_SELECTION_MORE_DETAILS })}\n \n\n \n\n \n\n \n\n \n )\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\n\nimport { IconContainerStyled } from \"components/styles/iconContainerStyles\";\nimport { LooseObject } from \"services/types\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport default function OptionItem({ icon, title, description }: LooseObject) {\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n return (\n \n \n \n {!!icon && formatRichTextMessage(icon)}\n \n\n \n\n \n {!!title && (\n \n {formatMessage(title)}\n \n )}\n\n {!!description && (\n \n {formatMessage(description)}\n \n )}\n \n\n \n \n )\n}","import { useCallback } from \"react\";\n\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst apiConfig = {\n method: \"post\" as Method,\n url: \"/ca-ro/remote/accounts/saveSelectedAccountCurrencies\"\n}\n\nexport default function useSavePackageSelection() {\n\n const savePackageSelection = useCallback((\n currencies: any[],\n onSuccess?: () => void,\n onFail?: () => void\n ) => {\n executeAxios({\n params: { ...apiConfig, data: { currencies } },\n onSuccess,\n onFail\n })\n }, [])\n\n return {\n savePackageSelection\n }\n}","import { Body, Box, Divider, Space, Stack, SwitchField, buttonLink, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { DocumentDetailsType, ReportCodes } from \"pages/DocumentDetails/services/domain\";\nimport { HEADER_TITLE, Step } from \"flows/Onboarding/remote/services/domain\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport { IconContainerStyled } from \"components/styles/iconContainerStyles\";\nimport MoreDetails from \"./components/MoreDetails\";\nimport TitleSection from \"flows/Onboarding/remote/components/TitleSection\";\nimport image from \"assets/Onboarding/package-selection-classic.png\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"../../services/useRemoteOnboardingStepOptions\";\n\ntype Props = {\n onNext: () => unknown;\n}\n\nconst PackageSelectionContainerStyled = styled(Box)`\n background-color: ${palette.neutral200};\n width: 100vw;\n margin-left: -20px;\n margin-top: -20px;\n padding-bottom: 40px;\n padding: 20px;\n`;\n\nexport default function PackageSelection({ onNext }: Props) {\n const contextProps = useRemoteOnboardingContext();\n const { formatMessageWithKey, setHeaderMetadata, updateContext, formatRichTextMessageWithKey } = contextProps;\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const { options } = useRemoteOnboardingStepOptions();\n\n const [showTaxes, setShowTaxes] = useState(false);\n const [showMoreDetails, setShowMoreDetails] = useState(false);\n const [agreeConsent, setAgreeConsent] = useState((() => {\n let consent: boolean = false;\n const contextProp = contextProps[Step.PACKAGE_SELECTION];\n if (contextProp) {\n consent = contextProp.annexConsent;\n }\n return consent;\n })());\n\n const onToggleConsent = (value: boolean) => {\n setAgreeConsent(value);\n }\n\n const onOpenTaxes = () => {\n setShowTaxes(true);\n };\n\n const onCloseConsent = () => {\n setShowTaxes(false);\n }\n\n const onConfirmConsent = () => {\n setShowTaxes(false);\n setAgreeConsent(true);\n }\n\n const backFromMoreDetails = useCallback(() => {\n setHeaderMetadata({\n title: HEADER_TITLE.CURRENT_ACCOUNT,\n onBack: undefined,\n onCancel: undefined\n });\n setShowMoreDetails(false)\n }, [setHeaderMetadata]);\n\n if (showMoreDetails) {\n return \n }\n\n return (\n \n \n \n\n \n\n \n {formatMessageWithKey(\"title\")}\n \n \n\n \n\n \n\n \n\n \n {\n options.map(({ key, icon, title, description }) => (\n \n \n \n {!!icon && formatRichTextMessage(icon)}\n \n\n \n\n \n {!!title && (\n \n {formatMessage(title)}\n \n )}\n\n {!!description && (\n \n {formatMessage(description)}\n \n )}\n \n\n \n \n ))\n }\n\n \n {formatRichTextMessageWithKey(\"note\")}\n \n\n \n\n \n\n \n\n \n\n \n \n \n {formatMessageWithKey(\"consent.title\")}\n \n\n \n {buttonLink(onOpenTaxes, formatMessageWithKey(\"consent.subtitle\"))}\n \n \n\n \n\n \n \n \n \n\n \n\n \n\n {\n setHeaderMetadata({\n title: HEADER_TITLE.PRODUCT_DETAILS,\n onBack: backFromMoreDetails,\n onCancel: null\n });\n setShowMoreDetails(true);\n }}\n translationKey={formatMessageWithKey(\"submit.moreDetails\")}\n />\n\n {\n updateContext({ [Step.PACKAGE_SELECTION]: { annexConsent: agreeConsent } })\n onNext();\n }}\n translationKey={formatMessageWithKey(\"submit.next\")}\n />\n\n {\n showTaxes && (\n \n formatMessageWithKey(\"commissions.and.interests.content\")}\n />\n \n )\n }\n \n )\n}","import { Box, Space } from \"omnichannel-design-system\";\nimport { ExpandableItemList, Item } from \"flows/Onboarding/remote/components/ExpandableItemList\";\n\nimport { Button } from \"components/Button\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"flows/Onboarding/remote/services/useRemoteOnboardingStepOptions\";\n\ntype Props = {\n onBack: () => unknown;\n}\n\nconst PACKAGE_SELECTION_MORE_DETAILS = \"packageSelectionMoreDetails\";\n\nexport default function MoreDetails({ onBack }: Props) {\n const { formatMessageWithKey, formatRichTextMessageWithKey } = useRemoteOnboardingContext();\n const { options } = useRemoteOnboardingStepOptions(PACKAGE_SELECTION_MORE_DETAILS);\n\n const items = options\n ?.filter(item => item.title && item.description)\n ?.map(item => ({ title: item.title, text: item.description, icon: item.icon } as Item));\n \n return (\n \n {\n items?.length !== 0 &&\n \n }\n \n {formatRichTextMessageWithKey(\"note\", { step: PACKAGE_SELECTION_MORE_DETAILS })}\n \n\n \n\n \n\n \n\n \n )\n}","import { Box, Space } from \"omnichannel-design-system\";\nimport { CheckResumeResponse, useCheckResume } from \"../../../services/resume/checkResumeApi\";\nimport { FormikErrors, withFormik } from \"formik\";\nimport { ValidateOprRequest, ValidateOtpResponse, useValidateOtp } from \"flows/Onboarding/services/phoneNumberValidation/validateOtp\";\nimport { useCallback, useState } from \"react\";\n\nimport { ExecuteAxiosFunctions } from \"services/axiosHook\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport PhoneNumberValidationForm from \"./components/PhoneNumberValidationForm\";\nimport _ from \"lodash\";\nimport changeAuthToPotentialClient from \"../../services/changeAuthToPotentialClient\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport { useResendOtp } from \"flows/Onboarding/services/phoneNumberValidation/resendOtp\";\n\nexport type PhoneNumberValues = {\n phoneNumber: string;\n phonePrefix: string;\n otp: string;\n editPhoneMode: boolean;\n contactDataOtpRemainingGenerations?: number;\n allContactDataOtpRemainingGenerations?: Record\n totalOtpRemainingGenerations?: number;\n otpRemainingValidations?: number;\n otpCodeExpired?: boolean;\n isOtpValid?: boolean;\n isOtpResent?: boolean;\n loading?: boolean;\n}\n\nexport type PhoneNumberProps = {\n backDisabled?: boolean;\n onSubmit: () => unknown;\n initialValues: PhoneNumberValues;\n resendOtp: ({ onSuccess }: ExecuteAxiosFunctions) => void;\n validateOtp: ({ otp }: ValidateOprRequest, { onSuccess }: ExecuteAxiosFunctions) => void;\n onBlocked: () => unknown;\n formStartKeys?: string[];\n}\n\nexport const PhoneNumberFormikWrapper = withFormik({\n mapPropsToValues: (props) => ({ ...props.initialValues }),\n validate: (values: PhoneNumberValues) => {\n const errors: FormikErrors = {};\n const computeTranslationKey = (key: string) => \"dbn.onboarding.phoneNumberValidation.\" + key\n\n if (values.editPhoneMode) {\n if (_.isEmpty(values.phonePrefix)) {\n errors.phonePrefix = computeTranslationKey(\"phonePrefixRequired\")\n }\n\n if (_.isEmpty(values.phoneNumber)) {\n errors.phoneNumber = computeTranslationKey(\"phoneNumberRequired\")\n } else if (\n (\n [\"0040\", \"+40\"].includes(values.phonePrefix) &&\n !values.phoneNumber.startsWith(\"7\")\n ) ||\n values.phoneNumber.length !== 9\n ) {\n errors.phoneNumber = computeTranslationKey(\"phoneNumberInvalidFormat\")\n } else if (values.allContactDataOtpRemainingGenerations?.[values.phonePrefix + values.phoneNumber] === 0) {\n errors.phoneNumber = computeTranslationKey(\"phoneNumberVerifyLimitReached\")\n }\n\n return errors;\n }\n\n return errors;\n },\n handleSubmit: (\n { editPhoneMode, otp, phoneNumber, phonePrefix, totalOtpRemainingGenerations, ...restOfValues },\n { props: { onSubmit, validateOtp, onBlocked }, setValues }\n ) => {\n if (restOfValues.isOtpValid) {\n onSubmit();\n return;\n }\n\n if (otp.length === 6) {\n validateOtp({ otp }, {\n onSuccess: ({ otpRemainingValidations, otpCodeExpired, otpIsValid }: ValidateOtpResponse) => {\n if (otpRemainingValidations === 0 && totalOtpRemainingGenerations === 0) {\n onBlocked();\n return;\n }\n setValues(previousValues => ({\n ...previousValues,\n otpRemainingValidations,\n otpCodeExpired,\n isOtpValid: otpIsValid,\n otp: otpIsValid ? previousValues.otp : \"\",\n }))\n },\n onLoading: (loading: boolean) => setValues(previousValues => ({ ...previousValues, loading }))\n })\n }\n },\n})(PhoneNumberValidationForm);\n\ntype Props = {\n onNext: () => void;\n onExistingApplication: () => void;\n onBlocked: () => void;\n}\n\nconst EXPIRED = \"EXPIRED\";\n\nexport default function PhoneNumberValidation(props: Props) {\n const { formatMessageWithKey, updateContext } = useRemoteOnboardingContext();\n const { resendOtp } = useResendOtp(props.onBlocked);\n const { validateOtp } = useValidateOtp();\n const { checkResume } = useCheckResume();\n const [loading, setLoading] = useState(false);\n const { onBlocked, onNext, onExistingApplication } = props;\n\n const onSubmit = useCallback(() => {\n checkResume({}, {\n onSuccess: (response: CheckResumeResponse) => {\n if (!response.applicationId || response.status === EXPIRED) {\n changeAuthToPotentialClient(onNext)\n return;\n }\n updateContext({\n applicationId: response.applicationId,\n productName: response.productName,\n requestDate: response.requestDate,\n applicationCloseable: response.applicationCloseable,\n applicationResumable: response.applicationResumable,\n });\n onExistingApplication();\n },\n onLoading: setLoading\n })\n }, [checkResume, updateContext, onNext, onExistingApplication])\n\n if (loading) {\n return ;\n }\n\n return (\n \n \n\n \n\n \n\n \n\n \n )\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\nimport { GenerateOtpResponse, useGenerateOtp } from \"flows/Onboarding/services/phoneNumberValidation/generateOtp\";\nimport LoadingButton, { LoadingButtonAction } from \"components/LoadingButton\";\nimport { SetStateAction, useCallback } from \"react\";\nimport TextField, { NO_CHANGE_APPLIED } from \"components/form/TextField\";\n\nimport { PhoneNumberValues } from \"../PhoneNumberValidation\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useFormikContext } from \"formik\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\n\ntype SetValuesType = (values: SetStateAction, shouldValidate?: boolean | undefined) => void\n\nexport function handlePhoneNumberChange(value: string, setValues: SetValuesType) {\n const isNumber = /^\\d+$/.test(value);\n if (!value.startsWith(\"7\") || value.length > 9 || !isNumber) {\n return;\n }\n setValues(previous => ({ ...previous, phoneNumber: value }));\n}\n\ntype Props = {\n isError: boolean;\n onBlocked: () => unknown;\n}\n\nconst PhoneContainerStyled = styled(Box)`\n color: ${({ color }) => color};\n`;\n\nexport default function EditPhoneMode(props: Props) {\n const { isError, onBlocked } = props;\n const { setValues, values, isValid, validateForm, handleSubmit } = useFormikContext();\n const { phoneNumber, phonePrefix } = values;\n const { formatMessage } = useFormatMessage();\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n const { generateOtp } = useGenerateOtp(onBlocked);\n\n const onSubmit: LoadingButtonAction = useCallback((resolve) => {\n validateForm().then(errors => {\n if (Object.keys(errors).length) {\n handleSubmit()\n resolve(false)\n return\n }\n generateOtp({ phoneNumber, phonePrefix }, {\n onSuccess: ({\n contactDataOtpRemainingGenerations,\n allContactDataOtpRemainingGenerations,\n totalOtpRemainingGenerations,\n }: GenerateOtpResponse) => {\n setValues(previousValues => ({\n ...previousValues,\n editPhoneMode: false,\n contactDataOtpRemainingGenerations,\n allContactDataOtpRemainingGenerations,\n totalOtpRemainingGenerations,\n otpRemainingValidations: undefined,\n otpCodeExpired: undefined,\n isOtpValid: undefined,\n }));\n resolve(true);\n },\n onLoading: (loading: boolean) => setValues(previousValues => ({ ...previousValues, loading })),\n onFail: () => resolve(false)\n })\n })\n }, [generateOtp, handleSubmit, setValues, validateForm, phoneNumber, phonePrefix])\n\n return (\n \n \n \n {formatMessageWithKey(\"description\")}\n \n \n\n \n\n \n \n \n \n\n \n\n \n handlePhoneNumberChange(value, setValues)}\n label={formatMessageWithKey(\"contactData.label\")}\n assistiveText={!isError ? formatMessageWithKey(\"contactData.assistiveText\") : \"\"}\n virtualKeyboardInputType=\"numeric\"\n description={formatMessageWithKey(\"showInfo.details.content\")}\n descriptionConfirmLabel={formatMessageWithKey(\"showInfo.details.action\")}\n />\n \n \n\n \n\n \n \n )\n}","import { Body, Box, Divider, Space, SpinnerIcon, unsafeLocalizedString } from 'omnichannel-design-system';\nimport { PhoneNumberProps, PhoneNumberValues } from '../PhoneNumberValidation';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { Button } from 'components/Button';\nimport EditPhoneMode from './EditPhoneMode';\nimport GetSupport from 'flows/Onboarding/remote/components/GetSupport';\nimport { LooseObject } from 'services/types';\nimport OtpBannersValidation from 'flows/Onboarding/remote/components/OtpBannersValidation';\nimport PinInput from 'components/form/PinInput';\nimport { ResendOtpResponse } from 'flows/Onboarding/services/phoneNumberValidation/resendOtp';\nimport { formatPhoneNumber } from 'services/formatPhoneNumber';\nimport { palette } from 'omnichannel-design-system/lib/styleConstants';\nimport { useFormatMessage } from 'services/formatMessageHook';\nimport { useFormikContext } from 'formik';\nimport { useRemoteOnboardingContext } from 'flows/Onboarding/remote/services/remoteOnboardingContext';\n\nexport default function PhoneNumberValidationForm(props: PhoneNumberProps) {\n const { resendOtp, onBlocked, backDisabled, formStartKeys = [\"dbn.onboarding.phoneNumberValidation.\"] } = props;\n const { values, errors, touched, handleSubmit, setValues } = useFormikContext();\n const { setHeaderMetadata } = useRemoteOnboardingContext();\n const { formatFirstAvailableMessage, formatFirstAvailableRichTextMessage } = useFormatMessage();\n const [disableResend, setDisableResend] = useState(false);\n const [showSupport, setShowSupport] = useState(false);\n const [showBackButton, setShowBackButton] = useState(true);\n\n const formatMessageWithKey = (key: string, params?: LooseObject) => formatFirstAvailableMessage(formStartKeys.map(startKey => startKey + key), params);\n const formatMessageRichTextWithKey = (key: string, params?: LooseObject) => formatFirstAvailableRichTextMessage(formStartKeys.map(startKey => startKey + key), params) as React.JSX.Element\n\n const {\n editPhoneMode, phoneNumber, phonePrefix,\n otp, otpCodeExpired, isOtpValid, isOtpResent, otpRemainingValidations,\n contactDataOtpRemainingGenerations, totalOtpRemainingGenerations\n } = values;\n\n useEffect(() => {\n if (!editPhoneMode) {\n setDisableResend(true);\n }\n }, [editPhoneMode]);\n\n useEffect(() => {\n const interval = setTimeout(() => {\n setDisableResend(false);\n }, 15000);\n return () => clearInterval(interval);\n }, [disableResend]);\n\n const handleBack = useCallback(() => {\n setValues(previousValues => ({\n ...previousValues,\n editPhoneMode: true,\n otp: \"\",\n otpCodeExpired: undefined,\n isOtpValid: undefined,\n isOtpResent: undefined,\n otpRemainingValidations: undefined,\n contactDataOtpRemainingGenerations: undefined,\n }))\n }, [setValues]);\n\n useEffect(() => {\n if (showBackButton && !editPhoneMode && !backDisabled) {\n setHeaderMetadata({ onBack: handleBack });\n return;\n }\n setHeaderMetadata({ onBack: undefined })\n }, [showBackButton, setHeaderMetadata, handleBack, editPhoneMode, backDisabled]);\n\n useEffect(() => {\n if (otpRemainingValidations !== undefined || values.loading) {\n setShowBackButton(false);\n return;\n }\n setShowBackButton(true);\n }, [otpRemainingValidations, values.loading])\n\n useEffect(() => {\n if (otp.length === 6) {\n handleSubmit();\n } else if (otp.length === 1) {\n setValues(prevValues => ({ ...prevValues, isOtpValid: undefined }))\n }\n }, [handleSubmit, otp, setValues])\n\n if (editPhoneMode) {\n return (\n \n );\n }\n\n const displaySupportButton = otpRemainingValidations === 0 || contactDataOtpRemainingGenerations === 0 || otpCodeExpired;\n const cannotChangePhoneNumber = totalOtpRemainingGenerations === contactDataOtpRemainingGenerations\n const displayNextStepButton = isOtpValid || cannotChangePhoneNumber || showBackButton || values.loading || backDisabled;\n const disableNextStepButton = !isOtpValid\n\n return (\n \n \n \n {formatMessageWithKey(\"validateOtp.phoneTitle\")}\n \n\n \n\n \n {unsafeLocalizedString(formatPhoneNumber(phonePrefix + phoneNumber))}\n \n \n\n \n\n \n\n \n \n\n {values.loading && (\n \n \n \n {formatMessageWithKey(\"loading\")}\n \n \n )}\n \n\n \n\n \n {formatMessageWithKey(\"validateOtp.description\")}\n \n\n \n\n \n\n \n\n \n \n \n {formatMessageWithKey(\"validateOtp.assistiveLine1\")}\n \n\n \n {formatMessageWithKey(\"validateOtp.assistiveLine2\")}\n \n \n\n \n\n {\n setDisableResend(true);\n resendOtp({\n onSuccess: (response: ResendOtpResponse) => {\n setValues(previousValues => ({\n ...previousValues,\n contactDataOtpRemainingGenerations: response.contactDataOtpRemainingGenerations,\n allContactDataOtpRemainingGenerations: response.allContactDataOtpRemainingGenerations,\n totalOtpRemainingGenerations: response.totalOtpRemainingGenerations,\n otpRemainingValidations: undefined,\n otpCodeExpired: undefined,\n isOtpValid: undefined,\n isOtpResent: true\n }))\n },\n onLoading: (loading: boolean) => setValues(previousValues => ({ ...previousValues, loading }))\n })\n }}\n />\n \n\n \n\n 0}\n otpRemainingValidations={otpRemainingValidations}\n otpRemainingGenerations={contactDataOtpRemainingGenerations}\n formatMessageWithKey={formatMessageWithKey}\n formatRichTextMessageWithKey={formatMessageRichTextWithKey}\n />\n\n \n\n \n\n {displaySupportButton && (\n setShowSupport(true)}\n />\n )}\n\n {displayNextStepButton ? (\n \n ) : (\n \n )}\n\n {showSupport && setShowSupport(false)} />}\n \n )\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/rejected-request.png\";\nimport styled from \"styled-components\";\nimport { useAppContext } from \"services/appContext\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\n\nconst TitleStyled = styled(Body)`\n text-transform: none;\n`\n\nexport default function ProcessCeased() {\n const { configurations } = useAppContext();\n\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n\n return (\n \n \n\n \n\n {formatMessageWithKey(\"title\")}\n\n \n\n \n \n {formatMessageWithKey(\"descriptionTitle\")}\n \n\n \n\n \n {formatMessageWithKey(\"description\")}\n \n \n\n \n\n window.location.href = configurations.branchFinderUrl}\n />\n\n \n )\n}","import { FormikErrors, withFormik } from \"formik\";\nimport ResumeApplicationVerifyPhoneNumberForm from \"./components/ResumeApplicationVerifyPhoneNumberForm\";\nimport _ from \"lodash\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\n\nexport type VerifyPhoneNumberValues = {\n maskedPhoneNumber: string;\n missingDigits: string;\n validDigits: boolean;\n remainingAttempts?: number;\n}\n\nexport type VerifyPhoneNumberProps = {\n onSubmit: () => unknown;\n initialValues: VerifyPhoneNumberValues;\n onBlocked: () => unknown;\n}\n\ntype Props = {\n onNext: () => unknown;\n onBlocked: () => unknown;\n}\n\nexport const ResumeApplicationVerifyPhoneNumberFormikWrapper = withFormik({\n mapPropsToValues: (props) => ({ ...props.initialValues }),\n validate: (values: VerifyPhoneNumberValues) => {\n const errors: FormikErrors ={};\n const { missingDigits } = values;\n const computeTranslationKey = (key: string) => \"dbn.onboarding.resumeApplication.verifyPhoneNumber\" + key\n\n if(values.missingDigits) {\n if (_.isEmpty(missingDigits)) {\n errors.missingDigits = computeTranslationKey(\"missingDigitsRequired\")\n }\n if(missingDigits.length < 4) {\n errors.missingDigits = computeTranslationKey(\"missingDigits.tooShort\");\n }\n }\n return errors;\n },\n handleSubmit: (values, bag) => {\n bag.props.onSubmit();\n }\n })(ResumeApplicationVerifyPhoneNumberForm);\n\nexport default function ResumeApplicationVerifyPhoneNumber({ onNext, onBlocked }: Props) {\n const { phoneNumber } = useRemoteOnboardingContext();\n\n return (\n \n );\n}","import { Box, Space, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport PinInput from \"components/form/PinInput\";\nimport React from \"react\";\nimport { formatPhoneNumber } from \"services/formatPhoneNumber\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\nfunction computeColorMaskNumber(currentPosition: number, textLength: number, isInput = false) {\n if (currentPosition === textLength) {\n return isInput ? palette.blue600 : palette.neutral300;\n }\n return isInput ? palette.neutral300 : palette.blue600;\n}\n\nconst SPLITTER_VALUE = \"****\";\nconst MissingDigitsContainerStyled = styled(Box) <{ currentPosition: number }>`\n ${({ currentPosition }) => SPLITTER_VALUE.split(\"\").map((item, index) => (\n `.digit_${index} {\n color: ${computeColorMaskNumber(index, currentPosition)};\n padding-top: 9px;\n }\n input[name=\"pininput${index}\"] {\n border: 1px solid ${computeColorMaskNumber(index, currentPosition, true)} !important;\n }`\n))}\n .phoneMask{\n text-align: center;\n font-size: 32px;\n line-height: 40px;\n font-weight: 500; \n }\n`;\n\ntype Props = {\n maskedPhoneNumber: string;\n children: React.JSX.Element;\n missingDigits: string;\n validDigits: boolean;\n}\n\nexport default function MissingDigitsInput(props: Props) {\n const [firstPhonePart, lastPhonePart] = formatPhoneNumber(props.maskedPhoneNumber, [0, 2, 10]).split(SPLITTER_VALUE);\n return (\n \n \n {unsafeLocalizedString(firstPhonePart)}\n\n \n\n {SPLITTER_VALUE.split(\"\").map((value, index) => (\n \n {unsafeLocalizedString(value)}\n \n \n ))}\n\n \n\n {unsafeLocalizedString(lastPhonePart)}\n \n\n \n\n {props.children}\n\n \n\n \n \n \n \n )\n}","import { Box, Space, Stack } from \"omnichannel-design-system\";\nimport LoadingButton, { LoadingButtonAction } from \"components/LoadingButton\";\nimport { MASK, PHONE_NUMBER, VerifyPhoneNumberResponse } from \"../services/domain\";\nimport { VerifyPhoneNumberProps, VerifyPhoneNumberValues } from \"../ResumeApplicationVerifyPhoneNumber\";\n\nimport Banner from \"components/Banner\";\nimport { Heading } from \"components/Heading\";\nimport MissingDigitsInput from \"./MissingDigitsInput\";\nimport { useFormikContext } from \"formik\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport { useVerifyPhoneNumber } from \"../services/verifyPhoneNumberApi\";\n\nexport default function ResumeApplicationVerifyPhoneNumberForm(props: VerifyPhoneNumberProps) {\n const { formatMessageWithKey, formatRichTextMessageWithKey, updateContext } = useRemoteOnboardingContext();\n const { onSubmit, onBlocked, } = props;\n const { values, setValues, validateForm } = useFormikContext();\n const { missingDigits = \"\", validDigits, maskedPhoneNumber, remainingAttempts } = values;\n const { verifyPhoneNumber } = useVerifyPhoneNumber();\n\n const handleSubmit: LoadingButtonAction = (resolve) => {\n validateForm().then(validationErrors => {\n if (Object.keys(validationErrors).length) {\n resolve(false)\n return\n }\n verifyPhoneNumber({ missingDigits }, {\n onSuccess: ({ validDigits: responseValidDigits, remainingAttempts: responseRemainingAttempts }: VerifyPhoneNumberResponse) => {\n setValues(previousValues => ({\n ...previousValues,\n missingDigits: responseValidDigits ? missingDigits : \"\",\n remainingAttempts: responseRemainingAttempts,\n validDigits: responseValidDigits\n }));\n if (responseValidDigits) {\n updateContext({ [PHONE_NUMBER]: maskedPhoneNumber.replace(MASK, missingDigits) });\n onSubmit();\n } else if (responseRemainingAttempts === 0) {\n onBlocked();\n }\n resolve(true);\n },\n onFail: () => resolve(false)\n });\n });\n }\n\n\n return (\n \n \n \n\n {formatRichTextMessageWithKey(\"description\")}\n\n \n \n {formatRichTextMessageWithKey(\"description2\")}\n \n \n\n {!validDigits && }\n\n \n\n \n\n \n \n );\n}","export const PHONE_NUMBER = \"phoneNumber\";\nexport const MASK = \"****\";\n\n\nexport type VerifyPhoneNumberRequest = {\n missingDigits: string;\n}\n\nexport type VerifyPhoneNumberResponse = {\n validDigits: boolean;\n remainingAttempts: number;\n}","import { useCallback } from \"react\";\nimport { executeAxios, ExecuteAxiosFunctions } from \"services/axiosHook\";\nimport { Method } from \"axios\";\nimport { VerifyPhoneNumberRequest } from \"./domain\";\n\nconst resumeApplicationVerifyPhoneNumberConfig = {\n url: \"/ca-ro/otp/phoneNumber/checkMissingDigits\",\n method: \"POST\" as Method,\n data: {},\n};\n\nexport function useVerifyPhoneNumber() {\n return {\n verifyPhoneNumber: useCallback((data: VerifyPhoneNumberRequest, callbacks: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...resumeApplicationVerifyPhoneNumberConfig, data },\n ...callbacks\n })\n }, [])\n }\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport GetSupport from \"../../components/GetSupport\";\nimport image from \"assets/rejected-request.png\";\nimport styled from \"styled-components\";\nimport { useHistory } from \"react-router\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\n\nconst TitleStyled = styled(Body)`\n text-transform: none;\n`\nexport default function ResumeCantProceed() {\n const [showSupport, setShowSupport] = useState(false);\n const history = useHistory();\n\n const { formatMessageWithKey, formatRichTextMessageWithKey } = useRemoteOnboardingContext();\n\n const onRestart = useCallback(() => {\n history.push(\"/onboarding\");\n history.go(0)\n }, [history]);\n\n return (\n \n\n \n \n {formatMessageWithKey(\"title\")}\n \n\n \n\n {formatMessageWithKey(\"title\")}\n\n \n\n \n {formatMessageWithKey(\"descriptionLine1\")}\n \n\n \n {formatRichTextMessageWithKey(\"descriptionLine2\")}\n \n \n\n \n\n setShowSupport(true)}\n />\n\n \n\n {showSupport && setShowSupport(false)} />}\n \n )\n}","import { Box, Space } from \"omnichannel-design-system\";\nimport { PhoneNumberProps, PhoneNumberValues } from \"../phoneNumberValidation/PhoneNumberValidation\";\nimport { ValidateOtpResponse, useValidateOtp } from \"flows/Onboarding/services/phoneNumberValidation/validateOtp\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport PhoneNumberValidationForm from \"../phoneNumberValidation/components/PhoneNumberValidationForm\";\nimport { Step } from \"../../services/domain\";\nimport { useGenerateOtp } from \"../../../services/phoneNumberValidation/generateOtp\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport { useResendOtp } from \"flows/Onboarding/services/phoneNumberValidation/resendOtp\";\nimport { withFormik } from \"formik\";\n\nexport const PhoneNumberFormikWrapper = withFormik({\n mapPropsToValues: (props) => ({ ...props.initialValues }),\n handleSubmit: (\n { editPhoneMode, otp, phoneNumber, phonePrefix, contactDataOtpRemainingGenerations, ...otherValues },\n { props: { onSubmit, validateOtp, onBlocked }, setValues }\n ) => {\n if (otherValues.isOtpValid) {\n onSubmit();\n return;\n }\n\n if (otp.length === 6) {\n validateOtp({ otp }, {\n onSuccess: ({ otpRemainingValidations, otpCodeExpired, otpIsValid }: ValidateOtpResponse) => {\n if (otpRemainingValidations === 0 && contactDataOtpRemainingGenerations === 0) {\n onBlocked();\n return;\n }\n setValues(previousValues => ({\n ...previousValues,\n otpRemainingValidations,\n otpCodeExpired,\n isOtpValid: otpIsValid,\n otp: otpIsValid ? previousValues.otp : \"\",\n }))\n },\n onFail: ({ status }: { status: number }) => {\n if (status === 409) {\n onBlocked();\n }\n },\n onLoading: (loading: boolean) => setValues(previousValues => ({ ...previousValues, loading }))\n })\n }\n },\n})(PhoneNumberValidationForm);\n\ntype Props = {\n onBlocked: () => void;\n onNext: () => void;\n}\n\nexport default function ResumeOtpValidate(props: Props) {\n const { formatMessageWithKey, phoneNumber } = useRemoteOnboardingContext();\n const { resendOtp } = useResendOtp(props.onBlocked);\n\n const [loading, setLoading] = useState(false);\n const { validateOtp } = useValidateOtp();\n const { generateOtp } = useGenerateOtp(props.onBlocked);\n const componentIsMounted = useRef(false);\n\n useEffect(() => {\n if (componentIsMounted.current) {\n return;\n }\n componentIsMounted.current = true;\n generateOtp({\n phoneNumber: phoneNumber.replace(\"+40\", \"\"),\n phonePrefix: \"+40\"\n }, { onLoading: setLoading });\n }, [phoneNumber, generateOtp])\n\n if (loading) {\n return ;\n }\n\n return (\n \n \n\n \n\n \n\n \n\n \n )\n}","import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\nimport { FormikErrors, useFormikContext, withFormik } from \"formik\";\nimport LoadingButton, { LoadingButtonAction } from \"components/LoadingButton\";\nimport {\n ValidateResumePasswordResponse,\n useValidateResumePasswordApi\n} from \"../closeApplication/service/useValidateResumePasswordApi\";\n\nimport Banner from \"components/Banner\";\nimport { ExecuteAxiosFunctions } from \"services/axiosHook\";\nimport { Heading } from \"components/Heading\";\nimport PasswordField from \"components/form/PasswordField\";\nimport { Step } from \"../../services/domain\";\nimport _ from \"lodash\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\nimport { useResumeApplication } from \"flows/Onboarding/services/existingApplication/useResumeApplication\";\n\nexport type ResumePasswordValidateValues = {\n password: string;\n remainingValidations?: number;\n loading?: boolean;\n}\n\nexport const ResumePasswordValidateInner = (props: FormikWrapperProps) => {\n const { onNext, onBlocked, validate, } = props;\n const { validateForm, setValues, values, errors } = useFormikContext();\n const { password, remainingValidations } = values;\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n\n const handleSubmit: LoadingButtonAction = (resolve) => {\n validateForm().then(currentErrors => {\n if (Object.keys(currentErrors).length) {\n resolve(false)\n return\n }\n validate(password, {\n onSuccess: ({ ok, remainingRetries }: ValidateResumePasswordResponse) => {\n if (ok) {\n onNext(resolve)\n resolve(true);\n } else {\n if (remainingRetries > 0) {\n setValues(previousValues => ({\n ...previousValues,\n remainingValidations: remainingRetries,\n password: \"\",\n }))\n } else {\n onBlocked()\n }\n resolve(false);\n }\n\n },\n })\n });\n }\n\n return (\n <>\n \n \n\n \n\n {!!remainingValidations &&\n \n }\n \n\n \n\n \n \n )\n}\n\nexport type FormikWrapperProps = {\n onNext: (resolve: any) => void;\n onBlocked: () => unknown;\n validate: (password: string, callbacks: ExecuteAxiosFunctions) => void;\n}\nexport const ResumePasswordValidateFormikWrapper = withFormik({\n validate: (values: ResumePasswordValidateValues) => {\n let errors: FormikErrors = {};\n\n if (_.isEmpty(values.password)) {\n errors.password = \"password.error.invalid\";\n }\n\n return errors;\n },\n handleSubmit: (values, bag) => {\n bag.props.onNext(() => { });\n },\n})(ResumePasswordValidateInner);\n\nexport type ResumePasswordValidateProps = {\n onNext: () => void;\n onBlocked: () => void;\n onResume: (page: Step) => () => void;\n}\nexport default function ResumePasswordValidate({ onResume, onNext, onBlocked }: ResumePasswordValidateProps) {\n const { formatMessageWithKey, previousStep, applicationId } = useRemoteOnboardingContext();\n const { resumeApplication } = useResumeApplication({ onResume, applicationId: applicationId as string });\n const { validateResumePassword } = useValidateResumePasswordApi();\n\n const onNextAction = (resolve: any) => {\n onNext();\n resolve(true);\n }\n\n return (\n \n \n\n \n\n \n\n \n {formatMessageWithKey(\"subtitle\")}\n \n\n \n\n \n {formatMessageWithKey(\"description\")}\n \n\n \n\n \n\n \n )\n}","import { Body, Box, Space, Stack, SwitchField, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/Onboarding/user-scan-original-id.png\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"../../services/useRemoteOnboardingStepOptions\";\nimport { useState } from \"react\";\n\ntype Props = {\n onNext: () => void;\n}\n\nexport default function ScanId({ onNext }: Props) {\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n const { formatRichTextMessage, formatMessage } = useFormatMessage();\n const { options } = useRemoteOnboardingStepOptions();\n\n const [consent, setConsent] = useState(false);\n\n return (\n \n \n\n {formatMessageWithKey(\"title\")}\n\n {options\n .filter(item => ![\"icon\", \"title\", \"description\"].some(key => !item[key]))\n .map(item => (\n \n \n {formatRichTextMessage(item.icon as string)}\n \n\n \n \n {formatMessage(item.title as string)}\n \n\n \n {formatMessage(item.description as string)}\n \n \n \n ))\n }\n\n \n \n \n {formatMessageWithKey(\"consent.title\")}\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n\n \n );\n}","import { Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\nimport { Dispatch, SetStateAction, useCallback, useEffect, useRef, useState } from \"react\";\nimport {\n INTERVAL_POLLING_TIME,\n MB_IDENTIFY_DEEP_LINK,\n MB_IDENTIFY_DEEP_LINK_TYPE_PARAMETER,\n POLLING_TIME_OUT,\n START_POLLING_TIME,\n Status\n} from \"./services/domain\";\n\nimport { PersonalProfileContainerStyled } from \"flows/PersonalProfile/pages/MyData/components/PersonalProfile\";\nimport PoolingScreen from \"../../components/PoolingScreen\";\nimport Typography from \"components/Typography\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { sessionStorageData } from \"services/storageData\";\nimport styled from \"styled-components\";\nimport useClientExists from \"./services/useClientExists\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\nimport useScanIdStatus from \"./services/useScanIdStatus\";\n\ntype Props = {\n onProcessCeased: () => void;\n onClientExists?: () => void;\n onIdCardExpired: () => void;\n onBack: () => void;\n onNext: () => void;\n}\n\ntype CheckPolling = Props & {\n setIntermediaryCall: Dispatch>;\n getOcrStatus: (onSuccess: any, onFail?: any) => void;\n checkIfClientExists: (onSuccess: any, onFail?: any) => void;\n setRemainingAttempts?: Dispatch>;\n}\n\ntype OcrStatusResponse = {\n status: Status;\n remainingAttempts: number;\n}\n\nexport function checkPolling(props: CheckPolling) {\n const { getOcrStatus, checkIfClientExists, setIntermediaryCall, onNext, onProcessCeased, onClientExists, onIdCardExpired, onBack, setRemainingAttempts } = props;\n getOcrStatus(({ status, remainingAttempts }: OcrStatusResponse) => {\n switch (status) {\n case Status.PENDING:\n const timeout = setTimeout(() => {\n checkPolling(props);\n }, INTERVAL_POLLING_TIME);\n setIntermediaryCall(timeout);\n break;\n\n case Status.DONE:\n checkIfClientExists((clientExists: boolean) => {\n if (clientExists) {\n onClientExists ? onClientExists() : onProcessCeased();\n return\n }\n onNext();\n }, onBack);\n break;\n\n case Status.PROCESS_CEASED:\n onProcessCeased();\n break;\n\n case Status.ERROR:\n case Status.ID_CARD_EXPIRED:\n onIdCardExpired();\n break;\n\n case Status.CANCELED:\n onBack();\n break;\n\n case Status.RETRY:\n setRemainingAttempts && setRemainingAttempts(remainingAttempts);\n break;\n }\n }, onBack)\n\n}\n\nconst RetryContainer = styled(Stack)`\n background-color: ${palette.neutral200};\n border-radius: 8px;\n margin: 60px;\n padding: 20px 0px;\n`;\n\nexport default function ScanIdStatus(props: Props) {\n const [remainingAttempts, setRemainingAttempts] = useState();\n const { getOcrStatus } = useScanIdStatus();\n const { checkIfClientExists } = useClientExists();\n const [intermediaryCalls, setIntermediaryCall] = useState();\n const [poolingTimeout, setPoolingTimeout] = useState();\n const componentIsRendered = useRef(false);\n const { mockScanCI, formatMessageWithKey } = useRemoteOnboardingContext();\n\n const doBackAfterPoolingTimeOuts = useCallback(() => {\n intermediaryCalls && clearTimeout(intermediaryCalls);\n props.onBack();\n }, [props, intermediaryCalls])\n\n const startPooling = useCallback(() => {\n const firstTimeout = setTimeout(() => {\n checkPolling({ ...props, setIntermediaryCall, getOcrStatus, checkIfClientExists, setRemainingAttempts });\n }, mockScanCI ? 0 : START_POLLING_TIME);\n setIntermediaryCall(firstTimeout);\n setRemainingAttempts(undefined);\n\n setPoolingTimeout(setTimeout(doBackAfterPoolingTimeOuts, POLLING_TIME_OUT));\n\n if (mockScanCI) {\n return;\n }\n\n window.location.href = MB_IDENTIFY_DEEP_LINK + sessionStorageData.getItem(\"flowId\") + MB_IDENTIFY_DEEP_LINK_TYPE_PARAMETER;\n }, [checkIfClientExists, props, getOcrStatus, mockScanCI, doBackAfterPoolingTimeOuts])\n\n useEffect(() => {\n if (componentIsRendered.current) {\n return;\n }\n componentIsRendered.current = true;\n\n startPooling();\n }, [startPooling])\n\n useEffect(() => {\n return () => {\n intermediaryCalls && clearTimeout(intermediaryCalls);\n }\n }, [intermediaryCalls])\n\n useEffect(() => {\n return () => {\n poolingTimeout && clearTimeout(poolingTimeout);\n }\n }, [poolingTimeout])\n\n const onRetry = useCallback(() => {\n poolingTimeout && clearTimeout(poolingTimeout);\n doBackAfterPoolingTimeOuts();\n }, [poolingTimeout, doBackAfterPoolingTimeOuts])\n\n return (\n \n \n {!!remainingAttempts &&\n \n \n \n {formatMessageWithKey(\"dialog.title\")}\n \n\n \n \n {formatMessageWithKey(\"dialog.description\")}\n \n \n\n \n {formatMessageWithKey(\"dialog.attempts\", { remainingAttempts })}\n \n\n \n\n \n\n \n \n {formatMessageWithKey(\"dialog.tryAgain\")}\n \n \n \n \n }\n \n );\n}","export const START_POLLING_TIME = 10 * 1000; // 10 sec\nexport const INTERVAL_POLLING_TIME = 2 * 1000; // 2 sec\nexport const POLLING_TIME_OUT = 10 * 60 * 1000; // 10 min\n\nexport const MB_IDENTIFY_DEEP_LINK = \"mb-unicredit://identify/query?section=DBN&reference=\";\nexport const MB_IDENTIFY_DEEP_LINK_TYPE_PARAMETER = \"&type=ID\";\n\nexport enum Status {\n PENDING = \"PENDING\",\n PROCESS_CEASED = \"ERROR\",\n CANCELED = \"CANCELED\",\n ID_CARD_EXPIRED = \"ID_CARD_EXPIRED\",\n DONE = \"DONE\",\n RETRY = \"RETRY\",\n ERROR = \"ERROR\",\n}\n","import { AxiosRequestConfig } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { useCallback } from \"react\";\n\nconst checkIfClientExistsConfig: AxiosRequestConfig = {\n url: \"/ca-ro/clientInformation/clientExists\",\n method: \"post\",\n};\n\nexport default function useClientExists(){\n return {\n checkIfClientExists: useCallback((onSuccess: any) => {\n executeAxios({\n params: checkIfClientExistsConfig,\n onSuccess\n })\n }, [])\n }\n}","import { useCallback, useState } from \"react\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst getOcrStatusConfig: AxiosRequestConfig = {\n url: \"/ca-ro/ocr/getOcrStatus\",\n method: \"post\",\n};\n\nexport default function useScanIdStatus() {\n const [loading, setLoading] = useState(false);\n const getOcrStatus = useCallback((onSuccess: any, onFail?: any) => {\n executeAxios({\n params: getOcrStatusConfig,\n onSuccess,\n onFail,\n onLoading: setLoading\n })\n }, [])\n return {\n loading,\n getOcrStatus\n }\n\n}","import { AngleRightIcon, Box, PlaceholderIcon, Space, Stack, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { Body, NavigationElement, buttonLink } from \"omnichannel-design-system/lib/vanilla\";\nimport { DocumentDetailsType, ReportCodes } from \"pages/DocumentDetails/services/domain\";\nimport LoadingButton, { LoadingButtonAction } from \"components/LoadingButton\";\nimport { useEffect, useState } from \"react\";\n\nimport { Consents } from \"./services/domain\";\nimport CustomToggleElement from \"../../components/CustomToggleElement\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport image from \"assets/analyze-your-data.png\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useApplicationExpirationTime } from \"../../services/applicationExpirationTime\";\nimport { useApplySimpleSignatureApi } from \"./services/applySimpleSignatureApi\";\nimport { useConsentTimestampApi } from \"../../services/consentsApi\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\nimport { useReportsApi } from \"../../services/reportsApi\";\n\ntype Props = {\n onNext: () => unknown;\n}\n\nconst TSP_AGREEMENT = \"TSP_AGREEMENT\";\n\nexport default function SignContractualDocument({ onNext }: Props) {\n const { formatMessageWithKey, formatRichTextMessageWithKey } = useRemoteOnboardingContext();\n const { getExpirationTime, expirationTimeLoading, expirationTime } = useApplicationExpirationTime();\n\n const [consents, setConsents] = useState({\n contractual: false,\n certificateIssuance: false,\n termsAndConditions: false,\n });\n const [selectedDocument, setDocumentSelected] = useState();\n const { updateConsentTimestamp } = useConsentTimestampApi();\n const { reportsLoading, createReports } = useReportsApi();\n const { applySimpleSignatures } = useApplySimpleSignatureApi();\n\n useEffect(() => {\n createReports([\n ReportCodes[DocumentDetailsType.CA_CONTRACT],\n ReportCodes[DocumentDetailsType.CA_ELECTRONIC_CERTIFICATE_REQUEST],\n ReportCodes[DocumentDetailsType.CA_TERMS_AND_CONDITIONS]\n ]);\n }, [createReports]);\n\n useEffect(getExpirationTime, [getExpirationTime]);\n\n const updateTimestamp = (type: string, checked: boolean, callback?: Function) => {\n updateConsentTimestamp(\n { data: { consentType: type, accepted: checked } }, {\n onSuccess: () => {\n setConsents(previous => ({\n ...previous,\n certificateIssuance: checked,\n termsAndConditions: checked\n }));\n callback && callback(type);\n }\n });\n };\n\n const getCurrentReportType = () => {\n switch (selectedDocument) {\n case \"contractual\": return DocumentDetailsType.CA_CONTRACT;\n case \"certificateIssuance\": return DocumentDetailsType.CA_ELECTRONIC_CERTIFICATE_REQUEST;\n default: return DocumentDetailsType.CA_TERMS_AND_CONDITIONS;\n }\n };\n\n const onApplySimpleSignatureToDocuments: LoadingButtonAction = resolve => {\n applySimpleSignatures([\n ReportCodes[DocumentDetailsType.CA_ELECTRONIC_CERTIFICATE_REQUEST],\n ReportCodes[DocumentDetailsType.CA_TERMS_AND_CONDITIONS]\n ], (success: boolean) => {\n resolve(success);\n if (success) {\n onNext();\n }\n });\n };\n\n const reportType = getCurrentReportType();\n\n if (expirationTimeLoading || reportsLoading) {\n return \n }\n\n const onDialogDismiss = () => {\n setDocumentSelected(undefined);\n return true;\n }\n\n if (selectedDocument) {\n return (\n {\n if (selectedDocument === \"contractual\") {\n setConsents(previous => ({ ...previous, contractual: true }));\n }\n onDialogDismiss();\n }}\n translationsKeys={{\n title: formatMessageWithKey(\"contractual.title\"),\n confirmationButtonText: formatMessageWithKey(\"contractual.confirm\"),\n downloadButtonText: formatMessageWithKey(\"contractual.download\")\n }}\n customContent={() => formatMessageWithKey(\"contractual.content\")}\n />\n )\n }\n\n return (\n \n \n\n \n\n {formatMessageWithKey(\"image\")}\n\n {formatRichTextMessageWithKey(\"description\")}\n\n \n }\n rightIcon={AngleRightIcon}\n onClick={() => setDocumentSelected(\"contractual\")}\n firstLine={formatMessageWithKey(\"contractualDocumentation.page.label\")}\n />\n \n\n \n \n {formatMessageWithKey(\"validityDate\")}\n \n\n \n {unsafeLocalizedString(expirationTime)}\n \n \n\n setDocumentSelected(\"certificateIssuance\"), formatMessageWithKey(\"tsp.subLabel\")),\n buttonLink(() => setDocumentSelected(\"termsAndConditions\"), formatMessageWithKey(\"tsp.subLabel1\"))\n ]}\n name=\"tsp\"\n value={consents.certificateIssuance && consents.termsAndConditions}\n onChange={(value: boolean) => {\n updateTimestamp(TSP_AGREEMENT, value);\n }}\n />\n\n \n\n !consent)}\n normalText={formatMessageWithKey(\"submit\")}\n variant=\"primary\"\n action={onApplySimpleSignatureToDocuments}\n />\n \n )\n}","import {Method} from \"axios\";\nimport {useCallback, useState} from \"react\";\nimport {executeMultipleAxios} from \"../../../../../../services/axiosHook\";\n\nconst applySimpleSignatureApiConfig = {\n url: \"ca-ro/reports/applySimpleSignature\",\n method: \"post\" as Method,\n};\n\nexport type SimpleSignatureRequest = {\n\treportCode: string;\n};\n\nexport const useApplySimpleSignatureApi = () => {\n const [simpleSignaturesLoading, setSimpleSignaturesLoading] = useState(false);\n \n return {\n simpleSignaturesLoading,\n applySimpleSignatures: useCallback((reportCodes: string[], onComplete?: Function) => {\n\t\t\tconst promisesConfig = reportCodes.map(code => ({...applySimpleSignatureApiConfig, data: {reportCode: code}}));\n executeMultipleAxios({\n promisesConfig,\n onSuccess: () => onComplete && onComplete(true),\n onLoading: setSimpleSignaturesLoading,\n onFail: () => onComplete && onComplete(false)\n })\n\t\t}, [])\n };\n};","import { Box, Space, Stack } from \"omnichannel-design-system\";\n\nimport Banner from \"components/Banner\";\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport { SEPARATOR_KEY } from \"services/formatMessageHook\";\nimport image from \"assets/Onboarding/signing-process-completed.png\";\nimport { useEffect } from \"react\";\nimport { useGetClientInfoApi } from \"./services/getClientInfo\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\n\ntype Props = {\n next: () => unknown;\n}\n\nexport default function SigningProcessCompleted({ next }: Props) {\n const { formatMessageWithKey, formatRichTextMessageWithKey } = useRemoteOnboardingContext();\n const { getClientInfo, clientInfo, loading, error } = useGetClientInfoApi();\n\n useEffect(getClientInfo, [getClientInfo]);\n\n if (loading || error) {\n return \n }\n\n return (\n \n \n \n\n {formatMessageWithKey(\"title\")}\n\n \n

\n {formatRichTextMessageWithKey(\"description\", { ...clientInfo, iban: clientInfo?.multipleIban || clientInfo?.iban, [SEPARATOR_KEY]: \",
\" })}\n

\n
\n
\n\n \n\n \n\n \n\n \n
\n )\n}","import { useCallback, useState } from \"react\";\n\nimport { ClientInfo } from \"./domain\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst apiConfig = {\n method: \"post\" as Method,\n url: \"/ca-ro/clientInformation\"\n}\n\nexport const useGetClientInfoApi = () => {\n const [clientInfo, setClientInfo] = useState();\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n\n return {\n clientInfo,\n loading,\n error,\n getClientInfo: useCallback(() => {\n executeAxios({\n params: apiConfig,\n onSuccess: setClientInfo,\n onLoading: setLoading,\n onFail: setError\n })\n }, [])\n }\n}","import { Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport { HEADER_TITLE } from \"flows/Onboarding/remote/services/domain\";\nimport { Heading } from \"components/Heading\";\nimport MoreDetails from \"./components/MoreDetails\";\nimport NumberIcon from \"../../../components/NumberIcon\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"../../services/useRemoteOnboardingStepOptions\";\n\ntype Props = {\n onNext: () => unknown;\n}\n\nexport default function StepsPresentation({ onNext }: Props) {\n const { formatMessageWithKey, setHeaderMetadata } = useRemoteOnboardingContext();\n const { formatMessage } = useFormatMessage();\n\n const { options } = useRemoteOnboardingStepOptions();\n\n const [showMoreDetails, setShowMoreDetails] = useState(false);\n\n const backFromMoreDetails = useCallback(() => {\n setHeaderMetadata({\n title: HEADER_TITLE.CURRENT_ACCOUNT,\n onBack: undefined,\n onCancel: undefined\n });\n setShowMoreDetails(false)\n }, [setHeaderMetadata]);\n\n if (showMoreDetails) {\n return (\n {\n setHeaderMetadata({\n onBack: undefined,\n });\n onNext();\n }} />\n );\n }\n\n return (\n \n\n \n\n \n \n {formatMessageWithKey(\"description\")}\n \n \n\n {\n options\n .filter(item => item.title)\n .map(({ key, icon, title }, index, items) => {\n\n const content = (\n \n \n\n \n\n \n {formatMessage(title ? title : \"\")}\n \n\n \n )\n if (items.length - 2 === index) {\n return (\n \n {content}\n\n \n\n \n \n )\n }\n\n if (items.length - 1 === index) {\n return (\n \n {content}\n \n )\n }\n\n return content\n })\n }\n\n \n\n \n {\n setHeaderMetadata({\n title: HEADER_TITLE.MORE_DETAILS,\n onBack: backFromMoreDetails,\n onCancel: null\n });\n setShowMoreDetails(true)\n }}\n />\n\n \n \n\n \n )\n}","import { AngleDownIcon, AngleUpIcon, Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { InformationDetailContainerStyled } from \"flows/Onboarding/styles/InformationDetailContainerStyled\";\nimport NumberIcon from \"../../../../components/NumberIcon\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"flows/Onboarding/remote/services/useRemoteOnboardingStepOptions\";\nimport { useState } from \"react\";\n\ntype Props = {\n next: () => unknown;\n}\n\nexport default function MoreDetails({ next }: Props) {\n const { formatMessageWithKey } = useRemoteOnboardingContext();\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const { options } = useRemoteOnboardingStepOptions();\n const [selected, setSelected] = useState()\n\n return (\n \n {\n options\n .filter(item => item.title)\n .map(({ key, icon, title, description }, index, items) => (\n \n setSelected(key)}>\n \n \n\n \n\n \n {formatMessage(title ? title : \"\")}\n \n \n\n {selected === key ? : }\n \n\n {selected === key && !!description &&\n \n \n\n \n \n {formatRichTextMessage(description)}\n \n \n\n \n \n }\n\n \n\n {items.length - 1 !== index && }\n \n ))\n }\n \n\n \n \n )\n}","import { Body, Box, Space, Stack, SwitchField, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { Heading } from \"components/Heading\";\nimport LoadingButton from \"components/LoadingButton\";\nimport { Step } from \"../../services/domain\";\nimport image from \"assets/Onboarding/user-scan-original-id.png\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { sendMockCiDataOcr } from \"../../components/ButtonWithMockedAction\";\nimport styled from \"styled-components\";\nimport { useAppContext } from \"services/appContext\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\nimport useRemoteOnboardingStepOptions from \"../../services/useRemoteOnboardingStepOptions\";\n\ntype Props = {\n onNext: () => void;\n}\n\nconst LinkText = styled(Body)`\n text-transform: none;\n`;\n\nexport default function TakeSelfieInformation(props: Props) {\n const { onNext } = props;\n const { formatMessageWithKey, formatRichTextMessageWithKey, updateContext, ...otherProps } = useRemoteOnboardingContext();\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const { options = [] } = useRemoteOnboardingStepOptions();\n const { configurations } = useAppContext();\n const [showDialog, setShowDialog] = useState(false);\n const [consent, setConsent] = useState((() => {\n let computedConsent: boolean = false;\n const contextProp = otherProps[Step.TAKE_SELFIE_INFORMATION];\n if (contextProp) {\n computedConsent = contextProp.takeSelfieConsent;\n }\n return computedConsent;\n })());\n\n const onTakeSelfie = useCallback(() => {\n updateContext({ [Step.TAKE_SELFIE_INFORMATION]: { takeSelfieConsent: true } });\n onNext();\n }, [updateContext, onNext]);\n\n return (\n \n \n\n {formatMessageWithKey(\"title\")}\n\n {options\n .filter(item => ![\"icon\", \"title\", \"description\"].some(key => !item[key]))\n .map(item => (\n \n \n {formatRichTextMessage(item.icon as string)}\n \n\n \n \n {formatMessage(item.title as string)}\n \n\n \n {formatMessage(item.description as string)}\n \n \n \n ))\n }\n\n \n \n \n {formatMessageWithKey(\"consent.title\")}\n \n setShowDialog(true)}>\n \n {formatMessageWithKey(\"seeMore\")}\n \n \n\n \n\n \n\n \n \n \n \n\n \n\n {\n configurations.mockIdScan &&\n {\n updateContext({ mockTakeSelfie: true });\n sendMockCiDataOcr(() => {\n sendMockCiDataOcr(() => {\n onNext();\n resolver(true);\n }, () => {\n resolver(false);\n }, \"SELFIE_VIDEO\")\n }, () => {\n resolver(false);\n }, \"SELFIE_PHOTO\")\n }}\n />\n }\n\n \n\n {showDialog && (\n setShowDialog(false),\n label: formatMessageWithKey(\"dialog.submit\")\n }]}\n variant=\"left\"\n size=\"small\"\n title={formatMessageWithKey(\"dialog.title\")}\n onDismiss={() => setShowDialog(false)}\n >\n {formatRichTextMessageWithKey(\"dialog.description\")}\n \n )}\n \n )\n}","import { Dispatch, SetStateAction, useEffect, useRef, useState } from \"react\";\nimport { INTERVAL_POLLING_TIME, POLLING_TIME_OUT, START_POLLING_TIME, Status } from \"../scanIdStatus/services/domain\";\n\nimport PoolingScreen from \"../../components/PoolingScreen\";\nimport { sessionStorageData } from \"services/storageData\";\nimport { useRemoteOnboardingContext } from \"../../services/remoteOnboardingContext\";\nimport useTakeSelfieStatus from \"./services/useTakeSelfieStatus\";\n\ntype Props = {\n onNext: () => void;\n onError: () => void;\n onBack: () => void;\n}\n\ntype CheckPolling = Props & {\n setIntermediaryCall: Dispatch>;\n getSelfieStatus: (onSuccess: any) => void;\n}\n\nfunction checkPolling(props: CheckPolling) {\n const { getSelfieStatus, setIntermediaryCall, onNext, onError, onBack } = props;\n\n getSelfieStatus(({ status }: { status: Status }) => {\n switch (status) {\n case Status.PENDING:\n const timeout = setTimeout(() => {\n checkPolling(props);\n }, INTERVAL_POLLING_TIME);\n\n setIntermediaryCall(timeout);\n break;\n\n case Status.DONE:\n onNext();\n break;\n\n case Status.PROCESS_CEASED:\n onError();\n break;\n\n case Status.CANCELED:\n onBack();\n break;\n }\n })\n\n}\n\nexport default function TakeSelfieStatus(props: Props) {\n const { getSelfieStatus } = useTakeSelfieStatus();\n const [intermediaryCalls, setIntermediaryCall] = useState();\n const [poolingTimeout, setPoolingTimeout] = useState();\n const componentIsRendered = useRef(false);\n const { mockTakeSelfie } = useRemoteOnboardingContext();\n\n useEffect(() => {\n if (componentIsRendered.current) {\n return;\n }\n componentIsRendered.current = true;\n const firstTimeout = setTimeout(() => {\n checkPolling({ ...props, setIntermediaryCall, getSelfieStatus });\n }, mockTakeSelfie ? 0 : START_POLLING_TIME);\n setIntermediaryCall(firstTimeout);\n\n setPoolingTimeout(setTimeout(props.onBack, POLLING_TIME_OUT));\n\n if (mockTakeSelfie) {\n return;\n }\n\n window.location.href = `mb-unicredit://identify/query?section=DBN&reference=${sessionStorageData.getItem(\"flowId\")}&type=SELFIE`;\n\n }, [props, getSelfieStatus, mockTakeSelfie])\n\n useEffect(() => {\n return () => {\n intermediaryCalls && clearTimeout(intermediaryCalls);\n poolingTimeout && clearTimeout(poolingTimeout);\n }\n }, [intermediaryCalls, poolingTimeout]);\n\n return ;\n}","import { AxiosRequestConfig } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { useCallback } from \"react\";\n\nconst getTakeSelfieStatusConfig: AxiosRequestConfig = {\n url: \"/ca-ro/ocr/getSelfieStatus\",\n method: \"post\",\n};\n\nexport default function useTakeSelfieStatus() {\n\n return {\n getSelfieStatus: useCallback((onSuccess: any) => {\n executeAxios({\n params: getTakeSelfieStatusConfig,\n onSuccess\n })\n }, [])\n }\n\n}","import { Box, Divider, Space, Stack } from \"omnichannel-design-system\";\nimport { useCallback, useState } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport { Button } from \"components/Button\";\nimport ContactRow from \"./components/ContactRow\";\nimport CustomToggleElement from \"../../components/CustomToggleElement\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport { formatPhoneNumber } from \"services/formatPhoneNumber\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useConsentTimestampApi } from \"../../services/consentsApi\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport { useSendPrecontractDocumentsApi } from \"./services/usePrecontractDocumentsApi\";\n\nconst BannerContentStyled = styled(Box)`\n span{\n color:${palette.neutral700};\n }\n`;\n\ntype Props = {\n onNext: () => unknown;\n}\n\nconst DAYS_FOR_DOCUMENTATION_STUDY = \"DAYS_FOR_DOCUMENTATION_STUDY\";\n\nexport default function UserContactInfo({ onNext }: Props) {\n const { formatMessageWithKey, formatRichTextMessageWithKey } = useRemoteOnboardingContext();\n const { userData, loading } = useSendPrecontractDocumentsApi(\"remote\");\n const [termOfStudyConsent, setTermOfStudyConsent] = useState(false);\n const { updateConsentTimestamp } = useConsentTimestampApi();\n\n const onTermOfStudyConsentClick = useCallback((accepted: boolean) => {\n updateConsentTimestamp({ data: { consentType: DAYS_FOR_DOCUMENTATION_STUDY, accepted } }, {\n onSuccess: () => setTermOfStudyConsent(accepted)\n })\n }, [updateConsentTimestamp])\n\n if (loading) {\n return ;\n }\n\n return (\n \n \n\n \n\n \n\n \n\n \n {formatRichTextMessageWithKey(\"information\")}\n \n } type=\"informative\" />\n\n \n\n \n\n \n \n )\n}","import { Body, Box, LocalizedString, unsafeLocalizedString } from \"omnichannel-design-system\";\n\ntype Props = {\n label: LocalizedString;\n value: string;\n}\n\nexport default function ContactRow({ label, value }: Props) {\n return (\n \n \n {label}\n \n\n \n {unsafeLocalizedString(value)}\n \n \n );\n}","import { useEffect, useState } from \"react\";\n\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nexport type UserContactInfoResponse = {\n email: string,\n phoneNumber: string,\n}\n\nconst initUserDataConfig = {\n url: \"/ca-ro/documents/precontracts\",\n method: \"POST\" as Method,\n data: {}\n}\n\nexport function useSendPrecontractDocumentsApi(onboardingFlowType: \"remote\" | \"branch\") {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const [userData, setUserData] = useState({ email: \"\", phoneNumber: \"\" });\n\n useEffect(() => {\n executeAxios({\n params: { ...initUserDataConfig, data: { onboardingFlowType } },\n onFail: setError,\n onLoading: setLoading,\n onSuccess: setUserData\n })\n }, [onboardingFlowType])\n return {\n loading,\n error,\n userData\n }\n}","import { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\nimport { EMPTY_STRING } from \"components/form/utils\";\n\nconst applicationInfoConfig = {\n url: \"/ca-ro/application/info\",\n method: \"POST\" as Method,\n};\n\ntype ApplicationInfo = {\n expirationTime: string\n}\n\nexport function useApplicationExpirationTime() {\n const [loading, setLoading] = useState(false);\n const [expirationTime, setExpirationTime] = useState(EMPTY_STRING);\n\n const getExpirationTime = useCallback(() => {\n executeAxios({\n params: applicationInfoConfig,\n onSuccess: (response: ApplicationInfo) => setExpirationTime(response.expirationTime),\n onLoading: setLoading\n })\n }, []);\n\n return {\n getExpirationTime,\n expirationTimeLoading: loading,\n expirationTime\n }\n\n}\n","import { AuthenticationData } from \"services/types\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { setAuthInSessionStorage } from \"services/storageData\";\n\nexport default function changeAuthToPotentialClient(onSubmit: () => unknown){\n executeAxios({\n params: { \n url: \"/authorization/potentialClient/remote/noauth/token\",\n method: \"POST\" as Method,\n },\n onSuccess: (response: AuthenticationData) => {\n setAuthInSessionStorage(response);\n onSubmit();\n }\n })\n}","import {ExecuteAxiosFunctions, executeAxios} from \"../../../../services/axiosHook\";\n\nimport {Method} from \"axios\";\nimport {Step} from \"./domain\";\nimport {useCallback} from \"react\";\n\nconst remoteApiConfig = {\n url: \"/ca-ro/step\",\n method: \"post\" as Method,\n};\n\nexport type ChangeStepRequest = {\n newStep: Step;\n}\n\nexport function useChangeStep() {\n return {\n changeStep: useCallback((data: ChangeStepRequest, callbacks: ExecuteAxiosFunctions) => {\n executeAxios({\n params: {...remoteApiConfig, data},\n ...callbacks\n })\n }, [])\n }\n}","import { AxiosRequestConfig, Method } from \"axios\";\nimport { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nconst consentTimestampConfig = {\n url: \"ca-ro/updateConsentTimestamp\",\n method: \"post\" as Method,\n};\n\nexport const useConsentTimestampApi = () => {\n const [loading, setLoading] = useState(false);\n\n return {\n loading,\n updateConsentTimestamp: useCallback((apiConfig: AxiosRequestConfig, { onSuccess, onFail }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...consentTimestampConfig, ...apiConfig },\n onSuccess,\n onFail,\n onLoading: setLoading\n })\n }, [])\n };\n};","import { KnowYourCustomerData } from \"flows/Onboarding/services/knowYourCustomer/domain\";\nimport { MarketingConsentsChecks } from \"../pages/marketingConsents/MarketingConsents\";\nimport { OcrDataSummaryResponse } from \"flows/Onboarding/services/dataSummary/domain\";\nimport { SelectedCards } from \"../pages/cardSelection/services/domain\";\n\nexport enum Step {\n ELIGIBILITY = \"eligibility\",\n PACKAGE_SELECTION = \"packageSelection\",\n OPTIMAL_OFFER = \"optimalOffer\",\n INFORMATIVE_NOTICE = \"informativeNotice\",\n STEPS_PRESENTATION = \"stepPresentation\",\n DATA_PRIVACY_CONSENT = \"dataPrivacyConsent\",\n PHONE_NUMBER_VALIDATION = \"phoneNumberValidation\",\n RESUME_OTP_VALIDATION = \"resumeOtpValidation\",\n EXISTING_APPLICATION = \"existingApplication\",\n EMAIL_VALIDATION = \"emailValidation\",\n KNOW_YOUR_CUSTOMER = \"questionnairePersonalQuestion\",\n KNOW_YOUR_CUSTOMER_TRANSACTIONS = \"knowYourCustomerTransaction\",\n PROCESS_CEASED = \"processCeased\",\n KYC_PENDING_RESULTS = \"pendingResults\",\n MARKETING_CONSENTS = \"marketingConsents\",\n OTP_CANT_PROCEED = \"otpCantProceed\",\n USER_CONTACT_INFO = \"userContactInfo\",\n SCAN_ID = \"userScanOriginalId\",\n HOW_TO_SCAN_ID = \"howToScanId\",\n SCAN_ID_STATUS = \"userScanOriginalIdStatus\",\n DATA_SUMMARY_FIRST_PART = \"dataSummaryFirstPart\",\n DATA_SUMMARY_SECOND_PART = \"dataSummarySecondPart\",\n IDENTIFICATION_CARD_IS_EXPIRED = \"identificationCardIsExpired\",\n TAKE_SELFIE_INFORMATION = \"takeSelfieInformation\",\n TAKE_SELFIE_STATUS = \"takeSelfieStatus\",\n IDENTIFICATION_SUCCESSFUL = \"identificationSuccessful\",\n CARD_SELECTION = \"cardSelection\",\n GENIUS_ACCOUNT_CARD = \"geniousAccountCard\",\n SIGN_CONTRACTUAL_DOCUMENT = \"signContractualDocument\",\n CONTRACT_SIGNATURE = \"enterCodeToSign\",\n CONTRACTS_SIGNATURE_STATUS = \"signContractualDocumentDataProcessing\",\n SIGNING_PROCESS_COMPLETED = \"signingProcessCompleted\",\n FEEDBACK = \"feedback\",\n BRANCH_SELECTION = \"branchSelection\",\n LOADING = \"loading\",\n EXPIRED = \"expired\",\n RESUME_PASSWORD_VALIDATE = \"resumePasswordValidate\",\n RESUME_APPLICATION_VERIFY_PHONE_NUMBER = \"resumeApplicationVerifyPhoneNumber\",\n RESUME_CANT_PROCEED = \"resumeCantProceed\",\n RESUME_WRONG_PASSWORD = \"resumeWrongPassword\",\n GENERIC_ERROR_MESSAGE = \"genericErrorMessage\",\n KYC_REJECTION = \"kycRejection\"\n}\n\nexport enum HEADER_TITLE {\n CURRENT_ACCOUNT = \"dbn.onboarding.header.title.currentAccount\",\n MORE_DETAILS = \"dbn.onboarding.header.title.moreDetails\",\n ONBOARDING = \"dbn.onboarding.header.title.onboarding\",\n PRODUCT_DETAILS = \"dbn.onboarding.header.title.productDetails\",\n RETRIEVE_FLOW = \"dbn.onboarding.header.title.retrieveFlow\",\n}\n\nexport type HeaderMetadata = {\n title?: HEADER_TITLE;\n onBack?: () => unknown;\n onCloseApplicationFeedbackBack?: () => unknown;\n onCancel?: (() => unknown) | null;\n showStepper?: boolean;\n currentStepIndex?: number;\n showCloseApplication?: boolean;\n}\n\nexport type Country = {\n code: string;\n name: string;\n}\n\nexport type KnowYourCustomerTransactionDetail = {\n cashNumber?: number;\n cashVolume?: number;\n bankNumber?: number;\n bankVolume?: number;\n internationalNumber?: number;\n internationalVolume?: number;\n}\n\nexport type KnowYourCustomerTransactionData = {\n transactionTypes: string[],\n countriesInvolved: Country[],\n otherCountriesIncomeSource: Country[],\n details: KnowYourCustomerTransactionDetail\n}\n\nexport type GeniusAccountCardData = {\n selectedAddress: string;\n password: string;\n}\n\nexport type RemoteOnboardingContextProps = {\n step: Step;\n applicationId?: string;\n previousStep?: Step;\n headerMetadata: HeaderMetadata;\n knowYourCustomerData: KnowYourCustomerData;\n knowYourCustomerTransactionData: KnowYourCustomerTransactionData;\n selectedCard: SelectedCards;\n selectedAccount: Account[];\n geniusAccountCardData: GeniusAccountCardData;\n [Step.PACKAGE_SELECTION]?: {\n annexConsent: boolean;\n };\n [Step.DATA_PRIVACY_CONSENT]?: {\n dataPrivacyConsent: boolean;\n };\n [Step.MARKETING_CONSENTS]?: MarketingConsentsChecks;\n [Step.TAKE_SELFIE_INFORMATION]?: {\n takeSelfieConsent: boolean;\n };\n contractSigningError: boolean;\n phoneNumber: string;\n productName?: string;\n requestDate?: string;\n applicationCloseable?: boolean;\n applicationResumable?: boolean;\n ocrDataSummary?: OcrDataSummaryResponse;\n mockScanCI?: boolean,\n mockTakeSelfie?: boolean,\n selectedAccounts: Account[]\n}\n\nexport enum StepResponse {\n RETRY_ACTIONS = \"RETRY_ACTIONS\",\n PROCESS_CEASED = \"PROCESS_CEASED\"\n}\n\nexport type Account = \"RON\" | \"EUR\";","import { Action } from \"constants/types/contextTypes\";\nimport { OnboardingAction } from \"flows/Onboarding/services/domain\";\nimport { RemoteOnboardingContextProps } from \"./domain\";\n\nconst {\n GO_TO_STEP,\n SET_HEADER_METADATA,\n KNOW_YOUR_CUSTOMER_DATA_UPDATE,\n KNOW_YOUR_CUSTOMER_TRANSACTION_DATA_UPDATE,\n SAVE_GENIUS_ACCOUNT_DATA,\n REPLACE_CONTEXT_PARTS,\n UPDATE_CONTRACT_SIGNING_ERROR,\n} = OnboardingAction;\n\nexport function reducer(state: RemoteOnboardingContextProps, { type, value }: Action): RemoteOnboardingContextProps {\n switch (type) {\n case GO_TO_STEP: return { ...state, previousStep: state.step, step: value };\n case SET_HEADER_METADATA: return { ...state, headerMetadata: { ...state.headerMetadata, ...value } };\n case KNOW_YOUR_CUSTOMER_DATA_UPDATE: return { ...state, knowYourCustomerData: { ...state.knowYourCustomerData, ...value } };\n case KNOW_YOUR_CUSTOMER_TRANSACTION_DATA_UPDATE: return { ...state, knowYourCustomerTransactionData: { ...state.knowYourCustomerTransactionData, ...value } };\n case SAVE_GENIUS_ACCOUNT_DATA: return { ...state, geniusAccountCardData: value };\n case UPDATE_CONTRACT_SIGNING_ERROR: return { ...state, contractSigningError: value };\n case REPLACE_CONTEXT_PARTS: return { ...state, ...value };\n default: return state;\n }\n}","import {\n GeniusAccountCardData,\n HEADER_TITLE,\n HeaderMetadata,\n KnowYourCustomerTransactionData,\n RemoteOnboardingContextProps,\n Step\n} from \"./domain\";\nimport { InitialContextState, ProviderProps } from \"constants/types/contextTypes\";\nimport React, { useCallback, useContext, useMemo, useReducer } from \"react\";\n\nimport { KnowYourCustomerData } from \"flows/Onboarding/services/knowYourCustomer/domain\";\nimport { LooseObject } from \"services/types\";\nimport { OnboardingAction } from \"flows/Onboarding/services/domain\";\nimport { constVoid } from \"fp-ts/lib/function\";\nimport { reducer } from \"./reducer\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport type ComputePage = {\n state: RemoteOnboardingContextProps;\n replaceObject?: LooseObject;\n}\ninterface InitialContextOnboarding extends InitialContextState {\n state: RemoteOnboardingContextProps\n}\n\nexport const initialOnboardingState: RemoteOnboardingContextProps = {\n step: Step.ELIGIBILITY,\n applicationId: undefined,\n headerMetadata: {\n title: HEADER_TITLE.CURRENT_ACCOUNT,\n },\n knowYourCustomerData: {},\n knowYourCustomerTransactionData: {\n transactionTypes: [],\n countriesInvolved: [],\n otherCountriesIncomeSource: [],\n details: {}\n },\n selectedCard: {\n virtualCard: false,\n physicalCard: false,\n },\n selectedAccount: [],\n contractSigningError: false,\n [Step.PACKAGE_SELECTION]: {\n annexConsent: false\n },\n [Step.DATA_PRIVACY_CONSENT]: {\n dataPrivacyConsent: false,\n },\n geniusAccountCardData: {\n selectedAddress: '',\n password: '',\n },\n phoneNumber: \"\",\n selectedAccounts:[\"RON\"]\n}\n\nconst initialContextState: InitialContextOnboarding = {\n state: initialOnboardingState,\n dispatch: constVoid\n};\n\nconst RemoteOnboardingContext = React.createContext(initialContextState);\n\n\nexport function OnboardingProvider(props: ProviderProps & { initialState?: RemoteOnboardingContextProps }) {\n const [state, dispatch] = useReducer(reducer, props.initialState ? props.initialState : initialOnboardingState);\n const value = useMemo(() => ({ state, dispatch }), [state]);\n return (\n \n {props.children}\n \n );\n}\n\nfunction computePage(props: ComputePage) {\n const { state, replaceObject } = props;\n\n let page = state.step\n\n if (replaceObject && replaceObject.step) {\n page = replaceObject.step;\n }\n\n return page;\n}\n\nexport function createBaseTranslationKey(page: string) {\n let base = \"dbn.onboarding.\" + page;\n return function createKeyTranslation(key: string) {\n return base + key;\n }\n}\n\nconst {\n GO_TO_STEP,\n SET_HEADER_METADATA,\n KNOW_YOUR_CUSTOMER_DATA_UPDATE,\n KNOW_YOUR_CUSTOMER_TRANSACTION_DATA_UPDATE,\n SAVE_GENIUS_ACCOUNT_DATA,\n REPLACE_CONTEXT_PARTS,\n UPDATE_CONTRACT_SIGNING_ERROR,\n} = OnboardingAction;\n\nexport function useRemoteOnboardingContext() {\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const { state, dispatch } = useContext(RemoteOnboardingContext);\n\n const goToStep = useCallback((page: Step | null) => {\n dispatch({ type: GO_TO_STEP, value: page });\n }, [dispatch]);\n\n const setHeaderMetadata = useCallback((data: HeaderMetadata) => {\n dispatch({ type: SET_HEADER_METADATA, value: data });\n }, [dispatch]);\n\n const updateKnowYourCustomer = useCallback((knowYourCustomerData: KnowYourCustomerData) => {\n dispatch({ type: KNOW_YOUR_CUSTOMER_DATA_UPDATE, value: knowYourCustomerData });\n }, [dispatch]);\n\n const updateKnowYourCustomerTransaction = useCallback((knowYourCustomerTransactionData: KnowYourCustomerTransactionData) => {\n dispatch({ type: KNOW_YOUR_CUSTOMER_TRANSACTION_DATA_UPDATE, value: knowYourCustomerTransactionData });\n }, [dispatch]);\n\n const updateGeniusAccountData = useCallback((geniusAccountData: GeniusAccountCardData) => {\n dispatch({ type: SAVE_GENIUS_ACCOUNT_DATA, value: geniusAccountData });\n }, [dispatch]);\n\n const updateContext = useCallback((value: LooseObject) => {\n dispatch({ type: REPLACE_CONTEXT_PARTS, value });\n }, [dispatch]);\n\n const updateContractSigningError = useCallback((error: boolean) => {\n dispatch({ type: UPDATE_CONTRACT_SIGNING_ERROR, value: error });\n }, [dispatch]);\n\n return {\n ...state,\n formatMessageWithKey: (text: string, replaceObject?: LooseObject & { step?: string }) =>\n formatMessage(createBaseTranslationKey(computePage({ state, replaceObject }))(\".\" + text), replaceObject),\n formatRichTextMessageWithKey: (text: string, replaceObject?: LooseObject & { step?: string }) =>\n formatRichTextMessage(createBaseTranslationKey(computePage({ state, replaceObject }))(\".\" + text), replaceObject),\n goToStep,\n setHeaderMetadata,\n updateKnowYourCustomer,\n updateKnowYourCustomerTransaction,\n updateContext,\n updateContractSigningError,\n updateGeniusAccountData,\n };\n}","import {Method} from \"axios\";\nimport {useCallback, useState} from \"react\";\nimport {executeMultipleAxios} from \"../../../../services/axiosHook\";\nimport { LooseObject } from \"services/types\";\n\nconst createReportApiConfig = {\n url: \"ca-ro/reports/create\",\n method: \"post\" as Method,\n};\n\nexport type ReportRequest = {\n\treportCode: string;\n\tparams?: LooseObject;\n}\n\nexport const useReportsApi = () => {\n const [multiReportLoading, setMultiReportLoading] = useState(false);\n \n return {\n reportsLoading: multiReportLoading,\n createReports: useCallback((reportCodes: string[]) => {\n\t\t\tconst promisesConfig = reportCodes.map(code => ({...createReportApiConfig, data: {reportCode: code}}));\n\t\t\texecuteMultipleAxios({\n promisesConfig,\n onLoading: setMultiReportLoading\n })\n }, [])\n };\n};","import { createBaseTranslationKey, useRemoteOnboardingContext } from \"./remoteOnboardingContext\";\n\nimport useStepOptions from \"flows/Onboarding/services/useStepOptions\";\n\nexport default function useRemoteOnboardingStepOptions(customStep?: string) {\n const { step } = useRemoteOnboardingContext();\n return useStepOptions(createBaseTranslationKey(customStep ? customStep : step)(\"\"))\n}","import { AddressItemResponse } from \"./getCourierDeliveryAddressesApi\";\nimport { DELIVERY_ADDRESS_TYPE } from \"./domain\";\nimport { LooseObject } from \"services/types\";\nimport _ from \"lodash\";\n\nfunction checkAddressDetails(addressDetail: string | undefined) {\n return (!_.isEmpty(addressDetail) && addressDetail) ? (addressDetail + \", \") : \"\";\n}\n\nexport function computeAddressText(addressObject: AddressItemResponse, isDeliveryAddress?: boolean, placeholder?: string) {\n if (placeholder) {\n const addressKys = Object.keys(addressObject.address);\n let addressParts = placeholder.split(\",\");\n\n for (const key of addressKys) {\n const value = (addressObject.address as LooseObject)[key];\n if (!value) {\n addressParts = addressParts.filter(item => !item.includes(key));\n continue;\n }\n for(const item of addressParts){\n if (item.includes(key)) {\n addressParts[addressParts.indexOf(item)] = item.replace(`{${key}}`, value);\n }\n }\n }\n\n return addressParts.join(\",\")\n }\n const { street, streetNumber, apartmentNumber, postalCode, city, county, floor, blockNumber, blockEntrance } = addressObject.address;\n\n const doesAddressHaveNumberAndEntrance: boolean = blockNumber !== \"-\" && blockEntrance !== \"-\";\n\n const addressFormatWithoutNumberAndEntrance: string = `${street}, ${streetNumber}, ${checkAddressDetails(floor)}${checkAddressDetails(apartmentNumber)}${city}, ${county}, ${postalCode}`;\n const addressFormatWithNumberAndEntrance: string = `${street}, ${streetNumber}, ${checkAddressDetails(blockNumber)}${checkAddressDetails(blockEntrance)}${checkAddressDetails(floor)}${checkAddressDetails(apartmentNumber)}${city}, ${county}, ${postalCode}`;\n\n if (isDeliveryAddress === undefined) {\n return (doesAddressHaveNumberAndEntrance) ? addressFormatWithNumberAndEntrance : addressFormatWithoutNumberAndEntrance;\n }\n\n return (!isDeliveryAddress) ?\n addressFormatWithoutNumberAndEntrance : addressFormatWithNumberAndEntrance\n}\n\n\n\ntype computeAddressDataProps = {\n addressList: Array;\n formatMessageWithKey: (text: string, replaceObject?: LooseObject | undefined) => unknown\n}\n\nexport function computeAddressData({ addressList, formatMessageWithKey }: computeAddressDataProps) {\n const deliveryAddress = addressList.find(item => item.addressType === DELIVERY_ADDRESS_TYPE);\n return {\n addressList: addressList.map(item =>\n ({\n value: item.addressType,\n label: formatMessageWithKey(item.addressType) + computeAddressText(item),\n isDeliveryPossible: item.inRange\n })),\n ...(deliveryAddress ?\n {\n ...deliveryAddress.address,\n county: deliveryAddress.address.county + (_.isEmpty(deliveryAddress.address.sector) ? \"\" : \"_\" + deliveryAddress.address.sector)\n } :\n {\n county: \"\",\n city: \"\",\n street: \"\",\n streetNumber: \"\",\n blockNumber: \"\",\n blockEntrance: \"\",\n floor: \"\",\n apartmentNumber: \"\",\n postalCode: \"\"\n })\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\nconst deleteDeliveryAddressConfig = {\n url: \"ca-ro/deliveryAddresses/delete\",\n method: \"post\" as Method\n};\n\nexport function useDeleteDeliveryAddressApi() {\n\n const deleteDeliveryAddress = useCallback(( callbacks: ExecuteAxiosFunctions) => {\n executeAxios({\n params: deleteDeliveryAddressConfig,\n ...callbacks\n })\n }, [])\n\n return {\n deleteDeliveryAddress\n }\n}","import {SelectOption} from \"../../../../components/form/DropdownField\";\n\nexport type AddressItem = SelectOption & {isDeliveryPossible: boolean}\n\nexport const DELIVERY_ADDRESS_TYPE = \"DELIVERY\";\n\nexport const NEW_DELIVERY_ADDRESS_LABEL = \"New Delivery Address\";","import { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst getCourierDeliveryAddressesConfig = {\n url: \"/ca-ro/deliveryAddresses/get\",\n method: \"post\" as Method\n};\n\nexport type AddressObject = {\n apartmentNumber?: string;\n blockNumber: string;\n blockEntrance: string;\n city: string;\n sector: string;\n country: \"Romania\";\n county: string;\n floor: string;\n postalCode: string;\n street: string;\n streetNumber: string;\n}\n\nexport type AddressItemResponse = {\n address: AddressObject;\n addressType: string;\n inRange: boolean;\n}\n\nexport function useGetCourierDeliveryAddresses() {\n const [addressList, setAddressList] = useState>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n\n const getAddresses = useCallback((onSuccess?: (response: AddressItemResponse[]) => any) => {\n executeAxios({\n params: getCourierDeliveryAddressesConfig,\n onFail: setError,\n onLoading: setLoading,\n onSuccess: (response: Array) => {\n setAddressList(response);\n onSuccess && onSuccess(response);\n },\n })\n }, [])\n\n return {\n getAddresses,\n addressList,\n loading,\n error,\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\nconst saveDeliveryAddressConfig = {\n url: \"ca-ro/deliveryAddresses/save\",\n method: \"post\" as Method\n};\n\nexport type SaveDeliveryAddressRequest = {\n country: \"Romania\";\n county?: string;\n sector?: string;\n city?: string;\n street?: string;\n streetNumber?: string;\n blockNumber?: string;\n blockEntrance?: string;\n floor?: string;\n apartmentNumber?: string;\n postalCode?: string;\n}\n\nexport function useSaveDeliveryAddressApi() {\n\n const saveDeliveryAddress = useCallback((data: SaveDeliveryAddressRequest, callbacks: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...saveDeliveryAddressConfig, data },\n ...callbacks\n })\n }, [])\n\n return {\n saveDeliveryAddress\n }\n}","import { useCallback, useState } from \"react\";\n\nimport { GetDMSFilesListResponse } from \"./domain\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nexport const getDMSDocumentsListConfig = {\n url: \"/ca-ro/reports/dms/documentsList\",\n method: \"POST\" as Method,\n};\nexport const getDMSFilesListConfig = {\n url: \"/ca-ro/reports/consent/filesList\",\n method: \"POST\" as Method,\n};\n\nfunction computeResponse(response: GetDMSFilesListResponse){\n function removeExtensions(name: string){\n const segments = name.split(\".\");\n segments.pop();// The last segment should be the extension \n return segments.join(\".\");\n }\n return response.map(item => {\n return{\n ...item,\n fileName: removeExtensions(item.fileName)\n }\n });\n}\n\nexport function useGetDMSFilesList(config: { url: string, method: Method }) {\n const [loading, setLoading] = useState(true);\n const [documents, setDocuments] = useState([]);\n const [error, setError] = useState();\n\n const getDMSFilesList = useCallback((documentsCategory: string[]) => {\n executeAxios({\n params: { ...config, data: documentsCategory },\n onSuccess: (response: GetDMSFilesListResponse) => setDocuments(computeResponse(response)),\n onLoading: setLoading,\n onFail: setError\n })\n }, [config])\n return {\n getDMSFilesList,\n documents,\n loading,\n error\n }\n}","import {\n ValidationProps,\n executeValidation,\n} from \"services/formikValidations\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport useGetAddressData, { StreetDataProps } from \"flows/services/addressesApi\";\n\nimport { AddressValues } from \"./domain\";\nimport { SelectOption } from \"components/form/DropdownField\";\nimport { Step } from \"flows/Onboarding/remote/services/domain\";\nimport _ from \"lodash\";\nimport { createBaseTranslationKey } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormikContext } from \"formik\";\n\nexport type LocationItem = SelectOption & { postalCode: string };\n\nexport const BUCHAREST_CITY: LocationItem = { value: \"42\", label: \"\", postalCode: \"\" };\nexport const regExpSpecialSymbolsAddress: RegExp = /^[a-zA-Z0-9,/.-]*$/;\n\nconst validations: (ValidationProps[]) = [\n { name: \"county\", checkEmpty: true },\n { name: \"city\", checkEmpty: true },\n { name: \"street\", checkEmpty: true, maxLength: 26 },\n { name: \"number\", checkEmpty: true, maxLength: 6, applyRegex: regExpSpecialSymbolsAddress },\n { name: \"postalCode\", checkEmpty: true, checkNumerical: true, eqLength: 6 },\n { name: \"block\", checkAlphaNumerical: true, maxLength: 4 },\n { name: \"entrance\", maxLength: 4, applyRegex: regExpSpecialSymbolsAddress },\n { name: \"floor\", maxLength: 2, checkAlphaNumerical: true },\n { name: \"apartment\", maxLength: 3, applyRegex: regExpSpecialSymbolsAddress },\n];\n\nexport const computeAddressValidations = (customValidation?: ValidationProps[]) => {\n if (!customValidation) {\n return validations;\n }\n\n let newValidations = [...validations];\n for (const condition of customValidation) {\n newValidations = newValidations.filter(item => item.name !== condition.name);\n newValidations.push(condition);\n }\n return newValidations\n}\n\nexport function formValidation(values: AddressValues, customValidation?: ValidationProps[]) {\n const generateKey = createBaseTranslationKey(Step.DATA_SUMMARY_SECOND_PART + \".address\");\n return executeValidation(customValidation || validations, values, generateKey);\n}\n\nconst validationsBranch: (ValidationProps[]) = [\n { name: \"county\", checkEmpty: true },\n { name: \"city\", checkEmpty: true },\n { name: \"street\", checkEmpty: true, maxLength: 26 },\n { name: \"number\", checkEmpty: true, checkEmoji: true, maxLength: 6, applyRegex: regExpSpecialSymbolsAddress },\n { name: \"postalCode\", checkEmpty: true, checkNumerical: true, eqLength: 6 },\n { name: \"block\", checkAlphaNumerical: true, maxLength: 4 },\n { name: \"entrance\", checkEmoji: true, maxLength: 4, applyRegex: regExpSpecialSymbolsAddress },\n { name: \"floor\", checkAlphaNumerical: true, maxLength: 2 },\n { name: \"apartment\", checkEmoji: true, maxLength: 3, applyRegex: regExpSpecialSymbolsAddress },\n];\n\nexport function formValidationBranch(values: AddressValues) {\n const generateKey = createBaseTranslationKey(Step.DATA_SUMMARY_SECOND_PART + \".address\");\n return executeValidation(validationsBranch, values, generateKey);\n}\n\ntype ComputeSuggestionsDetails = {\n maxLength: number;\n formatMessage: any;\n}\n\nexport function computeSuggestions(streets: Array, street: string, details?: ComputeSuggestionsDetails) {\n if (!streets) {\n return [];\n }\n\n if (details && streets.length >= details.maxLength) {\n return [{\n value: street,\n label: details.formatMessage(\"writeMoreToShow\")\n }]\n }\n\n return streets.map(item => ({\n value: item.label,\n label: <>{\n street ? item.label\n .split(street)\n .map((parts, index, array) => (\n <>\n {parts}{index !== array.length - 1 && (\n {street}\n )}\n \n ))\n : item.label\n }\n }))\n}\n\ntype GetStreetsDebounce = {\n city: string | undefined;\n street: string | undefined;\n county: string | undefined;\n getStreets: Function;\n}\n\ntype ExecuteStreetsDebounce = GetStreetsDebounce & {\n setStreets: (value: React.SetStateAction<(SelectOption & {\n postalCode: string;\n })[]>) => void\n}\n\nfunction executeStreetsDebounce(props: ExecuteStreetsDebounce) {\n const { city, street, county, getStreets, setStreets } = props;\n if (!_.isEmpty(city) && !_.isEmpty(county) && street) {\n if (county?.includes(\"~\" + BUCHAREST_CITY.value)) {\n getStreets({ cityId: county.replace(\"~\" + BUCHAREST_CITY.value, \"\"), countyId: city, searchTerm: street }, setStreets);\n return;\n }\n getStreets({ cityId: city, countyId: county, searchTerm: street }, setStreets);\n } else {\n setStreets([]);\n }\n}\n\ntype AddressDataLogicProps = {\n county: string;\n city: string;\n street: string;\n}\n\nexport function useAddressDataLogic(props: AddressDataLogicProps) {\n const { city, county, street } = props;\n const { loading, postalCodes, counties, cities, streets,\n getCountiesAndSectors, getCities, getStreets, getPostalCodes,\n setCities, setStreets } = useGetAddressData();\n const { setValues, handleSubmit } = useFormikContext();\n\n useEffect(getCountiesAndSectors, [getCountiesAndSectors]);\n\n useEffect(() => {\n if (_.isEmpty(county)) {\n return;\n }\n if (county.includes(\"~\" + BUCHAREST_CITY.value)) {\n setCities([BUCHAREST_CITY])\n return;\n }\n getCities({ countyId: county });\n\n }, [county, getCities, setCities, setValues]);\n\n const getStreetsDebounce = useMemo(() =>\n _.debounce((streetsProps: GetStreetsDebounce) => {\n executeStreetsDebounce({ ...streetsProps, setStreets });\n }, 1000),\n [setStreets]\n );\n\n function generateResetItem(key: string) {\n return {\n when: (newValue: string | undefined) => newValue !== county,\n key,\n value: \"\"\n };\n }\n\n useEffect(() => {\n getStreetsDebounce({ city, street, county, getStreets });\n }, [city, street, county, getStreets, getStreetsDebounce]);\n\n const onSubmit = useCallback(() => {\n const countyLabel = counties.find(item => item.value === county)?.label;\n const cityLabel = cities.find(item => item.value === city)?.label;\n\n if (countyLabel && cityLabel) {\n setValues(previous => ({\n ...previous,\n countyLabel,\n cityLabel,\n }))\n }\n\n handleSubmit();\n }, [setValues, handleSubmit, cities, city, counties, county])\n\n const onStreetBlurDebounce = useMemo(() => _.debounce((data: StreetDataProps) => {\n const countyId = data.countyId?.replace(\"~\" + BUCHAREST_CITY.value, \"\");\n if (_.isEmpty(countyId) || _.isEmpty(data.cityId)) {\n return;\n }\n getPostalCodes({ countyId, searchTerm: data.searchTerm, cityId: data.cityId });\n }, 1000), [getPostalCodes])\n\n const onStreetBlur = useCallback((data: StreetDataProps) => {\n onStreetBlurDebounce(data);\n }, [onStreetBlurDebounce]);\n\n useEffect(() => {\n onStreetBlurDebounce({ countyId: county, searchTerm: street, cityId: city })\n }, [county, street, city, onStreetBlurDebounce])\n\n return {\n loading,\n cities,\n streets,\n counties,\n generateResetItem,\n onSubmit,\n onStreetBlur,\n postalCodes\n }\n}","export type OcrDataSummaryResponse = {\n responseCompleted: boolean;\n name: string;\n surname: string;\n cnp: string;\n placeOfBirth: string;\n placeOfBirthCity: string,\n placeOfBirthCountyId: string,\n icDocumentNumber: string;\n icDocumentSeries: string;\n icSeriesAndNumber: string;\n issuesAuthority: string;\n issueDate: string;\n expiryDate: string;\n county: string;\n countyId: string;\n city: string;\n sector: string;\n street: string;\n number: string;\n block: string;\n entrance: string;\n floor: string;\n apartment: string;\n postalCodes: string[];\n}\n\nexport type AddressValues = {\n county: string;\n countyLabel: string;\n city: string;\n cityLabel: string;\n street: string;\n number: string;\n block: string;\n entrance: string;\n floor: string;\n apartment: string;\n postalCode: string;\n postalAddressSameAs: string;\n}\n\nexport const POSTAL_ADDRESS = {\n HOME: \"HOME_ADDRESS\",\n RESIDENCE: \"RESIDENCE_ADDRESS\"\n}","import { useCallback, useState } from \"react\"\n\nimport { Method } from \"axios\";\nimport { OcrDataSummaryResponse } from \"./domain\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst dataSummaryFirstPartConfig = {\n url: \"/clients-ro/ocr/dataSummary/get\",\n method: \"POST\" as Method\n}\n\nexport function useOcrDataSummary(parseResponse?: (data: OcrDataSummaryResponse) => OcrDataSummaryResponse) {\n const [ocrDataSummary, setOcrDataSummary] = useState();\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n\n const getDataSummary = useCallback(() => {\n executeAxios({\n params: dataSummaryFirstPartConfig,\n onSuccess: (response: OcrDataSummaryResponse) => setOcrDataSummary(parseResponse ? parseResponse(response) : response),\n onLoading: setLoading,\n onFail: setError\n })\n }, [parseResponse]);\n\n return {\n getDataSummary,\n ocrDataSummary,\n setOcrDataSummary,\n loading,\n error\n }\n}","import { useCallback, useState } from \"react\";\n\nimport { AddressValues } from \"./domain\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst saveDataSummaryAddressConfig = {\n url: \"/clients-ro/ocr/dataSummary/save\",\n method: \"POST\" as Method\n}\n\ntype SaveDataSummaryAddressRequest = {\n homePostalCode: string;\n sameHomeAndResidenceAddress: boolean;\n residenceAddress?: AddressValues;\n branch?: boolean;\n placeOfBirth?:string;\n issueAuthority?: string;\n issueDate?: string;\n expiryDate?: string;\n homeAddress?: AddressValues;\n}\n\nexport default function useSaveDataSummaryAddress() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n \n const saveDataSummaryAddress = useCallback((data: SaveDataSummaryAddressRequest, onSuccess: any) => {\n executeAxios({\n params: {...saveDataSummaryAddressConfig, data},\n onSuccess,\n onFail: setError,\n onLoading: setLoading\n });\n }, [])\n return {\n saveDataSummaryAddress,\n loading,\n error,\n };\n}","export enum OnboardingAction {\n GO_TO_STEP = \"goToStep\",\n SET_HEADER_METADATA = \"setHeaderMetadata\",\n KNOW_YOUR_CUSTOMER_DATA_UPDATE = \"knowYourCustomerDataUpdate\",\n KNOW_YOUR_CUSTOMER_TRANSACTION_DATA_UPDATE = \"knowYourCustomerTransactionDataUpdate\",\n SAVE_GENIUS_ACCOUNT_DATA = \"saveGeniusAccountData\",\n REPLACE_CONTEXT_PARTS = \"replaceContextParts\",\n UPDATE_CONTRACT_SIGNING_ERROR = \"updateContractSigningError\",\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\n\nexport type GenerateOtpRequest = {\n email: string;\n}\n\nexport type GenerateOtpResponse = {\n contactData: string;\n contactDataOtpRemainingGenerations: number;\n allContactDataOtpRemainingGenerations: Record\n totalOtpRemainingGenerations: number;\n}\n\nconst generateOtpConfig = {\n url: \"/ca-ro/otp/email/generate\",\n method: \"POST\" as Method,\n};\n\nexport function useGenerateOtp() {\n const [response, setResponse] = useState();\n\n const generateOtp = useCallback(({ email }: GenerateOtpRequest, callbacks: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...generateOtpConfig, data: { email } },\n ...callbacks,\n onSuccess: (data: GenerateOtpResponse) => {\n setResponse(data);\n callbacks.onSuccess && callbacks.onSuccess(data);\n }\n })\n }, [])\n return {\n generateOtp,\n setResponse,\n response,\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\n\nexport type ResendOtpResponse = {\n contactData: string;\n contactDataOtpRemainingGenerations: number;\n allContactDataOtpRemainingGenerations: Record\n totalOtpRemainingGenerations: number;\n}\n\nconst resendOtpConfig = {\n url: \"/ca-ro/otp/email/resend\",\n method: \"POST\" as Method,\n};\n\nexport function useResendOtp() {\n const [response, setResponse] = useState();\n\n const resendOtp = useCallback(({ onSuccess, onFail, onLoading }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: resendOtpConfig,\n onSuccess: (data: ResendOtpResponse) => {\n setResponse(data);\n onSuccess && onSuccess(data);\n },\n onFail,\n onLoading\n });\n }, [])\n return {\n resendOtp,\n response\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\nexport type ValidateOtpRequest = {\n otp: string;\n}\n\nexport type ValidateOtpResponse = {\n otpCodeExpired: boolean;\n otpIsValid: boolean;\n otpRemainingValidations: number;\n}\n\n\nconst validateOtpConfig = {\n url: \"/ca-ro/otp/email/validate\",\n method: \"POST\" as Method,\n};\n\nexport function useValidateOtp() {\n return {\n validateOtp: useCallback(({ otp }: ValidateOtpRequest, { onSuccess, onFail, onLoading }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...validateOtpConfig, data: { otp } },\n onSuccess,\n onFail,\n onLoading\n })\n }, [])\n }\n}","import { useCallback, useEffect } from \"react\";\n\nimport { ExecuteAxiosFunctions } from \"services/axiosHook\";\nimport changeAuthToPotentialClient from \"flows/Onboarding/remote/services/changeAuthToPotentialClient\";\nimport { sessionStorageData } from \"services/storageData\";\nimport useCloseUnfinishedApi from \"./useCloseUnfinishedApi\";\nimport { useLoadingPipeline } from \"helper/loadingPipeline\";\nimport useResignKeepClient from \"./useResignKeepClient\";\n\ntype Props = {\n onNext: () => unknown;\n applicationId: string;\n doResign?: boolean;\n}\n\nexport default function useCancelApplication(props: Props) {\n const { onNext, applicationId, doResign = true } = props;\n const { loading, handleLoading } = useLoadingPipeline();\n const { loading: closeUnfinishedLoading, closeUnfinished } = useCloseUnfinishedApi();\n const { loading: resignKeepClientLoading, resignKeepClient } = useResignKeepClient();\n\n useEffect(() => {\n handleLoading(\"closeUnfinishedLoading\")(closeUnfinishedLoading);\n }, [handleLoading, closeUnfinishedLoading])\n\n useEffect(() => {\n handleLoading(\"resignKeepClientLoading\")(resignKeepClientLoading);\n }, [handleLoading, resignKeepClientLoading])\n\n const onSuccessCancelApplication = useCallback((resolve: (isSuccessfully: boolean) => any) => {\n if (!doResign) {\n onNext();\n return\n }\n \n resignKeepClient({\n onSuccess: (flowId: string) => {\n handleLoading(\"changeAuthToPotentialClient\")(true);\n sessionStorageData.setItem(\"flowId\", flowId);\n changeAuthToPotentialClient(() => {\n handleLoading(\"changeAuthToPotentialClient\")(false);\n onNext();\n })\n },\n onFail: () => resolve(false)\n })\n }, [resignKeepClient,onNext,handleLoading, doResign])\n\n const cancelApplication = useCallback((resolve: (isSuccessfully: boolean) => any, callbacks?: ExecuteAxiosFunctions) => {\n closeUnfinished({\n onSuccess: () => onSuccessCancelApplication(resolve),\n onFail: () => resolve(false),\n ...(callbacks ?? {})\n }, applicationId)\n }, [onSuccessCancelApplication, closeUnfinished, applicationId])\n\n return {\n cancelApplication,\n loading\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\n\nconst closeUnfinishedConfig = {\n url: \"/ca-ro/closeUnfinished\",\n method: \"post\" as Method,\n};\n\nexport default function useCloseUnfinishedApi() {\n const [loading, setLoading] = useState(false);\n\n const closeUnfinished = useCallback((callback: ExecuteAxiosFunctions, applicationId?: string) => {\n executeAxios({\n params: { ...closeUnfinishedConfig, data: { applicationId } },\n onLoading: setLoading,\n ...callback\n })\n }, []);\n\n return {\n closeUnfinished,\n loading\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\n\nconst resignKeepClientConfig = {\n url: \"/ca-ro/reassignKeepClient\",\n method: \"post\" as Method,\n};\n\nexport default function useResignKeepClient() {\n const [loading, setLoading] = useState(false);\n\n const resignKeepClient = useCallback((callback: ExecuteAxiosFunctions) => {\n executeAxios({\n params: resignKeepClientConfig,\n onLoading: setLoading,\n ...callback\n })\n }, [])\n\n return {\n resignKeepClient,\n loading,\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { GeniusAccountCardData, KnowYourCustomerTransactionData } from \"../../remote/services/domain\";\nimport { useCallback, useState } from \"react\";\n\nimport { KnowYourCustomerData } from \"flows/Onboarding/services/knowYourCustomer/domain\";\nimport { Method } from \"axios\";\nimport { SelectedCards } from \"../../remote/pages/cardSelection/services/domain\";\n\nconst resumeConfig = {\n url: \"/ca-ro/resume\",\n method: \"post\" as Method,\n};\n\nexport type ResumeResponse = {\n step: string;\n status: string;\n additionalData: KnowYourCustomerData;\n transactionAdditionalData: KnowYourCustomerTransactionData;\n selectedCards: SelectedCards;\n geniusAccountCardData: GeniusAccountCardData;\n}\n\nexport const useResumeApi = () => {\n const [loading, setLoading] = useState(false);\n\n const resumeApi = useCallback((applicationId: string, callback: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...resumeConfig, data: { applicationId } },\n onLoading: setLoading,\n ...callback\n })\n }, []);\n\n return {\n loading,\n resumeApi\n };\n};","import { ResumeResponse, useResumeApi } from \"./useResumeApi\";\nimport { useCallback, useState } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { Step } from \"flows/Onboarding/remote/services/domain\";\nimport changeAuthToPotentialClient from \"flows/Onboarding/remote/services/changeAuthToPotentialClient\";\nimport { useRemoteOnboardingContext } from \"flows/Onboarding/remote/services/remoteOnboardingContext\";\n\nconst mapResponseToContext: LooseObject = {\n selectedCards: \"selectedCard\",\n additionalData: \"knowYourCustomerData\",\n transactionAdditionalData: \"knowYourCustomerTransactionData\",\n geniusAccountCardData: \"geniusAccountCardData\",\n gdprConsents: \"marketingConsents\",\n step: \"step\",\n}\n\ntype Props = {\n onResume: (page: Step, doStep?: boolean) => () => void,\n applicationId: string;\n}\n\nfunction mapKeys(newContextData: LooseObject, response: ResumeResponse, key: keyof ResumeResponse){\n const contextKey = mapResponseToContext[key];\n const part:any = response[key]\n if(contextKey === mapResponseToContext.selectedCards){\n let selectedAccount:LooseObject = {};\n if(part.physicalCurrency){\n selectedAccount.physicalCard = part.physicalCurrency;\n delete part.physicalCurrency;\n }\n\n if(part.virtualCurrency){\n selectedAccount.virtualCard = part.virtualCurrency;\n delete part.virtualCurrency;\n }\n if(Object.keys(selectedAccount).length){\n newContextData.selectedAccount = selectedAccount;\n }\n }\n newContextData[contextKey] = part;\n}\n\nexport function useResumeApplication(props: Props) {\n const { loading, resumeApi } = useResumeApi();\n const { updateContext } = useRemoteOnboardingContext();\n const { applicationId, onResume } = props;\n\n const [applicationClosed, setApplicationClosed] = useState(false);\n\n const resumeApplication = useCallback((resolve: (isSuccessfully: boolean) => void) => {\n resumeApi(applicationId, {\n onSuccess: (response: ResumeResponse) => {\n const newContextData: LooseObject = { applicationId };\n (Object.keys(mapResponseToContext) as (keyof ResumeResponse)[])\n .filter(key => !!response[key])\n .forEach(key => mapKeys(newContextData, response, key))\n if (Object.values(Step).includes(newContextData.step)) {\n changeAuthToPotentialClient(() => {\n updateContext(newContextData);\n onResume(newContextData.step, false)()\n })\n } else {\n setApplicationClosed(true);\n }\n\n resolve(true);\n },\n onFail: () => resolve(false)\n })\n }, [resumeApi, updateContext, onResume, applicationId]);\n\n return {\n loading,\n resumeApplication,\n applicationClosed\n };\n}","import { FeedbackUrls } from \"pages/Feedback/services/feedbackApi\";\n\nexport const FEEDBACK_URLS: FeedbackUrls = {\n getUrl: \"/ca-ro/feedback/reasons\",\n saveUrl: \"/ca-ro/feedback/save\"\n}\n\nexport const FINISHED_UNHAPPY = \"FINISHED_UNHAPPY\";\nexport const FINISHED_HAPPY = \"FINISHED_HAPPY\";","import { LocalizedString } from \"omnichannel-design-system\";\n\nexport enum ProfessionalStatus {\n EMPLOYEE,\n RETIRED,\n ASSOCIATE,\n FREELANCER,\n STUDENT,\n UNEMPLOYED,\n}\nexport enum SourceOfFunds {\n SALARY,\n PENSION,\n LOAN,\n DIVIDENDS,\n DONATION,\n REAL_ESTATE,\n SAVINGS,\n INHERITANCE,\n SHARES_OR_INVESTMENTS,\n LIFE_INSURANCE\n}\n\nexport enum PurposeOfRelationship {\n SALARY_COLLECTION,\n CURRENT_OPERATIONS,\n CONTRACTING_LOANS,\n SAVINGS_DEPOSIT\n}\n\nexport type KnowYourCustomerValues = {\n professionalStatus: string,\n occupation: string,\n currentEmployer: string,\n sourceOfFunds: string[],\n purposeBankRelationship: string[]\n}\n\ntype OptionItem = {\n value: string;\n label: LocalizedString;\n}\n\nexport type KnowYourCustomerProps = {\n onSubmit: (values: any) => unknown;\n initialValues?: KnowYourCustomerValues;\n professionalStatusOptionsList: Array;\n sourceOfFundsOptionsList: Array;\n purposeOfRelationshipOptionsList: Array;\n limits: {\n [key: string]: { min: number, max: number }\n }\n}\n\nexport type KnowYourCustomerData = {\n professionalStatus?: string,\n occupation?: string,\n currentEmployer?: string,\n sourceOfFunds?: string[],\n sourceOfWealth?: string[],\n purposeBankRelationship?: string[],\n}\n\nexport const EMPLOYEE = ProfessionalStatus[ProfessionalStatus.EMPLOYEE].toString();\nexport const FREELANCER = ProfessionalStatus[ProfessionalStatus.FREELANCER].toString();\nexport const ASSOCIATE = ProfessionalStatus[ProfessionalStatus.ASSOCIATE].toString();\n\nexport const PROFESSIONAL_STATUS_PREFIX = \"dbn.onboarding.professionalStatus.\";\nexport const SOURCE_OF_FUNDS_PREFIX = \"dbn.onboarding.sourceOfFunds.\";\nexport const PURPOSE_OF_RELATIONSHIP_PREFIX = \"dbn.onboarding.purposeOfRelationship.\";","import { AxiosRequestConfig, Method } from \"axios\";\nimport { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { useCallback } from \"react\";\n\nconst saveMainAdditionalConfig = {\n url: \"/ca-ro/additionalData/main/save\",\n method: \"post\" as Method\n};\n\nexport default function useSaveMainAdditionalData() {\n\n const saveMainAdditionalData = useCallback((apiConfig: AxiosRequestConfig, { onSuccess, onFail }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...saveMainAdditionalConfig, ...apiConfig },\n onSuccess,\n onFail\n })\n }, [])\n\n return {\n saveMainAdditionalData\n };\n}","import { ASSOCIATE, EMPLOYEE, FREELANCER, KnowYourCustomerValues } from \"./domain\";\n\nimport { FormikErrors } from \"formik\";\nimport { LooseObject } from \"services/types\";\nimport _ from \"lodash\";\nimport { useCallback } from \"react\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype TextFiledDetails = {\n max: number;\n min: number;\n}\n\nexport function validateTextField(errors: FormikErrors, values: KnowYourCustomerValues, valueName: keyof KnowYourCustomerValues, details: TextFiledDetails) {\n if (_.isEmpty(values[valueName])) {\n errors[valueName] = valueName + \".empty.error\";\n } else if (values[valueName].length < details.min) {\n errors[valueName] = valueName + \".tooShort.error\";\n } else if (values[valueName].length > details.max) {\n errors[valueName] = valueName + \".tooLong.error\";\n } else if (values[valueName] && /\\p{Emoji}/u.test(values[valueName] as string) && /\\p{Extended_Pictographic}/u.test((values[valueName] as string))) {\n errors[valueName] = valueName + \".emojiNotValid.error\";\n }\n}\n\nexport function formValidation(values: KnowYourCustomerValues, props: any) {\n let errors: FormikErrors = {};\n const { professionalStatus, purposeBankRelationship, sourceOfFunds } = values;\n\n if (_.isEmpty(professionalStatus)) {\n errors.professionalStatus = \"professionalStatus.empty.error\";\n }\n\n if ([EMPLOYEE, ASSOCIATE, FREELANCER].includes(values.professionalStatus)) {\n validateTextField(errors, values, \"occupation\", props.limits?.occupation );\n }\n\n if (professionalStatus === EMPLOYEE) {\n validateTextField(errors, values, \"currentEmployer\", props.limits?.currentEmployer ? props.limits.currentEmployer : { min: 3, max: 40 });\n }\n\n if (_.isEmpty(purposeBankRelationship)) {\n errors.purposeBankRelationship = \"purposeBankRelationship.empty.error\";\n }\n\n if (_.isEmpty(sourceOfFunds)) {\n errors.sourceOfFunds = \"sourceOfFunds.empty.error\";\n }\n\n return errors;\n}\n\nexport function useComputeOptionList() {\n const { formatMessage } = useFormatMessage();\n\n const computeOptionList = useCallback((labelPrefix: string, optionsObject: LooseObject) =>\n Object.keys(optionsObject)\n .filter(key => !isNaN(Number(key)))\n .map(key => {\n return {\n value: optionsObject[Number(key)].toString(),\n label: formatMessage(labelPrefix + optionsObject[Number(key)].toLowerCase())\n }\n }),\n [formatMessage]);\n\n return {\n computeOptionList\n }\n}","import { LocalizedString } from \"omnichannel-design-system\";\nimport { LooseObject } from \"services/types\";\n\nexport type KnowYourCustomerTransactionValues = {\n kindOfTransactions: string[],\n countriesInternationalTransaction: string[],\n sourceOfIncomeFromOtherCountries: string[],\n cashNumber?: number;\n cashVolume?: number;\n bankNumber?: number;\n bankVolume?: number;\n internationalNumber?: number;\n internationalVolume?: number;\n}\n\nexport type OptionItem = {\n value: string;\n label: string;\n}\n\nexport type KnowYourCustomerTransactionsProps = {\n onSubmit: (values: any) => unknown;\n onBlocked: () => unknown;\n initialValues?: KnowYourCustomerTransactionValues;\n kindOfTransactionsOptionsList: Array;\n countriesOptionsList: Array;\n formatMessageWithKey: (text: string, replaceObject?: LooseObject) => LocalizedString;\n}\n\nexport const INTERNATIONAL_ACCOUNTS = \"INTERNATIONAL_ACCOUNTS\";\nexport const PAYMENT_ORDER = \"PAYMENT_ORDER\";\nexport const CASH = \"CASH\";\nexport const TRANSACTION_VALUES: Record = {\n [INTERNATIONAL_ACCOUNTS]: {\n volume: \"internationalVolume\",\n number: \"internationalNumber\"\n },\n [PAYMENT_ORDER]: {\n volume: \"bankVolume\",\n number: \"bankNumber\"\n },\n [CASH]: {\n volume: \"cashVolume\",\n number: \"cashNumber\"\n }\n}\nexport const DEFAULT_NUMBER_OF_TRANSACTIONS = 8;\nexport const DEFAULT_VOLUME_OF_TRANSACTIONS = 1300;\n\nexport enum TransactionAdditionalDataStatus {\n OK = \"OK\",\n HIGH_RISK_COUNTRY = \"HIGH_RISK_COUNTRY\",\n}\n\nexport const NOT_APPLICABLE = \"-1\";","import { useCallback, useEffect, useState } from \"react\";\n\nimport { Method } from \"axios\";\nimport { SelectOption } from \"components/form/DropdownField\";\nimport { executeMultipleAxios } from \"services/axiosHook\";\n\nconst getCountriesConfig = {\n url: \"/ca-ro/countries\",\n method: \"post\" as Method,\n};\n\nconst getKindOfTransactionsConfig = {\n url: \"/ca-ro/additionalData/transaction/list\",\n method: \"post\" as Method,\n}\n\nconst ROMANIA_CODE = '106';\n\nfunction isNotRomania(code: string) {\n return code !== ROMANIA_CODE;\n}\n\nexport function useKycTransactionData() {\n const [countryList, setCountryList] = useState>([]);\n const [transactionKindList, setTransactionKindList] = useState>([])\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const getInitialData = useCallback(() => {\n executeMultipleAxios({\n promisesConfig: [\n getCountriesConfig,\n getKindOfTransactionsConfig,\n ],\n onFail: setError,\n onLoading: setLoading,\n onSuccess: (responseArray: any[]) => {\n if (responseArray[0] && responseArray[0].data.countryList) {\n setCountryList(\n responseArray[0].data.countryList\n .filter((item: { code: string }) => isNotRomania(item.code))\n .map((item: { code: string; name: string }) =>\n ({value: item.code, label: item.name})\n ).sort((item1: SelectOption, item2: SelectOption) => item1.label.localeCompare(item2.label))\n );\n }\n\n const transactionKind = responseArray[1]?.data;\n transactionKind && setTransactionKindList(\n\t\t\t\t\ttransactionKind.map((item: string) => ({value: item, label: item}))\n );\n }\n })\n }, []);\n\n useEffect(getInitialData, [getInitialData]);\n\n return {\n countryList,\n transactionKindList,\n loading,\n error,\n }\n}","import { AxiosRequestConfig, Method } from \"axios\";\nimport { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { KnowYourCustomerTransactionData } from \"../../remote/services/domain\";\nimport { TransactionAdditionalDataStatus } from \"./domain\";\nimport { useCallback } from \"react\";\n\ntype TransactionAdditionalDataResponse = {\n status: TransactionAdditionalDataStatus\n}\n\ntype Config = AxiosRequestConfig & {\n data: KnowYourCustomerTransactionData\n}\n\nconst saveTransactionAdditionalDataConfig: Config = {\n url: \"/ca-ro/additionalData/transaction/save\",\n method: \"post\" as Method,\n data: {\n transactionTypes: [],\n countriesInvolved: [],\n otherCountriesIncomeSource: [],\n details: {}\n }\n};\n\ntype TransactionAdditionalData = ExecuteAxiosFunctions & {\n onSuccess: (status: TransactionAdditionalDataResponse) => unknown\n}\nexport const useTransactionAdditionalDataApi = () => {\n\n const saveTransactionAdditionalData = useCallback((apiConfig: Config, { onSuccess, onFail }: TransactionAdditionalData) => {\n executeAxios({\n params: { ...saveTransactionAdditionalDataConfig, ...apiConfig },\n onSuccess,\n onFail\n })\n }, [])\n\n return {\n saveTransactionAdditionalData\n };\n};","import { NOT_APPLICABLE } from \"./domain\";\n\nexport function onDisableSourceOfIncomeOptions(intermediarySelection: string[], optionValue: string): boolean {\n if (!intermediarySelection.length) {\n return false;\n }\n if (intermediarySelection.includes(NOT_APPLICABLE)) {\n return optionValue !== NOT_APPLICABLE;\n }\n return optionValue === NOT_APPLICABLE\n}","import { useCallback, useState } from \"react\";\n\nimport { KYC_STATUS } from \"../../remote/pages/kycPendingResults/services/domain\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst checkKycConfig = {\n url: \"/ca-ro/kyc/evaluationResult\",\n method: \"post\" as Method,\n}\n\ntype Response = {\n status: KYC_STATUS\n}\n\nexport function useGetCheckKycStatus() {\n const [loading, setLoading] = useState(false);\n const [status, setStatus] = useState(KYC_STATUS.PENDING);\n\n const getKycStatus = useCallback((onSuccess?: (data: Response) => unknown) => {\n executeAxios({\n params: checkKycConfig,\n onSuccess:(response: Response) => {\n onSuccess && onSuccess(response);\n setStatus(response.status);\n },\n onLoading: setLoading\n })\n }, []);\n\n return {\n getKycStatus,\n loading,\n status,\n }\n}\n","import { useCallback, useState } from \"react\";\n\nimport { MANUAL_INTERVENTION_STATUS } from \"../../remote/pages/kycPendingResults/services/domain\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst checkManualInterventionStatusConfig = {\n url: \"/ca-ro/manualIntervention/status\",\n method: \"post\" as Method,\n}\n\nexport function useGetManualInterventionStatus() {\n const [loading, setLoading] = useState(false);\n const [status, setStatus] = useState(MANUAL_INTERVENTION_STATUS.PENDING);\n\n const getManualInterventionStatus = useCallback((onSuccess?: (status: MANUAL_INTERVENTION_STATUS) => void) => {\n executeAxios({\n params: checkManualInterventionStatusConfig,\n onSuccess: (status: MANUAL_INTERVENTION_STATUS) => {\n onSuccess && onSuccess(status);\n setStatus(status);\n },\n onLoading: setLoading\n })\n }, []);\n\n return {\n getManualInterventionStatus,\n loading,\n status,\n }\n}\n","import { LooseObject } from \"services/types\";\n\nexport enum CommunicationChannelType {\n ALL_CHANNELS_SELECTED = \"allChannelsSelected\",\n PHONE_MESSAGE = \"phoneMessage\",\n EMAIL = \"email\",\n PHONE_CALL = \"phoneCall\",\n MOBILE_AND_ONLINE_BANKING = \"mobileAndOnlineBanking\",\n MAILBOX = \"mailbox\"\n}\n\nexport interface CommunicationChannelsConsents extends LooseObject {\n allChannelsSelected: boolean;\n phoneMessageConsent: boolean,\n emailConsent: boolean,\n phoneCallConsent: boolean,\n mobileAndOnlineBankingConsent: boolean,\n mailboxConsent: boolean\n}","import { useEffect, useState } from \"react\";\n\nimport { MarketingConsentsChecks } from \"../../remote/pages/marketingConsents/MarketingConsents\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nexport type GDPRConsents = {\n marketingUnicreditBank?: boolean,\n marketingUnicreditConsumerFinancing: boolean,\n marketingUnicreditLeasing: boolean,\n marketingUnicreditInsuranceBroker: boolean,\n marketingUnicreditFleetManagement: boolean,\n thirdPartiesUnicredit?: boolean,\n thirdPartiesUnicreditConsumerFinancing: boolean,\n thirdPartiesUnicreditLeasing: boolean,\n thirdPartiesUnicreditInsuranceBroker: boolean,\n thirdPartiesUnicreditFleetManagement: boolean,\n channelsSms: boolean,\n channelsEmail: boolean,\n channelsPhone: boolean,\n channelsMobileAndOnlineBanking: boolean,\n channelsMailbox: boolean,\n startDate: string\n}\n\nconst getGranularConsents = {\n url: \"/clients-ro/consents/get\",\n method: \"post\" as Method,\n};\n\nexport function useGranularConsents(contextData?: MarketingConsentsChecks) {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const [gdprConsents, setGdprConsents] = useState();\n\n useEffect(()=>{\n if(!contextData){\n executeAxios({\n params: {...getGranularConsents},\n onFail: setError,\n onLoading: setLoading,\n onSuccess: setGdprConsents\n });\n return;\n }\n setLoading(false);\n },[contextData])\n\n return {\n loading,\n error,\n gdprConsents,\n }\n}","import { AxiosRequestConfig, Method } from \"axios\";\nimport { useCallback, useState } from \"react\";\n\nimport { executeAxios } from \"services/axiosHook\";\n\nconst setGranularConsents = {\n url: \"/ca-ro/consents/set\",\n method: \"post\" as Method,\n};\n\nexport const useSetGranularConsentsApi = (onSubmit: Function) => {\n const [loading, setLoading] = useState(false);\n\n return {\n loading,\n setGranularConsentsApi: useCallback((apiConfig: AxiosRequestConfig) => {\n executeAxios({\n params: { ...setGranularConsents, ...apiConfig },\n onLoading: setLoading,\n onSuccess: onSubmit\n });\n\n }, [onSubmit])\n };\n};","import { Dispatch, SetStateAction, useEffect, useState } from \"react\";\n\nimport { MarketingConsentsChecks } from \"../../remote/pages/marketingConsents/MarketingConsents\";\n\nexport default function useMarketingConsentLogic(contextData?: MarketingConsentsChecks) {\n\n const [consents, setConsents] = useState((() => {\n\n if (contextData) {\n return contextData;\n }\n\n return {\n channelsEmail: false,\n channelsMailbox: false,\n channelsMobileAndOnlineBanking: false,\n channelsPhone: false,\n channelsSms: false,\n marketingUnicreditBank: false,\n marketingUnicreditConsumerFinancing: false,\n marketingUnicreditLeasing: false,\n marketingUnicreditInsuranceBroker: false,\n marketingUnicreditFleetManagement: false,\n thirdPartiesUnicredit: false,\n thirdPartiesUnicreditConsumerFinancing: false,\n thirdPartiesUnicreditLeasing: false,\n thirdPartiesUnicreditInsuranceBroker: false,\n thirdPartiesUnicreditFleetManagement: false,\n startDate: \"\"\n }\n })());\n\n const {marketingUnicreditBank, thirdPartiesUnicredit} = consents;\n\n useEffect(() => {\n setMarketingConsents(setConsents, marketingUnicreditBank);\n setThirdPartiesConsents(setConsents, thirdPartiesUnicredit);\n }, [setConsents, marketingUnicreditBank, thirdPartiesUnicredit]);\n\n return {consents, setConsents}\n}\n\nconst setMarketingConsents = (setConsents: Dispatch>, marketingUnicreditBank?: boolean) => {\n if (marketingUnicreditBank && marketingUnicreditBank) {\n setConsents(previous => ({\n ...previous,\n marketingUnicreditConsumerFinancing: true,\n marketingUnicreditLeasing: true,\n marketingUnicreditInsuranceBroker: true,\n marketingUnicreditFleetManagement: true,\n }));\n return;\n }\n\n setConsents(previous => ({\n ...previous,\n marketingUnicreditBank: false,\n marketingUnicreditConsumerFinancing: false,\n marketingUnicreditLeasing: false,\n marketingUnicreditInsuranceBroker: false,\n marketingUnicreditFleetManagement: false,\n }));\n};\n\nconst setThirdPartiesConsents = (setConsents: Dispatch>, thirdPartiesUnicredit?: boolean) => {\n if (thirdPartiesUnicredit && thirdPartiesUnicredit) {\n setConsents(previous => ({\n ...previous,\n thirdPartiesUnicreditConsumerFinancing: true,\n thirdPartiesUnicreditLeasing: true,\n thirdPartiesUnicreditInsuranceBroker: true,\n thirdPartiesUnicreditFleetManagement: true,\n }))\n return;\n }\n\n setConsents(previous => ({\n ...previous,\n thirdPartiesUnicredit: false,\n thirdPartiesUnicreditConsumerFinancing: false,\n thirdPartiesUnicreditLeasing: false,\n thirdPartiesUnicreditInsuranceBroker: false,\n thirdPartiesUnicreditFleetManagement: false,\n }));\n};","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\n\nexport type GenerateOtpRequest = {\n phoneNumber: string;\n phonePrefix: string;\n}\n\nexport type GenerateOtpResponse = {\n contactData: string;\n contactDataOtpRemainingGenerations: number;\n allContactDataOtpRemainingGenerations: Record\n totalOtpRemainingGenerations: number;\n}\n\nconst generateOtpConfig = {\n url: \"/ca-ro/otp/phoneNumber/generate\",\n method: \"POST\" as Method,\n};\n\nexport function useGenerateOtp(onFail: (previousResponse?: GenerateOtpResponse, request?: GenerateOtpRequest) => unknown) {\n const [response, setResponse] = useState();\n const generateOtp = useCallback(({ phoneNumber, phonePrefix }: GenerateOtpRequest, callbacks: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...generateOtpConfig, data: { phoneNumber, phonePrefix } },\n ...callbacks,\n onSuccess: (otpResponse: GenerateOtpResponse) => {\n setResponse(otpResponse);\n callbacks.onSuccess && callbacks.onSuccess(otpResponse);\n },\n onFail: ({ status }: { status: number }) => {\n if (status === 409) {\n onFail(response, { phoneNumber, phonePrefix });\n }\n\n if (status === 429) {\n callbacks.onFail && callbacks.onFail();\n }\n },\n })\n }, [onFail, response]);\n\n return {\n generateOtp,\n response,\n setResponse\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\n\nexport type ResendOtpResponse = {\n contactData: string;\n contactDataOtpRemainingGenerations: number;\n allContactDataOtpRemainingGenerations: Record\n totalOtpRemainingGenerations: number;\n}\n\nconst resendPhoneNumberOtpConfig = {\n url: \"/ca-ro/otp/phoneNumber/resend\",\n method: \"POST\" as Method,\n};\n\nexport function useResendOtp(onFail: (previousResponse?:ResendOtpResponse) => unknown) {\n const [resendOptData, setResendOtpData] = useState()\n const resendOtp = useCallback(({ onSuccess }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: resendPhoneNumberOtpConfig,\n onSuccess: (response: ResendOtpResponse) => {\n setResendOtpData(response);\n onSuccess && onSuccess(response);\n },\n onFail: ({ status }: { status: number }) => {\n if (status === 409) {\n onFail(resendOptData);\n }\n }\n });\n }, [onFail, resendOptData])\n\n return {\n resendOtp,\n response: resendOptData\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\nexport type ValidateOprRequest = {\n otp: string;\n}\n\nexport type ValidateOtpResponse = {\n otpCodeExpired: boolean;\n otpIsValid: boolean;\n otpRemainingValidations: number;\n}\n\nconst validateOtpConfig = {\n url: \"/ca-ro/otp/phoneNumber/validate\",\n method: \"POST\" as Method,\n};\n\nexport function useValidateOtp() {\n return {\n validateOtp: useCallback(({ otp }: ValidateOprRequest, { onSuccess, onFail, onLoading }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...validateOtpConfig, data: { otp } },\n onSuccess,\n onFail,\n onLoading\n })\n }, [])\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback } from \"react\";\n\nimport { Method } from \"axios\";\n\nconst checkResumeOnboardingConfig = {\n url: \"/ca-ro/checkResume\",\n method: \"POST\" as Method,\n data: {},\n};\n\nexport type CheckResumeRequest = {\n applicationId?: string;\n}\n\nexport type CheckResumeResponse = {\n status: string;\n applicationId: string;\n maskedPhoneNumber: string;\n productName: string;\n requestDate: string;\n applicationCloseable: boolean;\n applicationResumable: boolean;\n idExpirationDate: string;\n packageName?: string;\n kycInProgress?: boolean\n}\nexport function useCheckResume() {\n const checkResume = useCallback((data: CheckResumeRequest, callbacks: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...checkResumeOnboardingConfig, data },\n ...callbacks\n })\n }, [])\n return {\n checkResume\n }\n}\n","import { useEffect, useState } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { useTranslationsContext } from \"services/translationsContext\";\n\nexport interface OptionItemProps extends LooseObject {\n key: number;\n icon?: string;\n title?: string;\n subtitle?: string;\n description?: string;\n question?: string;\n response?: string;\n}\n\n/**\n * \n * @param baseTranslationKey the key that will be check if start with (a basic filter) \n * @param translations Object with all keys from translation\n * @returns sorted list of object that have properties the same option number\n */\n\nfunction computeOptions(baseTranslationKey: string, translations: LooseObject) {\n const data: any[] = [];\n const baseKey = baseTranslationKey + \".options.\";\n const translationList = Object.keys(translations).filter(item => item.startsWith(baseKey));\n for (const translationKey of translationList) {\n const translationParts = translationKey.replace(baseKey, \"\").split(\".\");\n if (translationParts.length === 2) {\n const [positionRow, detailPart] = translationParts;\n const parsedKey = parseFloat(positionRow.replace(\"option\", \"\"));\n const exitingOption = data.find((item: { key: any; }) => item.key === parsedKey);\n if (exitingOption) {\n exitingOption[detailPart] = translationKey;\n } else {\n data.push({\n key: parsedKey,\n [detailPart]: translationKey\n })\n }\n }\n }\n // This log is only for the dev\n process.env.REACT_APP_USE_MOCK && console.log(\"The base key for this category is: \" + baseKey);\n return data.sort((a, b) => a.key - b.key);\n}\n\n\nexport default function useStepOptions(baseTranslationKey: string) {\n const { translations } = useTranslationsContext();\n const [options = [], setOptions] = useState>([]);\n\n useEffect(() => {\n setOptions(computeOptions(baseTranslationKey, translations));\n }, [baseTranslationKey, translations]);\n\n return {\n options\n }\n}","import { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\nexport const InformationDetailContainerStyled = styled.div`\n div {\n border: solid;\n border-radius: 8px;\n border-width: 2px;\n border-color: ${palette.neutral400};\n padding: 12px; \n }\n\n span {\n width: 100%;\n }\n\n a {\n line-break: anywhere;\n }\n`;","import { Box } from \"omnichannel-design-system\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\nexport const ProgressContainerStyled = styled(Box)`\n svg{\n width: 120px;\n height: 120px; \n animation: d02fa 1s infinite;\n }\n svg > g > g > path:nth-child(1){\n fill: ${palette.neutral700} !important;\n opacity: 0.8;\n }\n`;"],"names":["TitleStyled","styled","Body","_templateObject","_taggedTemplateLiteral","IdentificationCardIsExpired","formatMessageWithKey","useRemoteOnboardingContext","_jsxs","Stack","units","column","grow","children","_jsx","Heading","text","src","image","style","maxWidth","alt","Box","size","weight","Space","fluid","Button","translationKey","variant","action","window","location","href","MOBILE_PRE_LOGIN_PAGE_URL","IdentificationSuccessful","props","onNext","StepContainerStyled","computeHeaderTitle","details","subtitle","title","InformativeNotice","_ref","formatMessage","formatRichTextMessage","useFormatMessage","showSupport","setShowSupport","useState","setDetails","options","useRemoteOnboardingStepOptions","handleCloseDialog","undefined","width","overflowWrap","className","Divider","map","_ref2","key","description","onClick","color","palette","blue600","GetSupport","onBack","Dialog","actions","label","unsafeLocalizedString","onDismiss","KnowYourCustomerFormik","withFormik","mapPropsToValues","initialValues","professionalStatus","occupation","currentEmployer","sourceOfFunds","purposeBankRelationship","handleSubmit","values","bag","onSubmit","validate","formValidation","KnowYourCustomerForm","KnowYourCustomer","knowYourCustomerData","computeOptionList","useComputeOptionList","professionalStatusOptionsList","PROFESSIONAL_STATUS_PREFIX","ProfessionalStatus","sourceOfFundsOptionsList","SOURCE_OF_FUNDS_PREFIX","SourceOfFunds","purposeOfRelationshipOptionsList","PURPOSE_OF_RELATIONSHIP_PREFIX","PurposeOfRelationship","limits","min","max","_values$occupation","_values$currentEmploy","formatRichTextMessageWithKey","updateKnowYourCustomer","errors","touched","validateForm","isValid","saveMainAdditionalData","useSaveMainAdditionalData","index","computeError","errorKey","shrink","DropdownField","name","error","valuesResetOnChange","value","when","EMPLOYEE","FREELANCER","ASSOCIATE","includes","TextField","assistiveText","characters","length","virtualKeyboardInputType","isMulti","LoadingButton","resolve","then","validationErrors","Object","keys","data","onSuccess","onFail","normalText","disabled","kindOfTransactions","countriesInternationalTransaction","sourceOfIncomeFromOtherCountries","INTERNATIONAL_ACCOUNTS","KnowYourCustomerTransactionForm","KnowYourCustomerTransaction","onBlocked","knowYourCustomerTransactionData","loading","countryList","transactionKindList","useKycTransactionData","countriesInvolved","transactionTypes","otherCountriesIncomeSource","Loader","country","code","countriesOptionsList","kindOfTransactionsOptionsList","option","isNotRightSelection","copyValues","validSelection","TRANSACTION_VALUES","some","volume","number","notCompletedSelection","EditTransactionDetailsDialog","onConfirm","setValues","onKeyUp","fieldName","inputEvent","target","newValue","previousValues","fieldNameType","onConfirmDialog","cashNumber","cashVolume","bankNumber","bankVolume","internationalNumber","internationalVolume","PAYMENT_ORDER","CASH","filter","item","transaction","volumeValue","numberValue","isVolumeTouched","volumeError","volumeAssistiveText","isNumberTouched","numberError","numberAssistiveText","NumberField","enforceInputMode","rightContent","updateKnowYourCustomerTransaction","useFormikContext","saveTransactionAdditionalData","useTransactionAdditionalDataApi","showTransactionSelection","setShowTransactionSelection","changeInTransactionTypeDetails","resetTransactionValues","currentValues","selectedTransactionDetails","setKnowYourCustomerTransactionData","useEffect","decideValue","types","type","defaultValue","computeCountries","countries","countryId","find","computeTransactionDetails","transactionDetails","DEFAULT_NUMBER_OF_TRANSACTIONS","DEFAULT_VOLUME_OF_TRANSACTIONS","TransactionSelectionDialog","optionList","selectedValues","isClosed","onReset","ref","_ref$firstElementChil","_ref$firstElementChil2","firstElementChild","lastElementChild","addEventListener","placeholder","descriptionConfirmLabel","TransactionNumberAndVolume","searchable","NOT_APPLICABLE","disableOptions","onDisableSourceOfIncomeOptions","status","OK","HIGH_RISK_COUNTRY","TransactionAdditionalDataStatus","handleSaveTransactionData","edit","setEdit","numberOfTransactions","volumeOfTransactions","handleEditTransactionDetails","selected","setSelected","computeValues","newValues","Checkbox","onChange","checked","sort","a","b","indexOf","currentItem","Banner","content","display","buttonLink","KycPendingResults","onKycSuccess","onKycFailure","getKycStatus","getCheckKycStatusLoading","useGetCheckKycStatus","getManualInterventionStatus","manualInterventionLoading","useGetManualInterventionStatus","quitApplication","useQuitApplication","availableResumePassword","availableResumePasswordLoading","useAvailableResumePasswordApi","askPassword","setAskPassword","kycInitialized","useRef","current","MANUAL_INTERVENTION_STATUS","FAIL","response","KYC_STATUS","REJECTED","EXPIRED","APPROVED","available","ResumePasswordForm","_Fragment","quitApplicationConfig","url","method","useCallback","executeAxios","params","ConsentType","MarketingConsents","onboardingContext","updateContext","gdprConsents","useGranularConsents","Step","MARKETING_CONSENTS","setGranularConsentsApi","setGranularConsentsLoading","useSetGranularConsentsApi","consents","setConsents","useMarketingConsentLogic","changeDoneForAllChannels","setChangeDoneForAllChannels","allChannelsSelected","setAllChannelsSelected","marketingUnicreditBank","thirdPartiesUnicredit","channelsSms","channelsEmail","channelsPhone","channelsMobileAndOnlineBanking","channelsMailbox","canContinue","setCanContinue","moreDetails","setMoreDetails","previous","consent","handleOnDocumentLinkClick","consentType","backFromMoreDetails","concat","MarketingConsent","consentText","buttonText","handleToggleAction","handleDataSharingConsent","DATA_SHARING","handleContactDetails3rdParties","CONTACT_DETAILS_3RD_PARTY","CommunicationChannelsSection","phoneMessageConsent","emailConsent","phoneCallConsent","mobileAndOnlineBankingConsent","mailboxConsent","handleOnChangeCommunicationChannels","checkboxState","ALL_CHANNELS_SELECTED","PHONE_MESSAGE","EMAIL","PHONE_CALL","MOBILE_AND_ONLINE_BANKING","CommunicationChannelType","checkboxName","hasWarning","handleNext","isBranch","handleChange","whatToChange","disabledValue","issueType","marginTop","marginBottom","MAILBOX","Card","wrap","CardStyled","NavigationSwitch","customContent","neutral500","switchOn","toggleAction","OptimalOffer","contextProps","setHeaderMetadata","selectedAccounts","preselectedAccounts","savePackageSelection","useSavePackageSelection","setSelectedAccounts","showTaxes","setShowTaxes","showMoreDetails","setShowMoreDetails","agreeConsent","setAgreeConsent","contextProp","PACKAGE_SELECTION","annexConsent","HEADER_TITLE","CURRENT_ACCOUNT","onCancel","MoreDetails","firstOption","TitleSection","titleKey","OptionItem","marginLeft","Typography","error400","account","newSelection","push","onOpenTaxes","SwitchField","issues","PRODUCT_DETAILS","ButtonContainer","DocumentDetails","showAsDialog","apiConfig","reportCode","ReportCodes","DocumentDetailsType","CA_COMMISSIONS_AND_INTERESTS","onClose","onCloseConsent","isReadOptional","onConfirmConsent","translationsKeys","confirmationButtonText","downloadButtonText","PACKAGE_SELECTION_MORE_DETAILS","_options$filter","items","icon","ExpandableItemList","step","hAlignContent","IconContainerStyled","$size","vAlignContent","currencies","PackageSelectionContainerStyled","neutral200","PackageSelection","borderRadius","PhoneNumberFormikWrapper","computeTranslationKey","_values$allContactDat","editPhoneMode","_","phonePrefix","phoneNumber","startsWith","allContactDataOtpRemainingGenerations","otp","totalOtpRemainingGenerations","restOfValues","validateOtp","isOtpValid","_ref3","otpRemainingValidations","otpCodeExpired","otpIsValid","onLoading","PhoneNumberValidationForm","PhoneNumberValidation","resendOtp","useResendOtp","useValidateOtp","checkResume","useCheckResume","setLoading","onExistingApplication","applicationId","productName","requestDate","applicationCloseable","applicationResumable","changeAuthToPotentialClient","PhoneContainerStyled","EditPhoneMode","isError","generateOtp","useGenerateOtp","contactDataOtpRemainingGenerations","isValidatedOnBlur","NO_CHANGE_APPLIED","isNumber","test","handlePhoneNumberChange","backDisabled","formStartKeys","formatFirstAvailableMessage","formatFirstAvailableRichTextMessage","disableResend","setDisableResend","showBackButton","setShowBackButton","startKey","isOtpResent","interval","setTimeout","clearInterval","handleBack","prevValues","displaySupportButton","displayNextStepButton","disableNextStepButton","formatPhoneNumber","height","SpinnerIcon","PinInput","readOnly","OtpBannersValidation","isOtpTouched","otpRemainingGenerations","formatMessageRichTextWithKey","ProcessCeased","configurations","useAppContext","branchFinderUrl","ResumeApplicationVerifyPhoneNumberFormikWrapper","missingDigits","ResumeApplicationVerifyPhoneNumberForm","ResumeApplicationVerifyPhoneNumber","maskedPhoneNumber","validDigits","remainingAttempts","computeColorMaskNumber","currentPosition","textLength","isInput","arguments","neutral300","SPLITTER_VALUE","MissingDigitsContainerStyled","split","MissingDigitsInput","firstPhonePart","lastPhonePart","verifyPhoneNumber","useVerifyPhoneNumber","responseValidDigits","responseRemainingAttempts","PHONE_NUMBER","replace","MASK","resumeApplicationVerifyPhoneNumberConfig","callbacks","ResumeCantProceed","history","useHistory","onRestart","go","otherValues","_ref4","ResumeOtpValidate","componentIsMounted","RESUME_OTP_VALIDATION","ResumePasswordValidateFormikWrapper","password","remainingValidations","PasswordField","showHideButtons","showHideButtonsIcons","currentErrors","ok","remainingRetries","ResumePasswordValidate","onResume","previousStep","resumeApplication","useResumeApplication","validateResumePassword","useValidateResumePasswordApi","EXISTING_APPLICATION","ScanId","setConsent","marginRight","checkPolling","getOcrStatus","checkIfClientExists","setIntermediaryCall","onProcessCeased","onClientExists","onIdCardExpired","setRemainingAttempts","Status","PENDING","timeout","INTERVAL_POLLING_TIME","DONE","clientExists","PROCESS_CEASED","ERROR","ID_CARD_EXPIRED","CANCELED","RETRY","RetryContainer","ScanIdStatus","useScanIdStatus","useClientExists","intermediaryCalls","poolingTimeout","setPoolingTimeout","componentIsRendered","mockScanCI","doBackAfterPoolingTimeOuts","clearTimeout","startPooling","firstTimeout","START_POLLING_TIME","POLLING_TIME_OUT","MB_IDENTIFY_DEEP_LINK","sessionStorageData","getItem","MB_IDENTIFY_DEEP_LINK_TYPE_PARAMETER","onRetry","PersonalProfileContainerStyled","PoolingScreen","left","textTransformNone","align","padding","checkIfClientExistsConfig","getOcrStatusConfig","TSP_AGREEMENT","SignContractualDocument","getExpirationTime","expirationTimeLoading","expirationTime","useApplicationExpirationTime","contractual","certificateIssuance","termsAndConditions","selectedDocument","setDocumentSelected","updateConsentTimestamp","useConsentTimestampApi","reportsLoading","createReports","useReportsApi","applySimpleSignatures","useApplySimpleSignatureApi","CA_CONTRACT","CA_ELECTRONIC_CERTIFICATE_REQUEST","CA_TERMS_AND_CONDITIONS","reportType","getCurrentReportType","onDialogDismiss","NavigationElement","leftIcon","PlaceholderIcon","success600","error700","rightIcon","AngleRightIcon","firstLine","CustomToggleElement","labelKey","links","updateTimestamp","accepted","success","applySimpleSignatureApiConfig","simpleSignaturesLoading","setSimpleSignaturesLoading","reportCodes","onComplete","promisesConfig","executeMultipleAxios","SigningProcessCompleted","next","getClientInfo","clientInfo","useGetClientInfoApi","iban","multipleIban","SEPARATOR_KEY","setClientInfo","setError","StepsPresentation","NumberIcon","MORE_DETAILS","AngleUpIcon","AngleDownIcon","InformationDetailContainerStyled","LinkText","TakeSelfieInformation","otherProps","showDialog","setShowDialog","computedConsent","TAKE_SELFIE_INFORMATION","takeSelfieConsent","onTakeSelfie","mockIdScan","resolver","mockTakeSelfie","sendMockCiDataOcr","getSelfieStatus","onError","TakeSelfieStatus","useTakeSelfieStatus","getTakeSelfieStatusConfig","BannerContentStyled","neutral700","DAYS_FOR_DOCUMENTATION_STUDY","UserContactInfo","userData","useSendPrecontractDocumentsApi","termOfStudyConsent","setTermOfStudyConsent","onTermOfStudyConsentClick","ContactRow","email","initUserDataConfig","onboardingFlowType","setUserData","applicationInfoConfig","setExpirationTime","EMPTY_STRING","setAuthInSessionStorage","remoteApiConfig","useChangeStep","changeStep","consentTimestampConfig","StepResponse","GO_TO_STEP","SET_HEADER_METADATA","KNOW_YOUR_CUSTOMER_DATA_UPDATE","KNOW_YOUR_CUSTOMER_TRANSACTION_DATA_UPDATE","SAVE_GENIUS_ACCOUNT_DATA","REPLACE_CONTEXT_PARTS","UPDATE_CONTRACT_SIGNING_ERROR","OnboardingAction","reducer","state","headerMetadata","geniusAccountCardData","contractSigningError","initialOnboardingState","ELIGIBILITY","selectedCard","virtualCard","physicalCard","selectedAccount","DATA_PRIVACY_CONSENT","dataPrivacyConsent","selectedAddress","initialContextState","dispatch","constVoid","RemoteOnboardingContext","React","OnboardingProvider","useReducer","initialState","useMemo","Provider","computePage","replaceObject","page","createBaseTranslationKey","base","useContext","goToStep","updateGeniusAccountData","geniusAccountData","updateContractSigningError","createReportApiConfig","multiReportLoading","setMultiReportLoading","customStep","useStepOptions","checkAddressDetails","addressDetail","computeAddressText","addressObject","isDeliveryAddress","addressKys","address","addressParts","join","street","streetNumber","apartmentNumber","postalCode","city","county","floor","blockNumber","blockEntrance","doesAddressHaveNumberAndEntrance","addressFormatWithoutNumberAndEntrance","addressFormatWithNumberAndEntrance","computeAddressData","addressList","deliveryAddress","addressType","DELIVERY_ADDRESS_TYPE","isDeliveryPossible","inRange","sector","deleteDeliveryAddressConfig","useDeleteDeliveryAddressApi","deleteDeliveryAddress","getCourierDeliveryAddressesConfig","useGetCourierDeliveryAddresses","setAddressList","getAddresses","saveDeliveryAddressConfig","useSaveDeliveryAddressApi","saveDeliveryAddress","getDMSFilesListConfig","useGetDMSFilesList","config","documents","setDocuments","getDMSFilesList","documentsCategory","removeExtensions","segments","pop","fileName","computeResponse","BUCHAREST_CITY","regExpSpecialSymbolsAddress","validations","checkEmpty","maxLength","applyRegex","checkNumerical","eqLength","checkAlphaNumerical","customValidation","generateKey","DATA_SUMMARY_SECOND_PART","executeValidation","computeSuggestions","streets","parts","array","backgroundColor","useAddressDataLogic","postalCodes","counties","cities","getCountiesAndSectors","getCities","getStreets","getPostalCodes","setCities","setStreets","useGetAddressData","countyId","getStreetsDebounce","streetsProps","cityId","searchTerm","executeStreetsDebounce","_counties$find","_cities$find","countyLabel","cityLabel","onStreetBlurDebounce","_data$countyId","onStreetBlur","generateResetItem","POSTAL_ADDRESS","HOME","RESIDENCE","dataSummaryFirstPartConfig","useOcrDataSummary","parseResponse","ocrDataSummary","setOcrDataSummary","getDataSummary","saveDataSummaryAddressConfig","useSaveDataSummaryAddress","saveDataSummaryAddress","generateOtpConfig","setResponse","resendOtpConfig","validateOtpConfig","useCancelApplication","doResign","handleLoading","useLoadingPipeline","closeUnfinishedLoading","closeUnfinished","useCloseUnfinishedApi","resignKeepClientLoading","resignKeepClient","useResignKeepClient","onSuccessCancelApplication","flowId","setItem","cancelApplication","closeUnfinishedConfig","callback","resignKeepClientConfig","resumeConfig","useResumeApi","resumeApi","mapResponseToContext","selectedCards","additionalData","transactionAdditionalData","applicationClosed","setApplicationClosed","newContextData","forEach","contextKey","part","physicalCurrency","virtualCurrency","mapKeys","FEEDBACK_URLS","getUrl","saveUrl","FINISHED_UNHAPPY","FINISHED_HAPPY","toString","saveMainAdditionalConfig","validateTextField","valueName","_props$limits","_props$limits2","labelPrefix","optionsObject","isNaN","Number","toLowerCase","getCountriesConfig","getKindOfTransactionsConfig","ROMANIA_CODE","setCountryList","setTransactionKindList","getInitialData","responseArray","_responseArray$","item1","item2","localeCompare","transactionKind","saveTransactionAdditionalDataConfig","intermediarySelection","optionValue","checkKycConfig","setStatus","checkManualInterventionStatusConfig","getGranularConsents","contextData","setGdprConsents","setGranularConsents","marketingUnicreditConsumerFinancing","marketingUnicreditLeasing","marketingUnicreditInsuranceBroker","marketingUnicreditFleetManagement","thirdPartiesUnicreditConsumerFinancing","thirdPartiesUnicreditLeasing","thirdPartiesUnicreditInsuranceBroker","thirdPartiesUnicreditFleetManagement","startDate","setMarketingConsents","setThirdPartiesConsents","otpResponse","resendPhoneNumberOtpConfig","resendOptData","setResendOtpData","checkResumeOnboardingConfig","baseTranslationKey","translations","useTranslationsContext","setOptions","baseKey","translationList","translationParts","positionRow","detailPart","parsedKey","parseFloat","exitingOption","process","REACT_APP_USE_MOCK","console","log","computeOptions","div","neutral400","ProgressContainerStyled"],"sourceRoot":""}