{"version":3,"file":"static/js/701.5b61a9eb.chunk.js","mappings":"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","sources":["flows/PersonalProfile/PersonalProfile.tsx","flows/PersonalProfile/pages/Agreements/InformationNoteAgreement.tsx","flows/PersonalProfile/pages/Agreements/services/personalDataConsentServices.ts","flows/PersonalProfile/pages/MyData/MyData.tsx","flows/PersonalProfile/pages/MyData/components/AccordionItemWrapper.tsx","flows/PersonalProfile/pages/MyData/components/BannerSection.tsx","flows/PersonalProfile/pages/MyData/components/ContactDataSection.tsx","flows/PersonalProfile/pages/MyData/components/PersonalDataSection.tsx","flows/PersonalProfile/pages/MyData/components/PersonalProfile.tsx","flows/PersonalProfile/pages/MyData/components/ProfileItem.tsx","flows/PersonalProfile/pages/MyData/services/cutOffApi.ts","flows/PersonalProfile/pages/MyData/services/loadPersonalProfileApi.ts","flows/PersonalProfile/pages/PersonalProfileSignature/PersonalProfileSignature.tsx","flows/PersonalProfile/pages/PersonalProfileSignature/SignaturePolling.tsx","flows/PersonalProfile/pages/PersonalProfileSignature/services/personalProfileSignatureServices.ts","flows/PersonalProfile/pages/RequestRejectedError/RequestRejectedError.tsx","flows/PersonalProfile/pages/RequestSubmitted/RequestSubmitted.tsx","flows/PersonalProfile/pages/ScanIdStatus/ScanIdStatus.tsx","flows/PersonalProfile/pages/ScanIdStatus/services/domain.ts","flows/PersonalProfile/pages/ScanIdStatus/services/useScanIdstatus.tsx","flows/PersonalProfile/pages/SuccessfullySaved/SuccessfullySaved.tsx","flows/PersonalProfile/pages/UpdateAddresses/UpdateAddresses.tsx","flows/PersonalProfile/pages/UpdateAddresses/components/ClientNewAddress.tsx","flows/PersonalProfile/pages/UpdateAddresses/components/DetailItem.tsx","flows/PersonalProfile/pages/UpdateAddresses/components/PageForm.tsx","flows/PersonalProfile/pages/UpdateAddresses/components/PostalCodeComponent.tsx","flows/PersonalProfile/pages/UpdateAddresses/services/domain.ts","flows/PersonalProfile/pages/UpdateContactData/UpdateContactData.tsx","flows/PersonalProfile/pages/UpdateContactData/components/ClientBlocked.tsx","flows/PersonalProfile/pages/UpdateContactData/components/EditEmail.tsx","flows/PersonalProfile/pages/UpdateContactData/components/EditEmailAndPhoneNumberForm.tsx","flows/PersonalProfile/pages/UpdateContactData/components/EditPhoneNumber.tsx","flows/PersonalProfile/pages/UpdateContactData/components/OtpValidateBanners.tsx","flows/PersonalProfile/pages/UpdateContactData/components/ValidateOtpEmail.tsx","flows/PersonalProfile/pages/UpdateContactData/components/ValidateOtpPhone.tsx","flows/PersonalProfile/pages/UpdateContactData/services/domain.ts","flows/PersonalProfile/pages/UpdateContactData/services/generateOtpApi.ts","flows/PersonalProfile/pages/UpdateContactData/services/getContactDataApi.ts","flows/PersonalProfile/pages/UpdateContactData/services/resendOtpApi.ts","flows/PersonalProfile/pages/UpdateContactData/services/verifyOtpApi.ts","flows/PersonalProfile/services/domain.ts","flows/PersonalProfile/services/personalProfileContext.tsx","flows/PersonalProfile/services/reducer.ts","flows/VirtualMailbox/VirtualMailbox.tsx","flows/VirtualMailbox/components/Contact.tsx","flows/VirtualMailbox/components/FormContainer.tsx","flows/VirtualMailbox/components/Language.tsx","flows/VirtualMailbox/components/LoginHeader.tsx","flows/VirtualMailbox/components/MoreInfoFloatingBar.tsx","flows/VirtualMailbox/components/styles/BodyStyled.tsx","flows/VirtualMailbox/pages/LandingPage/LandingPage.tsx","flows/VirtualMailbox/pages/LandingPage/components/Footer.tsx","flows/VirtualMailbox/pages/LandingPage/components/LandingPageHeader.tsx","flows/VirtualMailbox/pages/LandingPage/components/LogoutCounter.tsx","flows/VirtualMailbox/pages/LandingPage/components/MessageList.tsx","flows/VirtualMailbox/pages/LandingPage/components/SearchForm/FilterDialogForm.tsx","flows/VirtualMailbox/pages/LandingPage/components/SearchForm/SearchForm.tsx","flows/VirtualMailbox/pages/LandingPage/services/domain.ts","flows/VirtualMailbox/pages/LandingPage/services/getMailboxData.ts","flows/VirtualMailbox/pages/Login/Login.tsx","flows/VirtualMailbox/pages/Login/components/LoginForm.tsx","flows/VirtualMailbox/pages/Login/services/submitCredentials.ts","flows/VirtualMailbox/pages/OtpValidation/OtpValidation.tsx","flows/VirtualMailbox/pages/OtpValidation/components/OtpValidationForm.tsx","flows/VirtualMailbox/pages/OtpValidation/services/resendOtp.ts","flows/VirtualMailbox/pages/OtpValidation/services/validateOtp.tsx","flows/VirtualMailbox/pages/TemporaryRestricted/TemporaryRestricted.tsx","flows/VirtualMailbox/pages/ViewMessage/ViewMessage.tsx","flows/VirtualMailbox/pages/ViewMessage/services/getAttachment.ts","flows/VirtualMailbox/pages/ViewMessage/services/getMessageItem.ts","flows/VirtualMailbox/services/domain.ts","flows/VirtualMailbox/services/reducer.ts","flows/VirtualMailbox/services/virtualMailboxContext.tsx"],"sourcesContent":["import { AgreementsMappedToPages, Pages } from \"./services/domain\";\nimport { PersonalProfileProvider, usePersonalProfileContext } from \"./services/personalProfileContext\";\nimport { checkAddressesConfig, checkContactDataConfig, checkIdScanConfig, signAddressesConfig, signContactDataConfig, signIdScanConfig } from \"./pages/PersonalProfileSignature/services/personalProfileSignatureServices\";\n\nimport { CurrentPageProps } from \"constants/types/pagesTypes\";\nimport DefaultErrorPage from \"components/DefaultErrorPage\";\nimport InformationNoteAgreement from \"./pages/Agreements/InformationNoteAgreement\";\nimport Loader from \"components/Loader\";\nimport MyData from \"./pages/MyData/MyData\";\nimport { QUERY_FLOW } from \"services/domain\";\nimport RequestSubmitted from \"./pages/RequestSubmitted/RequestSubmitted\";\nimport RequestRejectedError from \"./pages/RequestRejectedError/RequestRejectedError\";\nimport SignaturePolling from \"./pages/PersonalProfileSignature/SignaturePolling\";\nimport SuccessfullySaved from \"./pages/SuccessfullySaved/SuccessfullySaved\";\nimport UpdateAddresses from \"./pages/UpdateAddresses/UpdateAddresses\";\nimport UpdateContactData from \"./pages/UpdateContactData/UpdateContactData\";\nimport { getQueryVariable } from \"services/axiosHook\";\nimport { useAppContext } from \"services/appContext\";\nimport ScanIdStatus from \"./pages/ScanIdStatus/ScanIdStatus\";\n\nconst {\n MY_DATA,\n LOADING,\n SCAN_ID_AGREEMENTS,\n UPDATE_ADDRESSES_AGREEMENTS,\n UPDATE_ADDRESSES,\n UPDATE_ADDRESSES_SIGNATURE,\n UPDATE_CONTACT_DATA_SIGNATURE,\n UPDATE_CONTACT_DATA_AGREEMENTS,\n UPDATE_CONTACT_DATA,\n SCAN_ID_STATUS,\n SCAN_ID_SIGNATURE,\n REQUEST_FOR_SCAN_ID_SUBMITTED,\n REQUEST_SUBMITTED,\n REQUEST_REJECTED_ERROR,\n SUCCESSFULLY_SAVED,\n ERROR\n} = Pages;\n\nfunction backToMobileApp() {\n window.location.href = \"mb-unicredit://appredirect/query?appSection=online:home+screen\";\n}\n\nexport function getCurrentPage({ currentPage, handleSubmit }: CurrentPageProps) {\n\n switch (currentPage) {\n case MY_DATA: return (\n \n );\n case SCAN_ID_AGREEMENTS:\n case UPDATE_ADDRESSES_AGREEMENTS:\n case UPDATE_CONTACT_DATA_AGREEMENTS:\n return ;\n case SCAN_ID_STATUS:\n return ;\n case SCAN_ID_SIGNATURE:\n return (\n \n );\n case UPDATE_ADDRESSES_SIGNATURE:\n return (\n \n );\n case UPDATE_CONTACT_DATA_SIGNATURE:\n return (\n \n );\n case SUCCESSFULLY_SAVED:\n return ;\n case REQUEST_FOR_SCAN_ID_SUBMITTED:\n case REQUEST_SUBMITTED:\n return \n\t\tcase REQUEST_REJECTED_ERROR:\n\t\t\treturn ;\n case UPDATE_CONTACT_DATA:\n return ;\n case UPDATE_ADDRESSES:\n return \n case LOADING:\n return ;\n case ERROR:\n default:\n return ;\n }\n}\n\nexport function PersonalProfileContent() {\n const { flowName, dispatch, isCIMissing } = useAppContext();\n const { currentPage, isStaff, goToPage } = usePersonalProfileContext();\n\n const handleSubmit = (pageTo: Pages) => () => {\n\n if (currentPage === REQUEST_FOR_SCAN_ID_SUBMITTED && flowName !== getQueryVariable(QUERY_FLOW)) {\n if (isStaff && isCIMissing) {\n dispatch({ value: { flowName: getQueryVariable(QUERY_FLOW) } });\n return;\n }\n backToMobileApp();\n return;\n }\n\n if (\n ([REQUEST_SUBMITTED, SUCCESSFULLY_SAVED].includes(currentPage) || pageTo === MY_DATA) &&\n flowName !== getQueryVariable(QUERY_FLOW)\n ) {\n dispatch({ value: { flowName: getQueryVariable(QUERY_FLOW) } });\n return;\n }\n goToPage(pageTo);\n }\n\n return getCurrentPage({ currentPage, handleSubmit });\n}\n\ntype Props = {\n currentPage: Pages;\n isStaff?:boolean;\n}\n\nexport function PersonalProfileOverviewWithContext({ currentPage, isStaff }: Props) {\n return (\n \n \n \n )\n}\n\nexport default function PersonalProfile() {\n return (\n \n \n \n )\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\nimport { DocumentDetailsType, ReportCodes } from \"../../../../pages/DocumentDetails/services/domain\";\n\nimport { Button } from \"components/Button\";\nimport { DocumentDetails } from \"../../../../pages/DocumentDetails/DocumentDetails\";\nimport { Heading } from \"components/Heading\";\nimport NavigationSwitch from \"components/NavigationSwitch\";\nimport image from \"assets/PersonalProfile/agreement_main_image.png\";\nimport { usePersonalDataConsentApi } from \"./services/personalDataConsentServices\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\nimport { useState } from \"react\";\n\ntype PersonalProfileAgreementProps = {\n handleSubmit: () => unknown;\n}\n\ntype DocumentType = DocumentDetailsType.PP_INFORMATION_NOTE;\n\nconst STATIC_TRANSLATION_KEY = \"dbn.personalProfile.agreements.\"\n\nexport default function InformationNoteAgreement({ handleSubmit }: PersonalProfileAgreementProps) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { setPersonalDataConsent } = usePersonalDataConsentApi();\n\n const [selectedDocumentType, setSelectedDocumentType] = useState();\n const [informationNoteToggle, setInformationNoteToggle] = useState(false);\n\n const handleOnConfirmDocument = () => {\n setPersonalDataConsent({\n onFail: () => {\n setSelectedDocumentType(undefined);\n },\n onSuccess: () => {\n setInformationNoteToggle(true);\n setSelectedDocumentType(undefined);\n }\n });\n };\n\n const handleOnCloseDocument = () => {\n setSelectedDocumentType(undefined);\n setInformationNoteToggle(false);\n };\n\n if (selectedDocumentType) {\n return (\n \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 setInformationNoteToggle((prevValue) => {\n const result = !prevValue;\n if (result) {\n setSelectedDocumentType(DocumentDetailsType.PP_INFORMATION_NOTE);\n }\n return result;\n })}\n />\n\n \n\n \n\n \n )\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\nconst personalDataConsentConfig = {\n url: \"/clients-ro/personalDataConsent\",\n method: \"post\" as Method,\n};\n\n\nexport function usePersonalDataConsentApi() {\n\n const setPersonalDataConsent = useCallback(({onFail, onSuccess}: ExecuteAxiosFunctions) => {\n executeAxios({\n params: personalDataConsentConfig,\n onFail: onFail,\n onSuccess: onSuccess\n });\n }, []);\n\n return {\n setPersonalDataConsent\n }\n}","import { Box } from \"omnichannel-design-system\";\nimport GeneralError from \"pages/GeneralError/GeneralError\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport { LooseObject } from \"services/types\";\nimport { PersonalProfile } from \"./components/PersonalProfile\";\nimport { useLoadPersonalProfile } from \"./services/loadPersonalProfileApi\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\nimport { useEffect } from \"react\";\n\nexport interface MyDataProps extends LooseObject {\n toScanYourIDAgreements: () => unknown;\n toUpdateContactDataAgreements: () => unknown;\n toUpdateAddressesAgreements: () => unknown;\n}\n\nexport default function MyData(props: MyDataProps) {\n const { formatMessageWithKey, updateAddressInfo } = usePersonalProfileContext();\n const { loading, myData } = useLoadPersonalProfile();\n\n useEffect(() => {\n if (myData && myData.contactData) {\n updateAddressInfo(myData.contactData.addressInfo);\n }\n },[myData, updateAddressInfo])\n\n if (loading) {\n return ;\n }\n\n if (!myData) {\n return \n }\n\n return (\n \n \n\n \n \n )\n}","import { Fragment } from \"react\";\nimport { Stack } from \"omnichannel-design-system\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\n\nexport function AccordionItemWrapper({ children }: { children: Array }) {\n return (\n \n {children.map((item, index) => (\n \n {item}\n \n ))}\n \n )\n}","import { Box, Carousel, ErrorIcon, InfoIcon, LocalizedString, Space, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport Banner from \"components/Banner\";\nimport { CSSProperties } from \"styled-components\";\nimport { carouselStepValidation } from \"flows/CreditCard/pages/CardPresentation/utils/validation\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useState } from \"react\";\n\ntype BannerItem = {\n label: LocalizedString | string;\n type: \"warning\" | \"error\";\n}\n\ntype BannerSectionProps = {\n items: Array\n}\n\nfunction CustomBanner(props: BannerItem) {\n return (\n {\n if (!ref) {\n return;\n }\n const originalSvg = ref.parentNode?.parentNode?.parentNode?.parentNode?.children[0];\n originalSvg?.setAttribute(\"style\", \"display: none\")\n }}\n style={{ marginLeft: -16 }}\n\n >\n {props.type === \"error\" ? \n : }\n\n \n\n {unsafeLocalizedString(props.label ?? \"\")}\n \n )} />\n );\n}\n\nexport function filterBanners(items: Array): Array {\n return items\n .filter(item => item.showItem)\n .map(({ label, type }) => {\n return { label, type } as BannerItem;\n });\n}\n\nexport default function BannerSection({ items }: BannerSectionProps) {\n const [selectedBanner, setSelectedBanner] = useState(0);\n\n if (items.length === 1) {\n const item = items[0];\n return (\n \n \n \n )\n }\n\n return (\n {\n const style: CSSProperties = { justifyContent: \"center\" };\n if (index !== selectedBanner) {\n style.opacity = 0.5;\n style.justifyContent = index > selectedBanner ? \"left\" : \"right\";\n }\n return (\n \n \n \n )\n })\n }\n itemWidth={window.screen.width}\n value={selectedBanner}\n onChange={carouselStepValidation({ setValue: setSelectedBanner, maxSteps: items.length - 1 })} />\n )\n}","import { AddressInfo, ContactInfo, ProfileValue } from \"../services/domain\";\nimport BannerSection, { filterBanners } from \"./BannerSection\";\nimport { Body, Box, Divider, Space, Stack } from \"omnichannel-design-system\";\nimport { Dispatch, SetStateAction } from \"react\";\n\nimport { AccordionItemWrapper } from \"./AccordionItemWrapper\";\nimport { Button } from \"components/Button\";\nimport { ProfileItem } from \"./ProfileItem\";\nimport { useAppContext } from \"services/appContext\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype Props = {\n contactInfo: ContactInfo;\n editContactAction: () => unknown;\n addressInfo: AddressInfo;\n editAddressAction: () => unknown;\n editDisabled: boolean;\n setBadge: Dispatch>;\n}\ntype ContactData = {\n contactInfo: ContactInfo;\n addressInfo: AddressInfo;\n}\nexport function ContactDataValidation({\n contactInfo: { phoneNumber, emailAddress },\n addressInfo: { homeAddress, residentialAddress, correspondenceAddress }\n}: ContactData) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n\n const contactInfoBanners = filterBanners([\n { label: formatMessageWithKey(\"phoneNumber.error\"), type: \"error\", showItem: phoneNumber.hasError },\n { label: formatMessageWithKey(\"emailIsNotConfirmed\"), type: \"error\", showItem: emailAddress.hasError },\n { label: formatMessageWithKey(\"phoneNotConfirmed\"), type: \"warning\", showItem: phoneNumber.hasWarning },\n { label: formatMessageWithKey(\"emailAddress.warning\"), type: \"warning\", showItem: emailAddress.hasWarning },\n ]);\n\n const addressInfoBanners = filterBanners([\n { label: formatMessageWithKey(\"homeAddress.warning\"), type: \"warning\", showItem: homeAddress ? homeAddress.hasWarning : false },\n { label: formatMessageWithKey(\"homeAddress.error\"), type: \"error\", showItem: homeAddress ? homeAddress.hasError : false },\n { label: formatMessageWithKey(\"residentialAddress.warning\"), type: \"warning\", showItem: residentialAddress ? residentialAddress.hasWarning : false },\n { label: formatMessageWithKey(\"residentialAddress.error\"), type: \"error\", showItem: residentialAddress ? residentialAddress.hasError : false },\n { label: formatMessageWithKey(\"correspondenceAddress.warning\"), type: \"warning\", showItem: correspondenceAddress ? correspondenceAddress.hasWarning : false },\n { label: formatMessageWithKey(\"correspondenceAddress.error\"), type: \"error\", showItem: correspondenceAddress ? correspondenceAddress.hasError : false },\n ]);\n return {\n isValid: contactInfoBanners.length > 0 || addressInfoBanners.length > 0,\n contactInfoBanners: contactInfoBanners,\n addressInfoBanners: addressInfoBanners\n };\n}\nexport default function ContactDataSection({\n contactInfo: { phoneNumber, emailAddress },\n addressInfo: { homeAddress, residentialAddress, correspondenceAddress },\n editContactAction, editAddressAction, editDisabled, setBadge\n}: Props) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { configurations } = useAppContext();\n const { contactInfoBanners, addressInfoBanners, isValid } = ContactDataValidation({\n contactInfo: { phoneNumber, emailAddress },\n addressInfo: { homeAddress, residentialAddress, correspondenceAddress }\n });\n\n setBadge(isValid);\n\n return (\n \n \n {formatMessageWithKey(\"contactInfo\")}\n \n\n \n \n \n \n\n \n {\n contactInfoBanners.length !== 0 && [\n \n \n ,\n \n \n \n ]\n }\n \n \n \n \n \n\n \n\n \n {formatMessageWithKey(\"addressesInfo\")}\n \n\n \n \n \n \n\n \n {\n addressInfoBanners.length !== 0 && [\n \n \n ,\n \n \n \n ]\n }\n\n \n {homeAddress && }\n {residentialAddress && }\n {(correspondenceAddress?.value !== \"\") && }\n \n \n\n {\n configurations.enablePPEditAddress &&\n \n }\n\n \n )\n} ","import BannerSection, { filterBanners } from \"./BannerSection\";\nimport { Box, Space, Stack } from \"omnichannel-design-system\";\nimport { Dispatch, SetStateAction } from \"react\";\n\nimport { AccordionItemWrapper } from \"./AccordionItemWrapper\";\nimport { Button } from \"components/Button\";\nimport { PersonalData } from \"../services/domain\";\nimport { ProfileItem } from \"./ProfileItem\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype PersonalDataSectionProps = {\n personalData: PersonalData;\n redirectAction: () => unknown;\n editDisabled: boolean;\n setBadge: Dispatch>;\n}\n\nexport function PersonalDataSection({\n personalData: {\n nameSurname, documentType, seriesNumber, documentExpirationDate,\n documentIssuer, citizenship, homeAddress,\n },\n redirectAction, editDisabled, setBadge\n}: PersonalDataSectionProps) {\n\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { formatMessage } = useFormatMessage();\n\n const banners = filterBanners([\n { label: formatMessageWithKey(\"nameAndSurname.warning\"), type: \"warning\", showItem: nameSurname.hasWarning },\n { label: formatMessageWithKey(\"nameAndSurname.error\"), type: \"error\", showItem: nameSurname.hasError },\n { label: formatMessageWithKey(\"documentType.warning\"), type: \"warning\", showItem: documentType.hasWarning },\n { label: formatMessageWithKey(\"documentType.error\"), type: \"error\", showItem: documentType.hasError },\n { label: formatMessageWithKey(\"seriesAndNumber.warning\"), type: \"warning\", showItem: seriesNumber.hasWarning },\n { label: formatMessageWithKey(\"seriesAndNumber.error\"), type: \"error\", showItem: seriesNumber.hasError },\n { label: formatMessageWithKey(\"documentExpirationDate.warning\"), type: \"warning\", showItem: documentExpirationDate.hasWarning },\n { label: formatMessageWithKey(\"documentExpirationDate.error\"), type: \"error\", showItem: documentExpirationDate.hasError },\n { label: formatMessageWithKey(\"documentIssue.warning\"), type: \"warning\", showItem: documentIssuer.hasWarning },\n { label: formatMessageWithKey(\"documentIssue.error\"), type: \"error\", showItem: documentIssuer.hasError },\n { label: formatMessageWithKey(\"citizenship.warning\"), type: \"warning\", showItem: citizenship.hasWarning },\n { label: formatMessageWithKey(\"citizenship.error\"), type: \"error\", showItem: citizenship.hasError },\n { label: formatMessageWithKey(\"homeAddress.warning\"), type: \"warning\", showItem: homeAddress.hasWarning },\n { label: formatMessageWithKey(\"homeAddress.error\"), type: \"error\", showItem: homeAddress.hasError },\n ]);\n\n if (banners.length) {\n setBadge(true);\n }\n\n return (\n \n \n {banners.length !== 0 && [\n \n \n ,\n \n \n \n ]}\n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n )\n}","import { Accordion, AccordionItem } from \"components/Accordion\";\nimport {\n Body,\n Box,\n MailBadgeIcon,\n MailSystemIcon,\n ProfileBadgeIcon,\n ProfileSystemIcon,\n Space\n} from \"omnichannel-design-system\";\nimport React, { useMemo, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport ContactDataSection, {ContactDataValidation} from \"./ContactDataSection\";\nimport { LooseObject } from \"services/types\";\nimport { MyDataProps } from \"../MyData\";\nimport { PersonalDataSection } from \"./PersonalDataSection\";\nimport { PersonalProfileData } from \"../services/domain\";\nimport styled from \"styled-components\";\nimport { useCutOffData } from \"../services/cutOffApi\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype Props = {\n myData: PersonalProfileData;\n redirectFunctions: MyDataProps;\n}\n\nexport const PersonalProfileContainerStyled = styled(Box)`\n .cutOffDialog {\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 justify-content: center;\n align-items: center;\n }\n\n .cutOffDialogContent{\n background-color: white;\n margin: 20px;\n padding: 20px;\n width: calc(100vw - 40px);\n }\n`;\n\nexport function PersonalProfile({ myData, redirectFunctions }: Props) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const [personalDataBadge, setPersonalDataBadge] = useState(false);\n const [,setContractDataBadge] = useState(false);\n\n const { getCutOffInfo } = useCutOffData();\n const [showCutOffDialog, setShowCutOffDialog] = useState(false);\n const [cutOffMessageKeys, setCutOffMessageKeys] = useState({});\n\n const redirectByCutOff = useMemo(() => {\n const parsedObject: LooseObject = {};\n Object.keys(redirectFunctions).forEach(key => {\n parsedObject[key] = () => {\n getCutOffInfo((cutOffData) => {\n if (!cutOffData.active) {\n redirectFunctions[key]();\n return;\n }\n setCutOffMessageKeys(cutOffData.cutOffData);\n setShowCutOffDialog(true);\n });\n }\n });\n return parsedObject;\n }, [getCutOffInfo, redirectFunctions]);\n\n const accordionItems: Array = [\n {\n title: formatMessageWithKey(\"personalData\"),\n Icon: personalDataBadge ? ProfileBadgeIcon : ProfileSystemIcon,\n Content: (\n \n )\n }, {\n title: formatMessageWithKey(\"contactData\"),\n Icon: ContactDataValidation({\n contactInfo: myData.contactData.contactInfo,\n addressInfo: myData.contactData.addressInfo\n })?.isValid ? MailBadgeIcon : MailSystemIcon,\n Content: (\n \n )\n }\n ];\n\n return (\n \n \n {showCutOffDialog &&\n \n \n \n {formatMessageWithKey(\"cutOffDialog.title\")}\n \n\n \n\n \n \n {formatMessageWithKey(\"cutOffDialog.description\", cutOffMessageKeys)}\n \n \n\n \n \n\n setShowCutOffDialog(false)}\n />\n \n \n\n \n }\n \n )\n}","import { Body, Box, ErrorIcon, InfoIcon, unsafeLocalizedString } from \"omnichannel-design-system\";\n\nimport { ProfileValue } from \"../services/domain\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype ItemSectionProps = {\n profileItem: ProfileValue;\n label: string;\n}\n\nfunction computeButtonsWidth(hasWarning: boolean, hasError: boolean): number {\n let width = 0;\n\n if (hasWarning && hasError) {\n width = 48;\n } else if (hasWarning || hasError) {\n width = 24;\n }\n\n return width;\n}\n\nexport function ProfileItem(\n {\n profileItem: { value, hasError, hasWarning },\n label\n }\n : ItemSectionProps) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const computedValue = value ? value : \"ã…¤\";// The empty char is to keep the format of component\n return (\n \n \n \n \n {formatMessageWithKey(label)}\n \n \n {unsafeLocalizedString(computedValue)}\n \n \n \n\n \n {hasWarning && }\n {hasError && }\n \n \n )\n}","import {useCallback, useState} from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst cutOffConfig = {\n url: \"/clients-ro/personalProfile/cutOffInfo\",\n method: \"post\" as Method,\n};\n\nexport type CutOffInfo = {\n active: boolean;\n cutOffData: LooseObject;\n}\n\nexport function useCutOffData(){\n const [error, setError] = useState();\n const [loading, setLoading] = useState(true);\n\n const getCutOffInfo = useCallback((onSuccess: (cutOffInfo:CutOffInfo) => unknown)=>{\n executeAxios({\n params: cutOffConfig,\n onLoading: setLoading,\n onFail: setError,\n onSuccess\n });\n },[]);\n\n return {\n error,\n loading,\n getCutOffInfo: getCutOffInfo,\n };\n}\n","import { useCallback, useEffect, useState } from \"react\";\n\nimport { CutOffInfo } from \"./cutOffApi\";\nimport { Method } from \"axios\";\nimport { PersonalProfileData } from \"./domain\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst getProfileDataConfig = {\n url: \"/clients-ro/personalProfile/get\",\n method: \"post\" as Method,\n};\n\nexport function useLoadPersonalProfile() {\n const [myData, setMyData] = useState();\n const [error, setError] = useState();\n const [loading, setLoading] = useState(true)\n\n useEffect(() => {\n executeAxios({\n params: getProfileDataConfig,\n onLoading: setLoading,\n onFail: setError,\n onSuccess: setMyData\n });\n }, [])\n\n return {\n loading,\n myData,\n error,\n }\n}\n\nconst cutOffConfig = {\n url: \"/clients-ro/personalProfile/cutOffInfo\",\n method: \"post\" as Method,\n};\n\nexport function useIsCutOff() {\n const [error, setError] = useState();\n const [loading, setLoading] = useState(true);\n\n const getCutOffInfo = useCallback((onSuccess: (cutOffData: CutOffInfo) => unknown) => {\n executeAxios({\n params: cutOffConfig,\n onLoading: setLoading,\n onFail: setError,\n onSuccess\n });\n }, []);\n\n return {\n error,\n loading,\n getCutOffInfo,\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 { LooseObject } from \"services/types\";\nimport { NonEmptyArray } from \"components/form/utils\";\nimport Signature from \"pages/Signature/Signature\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport usePersonalProfileSignChangeApi from \"./services/personalProfileSignatureServices\";\n\ntype PersonalProfileSignatureProps = {\n\thandleSubmit: Function;\n\tonBack: Function;\n\tsignConfig: LooseObject;\n}\n\nexport default function PersonalProfileSignature(props: PersonalProfileSignatureProps) {\n\tconst { formatMessage } = useFormatMessage();\n\tconst { signChange, signChangeLoading } = usePersonalProfileSignChangeApi(props.handleSubmit, props.signConfig);\n\n\tconst handleSubmit = () => {\n\t\tsignChange({ onFail: props.onBack });\n\t};\n\tconst informationSection = [\n\t\tformatMessage(\"dbn.agreementsSignature.form.description.part1\"),\n\t\tbold(formatMessage(\"dbn.agreementsSignature.form.description.bold1\")),\n\t\tformatMessage(\"dbn.agreementsSignature.form.description.part2\"),\n\t\tbold(formatMessage(\"dbn.agreementsSignature.form.description.bold2\"))\n\t] as NonEmptyArray;\n\n\tif (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.agreementsSignature.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 PersonalProfileSignature from \"./PersonalProfileSignature\";\nimport { CheckSignStatus } from \"components/PinSgnaturePolling/service/domain\";\nimport { useCheckSignAuthorization } from \"components/PinSgnaturePolling/service/checkSignaturePolling\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { LooseObject } from \"services/types\";\nimport PinSignaturePolling from \"components/PinSgnaturePolling/PinSignaturePolling\";\n\ninterface Props {\n onSubmit: () => unknown,\n onBack: () => unknown,\n onError: () => unknown,\n checkConfig: LooseObject,\n signConfig: LooseObject\n}\n\nfunction SignaturePolling(props: Props) {\n\n\tconst { checkConfig, onSubmit, onBack, onError, signConfig } = props;\n const { formatMessage } = useFormatMessage();\n const { checkSignStatus, checkSignAuthorization } = useCheckSignAuthorization(checkConfig);\n const [stepBack, setStepBack] = useState(false);\n const [error, setError] = useState(false);\n\n useEffect(() => {\n setStepBack(checkSignStatus && checkSignStatus !== CheckSignStatus.OK && checkSignStatus !== CheckSignStatus.RETRY);\n setError(checkSignStatus && checkSignStatus === CheckSignStatus.ERR);\n if (checkSignStatus === CheckSignStatus.OK) {\n onSubmit();\n }\n }, [checkSignStatus, onSubmit]);\n\n return }\n />;\n}\n\nexport default SignaturePolling;","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { Method } from \"axios\";\n\nexport const checkIdScanConfig = {\n url: \"/clients-ro/scanId/check\",\n method: \"post\" as Method,\n};\n\nexport const checkAddressesConfig = {\n url: \"/clients-ro/addresses/check\",\n method: \"post\" as Method,\n};\n\nexport const checkContactDataConfig = {\n url: \"/clients-ro/contactData/check\",\n method: \"post\" as Method,\n};\n\nexport const signIdScanConfig = {\n url: \"/clients-ro/scanId/sign\",\n method: \"post\" as Method,\n};\n\nexport const signAddressesConfig = {\n url: \"/clients-ro/addresses/sign\",\n method: \"post\" as Method,\n};\n\nexport const signContactDataConfig = {\n url: \"/clients-ro/contactData/sign\",\n method: \"post\" as Method,\n};\n\nexport default function usePersonalProfileSignChangeApi(handleSubmit: Function, config: LooseObject) {\n const [signChangeLoading, setSignChangeLoading] = useState(false);\n\n const signChange = useCallback(({onFail}: ExecuteAxiosFunctions) => {\n executeAxios({\n params: config,\n onLoading: setSignChangeLoading,\n onFail: onFail,\n onSuccess: handleSubmit\n });\n }, [handleSubmit, config]);\n\n return {\n signChange,\n signChangeLoading\n }\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/rejected-request.png\";\nimport styled from \"styled-components\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype Props = {\n handleSubmit: () => unknown;\n}\n\nconst BodyStyle = styled(Body)`\n text-transform: none;\n`;\n\nexport default function RequestRejectedError({ handleSubmit }: Props) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n return (\n \n \n\n \n \n \n\n \n {formatMessageWithKey(\"description.title\")}\n \n\n \n {formatMessageWithKey(\"description.suggestion\")}\n \n\n \n\n \n \n )\n}","import { Box, Space } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/PersonalProfile/request_submitted.png\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype RequestSubmittedProps = {\n handleSubmit: Function;\n}\n\nexport default function RequestSubmitted({ handleSubmit }: RequestSubmittedProps) {\n const { formatMessageWithKey, formatRichTextMessageWithKey } = usePersonalProfileContext();\n return (\n \n \n\n \n\n \n \n {formatRichTextMessageWithKey(\"description\")}\n \n \n\n \n\n \n \n \n\n \n\n handleSubmit()}\n />\n \n )\n}","import {usePersonalProfileContext} from \"../../services/personalProfileContext\";\nimport {ProgressContainerStyled} from \"../../../Onboarding/styles/ProgressContainerStyled\";\nimport {Body, Box, ProgressIcon, Space} from \"omnichannel-design-system\";\nimport {palette} from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport useScanIdStatus from \"./services/useScanIdstatus\";\nimport {Dispatch, SetStateAction, useCallback, useEffect, useRef, useState} from \"react\";\n\nimport {sessionStorageData} from \"../../../../services/storageData\";\nimport {\n INTERVAL_POLLING_TIME,\n MB_IDENTIFY_DEEP_LINK,\n POLLING_TIME_OUT,\n START_POLLING_TIME,\n Status\n} from \"./services/domain\";\n\nconst ContainerStyled = styled(Box)`\n background-color: ${palette.neutral300};\n margin: -20px;\n padding: 20px;\n`;\n\nconst CenteredTextStyled = styled(Body)`\n text-align: center;\n`;\n\ntype Props = {\n onBack: () => void;\n onNext: () => void;\n}\n\ntype CheckPolling = Props & {\n setIntermediaryCall: Dispatch>;\n getScanIdStatus: (onSuccess: any) => void;\n}\n\ntype ScanIdStatusResponse = {\n status: Status;\n}\n\nexport function checkPolling(props: CheckPolling) {\n const { getScanIdStatus, setIntermediaryCall, onNext, onBack } = props;\n getScanIdStatus(({ status }: ScanIdStatusResponse) => {\n switch (status) {\n case Status.PENDING:\n console.log(\"pending\");\n const timeout = setTimeout(() => {\n checkPolling(props);\n }, INTERVAL_POLLING_TIME);\n setIntermediaryCall(timeout);\n break;\n case Status.DONE:\n onNext();\n break;\n case Status.CANCELED:\n onBack();\n break;\n }\n })\n\n}\nexport default function ScanIdStatus(props: Props) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { getScanIdStatus } = useScanIdStatus();\n const componentIsRendered = useRef(false);\n const [intermediaryCalls, setIntermediaryCall] = useState();\n const [poolingTimeout, setPoolingTimeout] = useState();\n\n const doBackAfterPoolingTimeOuts = useCallback(() => {\n intermediaryCalls && clearTimeout(intermediaryCalls);\n props.onBack();\n }, [props, intermediaryCalls])\n\n const startPooling = useCallback(() => {\n const firstTimeout = setTimeout(() => {\n checkPolling({ ...props, setIntermediaryCall, getScanIdStatus });\n }, START_POLLING_TIME);\n setIntermediaryCall(firstTimeout);\n\n setPoolingTimeout(setTimeout(doBackAfterPoolingTimeOuts, POLLING_TIME_OUT));\n\n window.location.href = MB_IDENTIFY_DEEP_LINK + sessionStorageData.getItem(\"flowId\");\n }, [getScanIdStatus, doBackAfterPoolingTimeOuts, props])\n\n useEffect(() => {\n if (componentIsRendered.current) {\n return;\n }\n componentIsRendered.current = true;\n\n startPooling();\n }, [startPooling])\n\n useEffect(() => {\n return () => {\n intermediaryCalls && clearTimeout(intermediaryCalls);\n }\n }, [intermediaryCalls])\n\n useEffect(() => {\n return () => {\n poolingTimeout && clearTimeout(poolingTimeout);\n }\n }, [poolingTimeout])\n\n return (\n \n \n \n \n \n\n \n\n \n {formatMessageWithKey(\"details\")}\n \n \n \n );\n}","export const START_POLLING_TIME = 5 * 1000; // 5 sec\nexport const INTERVAL_POLLING_TIME = 1 * 1000; // 1 sec\nexport const POLLING_TIME_OUT = 10 * 60 * 1000; // 10 min\n\nexport const MB_IDENTIFY_DEEP_LINK = \"mb-unicredit://iddocumentupdate/query?section=DBN&reference=\";\n\nexport enum Status {\n PENDING = \"PENDING\",\n CANCELED = \"CANCELED\",\n DONE = \"DONE\",\n}\n","import { AxiosRequestConfig } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport { useCallback } from \"react\";\n\nconst getScanIdStatusConfig: AxiosRequestConfig = {\n url: \"/clients-ro/scanId/status/check\",\n method: \"post\",\n};\n\nexport default function useScanIdStatus() {\n\n return {\n getScanIdStatus: useCallback((onSuccess: any) => {\n executeAxios({\n params: getScanIdStatusConfig,\n onSuccess\n })\n }, [])\n }\n}","import { Box, Space } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Heading } from \"components/Heading\";\nimport image from \"assets/approved-final.png\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype SuccessfullySavedProps = {\n handleSubmit: () => unknown;\n}\n\n\nexport default function SuccessfullySaved({ handleSubmit }: SuccessfullySavedProps) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n return (\n \n \n\n \n\n \n \n \n\n \n\n \n \n )\n}","import { useCallback, useEffect } from \"react\";\nimport { useGetAddresses, useSaveAddress } from \"../../../services/addressesApi\";\n\nimport { BUCHAREST_CITY } from \"flows/Onboarding/services/dataSummary/addressUtils\";\nimport { FORM_FIELD_NAMES } from \"./services/domain\";\nimport { Heading } from \"components/Heading\";\nimport Loader from \"components/Loader\";\nimport { LooseObject } from \"services/types\";\nimport PageForm from \"./components/PageForm\";\nimport { Stack } from \"omnichannel-design-system\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype UpdateAddressesProps = {\n handleSubmit: Function;\n}\n\nexport default function UpdateAddresses({ handleSubmit: onSubmit }: UpdateAddressesProps) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { loading: addressesLoading, error: addressesError, addresses, getAddresses } = useGetAddresses();\n const { loading: saveAddressLoading, saveAddress } = useSaveAddress();\n\n const handleSubmit = useCallback((values: LooseObject) => {\n const savedAddress: LooseObject = {};\n Object.values(FORM_FIELD_NAMES).forEach(key => {\n savedAddress[key] = values[key];\n });\n\n if (savedAddress.city === BUCHAREST_CITY.value) {\n savedAddress.city = savedAddress.countyName;\n savedAddress.countyName = \"\";\n savedAddress.county = BUCHAREST_CITY.value;\n savedAddress.countyName = BUCHAREST_CITY.label;\n }\n saveAddress({...savedAddress, sameAsAddress: values.type, type: values.tabName}, onSubmit);\n }, [onSubmit, saveAddress]);\n\n useEffect(() => {\n getAddresses();\n }, [getAddresses]);\n\n if (addressesLoading || addressesError || saveAddressLoading) {\n return ;\n }\n\n return (\n \n \n\n \n \n )\n}","import DropdownField, { SelectOption } from \"components/form/DropdownField\";\nimport { FORM_FIELD_NAMES, ROMANIA } from \"../services/domain\";\nimport { Space, Stack } from \"omnichannel-design-system\";\nimport { useEffect, useMemo } from \"react\";\n\nimport AutocompleteInputField from \"components/form/AutocompleteInputField\";\nimport { BUCHAREST_CITY } from \"flows/Onboarding/services/dataSummary/addressUtils\";\nimport { LooseObject } from \"services/types\";\nimport { PageFormValues } from \"./PageForm\";\nimport PostalCodeComponent from \"./PostalCodeComponent\";\nimport { SECTOR_PREFIX } from \"flows/Onboarding/branch/pages/dataRecap/services/domain\";\nimport TextField from \"components/form/TextField\";\nimport _ from \"lodash\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormikContext } from \"formik\";\nimport useGetAddressData from \"flows/services/addressesApi\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\nconst {\n COUNTRY, COUNTY, STREET_NAME,\n POSTAL_CODE, CITY, STREET_NUMBER, BLOCK, ENTRANCE,\n FLOOR, APARTMENT\n} = FORM_FIELD_NAMES;\n\n\nfunction generateSuggestions(streets: SelectOption[], streetName: string) {\n if (!streets.length) {\n return [];\n }\n\n return streets.map(item => ({\n value: item.value,\n label: <>{\n streetName ? item.value\n .split(streetName)\n .map((parts, index, array) => <>\n {parts}\n {\n index !== array.length - 1 &&\n \n {streetName}\n \n }\n >)\n : item.value\n }>\n }))\n}\n\nfunction generateResetItem(key: string) {\n return {\n key,\n value: \"\",\n when: () => true\n };\n}\n\nexport default function ClientNewAddress() {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const {\n loading, counties, countries, streets, cities,\n getCountiesAndSectors, getCountries, getCities, getStreets,\n setStreets, setCities } = useGetAddressData();\n const { values, setValues } = useFormikContext();\n const { streetName, city, country, county } = values;\n\n //Debounce declaration\n const waitingToGetStreets = useMemo(() =>\n _.debounce(({ countyId, cityId, searchTerm }: LooseObject) => {\n if (countyId.includes(SECTOR_PREFIX)) {\n getStreets({ countyId: BUCHAREST_CITY.value, cityId: countyId.replace(\"~\" + BUCHAREST_CITY.value, \"\"), searchTerm });\n return\n }\n getStreets({ countyId, cityId, searchTerm });\n }, 1000)\n , [getStreets]);\n\n const waitingToGetCountries = useMemo(() =>\n _.debounce((searchTerm?: string) => {\n getCountries(searchTerm);\n }, 1000)\n , [getCountries]);\n\n //Fetch logic\n useEffect(getCountries, [getCountries]);\n\n useEffect(() => {\n if (!_.isEmpty(country) && country === ROMANIA) {\n getCountiesAndSectors();\n }\n }, [country, getCountiesAndSectors]);\n\n useEffect(() => {\n if (country !== ROMANIA) {\n setValues(previous => ({ ...previous, countyName: county }));\n return;\n }\n\n const countyValue = counties.find(item => item.value === county);\n if (countyValue) {\n setValues(previous => ({ ...previous, countyName: countyValue.label }));\n }\n }, [country, county, counties, setValues]);\n\n useEffect(() => {\n if (country === ROMANIA && !_.isEmpty(county)) {\n county.includes(SECTOR_PREFIX) ?\n setCities([BUCHAREST_CITY]) :\n getCities({ countyId: county });\n }\n }, [country, county, getCities, setCities]);\n\n useEffect(() => {\n if (\n country === ROMANIA &&\n !_.isEmpty(city) &&\n !_.isEmpty(county) &&\n !_.isEmpty(streetName) &&\n streetName.length > 2\n ) {\n waitingToGetStreets({\n countyId: county,\n cityId: city,\n searchTerm: streetName\n });\n return;\n }\n setStreets([]);\n }, [country, city, county, streetName, waitingToGetStreets, setStreets]);\n\n const isRomanianCountry = country === ROMANIA;\n const autocompleteFields = isRomanianCountry ? (\n \n \n \n {\n const newStreet = streets.find(item => item.value === value.value)\n if (!newStreet) return;\n setValues(previous => ({...previous, streetName: newStreet.value, postalCode: \"\"}), true)\n }}\n suggestions={\n loading ? { status: \"loading\" } : {\n status: \"ready\",\n suggestions: generateSuggestions(streets, streetName)\n }}\n />\n \n ) : (\n \n \n \n \n \n )\n\n\n return (\n \n\n waitingToGetCountries(value)}\n onBlur={() => getCountries()}\n onChange={(value) => {\n const newCountry = countries.find(item => item.value === value);\n if (!newCountry) {\n return\n }\n\n setValues(previous => ({\n ...previous,\n countryName: newCountry.label,\n country: newCountry.value,\n county: \"\",\n countyName: \"\",\n city: \"\",\n cityName: \"\",\n streetName: \"\",\n postalCode: \"\",\n sameAsAddress: \"\",\n type: undefined\n }), true);\n }}\n label={formatMessageWithKey(COUNTRY + \".label\")}\n name={COUNTRY}\n options={countries}\n />\n\n {autocompleteFields}\n\n \n \n \n \n \n\n {isRomanianCountry ? (\n item.value === city)?.postalCode}\n />\n ) : (\n \n )}\n\n \n\n \n )\n}","import { Body, Box, Space, TextChildren, unsafeLocalizedString } from \"omnichannel-design-system\"\n\ntype Props = {\n label: TextChildren;\n value: string;\n}\nexport default function DetailItem(props: Props) {\n return (\n \n \n {props.label}\n \n\n \n \n \n {unsafeLocalizedString(props.value || \"-\")}\n \n \n )\n}","import { Address, ROMANIA } from \"../services/domain\";\nimport { Body, Box, NavigationElement, Space, Stack, buttonLink, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { Formik, useFormikContext } from \"formik\";\nimport { ValidationProps, executeValidation } from \"services/formikValidations\";\nimport { useCallback, useEffect, useState } from \"react\";\n\nimport { Button } from \"components/Button\";\nimport ClientNewAddress from \"./ClientNewAddress\";\nimport { LooseObject } from \"services/types\";\nimport Tabs from \"components/Tabs\";\nimport styled from \"styled-components\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\nexport const TABS = {\n RESIDENCE: \"residence\",\n CORRESPONDENCE: \"correspondence\",\n}\n\nexport type PageFormValues = {\n tabName: string;\n postalCodes: string[];\n} & Address;\n\ntype TabContentInnerProps = {\n addresses: Address[];\n}\n\nconst defaultData: LooseObject = {\n apartment: \"\",\n block: \"\",\n city: \"\",\n cityName: \"\",\n country: \"\",\n countryName: \"\",\n county: \"\",\n countyName: \"\",\n entrance: \"\",\n floor: \"\",\n postalCode: \"\",\n streetName: \"\",\n streetNumber: \"\"\n}\n\nconst CLIENT_CHOICE = \"clientChoice\";\n\nfunction computeAddressText(address: Address) {\n return [\n [address.streetName, address.streetNumber].filter(item => !!item).join(\" \"),\n address.block,\n address.floor,\n address.apartment,\n address.countyName,\n address.cityName,\n address.postalCode\n ].filter(item => !!item).join(\", \");\n}\n\nconst TabContainerStyled = styled(Stack)`\n .radioContainer{\n li > div{\n width: calc(100vw - 40px);\n }\n }\n`;\n\nexport function TabContentInner(props: TabContentInnerProps) {\n const { addresses } = props;\n const { values, isValid, handleSubmit, setValues, setTouched } = useFormikContext();\n const { tabName, selectedAddress, country } = values;\n const { formatMessageWithKey } = usePersonalProfileContext();\n const [historyData, setHistoryData] = useState<{ [key: string]: PageFormValues }>({})\n const [currentTab = \"\", setCurrentTab] = useState(\"\");\n\n const setTab = useCallback((tab: string) => {\n setCurrentTab(tab);\n setValues(previousValues => {\n setHistoryData(previousHistory => ({\n ...previousHistory,\n [previousValues.tabName]: previousValues\n }))\n return { ...previousValues, tabName: tab }\n });\n }, [setValues]);\n\n useEffect(() => {\n const addressForThisTab: Address | undefined = historyData[tabName];\n const residenceAddress = addresses.find(item => !item.newEntry && item.defaultAddress);\n const copyDefaultData = { ...defaultData };\n if (residenceAddress && tabName === TABS.CORRESPONDENCE) {\n copyDefaultData.selectedAddress = residenceAddress.type;\n }\n setValues(previousValues => ({\n ...previousValues,\n ...(addressForThisTab ? addressForThisTab : (copyDefaultData as any))\n }));\n }, [tabName, historyData, addresses, setValues]);\n\n const onSelectClientChoice = useCallback(() => {\n setValues(previousValues => {\n if (previousValues.selectedAddress === CLIENT_CHOICE) {\n return previousValues;\n }\n setTouched({});\n return {\n ...previousValues,\n selectedAddress: CLIENT_CHOICE,\n ...defaultData\n }\n })\n }, [setValues, setTouched]);\n\n const onSelectExistingAddress = useCallback((address: Address) => {\n setValues(previousValues => ({\n ...previousValues,\n selectedAddress: address.type,\n ...address,\n }))\n }, [setValues])\n\n return (\n \n \n \n \n\n \n {unsafeLocalizedString(\"Same as\")}\n \n\n {\n addresses\n .filter(address => !address.newEntry && address.type !== currentTab && address.type !== TABS.CORRESPONDENCE)\n .map(address => {\n const isSelected = address.type === selectedAddress;\n if (!country && selectedAddress !== CLIENT_CHOICE && isSelected) {\n onSelectExistingAddress(address);\n }\n return (\n \n onSelectExistingAddress(address)}\n selected={isSelected}\n />\n \n )\n })\n }\n\n \n \n \n\n {selectedAddress === CLIENT_CHOICE && }\n\n \n\n \n \n )\n}\n\ntype PageFormProps = {\n addresses: Address[];\n handleSubmit: (values: PageFormValues) => void\n}\n\nfunction stopValidate(values: PageFormValues, notValidate?: boolean): boolean {\n return values.selectedAddress !== CLIENT_CHOICE || !!notValidate;\n}\n\nconst regExpSpecialSymbols: RegExp = /^[A-Za-z0-9\\-\\s-.();]+$/;\nconst regExpSpecialSymbolsStreet: RegExp = /^[A-Za-z0-9\\-\\s-.,();]+$/;\n\nconst validations: (ValidationProps[]) = [\n { name: \"selectedAddress\", checkEmpty: true },\n { name: \"country\", stopValidate, checkEmpty: true },\n { name: \"county\", stopValidate: (values) => stopValidate(values, values.country !== ROMANIA), checkEmpty: true, checkEmoji: true },\n { name: \"city\", stopValidate, checkEmpty: true, checkEmoji: true, applyRegex: regExpSpecialSymbolsStreet, maxLength: 26 },\n { name: \"streetName\", stopValidate, checkEmpty: true, applyRegex: regExpSpecialSymbolsStreet, maxLength: 26 },\n { name: \"streetNumber\", stopValidate, checkEmpty: true, applyRegex: regExpSpecialSymbols, maxLength: 6 },\n { name: \"block\", stopValidate, applyRegex: regExpSpecialSymbols, maxLength: 4 },\n { name: \"entrance\", stopValidate, applyRegex: regExpSpecialSymbols, maxLength: 4 },\n { name: \"floor\", stopValidate, checkAlphaNumerical: true, maxLength: 2 },\n { name: \"apartment\", stopValidate, checkAlphaNumerical: true, maxLength: 3 },\n { name: \"postalCode\", stopValidate, checkEmpty: true, isIncludedIn: { when: (values) => values.country === ROMANIA && !!values.postalCodes.length, value: \"postalCodes\" } }\n];\n\nexport default function PageForm({ handleSubmit, addresses }: PageFormProps) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const initialValues: PageFormValues = {\n country: \"\",\n countryName: \"\",\n county: \"\",\n countyName: \"\",\n city: \"\",\n cityName: \"\",\n postalCode: \"\",\n streetName: \"\",\n streetNumber: \"\",\n block: \"\",\n entrance: \"\",\n floor: \"\",\n apartment: \"\",\n selectedAddress: \"domicile\",\n tabName: TABS.RESIDENCE,\n sameAsAddress: \"\",\n postalCodes: []\n }\n\n return (\n executeValidation(validations, values, formatMessageWithKey)}\n >\n \n \n )\n}","import { BUCHAREST_CITY, FORM_FIELD_NAMES, POSTAL_CODES, ROMANIA } from \"../services/domain\";\nimport { useEffect, useMemo } from \"react\";\n\nimport AutocompleteInputField from \"components/form/AutocompleteInputField\";\nimport DetailItem from \"./DetailItem\";\nimport { PageFormValues } from \"./PageForm\";\nimport _ from \"lodash\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormikContext } from \"formik\";\nimport useGetAddressData from \"flows/services/addressesApi\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype Props = {\n loading: boolean;\n uniquePostalCode?: string;\n}\nconst { POSTAL_CODE } = FORM_FIELD_NAMES;\n\nfunction generateSuggestions(needMoreText: any, postalCodesList?: string[], currentPostalCode?: string) {\n if (!postalCodesList || !currentPostalCode || currentPostalCode.length < 3) {\n return [];\n }\n\n const filteredList = postalCodesList.filter(item => item.includes(currentPostalCode));\n\n if (filteredList.length > 20) {\n return [needMoreText];\n }\n\n return filteredList.map(item => ({\n value: item,\n label: <>{currentPostalCode ?\n item.split(currentPostalCode)\n .map((parts, index, array) => <>\n {parts}\n {index !== array.length - 1 &&\n \n {currentPostalCode}\n \n }\n >)\n : item}>\n }));\n}\nexport default function PostalCodeComponent(props: Props) {\n const { loading, uniquePostalCode } = props;\n const { values, setFieldValue } = useFormikContext();\n const { postalCodes, getPostalCodes } = useGetAddressData();\n const { postalCode, county, city, streetName, country } = values;\n const { formatMessageWithKey } = usePersonalProfileContext();\n\n useEffect(() => {\n setFieldValue(\"postalCodes\", postalCodes);\n }, [postalCodes, setFieldValue])\n\n useEffect(() => {\n setFieldValue(\"postalCode\", postalCode); \n },[postalCode, setFieldValue])\n\n //Postal code logic\n const waitingToGetPostalCodes = useMemo(() =>\n _.debounce(({ city: cityRequest, county: countyRequest, streetName: searchTerm = \"\" }) => {\n const request = {\n countyId: countyRequest.replace(\"~\" + BUCHAREST_CITY, \"\"),\n cityId: cityRequest,\n searchTerm\n }\n getPostalCodes(request);\n }, 1000)\n , [getPostalCodes]);\n\n useEffect(() => {\n if (country === ROMANIA &&\n !_.isEmpty(county) &&\n !_.isEmpty(city)\n ) {\n waitingToGetPostalCodes({ city, streetName, county });\n return;\n }\n setFieldValue(POSTAL_CODES, [], true);\n }, [city, county, streetName, waitingToGetPostalCodes, country, setFieldValue]);\n\n // Behavior correction\n if (postalCodes && postalCodes.length === 1) {\n if (postalCode !== postalCodes[0]) {\n setFieldValue(POSTAL_CODE, postalCodes[0], true);\n }\n return \n }\n\n if (uniquePostalCode) {\n if (postalCode !== uniquePostalCode) {\n setFieldValue(POSTAL_CODE, uniquePostalCode, true);\n }\n return \n }\n\n return (\n {formatMessageWithKey(\"needMoreInput\")}> },\n postalCodes,\n postalCode\n )\n }\n }\n />\n )\n}\n","export enum FORM_FIELD_NAMES {\n COUNTRY = \"country\",\n COUNTRY_NAME = \"countryName\",\n COUNTY = \"county\",\n COUNTY_NAME = \"countyName\",\n CITY = \"city\",\n CITY_NAME = \"cityName\",\n STREET_NAME = \"streetName\",\n STREET_NUMBER = \"streetNumber\",\n BLOCK = \"block\",\n ENTRANCE = \"entrance\",\n FLOOR = \"floor\",\n APARTMENT = \"apartment\",\n POSTAL_CODE = \"postalCode\"\n}\n\nexport type Address = {\n type?: \"residence\" | \"correspondence\" | \"domicile\";\n selectedAddress?: \"residence\" | \"correspondence\" | \"domicile\" | \"clientChoice\";\n country: string;\n countryName: string;\n county: string;\n countyName: string;\n city: string;\n cityName: string;\n postalCode: string;\n streetName: string;\n streetNumber: string;\n block: string;\n entrance: string;\n floor: string;\n apartment: string;\n newEntry?: boolean;\n sameAsAddress?: string;\n defaultAddress?: boolean;\n}\n\nexport const POSTAL_CODES = \"postalCodes\"\nexport const ROMANIA = '106';\nexport const BUCHAREST_CITY = '42'","import { AUTHENTICATED_CLIENT_FLOWS, QUERY_FLOW } from \"services/domain\";\nimport { TABS, UpdateContactDataSteps } from \"./services/domain\";\n\nimport { EditEmailAndPhoneNumberForm } from \"./components/EditEmailAndPhoneNumberForm\";\nimport Loader from \"components/Loader\";\nimport _ from \"lodash\";\nimport { getQueryVariable } from \"services/axiosHook\";\nimport { useAppContext } from \"services/appContext\";\nimport { useEffect } from \"react\";\nimport { useGenerateOtpApi } from \"./services/generateOtpApi\";\nimport { useGetContactDataApi } from \"./services/getContactDataApi\";\nimport { useVerifyOtpApi } from \"./services/verifyOtpApi\";\n\ntype UpdateContactDataProps = {\n handleSubmit: () => unknown;\n}\n\nexport default function UpdateContactData({ handleSubmit }: UpdateContactDataProps) {\n const { details } = useAppContext();\n const { loading, error, contactData, getContactData } = useGetContactDataApi();\n const { generateOtp } = useGenerateOtpApi();\n const { verifyOtp } = useVerifyOtpApi();\n let tabName = TABS.PHONE_NUMBER;\n let step = UpdateContactDataSteps.EDIT_PHONE_NUMBER;\n\n if(details && details.tabName === TABS.EMAIL){\n tabName = TABS.EMAIL;\n step = UpdateContactDataSteps.EDIT_EMAIL;\n }\n\n useEffect(getContactData, [getContactData])\n\n if (loading || error) {\n return ;\n }\n\n let prefix = \"+40\";\n let number = \"\";\n let email = \"\";\n let lastTimeUpdatedEmail = \"\";\n let lastTimeUpdatedPhone = \"\";\n\n if (contactData) {\n if (!_.isEmpty(contactData.phoneNumberPrefix) && getQueryVariable(QUERY_FLOW) === AUTHENTICATED_CLIENT_FLOWS.PERSONAL_PROFILE) {\n prefix = contactData.phoneNumberPrefix;\n }\n if (!_.isEmpty(contactData.phoneNumber)) {\n number = contactData.phoneNumber;\n }\n if (!_.isEmpty(contactData.emailAddress)) {\n email = contactData.emailAddress;\n }\n if (!_.isEmpty(contactData.lastTimeUpdatedEmailAddress)) {\n lastTimeUpdatedEmail = contactData.lastTimeUpdatedEmailAddress;\n }\n if (!_.isEmpty(contactData.lastTimeUpdatedPhoneNumber)) {\n lastTimeUpdatedPhone = contactData.lastTimeUpdatedPhoneNumber;\n }\n }\n\n return (\n \n )\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Pages } from \"flows/PersonalProfile/services/domain\";\nimport image from \"assets/rejected-request.png\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\nconst TIME_BLOCKED_DEFAULT = \"30min\";\n\ntype Props = {\n timeBlocked?: string;\n}\n\nexport default function ClientBlocked({ timeBlocked = TIME_BLOCKED_DEFAULT }: Props) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { goToPage } = usePersonalProfileContext();\n\n return (\n \n \n\n \n \n \n \n\n \n {formatMessageWithKey(\"title.blocked.\" + timeBlocked)}\n \n\n \n\n \n {formatMessageWithKey(\"description.blocked\")}\n \n \n\n \n\n \n {\n\t\t\t\t\t\tconst link = document.createElement(\"a\");\n\t\t\t\t\t\tlink.href = `tel:${formatMessageWithKey(\"supportNumber\")}`;\n\t\t\t\t\t\tlink.target = \"_blank\";\n\t\t\t\t\t\tlink.click();\n\t\t\t\t\t}}\n />\n goToPage(Pages.MY_DATA)}\n />\n\n \n \n );\n}","import { Body, Box, Space } from \"omnichannel-design-system\";\nimport { EditEmailAndPhoneNumberFormValues, TABS } from \"../services/domain\";\n\nimport TextField from \"components/form/TextField\";\nimport { useFormikContext } from \"formik\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype Props = {\n lastTimeUpdated?: string;\n}\n\n\nexport default function EditEmail({ lastTimeUpdated }: Props) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { touched, errors } = useFormikContext()\n return (\n \n \n\n \n\n \n\n \n {formatMessageWithKey(TABS.EMAIL + \".descriptionAfterTextFiled\")}\n \n\n \n\n \n\n \n {lastTimeUpdated ? formatMessageWithKey(\"phoneNumber.lastTimeUpdated\", { date: lastTimeUpdated }) : formatMessageWithKey(\"email.lastUpdateDate.isNull\")}\n \n\n \n \n )\n}","import 'moment/locale/ro';\n\nimport { EditEmailAndPhoneNumberFormValues, PageFromProps, TABS, UpdateContactDataSteps, VerifyOtpResponse } from \"../services/domain\";\nimport EditPhoneNumber, { roPrefix } from \"./EditPhoneNumber\";\nimport { FormikErrors, useFormikContext, withFormik } from \"formik\";\nimport { SetStateAction, useCallback, useEffect, useState } from 'react';\n\nimport { Box } from \"omnichannel-design-system\";\nimport { Button } from \"components/Button\";\nimport ClientBlocked from \"./ClientBlocked\";\nimport { EMAIL_REGEX } from 'flows/services/domain';\nimport EditEmail from \"./EditEmail\";\nimport { Heading } from \"components/Heading\";\nimport { LooseObject } from 'services/types';\nimport Tabs from \"components/Tabs\";\nimport ValidateOtpEmail from \"./ValidateOtpEmail\";\nimport ValidateOtpPhone from \"./ValidateOtpPhone\";\nimport _ from \"lodash\";\nimport { getQueryVariable } from 'services/axiosHook';\nimport moment from \"moment\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\nimport {GlobalEvents} from \"services/globalEvents\";\n\ntype HandleOtpGenerationResponse = {\n setValues: (values: SetStateAction, shouldValidate?: boolean | undefined) => void;\n setFieldTouched: (field: string, isTouched?: boolean | undefined, shouldValidate?: boolean | undefined) => void\n}\n\ntype HandleValidationResponse = {\n step: UpdateContactDataSteps;\n setValues: (values: SetStateAction, shouldValidate?: boolean | undefined) => void;\n}\n\nconst { EDIT_PHONE_NUMBER, EDIT_EMAIL, CLIENT_BLOCKED, VALIDATE_OTP_EMAIL, VALIDATE_OTP_PHONE } = UpdateContactDataSteps;\nconst { EMAIL, PHONE_NUMBER } = TABS;\n\nfunction getBlockedTime(values: EditEmailAndPhoneNumberFormValues) {\n let timeBlocked;\n const { otpGenerateResponse, otpVerifyResponse } = values;\n if (otpGenerateResponse && otpGenerateResponse.blockageTime) {\n timeBlocked = otpGenerateResponse.blockageTime;\n }\n\n if (otpVerifyResponse && otpVerifyResponse.blockageTime) {\n timeBlocked = otpVerifyResponse.blockageTime;\n }\n return timeBlocked;\n}\n\nexport function TabContentInner(props: PageFromProps) {\n const { lastTimeUpdated, initialValues } = props;\n const { setValues, isValid, values, handleSubmit } = useFormikContext()\n const { step, tabName } = values;\n const { email: emailLastTimeUpdated, phone: phoneLastTimeUpdated } = lastTimeUpdated;\n const { formatMessageWithKey } = usePersonalProfileContext();\n\n const generateContent = useCallback((currentStep: UpdateContactDataSteps) => {\n switch (currentStep) {\n case EDIT_PHONE_NUMBER:\n return ;\n case EDIT_EMAIL:\n return ;\n case VALIDATE_OTP_PHONE:\n return ;\n case VALIDATE_OTP_EMAIL:\n return ;\n default:\n return <>{currentStep} will be soon implemented>;\n }\n }, [phoneLastTimeUpdated, emailLastTimeUpdated])\n\n const [displayContent, setDisplayContent] = useState(generateContent(step));\n\n useEffect(() => {\n setDisplayContent(generateContent(step))\n }, [step, generateContent]);\n\n const setTab = useCallback((tab: string) => {\n setValues((oldValues) => ({\n ...oldValues,\n step: tab === PHONE_NUMBER ? EDIT_PHONE_NUMBER : EDIT_EMAIL,\n emailAddress: initialValues.emailAddress ? initialValues.emailAddress : \"\",\n phoneNumberPrefix: initialValues.phoneNumberPrefix ? initialValues.phoneNumberPrefix : \"\",\n phoneNumber: initialValues.phoneNumber ? initialValues.phoneNumber : \"\",\n otpCode: \"\"\n }));\n }, [setValues, initialValues.emailAddress, initialValues.phoneNumber, initialValues.phoneNumberPrefix])\n\n useEffect(() => {\n if ([VALIDATE_OTP_EMAIL, VALIDATE_OTP_PHONE].includes(values.step) && values.otpCode.length === 6) {\n handleSubmit();\n }\n }, [values.otpCode, values.step, handleSubmit])\n\n if (step === CLIENT_BLOCKED) {\n return ;\n }\n\n moment.locale(getQueryVariable(\"lang\").toLocaleLowerCase());\n\n return (\n \n \n\n \n \n \n\n {displayContent}\n\n \n \n )\n}\n\nfunction handlePhoneOtpGenerationResponse(props: HandleOtpGenerationResponse) {\n const { setValues, setFieldTouched } = props;\n\n return (response: VerifyOtpResponse) => {\n setFieldTouched(\"otpCode\", false);\n let newValues: LooseObject = {\n otpGenerateResponse: response,\n };\n\n if (response.contactDataFormatValid) {\n newValues = {\n ...newValues,\n step: response.blocked ? CLIENT_BLOCKED : VALIDATE_OTP_PHONE,\n otpVerifyResponse: undefined,\n otpCode: \"\"\n }\n }\n setValues(oldValues => ({ ...oldValues, ...newValues }), true)\n }\n}\n\nfunction handleEmailOtpGenerationResponse(props: HandleOtpGenerationResponse) {\n const { setValues, setFieldTouched } = props;\n\n return (response: VerifyOtpResponse) => {\n let isEmailValid = true;\n setFieldTouched(\"otpCode\", false);\n if(!response.contactDataFormatValid) {\n isEmailValid = false;\n document.dispatchEvent(new CustomEvent(GlobalEvents.SHOW_SNACK_BAR, {\n detail: { message: \"dbn.onboarding.emailBackendValidation\" }\n }));\n }\n const computeStep = (step:UpdateContactDataSteps) => {\n if(!isEmailValid) {\n return step;\n }\n return response.blocked ? CLIENT_BLOCKED : VALIDATE_OTP_EMAIL;\n }\n setValues(oldValues => ({\n ...oldValues,\n step: computeStep(oldValues.step),\n otpGenerateResponse: response,\n otpVerifyResponse: undefined,\n otpCode: \"\"\n }), true)\n }\n}\n\nfunction handleValidationResponse(props: HandleValidationResponse) {\n const { step, setValues } = props;\n return (response: VerifyOtpResponse) => {\n setValues(oldValues => ({\n ...oldValues,\n step,\n otpVerifyResponse: response,\n otpGenerateResponse: undefined,\n otpCode: response.valid ? oldValues.otpCode : \"\"\n }), true)\n }\n}\n\nexport const EditEmailAndPhoneNumberForm = withFormik({\n mapPropsToValues: ({ initialValues }) => {\n return { ...initialValues };\n },\n validate: function ({ phoneNumber, phoneNumberPrefix, emailAddress, otpCode, step }: EditEmailAndPhoneNumberFormValues) {\n let errors: FormikErrors = {};\n\n switch (step) {\n case EDIT_PHONE_NUMBER: {\n if (_.isEmpty(phoneNumberPrefix)) {\n errors.phoneNumberPrefix = \"prefixNumber.require\";\n } else if (!phoneNumberPrefix.match(/^([0-9+]{0,4})$/) || !(phoneNumberPrefix.startsWith(\"+\") || phoneNumberPrefix.startsWith(\"00\"))) {\n errors.phoneNumberPrefix = \"prefixNumber.invalidFormat\";\n }\n\n if (_.isEmpty(phoneNumber)) {\n errors.phoneNumber = \"contactData.require\";\n } else if (!phoneNumber.match(/^([0-9]{4,12})$/)) {\n errors.phoneNumber = PHONE_NUMBER + \"error.isNotValidFormat\";\n } else if (phoneNumberPrefix && roPrefix.includes(phoneNumberPrefix) && phoneNumber && !phoneNumber.startsWith(\"7\")) {\n errors.phoneNumber = \"contactData.invalidPhoneNumber\";\n }\n break;\n }\n case EDIT_EMAIL: {\n\n if (_.isEmpty(emailAddress)) {\n errors.emailAddress = EMAIL + \"error.canBeEmpty\";\n } else if (emailAddress.length > 50) {\n errors.emailAddress = EMAIL + \"error.isToLong\";\n } else if (!emailAddress.match(EMAIL_REGEX)) {\n errors.emailAddress = EMAIL + \"error.isNotValidFormat\";\n }\n break;\n }\n case VALIDATE_OTP_EMAIL:\n case VALIDATE_OTP_PHONE: {\n if (_.isEmpty(otpCode)) {\n errors.otpCode = \"error.canBeEmpty\";\n }\n break;\n }\n default: console.log(step + \" need validation\");\n }\n\n return errors;\n },\n handleSubmit: (values, bag) => {\n const { step, phoneNumberPrefix, phoneNumber, emailAddress } = values;\n const { props: { onSubmit, generateOtp, verifyOtp }, setValues, setFieldTouched } = bag;\n switch (step) {\n case EDIT_PHONE_NUMBER:\n return generateOtp({ contactType: \"phone\", phoneNumber, phoneNumberPrefix }, handlePhoneOtpGenerationResponse({ setValues, setFieldTouched }))\n case EDIT_EMAIL:\n return generateOtp({ contactType: \"email\", emailAddress }, handleEmailOtpGenerationResponse({ setValues, setFieldTouched }));\n case VALIDATE_OTP_EMAIL:\n case VALIDATE_OTP_PHONE: {\n if (values.otpVerifyResponse?.valid) {\n onSubmit(values);\n } else {\n verifyOtp({ otp: values.otpCode, contactType: step === VALIDATE_OTP_EMAIL ? \"email\" : \"phone\" }, handleValidationResponse({ step, setValues }));\n }\n break;\n }\n default: onSubmit(values);\n }\n },\n})(TabContentInner);","import { AUTHENTICATED_CLIENT_FLOWS, QUERY_FLOW } from \"services/domain\";\nimport { Body, Box, InlineMessage, Space } from \"omnichannel-design-system\";\nimport { EditEmailAndPhoneNumberFormValues, TABS } from \"../services/domain\";\nimport { useEffect, useState } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport TextField from \"components/form/TextField\";\nimport { constVoid } from \"fp-ts/lib/function\";\nimport { getQueryVariable } from \"services/axiosHook\";\nimport { useFormikContext } from \"formik\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\ntype Props = {\n lastTimeUpdated?: string;\n}\n\nexport const roPrefix = [\"+40\", \"0040\"];\n\nfunction isPrefixFromOtherCountry(phoneNumberPrefix: string | undefined) {\n if (phoneNumberPrefix && !roPrefix.includes(phoneNumberPrefix)) {\n return true;\n }\n\n return false;\n}\n\n\n\nexport default function EditPhoneNumber({ lastTimeUpdated }: Props) {\n const { touched, errors, values, setValues } = useFormikContext();\n const { otpGenerateResponse, prefixNumberIsFromOtherCountry } = values;\n const { formatMessageWithKey } = usePersonalProfileContext();\n const [invalidPhoneNumber, setInvalidPhoneNumber] = useState(false);\n\n useEffect(() => {\n if (otpGenerateResponse && !otpGenerateResponse.contactDataFormatValid) {\n setInvalidPhoneNumber(true);\n }\n }, [otpGenerateResponse])\n\n useEffect(() => {\n setInvalidPhoneNumber(false);\n }, [values.phoneNumber, values.phoneNumberPrefix])\n\n const showPhoneNumberError = (errors.phoneNumber || invalidPhoneNumber) && touched.phoneNumber;\n\n return (\n \n \n\n \n \n \n setValues(({ phoneNumberPrefix, ...otherOldValues }) => ({\n ...otherOldValues,\n phoneNumberPrefix,\n prefixNumberIsFromOtherCountry: isPrefixFromOtherCountry(phoneNumberPrefix)\n }))\n }\n touched={touched.phoneNumberPrefix}\n error={errors.phoneNumberPrefix ? formatMessageWithKey(errors.phoneNumberPrefix) : undefined}\n />\n \n\n \n\n \n \n \n \n\n\n {!!showPhoneNumberError && (\n \n \n\n \n \n )}\n\n \n\n \n {formatMessageWithKey(TABS.PHONE_NUMBER + \".descriptionAfterTextFiled\")}\n \n\n {prefixNumberIsFromOtherCountry && (\n \n \n\n \n\n \n \n )}\n\n \n\n \n {lastTimeUpdated ? formatMessageWithKey(\"phoneNumber.lastTimeUpdated\", { date: lastTimeUpdated }) : formatMessageWithKey(\"phone.lastUpdateDate.isNull\")}\n \n\n \n \n )\n}","import { Box, Space } from \"omnichannel-design-system\";\n\nimport Banner from \"components/Banner\";\nimport { EditEmailAndPhoneNumberFormValues } from \"../services/domain\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\n\nexport default function OtpValidateBanners({ otpGenerateResponse: generateOtpResponse, otpVerifyResponse: verifyOptResponse, step }: EditEmailAndPhoneNumberFormValues) {\n const { formatMessageWithKey } = usePersonalProfileContext();\n\n if (verifyOptResponse && verifyOptResponse.valid) {\n return (\n \n \n\n \n\n \n \n )\n }\n\n if (verifyOptResponse && verifyOptResponse.remainingAttempts) {\n return (\n \n \n\n \n\n \n \n )\n }\n\n if (verifyOptResponse && verifyOptResponse.remainingAttempts === 0) {\n return (\n \n \n\n \n\n \n \n )\n }\n\n if (generateOtpResponse) {\n return (\n \n \n\n \n\n \n \n )\n }\n return <>>\n}","import { Body, Box, Button, PencilIcon, Space, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { EditEmailAndPhoneNumberFormValues, TABS, UpdateContactDataSteps, VerifyOtpResponse } from \"../services/domain\";\nimport { useEffect, useState } from 'react';\n\nimport OtpValidateBanners from \"./OtpValidateBanners\";\nimport PinInput from \"components/form/PinInput\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormikContext } from \"formik\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\nimport { useResendOtpApi } from \"../services/resendOtpApi\";\n\nconst { EDIT_EMAIL, CLIENT_BLOCKED } = UpdateContactDataSteps;\n\nexport default function ValidateOtpEmail() {\n const { values, setValues, errors, touched, setFieldTouched } = useFormikContext();\n const [resendDisabled, setResendDisabled] = useState(true);\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { resendOtp } = useResendOtpApi();\n const { emailAddress, otpVerifyResponse, otpGenerateResponse } = values;\n const gotToEditPhone = () => {\n setValues(oldValues => ({\n ...oldValues,\n step: EDIT_EMAIL,\n otpGenerateResponse: undefined,\n otpVerifyResponse: undefined\n }))\n }\n\n let isOtpValid = otpVerifyResponse && otpVerifyResponse.valid;\n const pinIsReadOnly = isOtpValid || (otpVerifyResponse && otpVerifyResponse.remainingAttempts === 0);\n\n useEffect(() => {\n if (otpGenerateResponse && otpGenerateResponse.resendTimeoutSeconds && otpGenerateResponse.resendTimeoutSeconds > 0) {\n setTimeout(() => setResendDisabled(false), otpGenerateResponse.resendTimeoutSeconds * 1000);\n } else {\n setResendDisabled(false);\n }\n }, [otpGenerateResponse]);\n\n const resend = () => {\n setResendDisabled(true);\n resendOtp({ contactType: \"email\" },\n (response: VerifyOtpResponse) => {\n setFieldTouched(\"otpCode\", false);\n setValues(oldValues => ({\n ...oldValues,\n otpGenerateResponse: response,\n step: response.blocked ? CLIENT_BLOCKED : oldValues.step,\n otpVerifyResponse: undefined,\n otpCode: \"\",\n }))\n });\n }\n\n return (\n \n \n\n \n \n \n \n {formatMessageWithKey(TABS.EMAIL + \".labelOnlyRead\")}\n \n\n \n\n \n {unsafeLocalizedString(emailAddress)}\n \n \n\n \n\n {\n !isOtpValid && (\n \n \n \n )\n }\n\n \n \n\n \n\n \n {formatMessageWithKey(TABS.EMAIL + \".descriptionSecond\")}\n \n\n \n\n \n\n \n\n \n \n \n {formatMessageWithKey(TABS.EMAIL + \".notReceived\")}\n \n \n\n \n\n \n \n\n \n\n \n\n {\n !isOtpValid && (\n \n )\n }\n \n );\n}","import { Body, Box, Button, PencilIcon, Space, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { EditEmailAndPhoneNumberFormValues, TABS, UpdateContactDataSteps, VerifyOtpResponse } from \"../services/domain\";\nimport { useEffect, useState } from 'react';\n\nimport OtpValidateBanners from \"./OtpValidateBanners\";\nimport PinInput from \"components/form/PinInput\";\nimport { formatPhoneNumber } from \"services/formatPhoneNumber\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useFormikContext } from \"formik\";\nimport { usePersonalProfileContext } from \"flows/PersonalProfile/services/personalProfileContext\";\nimport { useResendOtpApi } from \"../services/resendOtpApi\";\n\nconst { EDIT_PHONE_NUMBER, CLIENT_BLOCKED } = UpdateContactDataSteps;\n\nexport default function ValidateOtpPhone() {\n const { values, setValues, errors, touched, setFieldTouched } = useFormikContext();\n const [resendDisabled, setResendDisabled] = useState(true);\n const { formatMessageWithKey } = usePersonalProfileContext();\n const { resendOtp } = useResendOtpApi();\n const { phoneNumberPrefix = \"\", phoneNumber, otpVerifyResponse, otpGenerateResponse } = values;\n const gotToEditPhone = () => {\n setValues(oldValues => ({\n ...oldValues,\n step: EDIT_PHONE_NUMBER,\n otpGenerateResponse: undefined,\n otpVerifyResponse: undefined\n }))\n }\n\n let isOtpValid = otpVerifyResponse && otpVerifyResponse.valid;\n const pinIsReadOnly = isOtpValid || (otpVerifyResponse && otpVerifyResponse.remainingAttempts === 0);\n\n useEffect(() => {\n if (otpGenerateResponse && otpGenerateResponse.resendTimeoutSeconds && otpGenerateResponse.resendTimeoutSeconds > 0) {\n setTimeout(() => setResendDisabled(false), otpGenerateResponse.resendTimeoutSeconds * 1000);\n } else {\n setResendDisabled(false);\n }\n }, [otpGenerateResponse]);\n\n const resend = () => {\n setResendDisabled(true);\n resendOtp({ contactType: \"phone\" },\n (response: VerifyOtpResponse) => {\n setFieldTouched(\"otpCode\", false);\n setValues(oldValues => ({\n ...oldValues,\n otpGenerateResponse: response,\n step: response.blocked ? CLIENT_BLOCKED : oldValues.step,\n otpVerifyResponse: undefined,\n otpCode: \"\",\n }))\n });\n }\n\n return (\n \n \n\n \n \n \n \n {formatMessageWithKey(TABS.PHONE_NUMBER + \".labelOnlyRead\")}\n \n\n \n \n {unsafeLocalizedString(formatPhoneNumber(phoneNumberPrefix + phoneNumber, [phoneNumberPrefix.length - 1, phoneNumberPrefix.length + 2, phoneNumberPrefix.length + 5], phoneNumberPrefix.length))}\n \n \n\n \n\n {\n !isOtpValid && (\n \n \n \n )\n }\n\n \n \n\n \n\n \n {formatMessageWithKey(TABS.PHONE_NUMBER + \".descriptionSecond\")}\n \n\n \n\n \n\n \n\n \n \n \n {formatMessageWithKey(TABS.PHONE_NUMBER + \".notReceived\")}\n \n \n\n \n\n \n \n\n \n\n \n\n {\n !isOtpValid && (\n \n )\n }\n \n );\n}","import { FormikErrors, FormikTouched } from \"formik\";\n\nimport { GenerateOtpRequest } from \"./generateOtpApi\";\nimport { SetStateAction } from \"react\";\nimport { VerifyOtpRequest } from \"./verifyOtpApi\";\n\nexport enum UpdateContactDataSteps {\n EDIT_PHONE_NUMBER = \"editPhoneNumber\",\n EDIT_EMAIL = \"editMail\",\n VALIDATE_OTP_PHONE = \"validateOtpPhone\",\n VALIDATE_OTP_EMAIL = \"validateOtpEmail\",\n CLIENT_BLOCKED = \"ClientBlocked\"\n}\n\nexport const TABS = {\n PHONE_NUMBER: \"phoneNumber\",\n EMAIL: \"email\",\n}\n\nexport type EditEmailAndPhoneNumberFormValues = {\n emailAddress: string;\n phoneNumberPrefix: string;\n phoneNumber: string;\n prefixNumberIsFromOtherCountry?: boolean;\n otpCode: string;\n tabName: string;\n step: UpdateContactDataSteps;\n otpGenerateResponse?: VerifyOtpResponse;\n otpVerifyResponse?: VerifyOtpResponse;\n}\n\nexport type PageFromProps = {\n generateOtp: (request: GenerateOtpRequest, onSuccess: (response: VerifyOtpResponse) => unknown) => void;\n verifyOtp: ({ otp, contactType }: VerifyOtpRequest, onSuccess: (response: VerifyOtpResponse) => unknown) => void\n lastTimeUpdated: {\n email?: string;\n phone?: string;\n }\n onSubmit: Function;\n initialValues: EditEmailAndPhoneNumberFormValues;\n}\n\nexport type FormikComponentProps = {\n errors: FormikErrors;\n touched: FormikTouched;\n values: EditEmailAndPhoneNumberFormValues;\n setValues: (values: SetStateAction, shouldValidate?: boolean | undefined) => void;\n setFieldTouched: (field: string, isTouched?: boolean | undefined, shouldValidate?: boolean | undefined) => void;\n}\n\nexport type VerifyOtpResponse = {\n valid: boolean;\n remainingAttempts?: number;\n contactDataFormatValid?:boolean;\n blocked: boolean;\n blockageTime?: \"30min\" | \"24h\";\n resendTimeoutSeconds?: number;\n}","import { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\nimport { VerifyOtpResponse } from \"./domain\";\nimport { executeAxios } from \"services/axiosHook\";\n\nexport type GenerateOtpRequest = {\n contactType: \"email\" | \"phone\";\n emailAddress?: string;\n phoneNumber?:string;\n phoneNumberPrefix?:string;\n}\n\nconst generateOtpConfig = {\n url: \"/clients-ro/otp/generate\",\n method: \"post\" as Method,\n};\n\nexport function useGenerateOtpApi() {\n const [loading, setLoading] = useState(false);\n const generateOtp = useCallback(({ contactType, emailAddress, phoneNumber, phoneNumberPrefix }: GenerateOtpRequest, onSuccess: (response: VerifyOtpResponse) => unknown) => {\n executeAxios({\n params: { ...generateOtpConfig, data: { contactType, emailAddress, phoneNumber, phoneNumberPrefix } },\n onLoading: setLoading,\n onSuccess\n });\n }, [])\n return {\n loading,\n generateOtp\n }\n}","import {useCallback, useState} from \"react\";\n\nimport {Method} from \"axios\";\nimport {executeAxios} from \"services/axiosHook\";\n\nexport type GetContactDataResponse = {\n emailAddress: string;\n lastTimeUpdatedEmailAddress: string;\n lastTimeUpdatedPhoneNumber: string;\n phoneNumber: string;\n phoneNumberPrefix: string;\n}\n\nconst getContactDataConfig = {\n url: \"/clients-ro/contactData/get\",\n method: \"post\" as Method,\n};\n\nexport function useGetContactDataApi() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState();\n const [contactData, setContactData] = useState()\n\n const getContactData = useCallback(() => {\n executeAxios({\n params: getContactDataConfig,\n onLoading: setLoading,\n onFail: setError,\n onSuccess: setContactData,\n })\n\n }, []);\n\n return {\n loading,\n error,\n contactData,\n getContactData,\n }\n}","import { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\nimport { VerifyOtpResponse } from \"./domain\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst resendOtpConfig = {\n url: \"/clients-ro/otp/resend\",\n method: \"post\" as Method,\n};\n\nexport function useResendOtpApi() {\n const [loading, setLoading] = useState(false);\n const resendOtp = useCallback(({ contactType }: { contactType: \"email\" | \"phone\" }, onSuccess: (response: VerifyOtpResponse) => unknown) => {\n executeAxios({\n params: { ...resendOtpConfig, data: { contactType } },\n onLoading: setLoading,\n onSuccess\n });\n }, [])\n return {\n loading,\n resendOtp\n }\n}","import { useCallback, useState } from \"react\";\n\nimport { Method } from \"axios\";\nimport { VerifyOtpResponse } from \"./domain\";\nimport { executeAxios } from \"services/axiosHook\";\n\nexport type VerifyOtpRequest = {\n contactType: \"email\" | \"phone\";\n otp: string;\n}\n\nconst getContactDataConfig = {\n url: \"/clients-ro/otp/validate\",\n method: \"post\" as Method,\n};\n\nexport function useVerifyOtpApi() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState();\n\n const verifyOtp = useCallback(({otp, contactType}: VerifyOtpRequest, onSuccess: (response: VerifyOtpResponse) => unknown) => {\n executeAxios({\n params: {...getContactDataConfig, data : {otp, contactType}},\n onFail: setError,\n onLoading: setLoading,\n onSuccess\n });\n }, []);\n\n return {\n error,\n loading,\n verifyOtp,\n }\n}","import { LooseObject } from \"services/types\";\nimport {AddressInfo} from \"../pages/MyData/services/domain\";\n\nexport enum Pages {\n MY_DATA = \"myData\",\n LOADING = \"loading\",\n SCAN_ID_AGREEMENTS = \"scanIDAgreements\",\n UPDATE_ADDRESSES_AGREEMENTS = \"updateAddressesAgreements\",\n UPDATE_CONTACT_DATA_AGREEMENTS = \"updateContactDataAgreements\",\n SCAN_ID_STATUS = \"scanIdStatus\",\n UPDATE_ADDRESSES = \"updateAddresses\",\n UPDATE_ADDRESSES_SIGNATURE = \"updateAddressesSignature\",\n UPDATE_CONTACT_DATA = \"updateContactData\",\n UPDATE_CONTACT_DATA_SIGNATURE = \"updateContactDataSignature\",\n SCAN_ID_SIGNATURE = \"scanIdSignature\",\n REQUEST_FOR_SCAN_ID_SUBMITTED = \"requestForScanIdSubmitted\",\n REQUEST_FOR_SCAN_ID_ENDED = \"requestForScanIdEnded\",\n REQUEST_SUBMITTED = \"requestSubmitted\",\n REQUEST_REJECTED_ERROR = \"requestRejectedError\",\n SUCCESSFULLY_SAVED = \"successfullySaved\",\n ERROR = \"error\",\n}\n\nexport const AgreementsMappedToPages = {\n [Pages.SCAN_ID_AGREEMENTS]: Pages.SCAN_ID_STATUS,\n [Pages.UPDATE_ADDRESSES_AGREEMENTS]: Pages.UPDATE_ADDRESSES,\n [Pages.UPDATE_CONTACT_DATA_AGREEMENTS]: Pages.UPDATE_CONTACT_DATA,\n}\n\nexport enum PersonalProfileActions {\n GO_TO_PAGE = \"goToPage\",\n UPDATE_ADDRESS_INFO_DATA = \"updateAddressInfoData\"\n}\n\nexport interface PersonalProfileContextProps {\n currentPage: Pages;\n isStaff?: boolean;\n onSubmit?: Function;\n details?: LooseObject;\n addressInfo?: AddressInfo;\n}\n\nexport function createBaseTranslationKey(page: string) {\n let base = \"dbn.personalProfile.\" + page;\n return function createKeyTranslation(key: string) {\n return base + key;\n }\n}","import { InitialContextState, ProviderProps } from \"constants/types/contextTypes\";\nimport { Pages, PersonalProfileActions, PersonalProfileContextProps, createBaseTranslationKey } from \"./domain\";\nimport { createContext, useCallback, useContext, useMemo, useReducer } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { reducer } from \"./reducer\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { AddressInfo } from \"../pages/MyData/services/domain\";\n\nexport const initialCreditCardState: PersonalProfileContextProps = {\n currentPage: Pages.MY_DATA,\n}\n\ninterface InitialContextStateCreditCard extends InitialContextState {\n state: PersonalProfileContextProps\n}\n\nconst initialContextState: InitialContextStateCreditCard = {\n state: initialCreditCardState,\n dispatch: () => {\n // This is intentional\n }\n};\n\nconst PersonalProfileContext = createContext(initialContextState);\n\nexport function PersonalProfileProvider({ children, isStaff, ...initialState }: ProviderProps) {\n const [state, dispatch] = useReducer(reducer, { ...initialCreditCardState, ...initialState, isStaff } as PersonalProfileContextProps);\n const value = useMemo(() => ({ state, dispatch }), [state]);\n return (\n \n {children}\n \n );\n}\n\nconst {\n GO_TO_PAGE,\n UPDATE_ADDRESS_INFO_DATA\n} = PersonalProfileActions;\n\nexport function usePersonalProfileContext() {\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const { state, dispatch } = useContext(PersonalProfileContext);\n\n const goToPage = useCallback((page: Pages) => {\n dispatch({ type: GO_TO_PAGE, value: page });\n }, [dispatch]);\n\n const updateAddressInfo = useCallback((addressInfo: AddressInfo) => {\n dispatch({type: UPDATE_ADDRESS_INFO_DATA, value: addressInfo})\n }, [dispatch]);\n\n return {\n formatMessageWithKey: (text: string, replaceObject?: LooseObject) => formatMessage(createBaseTranslationKey(state.currentPage)(\".\" + text), replaceObject),\n formatRichTextMessageWithKey: (text: string, replaceObject?: LooseObject) => formatRichTextMessage(createBaseTranslationKey(state.currentPage)(\".\" + text), replaceObject),\n currentPage: state.currentPage,\n isStaff: state.isStaff,\n goToPage,\n onSubmit: state.onSubmit,\n updateAddressInfo,\n addressInfo: state.addressInfo\n };\n}","import { PersonalProfileActions, PersonalProfileContextProps } from \"./domain\";\n\nimport { Action } from \"constants/types/contextTypes\";\n\nconst {\n GO_TO_PAGE,\n UPDATE_ADDRESS_INFO_DATA\n} = PersonalProfileActions;\n\nexport function reducer(state: PersonalProfileContextProps, { type, value }: Action): PersonalProfileContextProps {\n switch (type) {\n case GO_TO_PAGE:\n return { ...state, currentPage: value };\n case UPDATE_ADDRESS_INFO_DATA:\n return { ...state, addressInfo: value};\n default:\n return state;\n }\n}","import 'moment/locale/ro';\n\nimport { LANGUAGE, PROD, RO_LANGUAGE } from \"services/domain\";\nimport { VirtualMailboxProvider, useVirtualMailboxContext } from \"./services/virtualMailboxContext\";\nimport { clearAuthFromSessionStorage, localStorageData } from \"services/storageData\";\nimport { useCallback, useEffect } from \"react\";\n\nimport { Box } from \"omnichannel-design-system\";\nimport DefaultErrorPage from \"components/DefaultErrorPage\";\nimport { EnvironmentButton } from \"components/EnvironmentButton/EnvironmentButton\";\nimport { GlobalEvents } from \"services/globalEvents\";\nimport LandingPage from \"./pages/LandingPage/LandingPage\";\nimport Login from \"./pages/Login/Login\";\nimport OtpValidation from \"./pages/OtpValidation/OtpValidation\";\nimport { Step } from \"./services/domain\";\nimport TemporaryRestricted from \"./pages/TemporaryRestricted/TemporaryRestricted\";\nimport moment from \"moment\";\nimport { useAppContext } from \"services/appContext\";\n\nconst {\n LOGIN,\n OTP_VALIDATION,\n LANDING_PAGE,\n TEMPORARY_RESTRICTED\n} = Step;\n\ntype CurrentPageProps = {\n step: Step;\n goTo: (step: Step) => () => unknown;\n}\n\nexport function getCurrentPage({ step, goTo }: CurrentPageProps) {\n switch (step) {\n case LOGIN:\n return ;\n case OTP_VALIDATION:\n return ;\n case LANDING_PAGE:\n return ;\n case TEMPORARY_RESTRICTED:\n return ;\n default:\n return ;\n }\n}\n\nexport function VirtualMailboxContent() {\n const { step, goToStep } = useVirtualMailboxContext();\n\n const goTo = useCallback((pageTo: Step) => () => {\n goToStep(pageTo);\n }, [goToStep]);\n\n const handleLogout = useCallback(() => {\n clearAuthFromSessionStorage();\n goToStep(LOGIN);\n }, [goToStep]);\n\n useEffect(() => {\n document.addEventListener(GlobalEvents.LOGOUT, handleLogout);\n return () => {\n document.removeEventListener(GlobalEvents.LOGOUT, handleLogout);\n }\n }, [goToStep, handleLogout]);\n\n return (\n \n {getCurrentPage({ step, goTo })}\n \n )\n}\n\nexport default function VirtualMailbox() {\n const { configurations } = useAppContext();\n const environment = configurations ? configurations?.environment?.toLowerCase() : PROD;\n moment.locale(localStorageData.getItem(LANGUAGE) || RO_LANGUAGE);\n return (\n \n {environment && environment !== PROD && }\n \n \n )\n}","import { Body, Box, CallIcon, CallSystemIcon, Divider, DocumentIcon, ProfileSystemIcon, buttonLink, useDeviceUA } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport MoreInfoFloatingBar from \"./MoreInfoFloatingBar\";\nimport imageBackground from \"assets/VirtualMailbox/contact-background.png\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useState } from \"react\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\n\ntype ContactButtonProps = {\n onClick: () => unknown;\n isMobile: boolean;\n showIcon?: boolean;\n}\n\nexport function ContactButton({ onClick, isMobile, showIcon }: ContactButtonProps) {\n const { formatMessage } = useFormatMessage();\n\n if (showIcon) {\n return (\n \n \n \n )\n }\n\n return isMobile ? (\n \n ) : (\n \n {buttonLink(onClick, formatMessage(\"vmb.contact.button\"))}\n \n )\n}\n\ntype ContactProps = {\n showIcon?: boolean;\n isFloating?: boolean;\n}\n\nexport default function Contact({ showIcon, isFloating }: ContactProps) {\n const { isMobile } = useDeviceUA();\n const [showDialog, setShowDialog] = useState(false);\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n\n const handleOpen = () => {\n setShowDialog(true);\n }\n\n const handleClose = () => {\n setShowDialog(false);\n }\n\n const contentList = [\n {\n id: 1,\n Icon: ProfileSystemIcon,\n title: formatMessage(\"vmb.contact.info.login.title\"),\n description: formatRichTextMessage(\"vmb.contact.info.login.description\"),\n }, {\n id: 2,\n Icon: CallIcon,\n title: formatMessage(\"vmb.contact.info.contact.title\"),\n description: formatRichTextMessage(\"vmb.contact.info.contact.description\"),\n }, {\n id: 3,\n Icon: DocumentIcon,\n title: formatMessage(\"vmb.contact.info.documents.title\"),\n description: formatRichTextMessage(\"vmb.contact.info.documents.description\"),\n },\n ]\n\n if (isFloating) {\n return ;\n }\n\n return (\n <>\n \n {showDialog && (\n \n \n\n \n \n {formatMessage(\"vmb.contact.info.title\")}\n \n\n \n \n {contentList.map(({ id, Icon, title, description }) => (\n \n \n \n \n \n {title}\n \n\n \n {description}\n \n \n \n \n ))}\n \n )}\n >\n )\n}","import { Box, Children, ContentRow, Space, useDeviceUA } from \"omnichannel-design-system\";\n\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useState } from \"react\";\n\ntype Props = {\n formBody: Children\n formActions: Children[];\n}\n\nconst DesktopContainer = styled(Box)`\n background-color: ${palette.neutral100};\n margin: -20px;\n\n .formContainer{\n padding: 24px;\n border: solid;\n border-width: 1px;\n border-radius: 8px;\n border-color: ${palette.neutral300};\n background-color: ${palette.white};\n }\n\n .SingleDatePicker{\n display: block;\n }\n`;\n\nexport default function FormContainer({ formBody, formActions }: Props) {\n const [width, setWith] = useState();\n\n const { isMobile } = useDeviceUA();\n\n if (isMobile) {\n return (\n \n {formBody}\n\n \n\n {formActions}\n \n )\n }\n\n const handleWidth = (component: HTMLElement | null) => {\n if (component) {\n setWith(component.getBoundingClientRect().width)\n }\n }\n\n return (\n \n \n \n \n {formBody}\n\n \n\n \n {\n formActions.map((item, index) => {\n const notFirstElement = index > 0\n return (\n <>\n { notFirstElement && }\n \n {item}\n \n >\n )\n })\n }\n \n \n \n \n \n )\n}","import { AVAILABLE_LANGUAGES_LIST, LANGUAGE, RO_LANGUAGE } from \"services/domain\";\nimport { AngleDownIcon, AngleUpIcon, Box, LanguagesIcon, Space, Stack, unsafeLocalizedString, useDeviceUA } from \"omnichannel-design-system\";\n\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport { LooseObject } from \"services/types\";\nimport RadioButton from \"components/RadioButton\";\nimport { executeAxios } from \"services/axiosHook\";\nimport imageBackground from \"assets/VirtualMailbox/language-background.png\";\nimport { localStorageData } from \"services/storageData\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { translationsCallConfig } from \"services/useApplicationInitialization\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useState } from \"react\";\nimport { useTranslationsContext } from \"services/translationsContext\";\n\ntype Props = {\n width?: number;\n flowBase?: string;\n}\n\ntype DesktopContainerProps = {\n $optionListZIndex: number;\n $optionListTransformY: number;\n}\n\nconst DesktopContainer = styled(Stack) `\n color:${palette.white};\n background-color: ${palette.red700};\n cursor: pointer;\n padding-left: 4px;\n width: 50px;\n\n .optionList{\n position: absolute;\n margin-top: 24px;\n margin-left: -4px;\n color:${palette.dark};\n transition: .3s ease-in-out;\n z-index: ${(({ $optionListZIndex }) => $optionListZIndex)};\n transform: translate(0, ${({ $optionListTransformY }) => $optionListTransformY}px)\n }\n\n .optionItem{\n width: 50px;\n padding-left: 4px; \n height: 24px; \n }\n`;\n\nexport default function Language({ flowBase = \"vmb.language\" }: Props) {\n const [showDialog, setShowDialog] = useState(false);\n const [language, setLanguage] = useState(localStorageData.getItem(LANGUAGE) || RO_LANGUAGE);\n const { setTranslations } = useTranslationsContext();\n const { isMobile } = useDeviceUA();\n\n const { formatMessage } = useFormatMessage();\n\n const handleMessage = (key: string) => {\n return formatMessage(flowBase + \".\" + key);\n }\n\n const handleOpen = () => {\n setShowDialog(true);\n }\n\n const handleCloseDialog = () => {\n setShowDialog(false);\n setLanguage(localStorageData.getItem(LANGUAGE) || RO_LANGUAGE)\n }\n\n const handleChangeLanguage = (newLanguage?: string) => {\n localStorageData.setItem(LANGUAGE, newLanguage || language);\n executeAxios({\n params: translationsCallConfig,\n onSuccess: (data: LooseObject) => {\n setTranslations(data);\n setShowDialog(false);\n }\n })\n }\n if (isMobile) {\n return (\n \n \n \n {showDialog && (\n \n \n\n {AVAILABLE_LANGUAGES_LIST.map(value => {\n return (\n setLanguage(value)}\n isDisabled={false}\n isSelected={language === value}\n isRecommended={false}\n label={handleMessage(value)}\n description={\"\"} />\n )\n })}\n \n )}\n );\n }\n\n return (\n \n setShowDialog(previous => !previous)}>\n \n {unsafeLocalizedString(language)}\n \n\n \n\n {showDialog ? : }\n \n\n \n {AVAILABLE_LANGUAGES_LIST.map(item => (\n {\n handleChangeLanguage(item);\n setLanguage(item);\n setShowDialog(false);\n }}\n style={{ backgroundColor: language === item ? palette.neutral300 : palette.neutral100 }}>\n {unsafeLocalizedString(item)}\n \n ))}\n \n \n )\n}","import { Box, Logo, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Heading } from \"components/Heading\";\nimport Language from \"flows/VirtualMailbox/components/Language\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\ntype Props = {\n showLanguages?: boolean;\n}\n\nexport default function LoginHeader({ showLanguages = true }: Props) {\n const { formatMessage } = useFormatMessage();\n\n return (\n \n \n \n {showLanguages && }\n \n\n \n\n \n \n \n \n\n \n \n \n \n )\n}","import { Body, Box, SystemIconProps } from \"omnichannel-design-system\";\nimport React, { useRef, useState } from \"react\";\n\nimport { OutsideClickHandler } from \"components/OutsideClickHandler\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\ntype FloatingContainerProps = {\n $isSelected: boolean;\n}\n\nconst FloatingContainer = styled(Box) `\n position: absolute;\n right: 0px;\n top: 0px;\n height: 100vh;\n opacity: ${({ $isSelected }) => $isSelected ? 1 : 0.5};\n transition: opacity .5s;\n color: ${palette.white};\n z-index: 2;\n\n .floatingItem{\n width: 80px;\n height: 80px;\n background-color:${palette.dark};\n cursor: pointer;\n padding: 4px;\n transition: opacity .5s;\n z-index: 10;\n color: ${palette.blue600};\n\n span {\n text-align: center;\n }\n }\n\n .floatingItemDetailsContainer {\n width: 80px;\n height: 80px;\n }\n .floatingItemDetails {\n box-shadow: 0 0 5px -1px rgb(64 64 64 / 40%);\n position: relative;\n background-color: ${palette.background};\n width: 600px;\n min-height: 80px !important;\n right: -80px;\n transition: .5s ease-in-out;\n z-index: 5;\n }\n\n .floatingItemDetailsContent {\n padding: 10px;\n max-height: 300px;\n overflow-y: auto;\n color: ${palette.dark};\n }\n\n :hover{\n opacity: 1;\n }\n\n .floatingItem:hover{\n opacity: 1;\n }\n\n .selected{\n opacity: 1;\n color: ${palette.blue600};\n }\n`;\n\ntype ContentItem = {\n id: number;\n title: any,\n Icon: (props: SystemIconProps) => React.JSX.Element,\n description: any;\n}\n\ntype Props = {\n contentList: ContentItem[]\n}\n\nexport default function MoreInfoFloatingBar({ contentList }: Props) {\n const [selectedContactItem, setSelectedContactItem] = useState();\n const ref = useRef(null);\n const containerHeight = 80 * contentList.length;\n\n const renderButton = (item: ContentItem, index: number) => {\n const { id, title, Icon } = item;\n const isSelected = selectedContactItem === id;\n return (\n \n setSelectedContactItem(previous => previous !== id ? id : undefined)}>\n \n\n \n {title}\n \n \n \n )\n }\n\n const renderContent = (item: ContentItem) => {\n const { id, description } = item;\n const isSelected = selectedContactItem === id;\n return (\n \n \n {\n if (ref.current && !ref.current.contains(event.target)) {\n setSelectedContactItem(undefined)\n }\n }}\n >\n \n {description}\n \n \n \n \n )\n }\n\n return (\n \n \n {contentList.map(renderButton)}\n \n {contentList.map(renderContent)}\n \n )\n}","import { Body } from \"omnichannel-design-system\";\nimport styled from \"styled-components\";\n\nexport const BodyStyled = styled(Body)`\n text-transform: none;\n`;","import { Box, Space, Stack, useDeviceUA } from \"omnichannel-design-system\";\n\nimport Contact from \"flows/VirtualMailbox/components/Contact\";\nimport Footer from \"./components/Footer\";\nimport { Heading } from \"components/Heading\";\nimport LandingPageHeader from \"./components/LandingPageHeader\";\nimport MessageList from \"./components/MessageList\";\nimport SearchForm from \"./components/SearchForm/SearchForm\";\nimport ViewMessage from \"../ViewMessage/ViewMessage\";\nimport image from \"assets/VirtualMailbox/landscape-background.png\";\nimport styled from \"styled-components\";\nimport { useGetMailboxData } from \"./services/getMailboxData\";\nimport { useState } from \"react\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nconst ContentDesktopStyled = styled(Stack)`\n padding-left: 10%;\n padding-right: 10%;\n width: 100%;\n max-width: 1440px;\n align-content: space-around;\n`;\n\nconst MobileImageContainer = styled(Box)`\n width: calc(100vw - 40px);\n img {\n max-width: 100%;\n object-fit: contain;\n }\n`;\n\nexport default function LandingPage() {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n const { messages, filter, setFilter, refreshMessages } = useGetMailboxData();\n const { isMobile } = useDeviceUA();\n const [messageId, setMessageId] = useState();\n\n const handleBack = (needRefresh?: boolean) => {\n needRefresh && refreshMessages();\n setMessageId(undefined);\n }\n\n if (isMobile) {\n if (messageId) {\n return (\n \n )\n }\n return (\n \n \n\n \n\n \n \n \n\n \n\n \n\n \n\n \n \n );\n }\n\n return (\n \n \n \n \n\n \n\n \n \n \n\n \n \n \n\n \n\n \n\n \n\n \n \n\n \n\n {!!messageId && (\n \n )}\n\n\n \n )\n}","import { Box, Divider, Space } from \"omnichannel-design-system\";\n\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nexport default function Footer() {\n const { formatRichTextMessageWithKey } = useVirtualMailboxContext();\n return (\n \n \n\n \n \n {formatRichTextMessageWithKey(\"footer\")}\n \n )\n}","import { Box, Divider, Logo, LogoutIcon, Space, Stack, useDeviceUA } from \"omnichannel-design-system\";\n\nimport Contact from \"flows/VirtualMailbox/components/Contact\";\nimport { GlobalEvents } from \"services/globalEvents\";\nimport Language from \"flows/VirtualMailbox/components/Language\";\nimport LogoutCounter from \"./LogoutCounter\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\n\nconst DesktopContainer = styled(Box)`\n margin-top: -20px;\n margin-left: -20px;\n margin-right: -20px;\n height: 64px;\n box-shadow: rgba(51, 51, 51, 0.06) 0px 2px 10px 0px, rgba(51, 51, 51, 0.04) 0px 1px 6px 0px;\n\n .logo{\n justify-content: flex-end;\n align-items: center;\n }\n\n .afterLogo{\n background-color: ${palette.red800};\n max-width: 700px;\n }\n\n .actions{\n background-color: ${palette.red700};\n justify-content: flex-start;\n }\n\n .optionList {\n margin-top: 44px;\n }\n`;\n\nexport default function LandingPageHeader() {\n const { isMobile } = useDeviceUA();\n\n const handleLogout = () => {\n document.dispatchEvent(new CustomEvent(GlobalEvents.LOGOUT, {}));\n }\n if (isMobile) {\n return (\n \n \n \n\n \n \n\n \n\n \n\n \n\n \n \n \n \n\n \n\n \n \n )\n }\n\n return (\n \n \n \n\n \n \n\n \n\n \n \n\n \n\n \n\n \n\n \n\n \n \n \n \n \n )\n}","import { Body, unsafeLocalizedString, useDeviceUA } from \"omnichannel-design-system\"\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { GlobalEvents } from \"services/globalEvents\";\nimport { SESSION_GESTURE_DEBOUNCE_TIME } from \"flows/VirtualMailbox/services/domain\";\nimport _ from \"lodash\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { useAppContext } from \"services/appContext\";\n\nfunction computeTimeFormat(timeValue: number) {\n const showDoubleDigits = (value: number) => (\"0\" + value).slice(-2);\n const allSeconds = timeValue / 1000;\n const minutes = Math.floor(allSeconds / 60);\n const seconds = allSeconds - minutes * 60;\n return showDoubleDigits(minutes) + \":\" + showDoubleDigits(seconds);\n}\n\nexport default function LogoutCounter() {\n const { isMobile } = useDeviceUA();\n const { configurations } = useAppContext();\n const sessionTimeout = useMemo(() => configurations.virtualMailboxSessionTimeout as number, [configurations.virtualMailboxSessionTimeout]);\n const [remainingTime, setRemainingTime] = useState(sessionTimeout);\n const [timeIntervalFunction, setTimeIntervalFunction] = useState();\n const [logoutTimeout, setLogoutTimeout] = useState();\n const [isLogoutTimerStarted, setIsLogoutTimerStarted] = useState(true);\n\n useEffect(() => {\n if (isLogoutTimerStarted) {\n setTimeIntervalFunction(setInterval(() => {\n setRemainingTime(previousValue => (previousValue - 1000));\n }, 1000))\n return;\n }\n setRemainingTime(sessionTimeout);\n }, [isLogoutTimerStarted, sessionTimeout]);\n\n useEffect(() => {\n if (!isLogoutTimerStarted && timeIntervalFunction) {\n clearInterval(timeIntervalFunction);\n }\n }, [isLogoutTimerStarted, timeIntervalFunction]);\n\n \n\n useEffect(() => {\n if (isLogoutTimerStarted) {\n setLogoutTimeout(setTimeout(() => {\n document.dispatchEvent(new CustomEvent(GlobalEvents.LOGOUT, {}))\n }, configurations.virtualMailboxSessionTimeout))\n }\n }, [isLogoutTimerStarted, configurations.virtualMailboxSessionTimeout])\n\n useEffect(() => {\n if (!isLogoutTimerStarted && logoutTimeout) {\n clearTimeout(logoutTimeout);\n }\n }, [isLogoutTimerStarted, logoutTimeout]);\n\n const updateIsLogoutTimerDebounce = useMemo(() =>\n _.debounce(() => {\n setIsLogoutTimerStarted(true);\n }, SESSION_GESTURE_DEBOUNCE_TIME),\n []\n );\n const updateIsLogoutTimer = useCallback(() => {\n if (isLogoutTimerStarted) {\n setIsLogoutTimerStarted(false);\n }\n updateIsLogoutTimerDebounce();\n }, [updateIsLogoutTimerDebounce, isLogoutTimerStarted])\n\n useEffect(() => {\n if (isMobile) {\n window.addEventListener(\"touchstart\", updateIsLogoutTimer);\n window.addEventListener(\"touchend\", updateIsLogoutTimer);\n window.addEventListener(\"touchcancel\", updateIsLogoutTimer);\n window.addEventListener(\"touchmove\", updateIsLogoutTimer);\n return;\n }\n window.addEventListener(\"mousemove\", updateIsLogoutTimer);\n\n return () => {\n if (isMobile) {\n window.removeEventListener(\"touchstart\", updateIsLogoutTimer);\n window.removeEventListener(\"touchend\", updateIsLogoutTimer);\n window.removeEventListener(\"touchcancel\", updateIsLogoutTimer);\n window.removeEventListener(\"touchmove\", updateIsLogoutTimer);\n return;\n }\n window.removeEventListener(\"mousemove\", updateIsLogoutTimer);\n }\n }, [updateIsLogoutTimer, isMobile])\n\n return (\n \n {unsafeLocalizedString(computeTimeFormat(remainingTime))}\n \n )\n}","import { Body, Box, Divider, DocumentIcon, Space, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { Dispatch, useState } from 'react';\n\nimport { MessageItem } from \"../services/domain\"\nimport moment from \"moment\";\nimport { palette } from 'omnichannel-design-system/lib/styleConstants';\nimport styled from \"styled-components\";\nimport { useVirtualMailboxContext } from \"../../../services/virtualMailboxContext\";\n\nexport const ContentStyled = styled(Box)`\n padding-top: 10px;\n padding-bottom: 10px;\n cursor: pointer;\n\n .contentList {\n overflow: hidden;\n span{\n text-transform: none !important;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n }\n }\n`;\n\ntype Props = {\n messages: MessageItem[];\n setMessageId: Dispatch>;\n}\n\nexport default function MessageList({ messages, setMessageId }: Props) {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n const [maxDateWidth, setMaxDateWidth] = useState(0);\n\n const handleClick = (itemId: string) => () => {\n setMessageId(itemId);\n }\n\n const alignContentList = (current: HTMLElement | null) => {\n if (current) {\n const currentWidth = current.getBoundingClientRect().width;\n if (currentWidth && currentWidth > maxDateWidth) {\n setMaxDateWidth(currentWidth);\n }\n\n const nextChildren = current.parentNode?.children[1];\n if (nextChildren) {\n nextChildren.setAttribute(\"style\", `padding-left: ${10 + maxDateWidth - currentWidth}px`);\n }\n }\n }\n\n if (!messages?.length) {\n return (\n \n \n {formatMessageWithKey(\"noResult\")}\n \n \n )\n }\n\n return (<> {\n messages.map((message, index) => {\n const parsedDate = moment(message.date);\n\n return (\n \n {index !== 0 && }\n\n \n \n \n {unsafeLocalizedString(parsedDate.format(\"DD\"))}\n \n\n \n {unsafeLocalizedString(parsedDate.format(\"MMM\").toUpperCase().replace(\".\", \"\"))}\n \n \n\n \n \n {unsafeLocalizedString(message.title)}\n \n\n {message.documents && (\n \n \n\n \n\n \n {unsafeLocalizedString(message.documents.join(\", \"))}\n \n \n )}\n \n\n \n\n \n \n {unsafeLocalizedString(parsedDate.format(\"HH:mm\"))}\n \n \n \n \n )\n })\n }>)\n}","import { FilterDialogFormProps, FilterDialogFormValues, FilterValues } from \"../../services/domain\";\nimport { FormikErrors, FormikProps, withFormik } from \"formik\";\nimport { Stack, useDeviceUA } from \"omnichannel-design-system\";\n\nimport { DISPLAY_DATE_FORMAT } from \"flows/VirtualMailbox/services/domain\";\nimport DateField from \"components/form/DateField\";\nimport { Dialog } from \"omnichannel-design-system/lib/vanilla\";\nimport RadioButton from \"components/RadioButton\";\nimport moment from \"moment\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nexport function FilterDialogContent(props: FormikProps & FilterDialogFormProps) {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n const { values, handleClose, handleSubmit, setValues: setFilterParameter } = props;\n const { selectedPeriod, fromDate, toDate } = values;\n const { isMobile } = useDeviceUA();\n\n return (\n \n \n {Object.values(FilterValues).map(item => (\n setFilterParameter(previous => ({ ...previous, selectedPeriod: item }))}\n isDisabled={false}\n isSelected={selectedPeriod === item}\n isRecommended={false}\n label={formatMessageWithKey(item)}\n description={\"\"} />\n ))}\n\n {selectedPeriod === FilterValues.SPECIFIED && (\n \n \n\n \n \n )}\n \n \n )\n}\n\n\nexport const FilterDialogFormik = withFormik({\n mapPropsToValues: ({ initialValues }) => {\n return { ...initialValues };\n },\n validate: ({ fromDate, toDate, selectedPeriod }, { formatMessage }) => {\n const errors: FormikErrors = {};\n if (selectedPeriod === FilterValues.SPECIFIED) {\n if (!fromDate) {\n errors.fromDate = formatMessage(\"required\")\n }\n\n if (!toDate) {\n errors.toDate = formatMessage(\"required\")\n }\n\n const dateDifferenceInYears = moment(toDate).diff(fromDate, \"years\", true);\n\n if (dateDifferenceInYears > 1) {\n errors.toDate = formatMessage(\"differenceIsMoreThenOneYear\")\n }\n }\n return errors;\n },\n handleSubmit: (values, { props }) => {\n props.onSubmit(values);\n },\n})(FilterDialogContent);\n\nexport default function FilterDialogForm({ handleClose, initialValues, onSubmit }: FilterDialogFormProps) {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n return (\n \n )\n}","import { Box, FilterIcon, SearchBar, ThemeProvider, unsafeLocalizedString } from \"omnichannel-design-system\";\nimport { Dispatch, SetStateAction, useState } from \"react\";\nimport { Filter, FilterDialogFormValues } from \"../../services/domain\";\n\nimport { Button } from \"components/Button\";\nimport FilterDialogForm from \"./FilterDialogForm\";\nimport { constVoid } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport styled from \"styled-components\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nconst ContainerStyled = styled(Box)`\n form > div > input {\n border: 0px solid;\n margin: 0px 40px 0px 40px;\n padding: 0px;\n background-color: ${palette.neutral300};\n z-index: 1;\n height: 32px;\n } \n form > div > input: focus{\n box-shadow: inset 0px 0px 0px 0px red;\n }\n button[type=\"submit\"] {\n color: ${palette.dark};\n }\n button[type=\"reset\"] {\n color: ${palette.dark}\n }\n form > div > div {\n width: 100%; \n flex: 1 0 auto !important; \n } \n form > div > div > div {\n flex-flow: row-reverse nowrap !important;\n flex: 1 0 auto !important;\n }\n form > div > div > div > div:nth-child(2){\n flex: 1 0 auto !important;\n }\n form > div {\n background-color: ${palette.neutral300};\n border-color: ${palette.neutral300} !important;\n border: 1px solid;\n border-radius: 4px;\n }\n`;\n\ntype Props = {\n setFilter: Dispatch>;\n filter: Filter;\n}\n\nexport default function SearchForm({ setFilter, filter }: Props) {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n const [showDialog, setShowDialog] = useState(false);\n\n const handleCloseDialog = () => {\n setShowDialog(false);\n }\n\n const handleFilterButton = () => {\n if (filter.filterTypeSelected) {\n setFilter(previous => ({ ...previous, filterTypeSelected: undefined, fromDate: undefined, toDate: undefined }));\n return;\n }\n setShowDialog(true);\n }\n\n const handleSubmit = ({ selectedPeriod, fromDate, toDate }: FilterDialogFormValues) => {\n setFilter(previous => ({ ...previous, filterTypeSelected: selectedPeriod, fromDate, toDate }));\n handleCloseDialog();\n }\n\n const onSearchFieldChange = (value: string) => {\n setFilter(previousValue => ({ ...previousValue, searchText: value }));\n }\n\n const onSearchFieldClear = () => {\n setFilter(previousValue => ({ ...previousValue, searchText: \"\" }));\n }\n\n return (\n \n \n \n {}}\n onClear={onSearchFieldClear} />\n \n \n\n \n \n \n\n {showDialog && (\n \n )}\n \n\n )\n}","export type MessageItem = {\n id: string;\n isReadd: boolean;\n date: Date;\n documents?: string[];\n title: string;\n}\n\nexport type OriginalDataItem = {\n creationTimestamp: string;\n id: string;\n parentId: string;\n read: boolean;\n subject: string;\n attachments:Array<{\n id: string;\n name: string;\n }>;\n}\n\nexport enum FilterValues {\n LAST_WEEK = \"lastWeek\",\n LAST_MONTH = \"lastMonth\",\n LAST_3_MONTHS = \"last3Mounts\",\n SPECIFIED = \"pickPeriod\"\n}\n\nexport type Filter = {\n fromDate?: Date;\n toDate?: Date;\n searchText?: string;\n filterTypeSelected?: FilterValues;\n}\n\nexport type FilterDialogFormValues = {\n selectedPeriod?: FilterValues,\n fromDate?: Date;\n toDate?: Date;\n}\n\nexport type FilterDialogFormProps = {\n\tonSubmit: (values: any) => unknown;\n\tinitialValues: FilterDialogFormValues;\n handleClose: () => unknown;\n}","import { BACKEND_DATE_FORMAT, DEFAULT_PERIOD } from \"flows/VirtualMailbox/services/domain\";\nimport { Filter, FilterValues, MessageItem, OriginalDataItem } from \"./domain\";\nimport { useCallback, useEffect, useState } from \"react\";\n\nimport { LooseObject } from \"services/types\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport moment from \"moment\";\n\nconst getMailboxDataConfig = {\n url: \"/clients-ro/communication/messages/getList\",\n method: \"POST\" as Method,\n}\n\nfunction stringIsOtherString(source: string, searchText: string) {\n if (source && searchText) {\n return source.toUpperCase().includes(searchText.toUpperCase());\n }\n return false;\n}\n\nfunction convertOriginalMessageToMessageItem(originalMessages: OriginalDataItem[]): MessageItem[] {\n if (originalMessages) {\n return originalMessages.map(item => ({\n id: item.id,\n date: new Date(item.creationTimestamp),\n isReadd: item.read,\n title: item.subject,\n documents: item.attachments && item.attachments.length ?\n item.attachments.map(document => document.name) :\n undefined\n }))\n }\n return [];\n}\n\nexport function useGetMailboxData() {\n const [filter, setFilter] = useState({});\n const [originalData, setOriginalData] = useState([]);\n const [messages, setMessages] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const { searchText, filterTypeSelected, fromDate, toDate } = filter;\n\n useEffect(() => {\n let messageItems: MessageItem[] = convertOriginalMessageToMessageItem(originalData);\n\n if (searchText) {\n messageItems = messageItems.filter(item => stringIsOtherString(item.title, searchText));\n }\n setMessages(messageItems)\n\n }, [originalData, searchText])\n\n const refreshMessages = useCallback(() => {\n const data: LooseObject = { periodType: DEFAULT_PERIOD };\n if (filterTypeSelected) {\n const periodType = Object.keys(FilterValues).find(key => (FilterValues as LooseObject)[key] === filterTypeSelected);\n data.periodType = periodType;\n\n if (FilterValues.SPECIFIED === filterTypeSelected) {\n data.from = moment(fromDate).format(BACKEND_DATE_FORMAT);\n data.to = moment(toDate).format(BACKEND_DATE_FORMAT);\n }\n }\n\n executeAxios({\n params: { ...getMailboxDataConfig, data },\n onLoading: setLoading,\n onSuccess: setOriginalData\n })\n }, [filterTypeSelected, fromDate, toDate]);\n\n useEffect(() => {\n refreshMessages();\n }, [refreshMessages]);\n\n return {\n filter,\n setFilter,\n messages,\n refreshMessages,\n loading,\n }\n}","import { FormikErrors, withFormik } from \"formik\";\nimport { LoginProps, LoginValues } from \"./services/domain\";\n\nimport LoginForm from \"./components/LoginForm\";\nimport _ from \"lodash\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\nimport moment from \"moment/moment\";\nimport { DISPLAY_DATE_FORMAT } from \"../../services/domain\";\n\ntype Props = {\n onNext: () => unknown;\n onBlocked: () => unknown;\n}\n\nexport const LoginFormik = withFormik({\n mapPropsToValues: (props) => {\n const { initialValues } = props;\n return { ...initialValues }\n },\n handleSubmit: (values: LoginValues, bag: { props: { onSubmit: Function } }) => {\n bag.props.onSubmit(values);\n },\n validate: (values: LoginValues, props) => {\n const { formatMessageWithKey } = props;\n let errors: FormikErrors = {};\n\n if (_.isEmpty(values.username)) {\n errors.username = formatMessageWithKey(\"required\");\n }\n\n if (!values.birthday) {\n errors.birthday = formatMessageWithKey(\"required\");\n }\n\n if (values.birthday?.length !== 10 || !moment(values.birthday, DISPLAY_DATE_FORMAT).isValid()) {\n errors.birthday = formatMessageWithKey(\"dbn.invalid.date\");\n }\n\n if (values.isFormBlocked) {\n errors.username = formatMessageWithKey(\"username.assistiveText\");\n errors.birthday = formatMessageWithKey(\"birthday.assistiveText\");\n }\n\n return errors;\n }\n})(LoginForm);\n\nexport default function Login({ onNext, onBlocked }: Props) {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n\n return (\n \n )\n}","import { Box, Space, Stack } from \"omnichannel-design-system\";\nimport { DISPLAY_DATE_FORMAT, PageStatus } from \"flows/VirtualMailbox/services/domain\";\nimport LoadingButton, { LoadingButtonAction } from \"components/LoadingButton\";\nimport { LoginProps, LoginValues } from \"../services/domain\";\nimport { useCallback, useEffect, useRef } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport Contact from \"flows/VirtualMailbox/components/Contact\";\nimport FormContainer from \"flows/VirtualMailbox/components/FormContainer\";\nimport LoginHeader from \"flows/VirtualMailbox/components/LoginHeader\";\nimport ManualDateField from \"components/form/ManualDateField\";\nimport TextField from \"components/form/TextField\";\nimport { useFormikContext } from \"formik\";\nimport { useSubmitCredentials } from \"../services/submitCredentials\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nexport default function LoginForm(props: LoginProps) {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n const { submitCredentialsError, submitCredentials } = useSubmitCredentials();\n const { onBlocked, } = props;\n const { setFieldValue, handleSubmit, validateForm, setValues, values } = useFormikContext();\n const { birthday, username, isFormBlocked } = values;\n const loadingButtonRef = useRef(null);\n\n useEffect(() => {\n setValues(prevValues => {\n if (!prevValues.isFormBlocked) {\n return prevValues;\n }\n\n return ({ ...prevValues, isFormBlocked: false });\n });\n }, [birthday, username, setValues])\n\n const onSubmit: LoadingButtonAction = useCallback((resolve) => {\n validateForm()\n .then(errors => {\n if (Object.keys(errors).length) {\n resolve(false);\n handleSubmit();\n return;\n }\n submitCredentials({ birthday, username }, {\n onSuccess: (error) => {\n resolve(!error);\n if (PageStatus.BLOCKED === error) {\n onBlocked();\n } else if (PageStatus.ERROR === error) {\n setValues(prevValues => ({ ...prevValues, isFormBlocked: true }));\n handleSubmit()\n } else if (!error) {\n handleSubmit();\n }\n }\n })\n })\n }, [birthday, username, submitCredentials, validateForm, handleSubmit, onBlocked, setValues]);\n\n const onEnterKeyPress = (e: any) => {\n if (e.keyCode === 13) {\n loadingButtonRef.current?.focus();\n const keyboardEvent = new KeyboardEvent('keydown', {\n code: 'Enter',\n key: 'Enter',\n charCode: 13,\n keyCode: 13,\n view: window,\n bubbles: true\n });\n loadingButtonRef.current?.dispatchEvent(keyboardEvent);\n }\n }\n\n return (\n \n \n\n value.length <= 255 && setFieldValue(\"username\", value)}\n assistiveText={isFormBlocked ? undefined : formatMessageWithKey(\"username.assistiveText\")}\n />\n\n \n \n \n\n {!!submitCredentialsError && (\n \n \n\n \n \n )}\n \n )}\n formActions={[\n ,\n \n ]}\n />\n )\n}","import {\n BACKEND_DATE_FORMAT,\n DISPLAY_DATE_FORMAT,\n PageStatus,\n StatusOtpAndLoginResponse\n} from \"flows/VirtualMailbox/services/domain\";\nimport { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { useCallback, useState } from \"react\";\n\nimport { LoginValues } from \"./domain\";\nimport { Method } from \"axios\";\nimport moment from \"moment\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nconst submitCredentialConfig = {\n method: \"post\" as Method,\n url: \"/authorization/virtualMailBox/noauth/login\",\n}\n\ntype LoginResponse = {\n status: StatusOtpAndLoginResponse;\n reference: string;\n}\n\ntype CallBacks = ExecuteAxiosFunctions & { onSuccess: (pageStatus?: PageStatus) => unknown };\n\nexport function useSubmitCredentials() {\n const [submitCredentialsError, setSubmitCredentialsError] = useState();\n const { updateJwtReference } = useVirtualMailboxContext();\n\n const submitCredentials = useCallback((data: LoginValues, callbacks: CallBacks) => {\n setSubmitCredentialsError(undefined);\n const resolve = callbacks.onSuccess;\n executeAxios({\n params: {\n ...submitCredentialConfig,\n data: {\n userId: data.username,\n dateOfBirth: moment(data.birthday, DISPLAY_DATE_FORMAT).format(BACKEND_DATE_FORMAT)\n }\n },\n onFail: () => resolve(PageStatus.ERROR),\n onSuccess: ({ reference, status }: LoginResponse) => {\n if (StatusOtpAndLoginResponse.INVALID_CREDENTIALS === status) {\n resolve(PageStatus.ERROR);\n setSubmitCredentialsError(PageStatus.ERROR);\n return;\n }\n\n if (StatusOtpAndLoginResponse.USER_BLOCKED === status) {\n resolve(PageStatus.BLOCKED);\n return;\n }\n updateJwtReference(reference)\n resolve();\n }\n })\n }, [updateJwtReference])\n return {\n submitCredentialsError,\n submitCredentials\n }\n}","import { FormikErrors, withFormik } from \"formik\";\nimport { OptValidationProps, OtpValidationValues } from \"./services/domain\";\n\nimport OtpValidationForm from \"./components/OtpValidationForm\";\nimport _ from \"lodash\";\n\ntype Props = {\n onNext: () => unknown;\n onBlocked: () => unknown;\n}\n\nexport const OtpValidationFormik = withFormik({\n mapPropsToValues: (props) => {\n const { initialValues } = props;\n return { ...initialValues }\n },\n handleSubmit: (values: OtpValidationValues, bag: { props: { onSubmit: Function } }) => {\n bag.props.onSubmit(values);\n },\n validate: (values: OtpValidationValues) => {\n let errors: FormikErrors = {};\n\n if (_.isEmpty(values.otp)) {\n errors.otp = \"required\";\n }\n\n return errors;\n }\n})(OtpValidationForm);\n\nexport default function OtpValidation({ onNext, onBlocked }: Props) {\n return (\n \n )\n}","import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\nimport LoadingButton, { LoadingButtonAction } from \"components/LoadingButton\";\nimport { OptValidationProps, OtpValidationValues } from \"../services/domain\";\nimport { PageStatus, StatusOtpAndLoginResponse } from \"flows/VirtualMailbox/services/domain\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport Banner from \"components/Banner\";\nimport { Button } from \"components/Button\";\nimport FormContainer from \"flows/VirtualMailbox/components/FormContainer\";\nimport LoginHeader from \"flows/VirtualMailbox/components/LoginHeader\";\nimport PinInput from \"components/form/PinInput\";\nimport { useFormikContext } from \"formik\";\nimport { useResendOtp } from \"../services/resendOtp\";\nimport { useValidateOtp } from \"../services/validateOtp\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nexport default function OtpValidationForm(props: OptValidationProps) {\n const { formatMessageWithKey, jwtReference } = useVirtualMailboxContext();\n const { validateOtpError, setValidateOtpError, validateOtp } = useValidateOtp();\n const { resendOtp } = useResendOtp();\n const [resendOtpDisabled, setResendOtpDisabled] = useState(true);\n const { onBlocked } = props;\n const { values, handleSubmit, validateForm, setFieldValue } = useFormikContext();\n const { otp } = values;\n const loadingButtonRef = useRef(null);\n\n useEffect((() => {\n const interval = setTimeout(() => {\n setResendOtpDisabled(false);\n }, 15000);\n return () => clearInterval(interval);\n }), [resendOtpDisabled]);\n\n useEffect((() => {\n if (otp.length > 0) {\n setValidateOtpError(undefined)\n }\n }), [otp, setValidateOtpError]);\n\n const onSubmit: LoadingButtonAction = useCallback((resolve) => {\n validateForm()\n .then(errors => {\n if (Object.keys(errors).length) {\n resolve(false);\n handleSubmit();\n return;\n }\n\n validateOtp({ otp, reference: jwtReference as string }, {\n onSuccess: (error?: PageStatus) => {\n resolve(!error);\n if (PageStatus.BLOCKED === error) {\n onBlocked();\n return;\n }\n if (!error) {\n handleSubmit();\n return;\n }\n setFieldValue(\"otp\", \"\");\n }\n })\n\n })\n\n }, [otp, jwtReference, validateForm, handleSubmit, validateOtp, setFieldValue, onBlocked]);\n\n const onEnterKeyPress = (e: any) => {\n if (e.keyCode === 13) {\n loadingButtonRef.current?.focus();\n const keyboardEvent = new KeyboardEvent('keydown', {\n code: 'Enter',\n key: 'Enter',\n charCode: 13,\n keyCode: 13,\n view: window,\n bubbles: true\n });\n loadingButtonRef.current?.dispatchEvent(keyboardEvent);\n }\n }\n\n return (\n \n \n\n \n {formatMessageWithKey(\"description\")}\n \n\n \n\n \n \n {formatMessageWithKey(\"code.notReceived\")}\n \n\n \n\n {\n setResendOtpDisabled(true);\n setValidateOtpError(undefined);\n resendOtp(jwtReference, {\n onSuccess: (status: StatusOtpAndLoginResponse) => {\n if (status === StatusOtpAndLoginResponse.USER_BLOCKED) {\n onBlocked();\n }\n }\n });\n }}\n translationKey={formatMessageWithKey(\"resend\")}\n />\n \n\n {!!validateOtpError && (\n \n \n\n \n \n )}\n \n )}\n formActions={[\n \n ]}\n />\n\n )\n\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { StatusOtpAndLoginResponse } from \"flows/VirtualMailbox/services/domain\";\nimport { useCallback } from \"react\"\n\nconst resendOtpConfig = {\n url: \"/authorization/virtualMailBox/noauth/otp/resend\",\n method: \"POST\" as Method\n}\n\ntype ResendResponse = {\n status: StatusOtpAndLoginResponse;\n}\n\ntype Callbacks = ExecuteAxiosFunctions & { onSuccess: (status: StatusOtpAndLoginResponse) => unknown }\n\nexport function useResendOtp() {\n const resendOtp = useCallback((reference: any, callbacks: Callbacks) => {\n const { onSuccess } = callbacks;\n executeAxios({\n params: { ...resendOtpConfig, data: { reference } },\n onSuccess: ({ status }: ResendResponse) => onSuccess(status)\n })\n\n }, []);\n\n return {\n resendOtp\n }\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\nimport { PageStatus, StatusOtpAndLoginResponse } from \"flows/VirtualMailbox/services/domain\";\nimport { useCallback, useState } from \"react\";\n\nimport { AuthenticationData } from \"services/types\";\nimport { Method } from \"axios\";\nimport { setAuthInSessionStorage } from \"services/storageData\";\n\nconst validateOtpConfig = {\n url: \"/authorization/virtualMailBox/noauth/otp/check\",\n method: \"POST\" as Method,\n}\n\ntype ValidateOtpResponse = {\n status: StatusOtpAndLoginResponse;\n jwtInfo: AuthenticationData;\n}\n\ntype ValidateOtpRequest = {\n otp: string;\n reference: string;\n}\n\ntype Callbacks = ExecuteAxiosFunctions & { onSuccess: (pageStatus?: PageStatus) => unknown }\n\nexport function useValidateOtp() {\n const [validateOtpError, setValidateOtpError] = useState();\n\n const validateOtp = useCallback(({otp, reference}: ValidateOtpRequest, callbacks: Callbacks) => {\n const { onSuccess } = callbacks;\n executeAxios({\n params: { ...validateOtpConfig, data: { otp, reference } },\n ...callbacks,\n onSuccess: ({ status, jwtInfo }: ValidateOtpResponse) => {\n if (status === StatusOtpAndLoginResponse.INVALID_OTP) {\n setValidateOtpError(PageStatus.WRONG_OTP);\n onSuccess(PageStatus.WRONG_OTP);\n return\n } else if (status === StatusOtpAndLoginResponse.EXPIRED_OTP) {\n setValidateOtpError(PageStatus.EXPIRED_OTP);\n onSuccess(PageStatus.EXPIRED_OTP);\n return\n } else if (status === StatusOtpAndLoginResponse.USER_BLOCKED) {\n setValidateOtpError(PageStatus.BLOCKED);\n onSuccess(PageStatus.BLOCKED);\n return\n }\n\n setAuthInSessionStorage(jwtInfo);\n onSuccess();\n }\n })\n }, []);\n\n return {\n validateOtpError,\n setValidateOtpError,\n validateOtp\n }\n}","import { Body, Box, Space, Stack } from \"omnichannel-design-system\";\n\nimport { Button } from \"components/Button\";\nimport FormContainer from \"flows/VirtualMailbox/components/FormContainer\";\nimport LoginHeader from \"flows/VirtualMailbox/components/LoginHeader\";\nimport image from \"assets/rejected-request.png\";\nimport styled from \"styled-components\";\nimport { useVirtualMailboxContext } from \"flows/VirtualMailbox/services/virtualMailboxContext\";\n\nconst TitleStyled = styled(Body)`\n text-transform: none;\n`\n\nexport default function TemporaryRestricted() {\n const { formatMessageWithKey } = useVirtualMailboxContext();\n const handleContact = () => {\n document.location.href = `tel:${formatMessageWithKey(\"phoneContact\")}`;\n }\n return (\n \n \n\n \n\n \n \n {formatMessageWithKey(\"title\")}\n \n\n \n\n \n {formatMessageWithKey(\"description\")}\n \n \n \n )}\n formActions={[\n \n ]}\n />\n )\n}","import {\n AngleLeftIcon,\n Body,\n Box,\n Dialog,\n Divider,\n DocumentIcon,\n DownloadIcon,\n PDFIcon,\n Space,\n Stack,\n unsafeLocalizedString,\n useDeviceUA\n} from \"omnichannel-design-system\";\n\nimport { BodyStyled } from \"flows/VirtualMailbox/components/styles/BodyStyled\";\nimport { Button } from \"components/Button\";\nimport Loader from \"components/Loader\";\nimport LogoutCounter from \"../LandingPage/components/LogoutCounter\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\nimport moment from \"moment\";\nimport { option } from \"fp-ts\";\nimport { palette } from \"omnichannel-design-system/lib/styleConstants\";\nimport { savePdfFromHtmlElement } from \"services/pdfUtils\";\nimport styled from \"styled-components\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\nimport { useGetAttachment } from \"./services/getAttachment\";\nimport { useGetMessageItem } from \"./services/getMessageItem\";\n\nconst DownloadButtonContainer = styled(Box)`\n overflow: hidden;\n button {\n justify-content: left !important;\n }\n .buttonLabel {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: calc(100vw - 60px);\n }\n`;\n\ntype Props = {\n onBack: (needRefresh?: boolean) => unknown;\n messageId: string;\n showInDialog?: boolean;\n}\n\nconst markAsReadConfig = {\n url: \"/clients-ro/communication/messages/markAsRead\",\n method: \"POST\" as Method,\n}\n\nexport default function ViewMessage({ onBack, messageId, showInDialog }: Props) {\n const { formatRichTextMessage } = useFormatMessage();\n const { getAttachment } = useGetAttachment();\n const { message, getMessageLoading } = useGetMessageItem(messageId);\n const { isIOS } = useDeviceUA();\n\n if (getMessageLoading || !message) {\n return ;\n }\n\n const handlePdfDownload = () => {\n savePdfFromHtmlElement(\"messageContent\", message.subject, isIOS);\n }\n\n const handleDocumentDownload = (id: number) => () => {\n const documentData = message.attachments.find(item => item.id === id);\n if (documentData) {\n getAttachment({\n messageId: message.id,\n attachmentId: id\n },\n {\n onSuccess: (data: Blob) => {\n const virtualTag = document.createElement(\"a\");\n const url = window.URL.createObjectURL(data);\n virtualTag.download = documentData.name;\n virtualTag.href = url;\n virtualTag.click();\n }\n }\n );\n }\n }\n\n const handleBack = () => {\n if (!message.read) {\n executeAxios({\n params: { ...markAsReadConfig, data: { parentId: String(message.parentId), messageId: String(message.id) } },\n onSuccess: () => onBack(true)\n });\n return;\n }\n onBack();\n }\n\n const Header = () => (\n \n \n \n \n \n\n \n\n \n\n \n \n \n \n\n \n\n \n \n );\n\n const content = (\n \n {!showInDialog && }\n\n \n \n {unsafeLocalizedString(message.subject)}\n \n\n \n {unsafeLocalizedString(moment(message.creationTimestamp).format(\"DD MMM YYYY, HH:mm\"))}\n \n\n \n\n \n {formatRichTextMessage(message.content)}\n \n\n {message.attachments && (\n \n \n\n \n {message.attachments.map(item => {\n return (\n \n \n \n )\n })}\n \n \n )}\n \n \n );\n\n if (showInDialog) {\n return (\n \n {content}\n \n )\n }\n\n return content;\n}","import { ExecuteAxiosFunctions, executeAxios } from \"services/axiosHook\";\n\nimport { Method } from \"axios\";\nimport { useCallback } from \"react\";\n\ntype RequestParams = {\n messageId: number;\n attachmentId: number;\n}\n\nexport function useGetAttachment() {\n const getAttachment = useCallback(({messageId, attachmentId}: RequestParams,{ onSuccess }: ExecuteAxiosFunctions) => {\n executeAxios({\n params: {\n method: \"GET\" as Method,\n url: `/clients-ro/communication/messages/${messageId}/attachment/${attachmentId}`,\n responseType: 'blob',\n },\n onSuccess\n })\n }, []);\n return {\n getAttachment\n }\n}","import { useEffect, useState } from \"react\";\n\nimport { MessageItem } from \"./domain\";\nimport { Method } from \"axios\";\nimport { executeAxios } from \"services/axiosHook\";\n\nconst getMessageItemConfig = {\n url: \"/clients-ro/communication/messages/getById\",\n method: \"POST\" as Method,\n}\n\nexport function useGetMessageItem(id: string) {\n const [message, setMessage] = useState();\n const [getMessageLoading, setGetMessageLoading] = useState(true);\n\n useEffect(() => {\n executeAxios({\n params: { ...getMessageItemConfig, data: { messageId: id } },\n onSuccess: setMessage,\n onLoading: setGetMessageLoading,\n })\n\n }, [id]);\n\n return {\n message,\n getMessageLoading\n }\n}","export enum Step {\n LOGIN = \"login\",\n OTP_VALIDATION = \"otpValidation\",\n LANDING_PAGE = \"landingPage\",\n TEMPORARY_RESTRICTED = \"temporalRestricted\"\n}\n\nexport enum VirtualMailboxAction {\n GO_TO_STEP = \"goToStep\",\n UPDATE_JWT_REFERENCE = \"saveJwtReference\",\n}\n\nexport type VirtualMailboxContextProps = {\n step: Step;\n jwtReference?: string;\n}\n\nexport enum StatusOtpAndLoginResponse {\n INVALID_CREDENTIALS = \"INVALID_CREDENTIALS\",\n USER_BLOCKED = \"USER_BLOCKED\",\n INVALID_OTP = \"INVALID_OTP\",\n EXPIRED_OTP = \"EXPIRED_OTP\",\n OK = \"OK\",\n}\n\nexport enum PageStatus {\n ERROR = \"error\",\n BLOCKED = \"blocked\",\n WRONG_OTP = \"wrongOtp\",\n EXPIRED_OTP = \"expiredOtp\",\n}\n\nexport const BACKEND_DATE_FORMAT = \"YYYY-MM-DD\";\nexport const DISPLAY_DATE_FORMAT = \"DD.MM.YYYY\";\nexport const DEFAULT_PERIOD = \"LAST_3_MONTHS\";\n\nexport const SESSION_GESTURE_DEBOUNCE_TIME = 3000;\n\nexport const DEFAULT_VMB_SESSION_TIMEOUT = 15 * 60 * 1000; // 15 min default time","import { VirtualMailboxAction, VirtualMailboxContextProps } from \"./domain\";\n\nimport { Action } from \"constants/types/contextTypes\";\n\nconst {\n GO_TO_STEP,\n UPDATE_JWT_REFERENCE\n} = VirtualMailboxAction;\n\nexport function reducer(state: VirtualMailboxContextProps, { type, value }: Action): VirtualMailboxContextProps {\n switch (type) {\n case GO_TO_STEP: return { ...state, step: value };\n case UPDATE_JWT_REFERENCE: return { ...state, jwtReference: value };\n default: return state;\n }\n}","import { InitialContextState, ProviderProps } from \"constants/types/contextTypes\";\nimport React, { useCallback, useContext, useMemo, useReducer } from \"react\";\nimport { Step, VirtualMailboxAction, VirtualMailboxContextProps } from \"./domain\";\n\nimport { LooseObject } from \"services/types\";\nimport _ from \"lodash\";\nimport { constVoid } from \"fp-ts/lib/function\";\nimport { reducer } from \"./reducer\";\nimport { sessionStorageData } from \"services/storageData\";\nimport { useFormatMessage } from \"services/formatMessageHook\";\n\nconst isAuthDataPresent = ![\"token\", \"refreshToken\", \"flowId\"].some(item => _.isEmpty(sessionStorageData.getItem(item)));\n\nconst initialVirtualMailboxState: VirtualMailboxContextProps = {\n step: isAuthDataPresent ? Step.LANDING_PAGE : Step.LOGIN\n}\n\ninterface InitialContextVirtualMailbox extends InitialContextState {\n state: VirtualMailboxContextProps\n}\n\nconst initialContextState: InitialContextVirtualMailbox = {\n state: initialVirtualMailboxState,\n dispatch: constVoid\n};\n\nconst VirtualMailboxContext = React.createContext(initialContextState);\n\n\nexport function VirtualMailboxProvider(props: ProviderProps & { initialState?: VirtualMailboxContextProps }) {\n const [state, dispatch] = useReducer(reducer, props.initialState ? props.initialState : initialVirtualMailboxState);\n const value = useMemo(() => ({ state, dispatch }), [state]);\n return (\n \n {props.children}\n \n );\n}\n\nconst {\n GO_TO_STEP,\n UPDATE_JWT_REFERENCE,\n} = VirtualMailboxAction;\n\nfunction createBaseTranslationKey(page: string) {\n let base = \"vmb.\" + page;\n return function createKeyTranslation(key: string) {\n return base + key;\n }\n}\n\nexport function useVirtualMailboxContext() {\n const { formatMessage, formatRichTextMessage } = useFormatMessage();\n const { state, dispatch } = useContext(VirtualMailboxContext);\n\n const goToStep = useCallback((page: Step) => {\n dispatch({ type: GO_TO_STEP, value: page });\n }, [dispatch]);\n\n const updateJwtReference = useCallback((jwtReference: string) => {\n dispatch({ type: UPDATE_JWT_REFERENCE, value: jwtReference });\n }, [dispatch]);\n\n return {\n ...state,\n formatMessageWithKey: (text: string, replaceObject?: LooseObject & { step?: string }) =>\n formatMessage(createBaseTranslationKey(replaceObject && replaceObject.step ? replaceObject.step : state.step)\n (\".\" + text), replaceObject),\n formatRichTextMessageWithKey: (text: string, replaceObject?: LooseObject & { step?: string }) =>\n formatRichTextMessage(createBaseTranslationKey(replaceObject && replaceObject.step ? replaceObject.step : state.step)\n (\".\" + text), replaceObject),\n goToStep,\n updateJwtReference,\n };\n}"],"names":["MY_DATA","LOADING","SCAN_ID_AGREEMENTS","UPDATE_ADDRESSES_AGREEMENTS","UPDATE_ADDRESSES","UPDATE_ADDRESSES_SIGNATURE","UPDATE_CONTACT_DATA_SIGNATURE","UPDATE_CONTACT_DATA_AGREEMENTS","UPDATE_CONTACT_DATA","SCAN_ID_STATUS","SCAN_ID_SIGNATURE","REQUEST_FOR_SCAN_ID_SUBMITTED","REQUEST_SUBMITTED","REQUEST_REJECTED_ERROR","SUCCESSFULLY_SAVED","ERROR","Pages","PersonalProfileContent","flowName","dispatch","isCIMissing","useAppContext","currentPage","isStaff","goToPage","usePersonalProfileContext","_ref","handleSubmit","_jsx","MyData","toScanYourIDAgreements","toUpdateAddressesAgreements","toUpdateContactDataAgreements","InformationNoteAgreement","AgreementsMappedToPages","ScanIdStatus","onNext","onBack","SignaturePolling","checkConfig","checkIdScanConfig","signConfig","signIdScanConfig","onSubmit","onError","checkAddressesConfig","signAddressesConfig","checkContactDataConfig","signContactDataConfig","SuccessfullySaved","RequestSubmitted","RequestRejectedError","UpdateContactData","UpdateAddresses","Loader","DefaultErrorPage","getCurrentPage","pageTo","getQueryVariable","QUERY_FLOW","value","window","location","href","includes","PersonalProfileOverviewWithContext","_ref2","PersonalProfileProvider","children","PersonalProfile","STATIC_TRANSLATION_KEY","formatMessageWithKey","setPersonalDataConsent","usePersonalDataConsentApi","selectedDocumentType","setSelectedDocumentType","useState","informationNoteToggle","setInformationNoteToggle","DocumentDetails","apiConfig","url","data","reportCode","ReportCodes","params","type","isReadOptional","onConfirm","handleOnConfirmDocument","onFail","undefined","onSuccess","onClose","handleOnCloseDocument","translationsKeys","title","concat","description","confirmationButtonText","downloadButtonText","_jsxs","Box","column","grow","width","Heading","text","Space","units","Body","size","weight","fluid","wrap","shrink","vAlignContent","hAlignContent","src","image","style","maxWidth","alt","NavigationSwitch","switchOn","toggleAction","prevValue","result","DocumentDetailsType","PP_INFORMATION_NOTE","Button","variant","translationKey","action","disabled","personalDataConsentConfig","method","useCallback","executeAxios","props","updateAddressInfo","loading","myData","useLoadPersonalProfile","useEffect","contactData","addressInfo","redirectFunctions","GeneralError","textCode","AccordionItemWrapper","Stack","backgroundColor","palette","neutral100","marginTop","marginBottom","padding","marginLeft","marginRight","overflow","map","item","index","Fragment","CustomBanner","_props$label","Banner","content","ref","_ref$parentNode","_ref$parentNode$paren","_ref$parentNode$paren2","_ref$parentNode$paren3","originalSvg","parentNode","setAttribute","ErrorIcon","color","error800","InfoIcon","warning500","unsafeLocalizedString","label","filterBanners","items","filter","showItem","BannerSection","selectedBanner","setSelectedBanner","length","Carousel","centerPadding","centerMode","slides","_ref3","justifyContent","opacity","itemWidth","screen","onChange","carouselStepValidation","setValue","maxSteps","ContactDataValidation","contactInfo","phoneNumber","emailAddress","homeAddress","residentialAddress","correspondenceAddress","contactInfoBanners","hasError","hasWarning","addressInfoBanners","isValid","ContactDataSection","editContactAction","editAddressAction","editDisabled","setBadge","configurations","Divider","position","left","ProfileItem","profileItem","enablePPEditAddress","PersonalDataSection","personalData","nameSurname","documentType","seriesNumber","documentExpirationDate","documentIssuer","citizenship","redirectAction","formatMessage","useFormatMessage","banners","toLocaleLowerCase","PersonalProfileContainerStyled","styled","_templateObject","_taggedTemplateLiteral","_ContactDataValidatio","personalDataBadge","setPersonalDataBadge","setContractDataBadge","getCutOffInfo","useCutOffData","showCutOffDialog","setShowCutOffDialog","cutOffMessageKeys","setCutOffMessageKeys","redirectByCutOff","useMemo","parsedObject","Object","keys","forEach","key","cutOffData","active","accordionItems","Icon","ProfileBadgeIcon","ProfileSystemIcon","Content","underAge","MailBadgeIcon","MailSystemIcon","Accordion","className","computeButtonsWidth","computedValue","neutral700","dark","cutOffConfig","error","setError","setLoading","onLoading","getProfileDataConfig","setMyData","PersonalProfileSignature","signChange","signChangeLoading","usePersonalProfileSignChangeApi","informationSection","bold","message","align","Signature","handleOnSubmit","pinLabel","pinDescription","checkSignStatus","checkSignAuthorization","useCheckSignAuthorization","stepBack","setStepBack","CheckSignStatus","OK","RETRY","ERR","PinSignaturePolling","checkPinCall","stepBackCondition","loadingMessage","defaultPinComponent","config","setSignChangeLoading","BodyStyle","formatRichTextMessageWithKey","ContainerStyled","neutral300","CenteredTextStyled","_templateObject2","checkPolling","getScanIdStatus","setIntermediaryCall","status","Status","PENDING","console","log","timeout","setTimeout","INTERVAL_POLLING_TIME","DONE","CANCELED","useScanIdStatus","componentIsRendered","useRef","intermediaryCalls","poolingTimeout","setPoolingTimeout","doBackAfterPoolingTimeOuts","clearTimeout","startPooling","firstTimeout","START_POLLING_TIME","POLLING_TIME_OUT","MB_IDENTIFY_DEEP_LINK","sessionStorageData","getItem","current","ProgressContainerStyled","ProgressIcon","blue600","getScanIdStatusConfig","addressesLoading","addressesError","addresses","getAddresses","useGetAddresses","saveAddressLoading","saveAddress","useSaveAddress","values","savedAddress","FORM_FIELD_NAMES","city","BUCHAREST_CITY","countyName","county","sameAsAddress","tabName","PageForm","COUNTRY","COUNTY","STREET_NAME","POSTAL_CODE","CITY","STREET_NUMBER","BLOCK","ENTRANCE","FLOOR","APARTMENT","generateSuggestions","streets","streetName","_Fragment","split","parts","array","blue100","generateResetItem","when","ClientNewAddress","_cities$find","counties","countries","cities","getCountiesAndSectors","getCountries","getCities","getStreets","setStreets","setCities","useGetAddressData","setValues","useFormikContext","country","waitingToGetStreets","_","countyId","cityId","searchTerm","SECTOR_PREFIX","replace","waitingToGetCountries","ROMANIA","previous","countyValue","find","isRomanianCountry","autocompleteFields","DropdownField","searchable","valuesResetOnChange","name","options","AutocompleteInputField","onSelectedSuggestion","newStreet","postalCode","suggestions","TextField","onInputChange","onBlur","newCountry","countryName","cityName","PostalCodeComponent","uniquePostalCode","DetailItem","TABS","RESIDENCE","CORRESPONDENCE","defaultData","apartment","block","entrance","floor","streetNumber","CLIENT_CHOICE","computeAddressText","address","join","TabContainerStyled","TabContentInner","setTouched","selectedAddress","historyData","setHistoryData","currentTab","setCurrentTab","setTab","tab","previousValues","previousHistory","addressForThisTab","residenceAddress","newEntry","defaultAddress","copyDefaultData","onSelectClientChoice","onSelectExistingAddress","Tabs","tabsData","id","isSelected","NavigationElement","firstLine","secondLine","onSelect","selected","buttonLink","stopValidate","notValidate","regExpSpecialSymbols","regExpSpecialSymbolsStreet","validations","checkEmpty","checkEmoji","applyRegex","maxLength","checkAlphaNumerical","isIncludedIn","postalCodes","initialValues","Formik","validate","executeValidation","needMoreText","postalCodesList","currentPostalCode","filteredList","setFieldValue","getPostalCodes","waitingToGetPostalCodes","cityRequest","countyRequest","request","POSTAL_CODES","details","getContactData","useGetContactDataApi","generateOtp","useGenerateOtpApi","verifyOtp","useVerifyOtpApi","PHONE_NUMBER","step","UpdateContactDataSteps","EDIT_PHONE_NUMBER","EMAIL","EDIT_EMAIL","prefix","number","email","lastTimeUpdatedEmail","lastTimeUpdatedPhone","phoneNumberPrefix","AUTHENTICATED_CLIENT_FLOWS","PERSONAL_PROFILE","lastTimeUpdatedEmailAddress","lastTimeUpdatedPhoneNumber","EditEmailAndPhoneNumberForm","lastTimeUpdated","phone","otpCode","TIME_BLOCKED_DEFAULT","ClientBlocked","timeBlocked","basis","link","document","createElement","target","click","EditEmail","touched","errors","assistiveText","date","CLIENT_BLOCKED","VALIDATE_OTP_EMAIL","VALIDATE_OTP_PHONE","getBlockedTime","otpGenerateResponse","otpVerifyResponse","blockageTime","withFormik","mapPropsToValues","match","startsWith","roPrefix","EMAIL_REGEX","bag","setFieldTouched","contactType","response","newValues","contactDataFormatValid","blocked","oldValues","handlePhoneOtpGenerationResponse","isEmailValid","dispatchEvent","CustomEvent","GlobalEvents","SHOW_SNACK_BAR","detail","handleEmailOtpGenerationResponse","_values$otpVerifyResp","valid","otp","handleValidationResponse","emailLastTimeUpdated","phoneLastTimeUpdated","generateContent","currentStep","EditPhoneNumber","moment","format","ValidateOtpPhone","ValidateOtpEmail","displayContent","setDisplayContent","selectedTab","disableUnselectedTabs","isPrefixFromOtherCountry","prefixNumberIsFromOtherCountry","invalidPhoneNumber","setInvalidPhoneNumber","showPhoneNumberError","display","constVoid","otherOldValues","errorDisabled","InlineMessage","noIcon","OtpValidateBanners","generateOtpResponse","verifyOptResponse","remainingAttempts","numberOfRemainingAttempts","resendDisabled","setResendDisabled","resendOtp","useResendOtpApi","gotToEditPhone","isOtpValid","pinIsReadOnly","resendTimeoutSeconds","zIndex","icon","PencilIcon","PinInput","readOnly","resend","formatPhoneNumber","generateOtpConfig","getContactDataConfig","setContactData","resendOtpConfig","PersonalProfileActions","createBaseTranslationKey","page","base","initialCreditCardState","initialContextState","state","PersonalProfileContext","createContext","initialState","useReducer","reducer","Provider","GO_TO_PAGE","UPDATE_ADDRESS_INFO_DATA","formatRichTextMessage","useContext","replaceObject","LOGIN","OTP_VALIDATION","LANDING_PAGE","TEMPORARY_RESTRICTED","Step","goTo","Login","onBlocked","OtpValidation","LandingPage","TemporaryRestricted","VirtualMailboxContent","goToStep","useVirtualMailboxContext","handleLogout","clearAuthFromSessionStorage","addEventListener","LOGOUT","removeEventListener","VirtualMailbox","_configurations$envir","environment","toLowerCase","PROD","localStorageData","LANGUAGE","RO_LANGUAGE","VirtualMailboxProvider","EnvironmentButton","ContactButton","onClick","isMobile","showIcon","CallSystemIcon","Contact","isFloating","useDeviceUA","showDialog","setShowDialog","contentList","CallIcon","DocumentIcon","MoreInfoFloatingBar","handleOpen","Dialog","actions","onDismiss","handleClose","imageBackground","DesktopContainer","white","FormContainer","formBody","formActions","setWith","ContentRow","component","getBoundingClientRect","notFirstElement","red700","$optionListZIndex","$optionListTransformY","Language","flowBase","language","setLanguage","setTranslations","useTranslationsContext","handleMessage","handleChangeLanguage","newLanguage","setItem","translationsCallConfig","LanguagesIcon","monochromatic","handleCloseDialog","AVAILABLE_LANGUAGES_LIST","RadioButton","isDisabled","isRecommended","AngleUpIcon","AngleDownIcon","LoginHeader","showLanguages","Logo","height","FloatingContainer","$isSelected","background","selectedContactItem","setSelectedContactItem","containerHeight","renderButton","transform","OutsideClickHandler","onOutsideClick","event","contains","BodyStyled","ContentDesktopStyled","MobileImageContainer","messages","setFilter","refreshMessages","useGetMailboxData","messageId","setMessageId","handleBack","needRefresh","ViewMessage","LandingPageHeader","SearchForm","MessageList","Footer","showInDialog","red800","LogoutCounter","cursor","LogoutIcon","computeTimeFormat","timeValue","showDoubleDigits","slice","allSeconds","minutes","Math","seconds","sessionTimeout","virtualMailboxSessionTimeout","remainingTime","setRemainingTime","timeIntervalFunction","setTimeIntervalFunction","logoutTimeout","setLogoutTimeout","isLogoutTimerStarted","setIsLogoutTimerStarted","setInterval","previousValue","clearInterval","updateIsLogoutTimerDebounce","SESSION_GESTURE_DEBOUNCE_TIME","updateIsLogoutTimer","ContentStyled","maxDateWidth","setMaxDateWidth","alignContentList","_current$parentNode","currentWidth","nextChildren","parsedDate","itemId","toUpperCase","isReadd","documents","paddingLeft","FilterDialogFormik","fromDate","toDate","selectedPeriod","FilterValues","SPECIFIED","diff","_ref4","setFilterParameter","DateField","displayFormat","DISPLAY_DATE_FORMAT","confirmDateLabel","titleDateLabel","maxDate","Date","minDate","FilterDialogForm","_ref5","_filter$searchText","ThemeProvider","theme","SearchBar","searchText","issues","option","placeholder","onSearch","onClear","onSearchFieldClear","FilterIcon","filterTypeSelected","handleFilterButton","getMailboxDataConfig","originalData","setOriginalData","setMessages","messageItems","originalMessages","creationTimestamp","read","subject","attachments","source","stringIsOtherString","periodType","DEFAULT_PERIOD","from","BACKEND_DATE_FORMAT","to","LoginFormik","_values$birthday","username","birthday","isFormBlocked","LoginForm","submitCredentialsError","submitCredentials","useSubmitCredentials","validateForm","loadingButtonRef","prevValues","resolve","then","PageStatus","BLOCKED","onKeyUp","e","keyCode","_loadingButtonRef$cur","_loadingButtonRef$cur2","focus","keyboardEvent","KeyboardEvent","code","charCode","view","bubbles","ManualDateField","LoadingButton","normalText","submitCredentialConfig","setSubmitCredentialsError","updateJwtReference","callbacks","userId","dateOfBirth","reference","StatusOtpAndLoginResponse","INVALID_CREDENTIALS","USER_BLOCKED","OtpValidationFormik","OtpValidationForm","jwtReference","validateOtpError","setValidateOtpError","validateOtp","useValidateOtp","useResendOtp","resendOtpDisabled","setResendOtpDisabled","interval","EXPIRED_OTP","validateOtpConfig","jwtInfo","INVALID_OTP","WRONG_OTP","setAuthInSessionStorage","TitleStyled","handleContact","DownloadButtonContainer","markAsReadConfig","getAttachment","useGetAttachment","getMessageLoading","useGetMessageItem","isIOS","handlePdfDownload","savePdfFromHtmlElement","parentId","String","Header","AngleLeftIcon","PDFIcon","documentData","attachmentId","virtualTag","URL","createObjectURL","download","DownloadIcon","responseType","getMessageItemConfig","setMessage","setGetMessageLoading","VirtualMailboxAction","DEFAULT_VMB_SESSION_TIMEOUT","GO_TO_STEP","UPDATE_JWT_REFERENCE","initialVirtualMailboxState","some","VirtualMailboxContext","React"],"sourceRoot":""}
\n {formatRichTextMessageWithKey(\"description\")}\n