{"version":3,"file":"static/js/880.cdba2a4f.chunk.js","mappings":"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","sources":["ErrorHandler.tsx","InternetApp.tsx","components/Accordion.tsx","components/AnalyzingData.tsx","components/Banner.tsx","components/Button.tsx","components/Checkbox.tsx","components/DefaultErrorPage.tsx","components/EnvironmentButton/EnvironmentButton.tsx","components/EnvironmentButton/UpdateCameraParameters.tsx","components/FloatingFooter.tsx","components/GenericWrapperPage.tsx","components/Heading.tsx","components/Loader.tsx","components/LoadingButton.tsx","components/NavigationSwitch.tsx","components/OutsideClickHandler.tsx","components/PinSgnaturePolling/PinSignaturePolling.tsx","components/PinSgnaturePolling/service/checkSignaturePolling.ts","components/PinSgnaturePolling/service/domain.ts","components/RadioButton.tsx","components/ReactToSVG.tsx","components/ReadOnlyField.tsx","components/SnackBar.tsx","components/Stepper.tsx","components/Subtitle.tsx","components/SuccessfullySigned.tsx","components/Tabs.tsx","components/Typography.tsx","components/form/AutocompleteInputField.tsx","components/form/DateField.tsx","components/form/DropdownField.tsx","components/form/ManualDateField.tsx","components/form/NumberField.tsx","components/form/NumberFieldStepper.tsx","components/form/PasswordField.tsx","components/form/PinInput.tsx","components/form/RadioField.tsx","components/form/TextField.tsx","components/form/TextareaField.tsx","components/form/commons/FormikProvider.tsx","components/form/styles/radioFieldStyles.ts","components/form/utils.ts","components/styles/iconContainerStyles.tsx","constants/enums/translations.ts","flows/BankerLanding/OauthAuthorize.tsx","flows/CashLoan/CashLoan.tsx","flows/CashLoan/components/CardDocumentCreateDelete.tsx","flows/CashLoan/components/IncomeHeader.tsx","flows/CashLoan/components/services/addOtherIncomeDocumentApi.tsx","flows/CashLoan/components/services/deleteOtherIncomeDocumentApi.tsx","flows/CashLoan/pages/ActiveOffer/ActiveOffer.tsx","flows/CashLoan/pages/ActiveOffer/services/activeOfferServices.ts","flows/CashLoan/pages/AdditionalIncomeDocuments/AdditionalIncomeDocuments.tsx","flows/CashLoan/pages/AdditionalIncomeDocuments/services/domain.ts","flows/CashLoan/pages/AdditionalIncomeDocuments/services/getAdditionalIncomeDocuments.tsx","flows/CashLoan/pages/AdditionalIncomeDocuments/services/useGetAdditionalIncomeEnabled.tsx","flows/CashLoan/pages/AdditionalIncomeDocuments/services/useLoadData.tsx","flows/CashLoan/pages/Agreements/CashLoanAgreements.tsx","flows/CashLoan/pages/Agreements/services/startApplicationApi.ts","flows/CashLoan/pages/AgreementsSignature/Signature/Signature.tsx","flows/CashLoan/pages/AgreementsSignature/Signature/services/signConsents.ts","flows/CashLoan/pages/AgreementsSignature/SignaturePolling/SignaturePolling.tsx","flows/CashLoan/pages/ContractSignature/ContractSignature.tsx","flows/CashLoan/pages/ContractSignature/services/signContracts.ts","flows/CashLoan/pages/Contracts/Contracts.tsx","flows/CashLoan/pages/Contracts/services/contractDocumentApi.ts","flows/CashLoan/pages/Contracts/services/secLogContractsApi.ts","flows/CashLoan/pages/ElectronicSignature/services/issueCertificateService.ts","flows/CashLoan/pages/ExistingBlockingCashLoanApplications/ExistingBlockingCashLoanApplications.tsx","flows/CashLoan/pages/Feedback/CancelCashLoanWithFeedback.tsx","flows/CashLoan/pages/Feedback/FinishCashLoanWithFeedback.tsx","flows/CashLoan/pages/Feedback/services/cancelApplicationApi.ts","flows/CashLoan/pages/Feedback/services/domain.ts","flows/CashLoan/pages/FinancialInformation/FinancialInformation.tsx","flows/CashLoan/pages/FinancialInformation/components/FinancialInformationForm.tsx","flows/CashLoan/pages/FinancialInformation/components/otherIncomeTypes/CheckBoxOtherIncome.tsx","flows/CashLoan/pages/FinancialInformation/components/otherIncomeTypes/ChooseIncomeTypeDialog.tsx","flows/CashLoan/pages/FinancialInformation/components/otherIncomeTypes/MoreDetailsIncome.tsx","flows/CashLoan/pages/FinancialInformation/components/otherIncomeTypes/OtherIncomeList.tsx","flows/CashLoan/pages/FinancialInformation/components/otherIncomeTypes/OtherIncomeTypes.tsx","flows/CashLoan/pages/FinancialInformation/components/otherIncomeTypes/OtherIncomeTypesForm.tsx","flows/CashLoan/pages/FinancialInformation/services/domain.ts","flows/CashLoan/pages/FinancialInformation/services/saveFinancialDataApi.ts","flows/CashLoan/pages/FinancialInformationDataAnalyze/FinancialInformationDataAnalyze.tsx","flows/CashLoan/pages/FinancialInformationDataAnalyze/components/RejectedOffer.tsx","flows/CashLoan/pages/GrantedCredit/GrantedCredit.tsx","flows/CashLoan/pages/IncomeDocuments/IncomeDocuments.tsx","flows/CashLoan/pages/IncomeDocuments/components/OtherIncomeTypeDocuments.tsx","flows/CashLoan/pages/IncomeDocuments/services/domain.ts","flows/CashLoan/pages/IncomeDocuments/services/saveOtherIncomeApi.tsx","flows/CashLoan/pages/LoanApproval/LoanApproval.tsx","flows/CashLoan/pages/LoanApproval/services/approvalResponseApi.ts","flows/CashLoan/pages/OfferSummary/OfferSummary.tsx","flows/CashLoan/pages/OfferSummary/components/PreContractualForm.tsx","flows/CashLoan/pages/OfferSummary/services/initialLoadOfferSummary.tsx"],"sourcesContent":["import { LooseObject } from \"./services/types\";\nimport { errorLogApi } from \"./services/errorLogApi\";\nimport { useEffect } from \"react\";\n\ninterface AppLogs extends LooseObject {\n\terror: any[];\n\tinfo: any[];\n\tdebug: any[];\n}\n\ndeclare global {\n\tinterface Window {\n\t\tlogs: AppLogs;\n\t}\n}\n\nwindow.logs = {\n\terror: [],\n\tinfo: [],\n\tdebug: []\n};\n\n(window as any).onerror = (message: string) => {\n\twindow.logs.error.push(message);\n}\n\nexport function activateLogs(fullLog: boolean) {\n\tif (fullLog) {\n\t\t[\"error\", \"info\", \"debug\"].forEach(fn => {\n\t\t\tconst originalFn = typeof (console as any)[fn] === \"function\" ? (console as any)[fn].bind(console) : () => {\n\t\t\t\t// This is intentional\n\t\t\t};\n\t\t\t(console as any)[fn] = (...args: Array) => {\n\t\t\t\twindow.logs[fn].push(...args);\n\t\t\t\treturn originalFn(...args);\n\t\t\t};\n\t\t});\n\n\t} else {\n\t\tconst originalError = console.error;\n\n\t\tconsole.error = (...args: Array) => {\n\t\t\tif (args[0] && ![\"Warning:\", \"[Warning]\"].some(item => (args[0] + \"\").startsWith(item))) {\n\t\t\t\twindow.logs.error.push(...args);\n\t\t\t}\n\t\t\treturn originalError(...args);\n\t\t}\n\t}\n}\n\nif (process.env.REACT_APP_DEBUG !== \"enabled\") {\n\tconsole.debug = () => {\n\t\t// This is intentional\n\t}\n}\n\nconst resetCustomWindowLogs = () => {\n\twindow.logs = {\n\t\terror: [],\n\t\tinfo: [],\n\t\tdebug: [],\n\t}\n};\n\nconst logsPresent = () => {\n\treturn window.logs.error.length > 0\n\t\t|| window.logs.info.length > 0\n\t\t|| window.logs.debug.length > 0\n};\n\nexport default function ErrorHandler(props: { children: any }) {\n\tuseEffect(() => {\n\t\tconst interval = setInterval(() => {\n\t\t\tif (logsPresent()) {\n\t\t\t\terrorLogApi({ data: window.logs });\n\t\t\t}\n\t\t\tresetCustomWindowLogs();\n\t\t}, 5000);\n\t\treturn () => {\n\t\t\tclearInterval(interval);\n\t\t}\n\t}, []);\n\n\treturn props.children;\n}","import { Route, BrowserRouter as Router, Switch } from \"react-router-dom\";\n\nimport AuthenticatedClientApp from \"routes/authenticatedClientApp/AuthenticatedClientApp\";\nimport RemoteOnboardingApp from \"routes/RemoteOnboardingApp\";\nimport VirtualMailboxApp from \"routes/VirtualMailboxApp\";\nimport OauthAuthorize from \"./flows/BankerLanding/OauthAuthorize\";\n\nexport default function InternetApp() {\n return (\n \n \n {!!process.env.REACT_APP_USE_MOCK && (\n \n \n \n )}\n\n \n \n \n\n \n \n \n\n \n \n \n \n \n );\n}","import { FreestandingAccordion, FreestandingAccordionItem, LocalizedString } from \"omnichannel-design-system\";\nimport React,{ useState } from \"react\";\n\nimport { NonEmptyArray } from \"./form/utils\";\nimport { Option } from \"fp-ts/Option\";\nimport { option } from \"fp-ts\";\n\nexport type AccordionItem = {\n title: LocalizedString;\n Icon: (props: { size: \"default\" }) => unknown;\n Content: React.JSX.Element | null;\n}\n\nexport function Accordion({ accordionItems }: { accordionItems: Array }) {\n const freestandingAccordionItems: Array = accordionItems.map(({ title, Icon, Content }) => ({\n title: title,\n icon: Icon,\n content: () => Content\n } as FreestandingAccordionItem));\n\n const [activeItem, setActiveItem] = useState>(option.some(freestandingAccordionItems[0]));\n\n return (\n }\n onChange={(data) => {\n data[\"_tag\"] !== \"None\" && setActiveItem(data);\n }} />\n )\n}","import { Box, Stack } from \"omnichannel-design-system\";\n\nimport { Heading } from \"components/Heading\";\nimport Typography from \"./Typography\";\nimport image from \"assets/analyze-your-data.png\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n\ttitle: string;\n\tdescription: string;\n}\nexport default function AnalyzingData({title, description}:Props) {\n\tconst { formatMessage } = useFormatMessage();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(description)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatMessage(\"dbn.analizingData.title\")}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}","import { Banner as InnerBanner, TextChildren } from \"omnichannel-design-system\";\n\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"../services/formatMessageHook\";\n\ntype Props = {\n\tcontent: TextChildren;\n\ttitle?: string;\n\ttype: \"informative\" | \"success\" | \"warning\" | \"error\";\n\tonDismiss?: () => unknown;\n};\n\nexport default function Banner(props: Props) {\n\tconst { formatMessage } = useFormatMessage();\n\n\tif (\"error\" === props.type) {\n\t\treturn (\n\t\t\t\n\t\t)\n\t}\n\n\treturn (\n\t\t\n\t)\n}","import { Button as InnerButton } from \"omnichannel-design-system\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n\tid?: string;\n\ttranslationKey?: string;\n\tvariant: \"iconFlat\" | \"primary\" | \"secondary\" | \"text\" | \"icon\" | \"iconSecondary\" | \"link\" | \"danger\";\n\tclassName?: string;\n\taction?: () => unknown;\n\tdisabled?: boolean;\n\ttype?: \"submit\" | \"button\";\n\tfontSize?: number;\n\ticon?: any;\n};\n\nexport const ButtonContainer = styled.div<{ $$fontSize?: number }>`\n\tbutton {\n\t\twidth: 100%;\n\t\tspan {\n\t\t\tfont-size: ${({ $$fontSize = 22 }) => $$fontSize}px;\n\t\t}\n\t}\n`;\n\nexport function Button(props: Props) {\n\tconst { formatMessage } = useFormatMessage();\n\n\treturn (\n\t\t\n\t\t\t{props.variant === \"iconFlat\" && (\n\t\t\t\t props.action && props.action()}\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{props.variant !== \"iconFlat\" && (\n\t\t\t\t props.action && props.action()}\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\ticon={props.icon}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\n\t)\n}","import { Box, Checkbox as InnerCheckbox } from \"omnichannel-design-system\";\n\nimport { EMPTY_STRING } from \"./form/utils\";\nimport Typography from \"./Typography\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n\tonChange: (checked: boolean) => unknown;\n\tonBlur?: (checked: boolean) => unknown;\n\tname: string;\n\tlabel: string;\n\tvalue: boolean;\n\tdescription?: string;\n\tdescriptionInformation?: string;\n\tdisabled?: boolean;\n\tissueType?: \"error\" | \"warning\";\n};\n\nconst Description = styled.div`\n\t\tmargin-left: 28px;\n\t\tmargin-bottom: 32px;\n`;\n\nconst Container = styled.div`\n\tdiv:after {\n\t\theight: auto;\t\n\t}\n\tdiv[id^=checkbox-label-] span {\n\t\tfont-weight: bold;\n\t\tcolor: ${palette.dark};\n\t}\n`;\n\nexport default function Checkbox(props: Props) {\n\tconst { formatMessage } = useFormatMessage();\n\tconst {\n\t\tdisabled = false,\n\t\tdescriptionInformation = EMPTY_STRING,\n\t\tdescription = EMPTY_STRING,\n\t\tname, value, onChange, onBlur, label, issueType } = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tonChange(e.currentTarget.checked);\n\t\t\t\t\t}}\n\t\t\t\t\tonBlur={e => {\n\t\t\t\t\t\tonBlur && onBlur(e.currentTarget.checked);\n\t\t\t\t\t}}\n\t\t\t\t\tlabel={option.some(formatMessage(label))}\n\t\t\t\t\tissuesType={issueType !== undefined ? option.some(issueType) : option.none}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(description)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n}","import { Box } from \"omnichannel-design-system\";\nimport GenericWrapperPage from \"./GenericWrapperPage\";\nimport { PAGE_TITLE } from \"../constants/enums/translations\";\nimport { PageProps } from \"../constants/types/pagesTypes\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport default function DefaultErrorPage({ onSubmit }: PageProps) {\n const submitDisabled = false;\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n\n return (\n \n {formatRichTextMessage(\"dbn.common.error.description\")}\n \n )\n\n}","import { Body, Stack } from \"omnichannel-design-system\";\nimport styled, { css, keyframes } from \"styled-components\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { Button } from \"../Button\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { GlobalEvents } from \"services/globalEvents\";\nimport { LooseObject } from \"services/types\";\nimport { TOUCH_DURATION } from \"services/domain\";\nimport UpdateCameraParameters from \"./UpdateCameraParameters\";\nimport copy from \"copy-to-clipboard\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { sessionStorageData } from \"services/storageData\";\nimport { useAppContext } from \"services/appContext\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useTranslationsApi } from \"services/useApplicationInitialization\";\n\ntype EnvironmentWrapperProps = {\n\tflicker: boolean;\n\tleft?: number;\n};\n\nconst flickerAnimation = keyframes`\n 0% { background: ${palette.red800}; }\n\t50% { background: rgba(255,255,255,.75); }\n\t100% { background: ${palette.red800}; }\n\n`;\n\nconst flickering = css`\n\tanimation: ${flickerAnimation} .3s infinite;\n`;\n\nconst EnvironmentWrapperStyled = styled.span`\n\tposition: fixed;\n\ttop: 15px;\n\tleft:${({ left = 15 }) => left}px;\n\tpadding: 2px 4px;\n\tborder: 1px solid ${palette.red800};\n\tcolor: ${palette.red800};\n\tfont-size: 12px;\n\tfont-weight: 500;\n\ttext-transform: uppercase;\n\ttransform: rotate(-45deg);\n\tcursor: pointer;\n\tz-index: 1;\n\t${props => props.flicker && flickering};\n`;\n\nconst configurationsCallConfig = { url: \"/utilities/configurations/noauth?component=eShopFE\" };\n\ntype EnvironmentButtonProps = {\n\tenvironment: string;\n\tleft?: number;\n\tshowCameraUpdateParams?: boolean;\n}\n\nexport function EnvironmentButton(props: EnvironmentButtonProps) {\n\tconst [flicker, setFlicker] = useState(false);\n\tconst [showDialog, setShowDialog] = useState(false);\n\tconst [showUpdateCamera, setShowUpdateCamera] = useState(false);\n\n\tconst { environment, left, showCameraUpdateParams } = props;\n\tconst touchTimeout = useRef();\n\tconst { formatMessage } = useFormatMessage();\n\tconst { fetchAndUpdateTranslations, setTranslations } = useTranslationsApi();\n\tconst { configurations, dispatch } = useAppContext();\n\n\tconst flowId = sessionStorageData.getItem(\"flowId\");\n\n\tconst handleEnvironmentClick = () => {\n\t\tsetShowDialog(true);\n\t};\n\n\tconst sendConfig = useCallback(() => {\n\t\tdocument.dispatchEvent(new CustomEvent(GlobalEvents.SEND_CONFIG, { detail: configurations }));\n\t}, [configurations])\n\n\tuseEffect(() => {\n\t\tdocument.addEventListener(GlobalEvents.GET_CONFIGURATION, sendConfig);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(GlobalEvents.GET_CONFIGURATION, sendConfig)\n\t\t}\n\t}, [sendConfig])\n\n\tconst updateConfiguration = useCallback(({ detail }) => {\n\t\tdispatch({ value: { configurations: { ...configurations, ...detail } } })\n\t}, [dispatch, configurations])\n\n\tuseEffect(() => {\n\t\tdocument.addEventListener(GlobalEvents.UPDATE_CONFIGURATION, updateConfiguration);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(GlobalEvents.UPDATE_CONFIGURATION, updateConfiguration)\n\t\t}\n\t}, [updateConfiguration])\n\n\tconst handleTranslationUpdate = useCallback(() => {\n\t\tsetFlicker(true);\n\t\tfetchAndUpdateTranslations();\n\t\tsetTimeout(() => { setFlicker(false) }, 1000 * 30)\n\t}, [fetchAndUpdateTranslations]);\n\n\tuseEffect(() => {\n\t\tdocument.addEventListener(GlobalEvents.RELOAD_TRANSLATIONS, handleTranslationUpdate);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(GlobalEvents.RELOAD_TRANSLATIONS, handleTranslationUpdate)\n\t\t}\n\t}, [handleTranslationUpdate])\n\n\tconst onShowTranslationKeys = useCallback(() => {\n\t\tsetFlicker(true);\n\t\tsetTranslations(previousTranslation => {\n\t\t\tconst newTranslations: LooseObject = {};\n\t\t\tfor (const key of Object.keys(previousTranslation)) {\n\t\t\t\tnewTranslations[key] = key;\n\t\t\t}\n\t\t\treturn newTranslations\n\t\t})\n\t\tsetTimeout(() => { setFlicker(false) }, 1000 * 30)\n\t}, [setTranslations]);\n\n\tconst onReloadConfig = useCallback(() => {\n\t\texecuteAxios({\n\t\t\tparams: configurationsCallConfig,\n\t\t\tonSuccess: (configurations: any) => {\n\t\t\t\tdispatch({ value: { configurations } })\n\t\t\t}\n\t\t})\n\t}, [dispatch]);\n\n\tuseEffect(() => {\n\t\tdocument.addEventListener(GlobalEvents.SHOW_TRANSLATION_KEYS, onShowTranslationKeys);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(GlobalEvents.SHOW_TRANSLATION_KEYS, onShowTranslationKeys)\n\t\t}\n\t}, [onShowTranslationKeys])\n\n\tconst handleTouchStart = () => {\n\t\ttouchTimeout.current = setTimeout(() => { handleTranslationUpdate(); }, TOUCH_DURATION);\n\t};\n\n\tconst handleTouchEnd = () => {\n\t\ttouchTimeout.current && clearTimeout(touchTimeout.current);\n\t};\n\n\tconst onOpenCameraUpdateParameters = useCallback(() => {\n\t\tsetShowUpdateCamera(true);\n\t}, [])\n\n\tconst onCloseCameraUpdateParameters = useCallback(() => {\n\t\tsetShowUpdateCamera(false);\n\t}, [])\n\n\tif(showUpdateCamera){\n\t\treturn \n\t}\n\n\treturn (\n\t\t\n\t\t\t{environment}\n\t\t\t{showDialog && (\n\t\t\t\t setShowDialog(false) }]}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{flowId ? (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tcopy(flowId);\n\t\t\t\t\t\t\t\t\talert(`Flow id is now copied to your clipboard: ${flowId}`);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttranslationKey=\"dbn.env.copy.flowId\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{formatMessage(\"dbn.no.flowId\")}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{showCameraUpdateParams && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}","import { AddIcon, Box, DeleteIcon, Divider, Space, Stack, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { Checkbox, Dialog, DropdownField, InputField } from \"omnichannel-design-system/lib/vanilla\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport Typography from \"components/Typography\";\nimport { useAppContext } from \"services/appContext\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n onClose: () => void;\n}\n\nconst UPDATE_CAMERA_PARAMETERS = \"UPDATE_CAMERA_PARAMETERS\";\n\nexport default function UpdateCameraParameters({ onClose }: Props) {\n const { formatMessage } = useFormatMessage();\n const { configurations, dispatch } = useAppContext();\n const { isExperianPrecropped, isExperianScanner, scanIdCameraViewSonic } = configurations;\n const [values, setValue] = useState({ isPreCrop: isExperianPrecropped, isScanner: isExperianScanner, cameraParams: JSON.parse(scanIdCameraViewSonic) })\n const [newItem, setNewItem] = useState<{ itemName: string, itemType: \"number\" | \"string\" }>({ itemName: \"\", itemType: \"number\" })\n\n const { cameraParams, isScanner, isPreCrop } = values;\n\n const onSave = useCallback(() => {\n localStorage.setItem(UPDATE_CAMERA_PARAMETERS, JSON.stringify(values));\n dispatch({\n value: {\n configurations: {\n ...configurations,\n isExperianPrecropped: values.isPreCrop,\n isExperianScanner: values.isScanner,\n scanIdCameraViewSonic: JSON.stringify(values.cameraParams),\n }\n }\n })\n onClose();\n }, [values, configurations, onClose, dispatch])\n\n const onRestore = useCallback(() => {\n setValue(JSON.parse(localStorage.getItem(UPDATE_CAMERA_PARAMETERS) || \"\"));\n }, [])\n\n return (\n \n\n \n {formatMessage(\"dbn.close.env.dialog.addProp\")}\n \n\n \n\n \n {\n setNewItem(previous => ({ ...previous, itemName: value }))\n }}\n label={unsafeLocalizedString(\"Item name\")}\n name=\"newItemName\"\n type=\"text\"\n value={newItem.itemName}\n />\n\n {\n setNewItem(previous => ({ ...previous, itemType: event.value }))\n }}\n options={[\n { label: unsafeLocalizedString(\"number\"), value: \"number\" },\n { label: unsafeLocalizedString(\"string\"), value: \"string\" }\n ]}\n clearable={false} searchable={false} cancelLabel={unsafeLocalizedString(\"\")} clearSelectionLabel={unsafeLocalizedString(\"\")} noResultsLabel={unsafeLocalizedString(\"\")} filterInputPlaceholder={unsafeLocalizedString(\"\")} placeholder={unsafeLocalizedString(\"\")} />\n\n {\n setValue(previous => ({ ...previous, cameraParams: { ...previous.cameraParams, [newItem.itemName]: newItem.itemType === \"number\" ? 0 : \"new field\" } }))\n }}\n />\n \n\n \n\n \n\n \n {Object.keys(cameraParams).map(parameter => {\n return (\n \n {\n if (typeof cameraParams[parameter] === \"string\") {\n setValue(previous => ({ ...previous, cameraParams: { ...previous.cameraParams, [parameter]: value } }))\n return;\n }\n if (!isNaN(value)) {\n setValue(previous => ({ ...previous, cameraParams: { ...previous.cameraParams, [parameter]: Number(value) } }))\n }\n }}\n label={unsafeLocalizedString(parameter)}\n key={\"input_\" + parameter}\n name={parameter}\n type=\"text\"\n value={cameraParams[parameter]}\n />\n\n \n\n setValue(previous => {\n delete previous.cameraParams[parameter];\n return { ...previous, cameraParams: previous.cameraParams }\n })}\n />\n \n \n )\n })}\n \n \n\n {\n setValue(previous => ({ ...previous, isScanner: checked }))\n }}\n label={formatMessage(\"dbn.close.env.dialog.isScanner\")}\n name=\"isScanner\"\n value={isScanner}\n />\n {\n setValue(previous => ({ ...previous, isPreCrop: checked }))\n }}\n label={formatMessage(\"dbn.close.env.dialog.isPreCrop\")}\n name=\"isPreCrop\"\n value={isPreCrop}\n />\n \n\n \n \n )\n}","import { Box, FloatingFooter as FloatingFooterComponent } from \"omnichannel-design-system\";\n\nimport styled from \"styled-components\";\n\nconst FloatingFooterContainerStyled = styled(Box)`\n\t> div {\n\t\tz-index: 3;\n\t}\n`;\n\ntype Props = {\n children: any;\n showAfterRef?: React.RefObject;\n hideAfterRef?: React.RefObject;\n}\n\nexport function FloatingFooter(props: Props) {\n const { children, showAfterRef, hideAfterRef } = props;\n return (\n \n \n {children}\n \n \n )\n}","import { Box, Space, Stack } from \"omnichannel-design-system\"\nimport LoadingButton, { LoadingButtonAction } from \"./LoadingButton\";\n\nimport { Button } from \"components/Button\"\nimport { Heading } from \"components/Heading\"\nimport { useFormatMessage } from \"../services/formatMessageHook\";\n\ntype GenericWrapperPageProps = {\n headerLabel: string,\n children: any,\n onSubmit?: () => unknown,\n onSubmitWithLoader?: LoadingButtonAction,\n onBack?: () => unknown,\n backLabel?: string,\n submitDisabled?: boolean,\n submitLabel?: string,\n}\n\nexport default function GenericWrapperPage(props: GenericWrapperPageProps) {\n const {\n headerLabel, onBack, onSubmit, onSubmitWithLoader, children,\n backLabel = \"dbn.commons.buttons.back\",\n submitDisabled = false,\n submitLabel = \"dbn.commons.buttons.submit\",\n } = props;\n\n const { formatMessage } = useFormatMessage();\n\n return (\n \n \n \n\n {children}\n \n \n {onBack && (\n \n )}\n {onSubmit && (\n \n )}\n {onSubmitWithLoader && (\n \n )}\n \n \n \n )\n}","import { Box, Heading as InnerHeading, LocalizedString } from \"omnichannel-design-system\";\n\nimport styled from \"styled-components\";\n\nconst Container = styled(Box)`\n\tspan {\n\t\tfont-weight: 800;\n\t}\n`;\n\ntype Props = {\n\ttext: LocalizedString;\n\thAlignContent?: \"left\" | \"center\" | \"right\";\n\tweight?: \"bold\" | \"medium\" | \"regular\";\n\tsize?: \"small\" | \"medium\" | \"x-small\" | \"large\";\n\t\"data-test-id\"?: string;\n}\n\nexport function Heading({ text, size = \"medium\", weight = \"medium\", ...otherProps }: Props) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{text}\n\t\t\t\n\t\t\n\t)\n}\n","import { Box, Loader as InnerLoader, LocalizedString, Space } from \"omnichannel-design-system\";\n\nimport Typography from \"./Typography\";\n\ntype Props = {\n message?: LocalizedString;\n}\n\nexport default function Loader({ message }: Props){\n return (\n \n {message ? (\n \n \n \n \n {message}\n \n \n ) : }\n \n );\n}","import { Button, LoadingButton as LoadingButtonInner, LocalizedString, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { ComponentProps, ForwardedRef, forwardRef } from \"react\";\nimport { either, task } from \"fp-ts\";\n\nimport { EMPTY_STRING } from \"./form/utils\";\nimport { pipe } from \"fp-ts/function\";\n\nexport type LoadingButtonAction = (resolve: (isSuccessfully: boolean) => unknown) => unknown; \n\ntype LoadingButtonProps = {\n normalText?: LocalizedString;\n loadingText?: LocalizedString;\n successText?: LocalizedString;\n errorText?: LocalizedString;\n size?: NonNullable[\"size\"]>;\n disabled?: boolean;\n variant?: \"primary\" | \"secondary\" | \"text\" | \"danger\";\n action: LoadingButtonAction;\n \"data-test-id\"?: string;\n}\n\nconst LoadingButton = forwardRef((props: LoadingButtonProps, ref: ForwardedRef) => {\n const {\n action, variant = \"primary\", disabled = false, size = \"default\",\n normalText = unsafeLocalizedString(EMPTY_STRING),\n loadingText = unsafeLocalizedString(EMPTY_STRING),\n successText = unsafeLocalizedString(EMPTY_STRING),\n errorText = unsafeLocalizedString(EMPTY_STRING),\n ...otherProps\n } = props;\n return (\n Promise.resolve(\n new Promise(function (resolved) {\n action((isSuccessfully: boolean) => resolved(isSuccessfully));\n })\n )),\n task.map((data) => {\n const direction: \"right\" | \"left\" = data ? \"right\" : \"left\";\n return either[direction](null);\n })\n )\n }\n {...otherProps}\n />\n )\n});\n\nexport default LoadingButton;\n","import {\n\tBox,\n\tSpace,\n\tStack,\n\tSwitch,\n} from \"omnichannel-design-system\";\nimport { useEffect, useState } from \"react\";\n\nimport Typography from \"./Typography\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n\tname?: string,\n\ttitle: string,\n\tdescription?: string,\n\tswitchOn: boolean,\n\ttoggleAction: (checked: boolean) => unknown,\n\tcustomContent?: () => any;\n\tdisabled?: boolean;\n};\n\nexport default function NavigationSwitch({ switchOn, toggleAction, title, description, name, customContent, disabled }: Props) {\n\tconst [checked, setChecked] = useState(false);\n\n\tconst { formatMessage } = useFormatMessage();\n\n\tuseEffect(() => {\n\t\tsetChecked(switchOn);\n\t}, [switchOn]);\n\n\tconst handleChange = () => {\n\t\tsetChecked(true);\n\t\ttoggleAction(true);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatMessage(title)}\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t{description && (\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(description)}\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{customContent && customContent()}\n\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import React, { useRef, useEffect } from \"react\";\n\ntype Props = {\n children: any;\n onOutsideClick: (event: any) => void\n};\n\nexport function OutsideClickHandler(props: Props) {\n const wrapperRef = useRef(null);\n const { onOutsideClick } = props;\n\n useEffect(() => {\n function handleOutsideClick(event: any) {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {\n onOutsideClick && onOutsideClick(event)\n }\n }\n\n document.addEventListener(\"click\", handleOutsideClick);\n return () => document.removeEventListener(\"click\", handleOutsideClick);\n }, [wrapperRef, onOutsideClick]);\n\n return (\n
\n {props.children}\n
\n );\n}\n","import {\n MB_SIGNATURE_DEEP_LINK,\n MB_SIGNATURE_DEEP_LINK_BIOMETRIC_PARAMETER,\n PIN_SIGNATURE_DISABLED,\n POLLING_DELAY\n} from \"./service/domain\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport Loader from \"components/Loader\";\nimport { LocalizedString } from \"omnichannel-design-system\";\nimport SuccessfullySigned from \"components/SuccessfullySigned\";\nimport {sessionStorageData} from \"services/storageData\";\nimport { useAppContext } from \"services/appContext\";\nimport { useEffect } from \"react\";\n\ninterface Props {\n onSubmit: () => unknown;\n onBack?: () => unknown;\n checkPinCall: (params: AxiosRequestConfig) => unknown;\n stepBackCondition: boolean;\n loading: boolean;\n defaultPinComponent: unknown;\n loadingMessage: LocalizedString;\n}\n\nfunction PinSignaturePolling(props: Props) {\n const { onBack, defaultPinComponent, checkPinCall, stepBackCondition, loading, loadingMessage } = props;\n\n const { configurations } = useAppContext();\n const pinSignatureEnabled = (process.env.REACT_APP_PIN_SIGNATURE_ENABLED !== PIN_SIGNATURE_DISABLED && configurations.pinSignatureEnabled);\n\n useEffect(() => {\n if (pinSignatureEnabled) {\n window.location.href = MB_SIGNATURE_DEEP_LINK + sessionStorageData.getItem(\"flowId\") + MB_SIGNATURE_DEEP_LINK_BIOMETRIC_PARAMETER;\n setTimeout(checkPinCall, POLLING_DELAY);\n }\n },\n [pinSignatureEnabled, checkPinCall]);\n\n useEffect(() => {\n if (stepBackCondition) {\n onBack && onBack();\n }\n }, [stepBackCondition, onBack]);\n\n if (!pinSignatureEnabled) {\n return (<>{defaultPinComponent});\n }\n\n if (loading) {\n return ;\n }\n\n return ;\n\n}\n\nexport default PinSignaturePolling;","import { CheckSignStatus, POLLING_INTERVAL, POLLING_TIMEOUT } from \"./domain\";\nimport { useCallback, useState } from \"react\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\ntype ExecutePinTimeoutProps = {\n setError: Function,\n setCheckSignStatus: Function, \n executePinCheck: Function, \n startTime: number, \n params: AxiosRequestConfig\n}\n\nexport const executePinTimeout = ({setError, setCheckSignStatus, executePinCheck, startTime, params}: ExecutePinTimeoutProps) => () => {\n const handleError = (error: any) => {\n setError(error);\n };\n\n const handleOnSuccess = (response: any) => {\n let pollingTime = new Date().getTime() - startTime;\n if (response.status === CheckSignStatus.RETRY && pollingTime < POLLING_TIMEOUT) {\n executePinCheck();\n return;\n }\n if (response.status === CheckSignStatus.OK) {\n setCheckSignStatus(response.status);\n } else {\n setCheckSignStatus((pollingTime < POLLING_TIMEOUT) ? response.status : CheckSignStatus.TIMEOUT);\n }\n };\n\n executeAxios({\n params,\n onSuccess: handleOnSuccess,\n onFail: handleError\n });\n}\n\nexport const useCheckSignAuthorization = (params: AxiosRequestConfig) => {\n const [checkSignStatus, setCheckSignStatus] = useState(CheckSignStatus.RETRY);\n const [error, setError] = useState();\n\n const checkSignAuthorization = useCallback(() => {\n const startTime = new Date().getTime();\n\n const executePinCheck = () => setTimeout(executePinTimeout({setError, setCheckSignStatus, executePinCheck, startTime, params}), POLLING_INTERVAL);\n executePinCheck();\n }, [params]);\n\n return {\n checkSignStatus,\n error,\n checkSignAuthorization\n }\n\n};","export enum CheckSignStatus{\n OK = \"OK\",\n RETRY = \"RETRY\",\n ERR = \"ERR\",\n CANCEL = \"CANCEL\",\n TIMEOUT = \"TIMEOUT\",\n ERR_CREATE_APP = \"ERR_CREATE_APP\",\n}\n\nexport const POLLING_INTERVAL = 3000;\nexport const POLLING_DELAY = 5000;\nexport const POLLING_TIMEOUT = 180000;\n\nexport const PIN_SIGNATURE_DISABLED = \"disabled\";\n\nexport const MB_SIGNATURE_DEEP_LINK = \"mb-unicredit://sign/query?section=DBN&reference=\";\nexport const MB_SIGNATURE_DEEP_LINK_BIOMETRIC_PARAMETER = \"&biometric=false\";\nexport const MB_SIGNATURE_DEEP_LINK_TYPE_PARAMETER = \"&type=ID\";","import { Box, RadioButton as RadioButtonInner } from \"omnichannel-design-system\";\n\nimport Typography from \"./Typography\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormatMessage } from \"../services/formatMessageHook\";\n\ntype Props = {\n onSelect: () => unknown;\n isDisabled?: boolean;\n isSelected?: boolean;\n isRecommended?: boolean;\n issueType?: \"error\" | \"warning\"\n label: string,\n labelWeight?: \"bold\" | \"medium\" | \"regular\",\n description?: string,\n labelTextTransformNone?: boolean,\n};\n\nexport default function RadioButton(props: Props) {\n const {\n labelWeight = \"bold\",\n labelTextTransformNone,\n } = props;\n const { formatMessage } = useFormatMessage();\n\n const renderOption = (label: string, description: string) => {\n return (\n \n \n {formatMessage(label)}\n \n \n \n {formatMessage(description)}\n \n \n )\n }\n\n return (\n \n )\n}","import { Box, useDeviceUA } from \"omnichannel-design-system\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { toSvg } from \"html-to-image\";\n\ntype ReactToSVGProps = {\n children: any,\n onLoadImage: () => void\n displayImage: boolean\n contentLoaded?: boolean\n}\n\nfunction handleDivResize(node: any, ratio: number) {\n if (node.localName === \"div\") {\n const styles: CSSStyleDeclaration = getComputedStyle(node);\n if (styles.marginBottom !== \"0px\") {\n const marginBottom = parseFloat(styles.marginBottom.replace(\"px\", \"\"));\n node.style.marginBottom = marginBottom * ratio + \"px\";\n }\n\n if (styles.marginTop !== \"0px\") {\n const marginTop = parseFloat(styles.marginTop.replace(\"px\", \"\"));\n node.style.marginTop = marginTop * ratio + \"px\";\n }\n\n if (styles.padding !== \"0px\") {\n const padding = parseFloat(styles.padding.replace(\"px\", \"\"));\n node.style.padding = padding * ratio + \"px\";\n }\n }\n}\n\nexport function convertChildrenForIos(children: any) {\n const screenWidth = window.innerWidth;\n const handleLoad = (event: any) => {\n const ratio = screenWidth / event.target.width;\n event.target.style.width = (ratio * event.target.width - 40) + \"px\";\n const container = document.getElementsByName(\"childrenOffIos\");\n container[0].style.height = event.target.height + \"px\";\n const setChildrenTextSize = (nodeList: any) => {\n for (const node of nodeList) {\n\n if (node.localName === \"span\") {\n const styles: CSSStyleDeclaration = getComputedStyle(node);\n if (styles.fontSize) {\n const fontSize = parseFloat(styles.fontSize.replace(\"px\", \"\"));\n node.style.fontSize = fontSize * ratio + \"px\";\n node.style.lineHeight = \"unset\";\n }\n }\n handleDivResize(node, ratio);\n \n if (node.childNodes) {\n setChildrenTextSize(node.childNodes);\n }\n }\n }\n setChildrenTextSize(container);\n }\n return (\n \n \n {children}\n \n \n\n )\n}\n\nexport default function ReactToSVG({ children, onLoadImage, displayImage, contentLoaded = true }: ReactToSVGProps) {\n const [imageSrc, setImageSrc] = useState(\"\");\n const { isIOS } = useDeviceUA();\n\n const imageTemplateRef = useRef(null);\n\n useEffect(() => {\n if (contentLoaded && imageTemplateRef.current !== null) {\n toSvg(imageTemplateRef.current.children[0] as HTMLElement, { cacheBust: true, })\n .then((imageString) => setImageSrc(imageString))\n .catch((err) => {\n console.log(\" The react to svg fail because of the reason: \", err);\n })\n .finally(onLoadImage);\n isIOS && onLoadImage();\n }\n }, [contentLoaded, children, onLoadImage, isIOS]);\n\n return (\n <>\n \n {children}\n \n {/* This will cover original image */}\n \n\n {isIOS ? convertChildrenForIos(children)\n : (\n onLoadImage()}\n />\n )}\n \n )\n}","import { Children, ReadOnlyField as ReadOnlyInner, Stack, TextChildren, unsafeLocalizedString } from \"omnichannel-design-system\"\n\nimport { LooseObject } from \"services/types\";\nimport Typography from \"./Typography\";\n\ntype ReadOnlyWrapperProps = {\n value: string;\n label: LooseObject;\n size?: \"xx-small\" | \"x-small\" | \"small\" | \"medium\" | \"large\" | \"big\" | \"x-large\";\n weight?: \"medium\" | \"regular\";\n}\n\nexport default function ReadOnlyField({ size = \"medium\", weight = \"medium\", value, label }: ReadOnlyWrapperProps) {\n\n if (label.props) {\n return (\n \n {label as Children}\n \n {unsafeLocalizedString(value)}\n \n \n )\n }\n\n return (\n \n )\n}","import { Fragment, useCallback, useEffect, useState } from \"react\";\n\nimport { GlobalEvents } from \"services/globalEvents\";\nimport { Snackbar } from \"omnichannel-design-system\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport type SnackbarState = {\n type: \"error\" | \"warning\" | \"success\" | \"informative\",\n isOpen: boolean,\n message: string,\n}\n\nconst { SHOW_SNACK_BAR } = GlobalEvents;\n\nexport default function SnackBar() {\n const { formatMessage } = useFormatMessage();\n const [snackBar, setSnackBar] = useState({\n type: \"error\",\n isOpen: false,\n message: \"dbn.technicalError.common\"\n });\n const { isOpen, type, message } = snackBar;\n\n const closeSnackBar = () => {\n setSnackBar(previousSnackbar => ({ ...previousSnackbar, isOpen: false }));\n }\n\n const listenerEvent = useCallback((event: { detail: { status: number; message: any; }; } | any) => {\n if (event && event.detail) {\n if (event.detail.status === 429) {\n setSnackBar(previousSnackbar => ({\n ...previousSnackbar,\n message: \"dbn.technicalError.toManyAttempts\",\n isOpen: true\n }));\n return;\n }\n\n if (event.detail.message) {\n setSnackBar(previousSnackbar => ({\n ...previousSnackbar,\n message: event.detail.message,\n isOpen: true\n }));\n return;\n }\n }\n\n setSnackBar(previousSnackbar => ({ \n ...previousSnackbar, \n message: \"dbn.technicalError.common\", \n isOpen: true \n }));\n }, [])\n\n useEffect(() => {\n document.addEventListener(SHOW_SNACK_BAR, listenerEvent);\n return () => {\n document.removeEventListener(SHOW_SNACK_BAR, listenerEvent);\n }\n }, [listenerEvent]);\n\n if (!isOpen) {\n return ;\n }\n\n return (\n \n );\n}","import { Box, LocalizedString, MicroStepper, Space, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport { option } from \"fp-ts\"\nimport styled from \"styled-components\";\nimport { zipper } from \"fp-ts-contrib\";\n\ntype Item = {\n title: LocalizedString,\n status: \"complete\" | \"active\" | \"disabled\" | \"static\" | \"hanging\",\n}\n\ntype ListItem = {\n before: Array,\n current: Item,\n after: Array,\n}\n\ntype Props = {\n action?: () => unknown,\n totalSteps: Array<{\n title: LocalizedString;\n }>;\n currentStepIndex: number;\n}\n\nconst StepperContainerStyled = styled(Box)`\n width:100vw;\n overflow: hidden;\n margin-left: -20px;\n margin-right: -20px;\n`;\n\nexport default function Stepper(props: Props) {\n const { action = () => console.log(\"do nothing\"), totalSteps, currentStepIndex } = props;\n const currentItem = totalSteps[currentStepIndex];\n\n if (!currentItem) {\n console.error(\"Impossible to show stepper\")\n return <>Impossible to show stepper;\n }\n\n const listItem: ListItem = {\n before: Array(currentStepIndex)\n .fill({ status: \"hanging\" })\n .map((item, index) => ({ ...item, title: totalSteps[index].title })),\n current: { status: \"active\", title: currentItem.title },\n after: Array(totalSteps.length - currentStepIndex - 1)\n .fill({ status: \"hanging\" })\n .map((item, index) => ({ ...item, title: unsafeLocalizedString(index + \"\") }))\n }\n\n return (\n \n option.some(action)}\n />\n \n \n )\n}","import { Box } from \"omnichannel-design-system\";\nimport Typography from \"./Typography\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n\tlabel: string;\n};\n\nconst SubtitleStyled = styled.div`\n padding-bottom: 4px;\n\tborder-bottom: 1px solid ${palette.neutral500};\n\ttext-transform: uppercase;\n`;\n\nexport default function Subtitle(props: Props) {\n\tconst { formatMessage } = useFormatMessage();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatMessage(props.label)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n}","import { Box, Space } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport Typography from \"./Typography\";\nimport image from \"assets/approved-final.png\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ninterface Props {\n onSubmit: () => unknown;\n}\n\nfunction SuccessfullySigned(props: Props) {\n const { formatMessage } = useFormatMessage();\n\n return (\n \n \n\n \n\n \n {formatMessage(\"dbn.grantedCredit.title\")}\n \n\n \n\n \n \n {formatMessage(\"dbn.successfullySigned.description1\")}\n \n \n\n \n\n \n \n {formatMessage(\"dbn.successfullySigned.description2\")}\n \n \n\n \n \n \n\n \n \n \n \n );\n}\n\nexport default SuccessfullySigned;","import { IconTab, LocalizedString, SingleTab, Tab, TabGroup, Tabs as TabsInner } from \"omnichannel-design-system\";\nimport { useEffect, useState } from \"react\";\n\nimport { NonEmptyArray } from \"./form/utils\";\nimport { pipe } from \"fp-ts/function\";\nimport { zipper } from \"fp-ts-contrib\";\n\nexport function disableOrEnableSection(tabs: Array, disabled: boolean) {\n return tabs.map(item => ({ ...item, disabled }));\n}\n\nexport type TabsProps = {\n tabsData: NonEmptyArray<{\n id: string,\n title: LocalizedString\n }>;\n disableUnselectedTabs?: boolean;\n setTab?: Function;\n selectedTab?: string;\n disabled?: boolean;\n}\n\nexport const computedOrderTabs = (selectedTab: string | undefined, tabsDescription: NonEmptyArray) => (archivedTabs: zipper.Zipper | IconTab<{}> | TabGroup<{}>>) => {\n const computedTabs = { ...archivedTabs };\n\n if (selectedTab && archivedTabs.focus[\"data-test-id\"] !== selectedTab) {\n const zippedList = [computedTabs.focus, ...archivedTabs.rights, ...computedTabs.lefts];\n computedTabs.lefts = [];\n computedTabs.rights = [];\n let isRight = false;\n for (const orderedTab of tabsDescription) {\n const tab = zippedList.find(item => item[\"data-test-id\"] === orderedTab[\"data-test-id\"]);\n if (!tab) {\n continue;\n }\n \n if (tab[\"data-test-id\"] === selectedTab) {\n computedTabs.focus = tab;\n isRight = true;\n continue;\n }\n\n if (isRight) {\n computedTabs.rights.push(tab);\n } else {\n computedTabs.lefts.push(tab)\n }\n }\n }\n\n return computedTabs;\n}\n\nexport default function Tabs(props: TabsProps) {\n const {\n setTab, tabsData, selectedTab,\n disabled = false,\n disableUnselectedTabs = false,\n } = props;\n\n const [tabsDescription] = useState>(tabsData.map(({ id, title }) => ({\n \"data-test-id\": id,\n type: \"single-tab\",\n title,\n state: \"normal\",\n })) as NonEmptyArray);\n\n const [tabs, setTabs] = useState(\n pipe(tabsDescription, zipper.fromNonEmptyArray, computedOrderTabs(selectedTab, tabsDescription)));\n\n useEffect(() => {\n setTabs(pipe(tabsDescription, zipper.fromNonEmptyArray, computedOrderTabs(selectedTab, tabsDescription)))\n }, [selectedTab, tabsDescription])\n\n useEffect(() => {\n setTab && tabs.focus && setTab(tabs.focus[\"data-test-id\"]);\n }, [setTab, tabs.focus])\n\n useEffect(() => {\n setTabs(oldTabs => ({\n ...oldTabs,\n rights: disableOrEnableSection(oldTabs.rights, disableUnselectedTabs),\n lefts: disableOrEnableSection(oldTabs.lefts, disableUnselectedTabs)\n }));\n }, [disableUnselectedTabs]);\n\n useEffect(() => {\n setTabs(oldTabs => ({\n focus: { ...oldTabs.focus, disabled },\n rights: disableOrEnableSection(oldTabs.rights, disabled),\n lefts: disableOrEnableSection(oldTabs.lefts, disabled)\n }));\n }, [disabled]);\n\n return (\n \n )\n}","import { Body, Box } from \"omnichannel-design-system\"\n\nimport { LooseObject } from \"services/types\";\nimport styled from \"styled-components\";\nimport { useAppContext } from \"services/appContext\";\nimport { useCallback } from \"react\";\n\nexport type Size = \"big\" | \"small\" | \"xx-small\" | \"x-small\" | \"medium\" | \"large\" | \"x-large\";\ntype Weight = \"bold\" | \"medium\" | \"regular\"\n\ntype Props = {\n children: any;\n size?: Size;\n weight?: Weight;\n isHTML?: boolean;\n textTransformNone?: boolean;\n isSupraText?: boolean;\n} & LooseObject;\n\nconst htmlSize: any = {\n small: {\n fontSize: 16,\n lineHeight: 20,\n },\n \"x-small\": {\n fontSize: 14,\n lineHeight: 18,\n },\n medium: {\n fontSize: 18,\n lineHeight: 22,\n }\n}\n\nconst TextStyled = styled(Box) <{ \"my-size\": Size, \"my-weight\": Weight, \"supra-text\"?: boolean }>`\n font-family: UniCredit;\n text-align: left;\n ${(props) => {\n let sizeDetails = htmlSize.small;\n if (htmlSize[props[\"my-size\"]]) {\n sizeDetails = htmlSize[props[\"my-size\"]]\n }\n return `\n font-size: ${sizeDetails.fontSize}px;\n line-height: ${sizeDetails.lineHeight}px;\n `\n }}\n font-weight: 400;\n ${(props) => props[\"supra-text\"] ? `\n font-size: 10px;\n line-height: normal;\n vertical-align: super;\n ` : \"\"}\n`\n\nconst sizeClient: { [key: string]: Size } = {\n \"xx-small\": \"x-small\",\n \"x-small\": \"small\",\n \"small\": \"medium\",\n \"medium\": \"large\",\n \"large\": \"x-large\",\n \"x-large\": \"big\",\n \"big\": \"big\",\n}\n\nconst BodyStyled = styled(Body) <{ textTransformNone?: boolean }>`\n ${({ textTransformNone }) => textTransformNone ? \"text-transform: none !important;\" : \"\"}\n`;\n\nexport default function Typography(props: Props) {\n const { children,\n size = \"small\",\n weight = \"regular\",\n isHTML = false,\n isSupraText = false,\n ...otherProps\n } = props;\n\n const { isClient } = useAppContext();\n\n const computeSize = useCallback((): Size => {\n if (isClient) {\n return sizeClient[size]\n }\n return size;\n }, [isClient, size])\n\n if (isHTML) {\n return (\n \n {children}\n \n )\n }\n\n return (\n \n {children}\n \n )\n\n}","import {\n\tAutocompleteInputField as AutocompleteInput,\n\tBox,\n\tDropdownOption,\n\tLocalizedString,\n\tSpace,\n\tfieldIssues,\n} from \"omnichannel-design-system\";\nimport { EMPTY_STRING, LOADING_LABEL_DEFAULT } from \"./utils\";\nimport FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\n\nimport Typography from \"components/Typography\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\ntype SuggestionsStatus = {\n\tstatus: \"loading\";\n} | {\n\tstatus: \"ready\";\n\tsuggestions: Array>;\n};\n\ntype FilterConstrainsProps = {\n\tminLength?: {\n\t\tvalue: number,\n\t\tmessage: LocalizedString\n\t},\n\tmaxLength?: {\n\t\tvalue: number,\n\t\tmessage: LocalizedString\n\t}\n};\n\ntype Props = {\n\tname: string;\n\tlabel: string;\n\tassistiveText?: LocalizedString;\n\tsuggestions: SuggestionsStatus;\n\tdisabled?: boolean;\n\tplaceholder?: string;\n\tdescription?: string;\n\tloadingMessage?: string;\n\tonBlur?: () => unknown;\n\tonSelectedSuggestion?: (suggestion: DropdownOption) => unknown;\n\terror?: string;\n\ttouched?: boolean;\n\thandleChange?: (value: string) => unknown;\n\terrorDisabled?: boolean;\n\twidth?: string;\n\tshowAssistiveTextInRight?: boolean;\n\tfilterConstraints?: FilterConstrainsProps;\n}\n\nfunction AutocompleteInputFieldInner(props: Props & FormikProps) {\n\tconst { name, label, placeholder, description, loadingMessage, error, touched, onBlur,\n\t\tsuggestions, form, value, disabled, errorDisabled = false, width, showAssistiveTextInRight, filterConstraints,\n\t\tassistiveText = EMPTY_STRING } = props;\n\tconst { formatMessage } = useFormatMessage();\n\n\tconst handleSelectSuggestion = (suggestion: DropdownOption) => {\n\t\tform.setFieldValue(name, suggestion.value);\n\t\tif (props.onSelectedSuggestion) {\n\t\t\tprops.onSelectedSuggestion(suggestion);\n\t\t}\n\t}\n\tconst { touched: touches, errors } = form;\n\n\tconst handleChange = (newValue: string) => {\n\t\tform.setFieldValue(name, newValue);\n\t\tif (props.handleChange) {\n\t\t\tprops.handleChange(newValue)\n\t\t}\n\t}\n\tconst computeIssues = () => {\n\t\tif (errorDisabled) {\n\t\t\treturn option.none;\n\t\t}\n\n\t\tif (touches[name] || touched) {\n\t\t\tif (error) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(error.toString())]));\n\t\t\t}\n\n\t\t\tif (errors[name]) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(errors[name].toString())]));\n\t\t\t}\n\t\t}\n\n\t\treturn option.none;\n\t}\n\n\tconst content = (\n\t\t{\n\t\t\t\thandleChange(value);\n\t\t\t\tform.setFieldTouched(name, true);\n\t\t\t}}\n\t\t\tonBlur={() => {\n\t\t\t\tonBlur && onBlur();\n\t\t\t\tform.setFieldTouched(name, true)\n\t\t\t}}\n\t\t\tfilterConstraints={filterConstraints}\n\t\t\tplaceholder={formatMessage(placeholder || EMPTY_STRING)}\n\t\t\tloadingMessage={formatMessage(loadingMessage || LOADING_LABEL_DEFAULT)}\n\t\t\tissues={computeIssues()}\n\t\t\tdescription={formatMessage(description || EMPTY_STRING)}\n\t\t\tassistiveText={showAssistiveTextInRight ? undefined : formatMessage(assistiveText)}\n\t\t/>\n\t)\n\n\tif (showAssistiveTextInRight) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{content}\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(assistiveText)}\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\n\t\t)\n\t}\n\n\treturn content\n}\n\nexport default function AutocompleteInputField(props: Props) {\n\treturn (\n\t\t\n\t\t\t{AutocompleteInputFieldInner}\n\t\t\n\t)\n\n}","import FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport { DateField as InnerDate, LocalizedString, TextChildren, ValidableDate, fieldIssues, validableDate } from \"omnichannel-design-system\";\n\nimport { EMPTY_STRING } from \"./utils\";\nimport { Option } from \"fp-ts/Option\";\nimport { constVoid } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\ninterface Props {\n name: string,\n label: string,\n placeholder?: string,\n error?: string,\n touched?: boolean,\n validate?: (value: string) => unknown,\n minDate?: Date,\n maxDate?: Date,\n isValidatedOnBlur?: boolean,\n assistiveText?: TextChildren,\n confirmDateLabel?: LocalizedString,\n displayFormat?: string,\n titleDateLabel?: LocalizedString,\n onBlur?: () => unknown,\n}\n\nfunction DateFieldInner(props: Props & FormikProps){\n const {\n placeholder = EMPTY_STRING,\n onBlur = constVoid,\n name, value, label, error, touched, minDate, maxDate, form, assistiveText, confirmDateLabel, displayFormat, titleDateLabel } = props;\n const { formatMessage } = useFormatMessage();\n const { setFieldValue, touched: touches, errors } = form\n\n const handleChange = (newValue: Option) => {\n if (option.isSome(newValue) && newValue.value) {\n const validatedValue = option.isSome(newValue.value) ? newValue.value.value : EMPTY_STRING;\n setFieldValue(name, validatedValue);\n }\n }\n\n const computeIssues = () => {\n if (touches[name] || touched) {\n if (error) {\n return option.some(fieldIssues.errors([formatMessage(error.toString())]));\n }\n\n if (errors[name]) {\n return option.some(fieldIssues.errors([formatMessage(errors[name].toString())]));\n }\n }\n return option.none;\n }\n\n return (\n \n\n )\n}\n\nexport default function DateField(props: Props) {\n return (\n \n {DateFieldInner}\n \n )\n}","import {\n\tCANCEL_LABEL_DEFAULT,\n\tCLEAR_LABEL_DEFAULT,\n\tCONFIRM_LABEL_DEFAULT,\n\tEMPTY_STRING,\n\tNO_RESULTS_LABEL_DEFAULT\n} from \"./utils\";\nimport {\n\tDropdownField as Dropdown,\n\tDropdownOption,\n\tLocalizedString,\n\tfieldIssues,\n\tunsafeLocalizedString,\n\tuseDeviceUA\n} from \"omnichannel-design-system\";\nimport FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport React, { useState } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { Option } from \"fp-ts/Option\";\nimport { option } from \"fp-ts\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport type SelectOption = {\n\tvalue: string;\n\tlabel: string;\n\tdisabled?: boolean;\n}\ninterface Props {\n\tname: string,\n\tlabel: string,\n\toptions: Array,\n\terror?: string | string[],\n\ttouched?: boolean,\n\tplaceholder?: string,\n\tdescription?: string | LocalizedString | React.JSX.Element,\n\tassistiveText?: string,\n\tnoResultsLabel?: string,\n\tcancelLabel?: string,\n\tclearLabel?: string,\n\tclearable?: boolean,\n\tsearchable?: boolean,\n\tonInputChange?: (value: string) => unknown;\n\tonBlur?: () => unknown;\n\tfilterInputPlaceholder?: string,\n\tctaLabel?: string,\n\tvaluesResetOnChange?: Array<{ key: string, value: any, when?: Function }>;\n\tdisabled?: boolean,\n\tisMulti?: boolean,\n\tonChange?: (value: any) => unknown,\n\tisValidatedOnBlur?: boolean,\n\twidth?: string,\n\tlabelTextTransform?: \"capitalize\" | \"uppercase\" | \"lowercase\" | \"none\" | \"full-width\" | \"full-size-kana\",\n\tpointerEventsOnSelection?: \"auto\" | \"none\" | string;\n\tdescriptionConfirmLabel?: LocalizedString;\n\tdisableOptions?: (intermediarySelection: string[], optionValue: string) => boolean;\n}\n\nconst DropdownFieldStyled = styled(Dropdown) `\n\t> div:nth-child(2){\n\t\tpointer-events: ${({ pointerEventsOnSelection }) => pointerEventsOnSelection}; \n\t}\n\tlabel{\n\t\ttext-transform: ${({ labelTextTransform }) => labelTextTransform};\n\t}\n`\n\nfunction computedValue(value: any, internalOptions: Array>, isMulti?: boolean) {\n\tif (isMulti && value && value.length > 0) {\n\t\treturn option.some(value.map((item: string) => internalOptions.filter(internalOption => internalOption.value.value === item)[0]));\n\t}\n\treturn option.fromNullable(internalOptions.filter(internalOption => internalOption.value.value === value)[0])\n}\n\nfunction handleResetValuesOnChange(validatedValue: string | string[], setFieldValue: (name: string, value: any) => unknown, valuesResetOnChange?: Array<{ key: string, value: any, when?: Function }>) {\n\tif (valuesResetOnChange && valuesResetOnChange.length) {\n\t\tvaluesResetOnChange.forEach(item => {\n\t\t\tif (item.when) {\n\t\t\t\titem.when(validatedValue) &&\n\t\t\t\t\tsetFieldValue(item.key, item.value);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetFieldValue(item.key, item.value);\n\t\t});\n\t}\n}\n\ntype ComputeIssuesProps = {\n\tname: string;\n\tformatMessage: (key: string | number, values?: LooseObject | undefined) => any;\n\terrors: LooseObject;\n\ttouches: LooseObject;\n\terror?: string | string[];\n\ttouched?: boolean;\n}\n\nfunction computeIssues({ name, formatMessage, errors, error, touched, touches }: ComputeIssuesProps) {\n\tif (touches[name] || touched) {\n\t\tif (error) {\n\t\t\treturn option.some(fieldIssues.errors([formatMessage(error.toString())]));\n\t\t}\n\n\t\tif (errors[name]) {\n\t\t\treturn option.some(fieldIssues.errors([formatMessage(errors[name].toString())]));\n\t\t}\n\t}\n\treturn option.none;\n}\n\nfunction DropdownField(props: Props & FormikProps) {\n\tconst { error, touched, name, label, clearable, value, form, onChange,\n\t\tsearchable, disabled, valuesResetOnChange, isMulti, onInputChange, onBlur, descriptionConfirmLabel,\n\t\tdisableOptions = () => false,\n\t\tdescription = EMPTY_STRING,\n\t\tassistiveText = EMPTY_STRING,\n\t\tnoResultsLabel = NO_RESULTS_LABEL_DEFAULT,\n\t\tcancelLabel = CANCEL_LABEL_DEFAULT,\n\t\tclearLabel = CLEAR_LABEL_DEFAULT,\n\t\tfilterInputPlaceholder = EMPTY_STRING,\n\t\tisValidatedOnBlur = true,\n\t\tplaceholder = EMPTY_STRING,\n\t\tlabelTextTransform = \"none\",\n\t\tpointerEventsOnSelection = \"auto\",\n\t\tctaLabel = CONFIRM_LABEL_DEFAULT,\n\t\toptions = [],\n\t\twidth = \"calc(100vw - 40px)\" } = props;\n\tconst { setFieldValue, setFieldTouched, errors, touched: touches } = form;\n\tconst { formatMessage } = useFormatMessage();\n\tconst [intermediarySelection, setIntermediarySelection] = useState(isMulti ? value : [value]);\n\tconst { isMobile } = useDeviceUA();\n\n\tconst internalOptions: Array> = options.map(externalOption => ({\n\t\tlabel: unsafeLocalizedString(externalOption.label),\n\t\tvalue: externalOption,\n\t\tdisabled: disableOptions(intermediarySelection, externalOption.value)\n\t}));\n\n\tconst handleChange = (newInternalOption: Option) => {\n\t\tlet validatedValue: string | string[];\n\t\tif (isMulti) {\n\t\t\tvalidatedValue = option.isSome(newInternalOption) ? newInternalOption.value.map((item: any) => item.value.value) : [];\n\t\t} else {\n\t\t\tvalidatedValue = option.isSome(newInternalOption) ? newInternalOption.value.value.value : \"\";\n\t\t}\n\n\t\tif (!isMobile) {\n\t\t\tsetIntermediarySelection((isMulti ? validatedValue : [validatedValue]) as string[]);\n\t\t}\n\t\tsetFieldValue(name, validatedValue);\n\t\thandleResetValuesOnChange(validatedValue, setFieldValue, valuesResetOnChange);\n\t\tonChange && onChange(validatedValue);\n\t};\n\n\tconst handleBlur = () => {\n\t\tsetTimeout(() => {\n\t\t\tisValidatedOnBlur && setFieldTouched(name, true);\n\t\t\tonBlur && onBlur();\n\t\t}, 0);\n\t};\n\n\tconst onEntrySelect = (intermediaryValue: DropdownOption) => {\n\t\tconst { value: { value: filedValue } } = intermediaryValue;\n\t\tsetIntermediarySelection(previousValues => {\n\t\t\tlet newValues = [...(previousValues && previousValues.length ? previousValues : [])];\n\t\t\tif (newValues.includes(filedValue)) {\n\t\t\t\tnewValues = newValues.filter(item => item !== filedValue);\n\t\t\t} else {\n\t\t\t\tnewValues.push(filedValue);\n\t\t\t}\n\t\t\treturn newValues;\n\t\t})\n\t}\n\n\treturn (\n\t\t\n\t)\n}\n\nexport default function DropdownFieldWrapper(props: Props) {\n\treturn (\n\t\t\n\t\t\t{DropdownField}\n\t\t\n\t)\n}","import FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport { TextField as Text, fieldIssues } from \"omnichannel-design-system\";\n\nimport { EMPTY_STRING } from \"./utils\";\nimport moment from \"moment\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\ninterface Props {\n\tname: string,\n\tlabel: string,\n\tplaceholder?: string,\n\tdescription?: string,\n\tassistiveText?: string,\n\terror?: string,\n\ttouched?: boolean,\n\thandleChange?: (value: string) => unknown,\n\tvalidate?: (value: string) => unknown,\n\tisValidatedOnBlur?: boolean,\n\tonBlur?: () => unknown,\n\twidth?: string,\n\tdisabled?: boolean,\n\terrorDisabled?: boolean,\n\tdisplayFormat?: string,\n}\n\nfunction ManualDateInnerField(props: Props & FormikProps) {\n\tconst { formatMessage } = useFormatMessage();\n\tconst {\n\t\tname, label, error, touched, form, value,\n\t\thandleChange, width,\n\t\terrorDisabled = false,\n\t\tdisabled = false,\n\t\tplaceholder = EMPTY_STRING,\n\t\tdescription = EMPTY_STRING,\n\t\tassistiveText = EMPTY_STRING,\n\t\tdisplayFormat = 'DD.MM.YYYY',\n\t\tisValidatedOnBlur = true\n\t} = props;\n\tconst { setFieldValue, setFieldTouched, touched: touches, errors } = form\n\n\tconst computeIssues = () => {\n\t\tif(errorDisabled){\n\t\t\treturn option.none;\n\t\t}\n\n\t\tif (touches[name] || touched) {\n\t\t\tif (error) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(error.toString())]));\n\t\t\t}\n\n\t\t\tif (errors[name]) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(errors[name].toString())]));\n\t\t\t}\n\t\t}\n\n\t\tif (value && !moment(value, displayFormat).isValid()) {\n\t\t\treturn option.some(fieldIssues.errors([formatMessage(\"dbn.invalid.date\")]));\n\t\t}\n\n\t\treturn option.none;\n\t}\n\n\tconst onChange = (newValue: string) => {\n\t\tif (newValue.length > displayFormat.length) {\n\t\t\treturn;\n\t\t}\n\t\tif (newValue.length > value?.length) {\n\t\t\tconst newChar = newValue.slice(-1);\n\t\t\tif (!isDigit(newChar)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst formatChar = displayFormat.charAt(newValue.length);\n\t\t\tif (!isDigitFormat(formatChar)) {\n\t\t\t\tnewValue += formatChar;\n\t\t\t}\n\t\t}\n\t\tif (newValue.length < value?.length) {\n\t\t\tconst oldChar = value.slice(-1);\n\t\t\tif (!isDigit(oldChar)) {\n\t\t\t\tnewValue = newValue.slice(0, -1)\n\t\t\t}\n\t\t}\n\t\tsetFieldValue(name, newValue);\n\t\thandleChange && handleChange(newValue);\n\t};\n\n\tconst isDigit = (char: string) => {\n\t\treturn char >= '0' && char <= '9';\n\t}\n\n\tconst isDigitFormat = (char: string) => {\n\t\treturn ['D', 'M', 'Y'].some(c => char === c);\n\t}\n\n\tconst onBlur = () => {\n\t\tprops.onBlur && props.onBlur()\n\t\tisValidatedOnBlur && setFieldTouched(name, true)\n\t}\n\n\treturn (\n\t\t\n\t)\n}\n\nexport default function ManualDateField(props: Props) {\n\treturn (\n\t\t\n\t\t\t{ManualDateInnerField}\n\t\t\n\t)\n}","import { EMPTY_STRING, blurOnEnter } from \"./utils\";\nimport FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport { NumberField as Number, fieldIssues, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport { LOCALE } from \"services/domain\";\nimport { option } from \"fp-ts\";\nimport { useEffect } from \"react\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\ninterface Props {\n\tname: string,\n\tlabel: string,\n\tplaceholder?: string,\n\tdescription?: string,\n\tassistiveText?: string;\n\terror?: string,\n\tmin?: number,\n\tmax?: number,\n\thaveBlurOnEnter?: boolean,\n\ttouched?: boolean,\n\trightContent?: string,\n\thandleChange?: (value: number | null) => unknown,\n\tvalueFormatter?: (value: number) => string,\n\tisValidatedOnBlur?: boolean,\n\tisUnvalidatedOnFocus?: boolean,\n\tonKeyUp?: (ev: React.KeyboardEvent) => void,\n\tonFocus?: () => unknown,\n\tonBlur?: () => unknown,\n\tenforceInputMode?: \"none\" | \"numeric\" | \"decimal\" | \"tel\" | \"text\"\n}\n\nexport function NumberField(props: Props & FormikProps) {\n\tconst { name, label, rightContent, error, min, max, touched, form, value, valueFormatter, handleChange, onKeyUp,\n\t\tplaceholder = EMPTY_STRING,\n\t\tdescription = EMPTY_STRING,\n\t\tassistiveText = EMPTY_STRING,\n\t\thaveBlurOnEnter = false,\n\t\tisValidatedOnBlur = true,\n\t\tisUnvalidatedOnFocus = true,\n\t\tenforceInputMode\n\t} = props;\n\tconst { setFieldValue, setFieldTouched, touched: touches, errors } = form\n\tconst { formatMessage } = useFormatMessage();\n\n\tconst computeIssues = () => {\n\t\tif (touches[name] || touched) {\n\t\t\tif (error) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(error.toString())]));\n\t\t\t}\n\n\t\t\tif (errors[name]) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(errors[name].toString())]));\n\t\t\t}\n\t\t}\n\n\t\treturn option.none;\n\t}\n\n\t// Is already validated in render\n\tconst handleValueFormat = (newValue: number) => unsafeLocalizedString((valueFormatter as (value: number) => string)(newValue));\n\n\tconst onFocus = () => {\n\t\tprops.onFocus && props.onFocus();\n\t\tisUnvalidatedOnFocus && setFieldTouched(name, false);\n\t}\n\n\tconst onBlur = () => {\n\t\tprops.onBlur && props.onBlur();\n\t\tisValidatedOnBlur && setFieldTouched(name, true);\n\t}\n\n\tuseEffect(() => {\n\t\thaveBlurOnEnter && blurOnEnter(name);\n\t}, [haveBlurOnEnter, name]);\n\n\treturn (\n\t\t {\n\t\t\t\tlet newValue = null;\n\t\t\t\tif (option.isSome(number)) {\n\t\t\t\t\tnewValue = number.value;\n\t\t\t\t}\n\t\t\t\tsetFieldValue(name, newValue);\n\t\t\t\thandleChange && handleChange(newValue);\n\t\t\t}}\n\t\t\tonBlur={onBlur}\n\t\t\tmin={min}\n\t\t\tmax={max}\n\t\t\tplaceholder={formatMessage(placeholder)}\n\t\t\tlabel={formatMessage(label)}\n\t\t\tissues={computeIssues()}\n\t\t\tdescription={formatMessage(description)}\n\t\t\tassistiveText={formatMessage(assistiveText)}\n\t\t\trightContent={rightContent ? option.some(formatMessage(rightContent)) : option.none}\n\t\t\tvalueFormatter={valueFormatter ? handleValueFormat : undefined}\n\t\t\tlocale={LOCALE}\n\t\t\tonFocus={onFocus}\n\t\t\tenforceInputMode={enforceInputMode}\n\t\t\tonKeyUp={onKeyUp}\n\t\t/>\n\t)\n}\n\nfunction NumberFieldWrapper(props: Props) {\n\treturn (\n\t\t\n\t\t\t{NumberField}\n\t\t\n\t)\n}\n\nexport default NumberFieldWrapper;\n","import FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport { NumberInputStepperField, fieldIssues } from \"omnichannel-design-system\";\n\nimport { EMPTY_STRING } from \"./utils\";\nimport { Ref } from \"react\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport interface NumberFieldStepperProps {\n\tname: string,\n\tlabel: string | string[],\n\tplaceholder?: string,\n\tdescription?: string | number,\n\tassistiveText?: string,\n\terror?: string,\n\ttouched?: boolean,\n\trightContent?: string,\n\tmin?: number,\n\tmax?: number,\n\tonBlur?: (props: NumberFieldStepperProps & FormikProps) => unknown,\n\tstep?: number,\n\tonChange?: (value: number) => unknown,\n\tisValidatedOnBlur?: boolean,\n\treference?: Ref,\n\tlocale?: string,\n\tdisabled?: boolean,\n}\nconst INITIAL_STEP = 1;\n\nexport const NumberFieldStepper = (props: NumberFieldStepperProps & FormikProps) => {\n\tconst {\n\t\tmin = 0,\n\t\tdescription = EMPTY_STRING,\n\t\tassistiveText = EMPTY_STRING,\n\t\tstep = INITIAL_STEP,\n\t\tdisabled, name, label, error, touched, rightContent, max, form, value, onBlur, reference, isValidatedOnBlur, locale = \"ro\" } = props;\n\tconst { formatMessage, formatFirstAvailableMessage } = useFormatMessage();\n\n\tlet computedLabel;\n\n\tif (Array.isArray(label)) {\n\t\tcomputedLabel = formatFirstAvailableMessage(label)\n\t} else {\n\t\tcomputedLabel = formatMessage(label)\n\t}\n\n\treturn (\n\t\t {\n\t\t\t\tlet newValue = min;\n\t\t\t\tif (option.isSome(number)) {\n\t\t\t\t\tnewValue = number.value;\n\t\t\t\t\tprops.onChange && props.onChange(number.value);\n\t\t\t\t}\n\t\t\t\tform.setFieldValue(name, newValue);\n\t\t\t}}\n\t\t\tonBlur={() => {\n\t\t\t\tisValidatedOnBlur && form.setFieldTouched(name, true);\n\t\t\t\tonBlur && onBlur(props)\n\t\t\t}}\n\t\t\tlabel={computedLabel}\n\t\t\tissues={touched && error ? option.some(fieldIssues.errors([formatMessage(error)])) : option.none}\n\t\t\tdescription={formatMessage(description)}\n\t\t\tassistiveText={formatMessage(assistiveText)}\n\t\t\trightContent={rightContent ? option.some(formatMessage(rightContent)) : option.none}\n\t\t\tmin={min}\n\t\t\tmax={max}\n\t\t\touterStep={step}\n\t\t\tstep={INITIAL_STEP}\n\t\t\tlocale={locale}\n\t\t/>\n\t)\n}\n\nfunction NumberFieldStepperWrapper(props: NumberFieldStepperProps) {\n\treturn (\n\t\t\n\t\t\t{NumberFieldStepper}\n\t\t\n\t)\n}\n\nexport default NumberFieldStepperWrapper;","import { EMPTY_STRING, blurOnEnter } from \"./utils\";\nimport FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport { LocalizedString, PasswordField as Password, fieldIssues } from \"omnichannel-design-system\";\nimport { useCallback, useEffect } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\ninterface Props {\n\tname: string,\n\terror?: string,\n\ttouched?: boolean,\n\tplaceholder?: string,\n\tlabel: string,\n\tdescription?: string,\n\tdescriptionConfirmLabel?: string,\n\tassistiveText?: string,\n\tshowHideButtons?: boolean,\n\tshowHideButtonsIcons?: boolean,\n\thaveBlurOnEnter?: boolean,\n\tvalidate?: (value: string) => unknown,\n\thandleChange?: (value: string) => unknown,\n\tisValidatedOnBlur?: boolean,\n}\n\nfunction computeShowHideButton(showHideButtons: boolean, showHideButtonsIcons: boolean, formatMessage: (key: string | number, values?: LooseObject | undefined) => LocalizedString) {\n\tif (!showHideButtons) {\n\t\treturn option.none;\n\t}\n\n\tif (showHideButtonsIcons) {\n\t\treturn option.some({\n\t\t\thideLabel: formatMessage(\"👁\"),\n\t\t\tshowLabel: formatMessage(\"👁\"),\n\t\t})\n\t}\n\n\treturn option.some({\n\t\thideLabel: formatMessage(\"dbn.passwordField.hide\"),\n\t\tshowLabel: formatMessage(\"dbn.passwordField.show\"),\n\t})\n}\n\n\nexport function PasswordFieldInner({ name, label, showHideButtons, showHideButtonsIcons, error, touched, form, value, handleChange,\n\tplaceholder = EMPTY_STRING,\n\tdescription = EMPTY_STRING,\n\tdescriptionConfirmLabel = EMPTY_STRING,\n\tassistiveText = EMPTY_STRING,\n\thaveBlurOnEnter = false,\n\tisValidatedOnBlur = true }: Props & FormikProps) {\n\tconst { errors, touched: touchedForm, setFieldValue, setFieldTouched } = form;\n\tconst { formatMessage } = useFormatMessage();\n\n\tuseEffect(() => {\n\t\thaveBlurOnEnter && blurOnEnter(name);\n\t}, [haveBlurOnEnter, name])\n\n\tconst computeIssues = () => {\n\t\tif (touched && error) {\n\t\t\treturn option.some(fieldIssues.errors([formatMessage(error)]))\n\t\t}\n\n\t\tif (touchedForm[name] && errors[name]) {\n\t\t\treturn option.some(fieldIssues.errors([formatMessage(errors[name])]))\n\t\t}\n\n\t\treturn option.none;\n\t}\n\n\tconst onChange = useCallback((newValue: string) => {\n\t\tsetFieldValue(name, newValue);\n\t\thandleChange && handleChange(newValue)\n\t}, [handleChange, setFieldValue, name]);\n\n\tconst onBlur = useCallback(() => {\n\t\tisValidatedOnBlur && setFieldTouched(name, true);\n\t}, [name, setFieldTouched, isValidatedOnBlur])\n\n\treturn (\n\t\t\n\t)\n}\n\nexport default function PasswordField(props: Props) {\n\treturn (\n\t\t\n\t\t\t{PasswordFieldInner}\n\t\t\n\t)\n}","import { Box, PinInput as PinInputDS, unsafePositiveInteger, useDeviceUA } from \"omnichannel-design-system\";\nimport FormikProvider, { FormikProps } from \"components/form/commons/FormikProvider\";\nimport { option, taskEither } from \"fp-ts\";\n\nimport { EMPTY_STRING } from \"./utils\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\ntype ValidationFieldProps = {\n name: string;\n onSubmit?: Function;\n readOnly?: boolean;\n error?: boolean;\n width?: string;\n length?: number;\n}\n\nconst inputDisabled = `\n input {\n background-color: ${palette.neutral300};\n }\n`\n\ntype PinInputContentProps = {\n $disabled?: boolean;\n mobile?: boolean;\n}\n\nconst PinInputContentStyled = styled(Box) `\n div > div > div > div > div {\n width: ${({ width, mobile }) => {\n if (!width) {\n width = mobile ? \"calc(100vw - 40px)\" : \"calc(50vw - 48px)\";\n }\n return width\n }};\n justify-content: space-around;\n }\n ${props => props.disabled && inputDisabled} \n`\n\nfunction PinInputInner(props: ValidationFieldProps & FormikProps) {\n const {\n form, name, onSubmit, readOnly, error, width,\n value = EMPTY_STRING,\n length = 6\n } = props;\n const { setFieldValue } = form;\n\n const { isMobile } = useDeviceUA();\n return (\n \n setFieldValue(name, newValue)}\n onSubmit={() => taskEither.fromIO(() => { onSubmit && onSubmit() })}\n submit=\"auto\"\n issues={option.none}\n showValue\n autoFocus\n readOnly={readOnly}\n disabled={readOnly}\n hasError={error}\n />\n \n )\n}\n\nexport default function PinInput(props: ValidationFieldProps) {\n return (\n \n {PinInputInner}\n \n )\n}","import { Box, RadioGroupField as RadioGroup, ReactFragment, Space, fieldIssues } from \"omnichannel-design-system\";\nimport { EMPTY_STRING, NonEmptyArray } from \"./utils\";\nimport FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport { constFalse, identity } from \"fp-ts/function\";\n\nimport { RadioGroupStyled } from \"./styles/radioFieldStyles\";\nimport { ReactChild } from \"react\";\nimport Typography from \"components/Typography\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\nexport type RadioOption = {\n\tvalue: string | boolean,\n\tlabel: string,\n\tdescription?: string,\n\tjsx?: ReactChild | ReactFragment,\n}\n\ninterface Props {\n\tname: string,\n\tlabel?: string,\n\toptions: NonEmptyArray,\n\thandleChange?: (value: string) => unknown,\n\terror?: string,\n\ttouched?: boolean,\n\tvariant?: \"vertical\" | \"horizontal\",\n\textended?: boolean,\n\tdisabled?: boolean,\n\tisValidatedOnBlur?: boolean,\n\tvaluesResetOnChange?: Array<{ key: string, value: any, when?: Function }>\n}\n\nconst renderOption = (options: NonEmptyArray, formatMessage: Function, selectedValue: any) => (radioOption: string) => {\n\tconst currentOption = options.find(item => item.value === radioOption);\n\tlet optionContent = null;\n\tif (currentOption) {\n\t\tconst isSelected = selectedValue === currentOption.value;\n\t\tconst { jsx, description } = currentOption;\n\t\toptionContent = (\n\t\t\t {\n\t\t\t\t\tif (!ref) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (ref.parentNode\n\t\t\t\t\t\t&& ref.parentNode.firstChild\n\t\t\t\t\t\t&& (ref.parentNode.firstChild as any).clientHeight) {\n\n\t\t\t\t\t\tconst difHeight = 22 + (ref.parentNode.firstChild as any).clientHeight;\n\t\t\t\t\t\tref.style.marginTop = `-${difHeight}px`;\n\t\t\t\t\t\tref.style.paddingTop = `${difHeight}px`;\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!!description && (\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(description)}\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{isSelected && [\n\t\t\t\t\t,\n\t\t\t\t\t\n\t\t\t\t\t\t{jsx as ReactFragment}\n\t\t\t\t\t\n\t\t\t\t]}\n\t\t\t\n\t\t);\n\t}\n\treturn option.some(optionContent);\n}\n\nconst VARIANT = \"vertical\";\n\nexport function RadioFieldInner(props: Props & FormikProps) {\n\tconst { name, options, error, touched, form, value, valuesResetOnChange,\n\t\tlabel = EMPTY_STRING,\n\t\tvariant = VARIANT,\n\t\tdisabled = false,\n\t\tisValidatedOnBlur = true } = props;\n\tconst { formatMessage } = useFormatMessage();\n\n\tconst computeOptionLabel = (newValue: string) => {\n\t\tconst currentOption = options.find(item => item.value === newValue);\n\t\treturn formatMessage(currentOption ? currentOption.label : \"\");\n\t};\n\n\tconst formattedOptions: NonEmptyArray = options.map(item => item.value) as NonEmptyArray;\n\treturn (\n\t\t {\n\t\t\t\tif (option.isSome(selectedValue)) {\n\t\t\t\t\tform.setFieldValue(name, selectedValue.value);\n\t\t\t\t\tprops.handleChange && props.handleChange(selectedValue.value);\n\t\t\t\t}\n\n\t\t\t\tvaluesResetOnChange && valuesResetOnChange.length &&\n\t\t\t\t\tvaluesResetOnChange.forEach(item => {\n\t\t\t\t\t\titem.when && item.when(selectedValue) &&\n\t\t\t\t\t\t\tform.setFieldValue(item.key, item.value);\n\t\t\t\t\t});\n\t\t\t}}\n\t\t\tlabel={formatMessage(label)}\n\t\t\tvariant={variant}\n\t\t\toptionKey={identity}\n\t\t\trenderOption={computeOptionLabel}\n\t\t\trenderOptionChildren={renderOption(options, formatMessage, value)}\n\t\t\tisOptionDisabled={constFalse}\n\t\t\tonBlur={() => isValidatedOnBlur && form.setFieldTouched(name, true)}\n\t\t\tissues={touched && error ? option.some(fieldIssues.errors([formatMessage(error)])) : option.none}\n\t\t/>\n\t)\n}\n\nexport function RadioField(props: Props & FormikProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default function RadioFieldWrapper(props: Props) {\n\treturn (\n\t\t\n\t\t\t{RadioField}\n\t\t\n\t)\n}","import { Box, Space, TextField as Text, fieldIssues } from \"omnichannel-design-system\";\nimport FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\n\nimport { EMPTY_STRING } from \"./utils\";\nimport Typography from \"components/Typography\";\nimport { constVoid } from \"fp-ts/lib/function\";\nimport { option } from \"fp-ts\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\nexport const NO_CHANGE_APPLIED = constVoid;\n\ninterface Props {\n\tname: string,\n\tlabel: string,\n\tplaceholder?: string,\n\tdescription?: string,\n\tassistiveText?: string,\n\terror?: string,\n\ttouched?: boolean,\n\thandleChange?: (value: string) => unknown,\n\tvalidate?: (value: string) => unknown,\n\tvirtualKeyboardInputType?: \"text\" | \"numeric\",\n\tisValidatedOnBlur?: boolean,\n\tonBlur?: () => unknown,\n\twidth?: string,\n\tvalue?: string,\n\tdisabled?: boolean,\n\tonChange?: (value: string) => void,\n\terrorDisabled?: boolean,\n\tdescriptionConfirmLabel?: string,\n\tshowAssistiveTextInRight?: boolean;\n}\n\nfunction TextField({ name, label, error, virtualKeyboardInputType, touched, form, value, handleChange, onBlur, onChange, width, showAssistiveTextInRight,\n\terrorDisabled = false,\n\tdisabled = false,\n\tplaceholder = EMPTY_STRING,\n\tdescription = EMPTY_STRING,\n\tdescriptionConfirmLabel = EMPTY_STRING,\n\tassistiveText = EMPTY_STRING,\n\tisValidatedOnBlur = true }: Props & FormikProps) {\n\tconst { formatMessage } = useFormatMessage();\n\tconst { setFieldValue, setFieldTouched, touched: touches, errors } = form;\n\n\tconst computeIssues = () => {\n\t\tif (errorDisabled) {\n\t\t\treturn option.none;\n\t\t}\n\n\t\tif (touches[name] || touched) {\n\t\t\tif (error) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(error.toString())]));\n\t\t\t}\n\n\t\t\tif (errors[name]) {\n\t\t\t\treturn option.some(fieldIssues.errors([formatMessage(errors[name].toString())]));\n\t\t\t}\n\t\t}\n\n\t\treturn option.none;\n\t}\n\n\tconst content = (\n\t\t {\n\t\t\t\tsetFieldValue(name, newValue);\n\t\t\t\thandleChange && handleChange(newValue);\n\t\t\t}}\n\t\t\tonBlur={() => {\n\t\t\t\tonBlur && onBlur()\n\t\t\t\tisValidatedOnBlur && setFieldTouched(name, true)\n\t\t\t}}\n\t\t\tplaceholder={formatMessage(placeholder)}\n\t\t\tlabel={formatMessage(label)}\n\t\t\tissues={computeIssues()}\n\t\t\tdescription={formatMessage(description)}\n\t\t\tdescriptionConfirmLabel={formatMessage(descriptionConfirmLabel)}\n\t\t\tassistiveText={!showAssistiveTextInRight ? formatMessage(assistiveText) : undefined}\n\t\t\tvirtualKeyboardInputType={virtualKeyboardInputType}\n\t\t\tinputMode={virtualKeyboardInputType}\n\t\t/>\n\t)\n\n\tif (showAssistiveTextInRight) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{content}\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(assistiveText)}\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\n\t\t)\n\t}\n\n\treturn content\n}\n\nexport default function TextFieldWrapper(props: Props) {\n\treturn (\n\t\t\n\t\t\t{TextField}\n\t\t\n\t)\n}","import FormikProvider, { FormikProps } from \"./commons/FormikProvider\";\nimport { LocalizedString, TextareaField as Textarea, fieldIssues } from \"omnichannel-design-system\";\n\nimport { EMPTY_STRING } from \"./utils\";\nimport { constVoid } from \"fp-ts/function\";\nimport { option, } from \"fp-ts\";\nimport { useFormatMessage } from \"../../services/formatMessageHook\";\n\ninterface Props {\n\tname: string,\n\tlabel: string,\n\tplaceholder?: string,\n\tdescription?: string,\n\tassistiveText?: string,\n\terror?: string,\n\ttouched?: boolean,\n\thandleChange?: (value: string) => unknown,\n\tisValidatedOnBlur?: boolean,\n}\n\nfunction TextareaField({ name, label, error, touched, value, form, handleChange,\n\tplaceholder = EMPTY_STRING,\n\tdescription = EMPTY_STRING,\n\tassistiveText = EMPTY_STRING,\n\tisValidatedOnBlur = true }: Props & FormikProps) {\n\tconst { formatMessage } = useFormatMessage();\n\n\treturn (\n\t\t {\n\t\t\t\tform.setFieldValue(name, newValue);\n\t\t\t\tif (handleChange) {\n\t\t\t\t\thandleChange(newValue);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonBlur={() => isValidatedOnBlur && form.setFieldTouched(name, true)}\n\t\t\tplaceholder={formatMessage(placeholder)}\n\t\t\tlabel={formatMessage(label)}\n\t\t\tissues={touched && error ? option.some(fieldIssues.errors([formatMessage(error)])) : option.none}\n\t\t\tdescription={formatMessage(description)}\n\t\t\tassistiveText={formatMessage(assistiveText)}\n\t\t\tautogrow={false}\n\t\t/>\n\t)\n}\n\ntype TextareaFieldNoFormikProps = {\n\tvalue: string;\n\tsetValue: (value: string) => unknown;\n\tplaceholder: LocalizedString;\n\tlabel: LocalizedString;\n\tisError?: boolean;\n\terrorLabel?: LocalizedString;\n\tdescription?: LocalizedString;\n\tassistiveText?: LocalizedString;\n}\n\nexport function TextareaFieldNoFormik({ value, setValue, placeholder, label, isError, errorLabel, description, assistiveText }: TextareaFieldNoFormikProps) {\n\treturn (\n\t\t\n\t)\n\n}\n\nexport default function TextareaFieldWrapper(props: Props) {\n\treturn (\n\t\t\n\t\t\t{TextareaField}\n\t\t\n\t)\n}","import { FieldParam, Form } from \"../utils\";\n\nimport { Field } from \"formik\";\n\ninterface Props {\n name: string;\n children: any;\n validate?: Function;\n}\n\nexport interface FormikProps {\n form: Form;\n value: any;\n}\n\n\nfunction FormikProvider(props: Props) {\n const { name, validate } = props;\n const Component = props.children;\n return (\n \n {(param: FieldParam) => }\n \n )\n}\n\nexport default FormikProvider;","import { Box } from \"omnichannel-design-system\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\ntype RadioGroupStyledProps = {\n\textended: boolean | undefined\n}\n\nconst radioGroupExtended = `\n\t> div > div{\n\t\tflex-direction: column !important;\n\t}\n\n\tpadding-left: 10px;\n\t\n\t.checkboxDescription {\n\t\tborder: 2px solid ${palette.neutral300};\n\t\tpadding-right: 12px;\n\t\tpadding-bottom: 12px;\n\t\tpadding-left: 40px;\n\t\tborder-radius: 8px;\n\t\tmargin-left: -40px;\n\t\twidth: calc(100vw - 40px);\n\t}\n\n\tspan {\n\t\tfont-size: 16px;\n\t}\n\n\t.selected{\n\t\tborder: 2px solid ${palette.blue600};\n\t}\n`;\n\nexport const RadioGroupStyled = styled(Box)`\n\tdisplay: flex;\n\tflex: 1;\n\t> div > div {\n\t\twidth: calc(100vw - 40px);\n\t\tflex: 1 !important;\t\n\t}\n\n\t${props => props.extended && radioGroupExtended}\n`;","import { LooseObject } from \"services/types\";\n\ninterface Field {\n\tname: string,\n\tvalue: any\n}\nexport interface Form {\n\tsetFieldTouched: Function;\n\tsetFieldValue: (name: string, value: any) => unknown;\n\terrors: LooseObject;\n\ttouched: LooseObject;\n}\nexport interface FieldParam {\n\tfield: Field,\n\tform: Form,\n}\n\nexport type NonEmptyArray = [T, ...T[]];\n\nexport const EMPTY_STRING = \"\";\nexport const NO_RESULTS_LABEL_DEFAULT = \"dbn.default.noResults\";\nexport const CANCEL_LABEL_DEFAULT = \"dbn.default.cancel\";\nexport const CLEAR_LABEL_DEFAULT = \"dbn.default.clear\";\nexport const LOADING_LABEL_DEFAULT = \"dbn.default.loading\";\nexport const CONFIRM_LABEL_DEFAULT = \"dbn.default.confirm\";\n\nexport function closeKeyboard(element: any){\n\telement.blur(); //actually close the keyboard\n\t// Remove readonly attribute after keyboard is hidden.\n\telement.removeAttribute('readonly');\n\telement.removeAttribute('disabled');\n}\n\nexport function elementOnKeyUpBlur(element: HTMLElement, onKeyCode: number) {\n\treturn ({ keyCode }: { keyCode: number }) => {\n\t\tif (keyCode === onKeyCode) {\n\t\t\telement.setAttribute('readonly', 'readonly'); // Force keyboard to hide on input field.\n\t\t\telement.setAttribute('disabled', 'true'); // Force keyboard to hide on textarea field.\n\t\t\tsetTimeout(() => { closeKeyboard(element) }, 100);\n\t\t}\n\t}\n}\n\nexport function blurOnEnter(name: string) {\n\t// Name is unique in current page\n\tconst element = document.getElementsByName(name)[0];\n\telement && element.addEventListener(\"keyup\", elementOnKeyUpBlur(element, 13));//13 is Enter\n\treturn element;\n}\n","import { Box } from \"omnichannel-design-system\";\nimport styled from \"styled-components\";\n\ntype IconContainerProps = {\n $size?: number\n}\n\nfunction svgSize(props: IconContainerProps){\n if(props.$size){\n return `\n svg {\n width: ${props.$size}px;\n height: ${props.$size}px; \n }`\n }\n}\n\nexport const IconContainerStyled = styled(Box)`\n width: 40px;\n height: 40px;\n justify-content: center;\n align-content: center;\n image {\n width: 40px;\n height: 40px;\n }\n ${svgSize}\n`;\n\nexport const SmallIconContainerStyled = styled(Box)`\n width: 20px;\n height: 20px;\n justify-content: center;\n align-content: center;\n ${svgSize}\n`;","export const PAGE_TITLE = \"title\";\nexport const PAGE_SUBMIT = \"submit\";","import { GlobalEvents } from \"services/globalEvents\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nconst oauthAuthorizeApi = {\n url: \"/authorization/oauth2/consent/noauth/inPerson/esaw\",\n method: \"get\" as Method,\n};\n\nexport default function OauthAuthorize() {\n const location = useLocation();\n\n useEffect(() => {\n executeAxios({\n params: { ...oauthAuthorizeApi, url: oauthAuthorizeApi.url + location.search },\n onFail: console.error,\n onSuccess: (res: { missingUser?: string, consentCode: string }) => {\n if (!res.missingUser) {\n window.location.href = process.env.REACT_APP_API_ENDPOINT + (process.env.REACT_APP_API_PORT ? \":\" + process.env.REACT_APP_API_PORT : \"\") + \"/authorization/noauth/oauth2/authorize\" + location.search + \"&consentCode=\" + res.consentCode;\n } else {\n document.dispatchEvent(new CustomEvent(GlobalEvents.SHOW_SNACK_BAR, {}));\n }\n },\n });\n });\n\n return (\n <>\n \n );\n}\n","import { ACTIVE_OFFER_STATES, PENDING_RESOLUTION_STATE } from \"pages/Resume/service/domain\";\nimport { CashLoanContextProvider, useCashLoanContext } from \"./services/cashLoanContext\";\nimport { Page, initialCashLoanState } from \"./services/domain\";\nimport { executeAxios, getQueryVariable } from \"../../services/axiosHook\";\nimport { useEffect, useState } from \"react\";\n\nimport ActiveOffer from \"./pages/ActiveOffer/ActiveOffer\";\nimport AdditionalIncomeDocuments from \"./pages/AdditionalIncomeDocuments/AdditionalIncomeDocuments\";\nimport AgreementsCashLoan from \"./pages/Agreements/CashLoanAgreements\";\nimport AgreementsSignaturePolling from \"./pages/AgreementsSignature/SignaturePolling/SignaturePolling\";\nimport CancelCashLoanWithFeedback from \"./pages/Feedback/CancelCashLoanWithFeedback\";\nimport ContractSignature from \"./pages/ContractSignature/ContractSignature\";\nimport Contracts from \"./pages/Contracts/Contracts\";\nimport DefaultErrorPage from \"components/DefaultErrorPage\";\nimport ExistingBlockingCashLoanApplications from \"./pages/ExistingBlockingCashLoanApplications/ExistingBlockingCashLoanApplications\";\nimport ExpiredOffer from \"pages/Resume/ExpiredOffer\";\nimport FinancialInformation from \"./pages/FinancialInformation/FinancialInformation\";\nimport FinancialInformationDataAnalyze from \"./pages/FinancialInformationDataAnalyze/FinancialInformationDataAnalyze\";\nimport FinishCashLoanWithFeedback from \"./pages/Feedback/FinishCashLoanWithFeedback\";\nimport GrantedCredit from \"./pages/GrantedCredit/GrantedCredit\";\nimport IncomeDocuments from \"./pages/IncomeDocuments/IncomeDocuments\";\nimport KycExpired from \"../../pages/KycExpired/KycExpired\";\nimport Loader from \"components/Loader\";\nimport LoanApproval from \"./pages/LoanApproval/LoanApproval\";\nimport { LooseObject } from \"services/types\";\nimport { Method } from \"axios\";\nimport OfferSummary from \"./pages/OfferSummary/OfferSummary\";\nimport OurOffer from \"./pages/OurOffer/OurOffer\";\nimport PaymentConfiguration from \"./pages/PaymentConfiguration/PaymentConfiguration\";\nimport { PersonalDataOverviewWrapper } from \"pages/PersonalDataOverview/PersonalDataOverview\";\nimport PrecontractualDocumentsSignaturePolling from \"./pages/PrecontractualDocumentsSignature/SignaturePolling/SignaturePolling\";\nimport PrecontractualDocumentsStatusPolling from \"./pages/PrecontractualDocumentsSignature/StatusPolling/StatusPolling\";\nimport SelectedExternalCredits from \"./pages/SelectedExternalCredits/SelectedExternalCredits\";\nimport { useAppContext } from \"services/appContext\";\n\nconst {\n AGREEMENTS,\n AGREEMENTS_SIGNATURE_POLLING,\n FINANCIAL_INFORMATION,\n FINANCIAL_INFORMATION_DATA_ANALYZE,\n PRELIMINARY_OFFER,\n INCOMES_DOCUMENTS,\n OUR_OFFER,\n PAYMENT_CONFIGURATION,\n CONTRACTS,\n PRECONTRACTUAL_DOCUMENTS_SIGNATURE_POLLING,\n PRECONTRACTUAL_DOCUMENTS_STATUS_POLLING,\n SUMMARY_OFFER,\n LOAN_APPROVAL,\n CONTRACT_SIGNATURE,\n GRANTED_CREDIT,\n LOADING,\n ACTIVE_OFFER,\n SELECTED_EXTERNAL_CREDITS,\n EXPIRED,\n CANCEL_APPLICATION_FEEDBACK,\n FINISH_CASH_LOAN_WITH_FEEDBACK,\n KYC_EXPIRED,\n EXISTING_BLOCKING_APPLICATIONS,\n ADDITIONAL_INCOME_DOCUMENTS,\n ADDITIONAL_INCOME_DOCUMENTS_DATA_ANALYZE,\n} = Page;\n\ntype GetCurrentPageProps = {\n currentPage: string,\n handleSubmit: Function\n};\n\nfunction backToMobileApp() {\n window.location.href = \"mb-unicredit://appredirect/query?appSection=online:products:home\";\n}\n\nexport function getCurrentPage({ currentPage, handleSubmit }: GetCurrentPageProps) {\n switch (currentPage) {\n case AGREEMENTS:\n return ;\n case EXISTING_BLOCKING_APPLICATIONS:\n return ;\n case AGREEMENTS_SIGNATURE_POLLING:\n return ;\n case FINANCIAL_INFORMATION:\n return ;\n case FINANCIAL_INFORMATION_DATA_ANALYZE:\n case ADDITIONAL_INCOME_DOCUMENTS_DATA_ANALYZE:\n return (\n \n );\n case PRELIMINARY_OFFER:\n case OUR_OFFER:\n return ;\n case INCOMES_DOCUMENTS:\n return ;\n case ADDITIONAL_INCOME_DOCUMENTS:\n return ;\n case LOAN_APPROVAL:\n return ;\n case SELECTED_EXTERNAL_CREDITS:\n return ;\n case PAYMENT_CONFIGURATION:\n return ;\n case SUMMARY_OFFER:\n return ;\n case PRECONTRACTUAL_DOCUMENTS_SIGNATURE_POLLING:\n return ;\n case PRECONTRACTUAL_DOCUMENTS_STATUS_POLLING:\n return ;\n case CONTRACTS:\n return ;\n case CONTRACT_SIGNATURE:\n return ;\n case FINISH_CASH_LOAN_WITH_FEEDBACK:\n return ;\n case GRANTED_CREDIT:\n return ;\n case LOADING: return ;\n case ACTIVE_OFFER:\n return ;\n case KYC_EXPIRED:\n return ;\n case CANCEL_APPLICATION_FEEDBACK:\n return ;\n case EXPIRED: return ;\n default:\n return \n }\n}\n\nexport function CashLoanContent() {\n const { currentPage, updateCurrentPage } = useCashLoanContext();\n\n const handleSubmit = (pageTo: Page) => () => {\n updateCurrentPage(pageTo);\n };\n\n return getCurrentPage({ currentPage, handleSubmit });\n}\n\nconst checkResumeLoanConfig = {\n url: \"/packages/loans-ro/checkResume\",\n method: \"POST\" as Method,\n data: {},\n};\n\ntype ResumeResponse = {\n cancelableApplication: boolean;\n status: string;\n applicationId: string;\n currentPage: Page;\n kycExpired: boolean;\n}\n\nexport default function CashLoan() {\n const [loading, setLoading] = useState(true);\n const [initialState, setInitialState] = useState(initialCashLoanState);\n const { configurations, isPersonalDataValid } = useAppContext();\n\n const updateInitialStateWithResumeInfo = ({ status, applicationId, cancelableApplication, currentPage, kycExpired }: ResumeResponse) => {\n let resumeInfo: LooseObject = { cancelableApplication, applicationId };\n\n if (kycExpired) {\n resumeInfo.currentPage = Page.KYC_EXPIRED;\n } else if ((ACTIVE_OFFER_STATES.includes(status) && applicationId) || currentPage === Page.FINISH_CASH_LOAN_WITH_FEEDBACK) {\n resumeInfo.currentPage = Page.ACTIVE_OFFER;\n } else if (PENDING_RESOLUTION_STATE === status && applicationId) {\n resumeInfo.currentPage = Page.GRANTED_CREDIT;\n } else if (!!status) {\n resumeInfo.currentPage = Page.EXPIRED;\n }\n\n setInitialState({ ...initialCashLoanState, ...resumeInfo });\n };\n\n useEffect(() => {\n if (configurations.resumeEnabled) {\n const applicationId = getQueryVariable(\"DBNObjectId\") || null;\n executeAxios({\n params: { ...checkResumeLoanConfig, data: { dbnObjectId: applicationId } },\n onLoading: setLoading,\n onSuccess: updateInitialStateWithResumeInfo\n });\n } else {\n setLoading(false);\n }\n }, [configurations.resumeEnabled]);\n\n if (loading) {\n return ;\n }\n\n if (\n configurations.personalProfileEnabled &&\n !isPersonalDataValid &&\n !initialState.applicationId // If have applicationId is in resume\n ) {\n return \n }\n\n return (\n \n \n \n );\n}","import { Box, Divider, DocumentIcon, Space, Stack, UCInfoIcon, UploadIcon, buttonLink, unsafeLocalizedString, useDeviceUA } from \"omnichannel-design-system\";\nimport { Dispatch, SetStateAction, useCallback, useState } from \"react\";\nimport { FileMeta, getFileClient } from \"../services/useCashLoanUtils\";\nimport { OtherIncomeType, OtherTypeOfIncomeInternalNames } from \"../pages/FinancialInformation/services/domain\";\n\nimport { AlertDialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { Button } from \"components/Button\";\nimport { DOCUMENT_DOWNLOAD_TYPE } from \"../pages/AdditionalIncomeDocuments/services/domain\";\nimport { DocumentDetailsType } from \"pages/DocumentDetails/services/domain\";\nimport { GlobalEvents } from \"../../../services/globalEvents\";\nimport Typography from \"components/Typography\";\nimport { download } from \"pages/DocumentDetails/DocumentDetails\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useAddOtherIncomeDocumentApi } from \"./services/addOtherIncomeDocumentApi\";\nimport { useAppContext } from \"services/appContext\";\nimport useCashLoanTranslation from \"../services/useCashLoanTranslation\";\nimport { useDeleteOtherIncomeDocumentApi } from \"./services/deleteOtherIncomeDocumentApi\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nconst ContainerStyled = styled(Stack)`\n padding: 18px;\n border: solid;\n border-width: 1px;\n border-radius: 8px;\n\n .description {\n color:${palette.neutral500};\n }\n\n .deleteButton {\n padding: 0px;\n min-height: 30px !important\n }\n\n .uploadButton {\n padding: 0px;\n min-height: 30px !important;\n span {\n font-weight: 500 !important;\n }\n }\n`;\n\ntype Props = {\n id: number | string;\n value: string,\n internalName: string\n setFileDetails: (id: number | string, file?: FileMeta) => void;\n income: OtherIncomeType;\n setShowDocument?: Dispatch>;\n setLoading: (isLoading: boolean) => void;\n}\n\nexport default function CardDocumentCreateDelete(props: Props) {\n const { value, internalName, id, setFileDetails, income, setShowDocument, setLoading } = props;\n const { formatMessage: formatMessageWithKey, computeKey } = useCashLoanTranslation(\"cardDocument\");\n const { configurations: { additionalIncomeDocumentMaxSize } } = useAppContext();\n const { formatMessageWithLinkAction, formatMessage } = useFormatMessage();\n const { addOtherIncomeDocument } = useAddOtherIncomeDocumentApi();\n const { deleteOtherIncomeDocument } = useDeleteOtherIncomeDocumentApi();\n const [showConfirmation, setShowConfirmation] = useState(false);\n const [fileMetadata, setFileMetadata] = useState();\n const { isIOS } = useDeviceUA();\n\n const onUploadDocument = useCallback(() => {\n getFileClient({\n isIOS,\n maxSizeMB: additionalIncomeDocumentMaxSize ? Number(additionalIncomeDocumentMaxSize) : 10,\n toLargeFileError: computeKey(\"fileToLarge\"),\n emptyFileError: computeKey(\"fileIsEmpty\"),\n notAcceptedTypeError: computeKey(\"notAcceptedTypeError\"),\n onSuccess: (file) => {\n setLoading(true);\n addOtherIncomeDocument({\n document: {\n content: file.file,\n documentId: typeof id === \"string\" ? 0 : id,\n documentInternalName: internalName,\n id: file.id\n },\n income\n }, {\n onSuccess: ({ url }: { url: string }) => {\n const newMetadata = { ...file, url };\n setFileMetadata(newMetadata);\n setFileDetails(id, newMetadata);\n setLoading(false);\n },\n onFail: (e: { status: number }) => {\n if (e.status === 422) {\n document.dispatchEvent(new CustomEvent(GlobalEvents.SHOW_SNACK_BAR, {\n detail: { message: computeKey(\"fileIsInfected\") }\n }));\n }\n },\n })\n }\n })\n }, [addOtherIncomeDocument, computeKey, setFileDetails, setLoading, id, internalName, income, isIOS, additionalIncomeDocumentMaxSize]);\n\n const onDeleteFile = useCallback(() => {\n setShowConfirmation(true);\n }, [])\n\n const onOpenExistingDocument = useCallback(() => {\n if (!fileMetadata || !fileMetadata.url) {\n return;\n }\n download(fileMetadata.url, fileMetadata.file.name, true);\n }, [fileMetadata])\n\n const onCloseAlert = useCallback(() => {\n setShowConfirmation(false);\n }, [])\n\n const onConfirmAlert = useCallback(() => {\n setShowConfirmation(false);\n if (fileMetadata) {\n deleteOtherIncomeDocument({\n document: {\n content: fileMetadata.file,\n documentId: typeof id === \"string\" ? 0 : id,\n documentInternalName: internalName,\n id: fileMetadata.id\n },\n income\n }, {\n onSuccess: () => {\n setFileMetadata(undefined);\n setFileDetails(id, undefined);\n },\n onLoading: setLoading\n })\n }\n }, [deleteOtherIncomeDocument, setFileDetails, setLoading, id, income, internalName, fileMetadata]);\n\n const documentSubDescription = formatMessageWithLinkAction(\n formatMessageWithKey(\"documentSubDescription_\" + id), {\n action: () => setShowDocument && setShowDocument(DOCUMENT_DOWNLOAD_TYPE[internalName] || DocumentDetailsType.CL_SALARY_INCOME_TEMPLATE),\n key: \"link\",\n linkText: formatMessageWithKey(\"documentLink\")\n });\n\n const documentDescriptionKey = \"documentDescription_\" + id + (income.type.internalName === OtherTypeOfIncomeInternalNames.INCOME_OBTAINED_FROM_THE_CHILD_REARING_ALLOWANCE ? \"_CIC\" : \"\");\n\n return (\n \n \n \n \n\n \n\n \n {formatMessage(value)}\n \n \n\n \n\n \n {formatMessageWithLinkAction(\n formatMessageWithKey(documentDescriptionKey), {\n action: () => setShowDocument && setShowDocument(DOCUMENT_DOWNLOAD_TYPE[internalName]),\n key: \"link\",\n linkText: formatMessageWithKey(\"documentLink\")\n })}\n \n\n {fileMetadata ? (\n \n \n {buttonLink(onOpenExistingDocument, unsafeLocalizedString(fileMetadata.file.name))}\n \n\n \n\n \n \n ) : (\n \n )}\n {showConfirmation && (\n \n )}\n\n \n\n {documentSubDescription && }\n\n \n {documentSubDescription}\n \n \n )\n}","import { Box, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport Typography from \"components/Typography\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport useCashLoanTranslation from \"../services/useCashLoanTranslation\";\n\ntype HeaderProps = {\n incomeType?: string\n}\n\nexport default function IncomeHeader({ incomeType }: HeaderProps) {\n const { formatMessage, computeKey } = useCashLoanTranslation(\"header\");\n\n return (\n \n \n {formatMessage(\"title\")}\n \n\n {!!incomeType && (\n \n {unsafeLocalizedString(incomeType)}\n \n )}\n \n )\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { IncomeDocument } from \"../../pages/IncomeDocuments/services/domain\";\nimport { toBase64 } from \"../../services/useCashLoanUtils\";\n\nconst addOtherIncomeDocumentApi: AxiosRequestConfig = {\n url: \"/packages/loans-ro/additionalIncome/addDocument\",\n method: \"POST\",\n}\n\ntype Request = {\n incomeId: number;\n documentId: number;\n contentType: string;\n incomeInternalName: string;\n uploadedFileName: string;\n documentInternalName: string;\n id: string;\n content: string;\n}\n\nexport function useAddOtherIncomeDocumentApi() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n const addOtherIncomeDocument = useCallback(async (incomeDocument: IncomeDocument, callbacks?:ExecuteAxiosFunctions) => {\n const { document, income } = incomeDocument;\n const request: Request = {\n content: (await toBase64(document.content) as string).split(\",\")[1],\n id: document.id,\n documentId: document.documentId,\n documentInternalName: document.documentInternalName,\n incomeId: income.type.id,\n incomeInternalName: income.type.internalName,\n uploadedFileName: document.content.name,\n contentType: document.content.type\n };\n\n executeAxios({\n params: { ...addOtherIncomeDocumentApi, data: request },\n onLoading: setLoading,\n onFail: setError,\n ...callbacks\n })\n }, [])\n\n return {\n loading,\n error,\n addOtherIncomeDocument\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { IncomeDocument } from \"../../pages/IncomeDocuments/services/domain\";\n\nconst removeIncomeDocumentApi: AxiosRequestConfig = {\n url: \"/packages/loans-ro/additionalIncome/removeDocument\",\n method: \"POST\",\n}\n\ntype Request = {\n incomeId: number;\n documentId: number;\n contentType: string;\n incomeInternalName: string;\n documentInternalName: string;\n id: string;\n}\n\nexport function useDeleteOtherIncomeDocumentApi() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n const deleteOtherIncomeDocument = useCallback(async (incomeDocument: IncomeDocument, callbacks?: ExecuteAxiosFunctions) => {\n const { document, income } = incomeDocument;\n const request: Request = {\n id: document.id,\n documentId: document.documentId,\n documentInternalName: document.documentInternalName,\n incomeId: income.type.id,\n incomeInternalName: income.type.internalName,\n contentType: document.content.type\n };\n\n executeAxios({\n params: { ...removeIncomeDocumentApi, data: request },\n onLoading: setLoading,\n onFail: setError,\n ...callbacks\n })\n }, [])\n\n return {\n loading,\n error,\n deleteOtherIncomeDocument\n }\n}","import { Box, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"../../../../components/Button\";\nimport GeneralError from \"pages/GeneralError/GeneralError\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport Typography from \"components/Typography\";\nimport image from \"assets/CashLoan/active-credit-request.png\";\nimport { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useResumeApplication } from \"./services/activeOfferServices\";\n\ntype ActiveOfferProps = {\n\tonCancel: () => unknown;\n}\n\nexport default function ActiveOffer({ onCancel }: ActiveOfferProps) {\n\n\tconst { formatMessage } = useFormatMessage();\n\tconst { applicationId, cancelableApplication, setContext } = useCashLoanContext();\n\tconst { resumeApplication, loading, error } = useResumeApplication({ setContext });\n\n\tconst handleSubmit = () => {\n\t\tresumeApplication(applicationId);\n\t};\n\n\tif (loading) {\n\t\treturn ;\n\t}\n\n\tif (error) {\n\t\tconst textCode = error.config.url.includes(\"cancel\") ? \"dbn.cancelLoan.error\" : \"dbn.resumeLoan.error\";\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(\"dbn.activeOffer.description\")}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t\t{formatMessage(\"dbn.activeOffer.title\")}\n\t\t\t\n\n\t\t\t\n\t\t\t\t{\n\t\t\t\t\tcancelableApplication &&\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}","import { ACTIVE_OFFER_STATES, PENDING_RESOLUTION_STATE } from \"pages/Resume/service/domain\";\nimport { CashLoanState, Page, initialCashLoanState } from \"flows/CashLoan/services/domain\";\nimport { OfferType, OfferTypeRequest } from \"../../OurOffer/services/domain\";\nimport { useCallback, useState } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst resumeLoanConfig = {\n url: \"/packages/loans-ro/resume\",\n method: \"POST\" as Method\n};\n\ntype ResumeApplicationProps = {\n setContext: Function\n}\n\nconst keyToValue: LooseObject = {\n amount: \"loanAmount\",\n period: \"tenor\",\n paymentDay: \"dueDay\",\n paymentType: \"installmentType\",\n\n};\n\nfunction computeInitialResumeData(data: LooseObject) {\n const resumeData: LooseObject = {};\n const resumeStructure = {\n ...initialCashLoanState, ...{\n ourOffer: { amount: \"\", period: \"\", paymentDay: \"\", paymentType: \"\", offerType: \"\", offerWithRefinancing: \"\", refinancedCredits: \"\", refinancingChanged: \"\", totalLoanAmount: \"\", insurance: \"\" }\n }\n }\n for (const key of Object.keys(resumeStructure)) {\n if (!data[key]) {\n continue;\n }\n\n const item = data[key];\n const templateItem = resumeStructure[key as keyof CashLoanState];\n \n if (typeof templateItem === \"object\") {\n resumeData[key] = {};\n Object.keys(templateItem).forEach(subKey => {\n resumeData[key][subKey] = item[keyToValue[subKey] ? keyToValue[subKey] : subKey];\n });\n continue;\n }\n resumeData[key] = item;\n\n }\n\n if (!resumeData.ourOffer) {\n return resumeData;\n }\n\n if (resumeData.ourOffer.paymentDay) {\n resumeData.ourOffer.paymentDay = String(resumeData.ourOffer.paymentDay);\n }\n\n if (data.ourOffer && data.ourOffer.refinancedCredits) {\n resumeData.ourOffer.refinancedCredits = data.ourOffer.refinancedCredits;\n }\n\n if (data.ourOffer.offerType) {\n resumeData.ourOffer.offerType = OfferType[data.ourOffer.offerType as OfferTypeRequest]\n }\n\n if (data.ourOffer.insurance) {\n resumeData.ourOffer.gdprAcord = data.ourOffer.insurance;\n }\n\n return resumeData;\n}\n\nfunction updateContextWithResumeData(data: LooseObject, setContext: Function) {\n const resumeData: LooseObject = computeInitialResumeData(data);\n\n // If are more then 3 condition that make logic together create a function\n if (resumeData.ourOffer && data.initialOffersResponse) {\n resumeData.ourOffer.ourOfferPageData = data.initialOffersResponse;\n }\n\n resumeData.initialOffersResponse = data.initialOffersResponse;\n setContext({ ...initialCashLoanState, ...resumeData });\n}\n\nexport function useResumeApplication({ setContext }: ResumeApplicationProps) {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n\n const resumeApplication = useCallback((applicationId?: string) => {\n executeAxios({\n params: { ...resumeLoanConfig, data: { applicationId } },\n onFail: setError,\n onLoading: setLoading,\n onSuccess: ({ statusLoan, ...data }: LooseObject) => {\n if (PENDING_RESOLUTION_STATE === statusLoan) {\n if (data.currentPage !== Page.FINISH_CASH_LOAN_WITH_FEEDBACK) {\n data.currentPage = Page.GRANTED_CREDIT;\n }\n } else if (!!statusLoan && !ACTIVE_OFFER_STATES.includes(statusLoan)) {\n data.currentPage = Page.EXPIRED;\n }\n\n updateContextWithResumeData(data, setContext);\n }\n });\n }, [setContext]);\n\n return {\n loading,\n error,\n resumeApplication,\n };\n}\n","import { AngleRightIcon, Box, DocumentIcon, DownloadIcon, NavigationElement, Space, Stack, TextField, fieldIssues, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { DocumentDetailsType, ReportCodes } from \"pages/DocumentDetails/services/domain\";\nimport { FileMeta, uuidV4 } from \"flows/CashLoan/services/useCashLoanUtils\";\nimport { useCallback, useState } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport CardDocumentCreateDelete from \"flows/CashLoan/components/CardDocumentCreateDelete\";\nimport { DOCUMENT_DOWNLOAD_TYPE } from \"./services/domain\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport LoadingButton from \"components/LoadingButton\";\nimport Typography from \"components/Typography\";\nimport { constVoid } from \"fp-ts/lib/function\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\nimport useCashLoanTranslation from \"flows/CashLoan/services/useCashLoanTranslation\";\nimport useLoadData from \"./services/useLoadData\";\nimport { useLoadingPipeline } from \"helper/loadingPipeline\";\nimport { useSaveOtherIncomeApi } from \"../IncomeDocuments/services/saveOtherIncomeApi\";\n\ntype Props = {\n onSubmit: () => void;\n}\n\ntype Document = {\n id: number | string;\n file?: FileMeta | undefined;\n}\n\ntype SetDocuments = (value: React.SetStateAction) => void;\n\nfunction onAddDocument(setDocuments: SetDocuments, setNewIdDocument: React.Dispatch>) {\n return (id: number | string, fileMeta?: FileMeta) => {\n setDocuments(previousDocuments => {\n const currentDocument = previousDocuments.find(item => item.id === id);\n\n if (currentDocument) {\n return previousDocuments;\n }\n\n if (fileMeta) {\n previousDocuments.push({ id, file: fileMeta });\n setNewIdDocument(uuidV4());\n }\n\n return [...previousDocuments];\n })\n }\n}\n\nfunction onRemoveDocument(setDocuments: SetDocuments,) {\n return (id: number | string, fileMeta?: FileMeta) => {\n setDocuments(previousDocuments => {\n const currentDocument = previousDocuments.find(item => item.id === id);\n\n if (!currentDocument || fileMeta) {\n return previousDocuments;\n }\n\n return previousDocuments.filter(item => item.id !== id);\n })\n }\n}\n\nconst income = {\n type: {\n id: 0,\n internalName: \"Alte documente\",\n value: \"Alte documente\"\n },\n income: 0,\n employerCUI: \"\",\n}\n\nexport default function AdditionalIncomeDocuments(props: Props) {\n const { onSubmit } = props;\n const { formatMessage, computeKey } = useCashLoanTranslation();\n const { loading, additionalIncomeDocument, modelDocuments } = useLoadData();\n const { saveOtherIncome } = useSaveOtherIncomeApi();\n const [showModelsDownload, setShowModelsDownload] = useState(false);\n const [documents, setDocuments] = useState([]);\n const [message, setMessage] = useState(\"\");\n const { financialInformation, updateFinancialInformation } = useCashLoanContext();\n const [showDocument, setShowDocument] = useState();\n const { loading: elementLoading, handleLoading } = useLoadingPipeline(false);\n const [newIdDocument, setNewIdDocument] = useState(uuidV4());\n\n const onContinue = useCallback((resolve: (isSuccessfully: boolean) => void) => {\n saveOtherIncome(() => {\n resolve(true);\n financialInformation.otherIncomeTypes = [];\n updateFinancialInformation(financialInformation);\n onSubmit();\n }, message)\n resolve(true);\n }, [onSubmit, saveOtherIncome, message, financialInformation, updateFinancialInformation]);\n\n const onOpenModelsDialog = useCallback(() => {\n setShowModelsDownload(true);\n }, []);\n\n const onCloseDocument = useCallback(() => {\n setShowDocument(undefined);\n setShowModelsDownload(true);\n }, [])\n\n if (loading) {\n return ;\n }\n\n const continueIsDisabled = (!documents || !documents.some(item => item.file))\n && (!message.length || message.length > 200);\n\n return (\n \n \n\n \n {formatMessage(\"description\")}\n \n\n \n {unsafeLocalizedString(additionalIncomeDocument?.reworkComments?.join(\" \") ?? \"\")}\n \n )} type=\"warning\" />\n\n \n\n {documents.map((document) => (\n \n ))}\n\n \n\n 200 ? option.some(fieldIssues.errors([formatMessage(\"input.toLong\")])) : option.none}\n />\n\n \n\n \n\n {showModelsDownload && (\n setShowModelsDownload(false)}\n title={formatMessage(\"modal.title\")}\n >\n \n {modelDocuments?.map(document => (\n \n {\n setShowModelsDownload(false);\n setShowDocument(DOCUMENT_DOWNLOAD_TYPE[document.internalName])\n }}\n rightIcon={DownloadIcon}\n leftIcon={DocumentIcon}\n firstLine={unsafeLocalizedString(document.value)}\n variant=\"icon\"\n />\n\n \n \n ))}\n \n \n )}\n\n {showDocument && (\n \n )}\n \n )\n}","import { Category } from \"flows/services/domain\";\nimport { DOCUMENTS_INCOME_INTERNAL_NAMES } from \"../../IncomeDocuments/services/domain\";\nimport { DocumentDetailsType } from \"pages/DocumentDetails/services/domain\";\n\nconst { CERTIFICATE_UCB_FORMAT, CERTIFICATE_DAILY_ALLOWANCE_RATES_UCB_FORMAT } = DOCUMENTS_INCOME_INTERNAL_NAMES;\n\nexport const DOCUMENT_TEMPLATE = {\n CERTIFICATE_UCB_FORMAT,\n CERTIFICATE_CRC: \"Acord CRC UCFin\", //47,\n CERTIFICATE_DAILY_ALLOWANCE_RATES_UCB_FORMAT\n}\n\nexport const FINANCIAL_DATA = [Category.IncomeDocuments, Category.IncomeType];\n\nexport const DOCUMENT_DOWNLOAD_TYPE: {[key: string]: DocumentDetailsType} = {\n [DOCUMENT_TEMPLATE.CERTIFICATE_UCB_FORMAT]: DocumentDetailsType.CL_SALARY_INCOME_TEMPLATE,\n [DOCUMENT_TEMPLATE.CERTIFICATE_CRC]: DocumentDetailsType.CL_AGREEMENT_CRC_TEMPLATE, \n [DOCUMENT_TEMPLATE.CERTIFICATE_DAILY_ALLOWANCE_RATES_UCB_FORMAT]: DocumentDetailsType.CL_DAILY_INCOME_TEMPLATE,\n}","import { useCallback, useState } from \"react\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst getAdditionalDocumentsApi: AxiosRequestConfig = {\n url: \"/packages/loans-ro/additionalIncome/getAdditionalDocuments\",\n method: \"POST\",\n}\n\nexport type GetAdditionalDocumentsResponse = {\n incomeInternalName: string;\n reworkComments: string[];\n}\n\nexport function useGetAdditionalIncomeDocuments() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const [data, setData] = useState();\n\n const getAdditionalIncomeDocuments = useCallback(() => {\n executeAxios({\n params: getAdditionalDocumentsApi,\n onSuccess: setData,\n onLoading: setLoading,\n onFail: setError\n })\n }, [])\n\n return {\n loading,\n error,\n data,\n getAdditionalIncomeDocuments\n }\n}","import { useCallback, useState } from \"react\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst getAdditionalIncomeEnableApi: AxiosRequestConfig = {\n url: \"/packages/loans-ro/additionalIncome/enabled\",\n method: \"POST\",\n}\n\nexport type GetAdditionalIncomeEnabledResponse = {\n additionalIncomeEnabled: boolean;\n}\n\nexport default function useGetAdditionalIncomeEnabled() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const [isAdditionalIncomeEnabled, setIsAdditionalIncomeEnabled] = useState();\n\n const getAdditionalIncomeEnabled = useCallback(() => {\n executeAxios({\n params: getAdditionalIncomeEnableApi,\n onSuccess: (response: GetAdditionalIncomeEnabledResponse) => setIsAdditionalIncomeEnabled(response.additionalIncomeEnabled),\n onLoading: setLoading,\n onFail: setError\n })\n }, [])\n\n return {\n loading,\n error,\n isAdditionalIncomeEnabled,\n getAdditionalIncomeEnabled\n }\n}","import { DOCUMENT_TEMPLATE, FINANCIAL_DATA } from \"./domain\";\nimport { useEffect, useState } from \"react\";\n\nimport { Category } from \"flows/services/domain\";\nimport { CategoryItem } from \"../../FinancialInformation/services/domain\";\nimport { getCategoryItem } from \"flows/CashLoan/services/useCashLoanUtils\";\nimport { useFinancialApi } from \"flows/services/financialApi\";\nimport { useGetAdditionalIncomeDocuments } from \"./getAdditionalIncomeDocuments\";\nimport { useLoadingPipeline } from \"helper/loadingPipeline\";\n\nexport default function useLoadData() {\n const { loading, handleLoading } = useLoadingPipeline();\n const { financialData, financialDataLoading } = useFinancialApi(FINANCIAL_DATA);\n const { data: additionalIncomeDocument, getAdditionalIncomeDocuments, loading: loadingAdditionalIncome } = useGetAdditionalIncomeDocuments();\n const [modelDocuments, setModelDocuments] = useState();\n\n useEffect(getAdditionalIncomeDocuments, [getAdditionalIncomeDocuments]);\n\n useEffect(() => handleLoading(\"loadingAdditionalIncome\")(loadingAdditionalIncome), [loadingAdditionalIncome, handleLoading]);\n useEffect(() => handleLoading(\"financialDataLoading\")(financialDataLoading), [financialDataLoading, handleLoading]);\n\n useEffect(() => handleLoading(\"modelDocuments\")(!modelDocuments), [modelDocuments, handleLoading]);\n\n useEffect(() => {\n if (!financialData || !additionalIncomeDocument) {\n return;\n }\n\n setModelDocuments(\n getCategoryItem({\n financialData: financialData.financialData,\n category: Category.IncomeDocuments,\n internalNames: Object.values(DOCUMENT_TEMPLATE)\n })\n )\n\n }, [additionalIncomeDocument, financialData])\n\n return {\n loading,\n modelDocuments,\n additionalIncomeDocument,\n }\n}","import { Body, Box, Stack, buttonLink } from \"omnichannel-design-system\";\nimport { ClientInfo, StartApplicationResponse } from \"flows/services/domain\";\nimport { DocumentDetailsType, ReportCodes } from \"pages/DocumentDetails/services/domain\";\nimport { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { REQUEST_DAR, sendDarOption } from \"flows/CashLoan/services/darRequest\";\nimport { gdprLogApiConfig, gdprLogBeforeCheckSign } from \"flows/services/gdprLogApi\";\nimport {\n useDocConsentTimestampApi,\n useParamConsentTimestampApi\n} from \"../../services/consentApi\";\nimport { useGenerateDocumentApi, useGenerateMultipleDocumentsApi } from \"services/documentApi\";\n\nimport Banner from \"components/Banner\";\nimport { Button } from \"components/Button\";\nimport Checkbox from \"components/Checkbox\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport LoadingButton from \"components/LoadingButton\";\nimport NavigationSwitch from \"components/NavigationSwitch\";\nimport Typography from \"components/Typography\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\nimport { useEnumRetrieval } from \"services/enumRetrieval\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useGetClientInfoApi } from \"flows/services/clientInfoApi\";\nimport { useLoadingPipeline } from \"helper/loadingPipeline\";\nimport { useStartApplication } from \"./services/startApplicationApi\";\n\ntype GdprBannerProps = {\n details?: any,\n lifeInsurance: boolean,\n monthlyTurnover: boolean,\n accepted: boolean,\n staff: boolean\n}\nexport function GdprBanner({ lifeInsurance, monthlyTurnover, accepted, staff }: GdprBannerProps) {\n const { formatMessage } = useFormatMessage();\n if ((lifeInsurance && (staff || monthlyTurnover)) || !accepted) {\n return ;\n }\n const mappedWarnings = [\n { is: !staff && !lifeInsurance && !monthlyTurnover, message: \"dbn.agreements.gdpr.lifeInsurance.and.monthlyTurnover.warning\" },\n { is: !staff && !monthlyTurnover, message: \"dbn.agreements.gdpr.monthlyTurnover.warning\" },\n { is: !lifeInsurance, message: \"dbn.agreements.gdpr.lifeInsurance.warning\" }\n ];\n for (const warning of mappedWarnings) {\n if (warning.is) {\n return (\n \n )\n }\n }\n return ;\n}\n\ninterface Props {\n onSubmit: () => unknown;\n}\nexport default function CashLoanAgreements(props: Props) {\n const { startApplication } = useStartApplication();\n const { updateCurrentPageToExistingBlockingApplications } = useCashLoanContext();\n const { formatMessage } = useFormatMessage();\n const { getEnumKeyByEnumValue } = useEnumRetrieval();\n const { generateDocument, loading: documentLoading } = useGenerateDocumentApi();\n const { generateMultipleDocuments } = useGenerateMultipleDocumentsApi();\n const { updateConsentTimestamp } = useDocConsentTimestampApi();\n const { updateParamConsentTimestamp, loading: paramConsentLoading } = useParamConsentTimestampApi();\n const { loading, handleLoading } = useLoadingPipeline();\n const { getClientInfo } = useGetClientInfoApi();\n\n const [showGuide, setShowGuide] = useState(false);\n const [selectedDocumentType, setSelectedDocumentType] = useState(undefined);\n const [creditApplicationToggle, setCreditApplicationToggle] = useState(false);\n const [anafToggle, setAnafToggle] = useState(false);\n const [creditBureauToggle, setCreditBureauToggle] = useState(false);\n const [gdprToggle, setGdprToggle] = useState(false);\n const [gdprLifeInsurance, setGdprLifeInsurance] = useState(false);\n const [gdprMonthlyTurnover, setGdprMonthlyTurnover] = useState(false);\n const [allAgreementsApproved, setAllAgreementsApproved] = useState(false);\n const [isStaff, setIsStaff] = useState(false);\n\n const monthlyTurnover = \"monthlyTurnover\";\n const lifeInsurance = \"lifeInsurance\";\n\n useEffect(() => {\n startApplication({\n onSuccess: (response: StartApplicationResponse) => {\n if (response?.activeApplications?.length || response?.lastRejectedApplication) {\n updateCurrentPageToExistingBlockingApplications(\n response.activeApplications,\n response.lastRejectedApplication\n );\n return;\n }\n generateMultipleDocuments([\n { data: { reportCode: ReportCodes[DocumentDetailsType.CL_CREDIT_APPLICATION] } },\n { data: { reportCode: ReportCodes[DocumentDetailsType.CL_ANAF] } },\n { data: { reportCode: ReportCodes[DocumentDetailsType.CL_CREDIT_BUREAU_NOTICE] } },\n { data: { reportCode: ReportCodes[DocumentDetailsType.CL_GDPR], params: { lifeInsurance: false, monthlyTurnover: false } } },\n ], {\n onLoading: handleLoading(\"generateDocumentsLoading\"),\n onFail: () => handleLoading(\"generateDocumentsLoadingFailed\")(true)\n });\n getClientInfo({\n onSuccess: (content: ClientInfo) => setIsStaff(content.staff),\n onLoading: handleLoading(\"getClientInfoLoanding\"),\n onFail: () => handleLoading(\"getClientInfoFailed\")(true)\n })\n },\n onFail: () => handleLoading(\"startApplicationLoadingFailed\")(true),\n onLoading: handleLoading(\"startApplicationLoading\")\n });\n }, [generateMultipleDocuments, getClientInfo, handleLoading, startApplication, updateCurrentPageToExistingBlockingApplications]);\n\n const handleOpenGuide = () => {\n setShowGuide(true);\n };\n const handleCloseGuide = () => {\n setShowGuide(false);\n };\n\n const handleOnDocumentLinkClick = (documentType: DocumentDetailsType) => {\n setSelectedDocumentType(documentType);\n }\n const handleOnConfirm = (documentType: DocumentDetailsType) => {\n updateConsentTimestamp({ data: { consentType: getEnumKeyByEnumValue(DocumentDetailsType, documentType.toString()), accepted: true } }, {\n onSuccess: () => {\n setSelectedDocumentType(undefined);\n changeToggle(documentType, true);\n }\n }\n );\n }\n const handleOnClose = () => {\n setSelectedDocumentType(undefined);\n }\n\n const changeToggle = useCallback((documentType: DocumentDetailsType, accepted: boolean) => {\n switch (documentType) {\n case DocumentDetailsType.CL_CREDIT_APPLICATION:\n setCreditApplicationToggle(accepted);\n break;\n case DocumentDetailsType.CL_ANAF:\n setAnafToggle(accepted);\n break;\n case DocumentDetailsType.CL_CREDIT_BUREAU_NOTICE:\n setCreditBureauToggle(accepted);\n break;\n case DocumentDetailsType.CL_GDPR:\n setGdprToggle(accepted);\n break;\n }\n }, []);\n\n const handleAgreementSwitchToggleAction = (documentType: DocumentDetailsType) => {\n let currentToggleValue = false;\n switch (documentType) {\n case DocumentDetailsType.CL_CREDIT_APPLICATION:\n currentToggleValue = creditApplicationToggle;\n break;\n case DocumentDetailsType.CL_ANAF:\n currentToggleValue = anafToggle;\n break;\n case DocumentDetailsType.CL_CREDIT_BUREAU_NOTICE:\n currentToggleValue = creditBureauToggle;\n break;\n case DocumentDetailsType.CL_GDPR:\n currentToggleValue = gdprToggle;\n break;\n }\n\n const newToggleValue = !currentToggleValue;\n changeToggle(documentType, newToggleValue);\n updateConsentTimestamp(\n {\n data: {\n consentType: getEnumKeyByEnumValue(DocumentDetailsType, documentType.toString()),\n accepted: newToggleValue\n }\n }, {\n onSuccess: () => changeToggle(documentType, newToggleValue),\n onFail: () => changeToggle(documentType, currentToggleValue)\n })\n };\n\n const handleCheckboxChange = (checkboxName: string, checked: boolean) => {\n if (checkboxName === monthlyTurnover) {\n setGdprMonthlyTurnover(checked);\n updateParamConsentTimestamp({ data: { paramConsentType: checkboxName, accepted: checked } }, {\n onFail: () => setGdprMonthlyTurnover(!checked)\n });\n }\n if (checkboxName === lifeInsurance) {\n setGdprLifeInsurance(checked);\n updateParamConsentTimestamp({ data: { paramConsentType: checkboxName, accepted: checked } }, {\n onFail: () => setGdprLifeInsurance(!checked)\n });\n }\n };\n\n useEffect(() => setAllAgreementsApproved(creditApplicationToggle && anafToggle && creditBureauToggle && gdprToggle),\n [creditApplicationToggle, anafToggle, creditBureauToggle, gdprToggle]);\n\n const handleSign = (resolved: (isSuccessfully: boolean) => unknown) => {\n\n const executeFail = (message: string) => {\n console.error(message);\n resolved(false);\n }\n\n if (allAgreementsApproved) {\n generateDocument(\n { data: { reportCode: ReportCodes[DocumentDetailsType.CL_GDPR], params: { lifeInsurance: gdprLifeInsurance, monthlyTurnover: gdprMonthlyTurnover } } }, {\n onSuccess: () => (\n gdprLogBeforeCheckSign(gdprLogApiConfig, {\n onSuccess: () => sendDarOption(\n REQUEST_DAR.CONSUMER_FINANCE_CONSENTS, {\n onSuccess: () => {\n resolved(true);\n props.onSubmit();\n },\n onFail: () => executeFail(REQUEST_DAR.CONSUMER_FINANCE_CONSENTS + \" fail\")\n }),\n onFail: () => executeFail(\"Gdpr Log fail\")\n })),\n onFail: () => executeFail(\"Generate GDPR document fail\")\n })\n }\n };\n\n const handleGoBack = () => {\n window.location.href = \"mb-unicredit://appredirect/back\"\n };\n\n if (loading) {\n return \n }\n\n if (showGuide) {\n return (\n \n )\n }\n\n if (selectedDocumentType) {\n if (selectedDocumentType === DocumentDetailsType.CL_GDPR) {\n return (\n handleOnConfirm(selectedDocumentType)}\n isReadOptional={true}\n translationsKeys={{\n title: `dbn.agreements.${selectedDocumentType}.agreement.title`,\n description: `dbn.agreements.${selectedDocumentType}.agreement.description`,\n confirmationButtonText: `dbn.agreements.${selectedDocumentType}.agreement.confirm.document`,\n downloadButtonText: `dbn.agreements.${selectedDocumentType}.agreement.download.document`\n }}\n />\n )\n } else {\n return (\n handleOnConfirm(selectedDocumentType)}\n isReadOptional={true}\n translationsKeys={{\n title: `dbn.agreements.${selectedDocumentType}.agreement.title`,\n description: `dbn.agreements.${selectedDocumentType}.agreement.description`,\n confirmationButtonText: `dbn.agreements.${selectedDocumentType}.agreement.confirm.document`,\n downloadButtonText: `dbn.agreements.${selectedDocumentType}.agreement.download.document`\n }}\n />\n )\n }\n }\n\n return (\n \n\n \n \n\n \n \n {formatMessage(\"dbn.agreements.description\")}\n \n \n \n \n {[\n formatMessage(\"dbn.agreements.description.with.link.before.link.placeholder\"),\n buttonLink(handleOpenGuide, formatMessage(\"dbn.agreements.description.with.link.placeholder\")),\n formatMessage(\"dbn.agreements.description.with.link.after.link.placeholder\")\n ]}\n \n \n \n \n\n \n \n {[\n formatMessage(\"dbn.agreements.credit.application.agreement.switch.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(DocumentDetailsType.CL_CREDIT_APPLICATION), formatMessage(\"dbn.agreements.credit.application.agreement.switch.description.link\"))]}\n }\n switchOn={creditApplicationToggle}\n toggleAction={() => handleAgreementSwitchToggleAction(DocumentDetailsType.CL_CREDIT_APPLICATION)}\n />\n \n {[\n formatMessage(\"dbn.agreements.anaf.agreement.switch.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(DocumentDetailsType.CL_ANAF), formatMessage(\"dbn.agreements.anaf.agreement.switch.description.link\")),\n formatMessage(\"dbn.agreements.anaf.agreement.switch.description.after\")]}\n }\n switchOn={anafToggle}\n toggleAction={() => handleAgreementSwitchToggleAction(DocumentDetailsType.CL_ANAF)}\n />\n \n \n {[formatMessage(\"dbn.agreements.credit.bureau.agreement.switch.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(DocumentDetailsType.CL_CREDIT_BUREAU_NOTICE), formatMessage(\"dbn.agreements.credit.bureau.agreement.switch.description.link\")),\n formatMessage(\"dbn.agreements.credit.bureau.agreement.switch.description.after\")]}\n }\n switchOn={creditBureauToggle}\n toggleAction={() => handleAgreementSwitchToggleAction(DocumentDetailsType.CL_CREDIT_BUREAU_NOTICE)}\n />\n \n {[\n formatMessage(\"dbn.agreements.gdpr.agreement.switch.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(DocumentDetailsType.CL_GDPR), formatMessage(\"dbn.agreements.gdpr.agreement.switch.description.link\")),\n formatMessage(\"dbn.agreements.gdpr.agreement.switch.description.after\")]}\n }\n switchOn={gdprToggle}\n toggleAction={() => handleAgreementSwitchToggleAction(DocumentDetailsType.CL_GDPR)}\n />\n {gdprToggle && (\n <>\n {!isStaff &&\n handleCheckboxChange(monthlyTurnover, checked)}\n />\n }\n handleCheckboxChange(lifeInsurance, checked)}\n />\n \n )}\n \n \n\n \n \n \n \n \n \n \n \n \n );\n}","import { useCallback } from \"react\";\nimport { Method } from \"axios\";\nimport { executeAxios, ExecuteAxiosFunctions } from \"services/axiosHook\";\nimport { StartApplicationResponse } from \"../../../../services/domain\";\n\nconst apiConfig = {\n\tmethod: \"post\" as Method,\n\turl: \"packages/loans-ro/start\"\n};\n\ntype StartApplicationProps = ExecuteAxiosFunctions & {\n\tonSuccess: (response: StartApplicationResponse) => unknown\n}\n\nexport function useStartApplication() {\n\treturn {\n\t\tstartApplication: useCallback(({ onSuccess, onLoading, onFail }: StartApplicationProps) => executeAxios({\n\t\t\tparams: apiConfig,\n\t\t\tonSuccess,\n\t\t\tonLoading,\n\t\t\tonFail\n\t\t}), [])\n\t};\n}","import { Body, Box, LocalizedBold, LocalizedString, Stack, bold, } from \"omnichannel-design-system\";\n\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport { NonEmptyArray } from \"components/form/utils\";\nimport SignatureComponent from \"pages/Signature/Signature\";\nimport ToBeContacted from \"pages/ToBeContacted/ToBeContacted\";\nimport styled from \"styled-components\";\nimport { useConsentsSignApi } from \"./services/signConsents\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ninterface Props {\n\tonSubmit: () => unknown\n}\n\nconst ContainerStyled = styled(Stack)`\n\t.field-wrapper {\n\t\tdiv, textarea {\n\t\tflex: 1;\n\t\t}\n\t}\n`;\n\nexport default function Signature(props: Props) {\n\tconst { formatMessage } = useFormatMessage();\n\tconst { consentsSign, consentsSignLoading, requestRejected } = useConsentsSignApi(props.onSubmit);\n\n\tconst handleSubmit = (values: any) => {\n\t\tconsentsSign({ data: values });\n\t};\n\tconst informationSection = [\n\t\tformatMessage(\"dbn.agreementsSignature.form.description.part1\"),\n\t\tbold(formatMessage(\"dbn.agreementsSignature.form.description.bold1\")),\n\t\tformatMessage(\"dbn.agreementsSignature.form.description.part2\"),\n\t\tbold(formatMessage(\"dbn.agreementsSignature.form.description.bold2\"))\n\t] as NonEmptyArray;\n\n\tif (consentsSignLoading) {\n\t\treturn ;\n\t}\n\n\tif (requestRejected) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatMessage(\"dbn.agreementsSignature.description\")}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}","import { executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\nimport { AxiosRequestConfig, Method } from \"axios\";\n\nconst consentsSignConfig = {\n url: \"/packages/loans-ro/consents/sign\",\n method: \"post\" as Method,\n};\n\ntype SignConsentsResponse = {\n applicationId: string,\n requestRejected: boolean\n}\n\nexport const useConsentsSignApi = (submit: Function) => {\n const [loading, setLoading] = useState(false);\n const [requestRejected, setRequestRejected] = useState(false);\n\n return {\n consentsSignLoading: loading,\n consentsSign: useCallback((apiConfig: AxiosRequestConfig) => {\n executeAxios({\n params: { ...consentsSignConfig, ...apiConfig },\n onLoading: setLoading,\n onSuccess: (response: SignConsentsResponse) => {\n if (!response.requestRejected) {\n submit && submit()\n } else {\n setRequestRejected(true);\n }\n }\n });\n }, [submit]),\n requestRejected\n };\n\n};\n\n","import { useEffect, useState } from \"react\";\n\nimport { CheckSignStatus } from \"components/PinSgnaturePolling/service/domain\";\nimport { Method } from \"axios\";\nimport PinSignaturePolling from \"components/PinSgnaturePolling/PinSignaturePolling\";\nimport Signature from \"../Signature/Signature\";\nimport ToBeContacted from \"pages/ToBeContacted/ToBeContacted\";\nimport { useCheckSignAuthorization } from \"components/PinSgnaturePolling/service/checkSignaturePolling\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ninterface Props {\n onSubmit: () => unknown,\n onBack: () => unknown\n}\n\nconst checkSignAuthorizationCallConfig = {\n url: \"/packages/loans-ro/consents/check\",\n method: \"post\" as Method,\n};\n\nfunction SignaturePolling({ onSubmit, onBack }: Props) {\n const { formatMessage } = useFormatMessage();\n const { checkSignStatus, checkSignAuthorization } = useCheckSignAuthorization(checkSignAuthorizationCallConfig);\n const [stepBack, setStepBack] = useState(false);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n setStepBack(\n checkSignStatus &&\n ![CheckSignStatus.OK, CheckSignStatus.RETRY, CheckSignStatus.ERR_CREATE_APP].includes(checkSignStatus)\n );\n setLoading(checkSignStatus !== CheckSignStatus.OK);\n }, [checkSignStatus]);\n\n if (checkSignStatus === CheckSignStatus.ERR_CREATE_APP) {\n return (\n \n );\n }\n\n return }\n />;\n}\n\nexport default SignaturePolling;","import { Body, Box, Stack, } from \"omnichannel-design-system\";\n\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport ResendTimerSMS from \"pages/ContractSignature/components/ResendTimerSMS\";\nimport Signature from \"pages/Signature/Signature\";\nimport { issueCertificate } from \"../ElectronicSignature/services/issueCertificateService\";\nimport { useContractsSignApi } from \"./services/signContracts\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useState } from \"react\";\n\ninterface Props {\n\tonSubmit: () => unknown\n}\n\nexport default function ContractSignature(props: Props) {\n\tconst { formatMessage } = useFormatMessage();\n\tconst { contractsSign, contractsSignLoading } = useContractsSignApi();\n\tconst [invalidOtpMessage, setInvalidOtpMessage] = useState();\n\n\tconst handleSubmit = (values: any) => {\n\t\tsetInvalidOtpMessage(undefined);\n\t\tcontractsSign({ data: { otp: values.pin } }, {\n\t\t\tonSuccess: props.onSubmit,\n\t\t\tonFail: () => {\n\t\t\t\tsetInvalidOtpMessage(\"dbn.electronicAgreements.request.signature.error.otp\");\n\t\t\t}\n\t\t});\n\t};\n\n\tconst handleResendSMS = () => {\n\t\tissueCertificate();\n\t};\n\n\tconst validatePwd = (value: string) => {\n\t\tlet error;\n\t\tif (!value) {\n\t\t\terror = \"dbn.signature.form.pin.error.required\";\n\t\t} else if (value.length !== 6) {\n\t\t\terror = \"dbn.signature.form.pin.error.length.characters\";\n\t\t}\n\t\treturn error;\n\t};\n\n\tif (contractsSignLoading) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatMessage(\"dbn.electronicAgreements.request.signature.description\")}\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\t\thandleOnSubmit={handleSubmit}\n\t\t\t\tpinLabel={formatMessage(\"dbn.electronicAgreements.request.pin.title\")}\n\t\t\t\tpinDescription={formatMessage(\"dbn.electronicAgreements.request.pin.description\")}\n\t\t\t\tshowPin={true}\n\t\t\t\tvalidatePwd={validatePwd}\n\t\t\t\tsubmitErrorMessage={invalidOtpMessage}\n\t\t\t/>\n\t\t\n\t)\n}","import { executeAxios, ExecuteAxiosFunctions } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\nimport { AxiosRequestConfig, Method } from \"axios\";\n\nconst signContractsConfig = {\n\turl: \"/packages/loans-ro/contracts/sign\",\n\tmethod: \"post\" as Method,\n};\n\nexport const useContractsSignApi = () => {\n\tconst [loading, setLoading] = useState(false);\n\n\treturn {\n\t\tcontractsSignLoading: loading,\n\t\tcontractsSign: useCallback((apiConfig: AxiosRequestConfig, { onFail, onSuccess }: ExecuteAxiosFunctions) => {\n\t\t\texecuteAxios({\n\t\t\t\tparams: { ...signContractsConfig, ...apiConfig },\n\t\t\t\tonSuccess,\n\t\t\t\tonLoading: setLoading,\n\t\t\t\tonFail\n\t\t\t});\n\t\t}, [])\n\t}\n};","import { Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\nimport { DocumentDetailsType, ReportCodes } from \"pages/DocumentDetails/services/domain\";\nimport { REQUEST_DAR, sendDarOption } from \"flows/CashLoan/services/darRequest\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { useDocConsentTimestampApi, useParamConsentTimestampApi } from \"flows/CashLoan/services/consentApi\";\n\nimport Checkbox from \"components/Checkbox\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport LoadingButton from \"components/LoadingButton\";\nimport NavigationSwitch from \"components/NavigationSwitch\";\nimport { issueCertificate } from \"../ElectronicSignature/services/issueCertificateService\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useContractExpirationApi } from \"./services/contractDocumentApi\";\nimport { useEnumRetrieval } from \"services/enumRetrieval\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useSecLogBeforeContractsSignApi } from \"./services/secLogContractsApi\";\n\nconst Container = styled.div`\n\theight:100%;\n\t.description {\n\t\tfont-size: 16px;\n\t\tline-height: 20px;\n\t\tmargin: 0;\n\t}\n`;\n\ntype Props = {\n\tonSubmit: () => unknown\n}\n\ntype DocumentType = DocumentDetailsType.CL_CONTRACT | DocumentDetailsType.CL_ISNE;\n\nexport default function Contracts(props: Props) {\n\tconst { formatRichTextMessage, formatMessage } = useFormatMessage();\n\tconst { getEnumKeyByEnumValue } = useEnumRetrieval();\n\n\tconst [isneAccepted, setIsneAccepted] = useState(false);\n\tconst [contractAccepted, setContractAccepted] = useState(false);\n\tconst [infoAgreed, setInfoAgreed] = useState(false);\n\tconst [currentDocumentDetails, setCurrentDocumentDetails] = useState();\n\tconst { callSecLogBeforeContractsSign } = useSecLogBeforeContractsSignApi();\n\tconst { updateConsentTimestamp } = useDocConsentTimestampApi();\n\tconst { updateParamConsentTimestamp, loading: paramConsentLoading } = useParamConsentTimestampApi();\n\n\tconst { fetchData, content } = useContractExpirationApi();\n\n\tconst infoAgreedConsent = !content?.consentRequired ? false : !infoAgreed;\n\n\tconst handleClosePdfInformation = () => {\n\t\tsetCurrentDocumentDetails(undefined);\n\t};\n\tconst handleConfirm = (type: DocumentDetailsType) => {\n\t\tupdateConsentTimestamp(\n\t\t\t{ data: { consentType: getEnumKeyByEnumValue(DocumentDetailsType, type.toString()), accepted: true } },\n\t\t\t{\n\t\t\t\tonSuccess: () => {\n\t\t\t\t\tsetCurrentDocumentDetails(undefined);\n\t\t\t\t\tif (type === DocumentDetailsType.CL_ISNE) {\n\t\t\t\t\t\tsetIsneAccepted(true);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetContractAccepted(true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t};\n\n\tconst handlePriorInfoAgreementChange = useCallback((checked: boolean) => {\n\t\tsetInfoAgreed(checked);\n\t\tupdateParamConsentTimestamp(\n\t\t\t{ data: { paramConsentType: \"priorInformationAgreement\", accepted: checked } },\n\t\t\t{ onFail: () => setInfoAgreed(!checked) });\n\t}, [updateParamConsentTimestamp]);\n\n\tconst handleSubmit = (resolved: (isSuccessfully: boolean) => unknown) => {\n\n\t\tconst executeFail = (message: string) => {\n\t\t\tconsole.error(message);\n\t\t\tresolved(false);\n\t\t};\n\n\t\tcallSecLogBeforeContractsSign({ data: {} }, {\n\t\t\tonSuccess: () => {\n\t\t\t\tissueCertificate({\n\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\tsendDarOption(REQUEST_DAR.CONSUMER_FINANCE_INITIAL_CONTRACTUAL_RO,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\t\t\tresolved(true);\n\t\t\t\t\t\t\t\t\tprops.onSubmit();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFail: () => executeFail(REQUEST_DAR.CONSUMER_FINANCE_INITIAL_CONTRACTUAL_RO + \" fail\"),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tonFail: () => executeFail(\"Fail to issue certificate for automatic enroll!\")\n\t\t\t\t});\n\t\t\t},\n\t\t\tonFail: () => executeFail(\"Fails to callSecLogBeforeContractsSign call\")\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tfetchData();\n\t}, [fetchData]);\n\n\tif (currentDocumentDetails) {\n\t\treturn \n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(\"dbn.contracts.description1\")}\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t{formatRichTextMessage(\"dbn.contracts.description2\", { date: content?.expirationDate })}\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\n\n\t\t\t\t {\n\t\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\t\tsetIsneAccepted(false);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetCurrentDocumentDetails(DocumentDetailsType.CL_ISNE);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\n\t\t\t\t {\n\t\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\t\tsetContractAccepted(false);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetCurrentDocumentDetails(DocumentDetailsType.CL_CONTRACT);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\n\t\t\t\t\n\n\t\t\t\t{content?.consentRequired && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t)\n}","import {useCallback, useState} from \"react\";\n\nimport {Method} from \"axios\";\nimport {axiosInstance} from \"services/axiosHook\";\n\nconst apiConfig = {\n\tmethod: \"get\" as Method,\n\turl: \"packages/loans-ro/contracts/expiration\"\n};\n\ntype Expiration = {expirationDate: string, consentRequired: boolean};\n\nexport const useContractExpirationApi = () => {\n\tconst [content, setContent] = useState({expirationDate: \"\", consentRequired: true});\n\tconst [error, setError] = useState();\n\n\treturn {\n\t\tcontent,\n\t\terror,\n\t\tfetchData: useCallback(() => {\n\t\t\taxiosInstance.request(apiConfig).then((response) => {\n\t\t\t\tsetContent(response.data);\n\t\t\t}).catch((err) => {\n\t\t\t\tsetError(err.response);\n\t\t\t});\n\t\t}, [])\n\t};\n};","import { AxiosRequestConfig, Method } from \"axios\";\nimport { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { useCallback } from \"react\";\n\nconst loanContractConsentsConfig = {\n url: \"/packages/loans-ro/contracts/gdprlog\",\n method: \"post\" as Method,\n};\n\nexport const useSecLogBeforeContractsSignApi = () => {\n\n return {\n callSecLogBeforeContractsSign: useCallback((apiConfig: AxiosRequestConfig, { onSuccess, onFail }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: { ...loanContractConsentsConfig, ...apiConfig },\n onSuccess,\n onFail\n });\n }, [])\n };\n\n};\n\n","import {Method} from \"axios\";\nimport {executeAxios, ExecuteAxiosFunctions} from \"../../../../../services/axiosHook\";\n\nconst issueCertificateConfig = {\n url: \"/packages/loans-ro/issueCertificate\",\n method: \"post\" as Method,\n};\n\nexport function issueCertificate(promiseFunctions?: ExecuteAxiosFunctions) {\n executeAxios({\n params: issueCertificateConfig,\n onSuccess: promiseFunctions?.onSuccess,\n onLoading: promiseFunctions?.onLoading,\n onFail: promiseFunctions?.onFail\n })\n}","import { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\nimport ExistingBlockingApplications from \"pages/ExistingBlockingApplications/ExistingBlockingApplications\";\n\ntype Props = {\n onBack: () => unknown;\n}\n\nexport default function ExistingBlockingCashLoanApplications({ onBack }: Props) {\n const { activeApplications, rejectedApplication } = useCashLoanContext();\n return (\n \n )\n}","import CancelWithFeedback from \"pages/Feedback/CancelWithFeedback\";\nimport { FEEDBACK_URLS } from \"./services/domain\";\nimport { cancelApplication } from \"./services/cancelApplicationApi\";\nimport { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\n\nexport default function CancelCashLoanWithFeedback() {\n const { applicationId = \"\" } = useCashLoanContext();\n\n return (\n () => {\n resolve && resolve(true);\n window.location.href = \"mb-unicredit://appredirect/query?appSection=online:products:home\";\n }\n })}\n onSignatureSuccess={() => window.location.href = \"mb-unicredit://appredirect/query?appSection=online:products:home\"}\n />\n )\n}","import { FEEDBACK_URLS } from \"./services/domain\";\nimport FinishWithFeedback from \"pages/Feedback/FinishWithFeedback\";\n\ninterface Props {\n onSubmit: () => unknown;\n}\n\nexport default function FinishCashLoanWithFeedback({ onSubmit }: Props) {\n return (\n \n )\n}","import { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst apiConfigCancelCreditOffer = {\n method: \"post\" as Method,\n url: \"packages/loans-ro/cancel\"\n};\ntype CancelApplication = {\n applicationId: string;\n onSuccess: (resolve?: (isSuccessfully: boolean) => unknown) => Function;\n}\n\nexport function cancelApplication({ applicationId, onSuccess }: CancelApplication) {\n return (resolve?: (isSuccessfully: boolean) => unknown) => {\n executeAxios({\n params: { ...apiConfigCancelCreditOffer, data: { applicationId } },\n onFail: () => resolve && resolve(false),\n onSuccess: onSuccess(resolve)\n })\n }\n}","import { FeedbackUrls } from \"pages/Feedback/services/feedbackApi\";\n\nexport const FEEDBACK_URLS: FeedbackUrls = {\n getUrl: \"packages/loans-ro/feedback/reasons\",\n saveUrl: \"packages/loans-ro/feedback/saveWithoutSignature\",\n saveWithSignatureUrl: \"packages/loans-ro/feedback/saveWithSignature\"\n}","import { CashLoanFinancialInformationCategories, Category, CategoryItemsInternalNames } from \"../../../services/domain\";\nimport { CategoryItem, FinancialDataResponse, FinancialElement, OtherTypeOfIncomeInternalNames } from \"./services/domain\";\nimport { useEffect, useState } from \"react\";\n\nimport { Box } from \"omnichannel-design-system\";\nimport FinancialInformationForm from \"./components/FinancialInformationForm\";\nimport Loader from \"components/Loader\";\nimport { getIdByInternalName } from \"../../../../helper/financialDataUtils\";\nimport { useCashLoanContext } from \"../../services/cashLoanContext\";\nimport { useFinancialApi } from \"../../../services/financialApi\";\n\ntype Props = {\n\tonSubmit: () => void\n}\n\nconst { MARITAL_STATUS_MARRIED, YES, INFINITE_PERIOD, EMPLOYED, RETIRED } = CategoryItemsInternalNames;\nconst { MaritalStatus, YesNo, EmploymentType, ProfessionalStatus, IncomeType } = Category;\n\nfunction computeOtherIncomeTypesList(financialElements: FinancialElement[]): CategoryItem[] {\n\tfor (const element of financialElements) {\n\t\tif (element.categoryId === IncomeType) {\n\t\t\tconst internalNames = Object.values(OtherTypeOfIncomeInternalNames) as string[];\n\t\t\treturn element.categoryItems.filter(item => internalNames.includes(item.internalName))\n\t\t}\n\t}\n\n\treturn [];\n}\n\nconst FinancialInformation = ({ onSubmit }: Props) => {\n\t// All logic from external services\n\tconst { financialData } = useFinancialApi(CashLoanFinancialInformationCategories);\n\tconst { financialInformation } = useCashLoanContext();\n\tconst [financialDropdownData, setFinancialDropdownData] = useState();\n\n\tuseEffect(() => {\n\t\tsetFinancialDropdownData(financialData);\n\t}, [financialData]);\n\n\tif (!financialDropdownData) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default FinancialInformation;\n","import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\nimport { FinancialInformationProps, FinancialInformationValues } from \"../services/domain\";\nimport { Formik, FormikErrors, useFormikContext } from \"formik\";\nimport { useCallback, useEffect, useState } from \"react\";\n\nimport { CNP } from \"romanian-personal-identity-code-validator\";\nimport { Category } from \"flows/services/domain\";\nimport CheckBoxOtherIncome from \"./otherIncomeTypes/CheckBoxOtherIncome\";\nimport DateField from \"components/form/DateField\";\nimport DropdownField from \"components/form/DropdownField\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport LoadingButton from \"components/LoadingButton\";\nimport OtherIncomeTypes from \"./otherIncomeTypes/OtherIncomeTypes\";\nimport TextField from \"components/form/TextField\";\nimport { getOptionsByCategory } from \"flows/CreditCard/pages/FinancialInformation/utils/financialInformationUtils\";\nimport { useAppContext } from \"services/appContext\";\nimport { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport useGetAdditionalIncomeEnabled from \"../../AdditionalIncomeDocuments/services/useGetAdditionalIncomeEnabled\";\nimport { useSaveFinancialDataApi } from \"../services/saveFinancialDataApi\";\n\nexport function FinancialInformationInner(props: FinancialInformationProps) {\n\tconst { financialDropdownData, financialIds, otherIncomeTypesList } = props;\n\tconst { validateForm, errors, handleSubmit, touched, values, setValues } = useFormikContext();\n\tconst { MARITAL_STATUS_MARRIED_ID, YES_ID, INFINITE_PERIOD_ID, EMPLOYED_ID, RETIRED_ID } = financialIds;\n\tconst { formatMessage } = useFormatMessage();\n\tconst { updateFinancialInformation } = useCashLoanContext();\n\tconst { saveFinancialData } = useSaveFinancialDataApi();\n\tconst { configurations } = useAppContext();\n\tconst [showOtherIncomeTypes, setShowOtherIncomeTypes] = useState(false);\n\tconst [enableSubmit, setEnableSubmit] = useState(true);\n\tconst { isAdditionalIncomeEnabled, getAdditionalIncomeEnabled, loading } = useGetAdditionalIncomeEnabled();\n\n\tuseEffect(getAdditionalIncomeEnabled, [getAdditionalIncomeEnabled]);\n\n\tconst onSubmit = (resolve: (successful: boolean) => unknown) => {\n\t\tvalidateForm()\n\t\t\t.then(validationErrors => {\n\t\t\t\tif (Object.keys(validationErrors).length) {\n\t\t\t\t\thandleSubmit();\n\t\t\t\t\tresolve(false)\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tupdateFinancialInformation(values);\n\t\t\t\tsetEnableSubmit(false);\n\t\t\t\tsaveFinancialData({ data: values, status: { YES_ID, MARITAL_STATUS_MARRIED_ID } },\n\t\t\t\t\t{\n\t\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t\thandleSubmit();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonFail: () => {\n\t\t\t\t\t\t\tresolve(false);\n\t\t\t\t\t\t\tsetEnableSubmit(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t})\n\t};\n\n\tconst openAdditionalIncomeDialog = useCallback(() => {\n\t\tsetShowOtherIncomeTypes(true);\n\t}, [])\n\n\tconst removeExistingOtherIncomes = useCallback(() => {\n\t\tsetValues(previousValues => ({ ...previousValues, otherIncomeTypes: [] }))\n\t}, [setValues])\n\n\tconst onSaveOtherIncome = useCallback((items: FinancialInformationValues[\"otherIncomeTypes\"]) => {\n\t\tsetValues(previousValues => ({ ...previousValues, otherIncomeTypes: items }))\n\t\tsetShowOtherIncomeTypes(false);\n\t}, [setValues])\n\n\tif (loading) {\n\t\treturn ;\n\t}\n\n\tif (showOtherIncomeTypes) {\n\t\treturn (\n\t\t\t\n\t\t)\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(\"dbn.financialInformationForm.description\")}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t value !== EMPLOYED_ID },\n\t\t\t\t\t\t{ key: \"occupation\", value: \"\", when: (value: string) => value === RETIRED_ID }\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t\t{values.professionalStatus === EMPLOYED_ID && (\n\t\t\t\t\t value === INFINITE_PERIOD_ID }]}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{values.sourceOfIncome !== \"\" && values.sourceOfIncome !== INFINITE_PERIOD_ID && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{values.professionalStatus !== \"\" && values.professionalStatus !== RETIRED_ID && (\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t{isAdditionalIncomeEnabled && (\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t value !== YES_ID },\n\t\t\t\t\t\t{ key: \"birthNumber\", value: \"\", when: (value: string) => value !== MARITAL_STATUS_MARRIED_ID }\n\t\t\t\t\t]}\n\t\t\t\t/>\n\t\t\t\t{values.maritalStatus === MARITAL_STATUS_MARRIED_ID && (\n\t\t\t\t\t value === YES_ID }\n\t\t\t\t\t\t]}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{values.ucfinExpose === YES_ID && values.maritalStatus === MARITAL_STATUS_MARRIED_ID && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{\n\t\t\t\t\tconfigurations.referralUserEnabled &&\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction validateOccupation(values: FinancialInformationValues, errors: FormikErrors) {\n\tif (!values.occupation) {\n\t\terrors.occupation = \"dbn.financialInformationForm.occupation.required\";\n\t}\n\tif (values.occupation.length > 100) {\n\t\terrors.occupation = \"dbn.financialInformationForm.occupation.tooLong\";\n\t}\n\tif (values.occupation.length < 2) {\n\t\terrors.occupation = \"dbn.financialInformationForm.occupation.tooShort\";\n\t}\n\tif (/\\p{Emoji}/u.test(values.occupation) && /\\p{Extended_Pictographic}/u.test((values.occupation))) {\n\t\terrors.occupation = \"dbn.financialInformationForm.occupation.emojiNotValid\";\n\t}\n}\n\n\nfunction validateProfessionalStatusAndRelated(values: FinancialInformationValues, { financialIds }: FinancialInformationProps) {\n\tconst { EMPLOYED_ID, RETIRED_ID, INFINITE_PERIOD_ID } = financialIds;\n\tconst errors: FormikErrors = {};\n\tif (!values.professionalStatus) {\n\t\terrors.professionalStatus = \"dbn.financialInformationForm.professionalStatus.required\";\n\t}\n\n\tif (values.professionalStatus === EMPLOYED_ID && !values.sourceOfIncome) {\n\t\terrors.sourceOfIncome = \"dbn.financialInformationForm.sourceOfIncome.required\";\n\t}\n\n\tif (values.professionalStatus !== RETIRED_ID) {\n\t\tvalidateOccupation(values, errors);\n\t}\n\n\tif (values.sourceOfIncome && values.sourceOfIncome !== INFINITE_PERIOD_ID) {\n\t\tconst expirationDate = new Date(values.expirationDate);\n\t\tconst currentDate = new Date();\n\t\tcurrentDate.setDate(currentDate.getDate());\n\t\tif (!values.expirationDate) {\n\t\t\terrors.expirationDate = \"dbn.financialInformationForm.expirationDate.required\";\n\t\t} else if (currentDate.getTime() > expirationDate.getTime()) {\n\t\t\terrors.expirationDate = \"dbn.financialInformationForm.expirationDate.expired\";\n\t\t}\n\t}\n\treturn errors;\n}\n\nfunction validateMaritalStatusAndRelated(values: FinancialInformationValues, { financialIds: { MARITAL_STATUS_MARRIED_ID, YES_ID } }: FinancialInformationProps) {\n\tlet errors: FormikErrors = {};\n\tif (!values.maritalStatus) {\n\t\terrors.maritalStatus = \"dbn.financialInformationForm.maritalStatus.required\";\n\t}\n\tif (values.maritalStatus === MARITAL_STATUS_MARRIED_ID && !values.ucfinExpose) {\n\t\terrors.ucfinExpose = \"dbn.financialInformationForm.ucfinExpose.required\";\n\t}\n\n\tif (values.ucfinExpose && values.ucfinExpose === YES_ID && values.maritalStatus === MARITAL_STATUS_MARRIED_ID && !values.birthNumber) {\n\t\terrors.birthNumber = \"dbn.financialInformationForm.birthNumber.required\";\n\t} else if (values.ucfinExpose && values.ucfinExpose === YES_ID && values.maritalStatus === MARITAL_STATUS_MARRIED_ID) {\n\t\tconst romanianCNP = new CNP(values.birthNumber);\n\t\tif (!romanianCNP.isValid()) {\n\t\t\terrors.birthNumber = \"dbn.financialInformationForm.birthNumber.valid\";\n\t\t}\n\t}\n\treturn errors;\n}\n\nfunction validateOtherDetails(values: FinancialInformationValues) {\n\tlet errors: FormikErrors = {};\n\tif (!values.dependents) {\n\t\terrors.dependents = \"dbn.financialInformationForm.dependents.required\";\n\t}\n\tif (values.referalUser) {\n\t\tif (values.referalUser.length > 6) {\n\t\t\terrors.referalUser = \"dbn.financialInformationForm.referalUser.tooLong\";\n\t\t}\n\t\tif (!values.referalUser.match(/^\\d+$/)) {\n\t\t\terrors.referalUser = \"dbn.financialInformationForm.referalUser.error.onlyNumbers\";\n\t\t}\n\t}\n\n\treturn errors;\n}\n\nexport default function FinancialInformationForm(props: FinancialInformationProps & { initialValues: FinancialInformationValues, }) {\n\treturn (\n\t\t props.onSubmit(values)}\n\t\t\tinitialValues={props.initialValues}\n\t\t\tvalidate={(values) => ({\n\t\t\t\t...validateProfessionalStatusAndRelated(values, props),\n\t\t\t\t...validateMaritalStatusAndRelated(values, props),\n\t\t\t\t...validateOtherDetails(values),\n\t\t\t})}\n\t\t>\n\t\t\t\n\t\t\n\t)\n\n}","import { Body, Box, CheckboxIcon, PencilIcon, Space, Stack, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { useCallback, useState } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport { Button } from \"components/Button\";\nimport { FinancialInformationValues } from \"../../services/domain\"\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useFormatNumber } from \"services/formatNumberHook\";\n\ntype Props = {\n otherIncome: FinancialInformationValues[\"otherIncomeTypes\"];\n openAdditionalIncomeDialog: () => void;\n removeExistingOtherIncomes: () => void;\n}\n\nconst ContainerStyled = styled(Box)`\n border: solid;\n border-color: ${palette.blue600};\n border-radius: 8px;\n padding: 12px 12px;\n border-width: 1px;\n`;\nconst RemoveContainerDialogStyled = styled(Box)`\n background-color: rgba(0, 0, 0, 0.8);;\n position: absolute;\n z-index: 1040; \n width: 100vw;\n height: 100vh;\n top: 0px;\n left: 0px;\n justify-content: center;\n align-items: center;\n\n .dialogContent{\n background-color: white;\n margin: 20px;\n padding: 20px;\n width: calc(100vw - 40px);\n border-radius: 8px;\n }\n`;\n\nexport default function CheckBoxOtherIncome(props: Props) {\n const { formatMessage } = useFormatMessage();\n const { formatAmount } = useFormatNumber();\n const [showRemoveDialog, setShowRemoveDialog] = useState(false);\n\n const { openAdditionalIncomeDialog, removeExistingOtherIncomes, otherIncome } = props;\n const isChecked = !!otherIncome.length;\n\n const openRemoveExistingIncomes = useCallback(() => {\n setShowRemoveDialog(true);\n }, [])\n\n return (\n \n \n\n {showRemoveDialog && (\n \n \n \n {formatMessage(\"dbn.financialInformationForm.otherIncomeType.removeText\")}\n \n\n \n \n setShowRemoveDialog(false)}\n />\n \n\n \n\n \n {\n removeExistingOtherIncomes();\n setShowRemoveDialog(false);\n }}\n />\n \n \n \n \n )}\n\n \n \n \n \n\n \n\n \n {formatMessage(\"dbn.financialInformationForm.otherIncomeType.Label\")}\n \n\n {isChecked && (\n \n \n \n )}\n \n\n \n\n {isChecked ? (\n \n {otherIncome.map((income, index) => {\n return (\n \n \n \n {formatMessage(\"dbn.financialInformationForm.otherIncomeType.form.title\")}\n \n\n \n {unsafeLocalizedString(income.type.value)}\n \n\n \n {unsafeLocalizedString(formatAmount(income.income))}\n \n\n {!!income.employerCUI && (\n \n {unsafeLocalizedString(income.employerCUI)}\n \n )}\n \n \n )\n })}\n \n ) : (\n \n )}\n\n \n )\n}","import { CategoryItem, OtherIncomeTypesValues } from \"../../services/domain\";\nimport { useCallback, useState } from \"react\";\n\nimport { CONFIRM_LABEL_DEFAULT } from \"components/form/utils\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport RadioButton from \"components/RadioButton\";\nimport { Stack } from \"omnichannel-design-system\";\nimport { checkShowMoreDetails } from \"./OtherIncomeTypesForm\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useFormikContext } from \"formik\";\n\ntype Props = {\n onClose: () => void;\n otherIncomeTypesList: CategoryItem[];\n}\n\nexport default function ChooseIncomeTypeDialog(props: Props) {\n const { otherIncomeTypesList, onClose } = props;\n const [salaryIncome, ...restOfIncomes] = otherIncomeTypesList;\n const { values: { type }, touched, setValues, setTouched } = useFormikContext();\n const { formatMessage } = useFormatMessage();\n const [selection, setSelection] = useState(type);\n\n const onSaveType = useCallback(() => {\n const removeAdditionalContent = !checkShowMoreDetails(otherIncomeTypesList, selection);\n\n if (!removeAdditionalContent) {\n setValues(previous => ({\n ...previous,\n type: selection,\n }), true);\n onClose();\n return;\n }\n\n setValues(previous => ({\n ...previous,\n type: selection,\n employerCUI: \"\",\n position: \"\",\n jobStartedAt: \"\",\n contractType: \"\",\n jobEndDate: \"\"\n }), true);\n\n setTouched({\n ...touched,\n employerCUI: false,\n position: false,\n jobStartedAt: false,\n contractType: false,\n jobEndDate: false\n });\n\n onClose();\n }, [onClose, setValues, setTouched, selection, touched, otherIncomeTypesList])\n return (\n \n \n setSelection(salaryIncome.id + \"\")}\n label={formatMessage(salaryIncome.value)}\n description={formatMessage(\"dbn.financialInformationForm.otherIncomeType.form.type.income.34\")}\n />\n\n {restOfIncomes.map(income => (\n setSelection(income.id + \"\")}\n label={formatMessage(income.value)}\n />\n ))}\n \n\n \n )\n}","import { Category, FinancialIds } from \"flows/services/domain\";\nimport { FinancialDataResponse, OtherIncomeTypesValues } from \"../../services/domain\";\n\nimport DateField from \"components/form/DateField\";\nimport DropdownField from \"components/form/DropdownField\";\nimport { Stack } from \"omnichannel-design-system\";\nimport TextField from \"components/form/TextField\";\nimport { getOptionsByCategory } from \"flows/CreditCard/pages/FinancialInformation/utils/financialInformationUtils\";\nimport { useFormikContext } from \"formik\";\n\ntype Props = {\n financialDropdownData: FinancialDataResponse,\n financialIds: FinancialIds,\n}\n\nconst DATE_FORMAT = \"DD-MM-YYYY\";\n\nexport default function MoreDetailsIncome(props: Props) {\n const { financialDropdownData, financialIds } = props;\n const { INFINITE_PERIOD_ID } = financialIds;\n const { values } = useFormikContext();\n const { contractType } = values;\n return (\n \n \n\n \n\n \n\n value === INFINITE_PERIOD_ID }]}\n />\n\n {!!contractType && contractType !== INFINITE_PERIOD_ID && (\n \n )}\n \n )\n}","import { Body, Box, DeleteIcon, PencilIcon, Space, Stack, unsafeLocalizedString } from \"omnichannel-design-system\"\nimport { OtherIncomeType, OtherIncomeTypesValues } from \"../../services/domain\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\"\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useCallback } from \"react\";\nimport { useFormatMessage } from \"services/formatMessageHook\"\nimport { useFormatNumber } from \"services/formatNumberHook\";\nimport { useFormikContext } from \"formik\";\n\nconst CustomDividerStyled = styled(Box)`\n border: solid;\n height: 4px; \n border-color: ${palette.neutral400};\n border-width: 1px;\n border-radius: 4px;\n`\n\ntype Props = {\n saveOtherIncome: (items: OtherIncomeType[]) => void;\n}\n\nexport default function OtherIncomeList(props: Props) {\n const { saveOtherIncome } = props;\n const { formatMessage } = useFormatMessage();\n const { formatAmount } = useFormatNumber();\n const { values, isValid, setValues, setTouched } = useFormikContext();\n\n const onSaveIncome = useCallback(() => {\n saveOtherIncome(values.otherIncomes);\n }, [saveOtherIncome, values.otherIncomes])\n\n const onDeleteIncome = useCallback((income: OtherIncomeType) => {\n setValues(previousValues => {\n const newValues = { ...previousValues };\n newValues.otherIncomes = previousValues.otherIncomes.filter(item => item !== income);\n return newValues;\n })\n }, [setValues])\n\n const onAddAnotherOtherIncome = useCallback(() => {\n setTouched({})\n setValues(previousValues => ({\n ...previousValues,\n showList: false,\n income: 0,\n employerCUI: undefined,\n type: \"\",\n contractType:\"\",\n jobEndDate:\"\",\n jobStartedAt:\"\",\n position:\"\"\n }))\n }, [setValues, setTouched])\n\n const onEditOtherIncome = useCallback((income: OtherIncomeType) => {\n setValues(previousValues => ({\n ...previousValues,\n showList: false,\n editedIncome: income,\n income: income.income,\n employerCUI: income.employerCUI,\n type: income.type.id + \"\",\n position: income.position,\n contractType: income.contractType,\n jobEndDate: income.jobEndDate,\n jobStartedAt: income.jobStartedAt\n }))\n }, [setValues])\n\n return (\n \n \n\n \n\n {values.otherIncomes.map((income, index) => {\n return (\n \n \n \n {formatMessage(\"dbn.financialInformationForm.otherIncomeType.form.title\")}\n \n\n \n {unsafeLocalizedString(income.type.value)}\n \n\n \n {unsafeLocalizedString(formatAmount(income.income))}\n \n\n {!!income.employerCUI && (\n \n {unsafeLocalizedString(income.employerCUI)}\n \n )}\n \n\n \n\n onEditOtherIncome(income)}>\n \n \n\n \n\n onDeleteIncome(income)}>\n \n \n \n )\n })}\n\n \n\n \n \n\n \n \n \n )\n}","import { FormikErrors, withFormik } from \"formik\";\nimport { OtherIncomeTypesForm, checkShowMoreDetails } from \"./OtherIncomeTypesForm\";\nimport { OtherIncomeTypesProps, OtherIncomeTypesValues } from \"../../services/domain\";\n\nimport _ from \"lodash\";\n\nfunction validateRomanianCIF(employerCUI: any) {\n const alphanumeric = /^[a-z0-9]+$/i;\n\n if (_.isEmpty(employerCUI)) {\n return \"dbn.financialInformationForm.otherIncomeType.form.employerCUI.required\";\n }\n if (!alphanumeric.test(employerCUI)) {\n return \"dbn.financialInformationForm.otherIncomeType.form.employerCUI.alphanumeric\";\n }\n let cif = employerCUI.toUpperCase()\n\n // remove RO from cif:\n const indexOfRo = cif.indexOf('RO')\n\n if (indexOfRo > -1) {\n cif = cif.substring(0, indexOfRo) + cif.substring(indexOfRo + 2)\n }\n // remove spaces:\n cif = cif.replace(/ /g, '')\n\n if (cif.length < 2 || cif.length > 10) {\n return \"dbn.financialInformationForm.otherIncomeType.form.employerCUI.badLength\";\n }\n // validate that so far the resulting CIF looks like an integer value:\n if (Number.isNaN(parseInt(cif))) {\n return \"dbn.financialInformationForm.otherIncomeType.form.employerCUI.noNumber\";\n }\n // begin testing:\n const testKey = '753217532'\n const controlNumber = parseInt(cif.substring(cif.length - 1))\n\n // remove control number:\n cif = cif.substring(0, cif.length - 1)\n\n // pad left with zeros to reach testKey length:\n while (cif.length !== testKey.length) {\n cif = '0' + cif\n }\n let sum = 0\n let i = cif.length\n\n while (i--) {\n sum = sum + (parseInt(cif.charAt(i)) * parseInt(testKey.charAt(i)))\n }\n let calculatedControlNumber = sum * 10 % 11\n\n if (calculatedControlNumber === 10) {\n calculatedControlNumber = 0\n }\n if (controlNumber !== calculatedControlNumber) {\n return \"dbn.financialInformationForm.otherIncomeType.form.employerCUI.invalid\";\n }\n return false;\n}\n\nconst OtherIncomeTypesWithFormik = withFormik({\n mapPropsToValues: (props) => {\n return {\n income: 0,\n otherIncomes: props.otherIncomes,\n showList: !!props.otherIncomes.length,\n type: \"\",\n employerCUI: \"\"\n }\n },\n validate: (values, props) => {\n const errors: FormikErrors = {};\n const { showList, income, type, employerCUI, position, jobStartedAt, contractType, jobEndDate } = values;\n\n if (showList) {\n return errors;\n }\n\n if (_.isEmpty(type)) {\n errors.type = \"dbn.financialInformationForm.otherIncomeType.form.type.required\";\n }\n\n if (!income) {\n errors.income = \"dbn.financialInformationForm.otherIncomeType.form.income.required\";\n } else if ((income + \"\").length > 16) {\n errors.income = \"dbn.financialInformationForm.otherIncomeType.form.income.numberTooLong\";\n }\n\n if (!checkShowMoreDetails(props.otherIncomeTypesList, values.type)) {\n return errors;\n }\n\n let error = validateRomanianCIF(employerCUI);\n\n if (error) {\n errors.employerCUI = error;\n }\n\n if (_.isEmpty(position)) {\n errors.position = \"dbn.financialInformationForm.otherIncomeType.form.position.required\";\n } else if ((position as string).length > 100) {\n errors.position = \"dbn.financialInformationForm.otherIncomeType.form.position.tooLong\";\n } else if (/\\p{Emoji}/u.test((position as string)) && /\\p{Extended_Pictographic}/u.test(((position as string)))) {\n errors.position = \"dbn.financialInformationForm.otherIncomeType.form.position.emojiNotValid\";\n }\n\n if(!jobStartedAt){\n errors.jobStartedAt = \"dbn.financialInformationForm.otherIncomeType.form.jobStartedAt.required\";\n }\n\n if(_.isEmpty(contractType)){\n errors.contractType = \"dbn.financialInformationForm.otherIncomeType.form.contractType.required\";\n }\n\n if(contractType === props.financialIds.INFINITE_PERIOD_ID){\n return errors;\n }\n\n if(!jobEndDate){\n errors.jobEndDate = \"dbn.financialInformationForm.otherIncomeType.form.jobEndDate.required\";\n }\n\n return errors;\n },\n handleSubmit: (values: OtherIncomeTypesValues, bag) => {\n bag.props.saveOtherIncome(values.otherIncomes)\n }\n})(OtherIncomeTypesForm);\n\n\nexport default function OtherIncomeTypes(props: OtherIncomeTypesProps) {\n return \n}","import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\nimport { CategoryItem, OtherIncomeTypesProps, OtherIncomeTypesValues, OtherTypeOfIncomeInternalNames } from \"../../services/domain\";\nimport { DocumentDetailsType, ReportCodes } from \"pages/DocumentDetails/services/domain\";\nimport { useCallback, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport ChooseIncomeTypeDialog from \"./ChooseIncomeTypeDialog\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport DropdownField from \"components/form/DropdownField\";\nimport DropdownFieldWrapper from \"flows/styles/DropdownFieldWrapper\";\nimport { Heading } from \"components/Heading\";\nimport MoreDetailsIncome from \"./MoreDetailsIncome\";\nimport NumberField from \"components/form/NumberField\";\nimport OtherIncomeList from \"./OtherIncomeList\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useFormikContext } from \"formik\";\n\nexport function checkShowMoreDetails(otherIncomeTypesList: CategoryItem[], selectedType: string) {\n const militaryPermission = otherIncomeTypesList.find(item => item.internalName === OtherTypeOfIncomeInternalNames.MILITARY_PENSIONS);\n return !!selectedType && militaryPermission?.id + \"\" !== selectedType;\n}\n\nexport function OtherIncomeTypesForm(props: OtherIncomeTypesProps) {\n const [showGuide, setShowGuide] = useState(false);\n const [showTypeSelection, setShowTypeSelection] = useState(false);\n const { otherIncomeTypesList, saveOtherIncome } = props;\n const { values, isValid, setValues, validateForm, handleSubmit } = useFormikContext();\n const { formatMessage, formatMessageWithLinkAction } = useFormatMessage();\n\n const onAddOrEditIncome = useCallback(() => {\n\n validateForm().then(errors => {\n if (Object.values(errors).length) {\n handleSubmit();\n return;\n }\n setValues(previousValues => {\n const newValues = { ...previousValues, showList: true, editedIncome: undefined };\n const newType = otherIncomeTypesList.find(item => (item.id + \"\") === previousValues.type) as CategoryItem;\n const { editedIncome, otherIncomes, ...otherDetails } = previousValues;\n if (editedIncome) {\n const indexOfItem = newValues.otherIncomes.indexOf(editedIncome);\n newValues.otherIncomes = newValues.otherIncomes.filter(item => item !== editedIncome)\n newValues.otherIncomes.splice(indexOfItem, 0, {\n ...otherDetails,\n type: newType\n });\n } else {\n newValues.otherIncomes.push({\n ...otherDetails,\n type: newType\n })\n }\n return newValues;\n })\n })\n }, [setValues, validateForm, handleSubmit, otherIncomeTypesList])\n\n const onBack = useCallback(() => {\n setValues(previousValues => {\n const newValues = { ...previousValues, showList: true, editedIncome: undefined };\n if (!previousValues.editedIncome) {\n saveOtherIncome([]);\n }\n return newValues;\n })\n }, [saveOtherIncome, setValues])\n\n const handleCloseGuide = useCallback(() => {\n setShowGuide(false);\n }, [])\n\n if (showGuide) {\n return (\n \n )\n }\n\n if (values.showList) {\n return ;\n }\n\n const isEditMode = !!values.editedIncome;\n\n return (\n \n \n\n \n {formatMessageWithLinkAction(formatMessage(\"dbn.financialInformationForm.otherIncomeType.form.description\" + (isEditMode ? \".edit\" : \"\")), {\n action: () => setShowGuide(true),\n linkText: formatMessage(\"dbn.financialInformationForm.otherIncomeType.form.hereLink\"),\n key: \"hereLink\"\n })}\n \n\n setShowTypeSelection(true)}>\n ({ value: item.id + \"\", label: item.value }))}\n />\n \n\n \n\n {checkShowMoreDetails(otherIncomeTypesList, values.type) && (\n \n )}\n\n \n\n \n \n\n {\n (document.activeElement as any)?.blur();\n setTimeout(onAddOrEditIncome, 100);// Need another stack of execution and the validation to be trigger\n }}\n translationKey={\"dbn.financialInformationForm.otherIncomeType.form.action.\" + (isEditMode ? \"continueEdit\" : \"continue\")}\n variant=\"primary\"\n />\n \n\n {showTypeSelection && (\n setShowTypeSelection(false)}\n otherIncomeTypesList={otherIncomeTypesList}\n />\n )}\n \n )\n}","import { Category, FinancialIds } from \"../../../../services/domain\";\n\nimport { LooseObject } from \"services/types\";\n\nexport interface CategoryItem extends LooseObject {\n id: number,\n value: string,\n internalName: string\n}\n\nexport interface FinancialElement {\n categoryId: Category,\n categoryItems: Array\n}\n\nexport interface FinancialDataResponse {\n financialData: Array\n}\n\nexport enum OtherTypeOfIncomeInternalNames {\n SALARY_INCOME = \"Venituri din salarii\",//34\n DAILY_INCOME = \"Venituri din diurne\",//40\n FOOD_STANDARD_FOR_EMPLOYEES_OF_STATE_INSTITUTION = \"Norma de hrana pentru angajatii institutiilor de stat\",//45\n MILITARY_PENSIONS = \"Pensie militara\",//59\n INCOME_OBTAINED_FROM_THE_CHILD_REARING_ALLOWANCE = \"Venituri obtinute din indemnizatia de crestere copil ( provenit din Salarii )\"//62\n}\n\nexport type OtherIncomeType = {\n type: CategoryItem;\n income: number;\n employerCUI?: string;\n position?: string;\n jobStartedAt?: string;\n contractType?: string;\n jobEndDate?: string;\n}\n\nexport type FinancialInformationValues = {\n professionalStatus: string;\n sourceOfIncome: string;\n occupation: string;\n dependents: string;\n maritalStatus: string;\n ucfinExpose: string;\n birthNumber: string;\n referalUser?: string;\n expirationDate: Date | string;\n otherIncomeTypes: OtherIncomeType[];\n}\n\nexport type FinancialInformationProps = {\n onSubmit: (values: any) => void,\n financialDropdownData: FinancialDataResponse,\n financialIds: FinancialIds,\n otherIncomeTypesList: CategoryItem[];\n}\n\nexport type OtherIncomeTypesValues = {\n otherIncomes: OtherIncomeType[];\n editedIncome?: OtherIncomeType;\n showList: boolean;\n type: string;\n income: number;\n employerCUI?: string;\n position?: string;\n jobStartedAt?: string;\n contractType?: string;\n jobEndDate?: string;\n}\n\nexport type OtherIncomeTypesProps = {\n financialDropdownData: FinancialDataResponse,\n financialIds: FinancialIds,\n otherIncomeTypesList: CategoryItem[];\n otherIncomes: FinancialInformationValues[\"otherIncomeTypes\"];\n saveOtherIncome: (items: FinancialInformationValues[\"otherIncomeTypes\"]) => void;\n}","import { AxiosRequestConfig, Method } from \"axios\";\nimport { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { LooseObject } from \"services/types\";\nimport { useCallback } from \"react\";\nimport moment from \"moment/moment\";\n\nconst saveFinancialDataConfig = {\n\turl: \"/packages/loans-ro/financialData/save\",\n\tmethod: \"post\" as Method\n};\n\nexport function useSaveFinancialDataApi() {\n\n\tconst saveFinancialData = useCallback((apiConfig: AxiosRequestConfig & LooseObject, { onSuccess, onFail }: ExecuteAxiosFunctions) => {\n\t\tconst { status: { YES_ID, MARITAL_STATUS_MARRIED_ID }, ...params } = apiConfig;\n\t\tconst computedValues: LooseObject = { ...params.data }\n\n\t\tif (computedValues.ucfinExpose !== YES_ID || computedValues.maritalStatus !== MARITAL_STATUS_MARRIED_ID) {\n\t\t\tcomputedValues.birthNumber = \"\";\n\t\t}\n \n if(computedValues.ucfinExpose === \"\"){\n delete computedValues.ucfinExpose;\n }\n\n\t\tcomputedValues.otherIncomeTypes = computedValues.otherIncomeTypes.map((item: LooseObject) => {\n\t\t\tconst newItem = { ...item };\n\t\t\tdelete newItem.showList;\n\t\t\tif (newItem.employerCUI === \"\") {\n\t\t\t\tdelete newItem.employerCUI;\n\t\t\t}\n\t\t\tif (newItem.contractType) {\n\t\t\t\tnewItem.contractType = Number(newItem.contractType);\n\t\t\t}\n\t\t\tnewItem.jobStartedAt = newItem.jobStartedAt ? moment(newItem.jobStartedAt).format('yyyy-MM-DD') : null;\n\t\t\tnewItem.jobEndDate = newItem.jobEndDate ? moment(newItem.jobEndDate).format('yyyy-MM-DD') : null;\n\n\t\t\treturn newItem;\n\t\t})\n\t\tparams.data = computedValues;\n\n\t\texecuteAxios({\n\t\t\tparams: { ...saveFinancialDataConfig, ...params },\n\t\t\tonSuccess,\n\t\t\tonFail\n\t\t})\n\t}, [])\n\n\treturn {\n\t\tsaveFinancialData\n\t};\n};\n\n","import AnalyzingData from \"components/AnalyzingData\";\nimport { Box } from \"omnichannel-design-system\";\nimport { Method } from \"axios\";\nimport { Page } from \"flows/CashLoan/services/domain\";\nimport RejectedOffer from \"./components/RejectedOffer\";\nimport { Status } from \"flows/services/domain\";\nimport ToBeContacted from \"pages/ToBeContacted/ToBeContacted\";\nimport { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\nimport { useEffect } from \"react\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { usePoolingService } from \"flows/services/poolingServices\";\n\nconst financialDataStatusCallConfig = {\n url: \"/packages/loans-ro/financialData/status\",\n method: \"post\" as Method\n};\n\ntype Props = {\n onPreliminaryOffer: () => void;\n onOurOffer: () => void;\n onDocumentReview: () => void;\n}\n\nconst { InProgress, Complete, PreliminaryOffer, ReviewDocuments, Rejected } = Status;\n\nexport default function FinancialInformationDataAnalyze(props: Props) {\n const { onPreliminaryOffer, onOurOffer, onDocumentReview } = props;\n const { formatMessage } = useFormatMessage();\n const { currentPage } = useCashLoanContext();\n const computeTextKey = (key: string) => {\n if (currentPage === Page.ADDITIONAL_INCOME_DOCUMENTS_DATA_ANALYZE) {\n return \"dbn.additionalIncomeDataAnalyze.\" + key;\n }\n\n return \"dbn.analizingData.\" + key;\n }\n\n const { currentStatus: financialDataStatus, setCurrentStatus: setFinancialDataStatus, queryStatus } = usePoolingService(financialDataStatusCallConfig);\n\n useEffect(() => {\n setFinancialDataStatus(InProgress);\n queryStatus({\n [InProgress]: () => true,\n [Complete]: () => {\n onOurOffer();\n return false;\n },\n [PreliminaryOffer]: () => {\n onPreliminaryOffer();\n return false;\n },\n [ReviewDocuments]: () => {\n onDocumentReview();\n return false;\n }\n });\n }, [onOurOffer, queryStatus, setFinancialDataStatus, onPreliminaryOffer, onDocumentReview])\n\n return (\n \n {financialDataStatus === InProgress && (\n \n )}\n {financialDataStatus === Rejected && (\n \n )}\n {financialDataStatus === Status.ToBeContacted && (\n \n )}\n \n );\n}","import { Body, Box, LocalizedBold, LocalizedString, Space, Stack, bold } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport { NonEmptyArray } from \"components/form/utils\";\nimport image from \"assets/rejected-request.png\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport default function RejectedOffer() {\n\tconst { formatMessage } = useFormatMessage();\n\tconst handleBack = () => {\n\t\twindow.location.href = \"mb-unicredit://appredirect/query?appSection=online:products:home\";\n\t};\n\n\tconst informationSection = [\n\t\tformatMessage(\"dbn.rejectedOffer.information.part1\"),\n\t\tbold(formatMessage(\"dbn.rejectedOffer.information.part2\")),\n\t\tformatMessage(\"dbn.rejectedOffer.information.part3\"),\n\t\tbold(formatMessage(\"dbn.rejectedOffer.information.part4\"))\n\t] as NonEmptyArray;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(\"dbn.rejectedOffer.description\")}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{formatMessage(\"dbn.rejectedOffer.title\")}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{informationSection}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}","import { Body, Box, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"../../../../components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/approved-final.png\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ninterface Props {\n\tonSubmit: () => unknown;\n}\n\nfunction GrantedCredit({onSubmit}: Props) {\n\tconst { formatMessage } = useFormatMessage();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(\"dbn.grantedCredit.description\")}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{formatMessage(\"dbn.grantedCredit.title\")}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n\n\n}\n\nexport default GrantedCredit;","import { Body, Space, Stack } from \"omnichannel-design-system\";\nimport { CategoryItem, OtherTypeOfIncomeInternalNames } from \"../FinancialInformation/services/domain\";\nimport { DOCUMENTS_INCOME_INTERNAL_NAMES, IncomeDocumentsProps } from \"./services/domain\";\nimport { DocumentDetailsType, ReportCodes } from \"../../../../pages/DocumentDetails/services/domain\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { CashLoanIncomeDocumentsCategories } from \"flows/services/domain\";\nimport { DocumentDetails } from \"../../../../pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport LoadingButton from \"components/LoadingButton\";\nimport OtherIncomeTypeDocuments from \"./components/OtherIncomeTypeDocuments\";\nimport { useCashLoanContext } from \"flows/CashLoan/services/cashLoanContext\";\nimport useCashLoanTranslation from \"../../services/useCashLoanTranslation\";\nimport { useFinancialApi } from \"flows/services/financialApi\";\nimport { useLoadingPipeline } from \"helper/loadingPipeline\";\nimport { useSaveOtherIncomeApi } from \"./services/saveOtherIncomeApi\";\n\ntype Props = {\n onSubmit: () => void;\n}\n\nexport function computeDisabled(incomes: IncomeDocumentsProps[]) {\n for (const income of incomes) {\n if (!income.documents.length) {\n return true;\n }\n\n const internalNames = income.documents.map(item => item.documentInternalName);\n\n if (income.income.type.internalName !== OtherTypeOfIncomeInternalNames.INCOME_OBTAINED_FROM_THE_CHILD_REARING_ALLOWANCE) {\n continue;\n }\n\n if (internalNames.length === 3) {\n return true;\n }\n\n if (internalNames.length === 1 && !internalNames.includes(DOCUMENTS_INCOME_INTERNAL_NAMES.CERTIFICATE_UCB_FORMAT)) {\n return true;\n }\n\n const compareWith = [\n DOCUMENTS_INCOME_INTERNAL_NAMES.ALLOWANCE_FOR_RAISING_THE_CHILD,\n DOCUMENTS_INCOME_INTERNAL_NAMES.CHILD_RAISING_ALLOWANCE_SLIP\n ];\n\n if (internalNames.length === 2 && compareWith.filter(item => (internalNames as any).includes[item]).length === 2) {\n return true;\n }\n }\n\n return false;\n}\n\nexport default function IncomeDocuments(props: Props) {\n const { onSubmit } = props;\n const { formatMessage, computeKey } = useCashLoanTranslation();\n const { financialData, financialDataLoading } = useFinancialApi(CashLoanIncomeDocumentsCategories);\n const { saveOtherIncome } = useSaveOtherIncomeApi();\n const { financialInformation } = useCashLoanContext();\n const [neededDocuments, setNeededDocuments] = useState([]);\n const [documents, setDocuments] = useState(financialInformation.otherIncomeTypes.map(item => ({\n income: item,\n documents: []\n })));\n const [showDocument, setShowDocument] = useState();\n const { loading: elementLoading, handleLoading } = useLoadingPipeline();\n\n const redirectDone = useRef(false);\n\n useEffect(() => {\n if (!financialData) {\n return\n }\n const receivedDocs = financialData.financialData[0].categoryItems;\n const documentNeededInternalNames: string[] = Object.values(DOCUMENTS_INCOME_INTERNAL_NAMES);\n setNeededDocuments(receivedDocs.filter((doc: CategoryItem) => documentNeededInternalNames.includes(doc.internalName)))\n }, [financialData]);\n\n const onContinue = useCallback((resolve: (isSuccessfully: boolean) => void) => {\n resolve(true);\n saveOtherIncome(() => {\n resolve(true)\n onSubmit();\n })\n\n }, [saveOtherIncome, onSubmit])\n\n useEffect(() => {\n if (!financialInformation.otherIncomeTypes.length && !redirectDone.current) {\n redirectDone.current = true;\n onContinue(console.log);\n }\n }, [financialInformation, onContinue])\n\n if (financialDataLoading || !financialInformation.otherIncomeTypes.length) {\n return \n }\n\n return (\n \n \n\n \n {formatMessage(\"pageDescription\")}\n \n\n {financialInformation.otherIncomeTypes.map((income, index) => (\n \n ))}\n\n \n\n \n\n {showDocument && (\n setShowDocument(undefined)}\n isReadOptional={true}\n onConfirm={() => setShowDocument(undefined)}\n translationsKeys={{\n title: computeKey(\"document.\" + showDocument),\n confirmationButtonText: \"dbn.agreements.guide.confirm\",\n downloadButtonText: \"dbn.agreements.guide.download.document\"\n }}\n />\n )}\n \n )\n}","import { CategoryItem, OtherIncomeType } from \"../../FinancialInformation/services/domain\";\nimport { Dispatch, SetStateAction, useCallback, useMemo } from \"react\";\nimport { INCOME_NEED_DOCUMENTS, IncomeDocumentsProps } from \"../services/domain\";\nimport { Space, Stack } from \"omnichannel-design-system\";\n\nimport CardDocumentCreateDelete from \"flows/CashLoan/components/CardDocumentCreateDelete\";\nimport { DocumentDetailsType } from \"pages/DocumentDetails/services/domain\";\nimport IncomeHeader from \"flows/CashLoan/components/IncomeHeader\";\nimport { LooseObject } from \"services/types\";\n\ntype Props = {\n neededDocuments: CategoryItem[],\n setDocuments: Dispatch>,\n income: OtherIncomeType;\n setShowDocument: Dispatch>;\n handleLoading: (partLoading: string) => (isLoading: boolean) => void;\n}\n\nexport default function OtherIncomeTypeDocuments(props: Props) {\n const { neededDocuments, setDocuments, income, setShowDocument, handleLoading } = props;\n const { internalName, value } = income.type;\n const incomeDocuments: CategoryItem[] = useMemo(() => {\n const internalDocumentName = (INCOME_NEED_DOCUMENTS as LooseObject)[internalName];\n return internalDocumentName.map((item: string) => neededDocuments.find(doc => doc.internalName === item))\n }, [neededDocuments, internalName]);\n\n const onSetFieldDetails = useCallback((id: number | string, fileMeta?: { id: string, file: File }) => {\n setDocuments(previousValues => {\n const currentIncome = previousValues.find(item => item.income === income);\n\n if (!currentIncome) {\n return previousValues;\n }\n\n const documentInternalName = incomeDocuments.find(item => item?.id === id)?.internalName ?? \"\";\n if (fileMeta && currentIncome && !currentIncome.documents.find(item => item.id === fileMeta.id)) {\n currentIncome.documents.push({\n id: fileMeta.id,\n content: fileMeta.file,\n documentId: id as number,\n documentInternalName\n })\n } else {\n currentIncome.documents = currentIncome.documents.filter(item => item.documentInternalName !== documentInternalName)\n }\n\n return [...previousValues];\n })\n }, [income, incomeDocuments, setDocuments])\n\n return (\n \n \n \n\n {incomeDocuments.map((doc, index) => (\n \n ))}\n \n )\n}","import { OtherIncomeType, OtherTypeOfIncomeInternalNames } from \"../../FinancialInformation/services/domain\";\n\nimport { DocumentDetailsType } from \"pages/DocumentDetails/services/domain\";\nimport { LooseObject } from \"services/types\";\n\nexport enum DOCUMENTS_INCOME_INTERNAL_NAMES {\n CERTIFICATE_UCB_FORMAT = \"Adeverinta de venit in format UCB-UCFin\",//34\n CERTIFICATE_DAILY_ALLOWANCE_RATES_UCB_FORMAT = \"Adeverinta, format UCB-UCFin, privind veniturile obtinute din diurne\",//53\n PENSION_SLIP = \"Talon de pensie\",//4\n ALLOWANCE_FOR_RAISING_THE_CHILD = \"Decizia privind indemnizatia de crestere a copilului \",//36\n CHILD_RAISING_ALLOWANCE_SLIP = \"Talon- indemnizatie crestere copil\",//37\n STATEMENT = \"Extras de cont\"//38\n}\nconst { SALARY_INCOME, FOOD_STANDARD_FOR_EMPLOYEES_OF_STATE_INSTITUTION, DAILY_INCOME, MILITARY_PENSIONS, INCOME_OBTAINED_FROM_THE_CHILD_REARING_ALLOWANCE } = OtherTypeOfIncomeInternalNames;\n\nexport const INCOME_NEED_DOCUMENTS = {\n [SALARY_INCOME]: [DOCUMENTS_INCOME_INTERNAL_NAMES.CERTIFICATE_UCB_FORMAT],\n [FOOD_STANDARD_FOR_EMPLOYEES_OF_STATE_INSTITUTION]: [DOCUMENTS_INCOME_INTERNAL_NAMES.CERTIFICATE_UCB_FORMAT],\n [DAILY_INCOME]: [DOCUMENTS_INCOME_INTERNAL_NAMES.CERTIFICATE_DAILY_ALLOWANCE_RATES_UCB_FORMAT],\n [MILITARY_PENSIONS]: [DOCUMENTS_INCOME_INTERNAL_NAMES.PENSION_SLIP, DOCUMENTS_INCOME_INTERNAL_NAMES.STATEMENT],\n [INCOME_OBTAINED_FROM_THE_CHILD_REARING_ALLOWANCE]: [\n DOCUMENTS_INCOME_INTERNAL_NAMES.ALLOWANCE_FOR_RAISING_THE_CHILD,\n DOCUMENTS_INCOME_INTERNAL_NAMES.CHILD_RAISING_ALLOWANCE_SLIP,\n DOCUMENTS_INCOME_INTERNAL_NAMES.CERTIFICATE_UCB_FORMAT\n ]\n}\n\nexport const INCOME_DOCUMENT_TEMPLATE: LooseObject = {\n [DOCUMENTS_INCOME_INTERNAL_NAMES.CHILD_RAISING_ALLOWANCE_SLIP]:DocumentDetailsType.CL_SALARY_INCOME_TEMPLATE,\n [DOCUMENTS_INCOME_INTERNAL_NAMES.CERTIFICATE_DAILY_ALLOWANCE_RATES_UCB_FORMAT]:DocumentDetailsType.CL_DAILY_INCOME_TEMPLATE,\n [DOCUMENTS_INCOME_INTERNAL_NAMES.CERTIFICATE_UCB_FORMAT]:DocumentDetailsType.CL_SALARY_INCOME_TEMPLATE,\n}\n\nexport type IncomeDocumentsProps = {\n income: OtherIncomeType;\n documents: {\n id: string;\n documentId: number;\n documentInternalName: string;\n content: File;\n }[];\n}\n\nexport type IncomeDocument = {\n income: OtherIncomeType;\n document: {\n id: string;\n documentId: number;\n documentInternalName: string;\n content: File;\n };\n}","import { useCallback, useState } from \"react\"\n\nimport { AxiosRequestConfig } from \"axios\"\nimport { executeAxios } from \"services/axiosHook\";\n\nconst saveOtherIncomeApi: AxiosRequestConfig = {\n url: \"/packages/loans-ro/additionalIncome/save\",\n method: \"POST\",\n}\n\nexport function useSaveOtherIncomeApi() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n const saveOtherIncome = useCallback((onSuccess: any, message?: string) => {\n executeAxios({\n params: { ...saveOtherIncomeApi, data: message ? { message } : undefined },\n onSuccess,\n onLoading: setLoading,\n onFail: setError\n })\n }, [])\n\n return {\n loading,\n error,\n saveOtherIncome\n }\n}","import { Body, Box, Stack } from \"omnichannel-design-system\";\nimport LoadingButton, { LoadingButtonAction } from \"components/LoadingButton\";\nimport { useApprovalExpirationDateApi, useSaveLoanApprovedApplicationApi } from \"./services/approvalResponseApi\";\n\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/approved-operation.png\";\nimport { useEffect } from \"react\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n\tonGoToContracts: () => void;\n\tonGoToSelectedExternalCredits: () => void;\n}\n\nexport default function LoanApproval(props: Props) {\n\tconst { onGoToContracts, onGoToSelectedExternalCredits } = props;\n\tconst { formatRichTextMessage, formatMessage } = useFormatMessage();\n\tconst { fetchDataResponse, content } = useApprovalExpirationDateApi();\n\tconst { saveLoanApprovedApplication } = useSaveLoanApprovedApplicationApi();\n\n\tconst handleSubmit: LoadingButtonAction = ((resolve) => {\n\t\tsaveLoanApprovedApplication()\n\t\t\t.then((externalCreditsSelected) => {\n\t\t\t\tresolve(true)\n\t\t\t\tif (externalCreditsSelected) {\n\t\t\t\t\tonGoToSelectedExternalCredits();\n\t\t\t\t} else {\n\t\t\t\t\tonGoToContracts();\n\t\t\t\t}\n\t\t\t}).catch(() => resolve(false));\n\t});\n\n\tuseEffect(() => {\n\t\tfetchDataResponse();\n\t}, [fetchDataResponse]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t{formatRichTextMessage(\"dbn.loanApproval.signature.description\")}\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t{formatRichTextMessage(\"dbn.loanApproval.signature.date.description\", { date: content?.expirationDate })}\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatMessage(\"dbn.loanApproval.signature.information\")}\n\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t{formatMessage(\"dbn.loanApproval.signature.title\")}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}","import { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\nimport { axiosInstance } from \"services/axiosHook\";\n\nconst apiConfigSaveLoanApprovedApplication = {\n\tmethod: \"post\" as Method,\n\turl: \"packages/loans-ro/contracts/saveLoanApprovedApplication\"\n};\n\nconst apiConfigApprovalExpirationDate = {\n\tmethod: \"post\" as Method,\n\turl: \"packages/loans-ro/contracts/approval/expirationDate\"\n};\ntype LoanApprovalResponse = { approved: boolean, expirationDate: string };\n\nexport const useApprovalExpirationDateApi = () => {\n\tconst [content, setContent] = useState({ approved: false, expirationDate: \"\" });\n\tconst [error, setError] = useState();\n\n\treturn {\n\t\tcontent,\n\t\terror,\n\t\tfetchDataResponse: useCallback(() => {\n\t\t\taxiosInstance.request(apiConfigApprovalExpirationDate).then((response) => {\n\t\t\t\tsetContent(response.data);\n\t\t\t}).catch((err) => {\n\t\t\t\tsetError(err.response);\n\t\t\t});\n\t\t}, [])\n\t};\n};\n\nexport const useSaveLoanApprovedApplicationApi = () => {\n\treturn {\n\t\tsaveLoanApprovedApplication: useCallback(() => {\n\t\t\treturn axiosInstance.request(apiConfigSaveLoanApprovedApplication).then(res => res.data)\n\t\t}, [])\n\t};\n};","import { AxiosRequestConfig, Method } from \"axios\";\nimport { Body, Box, Space, Stack, buttonLink, } from \"omnichannel-design-system\";\nimport {\n CashLoanOfferSummaryCategories,\n Category,\n CategoryItemsInternalNames\n} from \"../../../services/domain\";\nimport { CheckboxState, DocumentDetailsType, ReportCodes } from \"../../../../pages/DocumentDetails/services/domain\";\nimport { FORMATTER_TYPES, useFormatNumber } from \"../../../../services/formatNumberHook\";\nimport { REQUEST_DAR, sendDarOption } from \"flows/CashLoan/services/darRequest\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n useDiscardConsentTimestampApi,\n useDocConsentTimestampApi,\n useParamConsentTimestampApi\n} from \"../../services/consentApi\";\nimport { useGenerateDocumentApi, useGenerateMultipleDocumentsApi } from \"../../../../services/documentApi\";\n\nimport { Button } from \"components/Button\";\nimport { DocumentDetails } from \"pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport { InsuranceDetails } from \"./services/domain\";\nimport Loader from \"components/Loader\";\nimport { LooseObject } from \"../../../../services/types\";\nimport NavigationSwitch from \"components/NavigationSwitch\";\nimport { OurOfferData } from \"../OurOffer/services/domain\";\nimport { PreContractualForm } from \"./components/PreContractualForm\";\nimport ReadOnlyField from \"components/ReadOnlyField\";\nimport Subtitle from \"components/Subtitle\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { getIdByInternalName } from \"../../../../helper/financialDataUtils\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useEnumRetrieval } from \"../../../../services/enumRetrieval\";\nimport { useFinancialApi } from \"../../../services/financialApi\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useInitialLoadOfferSummary } from \"./services/initialLoadOfferSummary\";\nimport { useLoadingPipeline } from \"../../../../helper/loadingPipeline\";\n\ninterface Props {\n onSubmit: () => unknown;\n onBack: () => unknown;\n}\n\nconst gdprApiConfig = {\n method: \"post\" as Method,\n url: \"packages/loans-ro/precontracts/gdprlog\"\n};\n\ntype DocumentType =\n DocumentDetailsType.CL_OFFER_SUMMARY_UCFIN |\n DocumentDetailsType.CL_ELECTRONIC_CERTIFICATE_REQUEST |\n DocumentDetailsType.CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT |\n DocumentDetailsType.CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS |\n DocumentDetailsType.CL_OFFER_SUMMARY_GENERALI;\n\nconst {\n CL_OFFER_SUMMARY_UCFIN,\n CL_ELECTRONIC_CERTIFICATE_REQUEST,\n CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT,\n CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS,\n CL_OFFER_SUMMARY_GENERALI\n} = DocumentDetailsType;\n\nconst { INSTALMENT_TYPE_EQUALS } = CategoryItemsInternalNames;\nconst { InstallmentTypes } = Category;\n\nconst MONTHS = \"LUNI\";\n\nconst OfferSummary = (props: Props) => {\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const { formatter, formatAmount } = useFormatNumber(formatMessage);\n const { getEnumKeyByEnumValue } = useEnumRetrieval();\n const { generateDocument, loading: documentLoading } = useGenerateDocumentApi();\n const { updateConsentTimestamp } = useDocConsentTimestampApi();\n const { updateParamConsentTimestamp, loading: paramConsentLoading } = useParamConsentTimestampApi();\n const { discardConsentTimestamp } = useDiscardConsentTimestampApi();\n const { offerSummaryLoading, getSummaryResponse } = useInitialLoadOfferSummary();\n const { generateMultipleDocuments } = useGenerateMultipleDocumentsApi();\n const { loading: documentsLoading, handleLoading } = useLoadingPipeline();\n\n const { financialData, financialDataLoading } = useFinancialApi(CashLoanOfferSummaryCategories);\n const [toggleMap, setToggleMap] = useState({});\n const [isContinueDisabled, setContinueDisabled] = useState(true);\n const [selectedDocumentType, setSelectedDocumentType] = useState();\n const [insuranceConsult, setInsuranceConsult] = useState(false);\n const [insuranceAdaptive, setInsuranceAdaptive] = useState(false);\n const [summary, setSummary] = useState();\n const [haveInsurance, setHaveInsurance] = useState(false);\n const { AMOUNT, REPLACEMENT, PERCENTAGE, CUSTOM_SUFFIX } = FORMATTER_TYPES;\n\n useEffect(() => {\n getSummaryResponse((content: OurOfferData) => {\n const { inputParameters: { insuranceIncluded } } = content;\n setSummary(content);\n setHaveInsurance(insuranceIncluded);\n })\n }, [getSummaryResponse]);\n\n const updateDocumentsState = useCallback((toggleMapData: LooseObject, documentsToBeGenerated: AxiosRequestConfig[]) => {\n setToggleMap((previousElements) => ({ ...previousElements, ...toggleMapData }));\n\n generateMultipleDocuments(documentsToBeGenerated, {\n onLoading: handleLoading(\"offerSummaryDocumentsLoading\"),\n onFail: () => {\n handleLoading(\"offerSummaryDocumentsLoadingFailed\")(true);\n console.error(\"Generation of the documents failed!\");\n }\n });\n }, [generateMultipleDocuments, handleLoading]);\n\n useEffect(() => {\n if (haveInsurance && !offerSummaryLoading) {\n const toggleMapData = {\n [CL_OFFER_SUMMARY_GENERALI]: false,\n [CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS]: false\n };\n const documentsToBeGenerated = [\n {\n data: {\n reportCode: ReportCodes[CL_OFFER_SUMMARY_GENERALI],\n params: { insuranceConsult: false, insuranceAdaptive: false }\n }\n },\n { data: { reportCode: ReportCodes[CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS] } }\n ];\n updateDocumentsState(toggleMapData, documentsToBeGenerated);\n }\n }, [haveInsurance, offerSummaryLoading, updateDocumentsState])\n\n useEffect(() => {\n const toggleMapData: LooseObject = {\n [CL_OFFER_SUMMARY_UCFIN]: false,\n [CL_ELECTRONIC_CERTIFICATE_REQUEST]: false,\n [CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT]: false,\n };\n const documentsToBeGenerated: Array = [\n { data: { reportCode: ReportCodes[CL_OFFER_SUMMARY_UCFIN] } },\n { data: { reportCode: ReportCodes[CL_ELECTRONIC_CERTIFICATE_REQUEST] } },\n { data: { reportCode: ReportCodes[CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT] } }\n ];\n updateDocumentsState(toggleMapData, documentsToBeGenerated);\n }, [updateDocumentsState]);\n\n const INSTALLMENT_TYPE_EQUALS_ID = useMemo(() => getIdByInternalName(InstallmentTypes, INSTALMENT_TYPE_EQUALS, financialData), [financialData]);\n\n const switchToggle = (documentType: DocumentType, accepted: boolean) => {\n setToggleMap({ ...toggleMap, [documentType]: accepted });\n };\n\n const handleInsuranceDetailsSwitchToggleAction = (documentType: DocumentType) => {\n let currentAccepted = toggleMap[documentType];\n if (currentAccepted === false) {\n setSelectedDocumentType(documentType);\n } else {\n switchToggle(documentType, !currentAccepted);\n setInsuranceAdaptive(false);\n setInsuranceConsult(false);\n updateConsentTimestamp({\n data: { consentType: getEnumKeyByEnumValue(DocumentDetailsType, documentType.toString()), accepted: !currentAccepted }\n }, {\n onFail: () => switchToggle(documentType, currentAccepted)\n });\n }\n }\n\n const handleAgreementSwitchToggleAction = (documentType: DocumentType) => {\n let newAccepted = !toggleMap[documentType];\n switchToggle(documentType, newAccepted);\n updateConsentTimestamp({\n data: { consentType: getEnumKeyByEnumValue(DocumentDetailsType, documentType.toString()), accepted: newAccepted }\n }, {\n onFail: () => switchToggle(documentType, !newAccepted)\n });\n };\n\n const handleOnDocumentLinkClick = (documentType: DocumentType) => {\n setSelectedDocumentType(documentType);\n };\n\n const handleOnConfirm = (documentType: DocumentType) => {\n updateConsentTimestamp({\n data: { consentType: getEnumKeyByEnumValue(DocumentDetailsType, documentType.toString()), accepted: true }\n }, {\n onSuccess: () => {\n setSelectedDocumentType(undefined);\n switchToggle(documentType, true);\n }\n }\n );\n };\n\n const handleOnChangeInsuranceDetails = (details: InsuranceDetails, checkboxState: CheckboxState) => {\n const insuranceConsultKey = \"insuranceConsult\";\n if (checkboxState.checkboxName === insuranceConsultKey) {\n setInsuranceConsult(checkboxState.checked);\n } else {\n setInsuranceAdaptive(checkboxState.checked);\n }\n updateParamConsentTimestamp({\n data: { paramConsentType: checkboxState.checkboxName, accepted: checkboxState.checked }\n }, {\n onFail: () => {\n if (checkboxState.checkboxName === insuranceConsultKey) {\n setInsuranceConsult(!checkboxState.checked);\n } else {\n setInsuranceAdaptive(!checkboxState.checked);\n }\n }\n });\n };\n\n const handleOnCloseInsuranceDetails = (documentType: DocumentType) => {\n discardConsentTimestamp({\n data: { consentType: getEnumKeyByEnumValue(DocumentDetailsType, documentType.toString()) }\n }, {\n onSuccess: (responseData: any) => {\n setInsuranceConsult(responseData.insuranceConsult);\n setInsuranceAdaptive(responseData.insuranceAdaptive);\n handleOnDocumentClose();\n }\n })\n };\n\n const handleOnDocumentClose = () => {\n setSelectedDocumentType(undefined);\n };\n\n const sendDarOnSuccess = () =>\n sendDarOption(\n REQUEST_DAR.CONSUMER_FINANCE_INITIAL_PRECONTRACTUAL_RO, {\n onSuccess: props.onSubmit,\n onFail: () => console.error(REQUEST_DAR.CONSUMER_FINANCE_INITIAL_PRECONTRACTUAL_RO + \" fail\")\n })\n\n const handleSubmit = () => {\n if (!haveInsurance) {\n executeAxios({\n params: gdprApiConfig,\n onSuccess: sendDarOnSuccess,\n });\n } else {\n generateDocument({\n data: { reportCode: ReportCodes[CL_OFFER_SUMMARY_GENERALI], params: { insuranceConsult, insuranceAdaptive } }\n }, {\n onSuccess: () => (\n executeAxios({\n params: gdprApiConfig,\n onSuccess: sendDarOnSuccess\n })),\n onFail: () => console.error(\"Generate GDPR document fail\")\n });\n }\n };\n\n useEffect(() => {\n setContinueDisabled(Object.values(toggleMap).some(accepted => !accepted));\n }, [toggleMap]);\n\n if (offerSummaryLoading || documentsLoading || financialDataLoading) {\n return ;\n }\n\n if (selectedDocumentType) {\n return (\n selectedDocumentType === CL_OFFER_SUMMARY_GENERALI ? (\n handleOnCloseInsuranceDetails(selectedDocumentType)}\n onConfirm={() => handleOnConfirm(selectedDocumentType)}\n customContent={(loadingContract) =>\n }\n disableContinue={!insuranceAdaptive}\n translationsKeys={{\n title: `dbn.agreements.${selectedDocumentType}.agreement.title`,\n description: `dbn.agreements.${selectedDocumentType}.agreement.description`,\n confirmationButtonText: `dbn.agreements.${selectedDocumentType}.agreement.confirm.document`,\n downloadButtonText: `dbn.agreements.${selectedDocumentType}.agreement.download.document`\n }}\n />\n ) : (\n handleOnConfirm(selectedDocumentType)}\n isReadOptional={true}\n translationsKeys={{\n title: `dbn.agreements.${selectedDocumentType}.agreement.title`,\n description: `dbn.agreements.${selectedDocumentType}.agreement.description`,\n confirmationButtonText: `dbn.agreements.${selectedDocumentType}.agreement.confirm.document`,\n downloadButtonText: `dbn.agreements.${selectedDocumentType}.agreement.download.document`\n }}\n />\n ))\n }\n\n return (\n \n \n \n \n \n \n {formatMessage(\"dbn.summaryOffer.description\")}\n \n \n \n\n \n \n \n\n {summary && financialData && \n 0 ? \"dbn.summaryOffer.totalAmount.label\" : \"dbn.summaryOffer.amount.label\")}\n />\n {\n summary.outputParameters.refinancedAmount > 0 && (\n \n \n \n \n )\n\n }\n \n \n \n \n \n \n {haveInsurance && \n \n \n \n }\n \n \n }\n\n \n \n \n\n {summary && (\n \n {summary.outputParameters.totalCommissionsAnalysisAmount > 0 && (\n \n )}\n {summary.outputParameters.totalCommissionsAdministrationAmount > 0 && (\n \n )}\n \n \n )\n }\n\n \n\n \n\n \n \n \n {[\n formatMessage(\"dbn.summaryOffer.precontractual.ucfin.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(CL_OFFER_SUMMARY_UCFIN), formatMessage(\"dbn.summaryOffer.precontractual.ucfin.description.link\")),\n formatMessage(\"dbn.summaryOffer.precontractual.ucfin.description.after\")]}\n }\n switchOn={toggleMap[CL_OFFER_SUMMARY_UCFIN]}\n toggleAction={() => handleAgreementSwitchToggleAction(CL_OFFER_SUMMARY_UCFIN)}\n />\n\n \n\n \n \n\n \n {[\n formatMessage(\"dbn.summaryOffer.electronic.certificate.request.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(CL_ELECTRONIC_CERTIFICATE_REQUEST), formatMessage(\"dbn.summaryOffer.electronic.certificate.request.description.link\")),\n formatMessage(\"dbn.summaryOffer.electronic.certificate.request.description.after\")]}\n }\n switchOn={toggleMap[CL_ELECTRONIC_CERTIFICATE_REQUEST]}\n toggleAction={() => handleAgreementSwitchToggleAction(CL_ELECTRONIC_CERTIFICATE_REQUEST)}\n />\n \n \n {[\n formatMessage(\"dbn.summaryOffer.electronic.certificate.gdpr.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT), formatMessage(\"dbn.summaryOffer.electronic.certificate.gdpr.description.link\")),\n formatMessage(\"dbn.summaryOffer.electronic.certificate.gdpr.description.after\")]}\n }\n switchOn={toggleMap[CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT]}\n toggleAction={() => handleAgreementSwitchToggleAction(CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT)}\n />\n\n \n\n {haveInsurance && (\n <>\n \n \n \n {[\n formatMessage(\"dbn.summaryOffer.precontractual.generali.description.before\")]}\n }\n switchOn={toggleMap[CL_OFFER_SUMMARY_GENERALI]}\n toggleAction={() => handleInsuranceDetailsSwitchToggleAction(CL_OFFER_SUMMARY_GENERALI)}\n />\n \n \n {[\n formatMessage(\"dbn.summaryOffer.termsAndConditions.lifeInsurance.description.before\"),\n buttonLink(() => handleOnDocumentLinkClick(CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS), formatMessage(\"dbn.summaryOffer.termsAndConditions.lifeInsurance.description.link\")),\n formatMessage(\"dbn.summaryOffer.termsAndConditions.lifeInsurance.description.after\")]}\n }\n switchOn={toggleMap[CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS]}\n toggleAction={() => handleAgreementSwitchToggleAction(CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS)}\n />\n \n )}\n \n\n \n \n \n \n \n \n );\n}\n\nexport default OfferSummary;\n","import Checkbox from \"components/Checkbox\";\nimport { CheckboxState } from \"../../../../../pages/DocumentDetails/services/domain\";\nimport { InsuranceDetails } from \"../services/domain\";\nimport { Space } from \"omnichannel-design-system\";\nimport { useFormatMessage } from \"../../../../../services/formatMessageHook\";\n\ntype Props = {\n initialValues: InsuranceDetails,\n onChange: (newInitialValues: InsuranceDetails, checkboxState: CheckboxState) => unknown,\n loading: boolean,\n}\n\nexport function PreContractualForm({ onChange, initialValues, loading }: Props) {\n const handleChange = (whatToChange: string) => (checked: boolean) => {\n onChange({ ...initialValues, [whatToChange]: checked }, { checkboxName: whatToChange, checked: checked });\n };\n\n const { formatRichTextMessage } = useFormatMessage();\n return (\n <>\n

\n {formatRichTextMessage(\"dbn.agreements.insurance.consult.secondDescription\")}\n

\n \n \n \n )\n}","import {useCallback, useState} from \"react\";\n\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst getInitialData = {\n url: \"/packages/loans-ro/offer/getOfferDataSummary\",\n method: \"post\" as Method,\n}\n\nexport function useInitialLoadOfferSummary() {\n const [loading, setLoading] = useState(false);\n\n return {\n offerSummaryLoading: loading,\n getSummaryResponse: useCallback((onSuccess: any) => {\n executeAxios({\n params: {...getInitialData},\n onLoading: setLoading,\n onSuccess\n });\n }, [])\n };\n}"],"names":["activateLogs","fullLog","forEach","fn","originalFn","console","bind","window","logs","push","arguments","originalError","error","_len","length","args","Array","_key","some","item","startsWith","info","debug","onerror","message","process","REACT_APP_DEBUG","resetCustomWindowLogs","logsPresent","ErrorHandler","props","useEffect","interval","setInterval","errorLogApi","data","clearInterval","children","InternetApp","_jsx","Router","_jsxs","Switch","REACT_APP_USE_MOCK","Route","path","OauthAuthorize","RemoteOnboardingApp","VirtualMailboxApp","AuthenticatedClientApp","Accordion","_ref","accordionItems","freestandingAccordionItems","map","_ref2","title","Icon","Content","icon","content","activeItem","setActiveItem","useState","option","FreestandingAccordion","value","items","onChange","AnalyzingData","description","formatMessage","useFormatMessage","Box","column","wrap","grow","shrink","Stack","units","Heading","text","Typography","basis","vAlignContent","hAlignContent","src","image","style","maxWidth","alt","Banner","type","InnerBanner","actions","onDismiss","ButtonContainer","styled","div","_templateObject","_taggedTemplateLiteral","$$fontSize","Button","fontSize","variant","InnerButton","className","action","disabled","id","label","translationKey","size","Description","Container","_templateObject2","palette","dark","Checkbox","descriptionInformation","EMPTY_STRING","name","onBlur","issueType","InnerCheckbox","e","currentTarget","checked","issuesType","undefined","color","neutral500","DefaultErrorPage","onSubmit","formatRichTextMessage","GenericWrapperPage","headerLabel","PAGE_TITLE","submitDisabled","flickerAnimation","keyframes","red800","flickering","css","EnvironmentWrapperStyled","span","_templateObject3","left","flicker","configurationsCallConfig","url","EnvironmentButton","setFlicker","showDialog","setShowDialog","showUpdateCamera","setShowUpdateCamera","environment","showCameraUpdateParams","touchTimeout","useRef","fetchAndUpdateTranslations","setTranslations","useTranslationsApi","configurations","dispatch","useAppContext","flowId","sessionStorageData","getItem","sendConfig","useCallback","document","dispatchEvent","CustomEvent","GlobalEvents","SEND_CONFIG","detail","addEventListener","GET_CONFIGURATION","removeEventListener","updateConfiguration","UPDATE_CONFIGURATION","handleTranslationUpdate","setTimeout","RELOAD_TRANSLATIONS","onShowTranslationKeys","previousTranslation","newTranslations","key","Object","keys","onReloadConfig","executeAxios","params","onSuccess","SHOW_TRANSLATION_KEYS","onOpenCameraUpdateParameters","onCloseCameraUpdateParameters","UpdateCameraParameters","onClose","onClick","handleEnvironmentClick","onAuxClick","onTouchStart","handleTouchStart","current","TOUCH_DURATION","onTouchEnd","handleTouchEnd","clearTimeout","Dialog","copy","alert","concat","Body","weight","UPDATE_CAMERA_PARAMETERS","isExperianPrecropped","isExperianScanner","scanIdCameraViewSonic","values","setValue","isPreCrop","isScanner","cameraParams","JSON","parse","newItem","setNewItem","itemName","itemType","onSave","localStorage","setItem","stringify","onRestore","textTransformNone","Space","InputField","target","previous","unsafeLocalizedString","DropdownField","width","event","options","clearable","searchable","cancelLabel","clearSelectionLabel","noResultsLabel","filterInputPlaceholder","placeholder","AddIcon","Divider","display","parameter","marginTop","_ref3","isNaN","Number","DeleteIcon","_ref4","_ref5","FloatingFooterContainerStyled","FloatingFooter","showAfterRef","hideAfterRef","FloatingFooterComponent","onBack","onSubmitWithLoader","backLabel","submitLabel","fluid","LoadingButton","normalText","otherProps","InnerHeading","Loader","InnerLoader","align","forwardRef","ref","loadingText","successText","errorText","LoadingButtonInner","labels","normal","loading","success","pipe","task","Promise","resolve","resolved","isSuccessfully","either","NavigationSwitch","switchOn","toggleAction","customContent","setChecked","overflowWrap","handleChange","OutsideClickHandler","wrapperRef","onOutsideClick","handleOutsideClick","contains","defaultPinComponent","checkPinCall","stepBackCondition","loadingMessage","pinSignatureEnabled","REACT_APP_PIN_SIGNATURE_ENABLED","PIN_SIGNATURE_DISABLED","location","href","MB_SIGNATURE_DEEP_LINK","MB_SIGNATURE_DEEP_LINK_BIOMETRIC_PARAMETER","POLLING_DELAY","SuccessfullySigned","_Fragment","useCheckSignAuthorization","checkSignStatus","setCheckSignStatus","CheckSignStatus","RETRY","setError","checkSignAuthorization","startTime","Date","getTime","executePinCheck","response","pollingTime","status","POLLING_TIMEOUT","OK","TIMEOUT","onFail","executePinTimeout","POLLING_INTERVAL","RadioButton","labelWeight","labelTextTransformNone","RadioButtonInner","onSelect","isDisabled","isSelected","isRecommended","renderOption","handleDivResize","node","ratio","localName","styles","getComputedStyle","marginBottom","parseFloat","replace","padding","convertChildrenForIos","screenWidth","innerWidth","height","cellPadding","cellSpacing","position","zIndex","onLoad","container","getElementsByName","setChildrenTextSize","nodeList","lineHeight","childNodes","ReactToSVG","onLoadImage","displayImage","contentLoaded","imageSrc","setImageSrc","isIOS","useDeviceUA","imageTemplateRef","toSvg","cacheBust","then","imageString","catch","err","log","finally","marginLeft","backgroundColor","white","objectFit","ReadOnlyField","ReadOnlyInner","SHOW_SNACK_BAR","SnackBar","snackBar","setSnackBar","isOpen","listenerEvent","previousSnackbar","Snackbar","closeSnackBar","Fragment","StepperContainerStyled","Stepper","totalSteps","currentStepIndex","currentItem","listItem","before","fill","index","after","MicroStepper","steps","zipper","onStepClick","SubtitleStyled","Subtitle","disableOrEnableSection","tabs","computedOrderTabs","selectedTab","tabsDescription","archivedTabs","computedTabs","focus","zippedList","rights","lefts","isRight","orderedTab","tab","find","Tabs","setTab","tabsData","disableUnselectedTabs","state","setTabs","oldTabs","TabsInner","htmlSize","small","medium","TextStyled","sizeDetails","sizeClient","BodyStyled","isHTML","isSupraText","isClient","computeSize","AutocompleteInputFieldInner","touched","suggestions","form","errorDisabled","showAssistiveTextInRight","filterConstraints","assistiveText","touches","errors","newValue","setFieldValue","computeIssues","fieldIssues","toString","AutocompleteInput","suggestionsStatus","onSelectSuggestion","suggestion","onSelectedSuggestion","onFilterChange","setFieldTouched","LOADING_LABEL_DEFAULT","issues","AutocompleteInputField","FormikProvider","DateFieldInner","constVoid","minDate","maxDate","confirmDateLabel","displayFormat","titleDateLabel","InnerDate","validableDate","fromDate","validatedValue","DateField","DropdownFieldStyled","Dropdown","pointerEventsOnSelection","labelTextTransform","computedValue","internalOptions","isMulti","filter","internalOption","valuesResetOnChange","onInputChange","descriptionConfirmLabel","disableOptions","NO_RESULTS_LABEL_DEFAULT","CANCEL_LABEL_DEFAULT","clearLabel","CLEAR_LABEL_DEFAULT","isValidatedOnBlur","ctaLabel","CONFIRM_LABEL_DEFAULT","intermediarySelection","setIntermediarySelection","isMobile","externalOption","newInternalOption","when","handleResetValuesOnChange","onEntrySelect","intermediaryValue","filedValue","previousValues","newValues","includes","handleBlur","DropdownFieldWrapper","ManualDateInnerField","isDigit","char","Text","newChar","slice","formatChar","charAt","c","oldChar","moment","isValid","virtualKeyboardInputType","inputMode","ManualDateField","NumberField","rightContent","min","max","valueFormatter","onKeyUp","haveBlurOnEnter","isUnvalidatedOnFocus","enforceInputMode","blurOnEnter","number","locale","LOCALE","onFocus","INITIAL_STEP","NumberFieldStepper","step","reference","formatFirstAvailableMessage","computedLabel","isArray","NumberInputStepperField","outerStep","computeShowHideButton","showHideButtons","showHideButtonsIcons","hideLabel","showLabel","PasswordFieldInner","touchedForm","Password","showHideButton","PasswordField","inputDisabled","neutral300","PinInputContentStyled","mobile","PinInputInner","readOnly","PinInputDS","unsafePositiveInteger","taskEither","submit","showValue","autoFocus","hasError","PinInput","selectedValue","radioOption","currentOption","optionContent","jsx","parentNode","firstChild","clientHeight","difHeight","paddingTop","VARIANT","RadioFieldInner","formattedOptions","RadioGroup","optionKey","identity","renderOptionChildren","isOptionDisabled","constFalse","RadioField","RadioGroupStyled","extended","RadioFieldWrapper","NO_CHANGE_APPLIED","TextField","TextFieldWrapper","TextareaFieldNoFormik","isError","errorLabel","Textarea","autogrow","validate","Component","Field","param","field","radioGroupExtended","blue600","element","onKeyCode","keyCode","setAttribute","blur","removeAttribute","closeKeyboard","elementOnKeyUpBlur","svgSize","$size","IconContainerStyled","SmallIconContainerStyled","PAGE_SUBMIT","oauthAuthorizeApi","method","useLocation","search","res","missingUser","REACT_APP_API_PORT","consentCode","AGREEMENTS","AGREEMENTS_SIGNATURE_POLLING","FINANCIAL_INFORMATION","FINANCIAL_INFORMATION_DATA_ANALYZE","PRELIMINARY_OFFER","INCOMES_DOCUMENTS","OUR_OFFER","PAYMENT_CONFIGURATION","CONTRACTS","PRECONTRACTUAL_DOCUMENTS_SIGNATURE_POLLING","PRECONTRACTUAL_DOCUMENTS_STATUS_POLLING","SUMMARY_OFFER","LOAN_APPROVAL","CONTRACT_SIGNATURE","GRANTED_CREDIT","LOADING","ACTIVE_OFFER","SELECTED_EXTERNAL_CREDITS","EXPIRED","CANCEL_APPLICATION_FEEDBACK","FINISH_CASH_LOAN_WITH_FEEDBACK","KYC_EXPIRED","EXISTING_BLOCKING_APPLICATIONS","ADDITIONAL_INCOME_DOCUMENTS","ADDITIONAL_INCOME_DOCUMENTS_DATA_ANALYZE","Page","backToMobileApp","CashLoanContent","currentPage","updateCurrentPage","useCashLoanContext","handleSubmit","AgreementsCashLoan","ExistingBlockingCashLoanApplications","AgreementsSignaturePolling","FinancialInformation","FinancialInformationDataAnalyze","onOurOffer","onPreliminaryOffer","onDocumentReview","OurOffer","onIncomeDocuments","IncomeDocuments","AdditionalIncomeDocuments","LoanApproval","onGoToContracts","onGoToSelectedExternalCredits","SelectedExternalCredits","PaymentConfiguration","OfferSummary","PrecontractualDocumentsSignaturePolling","PrecontractualDocumentsStatusPolling","Contracts","ContractSignature","FinishCashLoanWithFeedback","GrantedCredit","ActiveOffer","onCancel","KycExpired","CancelCashLoanWithFeedback","ExpiredOffer","getCurrentPage","pageTo","checkResumeLoanConfig","CashLoan","setLoading","initialState","setInitialState","initialCashLoanState","isPersonalDataValid","updateInitialStateWithResumeInfo","applicationId","cancelableApplication","kycExpired","resumeInfo","ACTIVE_OFFER_STATES","PENDING_RESOLUTION_STATE","resumeEnabled","getQueryVariable","dbnObjectId","onLoading","personalProfileEnabled","CashLoanContextProvider","PersonalDataOverviewWrapper","ContainerStyled","CardDocumentCreateDelete","internalName","setFileDetails","income","setShowDocument","formatMessageWithKey","computeKey","useCashLoanTranslation","additionalIncomeDocumentMaxSize","formatMessageWithLinkAction","addOtherIncomeDocument","useAddOtherIncomeDocumentApi","deleteOtherIncomeDocument","useDeleteOtherIncomeDocumentApi","showConfirmation","setShowConfirmation","fileMetadata","setFileMetadata","onUploadDocument","getFileClient","maxSizeMB","toLargeFileError","emptyFileError","notAcceptedTypeError","file","documentId","documentInternalName","newMetadata","onDeleteFile","onOpenExistingDocument","download","onCloseAlert","onConfirmAlert","documentSubDescription","DOCUMENT_DOWNLOAD_TYPE","DocumentDetailsType","CL_SALARY_INCOME_TEMPLATE","linkText","documentDescriptionKey","OtherTypeOfIncomeInternalNames","INCOME_OBTAINED_FROM_THE_CHILD_REARING_ALLOWANCE","DocumentIcon","buttonLink","UploadIcon","AlertDialog","UCInfoIcon","onConfirm","confirmLabel","IncomeHeader","incomeType","addOtherIncomeDocumentApi","async","incomeDocument","callbacks","request","toBase64","split","incomeId","incomeInternalName","uploadedFileName","contentType","removeIncomeDocumentApi","setContext","resumeApplication","useResumeApplication","textCode","config","GeneralError","resumeLoanConfig","keyToValue","amount","period","paymentDay","paymentType","statusLoan","resumeData","resumeStructure","ourOffer","offerType","offerWithRefinancing","refinancedCredits","refinancingChanged","totalLoanAmount","insurance","templateItem","subKey","String","OfferType","gdprAcord","computeInitialResumeData","initialOffersResponse","ourOfferPageData","updateContextWithResumeData","onAddDocument","setDocuments","setNewIdDocument","fileMeta","previousDocuments","uuidV4","onRemoveDocument","employerCUI","_additionalIncomeDocu","_additionalIncomeDocu2","additionalIncomeDocument","modelDocuments","useLoadData","saveOtherIncome","useSaveOtherIncomeApi","showModelsDownload","setShowModelsDownload","documents","setMessage","financialInformation","updateFinancialInformation","showDocument","elementLoading","handleLoading","useLoadingPipeline","newIdDocument","onContinue","otherIncomeTypes","onOpenModelsDialog","onCloseDocument","continueIsDisabled","neutral700","reworkComments","join","NavigationElement","rightIcon","AngleRightIcon","firstLine","secondLine","DownloadIcon","leftIcon","DocumentDetails","showAsDialog","apiConfig","reportCode","ReportCodes","isReadOptional","translationsKeys","confirmationButtonText","downloadButtonText","CERTIFICATE_UCB_FORMAT","CERTIFICATE_DAILY_ALLOWANCE_RATES_UCB_FORMAT","DOCUMENTS_INCOME_INTERNAL_NAMES","DOCUMENT_TEMPLATE","CERTIFICATE_CRC","FINANCIAL_DATA","Category","IncomeType","CL_AGREEMENT_CRC_TEMPLATE","CL_DAILY_INCOME_TEMPLATE","getAdditionalDocumentsApi","useGetAdditionalIncomeDocuments","setData","getAdditionalIncomeDocuments","getAdditionalIncomeEnableApi","useGetAdditionalIncomeEnabled","isAdditionalIncomeEnabled","setIsAdditionalIncomeEnabled","getAdditionalIncomeEnabled","additionalIncomeEnabled","financialData","financialDataLoading","useFinancialApi","loadingAdditionalIncome","setModelDocuments","getCategoryItem","category","internalNames","GdprBanner","lifeInsurance","monthlyTurnover","accepted","staff","mappedWarnings","is","warning","CashLoanAgreements","startApplication","useStartApplication","updateCurrentPageToExistingBlockingApplications","getEnumKeyByEnumValue","useEnumRetrieval","generateDocument","documentLoading","useGenerateDocumentApi","generateMultipleDocuments","useGenerateMultipleDocumentsApi","updateConsentTimestamp","useDocConsentTimestampApi","updateParamConsentTimestamp","paramConsentLoading","useParamConsentTimestampApi","getClientInfo","useGetClientInfoApi","showGuide","setShowGuide","selectedDocumentType","setSelectedDocumentType","creditApplicationToggle","setCreditApplicationToggle","anafToggle","setAnafToggle","creditBureauToggle","setCreditBureauToggle","gdprToggle","setGdprToggle","gdprLifeInsurance","setGdprLifeInsurance","gdprMonthlyTurnover","setGdprMonthlyTurnover","allAgreementsApproved","setAllAgreementsApproved","isStaff","setIsStaff","_response$activeAppli","activeApplications","lastRejectedApplication","CL_CREDIT_APPLICATION","CL_ANAF","CL_CREDIT_BUREAU_NOTICE","CL_GDPR","handleCloseGuide","handleOnDocumentLinkClick","documentType","handleOnConfirm","consentType","changeToggle","handleOnClose","handleAgreementSwitchToggleAction","currentToggleValue","newToggleValue","handleCheckboxChange","checkboxName","paramConsentType","CL_AGREEMENTS_GUIDE","handleOpenGuide","handleGoBack","executeFail","gdprLogBeforeCheckSign","gdprLogApiConfig","sendDarOption","REQUEST_DAR","CONSUMER_FINANCE_CONSENTS","Signature","consentsSign","consentsSignLoading","requestRejected","useConsentsSignApi","informationSection","bold","ToBeContacted","buttonKey","SignatureComponent","handleOnSubmit","pinLabel","pinDescription","consentsSignConfig","setRequestRejected","checkSignAuthorizationCallConfig","stepBack","setStepBack","ERR_CREATE_APP","PinSignaturePolling","contractsSign","contractsSignLoading","useContractsSignApi","invalidOtpMessage","setInvalidOtpMessage","resetComponent","ResendTimerSMS","handleResendSMS","issueCertificate","otp","pin","showPin","validatePwd","submitErrorMessage","signContractsConfig","isneAccepted","setIsneAccepted","contractAccepted","setContractAccepted","infoAgreed","setInfoAgreed","currentDocumentDetails","setCurrentDocumentDetails","callSecLogBeforeContractsSign","useSecLogBeforeContractsSignApi","fetchData","useContractExpirationApi","infoAgreedConsent","consentRequired","handlePriorInfoAgreementChange","handleClosePdfInformation","CL_ISNE","date","expirationDate","CL_CONTRACT","orientation","neutral200","CONSUMER_FINANCE_INITIAL_CONTRACTUAL_RO","setContent","axiosInstance","loanContractConsentsConfig","issueCertificateConfig","promiseFunctions","rejectedApplication","ExistingBlockingApplications","CancelWithFeedback","feedbackUrls","FEEDBACK_URLS","cancelApplication","onSignatureSuccess","FinishWithFeedback","apiConfigCancelCreditOffer","getUrl","saveUrl","saveWithSignatureUrl","MARITAL_STATUS_MARRIED","YES","INFINITE_PERIOD","EMPLOYED","RETIRED","CategoryItemsInternalNames","MaritalStatus","YesNo","EmploymentType","ProfessionalStatus","computeOtherIncomeTypesList","financialElements","categoryId","categoryItems","CashLoanFinancialInformationCategories","financialDropdownData","setFinancialDropdownData","FinancialInformationForm","initialValues","otherIncomeTypesList","financialIds","MARITAL_STATUS_MARRIED_ID","getIdByInternalName","YES_ID","INFINITE_PERIOD_ID","EMPLOYED_ID","RETIRED_ID","FinancialInformationInner","validateForm","setValues","useFormikContext","saveFinancialData","useSaveFinancialDataApi","showOtherIncomeTypes","setShowOtherIncomeTypes","enableSubmit","setEnableSubmit","openAdditionalIncomeDialog","removeExistingOtherIncomes","onSaveOtherIncome","OtherIncomeTypes","otherIncomes","getOptionsByCategory","professionalStatus","sourceOfIncome","CheckBoxOtherIncome","otherIncome","DependentsNumber","maritalStatus","ucfinExpose","birthNumber","referralUserEnabled","referalUser","validationErrors","validateProfessionalStatusAndRelated","occupation","test","validateOccupation","currentDate","setDate","getDate","validateMaritalStatusAndRelated","CNP","validateOtherDetails","dependents","match","Formik","RemoveContainerDialogStyled","formatAmount","useFormatNumber","showRemoveDialog","setShowRemoveDialog","isChecked","openRemoveExistingIncomes","CheckboxIcon","PencilIcon","ChooseIncomeTypeDialog","salaryIncome","restOfIncomes","setTouched","selection","setSelection","onSaveType","checkShowMoreDetails","jobStartedAt","contractType","jobEndDate","DATE_FORMAT","MoreDetailsIncome","CustomDividerStyled","neutral400","OtherIncomeList","onSaveIncome","onDeleteIncome","onAddAnotherOtherIncome","showList","onEditOtherIncome","editedIncome","monochromatic","OtherIncomeTypesWithFormik","withFormik","mapPropsToValues","_","cif","toUpperCase","indexOfRo","indexOf","substring","parseInt","controlNumber","testKey","sum","i","calculatedControlNumber","validateRomanianCIF","bag","OtherIncomeTypesForm","selectedType","militaryPermission","MILITARY_PENSIONS","showTypeSelection","setShowTypeSelection","onAddOrEditIncome","newType","otherDetails","indexOfItem","splice","CL_GUIDE_ADDITIONAL_INCOME","isEditMode","editable","_document$activeEleme","activeElement","saveFinancialDataConfig","computedValues","format","financialDataStatusCallConfig","InProgress","Complete","PreliminaryOffer","ReviewDocuments","Rejected","Status","computeTextKey","currentStatus","financialDataStatus","setCurrentStatus","setFinancialDataStatus","queryStatus","usePoolingService","RejectedOffer","handleBack","computeDisabled","incomes","compareWith","ALLOWANCE_FOR_RAISING_THE_CHILD","CHILD_RAISING_ALLOWANCE_SLIP","CashLoanIncomeDocumentsCategories","neededDocuments","setNeededDocuments","redirectDone","receivedDocs","documentNeededInternalNames","doc","OtherIncomeTypeDocuments","incomeDocuments","useMemo","INCOME_NEED_DOCUMENTS","onSetFieldDetails","_incomeDocuments$find","_incomeDocuments$find2","currentIncome","SALARY_INCOME","FOOD_STANDARD_FOR_EMPLOYEES_OF_STATE_INSTITUTION","DAILY_INCOME","PENSION_SLIP","STATEMENT","saveOtherIncomeApi","fetchDataResponse","useApprovalExpirationDateApi","saveLoanApprovedApplication","useSaveLoanApprovedApplicationApi","externalCreditsSelected","apiConfigSaveLoanApprovedApplication","apiConfigApprovalExpirationDate","approved","gdprApiConfig","CL_OFFER_SUMMARY_UCFIN","CL_ELECTRONIC_CERTIFICATE_REQUEST","CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT","CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS","CL_OFFER_SUMMARY_GENERALI","INSTALMENT_TYPE_EQUALS","InstallmentTypes","formatter","discardConsentTimestamp","useDiscardConsentTimestampApi","offerSummaryLoading","getSummaryResponse","useInitialLoadOfferSummary","documentsLoading","CashLoanOfferSummaryCategories","toggleMap","setToggleMap","isContinueDisabled","setContinueDisabled","insuranceConsult","setInsuranceConsult","insuranceAdaptive","setInsuranceAdaptive","summary","setSummary","haveInsurance","setHaveInsurance","AMOUNT","REPLACEMENT","PERCENTAGE","CUSTOM_SUFFIX","FORMATTER_TYPES","inputParameters","insuranceIncluded","updateDocumentsState","toggleMapData","documentsToBeGenerated","previousElements","INSTALLMENT_TYPE_EQUALS_ID","switchToggle","newAccepted","handleOnChangeInsuranceDetails","details","checkboxState","insuranceConsultKey","handleOnDocumentClose","sendDarOnSuccess","CONSUMER_FINANCE_INITIAL_PRECONTRACTUAL_RO","handleOnCloseInsuranceDetails","responseData","loadingContract","PreContractualForm","disableContinue","loanAmount","outputParameters","refinancedAmount","topUpAmount","monthlyPayment","installmentTypeId","tenor","suffix","productParameters","interestRate","dae","totalAmount","totalInsuranceAmount","keyTranslation","placeholders","insuranceMonthlySummaryValue","dueDayDisplayValue","totalCommissionsAnalysisAmount","totalCommissionsAdministrationAmount","currentAccepted","handleInsuranceDetailsSwitchToggleAction","whatToChange","getInitialData"],"sourceRoot":""}