{"version":3,"file":"static/js/874.2bef8be8.chunk.js","mappings":"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","sources":["flows/services/addressesApi.ts","flows/services/clientInfoApi.ts","flows/services/domain.ts","flows/services/financialApi.ts","flows/services/gdprLogApi.ts","flows/services/paymentConfigurationApi.ts","flows/services/poolingServices.ts","flows/styles/DropdownFieldWrapper.tsx","helper/financialDataUtils.ts","helper/httpStatusCheck.ts","helper/loadingPipeline.tsx","helper/usePrevious.ts","helper/useWindowResize.ts","pages/ContractSignature/components/ResendTimerSMS.tsx","pages/DocumentDetails/DocumentDetails.tsx","pages/DocumentDetails/components/ActionButtons.tsx","pages/DocumentDetails/services/documentContentApi.ts","pages/DocumentDetails/services/domain.ts","pages/ExistingBlockingApplications/ExistingBlockingApplications.tsx","pages/Feedback/CancelWithFeedback.tsx","pages/Feedback/FinishWithFeedback.tsx","pages/Feedback/components/FeedbackReasonList.tsx","pages/Feedback/components/FeedbackSignature.tsx","pages/Feedback/components/SignaturePolling.tsx","pages/Feedback/services/feedbackApi.ts","pages/Feedback/services/feedbackSignatureServices.ts","pages/Feedback/services/selectedReasonsLengthExceedCheck.ts","pages/GeneralError/GeneralError.tsx","pages/GenericPortal/GenericPortal.tsx","pages/GenericPortal/PortalBlock/PortalBlock.tsx","pages/KycExpired/KycExpired.tsx","pages/PersonalDataOverview/PersonalDataOverview.tsx","pages/PersonalDataOverview/components/AlertDialog.tsx","pages/PersonalDataOverview/components/ErrorPage.tsx","pages/PersonalDataOverview/components/OverviewItem.tsx","pages/PersonalDataOverview/components/PersonalDataOverviewDialogs.tsx","pages/PersonalDataOverview/services/domain.ts","pages/PersonalDataOverview/services/personalDataOverviewApi.ts","pages/Resume/ExpiredOffer.tsx","pages/Resume/service/domain.ts","pages/Signature/Signature.tsx","pages/ToBeContacted/ToBeContacted.tsx","routes/RemoteOnboardingApp.tsx","routes/VirtualMailboxApp.tsx","routes/authenticatedClientApp/AuthenticatedClientApp.tsx","routes/authenticatedClientApp/AuthenticatedClientContent.tsx","services/apiConfig.ts","services/appContext.tsx","services/axiosHook.ts","services/documentApi.ts","services/domain.ts","services/enumRetrieval.ts","services/errorLogApi.ts","services/formatMessageHook.tsx","services/formatNumberHook.ts","services/formatPhoneNumber.ts","services/formikValidations.ts","services/globalEvents.ts","services/pdfUtils.ts","services/storageData.ts","services/translationsContext.tsx","services/useApplicationInitialization.ts"],"sourcesContent":["import { useCallback, useState } from \"react\";\n\nimport { Address } from \"../PersonalProfile/pages/UpdateAddresses/services/domain\";\nimport { BUCHAREST_CITY } from \"flows/Onboarding/services/dataSummary/addressUtils\";\nimport { LooseObject } from \"services/types\";\nimport { Method } from \"axios\";\nimport { SelectOption } from \"components/form/DropdownField\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { useLoadingPipeline } from \"helper/loadingPipeline\";\n\nconst getAddressesConfig = {\n url: \"/clients-ro/addresses/get\",\n method: \"post\" as Method,\n}\n\nexport function useGetAddresses() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const [addresses, setAddresses] = useState([]);\n\n const getAddresses = useCallback(() => {\n executeAxios({\n params: getAddressesConfig,\n onFail: setError,\n onLoading: setLoading,\n onSuccess: setAddresses,\n });\n }, []);\n\n return {\n loading,\n error,\n addresses,\n getAddresses,\n }\n}\n\nconst saveAddressConfig = {\n url: \"/clients-ro/addresses/update\",\n method: \"post\" as Method,\n}\n\nexport function useSaveAddress() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n const saveAddress = useCallback((address: LooseObject, onSuccess?: any) => {\n executeAxios({\n params: { ...saveAddressConfig, data: { ...address } },\n onFail: setError,\n onLoading: setLoading,\n onSuccess,\n });\n }, []);\n\n return {\n loading,\n error,\n saveAddress\n }\n}\n\nconst getCountriesConfig = {\n url: \"/clients-ro/countries\",\n method: \"post\" as Method,\n}\n\nconst getCountiesConfig = {\n url: \"/clients-ro/address/edit/counties\",\n method: \"post\" as Method,\n}\n\nconst getCitiesConfig = {\n url: \"/clients-ro/address/edit/cities\",\n method: \"post\" as Method,\n}\n\nconst getStreetsConfig = {\n url: \"/clients-ro/address/edit/streets\",\n method: \"post\" as Method,\n}\n\nconst getPostalCodeConfig = {\n url: \"/clients-ro/address/edit/postalCode\",\n method: \"post\" as Method,\n}\n\nconst getUniquePostalCodeConfig = {\n url: \"/clients-ro/address/edit/uniquePostalCode\",\n method: \"post\" as Method,\n}\n\ntype CitiesDataProps = {\n countyId?: string\n}\n\nexport type StreetDataProps = {\n countyId?: string;\n searchTerm?: string;\n cityId?: string;\n}\n\ntype StreetResponse = Array\nexport type CityResponse = Array\n\nexport default function useGetAddressData() {\n const [countries, setCountries] = useState([]);\n const [counties, setCounties] = useState([]);\n const [cities, setCities] = useState([]);\n const [streets, setStreets] = useState([]);\n const [postalCodes, setPostalCodes] = useState([]);\n const [uniquePostalCode, setUniquePostalCode] = useState();\n\n const { loading, handleLoading, loadingPipe } = useLoadingPipeline();\n const [error, setError] = useState();\n\n const getCountries = useCallback((searchTerm?: string) => {\n executeAxios({\n params: { ...getCountriesConfig, data: { searchTerm } },\n onFail: setError,\n onLoading: handleLoading(\"getCountries\"),\n onSuccess: setCountries,\n });\n }, [handleLoading]);\n\n const getCounties = useCallback((onSuccess?: (cities: SelectOption[]) => void) => {\n executeAxios({\n params: getCountiesConfig,\n onFail: setError,\n onLoading: handleLoading(\"getCounties\"),\n onSuccess: (response: SelectOption[]) => {\n setCounties(response);\n onSuccess && onSuccess(response);\n },\n });\n }, [handleLoading]);\n\n const getCities = useCallback((data: CitiesDataProps, onSuccess?: (cities: CityResponse) => void, needSetCity = true) => {\n executeAxios({\n params: { ...getCitiesConfig, data },\n onFail: setError,\n onLoading: handleLoading(\"getCities\"),\n onSuccess: (response: CityResponse) => {\n needSetCity && setCities(response);\n onSuccess && onSuccess(response);\n },\n });\n }, [handleLoading]);\n\n const getCountiesAndSectors = useCallback(() => {\n getCounties((response) => {\n getCities({ countyId: BUCHAREST_CITY.value }, (sectors) => {\n response.unshift(...sectors.map((sector) => ({ ...sector, value: sector.value + \"~\" + BUCHAREST_CITY.value })));\n setCounties(response.filter(item => {\n if (item.value === BUCHAREST_CITY.value) {\n BUCHAREST_CITY.label = item.label;\n return false;\n }\n return true;\n }))\n }, false)\n });\n }, [getCities, getCounties])\n\n\n const getUniquePostalCode = useCallback((data: LooseObject) => {\n executeAxios({\n params: { ...getUniquePostalCodeConfig, data },\n onFail: setError,\n onLoading: handleLoading(\"getUniquePostalCode\"),\n onSuccess: setCities,\n });\n }, [handleLoading]);\n\n const getStreets = useCallback((data: StreetDataProps) => {\n executeAxios({\n params: { ...getStreetsConfig, data },\n onFail: setError,\n onLoading: handleLoading(\"getStreets\"),\n onSuccess: setStreets,\n });\n }, [handleLoading]);\n\n const getPostalCodes = useCallback((data: StreetDataProps, onSuccess?: (response: string[]) => void) => {\n executeAxios({\n params: { ...getPostalCodeConfig, data },\n onFail: setError,\n onLoading: handleLoading(\"getPostalCode\"),\n onSuccess: (response: string[]) => {\n setPostalCodes(response);\n onSuccess && onSuccess(response);\n },\n });\n }, [handleLoading]);\n\n return {\n loading,\n loadingPipe,\n error,\n countries,\n counties,\n cities,\n streets,\n postalCodes,\n uniquePostalCode,\n getCounties,\n getCountiesAndSectors,\n getCities,\n getStreets,\n getPostalCodes,\n getCountries,\n getUniquePostalCode,\n setCities,\n setCounties,\n setCountries,\n setPostalCodes,\n setStreets,\n setUniquePostalCode,\n }\n}\n","import { ExecuteAxiosFunctions, executeAxios } from \"../../services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\nconst apiConfig = {\n method: \"post\" as Method,\n url: \"/clients-ro/clientInfo\"\n}\n\nexport const useGetClientInfoApi = () => {\n return {\n getClientInfo: useCallback(({ onSuccess, onLoading, onFail }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: apiConfig,\n onSuccess,\n onLoading,\n onFail\n })\n }, [])\n }\n}","import { LooseObject } from \"../../services/types\";\n\nexport enum Category {\n ProfessionalStatus = \"ProfessionalStatus\",\n EmploymentType = \"EmploymentType\",\n DependentsNumber = \"DependentsNumber\",\n MaritalStatus = \"MaritalStatus\",\n YesNo = \"YesNo\",\n InstallmentTypes = \"InstallmentTypes\",\n DueDays = \"DueDays\",\n RepaymentMethod = \"RepaymentMethod\",\n YearlyTransactionsVolume = \"YearlyTransactionsVolume\",\n MonthlyCashTransactionsNumber = \"MonthlyCashTransactionsNumber\",\n MonthlyCashTransactionsVolume = \"MonthlyCashTransactionsVolume\",\n MonthlyInternationalTransactionsNumber = \"MonthlyInternationalTransactionsNumber\",\n MonthlyInternationalTransactionsVolume = \"MonthlyInternationalTransactionsVolume\",\n Countries = \"Countries\",\n Banks = \"Banks\",\n Bic = \"BIC\",\n CreditTypes = \"CreditTypesCB\",\n StatementDeliveryMode = \"StatementDeliveryMode\",\n HighRiskCountries = \"HIGH_RISK_COUNTRIES\",\n ForbiddenTransactionCountries = \"ForbiddenTransactionCountries\",\n IncomeType = \"TIPURI_VENITURI\",\n IncomeDocuments = \"DocumentsList\",\n}\n\nexport enum CategoryItemsInternalNames {\n MARITAL_STATUS_MARRIED = \"Casatorit/a\",\n YES = \"YES\",\n INFINITE_PERIOD = \"PERIOADA_NEDETERMINATA\",\n EMPLOYED = \"EMPLOYED\",\n RETIRED = \"RETIRED\",\n INSTALMENT_TYPE_EQUALS = \"EGALE\",\n UNICREDIT_CONSUMER_FINANCING = \"UniCredit Consumer Financing\",\n UNICREDIT_SA = \"UniCredit SA\",\n REVOLVING_FACILITIES_1 = \"Limita card de credit\",\n REVOLVING_FACILITIES_2 = \"Limita descoperit de cont ( overdraft )\",\n DIRECT_DEBIT_SINGLE_ACCOUNT = \"Direct debit UCT (un cont)\",\n DIRECT_DEBIT_ALL_ACCOUNTS = \"Direct debit UCT (toate conturile)\",\n DIRECT_DEBIT_SINGLE_ACCOUNT_MINIMUM_AMOUNT = \"Debitare automata un cont – suma minima de plata\",\n DIRECT_DEBIT_ALL_ACCOUNTS_MINIMUM_AMOUNT = \"Debitare automata toate conturile – suma minima de plata\",\n DIRECT_DEBIT_SINGLE_ACCOUNT_TOTAL_AMOUNT = \"Debitare automata un cont – suma totala de plata\",\n DIRECT_DEBIT_ALL_ACCOUNTS_TOTAL_AMOUNT = \"Debitare automata toate conturile – Total lunar de plata\",\n CASH = \"Cash\",\n}\n\nexport enum Status {\n Todo = \"Todo\",\n InProgress = \"InProgress\",\n ToBeContacted = \"ToBeContacted\",\n Complete = \"Complete\",\n Rejected = \"Rejected\",\n ManualFail = \"ManualFail\",\n PreliminaryOffer = \"PreliminaryOffer\",\n ReviewDocuments = \"ReviewDocuments\",\n Error = \"Error\"\n}\n\nexport type FinancialIds = {\n MARITAL_STATUS_MARRIED_ID: string;\n YES_ID: string;\n INFINITE_PERIOD_ID: string;\n EMPLOYED_ID: string;\n RETIRED_ID: string;\n}\n\nexport type RepaymentMethodsIds = {\n CASH_METHOD_ID: string;\n SINGLE_ACCOUNT_METHOD_ID: string;\n MULTIPLES_ACCOUNTS_METHOD_ID: string;\n}\n\nexport interface StartApplicationResponse extends LooseObject {\n activeApplications: ActiveApplication[],\n lastRejectedApplication?: RejectedApplication,\n}\n\nexport type ActiveApplication = {\n id: string;\n branchName: string;\n}\nexport type RejectedApplication = {\n id: string;\n branchName: string;\n statusName: string;\n initDate: Date;\n rejectDate: Date;\n}\n\nexport const CreditCardFinancialInformationCategories = [\n Category.ProfessionalStatus,\n Category.MaritalStatus,\n Category.DependentsNumber,\n Category.EmploymentType,\n Category.MonthlyCashTransactionsNumber,\n Category.MonthlyCashTransactionsVolume, \n Category.MonthlyInternationalTransactionsNumber, \n Category.Countries,\n Category.YearlyTransactionsVolume, \n Category.MonthlyInternationalTransactionsVolume, \n Category.HighRiskCountries,\n Category.ForbiddenTransactionCountries, \n Category.YesNo\n];\n\nexport const CashLoanFinancialInformationCategories = [\n Category.ProfessionalStatus,\n Category.EmploymentType,\n Category.DependentsNumber,\n Category.MaritalStatus,\n Category.YesNo,\n Category.InstallmentTypes,\n Category.IncomeType,\n];\n\nexport const CashLoanOfferSummaryCategories = [Category.InstallmentTypes];\n\nexport const CashLoanIncomeDocumentsCategories = [Category.IncomeDocuments];\n\nexport const CashLoanPaymentConfigurationCategories = [Category.RepaymentMethod];\n\nexport const CreditCardPaymentConfigurationCategories = [Category.DueDays, Category.RepaymentMethod];\n\nexport const ExternalCreditCategories = [Category.Banks, Category.Bic, Category.CreditTypes];\n\nexport type ClientInfo = {\n staff: boolean\n}\n\nexport const EMAIL_REGEX = /^(([^<>()[\\]\\\\.,;:\\s@]+(\\.[^<>()[\\]\\\\.,;:\\s@]+)*)|(.+))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;","import { Category } from \"./domain\";\nimport { Method } from \"axios\";\nimport { useAxios } from \"services/axiosHook\";\nimport { useEffect } from \"react\";\nimport { usePrevious } from \"../../helper/usePrevious\";\n\nexport const financialDataDropdownCallConfig = {\n url: \"/packages/loans-ro/financialData/get\",\n method: \"post\" as Method\n};\n\nexport const useFinancialApi = (categories: Category[]) => {\n const config = { ...financialDataDropdownCallConfig, data: categories };\n const { response, error, loading, fetchData } = useAxios(config);\n const prevValues = usePrevious(categories);\n useEffect(() => {\n if (prevValues !== categories) {\n fetchData();\n }\n }, [fetchData, prevValues, categories]);\n return {\n financialData: response,\n financialError: error,\n financialDataLoading: loading\n };\n};","import {AxiosRequestConfig, Method} from \"axios\";\nimport {executeAxios, ExecuteAxiosFunctions} from \"services/axiosHook\";\n\nexport const gdprLogApiConfig = {\n method: \"post\" as Method,\n url: \"packages/loans-ro/consents/gdprlog\"\n};\n\nexport const ccGdprLogApiConfig = {\n method: \"post\" as Method,\n url: \"packages/loans-ro/creditCards/consents/gdprlog\"\n};\n\nexport function gdprLogBeforeCheckSign(apiConfig: AxiosRequestConfig, {onSuccess, onFail}: ExecuteAxiosFunctions) {\n executeAxios({params: apiConfig, onSuccess: onSuccess, onFail: onFail});\n}","import {useCallback, useState} from \"react\";\n\nimport {Method} from \"axios\";\nimport {axiosInstance} from \"services/axiosHook\";\n\nconst apiConfig = {\n\tmethod: \"post\" as Method,\n\turl: \"packages/loans-ro/getAccountOptions\"\n};\n\nexport interface AccountOption {\n\tvalue: string,\n\tlabel: string,\n\tcreateDate: string,\n\ttitle: string,\n\tavailableAmount: string\n}\n\nexport const usePaymentConfigurationApi = () => {\n\tconst [accounts, setAccounts] = useState>([]);\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState();\n\n\treturn {\n\t\taccounts,\n\t\tloading,\n\t\terror,\n\t\tfetchData: useCallback(() => {\n\t\t\taxiosInstance.request(apiConfig).then((response) => {\n\t\t\t\tsetAccounts(response.data);\n\t\t\t}).catch((err) => {\n\t\t\t\tsetError(err.response);\n\t\t\t}).finally(() => { setLoading(false)});\n\t\t}, [])\n\t};\n};","import { useCallback, useState } from \"react\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { Status } from \"./domain\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst RETRY_INTERVAL_POOLING_DEFAULT = 3000;\n\nexport const usePoolingService = (dataStatusCallConfig: AxiosRequestConfig, retryInterval: number = RETRY_INTERVAL_POOLING_DEFAULT) => {\n\tconst [currentStatus, setCurrentStatus] = useState();\n\tconst [error, setError] = useState();\n\n\tconst getDataStatus = useCallback(() => {\n\t\texecuteAxios({\n\t\t\tparams: dataStatusCallConfig,\n\t\t\tonSuccess: (data: any) => {\n\t\t\t\tsetCurrentStatus(data.status as Status);\n\t\t\t},\n\t\t\tonFail: setError\n\t\t})\n\t}, [dataStatusCallConfig]);\n\n\tconst queryStatus = useCallback((statusCallbackMap: { [key in Status]?: Function }) => {\n\t\texecuteAxios({\n\t\t\tparams: dataStatusCallConfig,\n\t\t\tonSuccess: (data: any) => {\n\t\t\t\tlet status: Status = data.status as Status;\n\t\t\t\tsetCurrentStatus(status);\n\t\t\t\tif (status && statusCallbackMap[status]) {\n\t\t\t\t\tlet handler = statusCallbackMap[status];\n\t\t\t\t\tif (handler !== undefined && handler(data)) {\n\t\t\t\t\t\tsetTimeout(() => queryStatus(statusCallbackMap), retryInterval);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonFail: (data: any) => {\n\t\t\t\tsetError(data);\n\t\t\t\tlet handler = statusCallbackMap[Status.Error];\n\t\t\t\tif (handler !== undefined) {\n\t\t\t\t\thandler();\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}, [dataStatusCallConfig, retryInterval]);\n\n\treturn {\n\t\tcurrentStatus,\n\t\tsetCurrentStatus,\n\t\terror,\n\t\tqueryStatus,\n\t\tgetDataStatus,\n\t};\n\n};","import { Box } from \"omnichannel-design-system\";\nimport styled from \"styled-components\";\n\ntype DropdownFieldWrapperProps = {\n editable: boolean;\n}\n\nconst dropdownFieldNotEditable = `\n > div > div:nth-child(2) > div > div:nth-child(2){\n display: none !important;\n }\n > div > div:nth-child(2) > div > svg{\n display: none !important;\n }\n`;\n\nconst DropdownFieldWrapper = styled(Box) `\n > div > div:nth-child(2) > div > div:nth-child(2){\n width: 12px !important;\n flex: 0 0 12px !important;\n }\n ${({ editable = true }) => !editable && dropdownFieldNotEditable}\n`\n\nexport default DropdownFieldWrapper;","import { CategoryItem, FinancialDataResponse, FinancialElement } from \"../flows/CashLoan/pages/FinancialInformation/services/domain\";\n\nimport { Category } from \"../flows/services/domain\";\n\nfunction getCategoryById(financialData: Array, category: Category) {\n return financialData.find(item => item.categoryId === category)\n}\n\nfunction getCategoryItemByInternalName(categoryItems: Array, internalName: string) {\n return categoryItems.find(categoryItem => categoryItem.internalName === internalName);\n}\n\nexport function getIdByInternalName(category: Category, internalName: string, financialDataResponse: FinancialDataResponse): string {\n if (financialDataResponse && financialDataResponse.financialData) {\n const { financialData } = financialDataResponse;\n const categoryData = getCategoryById(financialData, category);\n\n if (categoryData) {\n const { categoryItems } = categoryData;\n const categoryItem = getCategoryItemByInternalName(categoryItems, internalName);\n if (categoryItem) {\n return categoryItem.id + \"\";\n }\n }\n }\n return \"\";\n}","export const is5xxStatus = (status: number): boolean => {\n return status.toString().substring(0,1) === \"5\";\n};","import { useCallback, useState } from \"react\";\n\nimport { LooseObject } from \"services/types\";\n\nexport function useLoadingPipeline(defaultLoading = true) {\n const [loading, setLoading] = useState({});\n\n const handleLoading = useCallback((partLoading: string) => (isLoading: boolean) => {\n setLoading(state => ({ ...state, [partLoading]: isLoading }));\n }, []);\n\n return {\n loading: Object.keys(loading).length ? Object.values(loading).some(item => item) : defaultLoading,\n handleLoading,\n loadingPipe: loading,\n }\n}","import {useEffect, useRef} from \"react\";\n\nexport const usePrevious = (value: any) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};","import {useEffect, useState} from \"react\";\n\nexport const useWindowSize = () => {\n const [windowSize, setWindowSize] = useState({\n width: 0,\n height: 0,\n });\n useEffect(() => {\n // Handler to call on window resize\n function handleResize() {\n // Set window width/height to state\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n // Add event listener\n window.addEventListener(\"resize\", handleResize);\n // Call handler right away so state gets updated with initial window size\n handleResize();\n // Remove event listener on cleanup\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []); // Empty array ensures that effect is only run on mount\n return windowSize;\n}","import { Box, Space } from \"omnichannel-design-system\";\nimport { useEffect, useState } from \"react\"\n\nimport { Button } from \"components/Button\"\n\n// Types\ntype Props = {\n timerValue?: number,\n handleResendSMS?: Function\n}\n\n/**\n * \n * @param {\n * timerValue = 60000 -> in millie sec ~60 sec, \n * handleResendSMS -> specific handler for each case\n * } \n * @returns \n */\nexport default function ResendTimerSMS({ timerValue = 60000, handleResendSMS }: Props) {\n const [started, setStarted] = useState(true);\n\n useEffect(() => {\n setTimeout(() => {\n setStarted(false);\n }, timerValue);\n }, [timerValue]);\n\n const onClick = () => {\n setStarted(true);\n handleResendSMS && handleResendSMS();\n setTimeout(() => {\n setStarted(false);\n }, timerValue);\n };\n\n return (\n \n \n\n \n {!started && (\n \n )}\n \n \n )\n}","import \"omnichannel-design-system/lib/pdf_viewer.css\";\n\nimport ActionButtons, { ActionButtonsProps } from \"./components/ActionButtons\";\nimport {\n AlertDialog,\n Box,\n CloseIcon,\n PdfViewer,\n Stack,\n UCInfoIcon,\n downloadFile,\n useDeviceUA\n} from \"omnichannel-design-system\";\nimport { forwardRef, memo, useCallback, useEffect, useImperativeHandle, useRef, useState } from \"react\";\nimport { AxiosRequestConfig } from \"axios\";\nimport { Button } from \"components/Button\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { DocumentDetailsType } from \"./services/domain\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport _ from \"lodash\";\nimport styled from \"styled-components\";\nimport { useDocumentContentApi } from \"./services/documentContentApi\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useTranslationsContext } from \"../../services/translationsContext\";\nimport { axiosInstance } from \"../../services/axiosHook\";\nimport {sessionStorageData} from \"../../services/storageData\";\n\ntype DocumentDetailsTranslationKeys = {\n\ttitle?: string;\n\tdescription?: string;\n\tconfirmationButtonText: string;\n\tdownloadButtonText?: string;\n}\n\ntype AlertDialogTranslationKeys = {\n\ttitle: string;\n\tmessage: string;\n\tcancelLabel?: string;\n\tconfirmLabel: string;\n}\n\ntype Props = {\n\tapiConfig: AxiosRequestConfig;\n\ttype: DocumentDetailsType;\n\ttranslationsKeys: DocumentDetailsTranslationKeys;\n\tshowConfirmDialog?: boolean;\n\tcloseDialogAlertTranslations?: AlertDialogTranslationKeys;\n\tcustomContent?: (loading: boolean) => any;\n\tonClose: () => unknown;\n\tonConfirm: (type: DocumentDetailsType) => unknown;\n\tdisableContinue?: boolean;\n\tisReadOptional?: boolean;\n\tshowAsDialog?: boolean;\n\tshowBottomButtons?: boolean;\n};\n\nconst DocumentBox = styled.div<{is_read_optional: boolean}>`\n\tposition: relative;\n\tdisplay: flex;\n\theight: ${({is_read_optional}) => is_read_optional ? \"calc(75vh - 164px)\" : \"calc(75vh - 164px)\"}\n`;\n\nlet timerToGetDocument: any | null = null;\n\nconst PDF_WORKER_PATH = \"/static/js/pdf.worker.min.js\";\n\nexport const MOBILE_TOKEN_QUERY = \"?3009383948483938934\";\n\nexport const download = (url: string, fileName: string, isMobile: boolean) => {\n\tif (url.includes(\"/document/dde/\")) {\n\t\tconst authURL = url.replace(\"/noauth/\", \"/auth/\");\n\t\tif (isMobile) {\n\t\t\tdownloadFile(authURL + \"&authorization=\" + sessionStorageData.getItem(\"token\"), fileName);\n\t\t} else {\n\t\t\taxiosInstance\n\t\t\t\t.get(authURL, {responseType: 'blob'})\n\t\t\t\t.then(function (response) {\n\t\t\t\t\tconst fileBlob = new Blob([response.data], {type: \"application/pdf\"});\n\t\t\t\t\tdownloadFile(fileBlob, fileName);\n\t\t\t\t})\n\t\t\t\t.catch((err) => console.log(err));\n\t\t}\n\t} else if (isMobile) {\n\t\tdownloadFile(url + MOBILE_TOKEN_QUERY, fileName);\n\t} else {\n\t\tdownloadFile(url, fileName);\n\t}\n};\n\nconst DocumentContent = forwardRef(function DocumentContent(props: Props, contentRef) {\n\tconst {\n\t\tonClose,\n\t\tonConfirm,\n\t\tcustomContent,\n\t\tapiConfig,\n\t\tcloseDialogAlertTranslations,\n\t\tdisableContinue,\n\t\tisReadOptional = false,\n\t\tshowAsDialog = false,\n\t\tshowBottomButtons = true,\n\t} = props;\n\tconst { title, description, confirmationButtonText, downloadButtonText } = props.translationsKeys;\n\tconst { translations } = useTranslationsContext();\n\n\tconst { formatMessage, formatRichTextMessage } = useFormatMessage();\n\tconst { fetchData, document, loading } = useDocumentContentApi();\n\tconst { isMobile } = useDeviceUA();\n\n\tconst [showConfirmDialog, setShowConfirmDialog] = useState(false);\n\tconst [pdfError, setPdfError] = useState(false);\n\tconst [documentIsRead, setDocumentIsRead] = useState(isReadOptional);\n\tconst [pdfLoading, setPdfLoading] = useState(true);\n\n\tconst handleConfirm = () => {\n\t\tonConfirm(props.type);\n\t};\n\n\tconst handleDownload = () => {\n\t\tconst fileName = formatMessage(title || '') + \".pdf\";\n\t\tif (document?.url) {\n\t\t\tdownload(document.url, fileName, isMobile);\n\t\t}\n\t};\n\n\tconst handleOnClose = useCallback(() => {\n\t\tif (props.showConfirmDialog) {\n\t\t\tsetShowConfirmDialog(true);\n\t\t} else {\n\t\t\tonClose();\n\t\t}\n\t}, [onClose, setShowConfirmDialog, props.showConfirmDialog]);\n\n\tuseImperativeHandle(contentRef, () => ({\n\t\thandleOnClose\n\t}), [handleOnClose]);\n\n\tconst handleLastPageReach = () => {\n\t\tsetDocumentIsRead(true);\n\t};\n\n\tconst handlePdfLoaded = () => {\n\t\tsetPdfLoading(false);\n\t};\n\n\tuseEffect(() => {\n\t\t// Will ignore consecutive press on buttons and will wait 1 sec \n\t\tif (timerToGetDocument) {\n\t\t\tclearTimeout(timerToGetDocument);\n\t\t\ttimerToGetDocument = null;\n\t\t}\n\t\ttimerToGetDocument = setTimeout(() => {\n\t\t\tfetchData(apiConfig);\n\t\t\tclearTimeout(timerToGetDocument);\n\t\t\ttimerToGetDocument = null;\n\t\t}, 1000);\n\t}, [fetchData, apiConfig]);\n\n\tuseEffect(() => {\n\t\tsetPdfError(false);\n\t}, [document]);\n\n\tuseEffect(() => {\n\t\twindow.scrollTo(0, 0);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (loading) {\n\t\t\tsetPdfLoading(true);\n\t\t\tsetDocumentIsRead(isReadOptional);\n\t\t}\n\t}, [loading, isReadOptional]);\n\n\tconst buttonsProps: ActionButtonsProps = {\n\t\tlabelDownload: downloadButtonText,\n\t\thandleDownload,\n\t\tdisableDownload: document === undefined || loading || pdfError,\n\t\tlabelContinue: documentIsRead ? confirmationButtonText : \"dbn.document.details.read.all.to.continue\",\n\t\thandleContinue: handleConfirm,\n\t\tdisableContinue: document === undefined || loading || pdfError || !documentIsRead || (disableContinue === undefined ? false : disableContinue),\n\t\tisReadOptional,\n\t};\n\n\treturn (\n\t\t\n\t\t\t{title && !showAsDialog && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\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\n\t\t\t{description && translations[description] && (\n\t\t\t\t\n\t\t\t\t\t

{formatRichTextMessage(description)}

\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t{customContent && customContent(loading)}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{loading ? \n\t\t\t\t\t\t: (document && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{pdfLoading && }\n\t\t\t\t\t\t\t\t\n\n\t\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\n\t\t\t\n\n\t\t\t{showBottomButtons && }\n\n\t\t\t{showConfirmDialog && closeDialogAlertTranslations && (\n\t\t\t\t {\n\t\t\t\t\t\tsetShowConfirmDialog(false)\n\t\t\t\t\t}}\n\t\t\t\t\tonConfirm={onClose}\n\t\t\t\t\tonCancel={() => {\n\t\t\t\t\t\tsetShowConfirmDialog(false)\n\t\t\t\t\t}}\n\t\t\t\t\tcancelLabel={closeDialogAlertTranslations.cancelLabel ? formatMessage(closeDialogAlertTranslations.cancelLabel) : undefined}\n\t\t\t\t\tconfirmLabel={formatMessage(closeDialogAlertTranslations.confirmLabel)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t
\n\t);\n})\n\ntype DocumentContentRef = {\n\thandleOnClose: () => void\n}\n\nconst NonMemoizedDocumentDetails = (props: Props) => {\n\tconst { formatMessage } = useFormatMessage();\n\tconst contentRef = useRef();\n\n\tconst closeDialog = () => {\n\t\tcontentRef.current?.handleOnClose();\n\t}\n\n\tconst documentComponent = (\n\t\t\n\t);\n\n\tconst title = props.translationsKeys.title ? formatMessage(props.translationsKeys.title) : undefined;\n\tif (props.showAsDialog) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{documentComponent}\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n\treturn documentComponent;\n}\n\nconst propsAreEqual = (prevProps: Props, nextProps: Props) => {\n\treturn _.isEqual(prevProps.apiConfig, nextProps.apiConfig)\n\t\t&& _.isEqual(prevProps.translationsKeys, nextProps.translationsKeys)\n\t\t&& _.isEqual(prevProps.customContent, nextProps.customContent);\n}\n\nconst MemoizedDocumentDetails = memo(NonMemoizedDocumentDetails, propsAreEqual);\n\nexport const DocumentDetails = MemoizedDocumentDetails;\n","import { Box, DownloadIcon, FloatingFooter, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\n\nexport type ActionButtonsProps = {\n\tlabelDownload?: string;\n\thandleDownload: () => unknown;\n\tdisableDownload: boolean;\n\tlabelContinue: string;\n\thandleContinue: () => unknown;\n\tdisableContinue: boolean;\n\tisReadOptional: boolean;\n}\n\nexport default function ActionButtons(props: ActionButtonsProps) {\n\tconst { labelDownload, handleDownload, disableDownload, labelContinue, handleContinue, disableContinue, isReadOptional } = props;\n\n\tconst buttons = (\n\t\t\n\t\t\t\n\t\t\t\t{!!labelDownload && (\n\t\t\t\t\t\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\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n\n\tif (isReadOptional) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{buttons}\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n\t\n\tif (disableContinue) {\n\t\treturn buttons;\n\t}\n\n\treturn (\n\t\t\n\t\t\t{buttons}\n\t\t\n\t)\n}","import { AxiosRequestConfig, Method } from \"axios\";\nimport { useCallback, useState } from \"react\";\n\nimport { DocumentResponse } from \"./domain\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst defaultApiConfig = { method: \"post\" as Method };\n\nexport const useDocumentContentApi = () => {\n\tconst [document, setDocument] = useState();\n\tconst [error, setError] = useState();\n\tconst [loading, setLoading] = useState(true);\n\n\treturn {\n\t\tdocument,\n\t\terror,\n\t\tloading,\n\t\tfetchData: useCallback((apiConfig: AxiosRequestConfig) => {\n\t\t\texecuteAxios({\n\t\t\t\tparams: { ...defaultApiConfig, ...apiConfig },\n\t\t\t\tonSuccess: setDocument,\n\t\t\t\tonFail: (err: any) => {\n\t\t\t\t\tsetError(err);\n\t\t\t\t\tsetDocument(undefined);\n\t\t\t\t},\n\t\t\t\tonLoading: setLoading\n\t\t\t});\n\t\t}, [])\n\t};\n};\n","export enum DocumentDetailsType {\n CL_AGREEMENTS_GUIDE = \"cl.guide\",\n CL_GUIDE_ADDITIONAL_INCOME = \"cl.guide.additional.income\",\n CC_AGREEMENTS_GUIDE = \"cc.guide\",\n CL_CREDIT_APPLICATION = \"cl.credit.application\",\n CC_CREDIT_APPLICATION = \"cc.credit.application\",\n CL_ANAF = \"cl.anaf\",\n CC_ANAF = \"cc.anaf\",\n CL_CREDIT_BUREAU_NOTICE = \"cl.credit.bureau.notice\",\n CC_CREDIT_BUREAU_NOTICE = \"cc.credit.bureau.notice\",\n CL_GDPR = \"cl.gdpr\",\n CC_GDPR = \"cc.gdpr\",\n CL_ELECTRONIC_CERTIFICATE_REQUEST = \"cl.electronic.certificate.request\",\n CC_ELECTRONIC_CERTIFICATE_REQUEST = \"cc.electronic.certificate.request\",\n CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT = \"cl.electronic.certificate.gdpr\",\n CC_ELECTRONIC_CERTIFICATE_GDPR_CONSENT = \"cc.electronic.certificate.gdpr\",\n CL_ISNE = \"isne\",\n CL_CONTRACT = \"contract\",\n CL_PAYMENT_CONFIGURATION_AGREEMENT = \"cl.paymentConfiguration.automaticDebit\",\n CC_PAYMENT_CONFIGURATION_AGREEMENT = \"cc.paymentConfiguration.automaticDebit\",\n CL_OFFER_SUMMARY_UCFIN = \"summaryOffer.precontractual.ucfin\",\n CC_OFFER_SUMMARY_UCFIN = \"cc.summaryOffer.precontractual.ucfin\",\n CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS = \"cl.summaryOffer.termsAndConditions.lifeInsurance\",\n CC_OFFER_SUMMARY_TERMS_AND_CONDITIONS = \"cc.summaryOffer.termsAndConditions.lifeInsurance\",\n CL_OFFER_SUMMARY_GENERALI = \"cl.summaryOffer.documentation.precontractual.generali\",\n CC_OFFER_SUMMARY_GENERALI = \"cc.summaryOffer.documentation.precontractual.generali\",\n CL_OFFER_FORM_GDPR = \"cl.ourOffer.gdprAcord\",\n CC_OFFER_FORM_GDPR = \"cc.ourOffer.gdprAcord\",\n CC_TAX_AND_COMMISSIONS = \"cc.ourOffer.taxAndCommissions\",\n CREDIT_CARDS_ISNE = \"creditCards.isne\",\n CREDIT_CARDS_CONTRACT = \"creditCards.contract\",\n CL_REFINANCING_INFORMATION=\"cl.refinancing.information\",\n PP_INFORMATION_NOTE = \"pp.information.note\",\n CA_ELECTRONIC_GDPR_NOTE = \"ca.electronic.gdpr.note\",\n CA_TERMS_AND_CONDITIONS = \"ca.terms.and.conditions\",\n CA_CONTRACT = \"ca.contract\",\n CA_ELECTRONIC_CERTIFICATE_REQUEST = \"ca.electronic.certificate.request\",\n\tCA_COMMISSIONS_AND_INTERESTS = \"ca.commissions.and.interests\",\n\tCA_TRAVEL_INSURANCE = \"ca.travel.insurance\",\n\tCA_VIP_LOUNGE = \"ca.vip.lounge\",\n\tCA_ACCIDENT_INSURANCE = \"ca.accident.insurance\",\n\tCA_CARD_PROTECTION = \"ca.card.protection\",\n\tCA_MEDICAL_ASSISTANCE = \"ca.medical.assistance\",\n\tCA_MULTI_APPLIANCE_PROTECTION = \"ca.multi.appliance.protection\",\n\tCA_DEVICE_INSURANCE = \"ca.device.insurance\",\n CL_SALARY_INCOME_TEMPLATE = \"cl.salary.income.template\",\n CL_DAILY_INCOME_TEMPLATE = \"cl.daily.income.template\",\n CL_AGREEMENT_CRC_TEMPLATE = \"cl.agreement.CRC.template\",\n CA_CONTRACT_IN_PERSON = \"ca.contract.in.person\",\n CA_SPECIMEN_SIGNATURE_IN_PERSON = \"ca.specimen.signature.in.person\",\n}\n\nexport const ReportCodes = {\n [DocumentDetailsType.CL_AGREEMENTS_GUIDE]: \"CL_Signature_guide\",\n [DocumentDetailsType.CC_AGREEMENTS_GUIDE]: \"CC_Signature_guide\",\n [DocumentDetailsType.CL_CREDIT_APPLICATION]: \"CL_CreditRequest_Consent\",\n [DocumentDetailsType.CC_CREDIT_APPLICATION]: \"CC_CreditRequest_Consent\",\n [DocumentDetailsType.CL_ANAF]: \"CL_ANAF_Consent\",\n [DocumentDetailsType.CC_ANAF]: \"CC_ANAF_Consent\",\n [DocumentDetailsType.CL_CREDIT_BUREAU_NOTICE]: \"CL_CreditBureau_Consent\",\n [DocumentDetailsType.CC_CREDIT_BUREAU_NOTICE]: \"CC_CreditBureau_Consent\",\n [DocumentDetailsType.CL_GDPR]: \"CL_GDPR_Consent\",\n [DocumentDetailsType.CL_GUIDE_ADDITIONAL_INCOME]: \"CL_guide_additional_income\",\n [DocumentDetailsType.CC_GDPR]: \"CC_GDPR_Consent\",\n [DocumentDetailsType.CL_ELECTRONIC_CERTIFICATE_REQUEST]: \"CL_TransSpedCertificateRequest\",\n [DocumentDetailsType.CC_ELECTRONIC_CERTIFICATE_REQUEST]: \"CC_TransSpedCertificateRequest\",\n [DocumentDetailsType.CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT]: \"CL_TransSpedGDPRConsent\",\n [DocumentDetailsType.CC_ELECTRONIC_CERTIFICATE_GDPR_CONSENT]: \"CC_TransSpedGDPRConsent\",\n [DocumentDetailsType.CL_ISNE]: \"CL_ISNE\",\n [DocumentDetailsType.CL_CONTRACT]: \"CL_Contract_SecondDocument\",\n [DocumentDetailsType.CL_PAYMENT_CONFIGURATION_AGREEMENT]: \"CL_AutomatedDebit_Consent\",\n [DocumentDetailsType.CC_PAYMENT_CONFIGURATION_AGREEMENT]: \"CC_AutomatedDebit_Consent\",\n [DocumentDetailsType.CL_OFFER_SUMMARY_UCFIN]: \"CL_Precontractual_UCFIN\",\n [DocumentDetailsType.CC_OFFER_SUMMARY_UCFIN]: \"CC_Precontractual_UCFIN\",\n [DocumentDetailsType.CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS]: \"CL_CPI_Insurance_Conditions\",\n [DocumentDetailsType.CC_OFFER_SUMMARY_TERMS_AND_CONDITIONS]: \"CC_CPI_Insurance_Conditions\",\n [DocumentDetailsType.CL_OFFER_SUMMARY_GENERALI]: \"CL_CPI_PrecontractualDocumentationGenerali\",\n [DocumentDetailsType.CC_OFFER_SUMMARY_GENERALI]: \"CC_CPI_PrecontractualDocumentationGenerali\",\n [DocumentDetailsType.CL_OFFER_FORM_GDPR]: \"CL_CPI_GDPR_Generali\",\n [DocumentDetailsType.CC_OFFER_FORM_GDPR]: \"CC_CPI_GDPR_Generali\",\n [DocumentDetailsType.CC_TAX_AND_COMMISSIONS] : \"CC_TaxAndCommissions\",\n [DocumentDetailsType.CREDIT_CARDS_ISNE]: \"CC_ISNE\",\n [DocumentDetailsType.CREDIT_CARDS_CONTRACT]: \"CC_Contract_SecondDocument\",\n [DocumentDetailsType.CL_REFINANCING_INFORMATION]:\"CL_Refinancing_Information\",\n [DocumentDetailsType.PP_INFORMATION_NOTE]: \"PP_InformationNote\",\n [DocumentDetailsType.CA_ELECTRONIC_GDPR_NOTE]: \"CA_TransSpedGdprNote\",\n [DocumentDetailsType.CA_TERMS_AND_CONDITIONS]: \"CA_TermsAndConditions\",\n [DocumentDetailsType.CA_CONTRACT]: \"CA_Contract\",\n [DocumentDetailsType.CA_ELECTRONIC_CERTIFICATE_REQUEST]: \"CA_TransSpedCertificateRequest\",\n\t[DocumentDetailsType.CA_COMMISSIONS_AND_INTERESTS]: \"CA_Commissions_And_Interests\",\n\t[DocumentDetailsType.CA_TRAVEL_INSURANCE]: \"CA_Travel_Insurance\",\n\t[DocumentDetailsType.CA_VIP_LOUNGE]: \"CA_VIP_Lounge\",\n\t[DocumentDetailsType.CA_ACCIDENT_INSURANCE]: \"CA_Accident_Insurance\",\n\t[DocumentDetailsType.CA_CARD_PROTECTION]: \"CA_Card_Protection\",\n\t[DocumentDetailsType.CA_MEDICAL_ASSISTANCE]: \"CA_Medical_Assistance\",\n\t[DocumentDetailsType.CA_MULTI_APPLIANCE_PROTECTION]: \"CA_Multi_Appliance_Protection\",\n\t[DocumentDetailsType.CA_DEVICE_INSURANCE]: \"CA_Device_Insurance\",\n [DocumentDetailsType.CL_SALARY_INCOME_TEMPLATE]: \"CL_Salary_Income_Template\",\n [DocumentDetailsType.CL_DAILY_INCOME_TEMPLATE]: \"CL_Daily_Income_Template\",\n [DocumentDetailsType.CL_AGREEMENT_CRC_TEMPLATE]: \"CL_Agreement_CRC_Income_Template\",\n [DocumentDetailsType.CA_CONTRACT_IN_PERSON]:\"CA_Contract_in_person\",\n [DocumentDetailsType.CA_SPECIMEN_SIGNATURE_IN_PERSON]:\"CA_Specimen_semnatura\",\n};\n\nexport type DocumentResponse = {\n content: string;\n url: string;\n}\n\nexport type CheckboxState = {\n checkboxName: string,\n checked: boolean\n}\n","import { ActiveApplication, RejectedApplication } from \"../../flows/services/domain\";\nimport { Body, Box, PlaceholderBadgeIcon, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport imageActive from \"assets/CashLoan/active-credit-request.png\";\nimport imageRejected from \"assets/rejected-request.png\";\nimport moment from \"moment\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n onBack: () => unknown;\n activeApplications: ActiveApplication[];\n rejectedApplication?: RejectedApplication;\n}\n\nexport default function ExistingBlockingApplications(props: Props) {\n const { onBack, activeApplications, rejectedApplication } = props;\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n\n const rejectedApplicationContent = (rejectedReq: RejectedApplication) => (\n \n \n\n \n {formatRichTextMessage(\"dbn.rejectedCreditRequest.description\", {\n requestId: rejectedReq.id,\n requestDate: moment(rejectedReq.rejectDate).format(\"DD MMM yyyy\")\n })}\n \n\n {formatMessage(\"dbn.rejectedCreditRequest.title\")}\n \n )\n\n const activeApplicationsContent = (activeReqs: ActiveApplication[]) => (\n \n \n\n \n {formatRichTextMessage(\"dbn.activeCreditRequest.description\")}\n \n\n {formatMessage(\"dbn.activeCreditRequest.title\")}\n\n \n {(activeReqs || []).map(({ id, branchName }) => (\n \n \n \n \n \n {formatMessage(\"dbn.activeCreditRequest.item\", { text: `${id}: ${branchName}` })}\n \n \n ))}\n \n \n )\n\n return (\n \n {rejectedApplication\n ? rejectedApplicationContent(rejectedApplication)\n : activeApplicationsContent(activeApplications)\n }\n\n \n\n \n \n )\n}","import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\nimport FeedbackReasonList, { ReasonItem, SelectedReasonItem } from \"./components/FeedbackReasonList\";\nimport { FeedbackUrls, useFeedbackApi } from \"./services/feedbackApi\";\nimport { createTranslation, useFormatMessage } from \"services/formatMessageHook\";\nimport { useEffect, useState } from \"react\";\n\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport LoadingButton from \"components/LoadingButton\";\nimport { QUERY_FLOW } from \"services/domain\";\nimport SignaturePolling from \"./components/SignaturePolling\";\nimport _ from \"lodash\";\nimport { defaultValidateMessage } from \"./services/selectedReasonsLengthExceedCheck\";\nimport { getQueryVariable } from \"services/axiosHook\";\nimport image from \"assets/cancel-reason.png\";\n\ntype CancelWithFeedbackProps = {\n onCancel: (resolve: (isSuccessfully: boolean) => unknown) => unknown;\n onSignatureSuccess: () => unknown;\n feedbackUrls: FeedbackUrls;\n}\n\nconst SIGNATURE_REQUIRED = ['feedbackReason.anafWithdrawal'];\n\nexport default function CancelWithFeedback({ onCancel, onSignatureSuccess, feedbackUrls }: CancelWithFeedbackProps) {\n const { formatMessage } = useFormatMessage();\n const formatMessageWithKey = createTranslation(formatMessage, \"dbn.cancelFeedback.\");\n const { getReasons, saveFeedback, saveFeedbackForSignature } = useFeedbackApi(feedbackUrls, \"CANCELLED\");\n\n const [loading, setLoading] = useState(false);\n const [showSignature, setShowSignature] = useState(false);\n const [error, setError] = useState();\n const [reasons, setReasons] = useState>([]);\n const [selectedReasons, setSelectedReasons] = useState>([]);\n\n const handleContinue = (resolve: (isSuccessfully: boolean) => unknown) => {\n\n function cancelApplication() {\n onCancel(resolve);\n }\n\n const requiresSignature = () => {\n return reasons.filter((item) => selectedReasons.find(selectedReason => selectedReason.id === item.id) && SIGNATURE_REQUIRED.includes(item.description)).length > 0;\n };\n\n const feedbacks = reasons.map(({ id, hasMessage }) => {\n const selectedReasonsItem = selectedReasons.find(selectedReason => selectedReason.id === id)\n const isItemSelected = !_.isEmpty(selectedReasonsItem);\n const isMessageProvided = isItemSelected && hasMessage && !_.isEmpty(selectedReasonsItem) && !_.isEmpty(selectedReasonsItem.message);\n\n return {\n reasonId: id,\n reasonChecked: isItemSelected,\n message: isMessageProvided ? selectedReasonsItem.message : null\n }\n });\n if (!_.isEmpty(selectedReasons)) {\n if (requiresSignature()) {\n saveFeedbackForSignature({\n feedbacks: feedbacks,\n onFail: () => resolve(false),\n onSuccess: () => setShowSignature(true)\n });\n } else {\n saveFeedback({\n feedbacks: feedbacks,\n onFail: () => resolve(false),\n onSuccess: cancelApplication\n });\n }\n } else {\n cancelApplication();\n }\n\n };\n\n useEffect(() => {\n getReasons({ onFail: setError, onLoading: setLoading, onSuccess: setReasons })\n }, [getReasons]);\n\n if (showSignature) {\n return (\n {\n setShowSignature(false);\n onSignatureSuccess();\n }}\n onBack={() => { setShowSignature(false); }} />\n )\n }\n\n if (loading || error) {\n return ;\n }\n\n return (\n \n \n\n \n {formatMessageWithKey(\"title\")}\n \n\n \n {formatMessageWithKey(\"description\")}\n \n\n \n\n \n {formatMessageWithKey(\"descriptionAfterContent\")}\n \n\n \n\n \n \n )\n}\n","import { Body, Box, FeedbackRating, Space, Stack } from \"omnichannel-design-system\";\nimport FeedbackReasonList, { ReasonItem, SelectedReasonItem } from \"./components/FeedbackReasonList\";\nimport { FeedbackUrls, useFeedbackApi } from \"./services/feedbackApi\";\nimport { createTranslation, useFormatMessage } from \"services/formatMessageHook\";\nimport { useEffect, useState } from \"react\";\n\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport LoadingButton from \"components/LoadingButton\";\nimport _ from \"lodash\";\nimport { defaultValidateMessage } from \"./services/selectedReasonsLengthExceedCheck\";\nimport image from \"assets/approved-final.png\";\nimport styled from \"styled-components\";\n\ntype FinishWithFeedbackProps = {\n onSubmit: () => unknown;\n feedbackUrls: FeedbackUrls;\n translationKey: string;\n}\n\nexport const FinishWithContainerStyled = styled(Stack)`\n.feedbackRatingAfterContract{\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.3);\n }\n \n .feedbackRatingAfterContract > div {\n width: 100%;\n padding-left: 20px;\n padding-right: 20px;\n display: flex;\n flex-direction: row-reverse;\n overflow: hidden;\n user-select: none;\n }\n \n .feedbackRatingAfterContract > div > label{\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n \n .reasonText > span {\n text-transform: none;\n margin-bottom: 16px;\n }\n`;\n\nexport default function FinishWithFeedback({ onSubmit, feedbackUrls, translationKey }: FinishWithFeedbackProps) {\n const { formatMessage } = useFormatMessage();\n const formatMessageWithKey = createTranslation(formatMessage, translationKey);\n const { getReasons, saveFeedback } = useFeedbackApi(feedbackUrls, \"FINISHED\");\n\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(false);\n const [allReasons, setAllReasons] = useState>([]);\n const [starSelected, setStarSelected] = useState();\n const [visibleReasons, setVisibleReasons] = useState>([]);\n const [selectedReasons, setSelectedReasons] = useState>([]);\n const [feedbackType, setFeedbackType] = useState<\"FINISHED_UNHAPPY\" | \"FINISHED_HAPPY\">();\n\n useEffect(() => {\n if (starSelected) {\n setFeedbackType(starSelected <= 3 ? \"FINISHED_UNHAPPY\" : \"FINISHED_HAPPY\");\n }\n }, [starSelected]);\n\n useEffect(() => {\n if (feedbackType) {\n setVisibleReasons(allReasons.filter((item) => item.feedbackType === feedbackType));\n setSelectedReasons([]);\n }\n }, [feedbackType, allReasons]);\n\n useEffect(() => {\n getReasons({\n onLoading: setLoading,\n onFail: setError,\n onSuccess: setAllReasons\n });\n }, [getReasons]);\n\n if (loading || error) {\n return ;\n }\n\n return (\n \n \n\n {formatMessageWithKey(\"title\")}\n\n \n {formatMessageWithKey(\"description\")}\n \n\n \n \n {formatMessageWithKey(\"ratingTitle\")}\n \n \n \n \n \n \n\n \n {!!(starSelected && starSelected <= 3) && (\n \n \n {formatMessageWithKey(\"improvement\")}\n \n \n )}\n\n \n \n\n \n {formatMessageWithKey(\"descriptionAfterContent\")}\n \n\n \n\n {\n resolve(true);\n saveFeedback({\n feedbacks: visibleReasons.map(({ id, hasMessage }) => {\n const selectedReasonsItem = selectedReasons.find(selectedReason => selectedReason.id === id)\n const isItemSelected = !_.isEmpty(selectedReasonsItem);\n const isMessageProvided = isItemSelected && hasMessage && !_.isEmpty(selectedReasonsItem) && !_.isEmpty(selectedReasonsItem.message);\n return {\n message: isMessageProvided ? selectedReasonsItem.message : null,\n reasonChecked: isItemSelected,\n reasonId: id\n }\n }),\n onFail: () => resolve(false),\n onSuccess: () => {\n resolve(true);\n onSubmit();\n }\n });\n }}\n />\n \n )\n}","import { Box, LocalizedString, Stack } from \"omnichannel-design-system\";\n\nimport RadioButton from \"components/RadioButton\";\nimport { TextareaFieldNoFormik } from \"components/form/TextareaField\";\nimport _ from \"lodash\";\nimport {defaultValidateMessage} from \"../services/selectedReasonsLengthExceedCheck\";\nimport {useFormatMessage} from \"../../../services/formatMessageHook\";\n\nexport type ReasonItem = {\n id: string,\n description: string,\n feedbackType: string,\n hasMessage: boolean,\n message: string\n}\n\nexport type SelectedReasonItem = {\n id: string,\n message: string\n}\n\ntype FeedbackReasonListProps = {\n reasons: Array;\n setSelectedReasons: Function;\n selectedReasons: Array;\n formatMessageWithKey: (value: string) => LocalizedString;\n customValidateMessage?: Function;\n errorKey?: string;\n}\n\nexport default function FeedbackReasonList({ reasons, setSelectedReasons, selectedReasons, formatMessageWithKey, customValidateMessage, errorKey}: FeedbackReasonListProps) {\n\n const { formatMessage } = useFormatMessage();\n\n const setMessages = (id: string) => (message: string) => {\n setSelectedReasons((previousSelection: SelectedReasonItem[]) => previousSelection.map(item => (item.id === id) ? {id, message} : item));\n };\n\n return (\n \n {reasons.map(({ id, description, hasMessage, message }) => {\n const itemIsSelected = selectedReasons.some(selectedReason => selectedReason.id === id);\n const selectedItem = {id, message: !_.isEmpty(message)?message:\"\"};\n return (\n \n {\n if (itemIsSelected) {\n setSelectedReasons(selectedReasons.filter(selectedReason => selectedReason.id !== id));\n return;\n }\n setSelectedReasons([...selectedReasons, selectedItem]);\n }}\n isSelected={itemIsSelected}\n label={formatMessage(description)}\n description=\"\"\n isDisabled={false}\n isRecommended={false} />\n {\n hasMessage && itemIsSelected &&\n \n }\n \n )\n })}\n \n )\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 Signature from \"pages/Signature/Signature\";\nimport { useFeedbackSignChangeApi } from \"../services/feedbackSignatureServices\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype FeedbackSignatureProps = {\n\thandleSubmit: Function;\n\tonBack: Function;\n\tflowType: string;\n}\n\nexport default function FeedbackSignature(props: FeedbackSignatureProps) {\n\tconst { formatMessage } = useFormatMessage();\n\tconst { signChange, signChangeLoading } = useFeedbackSignChangeApi(props.handleSubmit, props.flowType);\n\n\tconst handleSubmit = () => {\n\t\tsignChange({ onFail: props.onBack });\n\t};\n\tconst informationSection = [\n\t\tformatMessage(\"dbn.feedbackSignature.form.description.part1\"),\n\t\tbold(formatMessage(\"dbn.feedbackSignature.form.description.bold1\")),\n\t\tformatMessage(\"dbn.feedbackSignature.form.description.part2\"),\n\t\tbold(formatMessage(\"dbn.feedbackSignature.form.description.bold2\"))\n\t] as NonEmptyArray;\n\n\tif (signChangeLoading) {\n\t\treturn ;\n\t}\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.feedbackSignature.description\")}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}","import { useEffect, useState } from \"react\";\n\nimport { AUTHENTICATED_CLIENT_FLOWS } from \"services/domain\";\nimport { CheckSignStatus } from \"components/PinSgnaturePolling/service/domain\";\nimport FeedbackSignature from \"./FeedbackSignature\";\nimport { Method } from \"axios\";\nimport PinSignaturePolling from \"components/PinSgnaturePolling/PinSignaturePolling\";\nimport { useCheckSignAuthorization } from \"components/PinSgnaturePolling/service/checkSignaturePolling\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ninterface Props {\n onSubmit: () => unknown,\n onBack: () => unknown,\n flowType: string\n}\n\nconst checkCashLoanFeedbackAuthorizationCallConfig = {\n url: \"packages/loans-ro/feedback/cancel/sign/check\",\n method: \"post\" as Method,\n};\n\nconst checkCreditCardsFeedbackAuthorizationCallConfig = {\n url: \"packages/loans-ro/creditCards/feedback/cancel/sign/check\",\n method: \"post\" as Method,\n};\n\nfunction getFeedbackConfig(flowType: string) {\n switch (flowType) {\n case AUTHENTICATED_CLIENT_FLOWS.CASH_LOAN:\n return checkCashLoanFeedbackAuthorizationCallConfig;\n case AUTHENTICATED_CLIENT_FLOWS.CREDIT_CARD:\n return checkCreditCardsFeedbackAuthorizationCallConfig;\n default:\n return {};\n }\n}\n\nfunction SignaturePolling(props: Props) {\n const { formatMessage } = useFormatMessage();\n const { checkSignStatus, checkSignAuthorization } = useCheckSignAuthorization(getFeedbackConfig(props.flowType));\n const [stepBack, setStepBack] = useState(false);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n setStepBack(checkSignStatus && checkSignStatus !== CheckSignStatus.OK && checkSignStatus !== CheckSignStatus.RETRY);\n setLoading(checkSignStatus !== CheckSignStatus.OK);\n }, [checkSignStatus]);\n\n return (}\n />);\n}\n\nexport default SignaturePolling;","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\nexport type FeedbackUrls = {\n getUrl: string;\n saveUrl: string;\n saveWithSignatureUrl?: string;\n}\n\ntype SaveReasonRequest = {\n feedbacks: Array<{\n reasonId: string;\n reasonChecked: boolean;\n message: string | null;\n\n }>;\n}\n\ntype FlowResolution = \"CANCELLED\" | \"FINISHED\";\n\nexport function useFeedbackApi(feedbackUrls: FeedbackUrls, flowResolution: FlowResolution) {\n\n const getReasons = useCallback(({ onLoading, onFail, onSuccess }: ExecuteAxiosFunctions) => {\n executeAxios({\n onLoading,\n onFail,\n onSuccess,\n params: {\n method: \"post\" as Method,\n url: feedbackUrls.getUrl,\n data: { flowResolution }\n }\n });\n }, [feedbackUrls.getUrl, flowResolution]);\n\n const saveFeedback = useCallback(({ onLoading, onFail, onSuccess, feedbacks }: ExecuteAxiosFunctions & SaveReasonRequest) => {\n executeAxios({\n onLoading,\n onFail,\n onSuccess,\n params: {\n method: \"post\" as Method,\n url: feedbackUrls.saveUrl,\n data: { feedbacks }\n }\n });\n }, [feedbackUrls.saveUrl]);\n \n const saveFeedbackForSignature = useCallback(({ onLoading, onFail, onSuccess, feedbacks }: ExecuteAxiosFunctions & SaveReasonRequest) => {\n executeAxios({\n onLoading,\n onFail,\n onSuccess,\n params: {\n method: \"post\" as Method,\n url: feedbackUrls.saveWithSignatureUrl,\n data: { feedbacks }\n }\n });\n }, [feedbackUrls.saveWithSignatureUrl]);\n\n return {\n getReasons,\n saveFeedback,\n saveFeedbackForSignature\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { AUTHENTICATED_CLIENT_FLOWS } from \"services/domain\";\nimport { Method } from \"axios\";\n\nconst signCashLoanFeedbackConfig = {\n url: \"packages/loans-ro/feedback/cancel/sign\",\n method: \"post\" as Method,\n};\n\nconst signCreditCardsFeedbackConfig = {\n url: \"packages/loans-ro/creditCards/feedback/cancel/sign\",\n method: \"post\" as Method,\n};\n\nfunction getFeedbackConfig(flowType: string) {\n switch (flowType) {\n case AUTHENTICATED_CLIENT_FLOWS.CASH_LOAN:\n return signCashLoanFeedbackConfig;\n case AUTHENTICATED_CLIENT_FLOWS.CREDIT_CARD:\n return signCreditCardsFeedbackConfig;\n default:\n return {};\n }\n}\n\nexport function useFeedbackSignChangeApi(handleSubmit: Function, flowType: string) {\n const [signChangeLoading, setSignChangeLoading] = useState(false);\n\n const signChange = useCallback(({onFail}: ExecuteAxiosFunctions) => {\n executeAxios({\n params: getFeedbackConfig(flowType),\n onLoading: setSignChangeLoading,\n onFail: onFail,\n onSuccess: () => handleSubmit && handleSubmit()\n });\n }, [handleSubmit, flowType]);\n\n return {\n signChange,\n signChangeLoading\n }\n}","import _ from \"lodash\";\nimport {SelectedReasonItem} from \"../components/FeedbackReasonList\";\n\nexport function defaultValidateMessage(selectedReasons: Array, maxLength?: number) {\n return selectedReasons && !_.isEmpty(selectedReasons.find(item => item.message && (maxLength ? item.message.length > maxLength: item.message.length > 200)));\n}","import Banner from \"components/Banner\";\nimport { Box } from \"omnichannel-design-system\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nexport default function GeneralError({ textCode = \"dbn.invalid.url\" }: { textCode?: string }) {\n\tconst { formatMessage } = useFormatMessage();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n}","import { useEffect, useRef } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport { Box } from \"omnichannel-design-system\";\nimport { LooseObject } from \"services/types\";\nimport PortalBlock from \"./PortalBlock/PortalBlock\";\nimport SnackBar from \"components/SnackBar\";\nimport styled from \"styled-components\";\nimport { useAppContext } from \"services/appContext\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n\tportalBlockScheduled: boolean;\n\tportalBlocked: boolean;\n\tportalMessageKey: string;\n\tdetails: LooseObject;\n\tCustomContent: Function;\n\tcustomScheduledPortalBlockContentPosition?: boolean;\n};\n\nconst BannerWrapper = styled(Box)`\n\tpadding-bottom: 10px;\n`;\n\nexport default function GenericPortal(props: Props) {\n\tconst { formatRichTextMessage } = useFormatMessage();\n\tconst { dispatch } = useAppContext();\n\tconst bannerRef = useRef(null)\n\n\tconst { portalBlocked, portalBlockScheduled, portalMessageKey, details, CustomContent, customScheduledPortalBlockContentPosition = false } = props;\n\n\tuseEffect(() => {\n\t\tif (bannerRef.current) {\n\t\t\tconst size = bannerRef.current.getBoundingClientRect();\n\t\t\tdispatch({ value: { scheduledPortalBlockHeight: size.bottom } })\n\t\t}\n\n\t}, [dispatch])\n\n\tif (portalBlocked) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\tlet scheduledPortalBlockContent;\n\tif (portalBlockScheduled) {\n\t\tscheduledPortalBlockContent = (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n\treturn (\n\t\t\n\t\t\t{customScheduledPortalBlockContentPosition ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{scheduledPortalBlockContent}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\n\t)\n}","import { Box, MainNavigationHeader, SettingsIcon, Stack } from \"omnichannel-design-system\";\n\nimport { Heading } from \"components/Heading\";\nimport { LooseObject } from \"services/types\";\nimport { MOBILE_PRE_LOGIN_PAGE_URL } from \"services/domain\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nconst Container = styled(Box)`\n\t.circled-icon {\n\t\tborder: 1px solid ${palette.neutral400};\n\t\tborder-radius: 50%;\n\t\tpadding: 10px;\n\t}\n\t\n\t.description {\n\t\tcolor: ${palette.neutral500};\n\t\tfont-size: 16px;\n\t\tline-height: 20px;\n\t\tmargin: 0;\n\t}\n\n\t.header {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\twidth: 100vw;\n\t\tright: 0;\n\t}\n\n\t.header > div {\n\t\twidth : 100%;\n\t}\n`;\n\ntype Props = {\n\tmessageKey: string;\n\tshowHeader?: boolean;\n\tdetails?: LooseObject;\n};\n\nexport default function PortalBlock(props: Props) {\n\tconst { formatMessage, formatRichTextMessage } = useFormatMessage();\n\n\tconst { details, showHeader, messageKey } = props;\n\n\tconst onBack = () => {\n\t\twindow.location.href = MOBILE_PRE_LOGIN_PAGE_URL;\n\t}\n\n\treturn (\n\t\t\n\t\t\t{showHeader && (\n\t\t\t\t\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\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{formatRichTextMessage(messageKey, details)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n}","import { Body, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/process-interrupted.png\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n onBack: () => unknown;\n}\n\nexport default function KycExpired({ onBack }: Props) {\n const { formatMessage } = useFormatMessage();\n return (\n \n \n\n \n {formatMessage(\"dbn.kycExpired.description\")}\n \n\n {formatMessage(\"dbn.kycExpired.title\")}\n\n \n\n \n \n )\n}","import { Body, Box, Divider, Space, Stack, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { CutOffInfo, useCutOffData } from \"flows/PersonalProfile/pages/MyData/services/cutOffApi\";\nimport { useEffect, useState } from \"react\";\nimport { useGetPersonalDataOverview, useValidateEligibilityProfile } from \"./services/personalDataOverviewApi\";\n\nimport { AUTHENTICATED_CLIENT_FLOWS } from \"services/domain\";\nimport Checkbox from \"components/Checkbox\";\nimport { ClientInfo } from \"../../flows/services/domain\";\nimport { EligibilityStatus } from \"./services/domain\";\nimport ErrorPage from \"./components/ErrorPage\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport LoadingButton from \"components/LoadingButton\";\nimport { LooseObject } from \"services/types\";\nimport OverviewItem from \"./components/OverviewItem\";\nimport { Pages } from \"flows/PersonalProfile/services/domain\";\nimport { PersonalDataOverviewDialogs } from \"./components/PersonalDataOverviewDialogs\";\nimport { TABS } from \"flows/PersonalProfile/pages/UpdateContactData/services/domain\";\nimport { formatPhoneNumber } from \"services/formatPhoneNumber\";\nimport { useAppContext } from \"services/appContext\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useGetClientInfoApi } from \"../../flows/services/clientInfoApi\";\nimport { useLoadingPipeline } from \"../../helper/loadingPipeline\";\n\ntype Props = {\n toPhoneEdit: () => unknown;\n toEmailEdit: () => unknown;\n toScanID: () => unknown;\n onSubmit: () => unknown;\n}\n\nexport default function PersonalDataOverview(redirectFunctions: Props) {\n const [eligibilityStatus, setEligibilityStatus] = useState();\n const [showCutOffAlert, setShowCutOffAlert] = useState(false);\n const [cutOffInfo, setCutOffInfo] = useState({} as CutOffInfo);\n const [checkPersonalData, setPersonalData] = useState(false);\n const [{ toPhoneEdit, toEmailEdit }] = useState((() => {\n const computedProps: LooseObject = {};\n Object.keys(redirectFunctions).forEach(key => {\n computedProps[key] = () => {\n getCutOffInfo((cutOffData) => {\n setShowCutOffAlert(cutOffData.active);\n setCutOffInfo(cutOffData);\n if (!cutOffData.active) {\n (redirectFunctions as LooseObject)[key]();\n }\n })\n }\n })\n return computedProps as Props;\n })());\n\n const { formatMessage } = useFormatMessage();\n const { dispatch } = useAppContext();\n const { overviewData: { documentId, email, fullName, phoneNumber }, loading, error, getPersonalDataOverview } = useGetPersonalDataOverview(setEligibilityStatus);\n const { checkEligibility } = useValidateEligibilityProfile();\n const { getCutOffInfo } = useCutOffData();\n const formatMessageWithKey = (text: string, replaceObject?: LooseObject) =>\n formatMessage(\"dbn.personalProfile.PersonalDataOverview.\" + text, replaceObject)\n\n useEffect(getPersonalDataOverview, [getPersonalDataOverview]);\n\n useEffect(() => {\n dispatch({\n value: {\n isCIMissing: eligibilityStatus === EligibilityStatus.MISSING_CI_COPY\n }\n })\n }, [eligibilityStatus, dispatch])\n\n if (loading || error || !eligibilityStatus) {\n return ;\n }\n\n if (eligibilityStatus === EligibilityStatus.KYC_EXPIRED) {\n return ;\n }\n\n const onSubmitForm = (resolve: (isSuccessfully: boolean) => unknown) => {\n checkEligibility(({ status }: { status: string }) => {\n if (status) {\n resolve(true);\n if (status === EligibilityStatus.OK) {\n redirectFunctions.onSubmit();\n return;\n }\n\n if (Object.keys(EligibilityStatus).includes(status)) {\n setEligibilityStatus((EligibilityStatus as LooseObject)[status]);\n }\n }\n resolve(false);\n }, () => {\n resolve(false);\n })\n }\n\n return (\n \n \n\n \n\n \n \n {formatMessageWithKey(\"description\")}\n \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n )\n}\n\nexport function PersonalDataOverviewWrapper() {\n const { dispatch } = useAppContext();\n const { getClientInfo } = useGetClientInfoApi();\n const { loading, handleLoading } = useLoadingPipeline();\n\n const [isStaff, setIsStaff] = useState(false);\n const toContactData = (tabName: string) => () => {\n dispatch({\n value: {\n flowName: AUTHENTICATED_CLIENT_FLOWS.PERSONAL_PROFILE,\n firstFlowStep: Pages.UPDATE_CONTACT_DATA_AGREEMENTS,\n details: { tabName }\n }\n })\n }\n\n useEffect(() => {\n getClientInfo({\n onSuccess: (content: ClientInfo) => {\n setIsStaff(content.staff);\n },\n onLoading: handleLoading(\"getClientInfoLoanding\"),\n onFail: () => handleLoading(\"getClientInfoFailed\")(true)\n })\n }, [getClientInfo, handleLoading]);\n\n if (loading) {\n return ;\n }\n return (\n {\n dispatch({\n value: {\n flowName: AUTHENTICATED_CLIENT_FLOWS.PERSONAL_PROFILE,\n firstFlowStep: Pages.SCAN_ID_AGREEMENTS,\n isStaff: isStaff\n }\n })\n }}\n onSubmit={() => {\n dispatch({\n value: {\n isPersonalDataValid: true\n }\n })\n }}\n />\n )\n}","import { Body, Box, Button, LocalizedString, Space } from \"omnichannel-design-system\";\n\nimport styled from \"styled-components\";\n\ntype Props = {\n title: LocalizedString;\n description: LocalizedString;\n actionLabel: LocalizedString;\n action: () => unknown;\n}\n\nconst AlertDialogContentStyled = 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 .alertDialogContent{\n background-color: white;\n margin: 20px;\n padding: 20px;\n width: calc(100vw - 40px);\n }\n`\n\nexport default function AlertDialog({ title, description, actionLabel, action }: Props) {\n return (\n \n \n \n {title}\n \n\n \n\n \n \n {description}\n \n \n\n \n \n\n \n \n \n \n )\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport { LooseObject } from \"services/types\";\nimport image from \"assets/process-interrupted.png\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n errorType: string;\n}\n\nexport default function ErrorPage({ errorType }: Props) {\n const { formatMessage } = useFormatMessage()\n const formatMessageWithKey = (text: string, replaceObject?: LooseObject) =>\n formatMessage(\"dbn.personalProfile.PersonalDataOverview.\" + text, replaceObject)\n return (\n \n \n\n \n\n \n \n {formatMessageWithKey(`${errorType}.description`)}\n \n \n\n \n\n \n {formatMessageWithKey(\"title\")}\n \n\n \n\n { document.location.href = `tel:${formatMessageWithKey(\"contact.us.phoneNumber\")}`; }}\n />\n \n )\n}","import { AngleRightIcon, Body, Box, LocalizedString, Space } from \"omnichannel-design-system\"\n\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\n\ntype Props = {\n label: LocalizedString;\n value: LocalizedString;\n onClick: () => unknown;\n}\n\nexport default function OverviewItem({ onClick, label, value }: Props) {\n return (\n \n \n \n {label}\n \n\n \n {value}\n \n \n\n \n\n \n \n )\n}","import AlertDialog from \"./AlertDialog\";\nimport { CutOffInfo } from \"flows/PersonalProfile/pages/MyData/services/cutOffApi\";\nimport { EligibilityStatus } from \"../services/domain\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype ShowCiExpiredProps = {\n documentId?: string,\n fullName?: string,\n eligibilityStatus?:EligibilityStatus;\n}\n\ntype Props = {\n email?: string;\n phoneNumber?: string;\n documentId?: string;\n fullName?: string;\n showCutOffAlert: boolean;\n toPhoneEdit: () => unknown;\n toEmailEdit: () => unknown;\n cutOffInfo: CutOffInfo;\n toScanID: () => unknown;\n setShowCutOffAlert: (show: boolean) => unknown;\n eligibilityStatus: EligibilityStatus;\n}\n\nfunction isCiMissing(status: EligibilityStatus): boolean {\n return EligibilityStatus.MISSING_CI_COPY === status;\n}\n\nfunction isCiExpired(status: EligibilityStatus): boolean {\n return EligibilityStatus.CI_EXPIRED === status;\n}\n\nfunction isInvalidCiExpirationDate(status: EligibilityStatus): boolean {\n return EligibilityStatus.INVALID_CI_EXPIRY_DATE === status;\n}\n\nfunction doDocumentIdAndFullNameExist({ documentId, fullName }: ShowCiExpiredProps): boolean {\n return !!(documentId || fullName);\n}\n\nexport function PersonalDataOverviewDialogs(props: Props) {\n const { eligibilityStatus, email, phoneNumber, documentId, fullName, showCutOffAlert, cutOffInfo, toPhoneEdit, toEmailEdit, toScanID, setShowCutOffAlert } = props;\n const { formatMessageWithKey } = usePersonalProfileContext();\n \n if(showCutOffAlert) {\n return (\n { setShowCutOffAlert(false) }} />\n )\n }\n\n if(isCiMissing(eligibilityStatus) || isInvalidCiExpirationDate(eligibilityStatus) || !doDocumentIdAndFullNameExist({documentId, fullName})) {\n return (\n \n )\n }\n\n if (isCiExpired(eligibilityStatus)) {\n return (\n \n )\n }\n\n if (!email) {\n return (\n \n )\n }\n\n if (!phoneNumber || ![\"+40\", \"0040\"].some(prefix => phoneNumber.startsWith(prefix))) {\n return (\n \n )\n }\n\n return <>;\n}\n","export enum EligibilityStatus {\n OK = \"OK\",\n KYC_EXPIRED = \"KYCexpired\",\n CI_EXPIRED = \"ciExpired\",\n INVALID_CI_EXPIRY_DATE = \"invalidCiExpiryDate\",\n MISSING_CI_COPY = \"missingCiCopy\"\n}","import { useCallback, useState } from \"react\";\n\nimport { EligibilityStatus } from \"./domain\";\nimport { LooseObject } from \"services/types\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\ntype PersonalDataOverview = {\n fullName?: string;\n documentId?: string;\n phoneNumber?: string;\n email?: string;\n status?: EligibilityStatus;\n}\n\nconst getProfileOverviewConfig = {\n url: \"/clients-ro/personalDataOverview/get\",\n method: \"post\" as Method,\n};\n\nexport function useGetPersonalDataOverview(setStatus: Function) {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const [overviewData, setOverviewData] = useState({});\n\n const getPersonalDataOverview = useCallback(() => {\n executeAxios({\n params: getProfileOverviewConfig,\n onFail: setError,\n onLoading: setLoading,\n onSuccess: (data: PersonalDataOverview) => {\n if (data.status && Object.keys(EligibilityStatus).includes(data.status)) {\n setStatus((EligibilityStatus as LooseObject)[data.status]);\n }\n setOverviewData(data)\n },\n });\n }, [setStatus]);\n\n return {\n loading,\n error,\n overviewData,\n getPersonalDataOverview,\n }\n\n}\n\nconst validateEligibilityProfileConfig = {\n url: \"/clients-ro/personalDataOverview/validate\",\n method: \"post\" as Method,\n};\n\nexport function useValidateEligibilityProfile() {\n const checkEligibility = useCallback((onSuccess: any, onFail: any) => {\n executeAxios({\n params: validateEligibilityProfileConfig,\n onFail,\n onSuccess\n })\n }, [])\n\n return {\n checkEligibility\n }\n}","import { Box, Space, Stack } from \"omnichannel-design-system\";\nimport { createTranslation, useFormatMessage } from \"services/formatMessageHook\";\n\nimport { Button } from \"../../components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/process-interrupted.png\";\n\ntype Props = {\n\ttranslationKey?: string;\n}\n\nexport default function ExpiredOffer({ translationKey=\"dbn.expiredOffer.\" }: Props) {\n\tconst { formatMessage, formatRichTextMessage } = useFormatMessage();\n\tconst formatMessageWithKey = createTranslation(formatMessage, translationKey);\n\n\tconst handleBack = () => {\n\t\twindow.location.href = \"mb-unicredit://appredirect/query?appSection=online:products:home\";\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{formatRichTextMessage(translationKey + \"description\")}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{formatMessageWithKey(\"title\")}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}","export const ACTIVE_OFFER_STATES = [\"IN_PROGRESS\", \"CREATED\", \"PENDING_SIGNATURE\"];\nexport const PENDING_RESOLUTION_STATE = \"PENDING_RESOLUTION\";\nexport const FINISHED = \"FINISHED\";\nexport const CLOSED = \"CLOSED\";","import { Body, Box, LocalizedBold, LocalizedString, Space, TextChildren } from \"omnichannel-design-system\";\nimport { useFormikContext, withFormik } from 'formik';\n\nimport { Button } from \"components/Button\";\nimport { NonEmptyArray } from \"components/form/utils\";\nimport PasswordField from \"components/form/PasswordField\";\nimport TextField from \"components/form/TextField\";\n\ninterface FormValues {\n\tpin: string\n}\n\ninterface Props {\n\tinformationSection?: TextChildren | LocalizedString,\n\tpinLabel: LocalizedString,\n\tpinDescription: LocalizedString,\n\tsubmitLabel?: LocalizedString,\n\tshowPin?: boolean,\n\tresetComponent?: any,\n\tvalidatePwd?: (value: string) => any,\n\tsubmitErrorMessage?: string\n}\n\nfunction validatePwdDefault(value: string) {\n\tconst onlyNumbers = /^\\d*$/;\n\tlet error;\n\tif (!value) {\n\t\terror = \"dbn.signature.form.pin.error.required\";\n\t} else if (!onlyNumbers.test(value)) {\n\t\terror = \"dbn.signature.form.pin.error.onlyNumbers\";\n\t} else if (value.length !== 6) {\n\t\terror = \"dbn.signature.form.pin.error.length\";\n\t}\n\treturn error;\n}\n\nexport const InnerForm = (props: Props) => {\n\tconst { informationSection, pinLabel, pinDescription, submitLabel, showPin, resetComponent, validatePwd } = props;\n\tconst { errors, handleSubmit, touched, isValid, } = useFormikContext();\n\n\tlet validationFunction = validatePwd ? validatePwd : validatePwdDefault;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{!showPin && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{showPin && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{resetComponent}\n\t\t\t\n\t\t\t\n\t\t\t\t{informationSection && (\n\t\t\t\t\t\n\t\t\t\t\t\t{informationSection}\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\n\t\t\n\t);\n}\n\ninterface MyFormProps {\n\thandleOnSubmit: (values: any) => unknown,\n\tinformationSection?: NonEmptyArray | LocalizedString,\n\tpinLabel: LocalizedString,\n\tpinDescription: LocalizedString,\n\tsubmitLabel?: LocalizedString,\n\tshowPin?: boolean\n\tresetComponent?: any,\n\tvalidatePwd?: (value: string) => any,\n\tsubmitErrorMessage?: string\n}\n\nconst Signature = withFormik({\n\tmapPropsToValues: () => {\n\t\treturn {\n\t\t\tpin: ''\n\t\t};\n\t},\n\n\tmapPropsToErrors: (props) => {\n\t\treturn {\n\t\t\tpin: props.submitErrorMessage\n\t\t};\n\t},\n\n\thandleSubmit: (values, bag) => {\n\t\tbag.props.handleOnSubmit(values);\n\t},\n})(InnerForm);\n\nexport default Signature;","import { Body, Box, LocalizedString, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/request-rejected-we-return-with-an-appeal.png\";\n\ntype Props = {\n\ttitle: LocalizedString,\n\tdescription: LocalizedString,\n\tbuttonKey: string\n}\n\nexport default function ToBeContacted(props: Props) {\n\tconst { title, description, buttonKey } = props;\n\tconst handleBack = () => {\n\t\twindow.location.href = \"mb-unicredit://appredirect/query?appSection=online:products:home\";\n\t};\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\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{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{title}\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t);\n}","import { ExecuteAxiosFunctions, executeAxios, getCurrentPortalStatusesConfig } from \"services/axiosHook\";\nimport { LOCALE, TENANT } from \"services/domain\";\nimport { useCallback, useEffect, useState } from \"react\";\n\nimport { AppContextProvider } from \"../services/appContext\";\nimport ErrorHandler from \"../ErrorHandler\";\nimport GeneralError from \"pages/GeneralError/GeneralError\";\nimport GenericPortal from \"pages/GenericPortal/GenericPortal\";\nimport { GlobalEvents } from \"services/globalEvents\";\nimport IntlProvider from \"react-intl/src/components/provider\";\nimport Loader from \"components/Loader\";\nimport { Method } from \"axios\";\nimport RemoteOnboarding from \"flows/Onboarding/remote/RemoteOnboarding\";\nimport { ThemeProvider } from \"omnichannel-design-system\";\nimport { TranslationsContextProvider } from \"../services/translationsContext\";\nimport moment from \"moment\";\nimport { setAuthInSessionStorage } from \"services/storageData\";\nimport useApplicationInitialization from \"services/useApplicationInitialization\";\n\nfunction formatDate(date: any) {\n return moment(date).format(\"DD.MM.YYYY HH:mm\");\n}\n\nconst anonymousAuthConfig = {\n url: \"/authorization/anonymous/token\",\n method: \"POST\" as Method\n};\n\nexport default function RemoteOnboardingApp() {\n const onApplicationInitializationSuccess = useCallback(\n ({ onFail, onLoading }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: anonymousAuthConfig,\n onSuccess: setAuthInSessionStorage,\n onFail,\n onLoading,\n })\n }, [])\n const { loading, data, error } = useApplicationInitialization(onApplicationInitializationSuccess);\n const [{ portalBlocked, portalBlockScheduled, portalMessageKey, details,\n }, setPortalBlock] = useState({ portalBlocked: false, portalBlockScheduled: false, portalMessageKey: \"\", details: {} })\n\n const checkPortalStatus = useCallback((event: any) => {\n let portalData = event.detail ? event.detail : event;\n\n if (portalData) {\n if (portalData.ALL?.currentlyBlocked) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlocked: true,\n portalMessageKey: \"portal.block.started.message\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.ALL.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.ALL.timeTo)\n }\n }))\n } else if (portalData.CA?.currentlyBlocked) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlocked: true,\n portalMessageKey: \"portal.block.started.message.ca\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.CA.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.CA.timeTo)\n }\n }))\n }\n\n if (portalData.ALL?.portalBlockScheduled) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlockScheduled: true,\n portalMessageKey: \"portal.block.scheduled.message\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.ALL.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.ALL.timeTo)\n }\n }))\n } else if (portalData.CA?.portalBlockScheduled) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlockScheduled: true,\n portalMessageKey: \"portal.block.scheduled.message.ca\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.CA.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.CA.timeTo)\n }\n }))\n }\n }\n }, []);\n\n useEffect(() => {\n executeAxios({\n params: getCurrentPortalStatusesConfig,\n onSuccess: checkPortalStatus\n })\n }, [checkPortalStatus]);\n\n useEffect(() => {\n const scheduledPortalInterval = setInterval(() => {\n if (!error) {\n executeAxios({\n params: getCurrentPortalStatusesConfig,\n onSuccess: checkPortalStatus\n })\n }\n }, 300000);\n\n document.addEventListener(GlobalEvents.PORTAL_BLOCKED, checkPortalStatus);\n\n return () => {\n document.removeEventListener(GlobalEvents.PORTAL_BLOCKED, checkPortalStatus);\n clearInterval(scheduledPortalInterval);\n }\n }, [error, checkPortalStatus]);\n\n const renderInnerContent = () => {\n if (loading) {\n return ;\n }\n\n if (error) {\n return ;\n }\n\n return (\n \n )\n }\n\n return (\n \n \n \n \n
\n \n {renderInnerContent()}\n \n
\n
\n
\n
\n
\n );\n}","import { LOCALE, TENANT } from \"services/domain\";\nimport { ThemeProvider, useDeviceUA } from \"omnichannel-design-system\";\nimport { executeAxios, getCurrentPortalStatusesConfig } from \"services/axiosHook\";\nimport { useCallback, useEffect, useState } from \"react\";\n\nimport { AppContextProvider } from \"../services/appContext\";\nimport { DEFAULT_VMB_SESSION_TIMEOUT } from \"flows/VirtualMailbox/services/domain\";\nimport ErrorHandler from \"../ErrorHandler\";\nimport GeneralError from \"pages/GeneralError/GeneralError\";\nimport GenericPortal from \"pages/GenericPortal/GenericPortal\";\nimport { GlobalEvents } from \"services/globalEvents\";\nimport IntlProvider from \"react-intl/src/components/provider\";\nimport Loader from \"components/Loader\";\nimport { TranslationsContextProvider } from \"../services/translationsContext\";\nimport VirtualMailbox from \"flows/VirtualMailbox/VirtualMailbox\";\nimport moment from \"moment\";\nimport useApplicationInitialization from \"services/useApplicationInitialization\";\n\nfunction formatDate(date: any) {\n return moment(date).format(\"DD.MM.YYYY HH:mm\");\n}\n\nexport default function VirtualMailboxApp() {\n const { loading, data, error } = useApplicationInitialization();\n const { isMobile } = useDeviceUA();\n const [{\n portalBlocked,\n portalBlockScheduled,\n portalMessageKey,\n details,\n }, setPortalBlock] = useState({ portalBlocked: false, portalBlockScheduled: false, portalMessageKey: \"\", details: {} })\n\n const checkPortalStatus = useCallback((event: any) => {\n let portalData = event.detail ? event.detail : event;\n if (portalData) {\n if (portalData.ALL?.currentlyBlocked) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlocked: true,\n portalMessageKey: \"portal.block.started.message\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.ALL.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.ALL.timeTo)\n }\n }))\n }\n\n if (portalData.ALL?.portalBlockScheduled) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlockScheduled: true,\n portalMessageKey: \"portal.block.scheduled.message\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.ALL.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.ALL.timeTo)\n }\n }))\n }\n }\n }, []);\n\n useEffect(() => {\n executeAxios({\n params: getCurrentPortalStatusesConfig,\n onSuccess: checkPortalStatus\n })\n }, [checkPortalStatus]);\n\n useEffect(() => {\n const scheduledPortalInterval = setInterval(() => {\n if (!error) {\n executeAxios({\n params: getCurrentPortalStatusesConfig,\n onSuccess: checkPortalStatus\n })\n }\n }, 300000);\n\n document.addEventListener(GlobalEvents.PORTAL_BLOCKED, checkPortalStatus);\n\n return () => {\n document.removeEventListener(GlobalEvents.PORTAL_BLOCKED, checkPortalStatus);\n clearInterval(scheduledPortalInterval);\n }\n }, [error, checkPortalStatus]);\n\n const renderInnerContent = () => {\n if (loading) {\n return ;\n }\n\n if (error) {\n return ;\n }\n\n return (\n \n )\n }\n\n if(!data.configurations.virtualMailboxSessionTimeout){\n data.configurations.virtualMailboxSessionTimeout = DEFAULT_VMB_SESSION_TIMEOUT;\n }\n\n return (\n \n \n \n \n \n {renderInnerContent()}\n \n \n \n \n \n );\n}","import \"omnichannel-design-system/lib/index.css\";\n\nimport { ExecuteAxiosFunctions, executeAxios, getCurrentPortalStatusesConfig, getQueryVariable } from \"../../services/axiosHook\";\nimport { ThemeProvider, useLibraryInfo } from \"omnichannel-design-system\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { AppContextProvider } from \"services/appContext\";\nimport AuthenticatedClientContent from \"routes/authenticatedClientApp/AuthenticatedClientContent\";\nimport ErrorHandler from \"../../ErrorHandler\";\nimport GeneralError from \"pages/GeneralError/GeneralError\";\nimport GenericPortal from \"pages/GenericPortal/GenericPortal\";\nimport { GlobalEvents } from \"services/globalEvents\";\nimport { IntlProvider } from \"react-intl\";\nimport { LOCALE } from \"services/domain\";\nimport Loader from \"components/Loader\";\nimport { Method } from \"axios\";\nimport { TranslationsContextProvider } from \"services/translationsContext\";\nimport moment from \"moment\";\nimport { setAuthInSessionStorage } from \"services/storageData\";\nimport useApplicationInitialization from \"services/useApplicationInitialization\";\n\nconst TENANT = \"ro\";\n\nfunction formatDate(date: any) {\n return moment(date).format(\"DD.MM.YYYY HH:mm\");\n}\n\nconst authenticationFromJwtReference = {\n url: \"/authorization/client/sso/token\",\n method: \"POST\" as Method,\n data: { jwtReference: getQueryVariable(\"jwtReference\") }\n};\n\nexport default function AuthenticatedClientApp() {\n const onApplicationInitializationSuccess = useCallback(\n ({ onFail, onLoading }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: authenticationFromJwtReference,\n onSuccess: setAuthInSessionStorage,\n onFail,\n onLoading,\n })\n }, [])\n const { loading, data, error, loadingPipe, handleLoading } = useApplicationInitialization(onApplicationInitializationSuccess);\n const [{\n portalBlocked,\n portalBlockScheduled,\n portalMessageKey,\n details,\n }, setPortalBlock] = useState({ portalBlocked: false, portalBlockScheduled: false, portalMessageKey: \"\", details: {} })\n\n const flowType = useRef(getQueryVariable(\"function\"));\n\n const { getVersion } = useLibraryInfo();\n\n const checkPortalStatus = useCallback((event: any) => {\n let portalData = event.detail ? event.detail : event;\n if (portalData) {\n if (portalData.ALL?.currentlyBlocked) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlocked: true,\n portalMessageKey: \"portal.block.started.message\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.ALL.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.ALL.timeTo)\n }\n }))\n } else if (portalData[flowType.current]?.currentlyBlocked) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlocked: true,\n portalMessageKey: \"portal.block.started.message.\" + String(flowType.current).toLocaleLowerCase(),\n details: {\n \"DateTimeFrom!\": formatDate(portalData[flowType.current].timeFrom),\n \"DateTimeTo!\": formatDate(portalData[flowType.current].timeTo)\n }\n }))\n }\n\n if (portalData.ALL?.portalBlockScheduled) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlockScheduled: true,\n portalMessageKey: \"portal.block.scheduled.message\",\n details: {\n \"DateTimeFrom!\": formatDate(portalData.ALL.timeFrom),\n \"DateTimeTo!\": formatDate(portalData.ALL.timeTo)\n }\n }))\n } else if (portalData[flowType.current]?.portalBlockScheduled) {\n setPortalBlock(previous => ({\n ...previous,\n portalBlockScheduled: true,\n portalMessageKey: \"portal.block.scheduled.message.\" + String(flowType.current).toLocaleLowerCase(),\n details: {\n \"DateTimeFrom!\": formatDate(portalData[flowType.current].timeFrom),\n \"DateTimeTo!\": formatDate(portalData[flowType.current].timeTo)\n }\n }))\n }\n }\n }, []);\n\n useEffect(() => {\n console.log(`Omnichannel Design System v${getVersion()}`);\n }, [getVersion]);\n\n const isFirstTime = useRef(true);\n\n useEffect(() => {\n if (!loadingPipe.customOnApplicationInitializationSuccess && isFirstTime.current) {\n isFirstTime.current = false;\n executeAxios({\n params: getCurrentPortalStatusesConfig,\n onLoading: handleLoading(\"loadingPortalBlock\"),\n onSuccess: checkPortalStatus\n })\n }\n }, [loadingPipe.customOnApplicationInitializationSuccess, checkPortalStatus, handleLoading]);\n\n useEffect(() => {\n const scheduledPortalInterval = setInterval(() => {\n if (!error) {\n executeAxios({\n params: getCurrentPortalStatusesConfig,\n onSuccess: checkPortalStatus\n })\n }\n }, 300000);\n\n document.addEventListener(GlobalEvents.PORTAL_BLOCKED, checkPortalStatus);\n\n return () => {\n document.removeEventListener(GlobalEvents.PORTAL_BLOCKED, checkPortalStatus);\n clearInterval(scheduledPortalInterval);\n }\n }, [error, checkPortalStatus]);\n\n const renderInnerContent = () => {\n if (loading) {\n return ;\n }\n\n if (error) {\n return ;\n }\n\n return (\n \n )\n };\n\n return (\n \n \n \n \n
\n \n {renderInnerContent()}\n \n
\n
\n
\n
\n
\n );\n}","import { AUTHENTICATED_CLIENT_FLOWS, PROD } from \"services/domain\";\nimport PersonalProfile, { PersonalProfileOverviewWithContext } from \"flows/PersonalProfile/PersonalProfile\";\n\nimport CashLoan from \"flows/CashLoan/CashLoan\";\nimport CreditCard from \"flows/CreditCard/CreditCard\";\nimport { EnvironmentButton } from \"components/EnvironmentButton/EnvironmentButton\";\nimport GeneralError from \"pages/GeneralError/GeneralError\";\nimport { Pages } from \"flows/PersonalProfile/services/domain\";\nimport { useAppContext } from \"services/appContext\";\n\nconst { CASH_LOAN, CREDIT_CARD, PERSONAL_PROFILE } = AUTHENTICATED_CLIENT_FLOWS;\n\nfunction getFlow(flowName: AUTHENTICATED_CLIENT_FLOWS, firstStep?: string, isStaff?: boolean) {\n\tswitch (flowName) {\n\t\tcase CASH_LOAN:\n\t\t\treturn ;\n\t\tcase CREDIT_CARD:\n\t\t\treturn ;\n\t\tcase PERSONAL_PROFILE:\n\t\t\tif (firstStep) {\n\t\t\t\treturn ;\n\t\t\t}\n\t\t\treturn ;\n\t\tdefault:\n\t\t\treturn ;\n\t}\n}\n\nexport default function AuthenticatedClientContent() {\n\tconst { configurations, flowName, firstFlowStep: firstStep, isStaff } = useAppContext();\n\tconst environment = configurations ? configurations?.environment?.toLowerCase() : PROD;\n\n\treturn (\n\t\t<>\n\t\t\t{environment && environment !== PROD && }\n\t\t\t{getFlow(flowName, firstStep, isStaff)}\n\t\t\n\t);\n}","import { LANGUAGE, RO_LANGUAGE } from \"./domain\";\nimport { axiosInstance, getCurrentPortalStatusesConfig, getQueryVariable } from \"./axiosHook\";\nimport { clearAuthFromSessionStorage, localStorageData, sessionStorageData, setAuthInSessionStorage } from \"./storageData\";\n\nimport { AxiosRequestConfig } from \"axios\";\nimport { GlobalEvents } from \"./globalEvents\";\nimport { LooseObject } from \"./types\";\nimport { is5xxStatus } from \"helper/httpStatusCheck\";\n\ntype ResponseErrorInterceptor = {\n config?: { url?: string },\n response?: { status: number }\n}\n\nlet axiosCallHistory: LooseObject = {};\n\nsetInterval(() => {\n axiosCallHistory = {};\n}, 1000 * 60) // Every minute the call history will be replaced (is used only for consecutive calls that are done in less then 1 min and receive 401 status)\n\nfunction getCurrentPortalStatuses() {\n return axiosInstance.request(getCurrentPortalStatusesConfig);\n}\n\nfunction refreshToken() {\n return axiosInstance.request({\n url: \"/authorization/token/refresh\",\n method: \"POST\",\n data: {\n token: sessionStorageData.getItem(\"token\"),\n refreshToken: sessionStorageData.getItem(\"refreshToken\")\n }\n });\n}\n\nexport function errorConfig(error: ResponseErrorInterceptor) {\n if (!error.config || !error.response) {\n return\n }\n\n if (error.response.status === 307) {\n return getCurrentPortalStatuses()\n .then(({ data }) => {\n document.dispatchEvent(new CustomEvent(GlobalEvents.PORTAL_BLOCKED, { detail: data }));\n return Promise.resolve(data);\n }, (portalStatusError) => {\n return Promise.resolve(portalStatusError);\n }).catch(console.error);\n }\n\n if (error.response.status !== 401) {\n if (is5xxStatus(error.response.status)) {\n document.dispatchEvent(new CustomEvent(GlobalEvents.SHOW_SNACK_BAR, {}));\n }\n\n if (error.response.status === 429) {\n document.dispatchEvent(new CustomEvent(GlobalEvents.SHOW_SNACK_BAR, { detail: { status: 429 } }));\n }\n\n return Promise.reject(error);\n }\n // This logic if when is status 401\n if (!error.config.url) {\n return Promise.reject(error);\n }\n\n if (axiosCallHistory[error.config.url]) {\n axiosCallHistory[error.config.url]++;\n } else {\n axiosCallHistory[error.config.url] = 1;\n }\n if (\"/authorization/token/refresh\" === error.config.url) {\n clearAuthFromSessionStorage();\n return Promise.reject(error);\n }\n\n if (axiosCallHistory[error.config.url] < 2 && !error.config.url.includes(\"/token\")) {\n return refreshToken().then((response) => {\n setAuthInSessionStorage({ ...response.data, flowId: response.data?.flowID });\n return axiosInstance.request(error.config as AxiosRequestConfig);\n }, () => {\n return Promise.reject(error);\n });\n } else {\n document.dispatchEvent(new CustomEvent(GlobalEvents.LOGOUT, {}));\n return Promise.reject(error);\n }\n}\n\nexport function requestInterceptor(config: AxiosRequestConfig):any {\n if (!config.headers) {\n return null;\n }\n config.headers[\"Authorization\"] = `Bearer ${sessionStorageData.getItem(\"token\")}`;\n const flowId = sessionStorageData.getItem(\"flowId\");\n if (flowId) {\n config.headers[\"flowId\"] = flowId;\n }\n config.headers[\"Accept-Language\"] = getQueryVariable(\"lang\") || localStorageData.getItem(LANGUAGE) || RO_LANGUAGE;\n\n return config;\n}\n","import { AUTHENTICATED_CLIENT_FLOWS, QUERY_FLOW } from \"./domain\";\nimport { Dispatch, createContext, useContext, useEffect, useMemo, useReducer } from \"react\";\n\nimport { LooseObject } from \"./types\";\nimport { constVoid } from \"fp-ts/lib/function\";\nimport { getQueryVariable } from \"./axiosHook\";\n\nexport type InitialContextState = {\n configurations: LooseObject;\n flowName: AUTHENTICATED_CLIENT_FLOWS;\n firstFlowStep?: string;\n isPersonalDataValid?: boolean;\n isStaff?: boolean;\n scheduledPortalBlockHeight?: number;\n details?: LooseObject;\n isClient?: boolean;\n isCIMissing?: boolean;\n};\n\nconst initialContext: { state: InitialContextState, dispatch: Dispatch } = {\n state: {\n configurations: {},\n flowName: getQueryVariable(QUERY_FLOW) as AUTHENTICATED_CLIENT_FLOWS,\n },\n dispatch: constVoid\n};\n\nconst AppContext = createContext(initialContext);\n\ntype Props = {\n children: any;\n configurations: LooseObject;\n isClient?: boolean;\n}\n\nexport function AppContextProvider(props: Props) {\n const { configurations, children,\n isClient = false,\n } = props;\n const [state, dispatch] = useReducer(\n (previousState: InitialContextState, { value: newValues }: { value: LooseObject }): InitialContextState => {\n return { ...previousState, ...newValues };\n }, initialContext.state);\n\n const value = useMemo(() => ({ state, dispatch }), [state, dispatch]);\n\n useEffect(() => {\n dispatch({ value: { configurations, isClient } })\n }, [configurations, isClient])\n\n return (\n \n {children}\n \n );\n}\n\nexport function useAppContext() {\n const { state, dispatch } = useContext(AppContext);\n\n return {\n ...state,\n dispatch\n };\n}","import { QUERY_FLOW, RO_LANGUAGE } from \"./domain\";\nimport axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport { errorConfig, requestInterceptor } from \"./apiConfig\";\nimport { useCallback, useState } from \"react\";\n\nexport function getQueryVariable(variable: string) {\n\tconst locationPath = window.location.search.substring(1);\n\tif (locationPath) {\n\t\tconst query = locationPath.replaceAll(\"&\", \"&\");\n\t\tconst queryVariables = query.split(\"&\");\n\t\tfor (let param of queryVariables) {\n\t\t\tconst pair = param.split(\"=\");\n\t\t\tif (pair[0] === variable) {\n\t\t\t\treturn pair[1];\n\t\t\t}\n\t\t}\n\n\t}\n\treturn \"\";\n}\n\nconst flowType = getQueryVariable(QUERY_FLOW);\n\nexport const axiosInstance: AxiosInstance = axios.create({\n\tbaseURL: process.env.REACT_APP_API_ENDPOINT + (process.env.REACT_APP_API_PORT ? \":\" + process.env.REACT_APP_API_PORT : \"\"),\n\theaders: {\n\t\t\"Tenant\": RO_LANGUAGE,\n\t\t\"Channel\": !!flowType || [\"/onboarding\", \"/virtualMailbox\"].some(path => window.location.pathname.toLowerCase().startsWith(path.toLowerCase()))? \"SB_Remote\" : \"Branch_InPerson\",\n\t\t\"Client-App\": !!flowType || [\"/onboarding\", \"/virtualMailbox\"].some(path => window.location.pathname.toLowerCase().startsWith(path.toLowerCase()))? \"\" : \"DBN_BRANCH\",\n\t\t\"Flow-Type\": flowType,\n\t\t\"TimezoneOffset\": new Date().getTimezoneOffset()\n\t}\n});\n\nexport const getCurrentPortalStatusesConfig: AxiosRequestConfig = {\n\turl: \"/utilities/noauth/cached/currentPortalStatuses\",\n\tmethod: \"POST\"\n}\n\naxiosInstance.interceptors.request.use(requestInterceptor);\naxiosInstance.interceptors.response.use(undefined, errorConfig);\n\nexport const useAxios = (params: AxiosRequestConfig) => {\n\tconst [response, setResponse] = useState(null);\n\tconst [error, setError] = useState();\n\tconst [loading, setLoading] = useState(true);\n\n\tconst fetchData = useCallback(() => {\n\t\taxiosInstance\n\t\t\t.request(params)\n\t\t\t.then((resp) => {\n\t\t\t\tsetResponse(resp.data);\n\t\t\t\tsetLoading(false);\n\t\t\t}).catch((err) => {\n\t\t\t\tsetError(err.response);\n\t\t\t}).finally(() => {\n\t\t\t\tsetLoading(false);\n\t\t\t});\n\t}, [params]);\n\n\treturn { response, error, loading, fetchData };\n}\n\nexport interface ExecuteAxiosFunctions {\n\tonSuccess?: Function,\n\tonFail?: Function,\n\tonLoading?: Function\n}\nexport interface ExecuteAxiosParameters extends ExecuteAxiosFunctions {\n\tparams: AxiosRequestConfig,\n}\n\nexport function executeAxios({ params, onSuccess, onFail, onLoading }: ExecuteAxiosParameters) {\n\tonLoading && onLoading(true);\n\taxiosInstance.request(params).then((response) => {\n\t\tonSuccess && onSuccess(response.data);\n\t}).catch((error) => {\n\t\tonFail && onFail(error.response);\n\t}).finally(() => {\n\t\tonLoading && onLoading(false);\n\t});\n}\n\nexport interface ExecuteAxiosMultipleParameters extends ExecuteAxiosFunctions {\n\tpromisesConfig: Array,\n}\n\nexport function executeMultipleAxios({ promisesConfig, onSuccess, onFail, onLoading }: ExecuteAxiosMultipleParameters) {\n\tonLoading && onLoading(true);\n\tPromise.all(promisesConfig.map(config => axiosInstance.request(config)))\n\t\t.then((responseArray: AxiosResponse[]) => {\n\t\t\tonSuccess && onSuccess(responseArray);\n\t\t}).catch((error) => {\n\t\t\tonFail && onFail(error.isAxiosError);\n\t\t}).finally(() => {\n\t\t\tonLoading && onLoading(false);\n\t\t});\n}\n","import {useCallback, useState} from \"react\";\nimport {AxiosRequestConfig, Method} from \"axios\";\nimport {executeAxios, ExecuteAxiosFunctions, executeMultipleAxios} from \"./axiosHook\";\n\nconst generateDocumentConfig = {\n url: \"/packages/loans-ro/reports/create\",\n method: \"post\" as Method,\n};\nexport const useGenerateDocumentApi = () => {\n const [loading, setLoading] = useState(false);\n\n return {\n loading,\n generateDocument: useCallback((apiConfig: AxiosRequestConfig, {\n onSuccess,\n onFail,\n }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: {...generateDocumentConfig, ...apiConfig},\n onSuccess,\n onFail,\n onLoading: setLoading\n })\n }, [])\n };\n}\n\nexport function useGenerateMultipleDocumentsApi() {\n return {\n generateMultipleDocuments: useCallback((apiConfigList: Array, {\n onSuccess,\n onLoading,\n onFail\n }: ExecuteAxiosFunctions) => {\n const promisesConfig = apiConfigList.map(function (apiConfig) {\n return {...generateDocumentConfig, ...apiConfig};\n });\n\n executeMultipleAxios({\n promisesConfig,\n onSuccess,\n onLoading,\n onFail\n })\n }, [])\n };\n}","import { Dispatch, SetStateAction } from \"react\";\n\nimport { ExecuteAxiosFunctions } from \"./axiosHook\";\nimport { LooseObject } from \"./types\";\n\nexport enum GLOBAL_PAGES {\n PERSONAL_DATA_OVERVIEW = \"PersonalDataOverview\",\n}\n\nexport const UPDATE_TRANSLATIONS = \"updateTranslation\";\n\nexport enum AUTHENTICATED_CLIENT_FLOWS {\n CREDIT_CARD = \"CC\",\n PERSONAL_PROFILE = \"PERSONALPROFILE\",\n CASH_LOAN = \"CF\",\n}\n\nexport type LoadApplicationDataProps = {\n setError: Dispatch>;\n onApplicationInitializationSuccess?: (props: ExecuteAxiosFunctions) => void;\n handleLoading: (partLoading: string) => (isLoading: boolean) => void;\n setData: Dispatch>;\n translateContent: boolean;\n}\n\nexport const QUERY_FLOW = \"function\";\nexport const LOCALE = \"ro\";\nexport const TENANT = \"ro\";\nexport const TOUCH_DURATION = 1000;\nexport const PROD = \"prod\";\n\nexport type AuthProps = {\n\ttoken: string,\n\trefreshToken: string,\n\tflowId: string\n}\nexport const RO_LANGUAGE = \"RO\";\nexport const EN_LANGUAGE = \"EN\";\n\nexport const AVAILABLE_LANGUAGES_LIST = [RO_LANGUAGE, EN_LANGUAGE];\nexport const LANGUAGE = \"language\"\n\nexport const BRANCH_CLIENT_PATH = (process.env.REACT_APP_INTRANET_URL ? process.env.REACT_APP_INTRANET_URL : \"\") + \"/branchClient\";\nexport const UNICREDIT_HTML_PATH = \"/unicredit.html\";\n\nexport const MOBILE_PRE_LOGIN_PAGE_URL = \"mb-unicredit://prelogin\";\n\nconst defaultConfiguration:LooseObject = {\n bankerSessionTimeout: 20 * 60 * 1000, // 20 min default time\n commissionsAndInterestsDocument:\"https://www.unicredit.ro/content/dam/cee2020-pws-ro/DocumentePDF/TarifeComisioanePI/Commissions-and-interests-PI.pdf\",\n mockScanId: true,\n}\n\nexport function setDefaultConfiguration(configurations: LooseObject){\n Object.keys(defaultConfiguration).forEach(key => {\n if(configurations[key] === undefined){\n configurations[key] = defaultConfiguration[key]\n }\n })\n} ","const useEnumRetrieval = () => {\n\tconst getEnumKeyByEnumValue = (myEnum: any, enumValue: number | string): string => {\n\t\tlet keys = Object.keys(myEnum).filter((x) => myEnum[x] === enumValue);\n\t\treturn keys.length > 0 ? keys[0] : '';\n\t};\n\n\treturn {getEnumKeyByEnumValue};\n};\n\nexport {useEnumRetrieval};","import { AxiosRequestConfig, Method } from \"axios\";\n\nimport { axiosInstance } from \"services/axiosHook\";\n\nconst defaultApiConfig = { url: \"gateway/noauth/logError\", method: \"post\" as Method };\n\nexport function errorLogApi(apiConfig?: AxiosRequestConfig) {\n\treturn axiosInstance.request({ ...defaultApiConfig, ...apiConfig })\n}\n","import { DetailedHTMLProps, HTMLAttributes } from \"react\";\nimport { LocalizedString, buttonLink, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport { LooseObject } from \"./types\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useTranslationsContext } from \"./translationsContext\";\n\ntype SpanElement = DetailedHTMLProps, HTMLSpanElement>;\n\ntype LinkAction = {\n\tlinkText: LocalizedString;\n\tkey: string;\n\taction: () => void\n}\n\nconst DS_ICON = \"DS_Icon:\";\nexport const SEPARATOR_KEY = \"~separator~\";\n\nexport function createTranslation(formatMessage: (key: string | number, values?: LooseObject) => LocalizedString, translationKey: string) {\n\treturn (key: string | number, values?: LooseObject) => formatMessage(translationKey + key, values);\n}\n\nconst useFormatMessage = () => {\n\tconst { translations } = useTranslationsContext();\n\n\tconst computeTranslationWithGivenParameters = (translation: string, values: LooseObject) => {\n\t\tconst keys = Object.keys(values);\n\t\tkeys\n\t\t.filter(keyItem => SEPARATOR_KEY !== keyItem)\n\t\t.forEach(keyItem => {\n\t\t\tlet value = values[keyItem];\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\tconst separator = values[SEPARATOR_KEY]\n\t\t\t\tvalue = value.join(separator ? separator : \", \");\n\t\t\t}\n\t\t\ttranslation = translation.replace(new RegExp(`{${keyItem}}`, \"g\"), `${value}`);\n\t\t});\n\n\t\treturn translation;\n\t};\n\n\tconst formatMessage = (key: string | number, values?: LooseObject): LocalizedString => {\n\t\tif (!translations) {\n\t\t\treturn unsafeLocalizedString(key);\n\t\t}\n\t\tlet translation = translations[key];\n\t\tif (values && translation) {\n\t\t\ttranslation = computeTranslationWithGivenParameters(translation, values);\n\t\t}\n\n\t\treturn unsafeLocalizedString(translation || key);\n\t};\n\n\tconst formatMessageWithLinkAction = (primaryText: any, value: LinkAction): any => {\n\t\tconst textParts = primaryText.split(`{${value.key}}`);\n\t\tif (textParts.length !== 1) {\n\t\t\treturn [\n\t\t\t\tformatMessage(textParts[0]),\n\t\t\t\tbuttonLink(value.action, formatMessage(value.linkText)),\n\t\t\t\tformatMessage(textParts[1]),\n\t\t\t]\n\t\t}\n\t\treturn formatMessage(primaryText);\n\t}\n\n\tconst formatFirstAvailableMessage = (list: string[] | number[], values?: LooseObject) => {\n\t\tlet result = unsafeLocalizedString(\"\");\n\n\t\tfor (const item of list) {\n\t\t\tresult = formatMessage(item, values);\n\t\t\tif (result !== item) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tconst formatRichTextMessage = (key: string, values?: LooseObject, defaultKeyOnMissingTranslation?: boolean) => {\n\t\tif (!translations) {\n\t\t\treturn unsafeLocalizedString(key);\n\t\t}\n\t\tlet translation: string = translations[key];\n\n\t\tif (!translation) {\n\t\t\treturn defaultKeyOnMissingTranslation ? unsafeLocalizedString(key) : ;\n\t\t}\n\n\t\tif (values) {\n\t\t\ttranslation = computeTranslationWithGivenParameters(translation, values);\n\t\t}\n\n\t\tif (translation.startsWith(DS_ICON)) {\n\t\t\tconst iconName: string = translation.replace(DS_ICON, \"\");\n\t\t\tconst Icon = require(\"omnichannel-design-system\")[iconName];\n\t\t\tif (Icon) {\n\t\t\t\treturn ;\n\t\t\t}\n\t\t}\n\n\t\treturn ;\n\t};\n\n\tconst formatFirstAvailableRichTextMessage = (list: string[], values?: LooseObject) => {\n\t\tlet result: SpanElement = ;\n\t\tfor (const item of list) {\n\t\t\tresult = (formatRichTextMessage(item, values, true) as SpanElement);\n\t\t\tif (formatMessage(item, values) !== item) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\treturn {\n\t\tformatMessage,\n\t\tformatRichTextMessage,\n\t\tformatMessageWithLinkAction,\n\t\tformatFirstAvailableMessage,\n\t\tformatFirstAvailableRichTextMessage\n\t};\n};\n\nexport { useFormatMessage };\n","import { useCallback } from 'react';\nimport { useFormatMessage } from './formatMessageHook';\nimport { useIntl } from 'react-intl';\n\ntype ReplaceParameter = {\n keyTranslation: string,\n placeholders: Array<{ name: string, value: string }>\n}\n\nexport const FORMATTER_TYPES = {\n CUSTOM_SUFFIX: \"CUSTOM_SUFFIX\",\n PERCENTAGE: \"PERCENTAGE\",\n REPLACEMENT: \"REPLACEMENT\",\n AMOUNT: \"AMOUNT\",\n TEXT: \"TEXT\"\n}\n\nexport function useFormatNumber(translateFunction?: Function){\n const { formatMessage } = useFormatMessage();\n const intl = useIntl();\n\n const formatNumber = useCallback((amount: number) => {\n return intl.formatNumber(amount);\n }, [intl]);\n\n const formatPercentage = (amount: number): string => {\n return intl.formatNumber(amount / 100, {\n style: \"percent\",\n minimumFractionDigits: 2\n });\n };\n\n const formatAmount = useCallback((amount: number) => {\n return intl.formatNumber(amount, {\n style: \"currency\",\n currency: formatMessage(\"dbn.formatAmount.currency\")\n })\n }, [formatMessage, intl]);\n\n const formatCustomSuffix = (amount: number, suffix: string) => {\n return intl.formatNumber(amount) + \" \" + suffix;\n };\n\n\n\n const formatter = (value: ReplaceParameter | any, type = FORMATTER_TYPES.TEXT) => {\n const { REPLACEMENT, CUSTOM_SUFFIX, PERCENTAGE, AMOUNT } = FORMATTER_TYPES;\n switch (type) {\n case REPLACEMENT: {\n let stringBuilded = translateFunction ? translateFunction(value.keyTranslation).toString() : \"\";\n for (const replacement of value.placeholders) {\n stringBuilded = stringBuilded.replace(replacement.name, replacement.value);\n }\n return stringBuilded;\n }\n case CUSTOM_SUFFIX: return formatCustomSuffix(parseInt(String(value.number || \"0\")), translateFunction ? translateFunction(value.suffix || \"\") : (value.suffix || \"\"));\n case PERCENTAGE: return formatPercentage(parseFloat(String(value || \"0\")))\n case AMOUNT: return formatAmount(parseFloat(String(value || \"0\")));\n default: return translateFunction && translateFunction(value);\n }\n }\n\n return { formatNumber, formatPercentage, formatAmount, formatCustomSuffix, formatter };\n}","import _ from \"lodash\";\n\nexport function formatPhoneNumber(rowPhoneNumber: string, indexSpacing = [2, 5, 8], prefixLength = 3,) {\n \n if (_.isEmpty(rowPhoneNumber) || rowPhoneNumber.length - prefixLength !== 9) {\n return rowPhoneNumber + \"\";\n }\n\n const formattedPhoneNumber: string[] = [];\n\n for (let index = 0; index < rowPhoneNumber.length; index++) {\n formattedPhoneNumber.push(rowPhoneNumber[index]);\n if (indexSpacing.includes(index)) {\n formattedPhoneNumber.push(\" \");\n }\n }\n return formattedPhoneNumber.join(\"\");\n}","import { FormikErrors } from \"formik\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\n\nexport type ValidationProps = {\n name: keyof T;\n stopValidate?: (values: T) => boolean;\n checkIfHasValue?: keyof T;\n checkIfEquals?: keyof T;\n checkEmpty?: boolean;\n checkAlphaNumerical?: boolean;\n applyRegex?: RegExp;\n checkNumerical?: boolean;\n checkEmoji?: boolean;\n maxLength?: number;\n minLength?: number;\n eqLength?: number;\n checkIdDateIsGreaterThen?: keyof T;\n checkDateLessThenToday?: boolean;\n dateCorrectFormat?: string;\n dayMustBe?: string[];\n monthMustBe?: string[];\n isIncludedIn?: { when: (values: T) => boolean; value: keyof T };\n}\n\ntype SegmentValidation = {\n item: ValidationProps;\n value: string;\n values: T;\n formatMessage: (value: string) => any\n}\n\nfunction logicValidations(props: SegmentValidation) {\n const { item, value, values, formatMessage } = props;\n const { name, checkEmpty, checkIfHasValue, checkIfEquals, isIncludedIn } = item;\n\n if (checkEmpty && _.isEmpty(values[name])) {\n return formatMessage(\".isEmpty\");\n }\n\n if (checkIfHasValue && !values[checkIfHasValue]) {\n return formatMessage(\".\" + String(checkIfHasValue) + \".is\");\n }\n\n if (checkIfEquals && value !== values[checkIfEquals]) {\n return formatMessage(\".areDifferent\");\n }\n\n if (isIncludedIn && isIncludedIn.when(values) && !(values[isIncludedIn.value] as string[]).includes(value)) {\n return formatMessage(\".inNotIncludedIn.\" + String(isIncludedIn.value));\n }\n}\n\nfunction dateValidations(props: SegmentValidation) {\n const { item, value, values, formatMessage } = props;\n const { dateCorrectFormat, checkDateLessThenToday, checkIdDateIsGreaterThen, dayMustBe, monthMustBe } = item;\n\n if (!dateCorrectFormat) {\n return undefined;\n }\n const currentDate = moment(value, dateCorrectFormat);\n\n if (currentDate.format(dateCorrectFormat) !== value) {\n return formatMessage(\".isNotDateCorrectFormat\");\n }\n\n if (checkDateLessThenToday && !currentDate.isSameOrBefore()) {\n return formatMessage(\".isNotLessThenToday\");\n }\n\n if (checkIdDateIsGreaterThen && currentDate.diff(moment(String(values[checkIdDateIsGreaterThen]), dateCorrectFormat)) < 0) {\n return formatMessage(\".isNotGreaterThen.\" + String(checkIdDateIsGreaterThen));\n }\n\n if (dayMustBe && !dayMustBe.includes(currentDate.format(\"DD\"))) {\n return formatMessage(\".theDayIsNotCorrect\");\n }\n\n if (monthMustBe && !monthMustBe.includes(currentDate.format(\"MM\"))) {\n return formatMessage(\".theMonthIsNotCorrect\");\n }\n}\n\nexport const onlyAlphaNumeric = /^[a-zA-Z0-9]*$/;\nconst onlyNumeric = /^\\d+$/;\n\nfunction textValidations(props: SegmentValidation) {\n const { item, value, formatMessage } = props;\n const { checkAlphaNumerical, applyRegex, checkNumerical, maxLength, minLength, eqLength, checkEmoji } = item;\n\n if (checkNumerical && !onlyNumeric.test(value)) {\n return formatMessage(\".canBeOnlyNumbers\");\n }\n\n if (checkAlphaNumerical && !onlyAlphaNumeric.test(value)) {\n return formatMessage(\".onlyAlphaNumeric\");\n }\n\n if (maxLength && value.length > maxLength) {\n return formatMessage(\".maxLength\");\n }\n\n if (value.length && minLength && value.length < minLength) {\n return formatMessage(\".minLength\");\n }\n\n if (eqLength && value.length !== eqLength) {\n return formatMessage(\".length\");\n }\n\n if (checkEmoji && /\\p{Emoji}/u.test(value) && /\\p{Extended_Pictographic}/u.test((value))) {\n return formatMessage(\".emojiNotValid\");\n }\n\n if (applyRegex && !_.isEmpty(value) && !applyRegex.test(value)) {\n return formatMessage(\".applyRegex\");\n }\n}\n\nexport function executeValidation(validations: ValidationProps[], values: T, generateKey: (value: string) => any) {\n const errors: FormikErrors = {};\n validations.forEach((item) => {\n const { name, stopValidate } = item;\n\n if (stopValidate && stopValidate(values)) {\n return;\n }\n\n const formatMessage = (newValue: string) => generateKey((name as string) + newValue);\n const value = String(values[name]);\n\n const logicError = logicValidations({ item, value, values, formatMessage });\n if (logicError) {\n errors[name] = logicError;\n return;\n }\n\n const textError = textValidations({ item, value, values, formatMessage });\n if (textError) {\n errors[name] = textError;\n return;\n }\n\n const dateError = dateValidations({ item, value, values, formatMessage });\n if (dateError) {\n errors[name] = dateError;\n }\n\n })\n\n return errors;\n}","export enum GlobalEvents {\n\tPORTAL_BLOCKED = \"portalBlocked\",\n\tSHOW_SNACK_BAR = \"showSnackbar\",\n\tLOGOUT = \"logout\",\n\tRELOAD_TRANSLATIONS = \"reloadTranslation\",\n\tGET_CONFIGURATION = \"getConfiguration\",\n\tSEND_CONFIG = \"sendConfig\",\n\tUPDATE_CONFIGURATION = \"updateConfiguration\",\n\tSHOW_TRANSLATION_KEYS = \"showTranslationKeys\"\n}\n","import { jsPDF } from \"jspdf\";\nimport { toCanvas } from \"html-to-image\";\n\nexport async function savePdfFromHtmlElement(elementId: string, nameFile: string, isIOS: boolean) {\n const element = document.getElementById(elementId);\n if (element == null) {\n console.error(\"Element not found for id: \", elementId);\n return;\n }\n\n if (isIOS) {\n await toCanvas(element);\n await toCanvas(element);\n }\n\n let canvas = await toCanvas(element);\n const imgData = canvas.toDataURL('image/png');\n const pdf = new jsPDF({\n orientation: canvas.width > canvas.height ? \"landscape\" : \"portrait\",\n unit: \"pt\",\n format: [canvas.width * 0.8, canvas.height * 0.8],\n compress: true\n });\n pdf.addImage(imgData, \"PNG\", canvas.width * 0.02, canvas.height * 0.02, 0, 0, \"\", \"FAST\");\n pdf.save(nameFile);\n}","import { AuthenticationData, LooseObject } from \"./types\";\n\nimport { isEmpty } from \"lodash\";\n\n// Needed in case other scripts alters/deletes the storage.\nlet localStorageBackUpData: LooseObject = {};\nlet sessionStorageBackUpData: LooseObject = {};\n\nexport const localStorageData = {\n\tgetItem: function (name: string) {\n\t\tlet data = localStorage.getItem(name);\n\t\tif (isEmpty(data)) {\n\t\t\tdata = localStorageBackUpData[name];\n\t\t}\n\t\treturn data;\n\t},\n\tsetItem: function (name: string, value: string) {\n\t\tif (isEmpty(value)) {\n\t\t\tlocalStorage.removeItem(name);\n\t\t\tdelete localStorageBackUpData[name];\n\t\t\treturn;\n\t\t}\n\t\tlocalStorage.setItem(name, value);\n\t\tlocalStorageBackUpData[name] = value;\n\t}\n}\n\nexport const sessionStorageData = {\n\tgetItem: function (name: string) {\n\t\tlet data = sessionStorage.getItem(name);\n\t\tif (isEmpty(data)) {\n\t\t\tdata = sessionStorageBackUpData[name];\n\t\t}\n\t\treturn data;\n\t},\n\tsetItem: function (name: string, value: string) {\n\t\tif (isEmpty(value)) {\n\t\t\tdelete sessionStorage[name];\n\t\t\tdelete sessionStorageBackUpData[name];\n\t\t\treturn;\n\t\t}\n\t\tsessionStorage.setItem(name, value);\n\t\tsessionStorageBackUpData[name] = value;\n\t},\n\tdeleteItem: function (name: string) {\n\t\tdelete sessionStorage[name];\n\t\tdelete sessionStorageBackUpData[name];\n\t}\n}\n\nexport function getAuthentication() {\n\treturn {\n\t\ttoken: sessionStorageData.getItem(\"token\"),\n\t\trefreshToken: sessionStorageData.getItem(\"refreshToken\"),\n\t\tflowId: sessionStorageData.getItem(\"flowId\"),\n\t}\n}\n\nexport function setAuthInSessionStorage({ token, refreshToken, flowId }: AuthenticationData) {\n\tsessionStorageData.setItem(\"token\", token);\n\tsessionStorageData.setItem(\"refreshToken\", refreshToken);\n\tsessionStorageData.setItem(\"flowId\", flowId);\n}\n\nexport function clearAuthFromSessionStorage() {\n\tsessionStorageData.setItem(\"token\", \"\");\n\tsessionStorageData.setItem(\"refreshToken\", \"\");\n\tsessionStorageData.setItem(\"flowId\", \"\");\n}","import { Dispatch, SetStateAction, createContext, useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport { LANGUAGE, UPDATE_TRANSLATIONS } from \"./domain\";\n\nimport { LooseObject } from \"./types\";\nimport { executeAxios } from \"./axiosHook\";\nimport { localStorageData } from \"./storageData\";\nimport { translationsCallConfig } from \"./useApplicationInitialization\";\n\ntype InitialContextState = {\n\ttranslations: LooseObject;\n\tsetTranslations: Dispatch>;\n}\n\nconst initialContextState: InitialContextState = {\n\ttranslations: {},\n\tsetTranslations: () => undefined\n}\n\nconst TranslationsContext = createContext(initialContextState);\n\ntype Props = {\n\tchildren: any,\n\ttranslations: LooseObject\n}\n\nexport function TranslationsContextProvider(props: Props) {\n\tconst [translations, setTranslations] = useState(props.translations || {});\n\n\tuseEffect(() => {\n\t\tsetTranslations((props.translations));\n\t}, [props.translations]);\n\n\tconst value = useMemo(() => ({ translations, setTranslations }), [translations]);\n\n\treturn (\n\t\t\n\t\t\t{props.children}\n\t\t\n\t);\n}\n\nexport function useTranslationsContext() {\n\tconst { translations, setTranslations } = useContext(TranslationsContext);\n\n\tuseEffect(() => {\n\t\tconst onUpdateTranslations = ({ detail }: any) => {\n\t\t\tsetTranslations(detail)\n\t\t}\n\t\tdocument.addEventListener(UPDATE_TRANSLATIONS, onUpdateTranslations)\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(UPDATE_TRANSLATIONS, onUpdateTranslations);\n\t\t}\n\t}, [setTranslations])\n\n\tconst onChangeLanguage = useCallback((newLanguage: string) => {\n\t\tlocalStorageData.setItem(LANGUAGE, newLanguage);\n\t\texecuteAxios({\n\t\t\tparams: translationsCallConfig,\n\t\t\tonSuccess: setTranslations\n\t\t})\n\t}, [setTranslations]);\n\n\treturn {\n\t\ttranslations,\n\t\tsetTranslations,\n\t\tonChangeLanguage\n\t};\n}","import { ExecuteAxiosFunctions, executeAxios, executeMultipleAxios, getQueryVariable } from \"./axiosHook\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { LoadApplicationDataProps } from \"./domain\";\nimport { LooseObject } from \"./types\";\nimport { activateLogs } from \"ErrorHandler\";\nimport { useLoadingPipeline } from \"../helper/loadingPipeline\";\nimport { useTranslationsContext } from \"./translationsContext\";\n\nconst configurationsCallConfig = { url: \"/utilities/configurations/noauth?component=eShopFE\" };\n\nexport const translationsCallConfig = { url: \"/translations/noauth?component=eShopFE&channel=Remote\" };\n\ntype Datatype = {\n configurations: LooseObject;\n translations: LooseObject;\n}\n\nfunction loadApplicationData({ setError, handleLoading, setData, translateContent, onApplicationInitializationSuccess }: LoadApplicationDataProps) {\n\n function getResponseDataForApiUrlOrDefault(url: string, responseArray: Array, defaultValue?: LooseObject) {\n const response = responseArray.find((item) => item.config && item.config.url === url);\n return response ? response.data : defaultValue;\n }\n\n function successConfig(responseArray: Array) {\n const responsesMap = { configurations: {}, translations: {} };\n responsesMap.configurations = getResponseDataForApiUrlOrDefault(configurationsCallConfig.url, responseArray);\n const translations = getResponseDataForApiUrlOrDefault(translationsCallConfig.url, responseArray);\n if (translations) {\n responsesMap.translations = translations;\n }\n let fullLog = false;\n if (responsesMap.configurations) {\n fullLog = (responsesMap.configurations as LooseObject).enableUiFullLogs;\n }\n activateLogs(fullLog)\n setData(responsesMap);\n onApplicationInitializationSuccess && onApplicationInitializationSuccess({\n onLoading: handleLoading(\"customOnApplicationInitializationSuccess\"),\n onFail: setError\n });\n }\n\n let apisToBeCalled: Array = [configurationsCallConfig];\n if (translateContent) {\n apisToBeCalled = apisToBeCalled.concat(translationsCallConfig);\n }\n executeMultipleAxios({\n promisesConfig: apisToBeCalled,\n onFail: setError,\n onLoading: handleLoading(\"config\"),\n onSuccess: successConfig\n });\n}\n\nexport default function useApplicationInitialization(onApplicationInitializationSuccess?: (props: ExecuteAxiosFunctions) => void) {\n const { loading, handleLoading, loadingPipe } = useLoadingPipeline();\n const [error, setError] = useState(false);\n const [data, setData] = useState({ configurations: {}, translations: {} });\n const translateContent = useMemo(() => getQueryVariable(\"translation\") !== \"false\", []);\n useEffect(() => {\n loadApplicationData({ setError, setData, handleLoading, translateContent, onApplicationInitializationSuccess });\n }, [handleLoading, translateContent, onApplicationInitializationSuccess]);\n return {\n loading,\n data,\n error,\n loadingPipe,\n handleLoading\n };\n}\n\nexport function useTranslationsApi() {\n const { setTranslations } = useTranslationsContext();\n const fetchAndUpdateTranslations = useCallback(() => {\n executeAxios({\n params: translationsCallConfig,\n onSuccess: setTranslations\n })\n }, [setTranslations])\n\n return {\n fetchAndUpdateTranslations,\n setTranslations\n }\n}"],"names":["getAddressesConfig","url","method","useGetAddresses","loading","setLoading","useState","error","setError","addresses","setAddresses","getAddresses","useCallback","executeAxios","params","onFail","onLoading","onSuccess","saveAddressConfig","useSaveAddress","saveAddress","address","data","getCountriesConfig","getCountiesConfig","getCitiesConfig","getStreetsConfig","getPostalCodeConfig","getUniquePostalCodeConfig","useGetAddressData","countries","setCountries","counties","setCounties","cities","setCities","streets","setStreets","postalCodes","setPostalCodes","uniquePostalCode","setUniquePostalCode","handleLoading","loadingPipe","useLoadingPipeline","getCountries","searchTerm","getCounties","response","getCities","needSetCity","arguments","length","undefined","getCountiesAndSectors","countyId","BUCHAREST_CITY","value","sectors","unshift","map","sector","filter","item","label","getUniquePostalCode","getStreets","getPostalCodes","apiConfig","useGetClientInfoApi","getClientInfo","_ref","Category","CategoryItemsInternalNames","Status","CreditCardFinancialInformationCategories","ProfessionalStatus","MaritalStatus","DependentsNumber","EmploymentType","MonthlyCashTransactionsNumber","MonthlyCashTransactionsVolume","MonthlyInternationalTransactionsNumber","Countries","YearlyTransactionsVolume","MonthlyInternationalTransactionsVolume","HighRiskCountries","ForbiddenTransactionCountries","YesNo","CashLoanFinancialInformationCategories","InstallmentTypes","IncomeType","CashLoanOfferSummaryCategories","CashLoanIncomeDocumentsCategories","IncomeDocuments","CashLoanPaymentConfigurationCategories","RepaymentMethod","CreditCardPaymentConfigurationCategories","DueDays","ExternalCreditCategories","Banks","Bic","CreditTypes","EMAIL_REGEX","financialDataDropdownCallConfig","useFinancialApi","categories","config","fetchData","useAxios","prevValues","usePrevious","useEffect","financialData","financialError","financialDataLoading","gdprLogApiConfig","ccGdprLogApiConfig","gdprLogBeforeCheckSign","usePaymentConfigurationApi","accounts","setAccounts","axiosInstance","request","then","catch","err","finally","usePoolingService","dataStatusCallConfig","retryInterval","currentStatus","setCurrentStatus","getDataStatus","status","queryStatus","statusCallbackMap","handler","setTimeout","Error","styled","Box","_templateObject","_taggedTemplateLiteral","editable","getIdByInternalName","category","internalName","financialDataResponse","categoryData","find","categoryId","getCategoryById","categoryItems","categoryItem","getCategoryItemByInternalName","id","is5xxStatus","toString","substring","defaultLoading","partLoading","isLoading","state","Object","keys","values","some","ref","useRef","current","useWindowSize","windowSize","setWindowSize","width","height","handleResize","window","innerWidth","innerHeight","addEventListener","removeEventListener","ResendTimerSMS","timerValue","handleResendSMS","started","setStarted","_jsxs","grow","column","children","_jsx","Space","fluid","hAlignContent","Button","type","translationKey","variant","action","onClick","DocumentBox","div","is_read_optional","timerToGetDocument","download","fileName","isMobile","includes","authURL","replace","downloadFile","sessionStorageData","getItem","get","responseType","fileBlob","Blob","console","log","DocumentContent","forwardRef","props","contentRef","onClose","onConfirm","customContent","closeDialogAlertTranslations","disableContinue","isReadOptional","showAsDialog","showBottomButtons","title","description","confirmationButtonText","downloadButtonText","translationsKeys","translations","useTranslationsContext","formatMessage","formatRichTextMessage","useFormatMessage","document","useDocumentContentApi","useDeviceUA","showConfirmDialog","setShowConfirmDialog","pdfError","setPdfError","documentIsRead","setDocumentIsRead","pdfLoading","setPdfLoading","handleOnClose","useImperativeHandle","clearTimeout","scrollTo","buttonsProps","labelDownload","handleDownload","disableDownload","labelContinue","handleContinue","handleConfirm","Stack","units","wrap","shrink","vAlignContent","Heading","text","icon","CloseIcon","Loader","_Fragment","PdfViewer","content","onLastPageReach","handleLastPageReach","workerSrc","onPdfLoaded","handlePdfLoaded","ActionButtons","AlertDialog","UCInfoIcon","message","onDismiss","onCancel","cancelLabel","confirmLabel","NonMemoizedDocumentDetails","documentComponent","Dialog","closeDialog","_contentRef$current","size","actions","propsAreEqual","prevProps","nextProps","_","DocumentDetails","memo","buttons","DownloadIcon","disabled","FloatingFooter","defaultApiConfig","setDocument","DocumentDetailsType","ReportCodes","CL_AGREEMENTS_GUIDE","CC_AGREEMENTS_GUIDE","CL_CREDIT_APPLICATION","CC_CREDIT_APPLICATION","CL_ANAF","CC_ANAF","CL_CREDIT_BUREAU_NOTICE","CC_CREDIT_BUREAU_NOTICE","CL_GDPR","CL_GUIDE_ADDITIONAL_INCOME","CC_GDPR","CL_ELECTRONIC_CERTIFICATE_REQUEST","CC_ELECTRONIC_CERTIFICATE_REQUEST","CL_ELECTRONIC_CERTIFICATE_GDPR_CONSENT","CC_ELECTRONIC_CERTIFICATE_GDPR_CONSENT","CL_ISNE","CL_CONTRACT","CL_PAYMENT_CONFIGURATION_AGREEMENT","CC_PAYMENT_CONFIGURATION_AGREEMENT","CL_OFFER_SUMMARY_UCFIN","CC_OFFER_SUMMARY_UCFIN","CL_OFFER_SUMMARY_TERMS_AND_CONDITIONS","CC_OFFER_SUMMARY_TERMS_AND_CONDITIONS","CL_OFFER_SUMMARY_GENERALI","CC_OFFER_SUMMARY_GENERALI","CL_OFFER_FORM_GDPR","CC_OFFER_FORM_GDPR","CC_TAX_AND_COMMISSIONS","CREDIT_CARDS_ISNE","CREDIT_CARDS_CONTRACT","CL_REFINANCING_INFORMATION","PP_INFORMATION_NOTE","CA_ELECTRONIC_GDPR_NOTE","CA_TERMS_AND_CONDITIONS","CA_CONTRACT","CA_ELECTRONIC_CERTIFICATE_REQUEST","CA_COMMISSIONS_AND_INTERESTS","CA_TRAVEL_INSURANCE","CA_VIP_LOUNGE","CA_ACCIDENT_INSURANCE","CA_CARD_PROTECTION","CA_MEDICAL_ASSISTANCE","CA_MULTI_APPLIANCE_PROTECTION","CA_DEVICE_INSURANCE","CL_SALARY_INCOME_TEMPLATE","CL_DAILY_INCOME_TEMPLATE","CL_AGREEMENT_CRC_TEMPLATE","CA_CONTRACT_IN_PERSON","CA_SPECIMEN_SIGNATURE_IN_PERSON","ExistingBlockingApplications","onBack","activeApplications","rejectedApplication","rejectedReq","requestId","requestDate","moment","rejectDate","format","src","imageRejected","style","maxWidth","alt","activeReqs","imageActive","branchName","marginTop","PlaceholderBadgeIcon","monochromatic","color","palette","warning500","Body","weight","concat","SIGNATURE_REQUIRED","CancelWithFeedback","onSignatureSuccess","feedbackUrls","formatMessageWithKey","createTranslation","getReasons","saveFeedback","saveFeedbackForSignature","useFeedbackApi","showSignature","setShowSignature","reasons","setReasons","selectedReasons","setSelectedReasons","SignaturePolling","flowType","getQueryVariable","QUERY_FLOW","onSubmit","image","FeedbackReasonList","LoadingButton","defaultValidateMessage","normalText","resolve","cancelApplication","feedbacks","_ref2","hasMessage","selectedReasonsItem","selectedReason","isItemSelected","isMessageProvided","reasonId","reasonChecked","FinishWithContainerStyled","FinishWithFeedback","allReasons","setAllReasons","starSelected","setStarSelected","visibleReasons","setVisibleReasons","feedbackType","setFeedbackType","className","FeedbackRating","ratingLength","ratingContent","customValidateMessage","errorKey","setMessages","previousSelection","itemIsSelected","selectedItem","RadioButton","onSelect","isSelected","isDisabled","isRecommended","TextareaFieldNoFormik","setValue","placeholder","isError","errorLabel","assistiveText","FeedbackSignature","signChange","signChangeLoading","useFeedbackSignChangeApi","handleSubmit","informationSection","bold","align","Signature","handleOnSubmit","pinLabel","pinDescription","checkCashLoanFeedbackAuthorizationCallConfig","checkCreditCardsFeedbackAuthorizationCallConfig","checkSignStatus","checkSignAuthorization","useCheckSignAuthorization","AUTHENTICATED_CLIENT_FLOWS","CASH_LOAN","CREDIT_CARD","getFeedbackConfig","stepBack","setStepBack","CheckSignStatus","OK","RETRY","PinSignaturePolling","checkPinCall","stepBackCondition","loadingMessage","defaultPinComponent","flowResolution","getUrl","saveUrl","_ref3","saveWithSignatureUrl","signCashLoanFeedbackConfig","signCreditCardsFeedbackConfig","setSignChangeLoading","maxLength","GeneralError","textCode","Banner","BannerWrapper","GenericPortal","dispatch","useAppContext","bannerRef","portalBlocked","portalBlockScheduled","portalMessageKey","details","CustomContent","customScheduledPortalBlockContentPosition","getBoundingClientRect","scheduledPortalBlockHeight","bottom","PortalBlock","messageKey","showHeader","scheduledPortalBlockContent","SnackBar","Container","neutral400","neutral500","MainNavigationHeader","location","href","MOBILE_PRE_LOGIN_PAGE_URL","SettingsIcon","KycExpired","PersonalDataOverview","redirectFunctions","eligibilityStatus","setEligibilityStatus","showCutOffAlert","setShowCutOffAlert","cutOffInfo","setCutOffInfo","checkPersonalData","setPersonalData","toPhoneEdit","toEmailEdit","computedProps","forEach","key","getCutOffInfo","cutOffData","active","overviewData","documentId","email","fullName","phoneNumber","getPersonalDataOverview","useGetPersonalDataOverview","checkEligibility","useValidateEligibilityProfile","useCutOffData","replaceObject","isCIMissing","EligibilityStatus","MISSING_CI_COPY","KYC_EXPIRED","ErrorPage","errorType","PersonalDataOverviewDialogs","toScanID","OverviewItem","unsafeLocalizedString","formatPhoneNumber","Divider","Checkbox","onChange","name","PersonalDataOverviewWrapper","isStaff","setIsStaff","toContactData","tabName","flowName","PERSONAL_PROFILE","firstFlowStep","Pages","UPDATE_CONTACT_DATA_AGREEMENTS","staff","TABS","PHONE_NUMBER","EMAIL","SCAN_ID_AGREEMENTS","isPersonalDataValid","AlertDialogContentStyled","actionLabel","AngleRightIcon","usePersonalProfileContext","INVALID_CI_EXPIRY_DATE","isInvalidCiExpirationDate","doDocumentIdAndFullNameExist","CI_EXPIRED","isCiExpired","prefix","startsWith","getProfileOverviewConfig","setStatus","setOverviewData","validateEligibilityProfileConfig","ExpiredOffer","handleBack","ACTIVE_OFFER_STATES","PENDING_RESOLUTION_STATE","validatePwdDefault","test","withFormik","mapPropsToValues","pin","mapPropsToErrors","submitErrorMessage","bag","submitLabel","showPin","resetComponent","validatePwd","errors","touched","isValid","useFormikContext","validationFunction","PasswordField","showHideButtons","validate","haveBlurOnEnter","TextField","ToBeContacted","buttonKey","formatDate","date","anonymousAuthConfig","RemoteOnboardingApp","onApplicationInitializationSuccess","setAuthInSessionStorage","useApplicationInitialization","setPortalBlock","checkPortalStatus","event","portalData","detail","_portalData$ALL","_portalData$CA","_portalData$ALL2","_portalData$CA2","ALL","currentlyBlocked","previous","timeFrom","timeTo","CA","getCurrentPortalStatusesConfig","scheduledPortalInterval","setInterval","GlobalEvents","PORTAL_BLOCKED","clearInterval","ErrorHandler","AppContextProvider","configurations","IntlProvider","locale","TENANT","defaultLocale","LOCALE","ThemeProvider","theme","TranslationsContextProvider","RemoteOnboarding","VirtualMailboxApp","virtualMailboxSessionTimeout","DEFAULT_VMB_SESSION_TIMEOUT","VirtualMailbox","authenticationFromJwtReference","jwtReference","AuthenticatedClientApp","getVersion","useLibraryInfo","_portalData$flowType$","_portalData$flowType$2","String","toLocaleLowerCase","isFirstTime","customOnApplicationInitializationSuccess","AuthenticatedClientContent","getFlow","firstStep","CashLoan","CreditCard","PersonalProfileOverviewWithContext","currentPage","PersonalProfile","_configurations$envir","environment","toLowerCase","PROD","EnvironmentButton","axiosCallHistory","errorConfig","dispatchEvent","CustomEvent","Promise","portalStatusError","SHOW_SNACK_BAR","reject","clearAuthFromSessionStorage","token","refreshToken","_response$data","flowId","flowID","LOGOUT","requestInterceptor","headers","localStorageData","LANGUAGE","RO_LANGUAGE","initialContext","constVoid","AppContext","createContext","isClient","useReducer","previousState","newValues","useMemo","Provider","useContext","variable","locationPath","search","queryVariables","replaceAll","split","param","pair","axios","create","baseURL","process","REACT_APP_API_PORT","path","pathname","Date","getTimezoneOffset","interceptors","use","setResponse","resp","executeMultipleAxios","promisesConfig","all","responseArray","isAxiosError","generateDocumentConfig","useGenerateDocumentApi","generateDocument","useGenerateMultipleDocumentsApi","generateMultipleDocuments","apiConfigList","UPDATE_TRANSLATIONS","TOUCH_DURATION","AVAILABLE_LANGUAGES_LIST","useEnumRetrieval","getEnumKeyByEnumValue","myEnum","enumValue","x","errorLogApi","DS_ICON","SEPARATOR_KEY","computeTranslationWithGivenParameters","translation","keyItem","Array","isArray","separator","join","RegExp","defaultKeyOnMissingTranslation","dangerouslySetInnerHTML","__html","iconName","Icon","require","dark","formatMessageWithLinkAction","primaryText","textParts","buttonLink","linkText","formatFirstAvailableMessage","list","result","formatFirstAvailableRichTextMessage","FORMATTER_TYPES","CUSTOM_SUFFIX","PERCENTAGE","REPLACEMENT","AMOUNT","TEXT","useFormatNumber","translateFunction","intl","useIntl","formatNumber","amount","formatPercentage","minimumFractionDigits","formatAmount","currency","formatCustomSuffix","suffix","formatter","stringBuilded","keyTranslation","replacement","placeholders","parseInt","number","parseFloat","rowPhoneNumber","indexSpacing","prefixLength","formattedPhoneNumber","index","push","onlyAlphaNumeric","onlyNumeric","executeValidation","validations","generateKey","stopValidate","newValue","logicError","checkEmpty","checkIfHasValue","checkIfEquals","isIncludedIn","when","logicValidations","textError","checkAlphaNumerical","applyRegex","checkNumerical","minLength","eqLength","checkEmoji","textValidations","dateError","dateCorrectFormat","checkDateLessThenToday","checkIdDateIsGreaterThen","dayMustBe","monthMustBe","currentDate","isSameOrBefore","diff","dateValidations","async","savePdfFromHtmlElement","elementId","nameFile","isIOS","element","getElementById","toCanvas","canvas","imgData","toDataURL","pdf","jsPDF","orientation","unit","compress","addImage","save","localStorageBackUpData","sessionStorageBackUpData","localStorage","isEmpty","setItem","removeItem","sessionStorage","deleteItem","initialContextState","setTranslations","TranslationsContext","onUpdateTranslations","onChangeLanguage","newLanguage","translationsCallConfig","configurationsCallConfig","setData","translateContent","getResponseDataForApiUrlOrDefault","defaultValue","apisToBeCalled","responsesMap","fullLog","enableUiFullLogs","activateLogs","loadApplicationData","useTranslationsApi","fetchAndUpdateTranslations"],"sourceRoot":""}