{"version":3,"file":"public.js?t=77e8ea63","mappings":"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","sources":["webpack://@cendis/pdfe/./src/app/breadcrumbs/BreadcrumbsView.tsx","webpack://@cendis/pdfe/./src/app/breadcrumbs/BreadcrumbsViewModel.ts","webpack://@cendis/pdfe/./src/app/cookie/CookieBarView.tsx","webpack://@cendis/pdfe/./src/app/cookie/CookieBarViewModel.ts","webpack://@cendis/pdfe/./src/app/cookie/CookieModalView.tsx","webpack://@cendis/pdfe/./src/app/cookie/CookieModalViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/components/NoAuthorization.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/driverRequests/RequestsOverview.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/driverBans/DriverBans.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/driverRecordCard/DriverRecordCard.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/quickSummary/DrivingBan.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/quickSummary/TickBoxText.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/quickSummary/TickBox.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/quickSummary/DrivingLicenseEmpty.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/quickSummary/QuickSummary.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/cardsPermissions/CardsPermissions.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/driverMentoring/DriverMentoring.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DriverConsents/DriverConsents.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/driverMentoring/DriverMentoringDialog.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/DriverNgView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/MentoringInfo/MentoringInfo.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoring/01_SelectMentor/components/AddMentorForm.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoring/01_SelectMentor/components/RepresentativesRow.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/MentorsRow.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoring/01_SelectMentor/SelectMentorWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoring/02_Summary/SummaryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoring/DriverMentoringView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/NewPersonModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/SelectMentorModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/SelectMentorService.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/SummaryMentorService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoring/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoring/DriverMentoringViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/CompleteScreenMentor/components/CompleteFaq.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/CompleteScreenMentor/components/CompleteScreen.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/CompleteScreenMentor/CompleteScreenMentorView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/CompleteScreenMentor/CompleteScreenMentorViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/ConsentDialogModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/components/MentoringInfo/MentoringRegisterInfo.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoringRegister/01_SelectMentor/SelectMentorWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoringRegister/02_Summary/SummaryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoringRegister/03_Contact/ContactDetailWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoringRegister/04_Payment/PaymentWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoringRegister/DriverMentoringRegisterView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/OutageError/OutageErrorView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/OutageError/OutageErrorViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoringRegister/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverMentoringRegister/DriverMentoringRegisterViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/DriverMentoringDialogModel.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/CompleteScreenMentorRegister/CompleteFaq.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/CompleteScreenMentorRegister/CompleteScreenMentorRegisterView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/CompleteScreenMentorRegister/CompleteScreenMentorRegisterViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/DriverNgViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/components/BalikomatIcon.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/BalikomatIconLarge.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/DiscountedPriceSpan.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DriverDigitalTachographInfo/DriverDigitalTachographInfo.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/01_RequestReasons/RequestReasonsSelectionWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/02_ApplicantInformation/ApplicantInformationWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/05_Summary/SummaryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DriverDigitalTachographSteps/DriverDigitalTachographSteps.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DriverLicenceError/DriverLicenceError.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DriverLicenceInfo/DriverLicenceInfo.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/01_Reason/ReasonWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/02_Details/DetailsWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/CheckTag.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_LicenceActivation/components/LicenceActivationChangeData.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_LicenceActivation/components/LicenceActivationData.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_LicenceActivation/components/LicenceActivationSameDate.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_LicenceActivation/LicenceActivationWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/04_UserInfo/UserInfoWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/PromptListItem.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/07_Summary/SummaryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_Menteor/MentorWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DriverLicenceSteps/DriverLicenceSteps.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/InfoCard.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/Loader.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/BanIcon.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/NoDriverData.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/NotificationButton.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/PanelWrapper.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/WizardStepListener/WizardStepListener.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/cardsPermissions/CopyButton.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/driverPoints/DriverPoints.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/driverBanList/DriverBanRow.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/driverBanList/DriverBanRows.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/driverBanList/DriverBanList.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/driverOffences/DriverOffences.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/DriverBanView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DetailContainer.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/DetailValues.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/offenceDetail/OffenceDetailView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/offenceDetail/OffenceDetailViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverBan/DriverBanViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicence/DriverLicence.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverPermit/components/ReasonButton.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverPermit/components/TableWithExpansion.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverPermit/DriverPermit.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverCompetence/components/NumberIcon.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverCompetence/DriverCompetence.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/TachographUnavailable.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverTachographCard/DriverTachographCard.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/DriverLicenceView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenDriverLicence/CompleteScreenDriverLicenceView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenDriverLicence/CompleteScreenDriverLicenceViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/DrivingLicenceExpiredViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/GrandAccordion/GrandAccordionItem.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/PaymentWizardStepCombined.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverCombined/DriverCombinedView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverCombined/CombinedApplicationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverCombined/DriverCombinedViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/DriverLicenceViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/ValidationErrorView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/ValidationErrorViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/01_Details/DetailsWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/02_Delivery/DeliveryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/ComplaintView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/01_Details/DetailsModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/01_Details/DetailsService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/02_Delivery/DeliveryModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/02_Delivery/DeliveryService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/complaint/ComplaintViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenDriverLicence/components/CompleteFaq.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/components/SuccessCompleteScreen.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/components/PendingCompleteScreen.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/components/FailedCompleteScreen.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/components/ErrorCompleteScreen.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/components/NotFoundCompleteScreen.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/CompleteScreenSharedView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/CompleteScreenSharedViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenShared/components/PaymentExpiredModal.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenTachographView/components/CompleteFaq.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenTachographView/CompleteScreenTachographView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/completeScreenTachographView/CompleteScreenTachographViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/01_RequestReasons/RequestReasonsSelectionModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/01_RequestReasons/RequestReasonsSelectionService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/02_ApplicantInformation/ApplicantInformationService.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/DriverDigitalTachographApplicationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/DriverDigitalTachographView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/DriverDigitalTachographViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverDigitalTachograph/SharedDataService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicence/PreliminaryActivationModal.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicence/PreliminaryActivationModalModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/01_Reason/ReasonModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/01_Reason/ReasonService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/02_Details/DetailsModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/02_Details/DetailsService.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_LicenceActivation/LicenceActivationModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_LicenceActivation/LicenceActivationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/04_UserInfo/UserInfoModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/04_UserInfo/UserInfoService.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_Menteor/MentorModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/03_Menteor/MentorService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/LegalGuardianConsentService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/components/MedicalFitnessAlert/MedicalFitnessAlert.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/DriverLicenceApplicationView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/DriverLicenceApplicationViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/SharedDataService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/paymentGatewayOutage/components/OutageCompleteScreen.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/paymentGatewayOutage/PaymentGatewayOutageView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/paymentGatewayOutage/PaymentGatewayOutageViewModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/components/driverRequests/RequestRowWrap.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/driverRequests/RequestDataRow.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/Dropdown.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/requestDetail/components/ComplaintInfoRow.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/requestDetail/components/FtaItem.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/requestDetail/components/DriverCardDetail.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/requestDetail/RequestDetailView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/requestDetail/RequestDetailNotFoundView.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/requestDetail/RequestDetailModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/ContactDetailWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/components/CityOfficeIcon.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/DeliveryChoiceWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/DiscountTag.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/DiscountIcon.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/DotRow.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/ErrorEmpty.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/GrandAccordion/GrandAccordion.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/GrandAccordion/GrandAccordionContext.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/NotificationMessage.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/PaymentWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/PhotoSignatureWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/PickUpPointWizardStep.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/SectionWithIcon.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/WizardContainer.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/components/WizardStepSummary.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/DeliveryChoiceModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/SelectMentorOption.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/ContactDetailModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/ContactDetailService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/DeliveryChoiceService.tsx","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/DriverApplicationService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/PaymentModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/PaymentService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/PhotoSignatureModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/PhotoSignatureService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/models/PickUpPointModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/PickUpPointService.ts","webpack://@cendis/pdfe/./src/app/driver_ng/driverLicence/driverLicenceApplication/07_Summary/SummaryModel.ts","webpack://@cendis/pdfe/./src/app/driver_ng/shared/services/SummaryService.ts","webpack://@cendis/pdfe/./src/app/error/components/Modal503.tsx","webpack://@cendis/pdfe/./src/app/error/components/Modal403.tsx","webpack://@cendis/pdfe/./src/app/error/components/BlueDeathModal.tsx","webpack://@cendis/pdfe/./src/app/error/ErrorView.tsx","webpack://@cendis/pdfe/./src/app/error/ErrorViewModel.ts","webpack://@cendis/pdfe/./src/app/error/errorPage/ErrorPageView.tsx","webpack://@cendis/pdfe/./src/app/error/errorPage/ErrorPageViewModel.ts","webpack://@cendis/pdfe/./src/app/error/errorPage/components/ErrorIcon.tsx","webpack://@cendis/pdfe/./src/app/error/errorPage/components/ErrorInfo.tsx","webpack://@cendis/pdfe/./src/app/error/errorPage/components/NotAllowedIcon.tsx","webpack://@cendis/pdfe/./src/components/navigation/CardTree.tsx","webpack://@cendis/pdfe/./src/app/home/HomeView.tsx","webpack://@cendis/pdfe/./src/app/home/HomeViewModel.ts","webpack://@cendis/pdfe/./src/app/landingPage/components/LoginButton.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/LandingPageHeader.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/HeroBanner.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/ServiceCard.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/ServicesSection.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/NewAddressYellowShape.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/NewAddressNavyShape.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/NewAddressBanner.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/PortalServicesCategories.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/PortalServices.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/DidYouKnowBanner.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/LandingPageInfoPanels.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/VideoTutorials.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/VideoPlayer.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/VideoBanner.tsx","webpack://@cendis/pdfe/./src/app/landingPage/LandingPageView.tsx","webpack://@cendis/pdfe/./src/app/landingPage/components/InfoMessages.tsx","webpack://@cendis/pdfe/./src/app/login/AutoLoginView.tsx","webpack://@cendis/pdfe/./src/app/login/AutoLoginViewModel.ts","webpack://@cendis/pdfe/./src/app/login/LoginMandateViewModel.ts","webpack://@cendis/pdfe/./src/app/login/LoginViewModel.ts","webpack://@cendis/pdfe/./src/app/login/LogoutView.tsx","webpack://@cendis/pdfe/./src/app/login/LogoutViewModel.ts","webpack://@cendis/pdfe/./src/app/login/loginView/LoginErrorView.tsx","webpack://@cendis/pdfe/./src/app/login/loginView/LoginErrorViewModel.ts","webpack://@cendis/pdfe/./src/app/mandateSelection/MandateSelectionView.tsx","webpack://@cendis/pdfe/./src/app/mandateSelection/MandateSelectionViewModel.ts","webpack://@cendis/pdfe/./src/app/mandateSelection/components/InitialsCircle.tsx","webpack://@cendis/pdfe/./src/app/mandateSelection/components/MandateName.tsx","webpack://@cendis/pdfe/./src/app/mandateSelection/components/MandateOption.tsx","webpack://@cendis/pdfe/./src/app/mandateSelection/components/NotificationsCount.tsx","webpack://@cendis/pdfe/./src/app/mandates/MandateViewFaq.tsx","webpack://@cendis/pdfe/./src/app/mandates/MandateView.tsx","webpack://@cendis/pdfe/./src/app/mandates/newMandate/01_TemplateSelection/TemplateSelect.tsx","webpack://@cendis/pdfe/./src/app/mandates/newMandate/01_TemplateSelection/TemplateSelectionWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/newMandate/06_Validity/ValidityWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/newMandate/07_Summary/SummaryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/newMandate/NewMandateView.tsx","webpack://@cendis/pdfe/./src/app/mandates/newMandate/01_TemplateSelection/TemplateSelectionModel.ts","webpack://@cendis/pdfe/./src/app/mandates/newMandate/01_TemplateSelection/TemplateSelectionService.ts","webpack://@cendis/pdfe/./src/app/mandates/newMandate/06_Validity/ValidityModel.ts","webpack://@cendis/pdfe/./src/app/mandates/newMandate/06_Validity/ValidityService.ts","webpack://@cendis/pdfe/./src/app/mandates/completeScreen/CompleteScreenView.tsx","webpack://@cendis/pdfe/./src/app/mandates/completeScreen/CompleteScreenViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/newMandate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/mandates/newMandate/NewMandateViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/MandateViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/completeScreen/components/CompleteFaq.tsx","webpack://@cendis/pdfe/./src/app/mandates/editMandate/01_Validity/ValidityWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/editMandate/02_Summary/SummaryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/editMandate/EditMandateView.tsx","webpack://@cendis/pdfe/./src/app/mandates/editMandate/SharedDataService.ts","webpack://@cendis/pdfe/./src/app/mandates/editMandate/01_Validity/ValidityModel.ts","webpack://@cendis/pdfe/./src/app/mandates/editMandate/01_Validity/ValidityStepService.ts","webpack://@cendis/pdfe/./src/app/mandates/editMandate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/mandates/editMandate/EditMandateViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/grantedMandateDetail/GrantedMandateDetailService.ts","webpack://@cendis/pdfe/./src/app/mandates/grantedMandateDetail/components/GrantedEntityInfo.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandateDetail/components/GrantedMandate.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandateDetail/components/DeleteMandateModal.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandateDetail/GrantedMandateDetailView.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandateDetail/GrantedMandateDetailViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/components/GrantedMandateOverview.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/GrantedMandatesView.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/models/SortModalModel.ts","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/models/GrantedMandatesModel.ts","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/GrantedMandatesViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/completeScreen/ChangeGrantedCompleteScreenView.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/completeScreen/ChangeGrantedCompleteScreenViewModel.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/completeScreen/TerminateGrantedCompleteScreenView.tsx","webpack://@cendis/pdfe/./src/app/mandates/grantedMandates/completeScreen/TerminateGrantedCompleteScreenViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/SharedDataService.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/01_MandateOverview/MandateOverviewService.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/02_TemplateSelection/TemplateSelectionModel.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/02_TemplateSelection/TemplateSelectionService.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/06_Validity/ValidityModel.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/06_Validity/ValidityService.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/01_MandateOverview/MandateOverviewWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/02_TemplateSelection/TemplateSelect.tsx","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/02_TemplateSelection/TemplateSelectionWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/06_Validity/ValidityWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/07_Summary/SummaryWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/MandateDelegationView.tsx","webpack://@cendis/pdfe/./src/app/mandates/mandateDelegation/MandateDelegationViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/models/AllVehiclesSelectedModel.ts","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandateDetail/ObtainedMandateDetailService.ts","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandateDetail/components/ObtainedMandateEntityInfo.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandateDetail/components/ObtainedMandateChild.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandateDetail/components/ObtainedMandate.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandateDetail/components/ObtainedMandateDeleteModal.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandateDetail/ObtainedMandateDetailView.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandateDetail/ObtainedMandateDetailViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandates/components/ObtainedMandatesEntityOverView.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandates/ObtainedMandatesView.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandates/models/ObtainedMandatesSortEntitiesModel.ts","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandates/models/ObtainedMandatesRepresentedEntitiesModel.ts","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandates/ObtainedMandatesViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandates/completeScreen/ObtainedCompleteScreenView.tsx","webpack://@cendis/pdfe/./src/app/mandates/obtainedMandates/completeScreen/ObtainedCompleteScreenViewModel.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/components/NoMandateFound.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/RepresentativeIdentificationWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/RepresentedEntityWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/SelectedVehicleTable.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/TransferAgreementWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/VehiclePicker.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/ObtainedVehicleTable.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/VehicleSelectionWizardStep.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/components/WizardStepSummary.tsx","webpack://@cendis/pdfe/./src/app/mandates/shared/models/SelectedVehicleModel.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/models/RepresentativeIdentificationModel.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/services/RepresentativeIdentificationService.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/services/RepresentedEntityService.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/models/TransferAgreementModel.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/services/TransferAgreementService.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/models/VehicleSelectionModel.ts","webpack://@cendis/pdfe/./src/app/mandates/shared/services/VehicleSelectionService.ts","webpack://@cendis/pdfe/./src/app/notifications/NotificationSearchView.tsx","webpack://@cendis/pdfe/./src/app/notifications/NotificationsLoader.tsx","webpack://@cendis/pdfe/./src/app/notifications/components/Notification.tsx","webpack://@cendis/pdfe/./src/app/notifications/components/NotificationDetail.tsx","webpack://@cendis/pdfe/./src/app/notifications/components/NotificationNoData.tsx","webpack://@cendis/pdfe/./src/app/notifications/NotificationsView.tsx","webpack://@cendis/pdfe/./src/app/notifications/NotificationsViewLoading.tsx","webpack://@cendis/pdfe/./src/app/notifications/NotificationsViewModel.ts","webpack://@cendis/pdfe/./src/app/page/AccessibilityStatementView.tsx","webpack://@cendis/pdfe/./src/app/page/AccessibilityStatementViewModel.ts","webpack://@cendis/pdfe/./src/app/page/components/FaqAccordionItem.tsx","webpack://@cendis/pdfe/./src/app/page/FaqView.tsx","webpack://@cendis/pdfe/./src/app/page/FaqViewModel.ts","webpack://@cendis/pdfe/./src/app/page/ProcessingPersonalDataView.tsx","webpack://@cendis/pdfe/./src/app/page/ProcessingPersonalDataViewModel.ts","webpack://@cendis/pdfe/./src/app/page/SupportView.tsx","webpack://@cendis/pdfe/./src/app/page/SupportViewModel.ts","webpack://@cendis/pdfe/./src/app/page/TariffChargesView.tsx","webpack://@cendis/pdfe/./src/app/page/TariffChargesViewModel.tsx","webpack://@cendis/pdfe/./src/app/page/supportForm/SupportFormView.tsx","webpack://@cendis/pdfe/./src/app/page/supportForm/SupportFormSuccessView.tsx","webpack://@cendis/pdfe/./src/app/page/supportForm/SupportFormSuccessViewModel.ts","webpack://@cendis/pdfe/./src/app/page/supportForm/SupportFormViewModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/components/TaxiCard.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/TaxiView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/models/TaxiFormModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/page/taxi/components/TaxiVerificationForm.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/verification/TaxiGeneralVerificationView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/components/TaxiResult.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/components/TaxiConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/confirmation/TaxiGeneralConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/confirmation/TaxiGeneralConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/verification/TaxiGeneralVerificationViewModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/verification/TaxiVehicleVerificationView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/confirmation/TaxiVehicleConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/confirmation/TaxiVehicleConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/verification/TaxiVehicleVerificationViewModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/verification/TaxiLicenseVerificationView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/confirmation/TaxiLicenseConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/page/taxi/confirmation/TaxiLicenseConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/verification/TaxiLicenseVerificationViewModel.ts","webpack://@cendis/pdfe/./src/app/page/taxi/TaxiViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/components/DateHighlite.tsx","webpack://@cendis/pdfe/./src/app/ship/components/HomeDocuments.tsx","webpack://@cendis/pdfe/./src/app/ship/components/ShipOwnership.tsx","webpack://@cendis/pdfe/./src/app/ship/components/HomeVessels.tsx","webpack://@cendis/pdfe/./src/app/ship/ShipView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/PaymentDoneView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/PaymentRejectedView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/PaymentWaitingView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/NewPaymentDoneView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/ReplacementPaymentDoneView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/ExtensionPaymentDoneView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/ChangesPaymentDoneView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/VesselRegistrationPaymentDoneView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/PaymentFailedView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PaymentDone/PaymentDoneViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ExamConfirmation.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/06_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/06_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/05_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/05_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmationTechnicalInspection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmationUtz.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/09_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/09_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/06_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/06_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/04_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/04_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/AbstractExchangeCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/AbstractMachinistQualificationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/AbstractExamCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/AbstractCrewEuIssuanceCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/AbstractBuyerAuthorizationBySellerViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/AbstractChangeOwnerOrOperatorViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/AbstractRemovalFromRegistryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/ExtensionAndChangesViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/AbstractDuplicateVesselCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/AbstractExchangeSwimmingBookViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/ShipViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/00_Intro/IntroViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/01_PersonInfo/PersonInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/01_PersonInfo/PersonInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/02_Eligibilities/EligibilitiesView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/02_Eligibilities/EligibilitiesViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/03_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/03_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/04_Exam/ExamDateView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/04_Exam/ExamDateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/05_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/05_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmedEligibilityWithExam.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/06_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/06_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/AbstractAdnExamCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/AdnExamCertificateStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnExamCertificate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/01_PersonInfo/PersonInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/01_PersonInfo/PersonInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/02_RequestInfo/RequestInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/02_RequestInfo/RequestInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/03_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/03_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/04_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/04_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmedEligibility.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/OldAdnCertificateNote.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/05_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/05_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/AbstractAdnRenewalCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/AdnRenewalCertificateStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/AdnRenewalCertificate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/ChangesCertificateSteps/ChangesCertificateStepsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/ChangesCertificateSteps/ChangesCertificateStepsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/StepsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/components/Steps.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/02_SelectBoatChangeType/SelectBoatChangeTypeView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/02_SelectBoatChangeType/SelectBoatChangeTypeViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/BuyerIdentification.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/03_Buyer/BuyerView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/03_Buyer/BuyerViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/BoatAndChangeTypeSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/BuyerInfoSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/04_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/04_Summary/SummaryViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/05_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/05_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/BuyerAuthorizationBySellerStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/BuyerAuthorizationBySeller/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/00_Intro/ChangeOwnerOrOperatorIntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/00_Intro/ChangeOwnerOrOperatorIntroViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/02_Request/RequestView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/02_Request/RequestViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/03_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/03_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/04_Branch/BranchView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/04_Branch/BranchViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/05_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/05_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/ChangeOwnerOrOperatorSteps.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/AssigneeTypeModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/AssigneeTypeService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangeOwnerOrOperator/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/ChangesCertificateView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/BoatSelection/BoatSelectionView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/BoatSelection/BoatSelectionModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/BoatSelection/BoatSelectionViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/RequiredAttachments/RequiredAttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/RequiredAttachments/RequiredAttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/components/EngineTablePlain/EngineTablePlain.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/ChangesCertificateViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/EngineModel.ts","webpack://@cendis/pdfe/./src/app/ship/components/EngineTable/EngineTable.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/components/EngineChanges.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/components/BoatPurposeChange.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/components/OtherBoatChange.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/TypeOfChangeView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/BoatPurposeChangeModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/OtherBoatChangeModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/EnginesChangeModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ChangesCertificate/Steps/TypeOfChange/TypeOfChangeViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/02_Request/RequestView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/02_Request/RequestViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/03_FormData/FormDataView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/03_FormData/FormDataViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/04_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/04_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/05_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/05_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/06_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/06_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/CrewEuIssuanceCertificateStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/CrewEuIssuanceCertificate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/02_Request/RequestView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/02_Request/RequestViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedReason.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/03_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/03_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/04_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/04_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/DuplicateVesselCertificateStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/DuplicateVesselCertificate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/00_Intro/IntroViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/01_PersonInfo/PersonInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/01_PersonInfo/PersonInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/02_RequestInfo/RequestInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/02_RequestInfo/RequestInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/03_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/03_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/04_ExamDate/ExamDateView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/04_ExamDate/ExamDateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/ExamBranchNote.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/05_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/05_Summary/SummaryViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/ExamCertificateStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExamCertificate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/02_Request/RequestView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/02_Request/RequestViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/03_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/03_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/04_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/04_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/05_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/05_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/ExchangeCertificateStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeOldForNewCertificate/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/02_Request/RequestView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/02_Request/RequestViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/03_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/03_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/04_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/04_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/05_Confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/05_Confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/ExchangeSwimmingBookSteps.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExchangeSwimmingBook/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/00_Intro/IntroViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/01_PersonInfo/PersonInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/01_PersonInfo/PersonInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/02_ShipSelection/ShipSelectionView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/02_ShipSelection/ShipSelectionViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/BoatInfoSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/03_UtzDevices/UtzDevicesView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/03_UtzDevices/UtzDevicesViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/EngineChanges.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/TypeOfChanges.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/04_TypeOfChange/TypeOfChangeView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/04_TypeOfChange/TypeOfChangeViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/05_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/05_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/TechnicalInspectionSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/06_TechnicalInspection/TechnicalInspectionView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/06_TechnicalInspection/TechnicalInspectionViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/07_LicensePickup/LicensePickupView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/07_LicensePickup/LicensePickupViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/EngineChangesSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/PurposeChangeSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/OtherChangesSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/TypeOfChangeSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/TechnicalInspectionSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedUtzAndCabin.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedBranchAndTechnicalInspection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/08_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/08_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/ExtensionAndChangesSteps.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/BoatInfoModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/BoatInfoService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/EngineModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/EngineChangesModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/BoatPurposeChangeModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/OtherBoatChangeModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/BoatChangesModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/BoatChangesService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/BoatInspectionModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/BoatInspectionService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionAndChanges/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/ExtensionValidityCertificateView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/ExtensionValiditySteps/ExtensionValidityStepsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/ExtensionValiditySteps/ExtensionValidityStepsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/ShipInfo/ShipInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/ShipInfo/ShipInfoModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/ShipInfo/ShipInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/RequiredAttachments/RequiredAttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/RequiredAttachments/RequiredAttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/TechnicalReview/TechnicalReviewView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/TechnicalReview/TechnicalReviewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/TechnicalReview/TechnicalReviewViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/StepsValidity/Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ExtensionValidityCertificate/ExtensionValidityCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/02_Attachments/AttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/02_Attachments/AttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/03_ExamDate/ExamDateView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/03_ExamDate/ExamDateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/04_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/04_Summary/SummaryViewModel.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/MachinistQualificationStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/MachinistQualification/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/NewCertificateView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/DocumentInfo/DocumentInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/ExamTerm/ExamTermView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/ExamTerm/ExamTermModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/RequiredAttachments/RequiredAttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/NewCertificateStepsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/NewCertificateStepsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/RequiredAttachments/RequiredAttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/ExamTerm/ExamTermViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/DocumentInfo/DocumentInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/NewCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PersonalInfo/AddressModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PersonalInfo/CompanyModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PersonalInfo/PersonalInfoModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/NewCertificate/Steps/PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/00_Intro/IntroView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/00_Intro/IntroViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/01_PersonalInfo/PersonalInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/01_PersonalInfo/PersonalInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/02_Request/RequestView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/02_Request/RequestViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/03_Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/03_Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/RemovalFromRegistryStepsData.ts","webpack://@cendis/pdfe/./src/app/ship/applications/RemovalFromRegistry/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ReplacementCertificate/ReplacementCertificateView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/ReplacementCertificateSteps/ReplacementCertificateStepsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/ReplacementCertificateSteps/ReplacementCertificateStepsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ReplacementCertificate/Steps/ExtraditionRequest/ExtraditionRequestView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ReplacementCertificate/Steps/ExtraditionRequest/ExtraditionRequestModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ReplacementCertificate/Steps/ExtraditionRequest/ExtraditionRequestViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ReplacementCertificate/Steps/Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ReplacementCertificate/Steps/Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/ReplacementCertificate/ReplacementCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/VesselRegistrationView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/VesselRegistrationSteps/VesselRegistrationStepsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/ApplicationSteps/VesselRegistrationSteps/VesselRegistrationStepsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/Steps/Summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/Steps/Summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/Steps/ShipInfo/ShipInfoView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/Steps/ShipInfo/ShipInfoModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/Steps/ShipInfo/ShipInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/Steps/RequiredAttachments/RequiredAttachmentsView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/Steps/RequiredAttachments/RequiredAttachmentsViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/VesselRegistration/VesselRegistrationViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Steps.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/ApplicationStep.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Attachments.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/BoatSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/BranchSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/ChangeTypeSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/ConfirmationCheckbox.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/EligibilitySelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/ExamSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/LicenceSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/PersonalInfo.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/CompanyInfo.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/PersonOrCompanyInfo.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/PickupSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/ReasonSelection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/AttachmentsSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/ExamSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/PaymentInfo.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/PaymentInfoBox.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/PersonalInfoSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/CompanyInfoSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/PersonalOrCompanyInfoSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/ReasonSummary.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/RelatedLicenses.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedBoat.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedBranch.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedEligibility.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedLicence.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SelectedPickup.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Application/Summary/SummarySection.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/BaseScreen/OldSpsBaseScreen.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/BaseScreen/SpsBaseScreen.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/AlertMessage.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ApplicationStatusLink.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/CertificateReturn.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ChangeNotification.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmationBoat.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmationPage.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmationPickupAndBranch.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/ConfirmedBranch.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ConfirmationPage/OldLicences.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ErrorPage/ErrorPageView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/IntroPage/IntroPage.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/AddressModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/BranchModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/ChangeTypeModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/CompanyInfoModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/ConfirmSummaryModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/LicenceModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/PersonalInfoModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/PaymentStatusScreen/PaymentWaitingView.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/PersonInfoSummaryBlock.tsx","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/AttachmentsService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/BoatModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/BoatService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/BranchService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/BuyerService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/ChangeTypeService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/DownloadFileService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/EligibilityModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/EligibilityService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/ExamModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/ExamService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/FormDataModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/FormDataService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/LicenceService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/OtherLicenseService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/PaymentModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/PaymentService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/PersonService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/PickupModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/PickupDocumentsService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Models/ReasonModel.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/ReasonService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/SpsApplicationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/SpsService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/StepsService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/Service/ValidationService.ts","webpack://@cendis/pdfe/./src/app/ship/applications/shared/ShipErrorView/ShipErrorView.tsx","webpack://@cendis/pdfe/./src/app/ship/components/EngineTable/EngineTableSelect.tsx","webpack://@cendis/pdfe/./src/app/ship/download/zip/ShipZipDownloadView.tsx","webpack://@cendis/pdfe/./src/app/ship/download/zip/ShipZipDownloadViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/download/pdf/ShipPdfDownloadView.tsx","webpack://@cendis/pdfe/./src/app/ship/download/pdf/ShipPdfDownloadViewModel.ts","webpack://@cendis/pdfe/./src/app/ship/download/ShipDownloadViewModel.ts","webpack://@cendis/pdfe/./src/app/user/UserView.tsx","webpack://@cendis/pdfe/./src/app/user/UserViewLoading.tsx","webpack://@cendis/pdfe/./src/app/user/UserViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/VehicleView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/VehicleViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/AbstractSellerOwnerOrOperatorChangedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/AbstractOwnerOrOperatorChangedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/LicencePlateLossViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/NewTechnicalCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/RsvDataChangeViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/ExportPlateRequestViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/AbstractApplicationViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/00_intro/IntroDecommissioningView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/00_intro/IntroDecommissioningViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/00_intro/IntroDecommissioningViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/components/AdditionalInformation.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/components/DecommissioningFormDataView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/01_form/DecommissioningFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/01_form/DecommissioningFormViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/01_form/DecommissioningFormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/models/PostRequestModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/components/AdditionalInformationSummary.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/02_summary/SummaryDecommissioningView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/02_summary/SummaryDecommissioningViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/02_summary/SummaryDecommissioningViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/03_confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/03_confirmation/ConfirmationViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/03_confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/DecommissioningViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/DecommissioningView/models/DecommissioningFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/00_intro/IntroExportPlateRequestView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/00_intro/IntroExportPlateRequestViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/00_intro/IntroExportPlateRequestViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/components/Form.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/01_form/ExportPlateRequestFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/01_form/ExportPlateRequestFormViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/01_form/ExportPlateRequestFormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/components/NewOwner.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/02_summary/ExportPlateRequestSummaryView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/02_summary/ExportPlateRequestSummaryViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/02_summary/ExportPlateRequestSummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/03_confirmation/ExportPlateRequestConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/03_confirmation/ExportPlateRequestConfirmationViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/03_confirmation/ExportPlateRequestConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/models/ExportPlateRequestFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/components/Owner.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/ExportPlateRequest/models/OwnerModel.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/00_intro/IntroLicencePlateLossView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/00_intro/IntroLicencePlateLossViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/00_intro/IntroLicencePlateLossViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/01_form/Form.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/01_form/LicencePlateLossFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/01_form/LicencePlateLossFormViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/01_form/LicencePlateLossFormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/02_summary/SummaryLicencePlateLossView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/02_summary/SummaryLicencePlateLossViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/02_summary/SummaryLicencePlateLossViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/03_confirmation/LicencePlateLossViewConfirmedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/03_confirmation/LicencePlateLossViewConfirmedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/LicencePlateLossView/models/LicencePlateLossFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/00_intro/IntroNewLicencePlateView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/00_intro/IntroNewLicencePlateViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/00_intro/IntroNewLicencePlateViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/01_form/Form.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/01_form/NewLicencePlateFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/01_form/NewLicencePlateFormViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/01_form/NewLicencePlateFormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/02_summary/SummaryNewLicencePlateView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/02_summary/SummaryNewLicencePlateViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/02_summary/SummaryNewLicencePlateViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/03_confirmation/NewLicencePlateViewConfirmedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/03_confirmation/NewLicencePlateViewConfirmedViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/03_confirmation/NewLicencePlateViewConfirmedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/NewLicencePlateViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewLicencePlateView/models/NewLicencePlateFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/00_intro/IntroNewTechnicalCertificateView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/00_intro/IntroNewTechnicalCertificateViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/00_intro/IntroNewTechnicalCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/01_form/Form.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/01_form/NewTechnicalCertificateFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/01_form/NewTechnicalCertificateFormViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/01_form/NewTechnicalCertificateFormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/02_summary/SummaryNewTechnicalCertificateView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/02_summary/SummaryNewTechnicalCertificateViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/02_summary/SummaryNewTechnicalCertificateViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/03_confirmation/NewTechnicalCertificateViewConfirmedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/03_confirmation/NewTechnicalCertificateViewConfirmedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/NewTechnicalCertificateView/models/NewTechnicalCertificateFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/components/ContinueWithMandateButton/ContinueWithMandateButton.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/00_applicationLoader/ApplicationLoaderView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/ContinueWithMandateButton/ContinueWithMandateButtonModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/BuyerCompletionEvaluation.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/00_applicationLoader/ApplicationLoaderViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/components/InfoSection.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/components/NewOwner.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/components/DifferentMandateWarningModal.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/01_form/FormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/components/NewOwnerSummary.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/components/NewOperatorSummary.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/02_summary/SummaryView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/Confirmation/ConfirmationCodeOwnerAndOperator.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/03_confirmation/ConfirmationView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/03_confirmation/ConfirmationViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/02_summary/SummaryViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/02_summary/SummaryViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/01_form/FormViewModelLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/01_form/FormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/models/PersonInfoModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/models/VehicleInfoModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/models/PersonalInfoModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/models/EntrepreneurInfoModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/models/BuyerFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/BuyerApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/components/NewOperator.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/models/NewOperatorModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/models/RequestInfoModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/00_intro/IntroOwnerOrOperatorChangedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/00_intro/IntroOwnerOrOperatorChangedViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/00_intro/IntroOwnerOrOperatorChangedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/components/SellerFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/components/RequestType.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/01_new/NewSellerOwnerOrOperatorChangedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/01_new/NewSellerOwnerOrOperatorChangedViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/01_new/NewSellerOwnerOrOperatorChangedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/components/NewOwner.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/02_summary/SummarySellerOwnerOrOperatorChangedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/02_summary/SummaryOwnerOrOperatorChangedViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/02_summary/SummarySellerOwnerOrOperatorChangedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/03_confirmed/SummarySellerOwnerOrOperatorChangedConfirmedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/03_confirmed/SummarySellerOwnerOrOperatorChangedConfirmedViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/03_confirmed/SummarySellerOwnerOrOperatorChangedConfirmedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/models/EnumsFunction.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/SellerApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/components/CurrentOwner.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/models/SellerFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/steps/OwnerOrOperatorChangedViewSellerStepsView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/steps/OwnerOrOperatorChangedViewSellerStepsViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/00_form/Owner.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/00_form/Form.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/00_form/RoadVehicleRegisterDigiFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/00_form/RoadVehicleRegisterDigiFormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/components/VehicleSummary.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/01_summary/SummaryRoadVehicleRegisterDigiView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/01_summary/SummaryRoadVehicleRegisterDigiViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/02_confirmation/SummaryRoadVehicleRegisterDigiViewConfirmedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/02_confirmation/SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/02_confirmation/SummaryRoadVehicleRegisterDigiViewConfirmedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/models/RegisterFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvBuyerFormLink.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/00_intro/IntroRsvDataChangeView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/00_intro/IntroRsvDataChangeViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/00_intro/IntroRsvDataChangeViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/01_form/Form.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/01_form/RsvDataChangeFormView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/01_form/RsvDataChangeFormViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/01_form/RsvDataChangeFormViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/02_summary/SummaryRsvDataChangeView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/02_summary/SummaryRsvDataChangeViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/02_summary/SummaryRsvDataChangeViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/03_confirmation/RsvDataChangeViewConfirmedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/03_confirmation/RsvDataChangeViewConfirmedViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/03_confirmation/RsvDataChangeViewConfirmedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/ApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvDataChangeView/models/RsvDataChangeFormModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RsvRequestUtils.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/Shared/components/RsvSummaryTable.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/Shared/screens/RsvBaseScreen.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/Shared/services/RsvApplicationService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/Shared/services/RsvRequestsService.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsList/components/ApplicationStatusHints.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsList/components/ApplicationCardListItem.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsList/components/ApplicationDetail.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsList/ApplicationListView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsList/models/ApplicationModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsList/ApplicationListViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/components/ApplicationInProgressModal.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/AttachmentsHeader.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/AttachmentsSummary.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/AuthorityInfo/AuthorityInfoView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/AuthorityInfo/AuthorityInfoViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/components/Confirmation/CodeCopiedModal.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/Confirmation/ConfirmationCode.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/LicencePlate/LicencePlate.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/OwnerOrOperator.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/Steps/Steps.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/SummaryModal.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/SummaryWarning/SummaryWarning.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/VehicleDetail/VehicleDetail.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/VehicleSearch/VehicleSearchModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/components/VehicleSearch/VehicleSearch.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/Chevron.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/Pagination.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/Sidebar.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/VehicleListDocument.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/VehicleListEmailNotification.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/VehicleListDownload.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/PersonTypeTabs.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/UnloadedVehiclesTabs.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/RegisterView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/RegisterViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/RoadVehicleRegisterDigiView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/RoadVehicleRegisterView/RoadVehicleRegisterDigiViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/BuyerOwnerOrOperatorChangedView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/applicationsDigi/OwnerOrOperatorChangedView/buyer/BuyerOwnerOrOperatorChangedViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/register/models/VehicleListEmailNotificationModel.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/unloadedVehicles/UnloadedVehiclesView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/unloadedVehicles/UnloadedVehiclesViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/register/RegisterViewModel.ts","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/AdditionalGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/BodyGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/EngineGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/InfoGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/NoiseGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/ArrayEcho.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/SkeletonGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/WeightGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/InfoTable.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/RegNumberOverviewGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/TechCardOverviewGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/RegCertificateOverviewGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/StatusGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/components/RequestList/RequestList.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/ControlButtons.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/NextRecordsGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/vehicleInsurance/InsuranceContract.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/vehicleInsurance/VehicleInsurance.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/vehicleEdaz/EdazContract.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/vehicleEdaz/EdazPaymentButton.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/vehicleEdaz/VehicleEdaz.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/groups/EntityRelationGroup.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/vehicleStk/VehicleKmState.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/components/VehicleTabs.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/VehicleDetailView.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/VehicleDetailViewLoading.tsx","webpack://@cendis/pdfe/./src/app/vehicle/register/vehicleDetail/VehicleDetailViewModel.ts","webpack://@cendis/pdfe/./src/components/home/FooterNew.tsx","webpack://@cendis/pdfe/./src/components/home/RezaMandatesSelect/HeaderArrow.tsx","webpack://@cendis/pdfe/./src/components/home/RezaMandatesSelect/HeaderLoader.tsx","webpack://@cendis/pdfe/./src/components/home/RezaMandatesSelect/RezaMandatesHeader.tsx","webpack://@cendis/pdfe/./src/components/home/RezaMandatesSelect/RezaMandatesOptions.tsx","webpack://@cendis/pdfe/./src/components/home/RezaMandatesSelect/RezaMandatesSelect.tsx","webpack://@cendis/pdfe/./src/app/mandateSelection/components/NotificationBubble.tsx","webpack://@cendis/pdfe/./src/components/home/HeaderUser.tsx","webpack://@cendis/pdfe/./src/components/home/Inactive.tsx","webpack://@cendis/pdfe/./src/components/home/MandatesInfo/UserRepresentationStatus.tsx","webpack://@cendis/pdfe/./src/components/layout/Container.tsx","webpack://@cendis/pdfe/./src/components/layout/Envelope.tsx","webpack://@cendis/pdfe/./src/components/layout/LoaderBox.tsx","webpack://@cendis/pdfe/./src/components/navigation/CardLink.tsx","webpack://@cendis/pdfe/./src/components/navigation/CardLinkExt.tsx","webpack://@cendis/pdfe/./src/components/sidebar/NavigationStore.ts","webpack://@cendis/pdfe/./src/components/sidebar/SidebarNavigator.tsx","webpack://@cendis/pdfe/./src/components/layout/SectionGrid.tsx","webpack://@cendis/pdfe/./src/components/sidebar/NavigationContext.tsx","webpack://@cendis/pdfe/./src/components/sidebar/Section.tsx"],"sourcesContent":["import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type BreadcrumbsViewModel from './BreadcrumbsViewModel';\nimport { observer } from 'mobx-react-lite';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport useRoute from '@cendis/cedr-framework/dist/hooks/useRoute';\nimport './BreadcrumbsView.scss';\nimport { useEffect, useState } from 'react';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport React from 'react';\n\nconst BreadcrumbItem = ({ route, title, testID }: { route: IRoute; title: string; testID?: number }) => {\n  const onClick = useRoute(route);\n  return (\n    <a\n      data-testid={`breadcrumb-item-${testID}`}\n      href={route.getLinkLocation()}\n      onClick={onClick}\n      className={getClassName(\n        'gov-link gov-link--standalone',\n        testID ? `test-breadcrumb-item-${testID}` : ''\n      )}\n    >\n      {title}\n    </a>\n  );\n};\n\nconst BreadcrumbsView: View<BreadcrumbsViewModel> = observer(({ vm }) => {\n  const { isNavigationVisible, breadcrumbs, navHome, translate } = vm;\n  const [windowWidth, setWindowWidth] = useState(window.innerWidth);\n\n  useEffect(() => {\n    const handleResize = () => {\n      setWindowWidth(window.innerWidth);\n    };\n    window.addEventListener('resize', handleResize);\n    return () => {\n      window.removeEventListener('resize', handleResize);\n    };\n  }, []);\n\n  const isTablet = windowWidth < 768;\n\n  return isNavigationVisible ? (\n    <div className=\"gov-breadcrumbs\">\n      <span className=\"gov-breadcrumbs__item\">\n        <BreadcrumbItem route={navHome} testID={1} title={translate('home')} />\n      </span>\n\n      {breadcrumbs.map(({ route, title }, index) => (\n        <React.Fragment key={`breadcrumb-item-${index}`}>\n          {(!isTablet || index < 2) && (\n            <span className=\"gov-breadcrumbs__item\" key={route.getLinkLocation()}>\n              <>\n                {isTablet ? (\n                  <>\n                    {index === 0 ? (\n                      <BreadcrumbItem testID={index + 2} route={route} title={title} />\n                    ) : (\n                      <strong className=\"gov-title gov-title--delta\">...</strong>\n                    )}\n                  </>\n                ) : (\n                  <>\n                    {index < breadcrumbs.length - 1 ? (\n                      <BreadcrumbItem testID={index + 2} route={route} title={title} />\n                    ) : (\n                      <strong className=\"gov-title gov-title--delta\">{title}</strong>\n                    )}\n                  </>\n                )}\n              </>\n            </span>\n          )}\n        </React.Fragment>\n      ))}\n    </div>\n  ) : (\n    <></>\n  );\n});\n\nexport default BreadcrumbsView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BreadcrumbsView from './BreadcrumbsView';\nimport type { Middleware } from '@cendis/cedr-framework/dist/router/types';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type { Breadcrumb, BreadcrumbScreen } from './types';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport type { Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport { DummyNavigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport type { IScreenBase } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { isMetaScreen, isTitledScreen } from '@cendis/cedr-framework/dist/middlewares/meta/types';\nimport HomeViewModel from '../home/HomeViewModel';\nimport AuthService from '../../services/AuthService';\nimport RootViewModel from '../RootViewModel';\n\nconst crumbVisibilityFilter = (screen: IScreenBase) => {\n  const { breadcrumb } = screen as BreadcrumbScreen;\n  if (!isMetaScreen(screen) && !isTitledScreen(screen)) return false;\n  if (!breadcrumb) return true;\n  return !breadcrumb.hideInNavigation;\n};\n\nconst getScreenTitle = (screen: IScreenBase) => {\n  if (isMetaScreen(screen)) return screen.meta.title;\n  if (isTitledScreen(screen)) return screen.title;\n  return '';\n};\n\n@AddDefaultView(BreadcrumbsView)\n@Service()\nexport default class BreadcrumbsViewModel {\n  @observable screens: BreadcrumbScreen[] = [];\n  @observable private navigator: Navigator = DummyNavigator;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private authService: AuthService\n  ) {\n    makeObservable(this);\n  }\n\n  @computed get breadcrumbs() {\n    return this.screens.map(\n      (screen) =>\n        ({\n          route: screen.navigator('.'),\n          title: getScreenTitle(screen),\n        }) as Breadcrumb\n    );\n  }\n\n  @computed get isNavigationVisible() {\n    return !this.screens[this.screens.length - 1]?.breadcrumb?.hideOnPage;\n  }\n\n  @computed get navHome() {\n    const auth = this.authService.getAuth();\n\n    if (auth) {\n      return this.navigator(HomeViewModel);\n    } else {\n      return this.navigator(RootViewModel);\n    }\n  }\n\n  @action middleware: Middleware = ({ screens, next, navigator }) => {\n    this.screens = screens.filter(crumbVisibilityFilter) as BreadcrumbScreen[];\n    this.navigator = navigator;\n    next();\n  };\n\n  translate = translate('breadcrumbs', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type CookieBarViewModel from './CookieBarViewModel';\nimport { observer } from 'mobx-react-lite';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\n\nconst CookieBarView: View<CookieBarViewModel> = observer(({ vm }) => {\n  const { translate, toogleDetail, cookieModalViewModel, cookieService } = vm;\n\n  return (\n    <>\n      {cookieService.barVisible && (\n        <>\n          <div className=\"gov-cookie-bar test-wrapper-cookie\">\n            <div className=\"gov-cookie-bar__content\">\n              <div className=\"gov-cookie-bar__content-inner\">\n                <h3>{translate('title')}</h3>\n                <p className=\"gov-note u-color--grey-mid\">{translate('description')}</p>\n                <div className=\"gov-cookie-bar__actions\">\n                  <div className=\"gov-cookie-bar__actions-primary\">\n                    <button\n                      className=\"gov-button gov-button--primary test-action-accept\"\n                      onClick={() => cookieService.acceptAll()}\n                      data-testid=\"accept-button\"\n                    >\n                      {translate('button_accept')}\n                    </button>\n                    <button\n                      className=\"gov-button gov-button--primary-outlined test-action-refuse\"\n                      onClick={() => cookieService.refuseAll()}\n                      data-testid=\"refuse-button\"\n                    >\n                      {translate('button_refuse')}\n                    </button>\n                  </div>\n                  <button className=\"gov-button\" onClick={toogleDetail} data-testid=\"detail-button\">\n                    {translate('button_detail')}\n                  </button>\n                </div>\n              </div>\n            </div>\n          </div>\n        </>\n      )}\n      <RenderModel vm={cookieModalViewModel} />\n    </>\n  );\n});\n\nexport default CookieBarView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport CookieBarView from './CookieBarView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport CookieModalViewModel from './CookieModalViewModel';\nimport CookieService from '../../services/CookieService';\n\n@AddDefaultView(CookieBarView)\n@Service()\nexport default class CookieBarViewModel {\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public cookieModalViewModel: CookieModalViewModel,\n    @Inject() public cookieService: CookieService\n  ) {\n    cookieService.init();\n  }\n\n  toogleDetail = () => {\n    this.cookieService.setDetailVisible(!this.cookieService.detailVisible);\n  };\n\n  translate = translate('cookie', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type CookieModalViewModel from './CookieModalViewModel';\nimport { observer } from 'mobx-react-lite';\nimport Modal from '../../components/shared/Modal';\n\nconst CookieModalView: View<CookieModalViewModel> = observer(({ vm }) => {\n  const { translate, hideDetail, cookieService, navPersonalData, clickPersonalData } = vm;\n  return (\n    <>\n      {cookieService.detailVisible && (\n        <Modal headLine={translate('detail.title')} closeFce={hideDetail}>\n          <p>{translate('detail.subtitle')}</p>\n          <div className=\"gov-form-control gov-form-control--custom\">\n            <ul className=\"gov-form-group gov-form-group--complex\">\n              <li className=\"gov-form-group__item\">\n                <input\n                  type=\"checkbox\"\n                  id=\"musthave\"\n                  className=\"gov-form-control__checkbox\"\n                  name=\"function\"\n                  aria-required=\"false\"\n                  aria-disabled=\"true\"\n                  defaultChecked={true}\n                  disabled={true}\n                />\n                <label className=\"gov-form-control__label\" htmlFor=\"musthave\">\n                  {translate('detail.options.necessary.title')}{' '}\n                  <p>{translate('detail.options.necessary.description')}</p>\n                </label>\n                <span className=\"gov-form-control__indicator\"></span>\n              </li>\n              <li className=\"gov-form-group__item\">\n                <input\n                  id=\"analytics\"\n                  type=\"checkbox\"\n                  className=\"gov-form-control__checkbox\"\n                  checked={cookieService.actualValue.analytics}\n                  onChange={(e) => (cookieService.actualValue.analytics = e.target.checked)}\n                />\n                <label className=\"gov-form-control__label\" htmlFor=\"analytics\">\n                  {translate('detail.options.analytics.title')}{' '}\n                  <p>{translate('detail.options.analytics.description')}</p>\n                </label>\n\n                <span className=\"gov-form-control__indicator\"></span>\n              </li>\n              <li className=\"gov-form-group__item\">\n                <input\n                  id=\"personalization\"\n                  type=\"checkbox\"\n                  className=\"gov-form-control__checkbox\"\n                  checked={cookieService.actualValue.personalization}\n                  onChange={(e) => (cookieService.actualValue.personalization = e.target.checked)}\n                />\n                <label className=\"gov-form-control__label\" htmlFor=\"personalization\">\n                  {translate('detail.options.personalization.title')}{' '}\n                  <p>{translate('detail.options.personalization.description')}</p>\n                </label>\n\n                <span className=\"gov-form-control__indicator\"></span>\n              </li>\n            </ul>\n          </div>\n          <p>\n            {translate('detail.foot')}{' '}\n            <a\n              data-testid=\"personal-data-link\"\n              href={navPersonalData.getLinkLocation()}\n              onClick={(e) => clickPersonalData(e, vm)}\n            >\n              {translate('detail.foot_link')}\n            </a>\n          </p>\n          <button\n            data-testid=\"save-button\"\n            className=\"gov-button gov-button--primary\"\n            onClick={() => cookieService.setActualValues()}\n          >\n            {translate('detail.button')}\n          </button>\n        </Modal>\n      )}\n    </>\n  );\n});\n\nexport default CookieModalView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport CookieModalView from './CookieModalView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport CookieService from '../../services/CookieService';\nimport ProcessingPersonalDataViewModel from '../page/ProcessingPersonalDataViewModel';\nimport { computed, observable, runInAction } from 'mobx';\nimport { DummyNavigator, Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\n\n@AddDefaultView(CookieModalView)\n@Service()\nexport default class CookieModalViewModel {\n  private navigator: Navigator = DummyNavigator;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public cookieService: CookieService\n  ) {}\n\n  setNavigator(navigator: Navigator) {\n    this.navigator = navigator;\n  }\n\n  acceptAll = () => {\n    this.cookieService.acceptAll();\n  };\n\n  hideDetail = () => {\n    this.cookieService.setDetailVisible(false);\n  };\n\n  @computed get navPersonalData() {\n    return this.navigator(ProcessingPersonalDataViewModel);\n  }\n\n  clickPersonalData(event: any, vm: this) {\n    event.preventDefault();\n    vm.cookieService.detailVisible = false;\n    vm.navPersonalData.go();\n  }\n\n  translate = translate('cookie', this);\n}\n","import { GovIcon } from '@cendis/cedr-components';\nimport './NoAuthorization.scss';\n\ntype NoAuthorizationProps = {\n  title: string;\n  description: string;\n};\n\nconst NoAuthorization = ({ title, description }: NoAuthorizationProps) => {\n  return (\n    <div className=\"component-no-authorization\">\n      <div className=\"icon-wrapper mt-4 mb-4\">\n        <GovIcon name={'complex/confusion'}></GovIcon>\n      </div>\n      <div>\n        <h4 className=\"mb-4\">{title}</h4>\n        <p>{description}</p>\n      </div>\n    </div>\n  );\n};\n\nexport default NoAuthorization;\n","import { observer } from 'mobx-react-lite';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport DateUtils from 'src/utils/DateUtils';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\nimport { Typography } from '@cendis/cedr-components';\nimport PanelWrapper from '../PanelWrapper';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport NoDriverData from '../NoDriverData';\nimport NoAuthorization from '../NoAuthorization';\nimport type { Crr_WebApi_Responses_V4_RequestResponse } from 'src/data/crr/apiV4';\nimport {\n  Domain_Contracts_Enums_OptionalValueStatus,\n  Crr_WebApi_Responses_V3_Isdt_RequestResponse,\n} from 'src/data/crr/apiV3';\nimport {\n  Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse,\n  Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse,\n  Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse,\n} from 'src/data/crr/api';\nimport { RequestDriverTypes } from '../../requestDetail/RequestDetailModel';\n\ntype RequestsOverviewProps = { vm: DriverNgViewModel };\n\nconst RequestsOverview = observer(({ vm }: RequestsOverviewProps) => {\n  const { translate, driverService, translatePaymentStatus } = vm;\n  const { driverRequestsBusyWatcher, driverTachographDataBusyWatcher } = driverService;\n\n  let requests: (\n    | (Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse & {\n        $type?: string;\n      })\n    | (Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse & {\n        $type?: string;\n      })\n    | (Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse & {\n        $type?: string;\n      })\n    | Crr_WebApi_Responses_V3_Isdt_RequestResponse\n  )[] = [];\n  if (vm.driverService.driverRequests && vm.driverService.driverRequests.length > 0) {\n    requests = vm.driverService.driverRequests;\n  }\n\n  if (\n    vm.driverService.driverTachographData?.requests?.status ===\n      Domain_Contracts_Enums_OptionalValueStatus.PROVIDED &&\n    vm.driverService.driverTachographData.requests.value &&\n    vm.driverService.driverTachographData.requests.value.length > 0\n  ) {\n    const hasIsdtRequests = requests.some((req) => '$type' in req && req.$type === RequestDriverTypes.ISDT);\n    if (!hasIsdtRequests) {\n      requests = [...requests, ...(vm.driverService.driverTachographData?.requests?.value ?? [])];\n    }\n  }\n\n  return (\n    <PanelWrapper\n      title={translate('application')}\n      loading={driverRequestsBusyWatcher.isBusy || driverTachographDataBusyWatcher.isBusy}\n    >\n      <Typography className=\"subheader\">{translate('requests.subheader')}</Typography>\n\n      <ConditionalView\n        required={(x) => x.CRR_DRIVING_CARD_REQUEST_LIST || x.CRR_DIGI_TACHOGRAPH_REQUEST_LIST}\n        notAllowedComponent={\n          <NoAuthorization\n            title={translate('requests.no-authorization.title')}\n            description={translate('requests.no-authorization.description')}\n          />\n        }\n      >\n        {requests.length === 0 ? (\n          <NoDriverData title={translate('requests.no-request')} />\n        ) : (\n          <PaginatedTable\n            data={requests}\n            filterSortPaginationContext={vm.tableContext}\n            pageSize={10}\n            testId=\"driver-requests-table\"\n            row={{\n              key: (x, index) =>\n                'id' in x && x.id\n                  ? `${x.id ?? index}-${x.requestDate}`\n                  : 'requestId' in x && x.requestId\n                    ? `${x.requestId ?? index}-${x.requestDate}`\n                    : `request-${index}`,\n              onClick: (req) => {\n                let requestId = '';\n\n                if ('requestDatabaseId' in req && typeof req.requestDatabaseId === 'string') {\n                  requestId = req.requestDatabaseId;\n                } else if ('id' in req && typeof req.id === 'string') {\n                  requestId = req.id;\n                } else if ('requestId' in req) {\n                  const reqWithRequestId = req as { requestId?: string | null };\n                  requestId = reqWithRequestId.requestId ?? '';\n                }\n\n                return vm.goToRequestDetail(vm.reqToDetailType(req), requestId);\n              },\n            }}\n            columns={[\n              { header: translate('requests.requestName'), value: (x) => vm.displayTitle(x) },\n              { header: translate('requests.requestStatus'), value: (x) => vm.displayStatus(x) },\n              {\n                header: translate('requests.paymentStatus'),\n                value: (x) =>\n                  (x as Crr_WebApi_Responses_V4_RequestResponse).payment &&\n                  translatePaymentStatus(\n                    (x as Crr_WebApi_Responses_V4_RequestResponse).payment?.paymentStatus.toLowerCase() ?? ''\n                  ),\n                width: '120px',\n              },\n              {\n                header: translate('requests.requestDate'),\n                value: (x) => x.requestDate,\n                displayedValue: (x) => (x.requestDate ? DateUtils.dateFormatCz(x.requestDate) : '-'),\n                sortOptions: { sortOrder: SortOrder.DESCENDING, sortType: SortType.DATE_STRING },\n              },\n            ]}\n          />\n        )}\n      </ConditionalView>\n    </PanelWrapper>\n  );\n});\n\nexport default RequestsOverview;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './DriverBans.scss';\nimport { Message, Typography } from '@cendis/cedr-components';\nimport { Crr_WebApi_Responses_V3_PointsRatingResponse } from 'src/data/crr/apiV3/models/Crr_WebApi_Responses_V3_PointsRatingResponse';\nimport { Crr_WebApi_Responses_V3_DriverNotificationsStatusResponse } from '../../../../data/crr/apiV3';\nimport NoDriverData from '../NoDriverData';\nimport InfoCard from '../InfoCard';\nimport NotificationButton from '../NotificationButton';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport NoAuthorization from '../NoAuthorization';\nimport PanelWrapper from '../PanelWrapper';\n\nexport type DriverBansProps = {\n  points?: Crr_WebApi_Responses_V3_PointsRatingResponse;\n  translate: Translator;\n  notificationInfo?: Crr_WebApi_Responses_V3_DriverNotificationsStatusResponse;\n  onNavigateToNotification: () => void;\n  onNavigateToDriverBan: () => void;\n  loading: boolean;\n};\n\nconst DriverBans = observer(\n  ({\n    points,\n    translate,\n    notificationInfo,\n    onNavigateToNotification,\n    onNavigateToDriverBan,\n    loading,\n  }: DriverBansProps) => {\n    const shouldShowMessage = !(\n      notificationInfo?.application ||\n      notificationInfo?.email ||\n      notificationInfo?.textMessage\n    );\n\n    const handleNotificationClick = () => {\n      onNavigateToNotification();\n    };\n\n    const handleDriverBanClick = () => {\n      onNavigateToDriverBan();\n    };\n\n    return (\n      <PanelWrapper title={translate('driverBans.title')} loading={loading}>\n        <ConditionalView\n          required={(x) => x.CRR_DRIVING_CARD_OFFENCES}\n          notAllowedComponent={\n            <>\n              <Typography className=\"subheader\">{translate('driverBans.description')}</Typography>\n\n              <NoAuthorization\n                title={translate('driverBans.no-authorization.title')}\n                description={translate('driverBans.no-authorization.description')}\n              />\n            </>\n          }\n        >\n          {!points ? (\n            <NoDriverData title={translate('driverBans.noDataText')} />\n          ) : (\n            <>\n              {points.currentState === 12 && (\n                <Message color=\"error\" className=\"mb-2rem pt-2 pb-2\">\n                  <p>\n                    {translate('driverBans.ban1')}\n                    <span className=\"fw-bold\">{translate('driverBans.ban2')}</span>\n                    {translate('driverBans.ban3')}\n                    <span className=\"fw-bold\">{translate('driverBans.ban4')}</span>\n                  </p>\n                </Message>\n              )}\n              {shouldShowMessage && (\n                <NotificationButton\n                  text={translate('notification.button.text')}\n                  onClick={handleNotificationClick}\n                  required={[(x) => x.CRR_DRIVING_CARD_NOTIFICATIONS]}\n                  message={translate('driverBans.information')}\n                />\n              )}\n\n              <InfoCard\n                description={translate('driverBans.description')}\n                infoText={translate('driverBans.info')}\n                infoNumber={points.currentState}\n                buttonText={translate('driverBans.next')}\n                onButtonClick={handleDriverBanClick}\n                testId=\"driver-bans\"\n              />\n            </>\n          )}\n        </ConditionalView>\n      </PanelWrapper>\n    );\n  }\n);\n\nexport default DriverBans;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NoDriverData from '../NoDriverData';\nimport { Button, LegacyTooltip } from '@cendis/cedr-components';\nimport PanelWrapper from '../PanelWrapper';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport Container from 'typedi';\nimport AuthorizationService from 'src/services/AuthorizationService';\n\nexport type DriverRecordProps = {\n  translate: Translator;\n  loading: boolean;\n  vm: DriverNgViewModel;\n};\nconst DriverRecordCard = observer(({ translate, loading, vm }: DriverRecordProps) => {\n  const driver = vm.driverService.drivingLicences;\n\n  const authorizationService = Container.get(AuthorizationService);\n  const authorized = authorizationService.conditions.CRR_DRIVING_CARD_EVIDENCE_CARD && !!driver;\n\n  return (\n    <PanelWrapper\n      className=\"component-driver-record\"\n      title={translate('driverRecord.title')}\n      loading={loading}\n      button={\n        <LegacyTooltip\n          tooltipContent={translate('driverRecord.requestButtonTooltip')}\n          position={'top'}\n          hidden={authorized}\n          testId=\"driver-record-tooltip\"\n        >\n          <Button\n            iconStart=\"components/download\"\n            size=\"m\"\n            type=\"outlined\"\n            onClick={vm.downloadCardRecord}\n            loading={vm.downloadBusyWatcher.isBusy}\n            disabled={!authorized}\n            testId=\"driver-record-card-button\"\n          >\n            {translate('record-button')}\n          </Button>\n        </LegacyTooltip>\n      }\n    >\n      {!driver ? (\n        <>\n          <div className=\"mb-2\">{translate('driverRecord.description')}</div>\n          <NoDriverData title={translate('driverRecord.noDataText')} />\n        </>\n      ) : (\n        <div className=\"gov-text--m mt-1 mb-3 px-1 py-2\">\n          <div>{translate('driverRecord.description')}</div>\n        </div>\n      )}\n    </PanelWrapper>\n  );\n});\n\nexport default DriverRecordCard;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './DrivingLicenseEmpty.scss';\nimport { GovIcon, Typography } from '@cendis/cedr-components/dist';\nimport DateUtils from 'src/utils/DateUtils';\n\nexport type DrivingBanProps = {\n  translate: Translator;\n  details: DrivingBanDetails;\n};\n\nexport type DrivingBanDetails =\n  | { reason: 'drivingBan'; drivingBanUntil: Date | undefined }\n  | { reason: 'drivingLicenseLost' };\n\nfunction getDrivingBanDescription(translate: Translator, drivingBanUntil: Date | undefined) {\n  const date = DateUtils.dateFormatCz(drivingBanUntil);\n\n  return (\n    <>\n      {translate('drivingBanDescription1')}\n      <span className=\"bold\" data-testid=\"driving-ban-description-2\">\n        {translate('drivingBanDescription2bold')}\n      </span>\n      {translate('drivingBanDescription3')}\n      <span className=\"bold\" data-testid=\"driving-ban-description-4\">\n        {date}\n      </span>\n      {translate('drivingBanDescription4')}\n    </>\n  );\n}\n\nfunction getDrivingLicenseLostDescription(translate: Translator) {\n  return <span data-testid=\"driving-ban-description-3\">{translate('drivingLicenseLostDescription')}</span>;\n}\n\nfunction getContent(details: DrivingBanDetails, translate: Translator): React.ReactNode {\n  switch (details.reason) {\n    case 'drivingBan':\n      return getDrivingBanDescription(translate, details.drivingBanUntil);\n    case 'drivingLicenseLost':\n      return getDrivingLicenseLostDescription(translate);\n  }\n}\n\nconst DrivingBan: React.FC<DrivingBanProps> = ({ translate, details }) => {\n  return (\n    <div className=\"driving-license-empty\" data-testid=\"driving-ban\">\n      <div className=\"gov-icon-circle error\">\n        <GovIcon name=\"complex/doc-stamp\" color=\"error\" />\n      </div>\n      <div>\n        <Typography component=\"h4\" size=\"l\" type=\"body\" fontWeight={500} className=\"mb-2\">\n          {translate('drivingBan')}\n        </Typography>\n        <p>{getContent(details, translate)}</p>\n      </div>\n    </div>\n  );\n};\n\nexport default DrivingBan;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { TextParts } from './TickBox';\n\nimport './TickBoxText.scss';\nimport DateUtils from 'src/utils/DateUtils';\n\nexport type TickBoxTextProps = {\n  textParts: TextParts;\n  translate: Translator;\n  testId: string;\n};\n\nfunction getTextParts(textParts: TextParts, translate: Translator) {\n  switch (textParts.key) {\n    case 'pointsRatingLimitReached':\n      return (\n        <>\n          {translate('items.pointsRatingLimitReached1')}\n          <span className=\"bold\"> {translate('items.pointsRatingLimitReached2bold')} </span>\n          <span> {translate('items.pointsRatingLimitReached3')} </span>\n          <span className=\"bold\">{translate('items.pointsRatingLimitReached4bold')} </span>\n          <span className=\"bold\"> {textParts.driverPoints} </span>\n          <span className=\"bold\"> {translate('items.pointsRatingLimitReached6bold')}</span>{' '}\n          {translate('items.pointsRatingLimitNotReached')} <span className=\"bold\">0</span>\n        </>\n      );\n    case 'pointsRatingLimitNotReached':\n      return (\n        <>\n          {translate('items.pointsRatingLimitNotReached')} {textParts.driverPoints}\n        </>\n      );\n    case 'validityNearEnd':\n      return (\n        <>\n          {translate(textParts.validNearEndKey)}\n          <span className=\"bold\"> {translate('items.validityNearEndBold')} </span>\n          <span className=\"bold\">({DateUtils.dateFormatCz(textParts.validTo)})</span>\n          <span className=\"bold\">.</span>\n        </>\n      );\n    case 'invalid':\n      return (\n        <>\n          {translate(textParts.invalidKey)}\n          <span className=\"bold\"> {translate('items.invalidBold')} </span>\n          <span className=\"bold\">({DateUtils.dateFormatCz(textParts.validTo)})</span>\n          <span className=\"bold\">.</span>\n        </>\n      );\n    case 'allLicensesValid':\n      return <>{translate('items.allLicensesValid')}</>;\n    case 'noDrivingBan':\n      return <>{translate('items.noDrivingBan')}</>;\n    case 'drivingBan':\n      return (\n        <>\n          {translate('items.drivingBan1')}\n          <span className=\"bold\"> {translate('items.drivingBan2bold')} </span>\n          {translate('items.drivingBan3')}\n          <span className=\"bold\"> ({DateUtils.dateFormatCz(textParts.drivingBanUntil)}) </span>\n          <span className=\"bold\">.</span>\n        </>\n      );\n  }\n}\n\nconst TickBoxText: React.FC<TickBoxTextProps> = ({ textParts, translate, testId }) => {\n  return (\n    <p className=\"tick-box-text mb-1\" data-testid={testId}>\n      {getTextParts(textParts, translate)}\n    </p>\n  );\n};\n\nexport default TickBoxText;\n","import { Button, GovIcon } from '@cendis/cedr-components/dist';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './TickBox.scss';\nimport { iconNames } from '@cendis/cedr-components/dist/components/shared/GovIcon/utils';\nimport TickBoxText from './TickBoxText';\nimport {\n  Crr_Contracts_Models_Validity,\n  Crr_WebApi_Responses_V3_DriverStatusResponse,\n} from 'src/data/crr/apiV3';\n\nexport type TickBoxProps = {\n  result: Crr_WebApi_Responses_V3_DriverStatusResponse;\n  translate: Translator;\n  navToProfesionalLicence: () => void;\n  navToLicences: () => void;\n  newLicenceAvailable: boolean;\n};\n\nexport type TextParts =\n  | { key: 'pointsRatingLimitReached'; driverPoints: number | undefined | null }\n  | { key: 'pointsRatingLimitNotReached'; driverPoints: number | undefined | null }\n  | { key: 'validityNearEnd'; validTo: Date | undefined; validNearEndKey: string }\n  | { key: 'invalid'; validTo: Date | undefined; invalidKey: string }\n  | { key: 'allLicensesValid' }\n  | { key: 'noDrivingBan' }\n  | { key: 'drivingBan'; drivingBanUntil: Date | undefined };\n\nexport type TickBoxItem = {\n  state: 'ok' | 'warning' | 'error' | 'exclamation' | 'dismiss';\n  textParts: TextParts;\n};\n\nfunction getStateIconName(\n  state: 'ok' | 'warning' | 'error' | 'exclamation' | 'dismiss'\n): (typeof iconNames)[number] {\n  switch (state) {\n    case 'ok':\n      return 'components/check-lg';\n    case 'warning':\n      return 'custom/bell-fill';\n    case 'error':\n      return 'components/exclamation-triangle-fill';\n    case 'exclamation':\n      return 'components/exclamation-triangle-fill';\n    case 'dismiss':\n      return 'components/x';\n  }\n}\n\nfunction getIconColor(\n  state: 'ok' | 'warning' | 'error' | 'exclamation' | 'dismiss'\n): 'success' | 'warning' | 'neutral' | 'error' {\n  switch (state) {\n    case 'ok':\n      return 'success';\n    case 'exclamation':\n      return 'warning';\n    case 'dismiss':\n      return 'neutral';\n    case 'error':\n    case 'warning':\n      return state;\n  }\n}\n\nfunction getLink(\n  text: string,\n  linkState?: 'newLicence' | 'newDigitalTachograph' | 'profesionalLicence',\n  actions?: { newLicence?: () => void; newDigitalTachograph?: () => void; profesionalLicence?: () => void }\n) {\n  const handleClick = () => {\n    if (!linkState) return;\n    const action = actions?.[linkState];\n    if (action) {\n      action();\n    }\n  };\n\n  return (\n    <Button\n      onClick={handleClick}\n      type=\"link\"\n      iconEnd=\"components/chevron-right\"\n      size=\"m\"\n      testId={`tick-box-${linkState}`}\n    >\n      {text}\n    </Button>\n  );\n}\n\n//ok = primary, dismiss = neutral,\nfunction getIcon(state: 'ok' | 'warning' | 'error' | 'exclamation' | 'dismiss') {\n  const iconName = getStateIconName(state);\n  const iconColor = getIconColor(state) ?? 'neutral';\n  return (\n    <>\n      <GovIcon className={`state-icon ${state} me-3`} name={iconName} size=\"2xl\" color={iconColor} />\n    </>\n  );\n}\n\nconst TickBox: React.FC<TickBoxProps> = ({\n  result,\n  translate,\n  navToProfesionalLicence,\n  navToLicences,\n  newLicenceAvailable,\n}) => {\n  const items: React.ReactNode[] = [];\n\n  if ('driverPoints' in result.status) {\n    const points: number = result.status.driverPoints.points;\n\n    if (points === 12) {\n      items.push(\n        <div className=\"tick-box-item\">\n          {getIcon('error')}\n          <TickBoxText\n            textParts={{ key: 'pointsRatingLimitReached', driverPoints: points }}\n            translate={translate}\n            testId=\"points-rating-limit-reached\"\n          />\n        </div>\n      );\n    } else if (points > 0 && points < 12) {\n      items.push(\n        <div className=\"tick-box-item\">\n          {getIcon('exclamation')}\n          <TickBoxText\n            textParts={{ key: 'pointsRatingLimitNotReached', driverPoints: points }}\n            translate={translate}\n            testId=\"points-rating-limit-reached\"\n          />\n        </div>\n      );\n    } else {\n      items.push(\n        <div className=\"tick-box-item\">\n          {getIcon('ok')}{' '}\n          <TickBoxText\n            textParts={{ key: 'pointsRatingLimitNotReached', driverPoints: points }}\n            translate={translate}\n            testId=\"points-rating-limit-not-reached\"\n          />\n        </div>\n      );\n    }\n  }\n\n  if (\n    'driverLicenceValidTo' in result.status &&\n    'tachographValidTo' in result.status &&\n    'professionalCompetenceValidTo' in result.status\n  ) {\n    if (\n      result.status.driverLicenceValidTo.valid === Crr_Contracts_Models_Validity.VALID &&\n      result.status.professionalCompetenceValidTo.valid === Crr_Contracts_Models_Validity.VALID &&\n      result.status.tachographValidTo.valid === Crr_Contracts_Models_Validity.VALID\n    ) {\n      items.push(\n        <div className=\"tick-box-item\">\n          {getIcon('ok')}\n          <TickBoxText\n            textParts={{ key: 'allLicensesValid' }}\n            translate={translate}\n            testId=\"all-licenses-valid\"\n          />\n        </div>\n      );\n    } else {\n      if (result.status.driverLicenceValidTo.valid === Crr_Contracts_Models_Validity.VALIDITY_NEAR_END) {\n        items.push(\n          <div className=\"tick-box-item\">\n            {getIcon('warning')}\n            <div>\n              <TickBoxText\n                textParts={{\n                  key: 'validityNearEnd',\n                  validTo: new Date(result.status.driverLicenceValidTo.validTo || ''),\n                  validNearEndKey: 'items.drivingLicenseValidNearEnd',\n                }}\n                translate={translate}\n                testId=\"driving-license-valid-near-end\"\n              />\n              {newLicenceAvailable &&\n                getLink(translate('items.drivingLicenseValidNearEndRequst'), 'newLicence', {\n                  newLicence: navToLicences,\n                })}\n            </div>\n          </div>\n        );\n      }\n\n      if (result.status.driverLicenceValidTo.valid === Crr_Contracts_Models_Validity.INVALID) {\n        items.push(\n          <div className=\"tick-box-item\">\n            {getIcon('error')}\n            <div>\n              <TickBoxText\n                textParts={{\n                  key: 'invalid',\n                  validTo: new Date(result.status.driverLicenceValidTo.validTo || ''),\n                  invalidKey: 'items.drivingLicenseInvalid',\n                }}\n                translate={translate}\n                testId=\"driving-license-invalid\"\n              />\n              {getLink(translate('items.drivingLicenseInvalidRequest'), 'newLicence', {\n                newLicence: navToLicences,\n              })}\n            </div>\n          </div>\n        );\n      }\n\n      if (result.status.tachographValidTo.valid === Crr_Contracts_Models_Validity.VALIDITY_NEAR_END) {\n        items.push(\n          <div className=\"tick-box-item\">\n            {getIcon('warning')}\n            <div>\n              <TickBoxText\n                textParts={{\n                  key: 'validityNearEnd',\n                  validTo: new Date(result.status.tachographValidTo.validTo || ''),\n                  validNearEndKey: 'items.cardValidityNearEnd',\n                }}\n                translate={translate}\n                testId=\"card-validity-near-end\"\n              />\n              {getLink(translate('items.cardValidityNearEndRequest'), 'newDigitalTachograph', {\n                newDigitalTachograph: navToLicences,\n              })}\n            </div>\n          </div>\n        );\n      }\n      if (\n        result.status.tachographValidTo.valid === Crr_Contracts_Models_Validity.INVALID &&\n        result.status.tachographValidTo.validTo\n      ) {\n        items.push(\n          <div className=\"tick-box-item\">\n            {getIcon('error')}\n            <div>\n              <TickBoxText\n                textParts={{\n                  key: 'invalid',\n                  validTo: new Date(result.status.tachographValidTo.validTo || ''),\n                  invalidKey: 'items.cardInvalid',\n                }}\n                translate={translate}\n                testId=\"card-invalid\"\n              />\n            </div>\n            {/* <Button type=\"base\" >\n              {getIcon('dismiss')}\n            </Button>*/}\n          </div>\n        );\n      }\n\n      if (\n        result.status.professionalCompetenceValidTo.valid === Crr_Contracts_Models_Validity.VALIDITY_NEAR_END\n      ) {\n        items.push(\n          <div className=\"tick-box-item\">\n            {getIcon('warning')}\n            <div>\n              <TickBoxText\n                textParts={{\n                  key: 'validityNearEnd',\n                  validTo: new Date(result.status.professionalCompetenceValidTo.validTo || ''),\n                  validNearEndKey: 'items.drivingCompetenceValidNearEnd',\n                }}\n                translate={translate}\n                testId=\"driving-competence-valid-near-end\"\n              />\n\n              {getLink(translate('items.drivingCompetenceValidNearEndRequest'), 'profesionalLicence', {\n                profesionalLicence: navToProfesionalLicence,\n              })}\n            </div>\n          </div>\n        );\n      }\n      if (result.status.professionalCompetenceValidTo.valid === Crr_Contracts_Models_Validity.INVALID) {\n        items.push(\n          <div className=\"tick-box-item\">\n            {getIcon('error')}\n            <div>\n              <TickBoxText\n                textParts={{\n                  key: 'invalid',\n                  validTo: new Date(result.status.professionalCompetenceValidTo.validTo || ''),\n                  invalidKey: 'items.drivingCompetenceInvalid',\n                }}\n                translate={translate}\n                testId=\"driving-competence-invalid\"\n              />\n              {getLink(translate('items.drivingCompetenceInvalidRequest'), 'profesionalLicence', {\n                profesionalLicence: navToProfesionalLicence,\n              })}\n            </div>\n          </div>\n        );\n      }\n    }\n  }\n\n  return (\n    <div className=\"tick-box\">\n      {items.map((item, index) => {\n        return (\n          <div key={index} className=\"mb-3\">\n            {item}\n          </div>\n        );\n      })}\n    </div>\n  );\n};\n\nexport default TickBox;\n","import { Button, GovIcon, Skeleton, Typography } from '@cendis/cedr-components/dist';\nimport './DrivingLicenseEmpty.scss';\nimport UnionIcon from '@components/icons/UnionIcon';\n\nexport type DrivingLicenseEmptyProps = {\n  title: string;\n  buttonText?: string;\n  description?: string;\n  govIconName?: 'colored/empty-file' | 'complex/doc-stamp';\n  govIconColor?: 'neutral' | 'error' | 'success';\n  govIconBg?: 'warning';\n  iconName?: 'unionIcon';\n  requestId?: string;\n  navigateToDetail?: (id: string) => void;\n  navigateTo?: () => void;\n  autorityName?: string | undefined;\n  loading?: boolean;\n};\n\nconst DrivingLicenseEmpty: React.FC<DrivingLicenseEmptyProps> = ({\n  title,\n  buttonText,\n  description,\n  govIconName,\n  govIconColor = 'neutral',\n  govIconBg,\n  iconName,\n  requestId,\n  navigateToDetail,\n  navigateTo,\n  autorityName,\n  loading,\n}) => {\n  return (\n    <>\n      {loading ? (\n        <>\n          <Skeleton height=\"100px\" className=\"w100 mt-4\" />\n        </>\n      ) : (\n        <div className=\"driving-license-empty\" data-testid=\"driving-license-empty\">\n          {(govIconName || iconName) && (\n            <div className={`gov-icon-circle ${govIconBg}`}>\n              {govIconName && <GovIcon name={govIconName} color={govIconColor} />}\n              {iconName && <>{iconName === 'unionIcon' && <UnionIcon />}</>}\n            </div>\n          )}\n          <div>\n            <Typography component=\"h4\" size=\"l\" type=\"body\" fontWeight={500} className=\"mb-2\">\n              {title} {autorityName && autorityName}\n            </Typography>\n\n            {description && (\n              <Typography component={'p'} className=\"mb-2\">\n                {description}\n              </Typography>\n            )}\n\n            {buttonText && navigateTo && (\n              <Button onClick={() => navigateTo()} testId=\"driver-application\">\n                {buttonText}\n              </Button>\n            )}\n\n            {navigateToDetail && requestId && buttonText && (\n              <Button testId={`nav-to-app-in-progress`} onClick={() => navigateToDetail(requestId)}>\n                {buttonText}\n              </Button>\n            )}\n          </div>\n        </div>\n      )}\n    </>\n  );\n};\n\nexport default DrivingLicenseEmpty;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { observer } from 'mobx-react-lite';\nimport {\n  Crr_WebApi_Responses_V3_DriverForbiddenPendingRequestResponse,\n  Crr_WebApi_Responses_V3_DriverStatusResponse,\n  Domain_Contracts_Enums_Crr_DriverForbiddenReason,\n} from 'src/data/crr/apiV3';\nimport DrivingBan from './DrivingBan';\nimport TickBox from './TickBox';\nimport './QuickSummary.scss';\nimport PanelWrapper from '../PanelWrapper';\nimport DriverService from '../../../../services/driver/DriverService';\nimport DrivingLicenseEmpty from './DrivingLicenseEmpty';\nimport { useEffect } from 'react';\n\ntype QuickSummaryResult =\n  | { key: 'invalidDrivingLicence' } //A\n  | { key: 'missingDrivingLicence' } //B\n  | { key: 'invalidDrivingLicenceWithPendingRequest'; requestId: string } //C\n  | { key: 'drivingBan'; drivingBanUntil: Date | undefined } //D\n  | { key: 'tickBox'; result: Crr_WebApi_Responses_V3_DriverStatusResponse } //E\n  | { key: 'driver17yearsNoLicence' }\n  | { key: 'unprocessedDrivingLicenceResponse'; requestId: string }\n  | { key: 'noRecord' }\n  | undefined;\n\nfunction getContent(\n  result: QuickSummaryResult,\n  translate: Translator,\n  newLicenceAvailable: boolean,\n  navToNewDriverLicence: () => void,\n  navigateToDetail: (id: string) => void,\n  navToProfesionalLicence: () => void,\n  navToLicences: () => void,\n  navToMentoring: () => void,\n  driverService: DriverService,\n  autorityName: string | undefined,\n  loading: boolean\n): React.ReactNode {\n  switch (result?.key) {\n    case 'invalidDrivingLicence':\n      return (\n        <DrivingLicenseEmpty\n          title={translate('drivingLicenseInvalid')}\n          buttonText={translate('newDrivingLicenseButton')}\n          navigateTo={navToNewDriverLicence}\n          govIconName={'colored/empty-file'}\n        />\n      );\n    case 'missingDrivingLicence':\n      return (\n        <DrivingLicenseEmpty\n          title={translate('emptyDrivingLicense')}\n          govIconName={'colored/empty-file'}\n          navigateTo={navToNewDriverLicence}\n        />\n      );\n    case 'invalidDrivingLicenceWithPendingRequest':\n      return (\n        <>\n          <DrivingLicenseEmpty\n            title={translate('waitingForFirst')}\n            buttonText={translate('waitingForFirstButton')}\n            navigateToDetail={navigateToDetail}\n            requestId={result.requestId}\n            iconName=\"unionIcon\"\n            govIconColor=\"success\"\n            autorityName={autorityName}\n            loading={driverService.driverRequestsBusyWatcher.isBusy}\n          />\n        </>\n      );\n\n    case 'driver17yearsNoLicence':\n      return (\n        <DrivingLicenseEmpty\n          title={translate('driver17yearsNoLicence')}\n          buttonText={translate('driver17yearsNoLicenceDescriptionLink')}\n          description={translate('driver17yearsNoLicenceDescription')}\n          govIconName={'colored/empty-file'}\n          navigateTo={navToMentoring}\n        />\n      );\n\n    case 'unprocessedDrivingLicenceResponse':\n      return (\n        <>\n          <DrivingLicenseEmpty\n            title={translate('unprocessedDrivingLicenceResponse')}\n            buttonText={translate('unprocessedDrivingLicenceResponseDescriptionLink')}\n            navigateToDetail={navigateToDetail}\n            requestId={result.requestId}\n            govIconName={'complex/doc-stamp'}\n            govIconColor=\"error\"\n            govIconBg=\"warning\"\n          />\n        </>\n      );\n\n    case 'drivingBan':\n      return (\n        <>\n          <DrivingBan\n            translate={translate}\n            details={{ reason: 'drivingBan', drivingBanUntil: result.drivingBanUntil }}\n          />\n        </>\n      );\n    case 'tickBox':\n      return (\n        <TickBox\n          result={result.result}\n          translate={translate}\n          navToProfesionalLicence={navToProfesionalLicence}\n          navToLicences={navToLicences}\n          newLicenceAvailable={newLicenceAvailable}\n        />\n      );\n    case 'noRecord':\n      return undefined;\n  }\n  return undefined;\n}\n\nfunction getResult(response: Crr_WebApi_Responses_V3_DriverStatusResponse | undefined): QuickSummaryResult {\n  if (!response || !response.status) {\n    return { key: 'noRecord' };\n  }\n\n  if ('reason' in response.status) {\n    switch (response.status.reason) {\n      case Domain_Contracts_Enums_Crr_DriverForbiddenReason.INVALID_DRIVING_LICENCE:\n        return { key: 'invalidDrivingLicence' };\n\n      case Domain_Contracts_Enums_Crr_DriverForbiddenReason.MISSING_DRIVING_LICENCE:\n        return { key: 'missingDrivingLicence' };\n\n      default:\n        return { key: 'noRecord' };\n    }\n  }\n  if (\n    '$type' in response.status &&\n    response.status.$type === 'pending' &&\n    'requestId' in response.status &&\n    response.status.requestId !== null\n  ) {\n    return {\n      key: 'invalidDrivingLicenceWithPendingRequest',\n      requestId:\n        (response.status as Crr_WebApi_Responses_V3_DriverForbiddenPendingRequestResponse)\n          .requestDatabaseId ?? '',\n    };\n  }\n  if ('$type' in response.status && response.status.$type === 'ban') {\n    return {\n      key: 'drivingBan',\n      drivingBanUntil:\n        'validTo' in response.status && typeof response.status.validTo === 'string'\n          ? new Date(response.status.validTo)\n          : undefined,\n    };\n  }\n\n  if ('$type' in response.status && response.status.$type === 'driver17yearsNoLicence') {\n    return {\n      key: 'driver17yearsNoLicence',\n    };\n  }\n\n  if (\n    '$type' in response.status &&\n    response.status.$type === 'unprocessedDrivingLicenceResponse' &&\n    'requestId' in response.status &&\n    response.status.requestId !== ''\n  ) {\n    return {\n      key: 'unprocessedDrivingLicenceResponse',\n      requestId: response.status.requestId ?? '',\n    };\n  }\n\n  if ('driverPoints' in response.status) {\n    return { key: 'tickBox', result: response };\n  }\n\n  return { key: 'noRecord' };\n}\n\nexport type QuickSummaryProps = {\n  response: Crr_WebApi_Responses_V3_DriverStatusResponse | undefined;\n  translate: Translator;\n  newLicenceAvailable: boolean;\n  navToNewDriverLicence: () => void;\n  navToDigitalTachograph: () => void;\n  navigateToDetail: (id: string) => void;\n  navToProfesionalLicence: () => void;\n  navToLicences: () => void;\n  navToMentoring: () => void;\n  loading: boolean;\n  driverService: DriverService;\n  findAutorityFromRequests?: (id: string) => void;\n  autorityName?: string;\n};\n\nconst QuickSummary = observer(\n  ({\n    response,\n    translate,\n    newLicenceAvailable,\n    navToNewDriverLicence,\n    navToDigitalTachograph,\n    navigateToDetail,\n    navToProfesionalLicence,\n    navToLicences,\n    navToMentoring,\n    loading,\n    driverService,\n    findAutorityFromRequests,\n    autorityName,\n  }: QuickSummaryProps) => {\n    const result = getResult(response);\n\n    const isNotEmptyBox = result?.key === 'tickBox' || result?.key === 'noRecord';\n\n    useEffect(() => {\n      if (result?.key === 'invalidDrivingLicenceWithPendingRequest' && driverService.driverRequests) {\n        findAutorityFromRequests?.(result.requestId);\n      }\n    }, [result, driverService.driverRequests, findAutorityFromRequests]);\n\n    return (\n      <PanelWrapper\n        loading={loading}\n        title={isNotEmptyBox ? translate('title') : undefined}\n        variant=\"primary\"\n        className={isNotEmptyBox ? 'component-driver-quick-summary' : 'component-driver-empty'}\n      >\n        {getContent(\n          result,\n          translate,\n          newLicenceAvailable,\n          navToNewDriverLicence,\n          navigateToDetail,\n          navToProfesionalLicence,\n          navToLicences,\n          navToMentoring,\n          driverService,\n          autorityName,\n          loading\n        )}\n      </PanelWrapper>\n    );\n  }\n);\n\nexport default QuickSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Button, LegacyTooltip, Tag, Typography } from '@cendis/cedr-components/dist';\nimport Table from '@components/gov4/layout/Table';\nimport CopyButton from './CopyButton';\nimport './CardsPermissions.scss';\nimport DateUtils from 'src/utils/DateUtils';\nimport {\n  Crr_WebApi_Responses_V3_ProfessionalCompetenceResponse,\n  Crr_WebApi_Responses_V3_DrivingLicencesResponse,\n  Crr_WebApi_Responses_V3_Isdt_TachographBasicResponse,\n  Cendis_IsssClient_Contracts_Enums_Crr_TrainingType,\n  Domain_Contracts_Enums_Crr_TachographStatus,\n} from 'src/data/crr/apiV3';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NoDriverData from '../NoDriverData';\nimport PanelWrapper from '../PanelWrapper';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport NoAuthorization from '../NoAuthorization';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport Container from 'typedi';\nimport DriverService from 'src/services/driver/DriverService';\nimport CardIcon from '@components/icons/CardIcon';\n\nexport type CardsPermissionsProps = {\n  drivingLicense: Crr_WebApi_Responses_V3_DrivingLicencesResponse | undefined;\n  drivingCompetence: Crr_WebApi_Responses_V3_ProfessionalCompetenceResponse | undefined;\n  tachographs: Crr_WebApi_Responses_V3_Isdt_TachographBasicResponse[] | undefined;\n  translate: Translator;\n  loading: boolean;\n  newLicenceAvailable: boolean;\n  onNavigateToLicence: () => void;\n  goToDriverApplication: () => void;\n  driverService: DriverService;\n};\n\nfunction formatDate(date: string | null | undefined) {\n  return DateUtils.dateFormatCz(date);\n}\n\nconst CardsPermissions = observer(\n  ({\n    drivingLicense,\n    drivingCompetence,\n    tachographs,\n    translate,\n    loading,\n    onNavigateToLicence,\n    goToDriverApplication,\n    driverService,\n  }: CardsPermissionsProps) => {\n    const handleLicenceClick = () => {\n      onNavigateToLicence();\n    };\n\n    const authorizationService = Container.get(AuthorizationService);\n\n    const authorized =\n      authorizationService.conditions.CRR_DRIVING_CARD_DRIVING_LICENCE ||\n      authorizationService.conditions.CRR_DRIVING_CARD_PROFESSIONAL_COMPETENCE ||\n      authorizationService.conditions.CRR_DIGI_TACHOGRAPH_CARD;\n\n    const canRequestLicence = authorizationService.conditions.CRR_DRIVING_CARD_DRIVING_LICENCE_REQUEST;\n\n    const anyCardPresent =\n      drivingLicense?.drivingLicence ||\n      (drivingLicense?.drivingLicencePermissions && drivingLicense?.drivingLicencePermissions.length > 0) ||\n      drivingCompetence ||\n      !!tachographs?.length;\n\n    const filteredTrainings =\n      drivingCompetence?.professionalTraining.filter(\n        (training) => training.trainingType !== Cendis_IsssClient_Contracts_Enums_Crr_TrainingType.ENTRANCE\n      ) ?? [];\n\n    return (\n      <PanelWrapper\n        loading={loading}\n        title={translate('title')}\n        className=\"component-cards-permissions\"\n        button={\n          <LegacyTooltip\n            tooltipContent={translate('requestButtonTooltip')}\n            position={'top'}\n            hidden={canRequestLicence}\n            testId=\"card-permissions-request-tooltip\"\n          >\n            <Button\n              size=\"m\"\n              type=\"outlined\"\n              onClick={goToDriverApplication}\n              disabled={!canRequestLicence}\n              testId=\"card-permissions-request\"\n            >\n              {translate('requestButton')}\n            </Button>\n          </LegacyTooltip>\n        }\n      >\n        <div className=\"component-cards-permissions gap-2\">\n          <Typography className=\"subheader\">{translate('description')}</Typography>\n\n          <ConditionalView\n            required={(x) => authorized}\n            notAllowedComponent={\n              <NoAuthorization\n                title={translate('no-authorization.title')}\n                description={translate('no-authorization.description')}\n              />\n            }\n          >\n            {anyCardPresent ? (\n              <>\n                {drivingLicense?.drivingLicence && (\n                  <ConditionalView required={(x) => x.CRR_DRIVING_CARD_DRIVING_LICENCE}>\n                    <div\n                      className={getClassName(\n                        'table-wrapper',\n                        drivingLicense?.drivingLicence ? '' : 'collapsed'\n                      )}\n                    >\n                      <div className=\"caption\">{translate('drivingLicense')}</div>\n                      <Table\n                        data={[\n                          {\n                            label: translate('drivingLicenseNumber'),\n                            value: (\n                              <span className=\"d-flex align-items-center gap-3\">\n                                {drivingLicense.drivingLicence.documentNumber}\n                                <CopyButton\n                                  value={drivingLicense.drivingLicence.documentNumber}\n                                  content={translate('copiedToClipboard')}\n                                />\n                              </span>\n                            ),\n                          },\n                          {\n                            label: translate('drivingLicenseValidUntil'),\n                            value: <span>{formatDate(drivingLicense.drivingLicence.validTo)}</span>,\n                          },\n                        ]}\n                        testId=\"driving-licence-number\"\n                      ></Table>\n                    </div>\n                  </ConditionalView>\n                )}\n                <ConditionalView required={(x) => x.CRR_DRIVING_CARD_PROFESSIONAL_COMPETENCE}>\n                  <div className={getClassName('table-wrapper', drivingCompetence ? '' : 'collapsed')}>\n                    <div className=\"caption\">{translate('drivingCompetence')}</div>\n                    <Table\n                      data={[\n                        {\n                          label: translate('drivingCompetenceTrainingsNumber'),\n                          value: <span>{filteredTrainings.length}</span>,\n                        },\n                        {\n                          label: translate('drivingCompetenceValidUntil'),\n                          value: <span>{formatDate(drivingCompetence?.validTo)}</span>,\n                        },\n                      ]}\n                      testId=\"driving-competence\"\n                    ></Table>\n                  </div>\n                </ConditionalView>\n                <ConditionalView\n                  required={(x) => x.CRR_DIGI_TACHOGRAPH_CARD && driverService.shouldShowTachographCard}\n                >\n                  {tachographs?.map((tachograph) => (\n                    <div className={getClassName('table-wrapper', tachograph ? '' : 'collapsed')}>\n                      <div className=\"caption\">\n                        <span className=\"new-card-caption\">{translate('card')} </span>\n                        {!tachograph.validityForUse.value &&\n                          tachograph.status.value === Domain_Contracts_Enums_Crr_TachographStatus.VALID && (\n                            <Tag\n                              color=\"primary\"\n                              type=\"subtle\"\n                              size=\"s\"\n                              className=\"new-card\"\n                              testId=\"tag-new-card\"\n                            >\n                              <CardIcon /> {translate('new-card')}\n                            </Tag>\n                          )}\n                      </div>\n                      <Table\n                        data={[\n                          {\n                            label: translate('cardNumber'),\n                            value: (\n                              <span className=\"d-flex align-items-center gap-3\">\n                                {tachograph?.cardId.value}\n                                <CopyButton\n                                  value={tachograph?.cardId.value}\n                                  content={translate('copiedToClipboard')}\n                                />\n                              </span>\n                            ),\n                          },\n                          {\n                            label: translate('cardValidUntil'),\n                            value: <span>{formatDate(tachograph?.validTo?.value)}</span>,\n                          },\n                        ]}\n                        testId=\"tachograph-card\"\n                      ></Table>\n                    </div>\n                  ))}\n                </ConditionalView>\n                <Button\n                  onClick={handleLicenceClick}\n                  type=\"link\"\n                  iconEnd=\"components/chevron-right\"\n                  size=\"m\"\n                  testId=\"card-permissions-detail\"\n                >\n                  <span className=\"c:text-lg c:font-normal\">{translate('detailsLink')}</span>\n                </Button>\n              </>\n            ) : (\n              <>\n                <NoDriverData\n                  title={translate('noData')}\n                  text={translate('noDataDescription')}\n                  iconVersion=\"emptyFile\"\n                />\n\n                <Button\n                  onClick={handleLicenceClick}\n                  type=\"link\"\n                  iconEnd=\"components/chevron-right\"\n                  size=\"m\"\n                  testId=\"card-permissions-no-data-detail-link\"\n                  className=\"mt-4 pt-2\"\n                >\n                  <span className=\"c:text-lg c:font-normal\">{translate('detailsLink')}</span>\n                </Button>\n              </>\n            )}\n          </ConditionalView>\n        </div>\n      </PanelWrapper>\n    );\n  }\n);\n\nexport default CardsPermissions;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport { observer } from 'mobx-react-lite';\nimport PanelWrapper from '../PanelWrapper';\nimport './DriverMentoring.scss';\nimport { Button, Message, Typography, GovIcon, Tag, LegacyTooltip } from '@cendis/cedr-components';\nimport NoDriverData from '../NoDriverData';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport DateUtils from 'src/utils/DateUtils';\nimport {\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorAction,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState,\n} from 'src/data/crr/api';\nimport LoaderBox from '@components/layout/LoaderBox';\nimport TrashFill from '@components/icons/TrashFill';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\n\nexport type DriverMentoringProps = {\n  translate: Translator;\n  vm: DriverNgViewModel;\n};\n\nexport const DriverMentoring = observer(({ translate, vm }: DriverMentoringProps) => {\n  const mentors = vm.driverService.driverMentors;\n  const mentoring = vm.driverService.driverMentorings;\n  const showMentorings = vm.driverService.showMentorings;\n  const showMentoringButton =\n    !vm.isEighteenOrOlderYearsOld && (vm.isSeventeenYearsOld || vm.isFifteenSixteenYearsOld);\n  const dialog = vm.mentoringsDialog;\n  const showRegisterTooltip = vm.registerMentorCount < 1 || vm.hasMaxWrittenMentors;\n  const showTooltip = vm.isValidatedRepresentativeCount && !vm.isFifteenSixteenYearsOld && !vm.hasMaxPersons;\n  const loadingRegisterMentorCount =\n    vm.driverService.driverMentorsBusyWatcher.isBusy ||\n    vm.driverMentoringDialogBusyWatcher.isBusy ||\n    vm.driverMentoringRegisterViewModel.applicationService.selectMentorService.loadAndVerifyRegisterMentors\n      .isBusy;\n\n  return (\n    <PanelWrapper\n      className=\"component-driver-record\"\n      title={translate('driverMentoring.title')}\n      loading={\n        vm.driverService.driverMentorsBusyWatcher.isBusy ||\n        vm.driverService.driverMentors === undefined ||\n        vm.driverService.driverMentoringsBusyWatcher.isBusy ||\n        vm.driverService.driverMentorings === undefined\n      }\n      button={\n        showMentoringButton && (\n          <LegacyTooltip\n            tooltipContent={\n              vm.isFifteenSixteenYearsOld\n                ? translate('mentorings.button-tooltip.too-young')\n                : vm.representativeBeforeValidationCount === 0\n                  ? translate('mentorings.button-tooltip.less-person')\n                  : vm.hasMaxPersons\n                    ? translate('mentorings.button-tooltip.more-person')\n                    : null\n            }\n            position={'bottom'}\n            hidden={showTooltip}\n            testId=\"show-mentoring-button\"\n          >\n            <Button\n              size=\"m\"\n              type=\"outlined\"\n              onClick={dialog.showPreMentoringDialog}\n              testId=\"driver-mentoring-button\"\n              disabled={vm.isFifteenSixteenYearsOld || vm.hasMaxPersons || !vm.isValidatedRepresentativeCount}\n            >\n              {translate('mentoring-button')}\n            </Button>\n          </LegacyTooltip>\n        )\n      }\n    >\n      <div className=\"gov-text--m mt-1 mb-3 px-1 py-2\">\n        <div className=\"mb-4 pb-2\">\n          {showMentorings\n            ? translate('driverMentoring.mentorings-description')\n            : translate('driverMentoring.description')}\n        </div>\n        {showMentorings ? (\n          <>\n            {mentoring && mentoring.length > 0 && (\n              <Typography className=\"mb-4\" size=\"xl\" type=\"body\">\n                {translate('driverMentoring.currentMentorings')} ({mentoring.length})\n              </Typography>\n            )}\n\n            <Message color=\"primary\" icon=\"components/lightbulb-fill\" className=\"mb-4\">\n              {translate('driverMentoring.mentorings-info')}\n            </Message>\n\n            {mentoring && mentoring.length > 0 ? (\n              <>\n                <PaginatedTable\n                  data={mentoring}\n                  filterSortPaginationContext={vm.mentoringsTableContext}\n                  pageSize={10}\n                  testId=\"driver-mentoring-table\"\n                  row={{\n                    key: (x, index) => `${index}-${x.applicantAifoId}-${x.firstName}-${x.surname}`,\n                  }}\n                  columns={[\n                    {\n                      header: translate('mentors.fullName'),\n                      value: (x) => `${x.firstName} ${x.surname}`,\n                    },\n                    {\n                      header: translate('mentors.dateOfBirth'),\n                      value: (x) => x.dateOfBirth,\n                      displayedValue: (x) => (x.dateOfBirth ? DateUtils.dateFormatCz(x.dateOfBirth) : ''),\n                    },\n                    {\n                      header: translate('mentorings.state'),\n\n                      value: (x) => x.state,\n                      displayedValue: (x) => (\n                        <div className=\"d-flex align-items-center gap-3\">\n                          {translate(`mentorings.mentor.mentoredStates.${x.state}`) ?? ''}\n                          <LegacyTooltip\n                            tooltipContent={\n                              <Typography type=\"body\" size=\"s\">\n                                {x.state ===\n                                Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN ? (\n                                  translate('mentorings.mentor.tooltips.menteeWritten')\n                                ) : x.state ===\n                                  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE ? (\n                                  translate('mentorings.mentor.tooltips.menteeReady')\n                                ) : (\n                                  <>\n                                    <Typography type=\"body\" size=\"s\" component=\"p\" className=\"pb-10px\">\n                                      {translate('mentorings.mentor.tooltips.noDriving')}\n                                    </Typography>\n                                    <Typography type=\"body\" size=\"s\" component=\"p\">\n                                      {translate('mentorings.mentor.tooltips.noDrivingCondition')}\n                                    </Typography>\n                                  </>\n                                )}\n                              </Typography>\n                            }\n                            position={'bottom'}\n                            className=\"mentoring-tooltip\"\n                            testId=\"mentoring-state-tooltip\"\n                          >\n                            <GovIcon name=\"components/info-circle-fill\" size=\"m\" />\n                          </LegacyTooltip>\n                        </div>\n                      ),\n                      sortOptions: {\n                        sortOrder: SortOrder.NONE,\n                        sortType: SortType.STRING,\n                      },\n                    },\n                    {\n                      header: '',\n                      value: (x) => (\n                        <>\n                          {x.action ===\n                          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorAction.RESPOND ? (\n                            <div className=\"d-flex justify-content-end table-actions w-100\">\n                              <Button\n                                size=\"xs\"\n                                type=\"outlined\"\n                                color=\"primary\"\n                                className=\"d-none d-sm-block\"\n                                onClick={() => dialog.showReactToApplicantDialog(x)}\n                                testId=\"driver-mentoring-react-button\"\n                              >\n                                {translate('mentorings.reactToApplication')}\n                              </Button>\n                              <Button\n                                size=\"s\"\n                                color=\"primary\"\n                                type=\"outlined\"\n                                className=\"d-block d-sm-none\"\n                                onClick={() => dialog.showReactToApplicantDialog(x)}\n                                testId=\"driver-mentoring-react-button\"\n                              >\n                                {translate('mentorings.reactToApplication')}\n                              </Button>\n                            </div>\n                          ) : (\n                            <div className=\"d-flex justify-content-end table-actions w-100\">\n                              <LegacyTooltip\n                                tooltipContent={translate('mentorings.mentor.tooltips.inProcessing')}\n                                position={'bottom'}\n                                hidden={\n                                  x.action !==\n                                  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorAction.END_MENTORING_DISABLED\n                                }\n                                className=\"mentoring-tooltip\"\n                                testId=\"driver-mentoring-remove-tooltip\"\n                              >\n                                <Button\n                                  size=\"xs\"\n                                  type=\"outlined\"\n                                  color=\"error\"\n                                  disabled={\n                                    x.action ===\n                                    Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorAction.END_MENTORING_DISABLED\n                                  }\n                                  className=\"d-none d-sm-block\"\n                                  onClick={() => dialog.showMentorDialog(x)}\n                                  testId=\"driver-mentoring-remove-button\"\n                                >\n                                  {translate('mentorings.remove')}\n                                </Button>\n                                <Button\n                                  size=\"s\"\n                                  type=\"outlined\"\n                                  color=\"error\"\n                                  disabled={\n                                    x.action ===\n                                    Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorAction.END_MENTORING_DISABLED\n                                  }\n                                  className=\"d-block d-sm-none\"\n                                  onClick={() => dialog.showMentorDialog(x)}\n                                  testId=\"driver-mentoring-remove-button\"\n                                >\n                                  {translate('mentorings.remove')}\n                                </Button>\n                              </LegacyTooltip>\n                            </div>\n                          )}\n                        </>\n                      ),\n                    },\n                  ]}\n                />\n              </>\n            ) : (\n              <NoDriverData iconVersion=\"emptyFile\" title={translate('driverMentoring.noDataText')} />\n            )}\n          </>\n        ) : (\n          <>\n            {mentors && mentors.length > 0 ? (\n              <>\n                <div className=\"panel-header\">\n                  <Typography className=\"mb-4\" size=\"xl\" type=\"body\">\n                    {translate('driverMentoring.currentMentors')} ({mentors.length})\n                  </Typography>\n                  {vm.registerMentorEnabled && (\n                    <>\n                      {loadingRegisterMentorCount ? (\n                        <LoaderBox type=\"line-h\" />\n                      ) : (\n                        <div className=\"panel-button\">\n                          <LegacyTooltip\n                            tooltipContent={\n                              vm.registerMentorCount < 1\n                                ? translate('mentorings.mentor.tooltips.noMentorsForRegister')\n                                : vm.hasMaxWrittenMentors\n                                  ? translate('mentorings.mentor.tooltips.countMaximumMentors')\n                                  : null\n                            }\n                            position={'bottom'}\n                            hidden={!showRegisterTooltip}\n                            className=\"mentoring-tooltip\"\n                            testId=\"register-mentor-tooltip\"\n                          >\n                            <Button\n                              color=\"primary\"\n                              type=\"outlined\"\n                              onClick={() => vm.navigateToRegisterMentor()}\n                              testId=\"btn-navigate-to-register-mentor\"\n                              disabled={showRegisterTooltip}\n                            >\n                              {translate('driverMentoring.registerMentors')}{' '}\n                              {vm.registerMentorCount > 0 && `(${vm.registerMentorCount})`}\n                            </Button>\n                          </LegacyTooltip>\n                        </div>\n                      )}\n                    </>\n                  )}\n                </div>\n                <PaginatedTable\n                  data={mentors}\n                  filterSortPaginationContext={vm.mentorsTableContext}\n                  pageSize={10}\n                  testId=\"driver-mentoring-table\"\n                  row={{\n                    key: (x, index) => (x.id ? x.id : `${index}-${x.aifoId}-${x.firstName}-${x.surname}`),\n                  }}\n                  columns={[\n                    {\n                      header: translate('mentors.fullName'),\n                      value: (x) => `${x.firstName} ${x.surname}`,\n                    },\n                    {\n                      header: translate('mentors.dateOfBirth'),\n                      displayedValue: (x) => (x.dateOfBirth ? DateUtils.dateFormatCz(x.dateOfBirth) : ''),\n                      value: (x) => x.dateOfBirth,\n                    },\n                    {\n                      header: translate('mentors.state'),\n                      sortOptions: {\n                        sortOrder: SortOrder.NONE,\n                        sortType: SortType.STRING,\n                      },\n                      value: (x) => translate(`mentorings.mentored.mentorStates.${x.state}`) ?? '',\n                      displayedValue: (x) => (\n                        <div className=\"d-flex align-items-center gap-3\">\n                          {translate(`mentorings.mentored.mentorStates.${x.state}`) ?? ''}\n                          <LegacyTooltip\n                            tooltipContent={\n                              <Typography>\n                                {x.state ===\n                                Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN ? (\n                                  translate('mentorings.mentored.tooltips.mentorWritten')\n                                ) : x.state ===\n                                  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE ? (\n                                  <>\n                                    <Typography type=\"body\" size=\"s\" className=\"pb-10px\">\n                                      {translate('mentorings.mentored.tooltips.noDriving')}\n                                    </Typography>\n                                    <Typography type=\"body\" size=\"s\" component={'p'}>\n                                      {translate('mentorings.mentored.tooltips.mentorReady')}\n                                    </Typography>\n                                  </>\n                                ) : (\n                                  <>\n                                    <Typography type=\"body\" size=\"s\" component=\"p\" className=\"pb-10px\">\n                                      {translate('mentorings.mentored.tooltips.noDriving')}\n                                    </Typography>\n                                    <Typography type=\"body\" size=\"s\" component=\"p\" className=\"pb-10px\">\n                                      {translate('mentorings.mentored.tooltips.currentState')}\n                                    </Typography>\n                                    <ul>\n                                      {vm.isLegalGuardian(x) ? (\n                                        <Typography\n                                          type=\"body\"\n                                          size=\"s\"\n                                          key=\"mentor-tooltip-item-1\"\n                                          component=\"li\"\n                                        >\n                                          {`${translate('mentorings.mentored.tooltips.representativeIsMentor')} - ${translate('mentorings.mentored.tooltips.permissionWaiting')}`}\n                                        </Typography>\n                                      ) : (\n                                        <>\n                                          <Typography\n                                            type=\"body\"\n                                            size=\"s\"\n                                            key=\"mentor-tooltip-item-1\"\n                                            component=\"li\"\n                                          >\n                                            {`${translate('mentorings.mentored.tooltips.representative')} - ${translate(`mentorings.mentored.tooltips.permission${vm.tooltipWaitingRepresentative(x) ? 'Waiting' : 'Confirmed'}`)}`}\n                                          </Typography>\n\n                                          <Typography\n                                            type=\"body\"\n                                            size=\"s\"\n                                            key=\"mentor-tooltip-item-2\"\n                                            component=\"li\"\n                                          >\n                                            {`${translate('mentorings.mentored.tooltips.mentor')} - ${translate(`mentorings.mentored.tooltips.permission${vm.tooltipWaitingMentor(x) ? 'Waiting' : 'Confirmed'}`)}`}\n                                          </Typography>\n                                        </>\n                                      )}\n                                    </ul>\n                                  </>\n                                )}\n                              </Typography>\n                            }\n                            position={'bottom'}\n                            className=\"mentoring-tooltip\"\n                            testId=\"mentoring-state2-tooltip\"\n                          >\n                            <GovIcon name=\"components/info-circle-fill\" size=\"m\" />\n                          </LegacyTooltip>\n                        </div>\n                      ),\n                    },\n                    {\n                      header: '',\n                      value: (x) =>\n                        vm.mentoredIsAllowedEdit && (\n                          <div className=\"d-flex justify-content-end table-actions w-100\">\n                            <LegacyTooltip\n                              tooltipContent={\n                                x.todayEnding\n                                  ? translate('mentorings.mentored.tooltips.expiresToday')\n                                  : !x.aifoId\n                                    ? translate('mentorings.mentored.tooltips.noAifoId')\n                                    : !x.canBeRemoved\n                                      ? translate('mentorings.mentored.tooltips.inProcessing')\n                                      : x.state ===\n                                          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE\n                                        ? translate('mentorings.mentored.tooltips.mentorWritten')\n                                        : ''\n                              }\n                              position={'bottom'}\n                              hidden={!x.todayEnding && !!x.aifoId && x.canBeRemoved}\n                              testId=\"mentoring-mentee-action-btn-tooltip\"\n                            >\n                              {x.todayEnding ? (\n                                <Tag\n                                  size=\"xs\"\n                                  color=\"error\"\n                                  className=\"d-none d-sm-block\"\n                                  testId=\"mentoring-ending-today-tag\"\n                                >\n                                  <TrashFill />\n                                  {translate('mentorings.mentoringExpiresToday')}\n                                </Tag>\n                              ) : (\n                                <>\n                                  <Button\n                                    size=\"xs\"\n                                    type=\"outlined\"\n                                    disabled={!x.aifoId || !x.canBeRemoved}\n                                    color=\"error\"\n                                    className=\"d-none d-sm-block\"\n                                    onClick={() => dialog.showMenteeDialog(x)}\n                                    testId=\"driver-mentors-remove-button\"\n                                  >\n                                    {translate('mentors.remove')}\n                                  </Button>\n                                  <Button\n                                    size=\"s\"\n                                    type=\"outlined\"\n                                    disabled={!x.aifoId || !x.canBeRemoved}\n                                    color=\"error\"\n                                    className=\"d-block d-sm-none\"\n                                    onClick={() => dialog.showMenteeDialog(x)}\n                                    testId=\"driver-mentors-remove-button\"\n                                  >\n                                    {translate('mentors.remove')}\n                                  </Button>\n                                </>\n                              )}\n                            </LegacyTooltip>\n                          </div>\n                        ),\n                    },\n                  ]}\n                />\n              </>\n            ) : (\n              <NoDriverData iconVersion=\"emptyFile\" title={translate('driverMentoring.noDataTextMentor')} />\n            )}\n          </>\n        )}\n      </div>\n    </PanelWrapper>\n  );\n});\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport { observer } from 'mobx-react-lite';\nimport PanelWrapper from '../PanelWrapper';\nimport { Button } from '@cendis/cedr-components';\nimport NoDriverData from '../NoDriverData';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport DateUtils from 'src/utils/DateUtils';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\nimport { Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus } from 'src/data/crr/api';\n\nexport type DriverConsentsProps = {\n  translate: Translator;\n  vm: DriverNgViewModel;\n};\n\nexport const DriverConsents = observer(({ translate, vm }: DriverConsentsProps) => {\n  const consents = vm.driverService.driverConsents;\n\n  return (\n    <PanelWrapper\n      className=\"component-driver-record\"\n      title={translate('driverConsents.title')}\n      loading={\n        vm.driverService.driverConsentsBusyWatcher.isBusy || vm.driverService.driverConsents === undefined\n      }\n      button={\n        <>\n          {vm.canConsentAll && (\n            <Button\n              size=\"m\"\n              type=\"outlined\"\n              onClick={() => vm.getMentorsByConsentAll()}\n              testId=\"driver-consents-button\"\n              disabled={consents && consents.length > 0 ? false : true}\n            >\n              {translate('driverConsents.consents-button')}\n            </Button>\n          )}\n        </>\n      }\n    >\n      <div className=\"gov-text--m mt-1 mb-3 px-1 py-2\">\n        <div className=\"mb-4 pb-2\">{translate('driverConsents.description')}</div>\n        {consents && consents.length > 0 ? (\n          <PaginatedTable\n            data={consents}\n            filterSortPaginationContext={vm.consentsTableContext}\n            pageSize={10}\n            testId=\"driver-consents-table\"\n            row={{\n              key: (x, index) => `${index}-${x.firstName}-${x.surname}`,\n            }}\n            columns={[\n              {\n                header: translate('consents.fullName'),\n                value: (x) => `${x.firstName} ${x.surname}`.trim() || '-',\n              },\n              {\n                header: translate('consents.consentType'),\n                value: (x) => translate(`consents.consentTypes.${x.consentType}`),\n                width: '170px',\n              },\n              {\n                header: translate('consents.decisionDate'),\n                value: (x) => x.decisionAt,\n                displayedValue: (x) => (x.decisionAt ? DateUtils.dateFormatCz(x.decisionAt) : ''),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.DATE_STRING,\n                },\n              },\n              {\n                header: translate('consents.status'),\n                value: (x) => translate(`consents.decisionStatus.${x.decisionStatus}`),\n              },\n              {\n                header: '',\n                value: (x) => (\n                  <div className=\"d-flex justify-content-end table-actions w-100\">\n                    {x.decisionStatus ===\n                      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus.PENDING && (\n                      <>\n                        <Button\n                          size=\"xs\"\n                          type=\"outlined\"\n                          className=\"d-none d-sm-block\"\n                          onClick={() => vm.getMentorByConsent(x)}\n                          testId=\"driver-consents-view-button\"\n                          loading={vm.consentDialogBusyWatcher.isBusy}\n                        >\n                          {translate('consents.answer')}\n                        </Button>\n                        <Button\n                          size=\"s\"\n                          type=\"outlined\"\n                          className=\"d-block d-sm-none\"\n                          onClick={() => vm.getMentorByConsent(x)}\n                          testId=\"driver-consents-view-button\"\n                          loading={vm.consentDialogBusyWatcher.isBusy}\n                        >\n                          {translate('consents.answer')}\n                        </Button>\n                      </>\n                    )}\n                  </div>\n                ),\n              },\n            ]}\n          />\n        ) : (\n          <NoDriverData iconVersion=\"emptyFile\" title={translate('driverConsents.noDataText')} />\n        )}\n      </div>\n    </PanelWrapper>\n  );\n});\n","import { observer } from 'mobx-react-lite';\nimport { Dialog, GovLink, Typography } from '@cendis/cedr-components';\nimport './DriverMentoring.scss';\nimport dateUtils from 'src/utils/DateUtils';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport DateUtils from 'src/utils/DateUtils';\n\nexport type DriverMentoringDialogProps = {\n  vm: DriverNgViewModel;\n};\n\nconst DriverMentoringDialog = observer(({ vm }: DriverMentoringDialogProps) => {\n  const { translate, mentoringsDialog } = vm;\n  const isBusy = vm.driverMentoringDialogBusyWatcher.isBusy;\n  const hasLicence = vm.driverService.hasLicence;\n\n  return (\n    <>\n      {mentoringsDialog.preMentoringDialogVisible && (\n        <>\n          {hasLicence ? (\n            <Dialog\n              isVisible={mentoringsDialog.preMentoringDialogVisible}\n              headline={translate('mentorings.mentoringDialog.preMentoringDialog.headline')}\n              onClose={mentoringsDialog.hideMentoringDialog}\n              className=\"driver-mentoring-dialog\"\n              testId=\"remove-mentor-dialog\"\n              footerButtons={{\n                primary: {\n                  type: 'outlined',\n                  onClick: mentoringsDialog.hideMentoringDialog,\n                  disabled: isBusy,\n                  testId: 'remove-mentor-dialog-cancel',\n                  text: translate('mentorings.mentoringDialog.cancelButton'),\n                },\n                secondary: {\n                  type: 'solid',\n                  color: 'primary',\n                  onClick: vm.goToMentoring,\n                  disabled: isBusy,\n                  loading: isBusy,\n                  testId: 'remove-mentor-dialog-submit',\n                  text: translate('mentorings.mentoringDialog.preMentoringDialog.submitButton'),\n                },\n              }}\n            >\n              <Typography className=\"pb-10px\">\n                {translate('mentorings.mentoringDialog.preMentoringDialog.hasLicenceMessage.text1')}{' '}\n                <strong className=\"bold\">\n                  {translate('mentorings.mentoringDialog.preMentoringDialog.hasLicenceMessage.text2')}\n                </strong>\n              </Typography>\n            </Dialog>\n          ) : (\n            <Dialog\n              isVisible={mentoringsDialog.preMentoringDialogVisible}\n              headline={translate('mentorings.mentoringDialog.preMentoringDialog.headline')}\n              onClose={mentoringsDialog.hideMentoringDialog}\n              className=\"driver-mentoring-dialog\"\n              testId=\"remove-mentor-dialog\"\n              footerButtons={{\n                primary: {\n                  type: 'outlined',\n                  onClick: mentoringsDialog.hideMentoringDialog,\n                  disabled: isBusy,\n                  testId: 'remove-mentor-dialog-cancel',\n                  text: translate('mentorings.mentoringDialog.cancelButton'),\n                },\n                secondary: {\n                  type: 'solid',\n                  color: 'primary',\n                  onClick: vm.goToMentoring,\n                  disabled: isBusy,\n                  loading: isBusy,\n                  testId: 'remove-mentor-dialog-submit',\n                  text: translate('mentorings.mentoringDialog.preMentoringDialog.submitButton'),\n                },\n              }}\n            >\n              <Typography className=\"pb-2\">\n                <strong className=\"bold\">\n                  {translate('mentorings.mentoringDialog.preMentoringDialog.hasNoLicenceMessage.text1')}\n                </strong>\n              </Typography>\n              <ol className=\"mentroing-dialog-ol pb4\">\n                <li>\n                  {translate('mentorings.mentoringDialog.preMentoringDialog.hasNoLicenceMessage.text2')}\n                </li>\n                <li>\n                  {' '}\n                  {translate('mentorings.mentoringDialog.preMentoringDialog.hasNoLicenceMessage.text3')}\n                  <GovLink\n                    href={'https://www.ezdravi.gov.cz/private/lekarske-posudky/inbox?jenPlatne=false'}\n                    target=\"_blank\"\n                    external\n                    size=\"m\"\n                    testId=\"medical-link\"\n                  >\n                    {translate('mentorings.mentoringDialog.preMentoringDialog.hasNoLicenceMessage.text4')}\n                  </GovLink>\n                </li>\n              </ol>\n\n              <Typography className=\"mt-5 pb-2\">\n                {translate('mentorings.mentoringDialog.preMentoringDialog.hasNoLicenceMessage.text5')}\n              </Typography>\n            </Dialog>\n          )}\n        </>\n      )}\n\n      {mentoringsDialog.mentorDialogVisible && (\n        <Dialog\n          isVisible={mentoringsDialog.mentorDialogVisible}\n          headline={translate('mentorings.mentoringDialog.mentor.headline')}\n          onClose={mentoringsDialog.hideMentoringDialog}\n          className=\"driver-mentoring-dialog\"\n          testId=\"remove-mentor-dialog\"\n          footerButtons={{\n            primary: {\n              type: 'outlined',\n              onClick: mentoringsDialog.hideMentoringDialog,\n              disabled: isBusy,\n              testId: 'remove-mentor-dialog-cancel',\n              text: translate('mentorings.mentoringDialog.cancelButton'),\n            },\n            secondary: {\n              type: 'solid',\n              color: 'error',\n              onClick: vm.endMentoring,\n              disabled: isBusy,\n              loading: isBusy,\n              testId: 'remove-mentor-dialog-submit',\n              text: translate('mentorings.mentoringDialog.mentor.submitButton'),\n            },\n          }}\n        >\n          <Typography className=\"pb-10px\">\n            {translate('mentorings.mentoringDialog.mentor.message')}\n          </Typography>\n          <Typography type=\"body\" component=\"p\" bold className=\"pb-10px\">\n            {`${mentoringsDialog.mentored.firstName} ${mentoringsDialog.mentored.surname}, ${translate('mentorings.mentoringDialog.dobPreface')} ${dateUtils.dateFormatCz(mentoringsDialog.mentored.dateOfBirth || '')}.`}\n          </Typography>\n          <Typography>{translate('mentorings.mentoringDialog.affirmationMessage')}</Typography>\n        </Dialog>\n      )}\n      {mentoringsDialog.menteeDialogVisible && (\n        <Dialog\n          isVisible={mentoringsDialog.menteeDialogVisible}\n          headline={translate('mentorings.mentoringDialog.mentee.headline')}\n          onClose={mentoringsDialog.hideMentoringDialog}\n          className=\"driver-mentoring-dialog\"\n          testId=\"remove-mentee-dialog\"\n          footerButtons={{\n            primary: {\n              type: 'outlined',\n              onClick: mentoringsDialog.hideMentoringDialog,\n              disabled: isBusy,\n              testId: 'remove-mentee-dialog-cancel',\n              text: translate('mentorings.mentoringDialog.cancelButton'),\n            },\n            secondary: {\n              type: 'solid',\n              onClick: vm.removeMentor,\n              color: 'error',\n              disabled: isBusy,\n              loading: isBusy,\n              testId: 'remove-mentee-dialog-submit',\n              text: translate('mentorings.mentoringDialog.mentee.submitButton'),\n            },\n          }}\n        >\n          <Typography component=\"p\" className=\"pb-10px\">\n            {translate('mentorings.mentoringDialog.mentee.message')}\n          </Typography>\n          <Typography type=\"body\" component=\"p\" bold className=\"pb-10px\">\n            {`${mentoringsDialog.mentor.firstName} ${mentoringsDialog.mentor.surname}, ${translate('mentorings.mentoringDialog.dobPreface')}  ${dateUtils.dateFormatCz(mentoringsDialog.mentor.dateOfBirth || '')}`}\n          </Typography>\n          <Typography component=\"p\">{translate('mentorings.mentoringDialog.affirmationMessage')}</Typography>\n        </Dialog>\n      )}\n      {mentoringsDialog.reactToApplicantVisible && (\n        <Dialog\n          isVisible={mentoringsDialog.reactToApplicantVisible}\n          headline={translate('consentDialog.headline')}\n          onClose={mentoringsDialog.hideMentoringDialog}\n          className=\"driver-mentoring-dialog\"\n          testId=\"remove-react-to-applicant-dialog\"\n          footerButtons={{\n            primary: {\n              type: 'outlined',\n              color: 'error',\n              onClick: () => vm.signMentoring(false),\n              disabled: isBusy,\n              testId: 'remove-react-to-applicant-dialog-cancel',\n              text: translate('consentDialog.refuse-btn'),\n            },\n            secondary: {\n              type: 'outlined',\n              onClick: () => vm.signMentoring(true),\n              color: 'success',\n              disabled: isBusy,\n              loading: isBusy,\n              testId: 'remove-react-to-applicant-dialog-submit',\n              text: translate('consentDialog.give-consent-btn'),\n            },\n          }}\n        >\n          <Typography component=\"p\">\n            {mentoringsDialog.mentored.firstName} {mentoringsDialog.mentored.surname}{' '}\n            {translate('consentDialog.born')} {DateUtils.dateFormatCz(mentoringsDialog.mentored.dateOfBirth)}{' '}\n            {translate('consentDialog.ask-you')}{' '}\n          </Typography>\n          <ul className=\"mt-2 mb-2\">\n            <li>{translate('consentDialog.MentorWithMentoring')}</li>\n          </ul>\n          <Typography component=\"p\">{translate('consentDialog.line')}</Typography>\n        </Dialog>\n      )}\n    </>\n  );\n});\n\nexport default DriverMentoringDialog;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport DriverNgViewModel from './DriverNgViewModel';\nimport { SectionContainer } from '@components/sidebar/NavigationContext';\nimport './DriverNgView.scss';\nimport RequestsOverview from './components/driverRequests/RequestsOverview';\nimport DriverBans from './components/driverBans/DriverBans';\nimport DriverRecordCard from './components/driverRecordCard/DriverRecordCard';\nimport QuickSummary from './components/quickSummary/QuickSummary';\nimport CardsPermissions from './components/cardsPermissions/CardsPermissions';\nimport Section from '@components/sidebar/Section';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport { InfoBar, Button, Dialog, Typography } from '@cendis/cedr-components';\nimport { DriverMentoring } from './components/driverMentoring/DriverMentoring';\nimport { DriverConsents } from './components/DriverConsents/DriverConsents';\nimport DateUtils from 'src/utils/DateUtils';\nimport DriverMentoringDialog from './components/driverMentoring/DriverMentoringDialog';\nimport { Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType } from 'src/data/crr/api';\n\nconst DriverNgView: View<DriverNgViewModel> = observer(({ vm }) => {\n  const { translate, driverService } = vm;\n\n  const {\n    quickSummaryBusyWatcher,\n    driverPointsBusyWatcher,\n    driverNotificationsBusyWatcher,\n    drivingLicencesBusyWatcher,\n    drivingCompetenceBusyWatcher,\n    driverTachographDataBusyWatcher,\n  } = driverService;\n\n  return (\n    <SectionContainer>\n      <Typography type=\"headline\" component=\"h1\" fontWeight={300} className=\"driverng-title px-md-0 px-20\">\n        {translate('title')}\n      </Typography>\n      {driverService.driverTachographUnavailable && (\n        <InfoBar className=\"mt-4\" color=\"warning\" icon=\"components/exclamation-triangle-fill\" closable={true}>\n          {translate('tachograph-loading-error')}\n        </InfoBar>\n      )}\n      <div className=\"px-md-0 gov-text--m mt-4 px-20\">{translate('title-text')}</div>\n      <ConditionalView required={(x) => x.CRR_STATUS}>\n        <Section title={translate('quick-summary')} loading={quickSummaryBusyWatcher.isBusy}>\n          <QuickSummary\n            response={vm.driverService.quickSummary}\n            loading={quickSummaryBusyWatcher.isBusy}\n            translate={vm.quickSummaryTranslate}\n            newLicenceAvailable={vm.driverService.newLicenceAvailable}\n            navToNewDriverLicence={vm.goToDriverApplication}\n            navToDigitalTachograph={vm.navigateToDigitalTachograph}\n            navigateToDetail={vm.navigateToDetail}\n            navToProfesionalLicence={vm.navigateToProfesionalLicence}\n            navToLicences={vm.navigateToLicences}\n            navToMentoring={vm.navigateToMentoringBlock}\n            driverService={vm.driverService}\n            findAutorityFromRequests={vm.findAutorityFromRequests}\n            autorityName={vm.autorityNameFromRequests}\n          />\n        </Section>\n      </ConditionalView>\n      <Section\n        title={translate('cards-permissions.title')}\n        loading={\n          drivingLicencesBusyWatcher.isBusy ||\n          drivingCompetenceBusyWatcher.isBusy ||\n          driverTachographDataBusyWatcher.isBusy\n        }\n      >\n        <CardsPermissions\n          drivingLicense={vm.driverService.drivingLicences}\n          drivingCompetence={vm.driverService.drivingCompetence}\n          tachographs={vm.driverService.driverTachographs}\n          translate={vm.cardsPermissionsTranslate}\n          loading={\n            drivingLicencesBusyWatcher.isBusy ||\n            drivingCompetenceBusyWatcher.isBusy ||\n            driverTachographDataBusyWatcher.isBusy ||\n            quickSummaryBusyWatcher.isBusy\n          }\n          newLicenceAvailable={vm.driverService.newLicenceAvailable}\n          onNavigateToLicence={vm.navigateToLicences}\n          goToDriverApplication={vm.goToDriverApplication}\n          driverService={vm.driverService}\n        />\n      </Section>\n      <Section\n        title={translate('bans')}\n        loading={driverPointsBusyWatcher.isBusy || driverNotificationsBusyWatcher.isBusy}\n      >\n        <DriverBans\n          translate={translate}\n          loading={driverPointsBusyWatcher.isBusy || driverNotificationsBusyWatcher.isBusy}\n          onNavigateToNotification={vm.navigateToNotificationSettings}\n          notificationInfo={vm.driverService.driverNotifications}\n          onNavigateToDriverBan={vm.navigateToDriverBan}\n          points={vm.driverService.driverPoints}\n        />\n      </Section>\n      {/* REQUESTS */}\n      <Section\n        title={translate('application')}\n        loading={vm.driverService.driverRequestsBusyWatcher.isBusy || driverTachographDataBusyWatcher.isBusy}\n      >\n        <RequestsOverview vm={vm} />\n      </Section>\n\n      <ConditionalView\n        required={(x) =>\n          x.CRR_DRIVING_CARD_MENTORS ||\n          x.CRR_DRIVING_CARD_MENTORING ||\n          x.CRR_DRIVING_CARD_MENTORS_REQUESTS_LIST\n        }\n      >\n        <Section title={translate('mentoring')}>\n          <DriverMentoring translate={translate} vm={vm} />\n          <DriverMentoringDialog vm={vm} />\n        </Section>\n      </ConditionalView>\n      <ConditionalView required={(x) => x.CRR_DRIVING_CARD_CONSENTS}>\n        <Section title={translate('driverConsents.title')}>\n          <DriverConsents translate={translate} vm={vm} />\n        </Section>\n      </ConditionalView>\n\n      <Section title={translate('record-card')} loading={drivingLicencesBusyWatcher.isBusy}>\n        <DriverRecordCard translate={translate} loading={drivingLicencesBusyWatcher.isBusy} vm={vm} />\n      </Section>\n      <Dialog\n        headline={translate('combinedPrompt.headline')}\n        isVisible={vm.combinedApplicationVisible}\n        onClose={vm.closeCombinedPrompt}\n        testId=\"application-combined-dialog\"\n        bottomChildren={\n          <>\n            <Button\n              text={translate('combinedPrompt.back-button')}\n              type=\"outlined\"\n              onClick={() => {\n                vm.closeCombinedPrompt();\n              }}\n              testId=\"application-combined-dialog-back\"\n            />\n            <Button\n              text={translate('combinedPrompt.to-combined-button')}\n              onClick={() => {\n                vm.closeCombinedPrompt();\n                vm.goToDriverCombinedApplication();\n              }}\n              testId=\"application-combined-dialog-to-driver-combined\"\n            />\n          </>\n        }\n      >\n        <p>{translate('combinedPrompt.text-1')}</p>\n        <p>\n          {translate('combinedPrompt.text-2-1')}{' '}\n          <span className=\"bold\">{translate('combinedPrompt.text-2-2')}</span>{' '}\n          {translate('combinedPrompt.text-2-3')}\n        </p>\n        <p>\n          {translate('combinedPrompt.text-3-1')}{' '}\n          <span className=\"bold\">{translate('combinedPrompt.text-3-2')}</span>\n        </p>\n        <p>\n          {translate('combinedPrompt.text-4-1')}{' '}\n          <span className=\"bold\">{translate('combinedPrompt.text-4-2')}</span>{' '}\n          {translate('combinedPrompt.text-4-3')}\n        </p>\n      </Dialog>\n\n      <Dialog\n        headline={\n          vm.consentDialog.consentAllButton\n            ? translate('consentDialog.grouped-headline')\n            : translate('consentDialog.headline')\n        }\n        isVisible={vm.consentDialog.consentDialogVisible}\n        onClose={() => {\n          vm.consentDialog.hideConsentDialog();\n          vm.consentDialog.clearConsentPersons();\n        }}\n        testId=\"consent-dialog\"\n        bottomChildren={\n          <>\n            <Button\n              text={\n                vm.consentDialog.consentAllButton\n                  ? translate('consentDialog.grouped-refuse-btn')\n                  : translate('consentDialog.refuse-btn')\n              }\n              type=\"outlined\"\n              color=\"error\"\n              onClick={() => vm.editConsentFromDialog(false)}\n              testId=\"consent-dialog-back\"\n            />\n            <Button\n              text={\n                vm.consentDialog.consentAllButton\n                  ? translate('consentDialog.grouped-give-consent-btn')\n                  : translate('consentDialog.give-consent-btn')\n              }\n              type=\"outlined\"\n              color=\"success\"\n              onClick={() => vm.editConsentFromDialog(true)}\n              testId=\"consent-dialog-to-consent\"\n            />\n          </>\n        }\n      >\n        {vm.consentDialog.groupedPerson && vm.consentDialog.groupedPerson.length > 0 && (\n          <>\n            {vm.consentDialog.consentAllButton && (\n              <p className=\"bold mb-2\">{translate('consentDialog.grouped-start-text')}</p>\n            )}\n\n            {vm.consentDialog.groupedPerson.map((group) => (\n              <>\n                <p className=\"mb-2\">\n                  {group.firstName} {group.surname} {translate('consentDialog.born')}{' '}\n                  {DateUtils.dateFormatCz(group.dateOfBirth)} {translate('consentDialog.ask-you')}\n                </p>\n\n                <ul>\n                  {group.consents.map((consent) => (\n                    <>\n                      {consent.consentPerson &&\n                      consent.consentType ===\n                        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.LEGAL_GUARDIAN_WITH_MENTORING ? (\n                        consent.consentPerson.map((p) => (\n                          <li className=\"mb-1\">\n                            {translate('consentDialog.LegalGuardianWithMentoring-1')} {p.firstName}{' '}\n                            {p.surname} {translate('consentDialog.born')}{' '}\n                            {DateUtils.dateFormatCz(p.dateOfBirth)}{' '}\n                            {translate('consentDialog.LegalGuardianWithMentoring-2')}\n                          </li>\n                        ))\n                      ) : (\n                        <li className=\"mb-1\">{translate(`consentDialog.${consent.consentType}`)}</li>\n                      )}\n                    </>\n                  ))}\n                </ul>\n              </>\n            ))}\n            {vm.consentDialog.consentAllButton ? (\n              <p className=\"mt-2\">\n                {translate('consentDialog.grouped-end-line-1')}\n                <strong className=\"bold\">{translate('consentDialog.grouped-end-line-2')}</strong>\n                {translate('consentDialog.grouped-end-line-3')}\n              </p>\n            ) : (\n              <p className=\"mt-2\">{translate('consentDialog.line')}</p>\n            )}\n          </>\n        )}\n      </Dialog>\n    </SectionContainer>\n  );\n});\n\nexport default DriverNgView;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport SectionWithIcon from '../../shared/components/SectionWithIcon';\nimport DotRow from '../../shared/components/DotRow';\nimport { GovLink } from '@cendis/cedr-components';\n\ntype MentoringInfoProps = {\n  translate: Translator;\n};\n\nconst MentoringInfo = ({ translate }: MentoringInfoProps) => {\n  return (\n    <>\n      <div className=\"my-40px mw-770\">\n        <SectionWithIcon iconName=\"custom/cash-stack\" className=\"mw-415\">\n          <DotRow\n            leftNode={translate('mentoring-info.value')}\n            rightNode={translate('mentoring-info.price')}\n          />\n        </SectionWithIcon>\n\n        <SectionWithIcon iconName=\"components/book\" variant=\"primary\" className=\"mw-415\">\n          <GovLink\n            href={'https://portal.gov.cz/sluzby-vs/zapsani-mentora-pro-sedmnactileteho-ridice-S51826'}\n            target=\"_blank\"\n            external\n            size=\"s\"\n            testId=\"mentorship-link\"\n          >\n            {translate('mentoring-info.service-catalogue-text')}\n          </GovLink>\n        </SectionWithIcon>\n      </div>\n    </>\n  );\n};\nexport default MentoringInfo;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { runInAction } from 'mobx';\nimport { Input, Button, Select, Message, LegacyTooltip } from '@cendis/cedr-components';\n\nimport SelectMentorService from '../SelectMentorService';\nimport SelectMentorModel from '../models/SelectMentorModel';\nimport './AddMentorForm.scss';\nimport { observer } from 'mobx-react-lite';\n\ntype AddMentorFormProps = {\n  model: SelectMentorModel;\n  selectMentorService: SelectMentorService;\n  translate: Translator;\n};\n\nconst AddMentorForm = observer(({ model, selectMentorService, translate }: AddMentorFormProps) => {\n  const {\n    documentTypeOptions,\n    disableSearchButton,\n    toggleAddMentorForm,\n    searchPerson,\n    searchBusyWatcher,\n    error,\n  } = selectMentorService;\n  return (\n    <div>\n      <div className=\"add-mentor-form\">\n        <div className=\"add-mentor-form-row\">\n          <Input\n            target={model.newPerson}\n            property={'firstName'}\n            label={translate('first-name')}\n            required\n            onBlur={() => {\n              runInAction(() => {\n                if (model.newPerson.firstName) {\n                  model.newPerson.firstName = model.newPerson.firstName.trim();\n                }\n              });\n            }}\n          />\n\n          <Input\n            target={model.newPerson}\n            property={'lastName'}\n            label={translate('last-name')}\n            required\n            onBlur={() => {\n              runInAction(() => {\n                if (model.newPerson.lastName) {\n                  model.newPerson.lastName = model.newPerson.lastName.trim();\n                }\n              });\n            }}\n          />\n        </div>\n        <div className=\"add-mentor-form-row\">\n          <Select\n            target={model.newPerson}\n            property={'documentType'}\n            options={documentTypeOptions}\n            required\n            label={translate('type')}\n            defaultOptionMessage={translate('default-type')}\n          />\n          <Input\n            target={model.newPerson}\n            property={'documentNumber'}\n            label={translate('number')}\n            required\n            onBlur={() => {\n              runInAction(() => {\n                if (model.newPerson.documentNumber) {\n                  model.newPerson.documentNumber = model.newPerson.documentNumber.trim();\n                }\n              });\n            }}\n          />\n        </div>\n        {error && (\n          <Message className=\"msg-err\" color=\"error\" icon=\"components/exclamation-triangle-fill\">\n            {error}\n          </Message>\n        )}\n        <div className=\"gov-wizard-item__controls\">\n          <LegacyTooltip\n            tooltipContent={translate('person-hidden-tooltip')}\n            hidden={!disableSearchButton}\n            position=\"bottom\"\n            testId=\"add-person-button-tooltip\"\n          >\n            <Button\n              loading={searchBusyWatcher.isBusy}\n              testId=\"add-person-button\"\n              type=\"outlined\"\n              disabled={disableSearchButton}\n              onClick={searchPerson}\n              className=\"btn-add-person\"\n            >\n              {translate('add-person')}\n            </Button>\n          </LegacyTooltip>\n          <Button\n            testId=\"reset-add-mentor-button\"\n            color=\"error\"\n            type=\"link\"\n            className=\"btn-reset\"\n            onClick={toggleAddMentorForm}\n          >\n            {translate('reset-adding')}\n          </Button>\n        </div>\n      </div>\n    </div>\n  );\n});\n\nexport default AddMentorForm;\n","import { Button, Typography } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport { Mandates_WebApi_Responses_LegalRepresentativeResponse } from 'src/data/mandates/api';\nimport SelectMentorService from '../SelectMentorService';\nimport DateUtils from 'src/utils/DateUtils';\nimport './RepresentativesRow.scss';\nimport PlusIcon from '@components/icons/PlusIcon';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype RepresentativesRowProps = {\n  persons: Mandates_WebApi_Responses_LegalRepresentativeResponse[];\n  selectMentorService: SelectMentorService;\n  translate: Translator;\n};\n\nconst RepresentativesRow = observer(\n  ({ persons, selectMentorService, translate }: RepresentativesRowProps) => {\n    return (\n      <div>\n        {persons.map((person, id) => (\n          <>\n            <div className=\"mentor-row mentor-row-with-btn\" key={id}>\n              <Typography type=\"body\" size=\"xl\" component={'div'}>\n                <span className=\"mentor-row-name\">\n                  {person.firstName} {person.lastName}\n                </span>\n                {(person.firstName || person.lastName) && <>{', '}</>}\n                <span className=\"mentor-row-date\">nar. {DateUtils.dateFormatCz(person.birthDate)}</span>\n              </Typography>\n              <Button\n                className=\"mentor-row-btn\"\n                type=\"link\"\n                onClick={() => {\n                  selectMentorService.toggleDeletePerson();\n                  selectMentorService.markPersonToDelete(person.aifoId);\n                }}\n                testId={`person-mentor-${id}`}\n              >\n                <PlusIcon color=\"#C62828\" />\n                {translate('remove-mentor')}\n              </Button>\n            </div>\n          </>\n        ))}\n      </div>\n    );\n  }\n);\n\nexport default RepresentativesRow;\n","import { Typography } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport DateUtils from 'src/utils/DateUtils';\nimport { Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse } from 'src/data/crr/api';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype RepresentativesRowProps = {\n  persons: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[];\n  translate: Translator;\n  size: 'm' | 'xl';\n  bolded?: boolean;\n};\n\nconst MentorsRow = observer(({ persons, translate, size, bolded }: RepresentativesRowProps) => {\n  return (\n    <div>\n      {persons.map((person, id) => (\n        <div className=\"mentor-row \" key={id}>\n          <Typography type=\"body\" size={size} component={'div'}>\n            <span className=\"mentor-row-name\">\n              {person.firstName} {person.surname}\n            </span>\n            {(person.firstName || person.surname) && <>{', '}</>}\n            <span className=\"mentor-row-date\">nar. {DateUtils.dateFormatCz(person.dateOfBirth)}</span>\n            {' - '}\n            <span className={bolded ? 'bold' : ''}>{translate(`states.${person.state}`)}</span>\n          </Typography>\n        </div>\n      ))}\n    </div>\n  );\n});\n\nexport default MentorsRow;\n","import {\n  Message,\n  ScreenContext,\n  Typography,\n  WizardItem,\n  Button,\n  Skeleton,\n  Dialog,\n} from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport SelectMentorService from './SelectMentorService';\nimport PlusIcon from '@components/icons/PlusIcon';\nimport AddMentorForm from './components/AddMentorForm';\nimport RepresentativesRow from './components/RepresentativesRow';\nimport ApplicationService from '../ApplicationService';\nimport MentorsRow from 'src/app/driver_ng/shared/components/MentorsRow';\n\ntype SelectMentorWizardStepProps = {\n  selectMentorService: SelectMentorService;\n  applicationService: ApplicationService;\n};\n\nconst SelectMentorWizardStep = observer(\n  ({ selectMentorService, applicationService }: SelectMentorWizardStepProps) => {\n    const {\n      step,\n      translate,\n      model,\n      maxPersonsLimitInfo,\n      showAddMentorForm,\n      toggleAddMentorForm,\n      onBeforeNextStep,\n      disableNextStep,\n      showDeleteDialog,\n      toggleDeletePerson,\n      maxPersonsLimit,\n      maxPersonsOverLimit,\n      currentMentorsCount,\n    } = selectMentorService;\n    const { driverService } = applicationService;\n\n    return (\n      <ScreenContext value={selectMentorService}>\n        <WizardItem\n          step={step}\n          label={translate('label')}\n          disableNextStep={\n            disableNextStep || applicationService.verifyBusyWatcher.isBusy || maxPersonsOverLimit\n          }\n          onBeforeNextStep={onBeforeNextStep}\n          disabledButtonTooltip={\n            applicationService.verifyBusyWatcher.isBusy\n              ? translate('verifying-mentors')\n              : currentMentorsCount >= 4\n                ? translate('persons-max')\n                : translate('persons-min')\n          }\n          useLegacyTooltip={true}\n        >\n          <Typography type=\"headline\" size=\"s\" component={'h2'} fontWeight={500} className=\"mb-3\">\n            {translate('actual-title')}\n          </Typography>\n\n          {driverService.driverMentorsBusyWatcher.isBusy ? (\n            <Skeleton />\n          ) : (\n            <>\n              {model.mentors.length > 0 ? (\n                <>\n                  <MentorsRow persons={model.mentors} translate={translate} size=\"xl\" />\n                </>\n              ) : (\n                <Typography className=\"mb-3\"> {translate('actual-info-text')}</Typography>\n              )}\n\n              <hr className=\"c:border-b c:border-b-[#E7E7E7] mt-4 mb-4\" />\n            </>\n          )}\n          <Typography type=\"headline\" size=\"s\" component={'h2'} fontWeight={500} className=\"mb-3\">\n            {translate('new-mentor-title')}\n          </Typography>\n\n          {maxPersonsLimit && (\n            <Message icon=\"components/lightbulb-fill\" className=\"mt-4 mb-4\">\n              {maxPersonsLimitInfo}\n            </Message>\n          )}\n\n          {applicationService.busyWatcher.isBusy || applicationService.verifyBusyWatcher.isBusy ? (\n            <Skeleton />\n          ) : (\n            <>\n              {model.selectedRepresentatives.length > 0 && (\n                <>\n                  <Message icon=\"components/lightbulb-fill\" className=\"mb-4\">\n                    {translate('load-representatives-text')}\n                  </Message>\n                  <RepresentativesRow\n                    persons={model.selectedRepresentatives}\n                    selectMentorService={selectMentorService}\n                    translate={translate}\n                  />\n                </>\n              )}\n\n              {model.selectedPersons.length > 0 && (\n                <RepresentativesRow\n                  persons={model.selectedPersons}\n                  selectMentorService={selectMentorService}\n                  translate={translate}\n                />\n              )}\n\n              {!showAddMentorForm && !maxPersonsLimit && (\n                <div className=\"gov-wizard-item__controls mt-4\">\n                  <Button\n                    testId=\"toggle-add-mentor-button\"\n                    onClick={toggleAddMentorForm}\n                    type=\"outlined\"\n                    className=\"mb-2 flex gap-3\"\n                    disabled={\n                      applicationService.busyWatcher.isBusy || applicationService.verifyBusyWatcher.isBusy\n                    }\n                  >\n                    <PlusIcon />\n                    {translate('add-mentor-button')}\n                  </Button>\n                </div>\n              )}\n            </>\n          )}\n\n          {showAddMentorForm && !applicationService.busyWatcher.isBusy && (\n            <AddMentorForm model={model} selectMentorService={selectMentorService} translate={translate} />\n          )}\n\n          {showDeleteDialog && (\n            <Dialog\n              headline={translate('dialog.headline')}\n              isVisible={showDeleteDialog}\n              onClose={toggleDeletePerson}\n              testId=\"delete-person-dialog\"\n              bottomChildren={\n                <>\n                  <Button\n                    text={translate('dialog.back-button')}\n                    type=\"outlined\"\n                    onClick={() => {\n                      toggleDeletePerson();\n                    }}\n                    testId=\"delete-person-dialog-back\"\n                  />\n                  <Button\n                    text={translate('dialog.confirm-button')}\n                    color=\"error\"\n                    onClick={() => {\n                      selectMentorService.deletePersonFromMentor(selectMentorService.personToDelete);\n                      toggleDeletePerson();\n                    }}\n                    testId=\"delete-person-dialog-confirm\"\n                  />\n                </>\n              }\n            >\n              <p>{translate('dialog.text')}</p>\n            </Dialog>\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default SelectMentorWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport ApplicationService from '../ApplicationService';\nimport { ScreenContext, WizardItem } from '@cendis/cedr-components';\n\nimport WizardStepSummary from 'src/app/driver_ng/shared/components/WizardStepSummary';\nimport SummaryMentorService from './SummaryMentorService';\n\ntype SummaryWizardStepProps = {\n  summaryService: SummaryMentorService;\n  applicationService: ApplicationService;\n};\n\nconst SummaryWizardStep = observer(({ applicationService, summaryService }: SummaryWizardStepProps) => {\n  const { translate, step, disableNextStep } = summaryService;\n  const { submitApplication, postDataBusyWatcher } = applicationService;\n\n  return (\n    <ScreenContext value={summaryService}>\n      <WizardItem\n        step={step}\n        label={translate('label')}\n        disableNextStep={disableNextStep}\n        controlledButtonProps={{\n          text: translate('suggest'),\n          disabled: postDataBusyWatcher.isBusy,\n          testId: 'summary-step-submit-application',\n          loading: postDataBusyWatcher.isBusy,\n          onClick: () => submitApplication(),\n        }}\n      >\n        <WizardStepSummary\n          title={applicationService.selectMentorService.translate('label-data')}\n          returnToStep={applicationService.selectMentorService.step}\n          paragraphs={applicationService.selectMentorService.summaryData}\n        />\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default SummaryWizardStep;\n","import { Container, Typography, Wizard } from '@cendis/cedr-components';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport DriverMentoringViewModel from './DriverMentoringViewModel';\nimport MentoringInfo from '../../components/MentoringInfo/MentoringInfo';\nimport SelectMentorWizardStep from './01_SelectMentor/SelectMentorWizardStep';\nimport SummaryWizardStep from './02_Summary/SummaryWizardStep';\nimport { WizardStepListener } from '../../components/WizardStepListener/WizardStepListener';\n\nconst DriverMentoringView: View<DriverMentoringViewModel> = observer(({ vm }) => {\n  const { translate, applicationService } = vm;\n\n  return (\n    <div className=\"css-reset\">\n      <Container>\n        <div className=\"mw-885\">\n          <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title\">\n            {translate('title-page')}\n          </Typography>\n\n          <MentoringInfo translate={translate} />\n\n          <Wizard wizardContext={applicationService.wizardContext} className=\"mb-5\">\n            <WizardStepListener onStepChange={applicationService.continueAction} />\n            <SelectMentorWizardStep\n              applicationService={applicationService}\n              selectMentorService={applicationService.selectMentorService}\n            />\n            <SummaryWizardStep\n              applicationService={applicationService}\n              summaryService={applicationService.summaryService}\n            />\n          </Wizard>\n        </div>\n      </Container>\n    </div>\n  );\n});\n\nexport default DriverMentoringView;\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport type { Domain_Contracts_Enums_PersonDocumentType } from 'src/data/egon/api';\n\nexport type NewPersonType = {\n  firstName: string;\n  lastName: string;\n  documentNumber: string;\n  documentType: Domain_Contracts_Enums_PersonDocumentType | '';\n};\n\n@AddTranslationKey('select-mentor')\nexport default class NewPersonModel {\n  @observable firstName = '';\n  @observable lastName = '';\n  @observable documentNumber = '';\n  @observable documentType: Domain_Contracts_Enums_PersonDocumentType | '' = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const NewPersonModelValidators: ValidationDescriptor<NewPersonModel, Validators> = {};\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport type { Mandates_WebApi_Responses_LegalRepresentativeResponse } from 'src/data/mandates/api';\nimport { Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse } from 'src/data/crr/api';\nimport type { NewPersonType } from './NewPersonModel';\nimport NewPersonModel from './NewPersonModel';\n\n@AddTranslationKey('select-mentor')\nexport default class SelectMentorModel {\n  @observable mentors: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[] = [];\n  @observable validMentors: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[] = [];\n  @observable inValidMentors: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[] = [];\n  @observable representatives: Mandates_WebApi_Responses_LegalRepresentativeResponse[] = [];\n  @observable selectedPersons: Mandates_WebApi_Responses_LegalRepresentativeResponse[] = [];\n  @observable selectedRepresentatives: Mandates_WebApi_Responses_LegalRepresentativeResponse[] = [];\n  @observable newPerson: NewPersonType = new NewPersonModel();\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const SelectMentorModelValidators: ValidationDescriptor<SelectMentorModel, Validators> = {};\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from 'src/services/WizardStepService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from 'src/services/ValidationService';\nimport ApiService from 'src/services/ApiService';\nimport type {\n  Mandates_WebApi_Requests_PersonQueryRequest,\n  Mandates_WebApi_Responses_LegalRepresentativeResponse,\n  Mandates_WebApi_Responses_LegalRepresentativesResponse,\n  Mandates_WebApi_Responses_PersonResponse,\n} from 'src/data/mandates/api';\nimport { Domain_Contracts_Enums_PersonDocumentType } from 'src/data/egon/api';\nimport { GovLink, SelectOption } from '@cendis/cedr-components';\nimport RepresentativeIdentificationService from 'src/app/mandates/shared/services/RepresentativeIdentificationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\nimport {\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse,\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorVerifyResponse,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState,\n} from 'src/data/crr/api';\nimport DateUtils from 'src/utils/DateUtils';\nimport { UserService } from 'src/services/UserService';\nimport { ReactNode } from 'react';\nimport SelectMentorModel from '../models/SelectMentorModel';\nimport SelectMentorOption from '../models/SelectMentorOption';\nimport NewPersonModel from '../models/NewPersonModel';\nimport { Authorize } from 'src/decorators/Authorize';\n\nexport type ApplicationMentorsError = {\n  errorId?: string;\n  type?: string;\n  description?: string | ReactNode;\n  traceId?: string;\n  view: 'default' | 'detailed' | 'info';\n};\n\nexport type CheckboxOption = {\n  id: string;\n  label: string;\n  disabled?: boolean;\n};\n\n@Service()\nexport default class SelectMentorService extends WizardStepService {\n  model = new SelectMentorModel();\n  searchBusyWatcher = new BusyWatcher();\n  loadAndVerifyRegisterMentors = new BusyWatcher();\n  @observable showAddMentorForm = false;\n  @observable showDeleteDialog = false;\n\n  @observable personToDelete: string | undefined = '';\n  @observable representativeBeforeValidationCount = 0;\n  @observable error: string | ReactNode = '';\n\n  @computed\n  get maxPersonsLimit() {\n    const persons =\n      this.model.mentors.length +\n      this.model.selectedRepresentatives.length +\n      this.model.selectedPersons.length;\n    return persons >= 4;\n  }\n\n  @computed\n  get maxPersonsOverLimit() {\n    const persons =\n      this.model.mentors.length +\n      this.model.selectedRepresentatives.length +\n      this.model.selectedPersons.length;\n    return persons > 4;\n  }\n\n  @computed\n  get canAddMorePersons() {\n    const persons =\n      this.model.mentors.length +\n      this.model.selectedRepresentatives.length +\n      this.model.selectedPersons.length;\n    return persons < 4;\n  }\n\n  @computed\n  get maxPersonsLimitInfo() {\n    if (this.maxPersonsLimit) {\n      return this.translate('max-persons-text');\n    }\n    return '';\n  }\n\n  @observable applicationMentorsError: ApplicationMentorsError | undefined = undefined;\n  @observable mentorsOptions: CheckboxOption[] = [];\n  @observable selectMentorOptions = new SelectMentorOption();\n  @observable isInitialLoad = true;\n\n  @computed\n  get documentTypeOptions(): SelectOption<Domain_Contracts_Enums_PersonDocumentType | ''>[] {\n    return this.representativeIdentificationService.documentTypeOptions;\n  }\n\n  @computed\n  get disableSearchButton() {\n    const { firstName, lastName, documentType, documentNumber } = this.model.newPerson;\n    return [firstName, lastName, documentType, documentNumber].some((value) => value === '');\n  }\n\n  @computed\n  get disableNextStep() {\n    const persons = this.model.selectedRepresentatives.length + this.model.selectedPersons.length;\n    return this.showAddMentorForm || persons <= 0 || persons > 4;\n  }\n\n  @computed\n  get writtenMentorsCount() {\n    return this.model.mentors.filter(\n      (mentor) => mentor.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN\n    ).length;\n  }\n\n  @computed\n  get totalSelectedAndWrittenMentors() {\n    return this.writtenMentorsCount + this.selectMentorOptions.options.length;\n  }\n\n  @computed\n  get disableNextStepRegister() {\n    if (this.selectMentorOptions.options.length <= 0) return true;\n    return this.totalSelectedAndWrittenMentors > 4;\n  }\n\n  @computed\n  get disableNextStepRegisterTooltip() {\n    if (this.selectMentorOptions.options.length <= 0) {\n      return this.translateRegister('select.disabled-button-tooltip');\n    }\n\n    if (this.totalSelectedAndWrittenMentors > 4) {\n      return this.translateRegister('select.disabled-button-tooltip-max-limit');\n    }\n\n    return null;\n  }\n\n  @computed\n  get countPersons() {\n    return this.model.mentors.length + this.model.representatives.length + this.model.selectedPersons.length;\n  }\n\n  @computed\n  get currentMentorsCount() {\n    if (this.model.validMentors.length > 0 || this.model.inValidMentors.length > 0) {\n      return this.model.validMentors.length + this.model.selectedRepresentatives.length;\n    }\n    return this.model.mentors.length + this.model.selectedRepresentatives.length;\n  }\n\n  @computed\n  get shouldShowMaxPersonsLimit() {\n    return this.currentMentorsCount >= 4;\n  }\n\n  @computed\n  get validateRepresentativeCount() {\n    return this.representativeBeforeValidationCount > 0;\n  }\n\n  @computed\n  get summaryData() {\n    const data: { value: React.ReactNode }[] = [];\n    const persons = [...(this.model.selectedRepresentatives ?? []), ...(this.model.selectedPersons ?? [])];\n\n    persons.map((model) =>\n      data.push({\n        value: `${model.firstName} ${model.lastName}, nar. ${DateUtils.dateFormatCz(model.birthDate)}`,\n      })\n    );\n\n    return data;\n  }\n\n  @computed\n  get summaryRegisterData() {\n    const data: { value: React.ReactNode }[] = [];\n\n    this.model.validMentors\n      .filter(\n        (model) => typeof model.aifoId === 'string' && this.selectMentorOptions.options.includes(model.aifoId)\n      )\n      .map((model) =>\n        data.push({\n          value: `${model.firstName} ${model.surname}, nar. ${DateUtils.dateFormatCz(model.dateOfBirth)}`,\n        })\n      );\n    return data;\n  }\n\n  @computed\n  get registerMentorCount() {\n    return this.selectMentorOptions.options.length;\n  }\n\n  @computed\n  get selectMentorOptionTotalPrice() {\n    return this.registerMentorCount * 80;\n  }\n\n  get isSeventeenYearsOld() {\n    const dob = this.userService.personalInfo?.dayOfBirth;\n    if (!dob) return false;\n    return DateUtils.calculateAge(dob) === 17;\n  }\n\n  get isFifteenYearsOld() {\n    const dob = this.userService.personalInfo?.dayOfBirth;\n    if (!dob) return false;\n    return DateUtils.calculateAge(dob) === 15 ? true : false;\n  }\n\n  get isSixteenYearsOld() {\n    const dob = this.userService.personalInfo?.dayOfBirth;\n    if (!dob) return false;\n    return DateUtils.calculateAge(dob) === 16 ? true : false;\n  }\n\n  get isEighteenOrOlderYearsOld() {\n    const dob = this.userService.personalInfo?.dayOfBirth;\n    if (!dob) return false;\n    return DateUtils.calculateAge(dob) >= 18;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private apiService: ApiService,\n    @Inject()\n    private representativeIdentificationService: RepresentativeIdentificationService,\n    @Inject() public userService: UserService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(`select-mentor`);\n    makeObservable(this);\n  }\n\n  async init(stepNumber: number) {\n    this._step = stepNumber;\n    this.startActivityWatcher();\n    await this.userService.initUserData();\n  }\n\n  reset() {\n    this.model = new SelectMentorModel();\n    this.showAddMentorForm = false;\n    this.showDeleteDialog = false;\n    this.personToDelete = undefined;\n    this.representativeBeforeValidationCount = 0;\n    this.error = '';\n    this.applicationMentorsError = undefined;\n    this.selectMentorOptions.options = [];\n    this.isInitialLoad = true;\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  resetNewPersonForm() {\n    this.model.newPerson = new NewPersonModel();\n    this.error = '';\n  }\n\n  existByAifoId<\n    T extends {\n      aifoId?: string | null | undefined;\n    },\n  >(collection: T[], aifoId?: string | null | undefined): boolean {\n    if (!aifoId) return false;\n    return collection.some((entry) => entry.aifoId === aifoId);\n  }\n\n  mapRepresentatives(representativeResponse: Mandates_WebApi_Responses_LegalRepresentativesResponse) {\n    runInAction(\n      () => (this.representativeBeforeValidationCount = representativeResponse.persons?.length ?? 0)\n    );\n    representativeResponse.persons?.forEach((person) => {\n      if (!this.existByAifoId(this.model.mentors, person.aifoId)) {\n        const currentTotal =\n          this.model.mentors.length +\n          this.model.selectedRepresentatives.length +\n          this.model.selectedPersons.length;\n        if (currentTotal < 4) {\n          this.model.representatives.push({\n            aifoId: person.aifoId,\n            birthDate: person.birthDate,\n            firstName: person.firstName ?? '',\n            lastName: person.lastName ?? '',\n          });\n        }\n      }\n    });\n  }\n\n  mapMentors(mentors: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[]) {\n    if (this.model.mentors.length > 0) {\n      this.model.mentors = [];\n    }\n    mentors.forEach((mentor) => {\n      // Don't set limits during initial loading - will be set after verify process\n      if (!this.existByAifoId(this.model.mentors, mentor.aifoId)) {\n        this.model.mentors.push({\n          firstName: mentor.firstName ?? '',\n          surname: mentor.surname ?? '',\n          dateOfBirth: mentor.dateOfBirth,\n          aifoId: mentor.aifoId ?? '',\n          state: mentor.state,\n          canBeRemoved: mentor.canBeRemoved,\n          applicationLocked: mentor.applicationLocked,\n        });\n      }\n    });\n  }\n\n  @Watch<SelectMentorService>((s) => s.loadAndVerifyRegisterMentors)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORING_EDIT, (x) => x.FO])\n  @action.bound\n  async mapRegisterMentors(\n    mentors: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[],\n    canVerify: boolean\n  ) {\n    const currentSelection = [...this.selectMentorOptions.options];\n    if (this.model.mentors.length > 0) {\n      this.model.mentors = [];\n    }\n    this.model.validMentors = [];\n    this.model.inValidMentors = [];\n    // All mentors without validation\n    mentors.forEach((mentor) => {\n      this.model.mentors.push({\n        firstName: mentor.firstName ?? '',\n        surname: mentor.surname ?? '',\n        dateOfBirth: mentor.dateOfBirth,\n        aifoId: mentor.aifoId ?? '',\n        state: mentor.state,\n        canBeRemoved: mentor.canBeRemoved,\n      });\n    });\n\n    if (!canVerify) {\n      mentors.forEach((mentor) => {\n        if (\n          mentor.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN &&\n          !mentor.todayEnding\n        ) {\n          this.model.inValidMentors.push(mentor);\n          return;\n        }\n\n        if (\n          mentor.state ===\n          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE\n        ) {\n          if (!mentor.applicationLocked) {\n            this.model.validMentors.push(mentor);\n          } else {\n            this.model.inValidMentors.push(mentor);\n          }\n        }\n      });\n    } else {\n      const eligibleMentors = mentors.filter(\n        (mentor) =>\n          mentor.state ===\n            Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE &&\n          !mentor.applicationLocked\n      );\n\n      const alreadyRegisteredMentors = mentors.filter(\n        (mentor) =>\n          mentor.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN &&\n          !mentor.todayEnding\n      );\n\n      const alreadyRegisteredIds = new Set(alreadyRegisteredMentors.map((m) => m.aifoId).filter(Boolean));\n\n      const eligibleForVerification = eligibleMentors.filter(\n        (mentor) => !alreadyRegisteredIds.has(mentor.aifoId)\n      );\n\n      let verifyPersons: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorVerifyResponse[] = [];\n\n      if (eligibleForVerification.length > 0) {\n        const requestBodyVerify = {\n          mentorsAifoIds: eligibleForVerification\n            .map((m) => m.aifoId)\n            .filter((id): id is string => typeof id === 'string' && id !== null)\n            .filter((id) => id.trim().length > 0),\n        };\n        verifyPersons =\n          await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsMentorsVerify(\n            requestBodyVerify\n          );\n      }\n\n      mentors.forEach((mentor) => {\n        if (mentor.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN) {\n          const isDuplicate = eligibleMentors.some(\n            (eligibleMentor) => eligibleMentor.aifoId === mentor.aifoId\n          );\n          if (isDuplicate) {\n            this.model.inValidMentors.push(mentor);\n          }\n          return;\n        }\n\n        if (\n          mentor.state ===\n          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE\n        ) {\n          if (mentor.applicationLocked) {\n            this.model.inValidMentors.push(mentor);\n          } else {\n            const foundPerson = verifyPersons.find((person) => person.aifoId === mentor.aifoId);\n\n            if (!foundPerson) return false;\n            const selectedPerson = {\n              firstName: mentor.firstName ?? '',\n              surname: mentor.surname ?? '',\n              dateOfBirth: mentor.dateOfBirth,\n              aifoId: mentor.aifoId ?? '',\n              state: mentor.state,\n              canBeRemoved: mentor.canBeRemoved,\n            };\n            if (foundPerson.isEligible) {\n              this.model.validMentors.push(selectedPerson);\n            } else {\n              this.model.inValidMentors.push(selectedPerson);\n            }\n          }\n        }\n      });\n    }\n\n    if (this.model.validMentors.length <= 0 && this.model.inValidMentors.length <= 0) {\n      this.applicationMentorsError = {\n        view: 'info',\n        description: (\n          <>\n            {this.translateRegister('driver-licence-error-info.description-1')}{' '}\n            <strong className=\"bold\">\n              {this.translateRegister('driver-licence-error-info.description-2')}\n            </strong>{' '}\n            {this.translateRegister('driver-licence-error-info.description-3')}\n          </>\n        ),\n      };\n    } else {\n      this.mentorsOptions = this.mapMentorsToCheckboxData();\n\n      runInAction(() => {\n        const availableMentorIds = this.mentorsOptions.map((o) => o.id);\n\n        if (this.isInitialLoad) {\n          this.selectMentorOptions.options = availableMentorIds;\n          this.isInitialLoad = false;\n        } else {\n          this.selectMentorOptions.options = currentSelection.filter((id) => availableMentorIds.includes(id));\n        }\n      });\n    }\n  }\n\n  @Watch<SelectMentorService>((s) => s.loadAndVerifyRegisterMentors)\n  @action.bound\n  async refreshMentorOptionsAfterDelete() {\n    //pouze po odstranění mentora\n    //už nevalidujeme pouze naplníme options z this.driverService.driverMentors\n\n    this.selectMentorOptions.options = this.model.mentors\n      .filter((o) => o.applicationLocked === false)\n      .filter(\n        (o) =>\n          o.state ===\n          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE\n      )\n      .map((o) => o.aifoId)\n      .filter((aifoId): aifoId is string => aifoId != null);\n  }\n\n  private mapMentorsToCheckboxData(): CheckboxOption[] {\n    if (!this.model.validMentors || this.model.validMentors.length <= 0) return [];\n\n    const mentorsOptions = this.model.validMentors\n      .map((mentor) => ({\n        id: mentor.aifoId ?? mentor.id ?? '',\n        label: `${mentor.firstName} ${mentor.surname}, nar. ${DateUtils.dateFormatCz(mentor.dateOfBirth)}`,\n      }))\n      .filter((m) => Boolean(m.id));\n    return mentorsOptions;\n  }\n\n  @action.bound\n  toggleAddMentorForm() {\n    this.showAddMentorForm = !this.showAddMentorForm;\n    if (!this.showAddMentorForm) {\n      this.resetNewPersonForm();\n    }\n  }\n\n  @action.bound\n  toggleDeletePerson() {\n    this.showDeleteDialog = !this.showDeleteDialog;\n    if (!this.showDeleteDialog) {\n      this.markPersonToDelete(undefined);\n    }\n  }\n  @action.bound\n  markPersonToDelete(aifoId: string | undefined) {\n    this.personToDelete = aifoId;\n  }\n\n  @action.bound\n  deletePersonFromMentor(aifoId: string | undefined) {\n    if (!aifoId) return;\n\n    this.model.selectedRepresentatives = this.model.selectedRepresentatives.filter(\n      (p) => p.aifoId !== aifoId\n    );\n    this.model.selectedPersons = this.model.selectedPersons.filter((p) => p.aifoId !== aifoId);\n  }\n\n  @action.bound\n  async onBeforeNextStep() {\n    return true;\n  }\n\n  @Watch<SelectMentorService>((s) => s.searchBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORS, (x) => x.FO])\n  @action.bound\n  async searchPerson() {\n    if (this.model.newPerson.documentType === '') return false;\n    try {\n      const requestBody: Mandates_WebApi_Requests_PersonQueryRequest = {\n        firstName: this.model.newPerson.firstName,\n        surname: this.model.newPerson.lastName,\n        document: {\n          number: this.model.newPerson.documentNumber,\n          type: this.model.newPerson.documentType,\n        },\n      };\n\n      const personResponse =\n        await this.apiService.mandatesApi.identification.postPdApiMandatesV1GetPerson(requestBody);\n\n      if (personResponse.length === 0) {\n        runInAction(() => {\n          this.error = this.translate('add-form-messages.not-found');\n        });\n\n        return false;\n      }\n\n      const requestBodyVerify = {\n        mentorsAifoIds: [personResponse[0].aifoId],\n      };\n\n      let verifyPersons;\n      try {\n        verifyPersons =\n          await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsMentorsVerify(\n            requestBodyVerify\n          );\n      } catch (error) {\n        if (error && typeof error === 'object' && 'body' in error) {\n          const apiError = error as { body?: { type?: string } };\n          if (apiError.body?.type === 'CRR_INVALID_DRIVER_AGE') {\n            runInAction(() => {\n              this.error = this.translate('add-form-messages.invalid-driver-age');\n            });\n            return false;\n          }\n        }\n        throw error;\n      }\n\n      let errMessage: string | ReactNode;\n\n      if (verifyPersons.length > 1) {\n        errMessage = (\n          <>\n            {this.translate('add-form-messages.more-persons')}{' '}\n            <GovLink href={'/support'} target=\"_blank\" external size=\"s\" testId=\"support-link\">\n              {this.translate('add-form-messages.support-link')}\n            </GovLink>\n          </>\n        );\n      }\n      if (!verifyPersons[0].isEligible) {\n        if (verifyPersons[0].ineligibilityReason === 'OtherReason') {\n          errMessage = this.translate('add-form-messages.other-reason');\n        } else {\n          errMessage = (\n            <>\n              {this.translate('add-form-messages.other-reasons-text')}{' '}\n              <GovLink\n                href={`${window.jsEnv.portal}sluzby-vs/zapsani-mentora-pro-sedmnactileteho-ridice-S51826`}\n                target=\"_blank\"\n                external\n                size=\"m\"\n                testId=\"other-reasons-link\"\n              >\n                {this.translate('add-form-messages.other-reasons-link-text')}\n              </GovLink>\n            </>\n          );\n        }\n      }\n\n      const isAlreadyActiveMentor = this.model.mentors.some((mentor) => {\n        if (mentor.aifoId === personResponse[0].aifoId) {\n          return mentor.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN;\n        }\n        return false;\n      });\n\n      if (isAlreadyActiveMentor) {\n        errMessage = this.translate('add-form-messages.already-active-mentor');\n      }\n\n      if (verifyPersons.length > 1 || !verifyPersons[0].isEligible || isAlreadyActiveMentor) {\n        runInAction(() => {\n          this.error = errMessage;\n        });\n        return false;\n      }\n\n      runInAction(() => {\n        this.error = '';\n        this.addPersonToMentor(personResponse[0]);\n        return true;\n      });\n    } catch (e: any) {\n      console.error('chyba:', e);\n      //TODO validace na kompetenci ještě není v kontextu!\n      runInAction(() => {\n        this.error = this.translate('add-form-messages.not-found');\n      });\n    }\n  }\n\n  @action.bound\n  addPersonToMentor(personResponse: Mandates_WebApi_Responses_PersonResponse) {\n    if (!personResponse.birthDate) return false;\n\n    if (!this.canAddMorePersons) {\n      this.error = this.translate('max-persons-text');\n      return false;\n    }\n\n    if (\n      !this.existByAifoId(this.model.mentors, personResponse.aifoId) &&\n      !this.existByAifoId(this.model.representatives, personResponse.aifoId) &&\n      !this.existByAifoId(this.model.selectedPersons, personResponse.aifoId)\n    ) {\n      const mapped: Mandates_WebApi_Responses_LegalRepresentativeResponse = {\n        aifoId: personResponse.aifoId,\n        firstName: personResponse.firstName,\n        lastName: personResponse.surname,\n        birthDate: personResponse.birthDate,\n      };\n\n      this.model.selectedPersons.push(mapped);\n\n      this.resetNewPersonForm();\n      this.showAddMentorForm = false;\n    } else {\n      this.error = this.translate('add-form-messages.same-person');\n    }\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.mentors,\n      this.model.inValidMentors,\n      this.model.selectedPersons,\n      this.model.selectedRepresentatives,\n      this.model.newPerson.firstName,\n      this.model.newPerson.lastName,\n      this.model.newPerson.documentNumber,\n      this.model.newPerson.documentType,\n      this.showAddMentorForm,\n    ] as const;\n  }\n\n  translate = translate('mentoring.select-mentor', this);\n  translateRegister = translate('mentoring-register', this);\n}\n","import { computed, makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from 'src/services/WizardStepService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from 'src/services/ValidationService';\nimport SelectMentorService from './SelectMentorService';\n\n@Service()\nexport default class SummaryMentorService extends WizardStepService {\n  summaryStep = 2;\n\n  @computed\n  get disableNextStep() {\n    return (\n      this.selectMentorService.countPersons <= 0 ||\n      this.selectMentorService.countPersons > 4 ||\n      !this.selectMentorService.isSeventeenYearsOld\n    );\n  }\n\n  @computed\n  get disableRegisterNextStep() {\n    return this.selectMentorService.selectMentorOptions.options.length <= 0;\n  }\n\n  @computed\n  get selectMentorOptionTotalPrice() {\n    const count = this.selectMentorService.selectMentorOptions.options.length;\n    return count * 80;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private selectMentorService: SelectMentorService\n  ) {\n    super(`summary`);\n    makeObservable(this);\n  }\n\n  init(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  reset() {}\n\n  translate = translate('mentoring.summary', this);\n  translateRegister = translate('mentoring-register', this);\n}\n","import { WizardContext } from '@cendis/cedr-components';\nimport { action, makeObservable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport ValidationService from 'src/services/ValidationService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport DriverService from 'src/services/driver/DriverService';\nimport SessionService from 'src/services/SessionService';\nimport SelectMentorService from './01_SelectMentor/SelectMentorService';\nimport {\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState,\n} from 'src/data/crr/api';\nimport SummaryMentorService from './02_Summary/SummaryMentorService';\nimport { Authorize } from 'src/decorators/Authorize';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport AuthService from 'src/services/AuthService';\n\n@Service()\nexport default class ApplicationService {\n  busyWatcher = new BusyWatcher();\n  postDataBusyWatcher = new BusyWatcher();\n  verifyBusyWatcher = new BusyWatcher();\n  wizardContext = new WizardContext();\n  private navigator: Navigator = DummyNavigator;\n\n  constructor(\n    @Inject() private apiService: ApiService,\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() public selectMentorService: SelectMentorService,\n    @Inject() public summaryService: SummaryMentorService,\n    @Inject() public driverService: DriverService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private authService: AuthService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(navigator: Navigator) {\n    this.navigator = navigator;\n    this.validationService.init();\n    this.selectMentorService.init(1);\n    this.summaryService.init(2);\n\n    this.navigationGuardService.startGuarding();\n\n    if (!this.selectMentorService.model.mentors.length) {\n      //first load mentors\n      await this.driverService.getDriverMentors(false);\n\n      if (this.driverService.driverMentors && this.driverService.driverMentors?.length > 0) {\n        runInAction(() => {\n          this.selectMentorService.mapMentors(this.driverService.driverMentors ?? []);\n        });\n      }\n    }\n\n    //second load representatives\n    await this.getRepresentatives(true);\n  }\n\n  @action.bound\n  reset() {\n    this.navigationGuardService.stopGuarding();\n    this.wizardContext = new WizardContext();\n    this.wizardContext.activeStep = 1;\n    this.selectMentorService.reset();\n  }\n\n  @action.bound\n  hasUnsavedChanges(): boolean {\n    const hasSelectedRepresentatives = this.selectMentorService.model.representatives.length > 0;\n    const hasNewPersonData =\n      this.selectMentorService.model.newPerson.firstName.trim().length > 0 ||\n      this.selectMentorService.model.newPerson.lastName.trim().length > 0 ||\n      this.selectMentorService.model.newPerson.documentNumber.trim().length > 0;\n    const hasMentors = this.selectMentorService.model.mentors.length > 0;\n\n    return hasSelectedRepresentatives || hasNewPersonData || hasMentors;\n  }\n\n  @Watch<ApplicationService>((s) => s.verifyBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORS, (x) => x.FO])\n  @action.bound\n  async getRepresentatives(canVerify: boolean) {\n    try {\n      const data = await this.apiService.mandatesApi.representative.getPdApiMandatesV1LegalRepresentatives();\n\n      if (\n        !this.selectMentorService.model.representatives.length &&\n        data.persons &&\n        data.persons?.length > 0\n      ) {\n        runInAction(() => {\n          this.selectMentorService.mapRepresentatives(data);\n        });\n\n        const representativesAifoIds = data.persons\n          .map((p) => p.aifoId)\n          .filter((id): id is string => id.trim().length > 0);\n\n        if (representativesAifoIds.length > 0) {\n          try {\n            await this.driverService.getDriverMentors(false);\n            const alreadyRegisteredIds = new Set(\n              (this.driverService.driverMentors ?? [])\n                .filter(\n                  (mentor) =>\n                    mentor.state ===\n                      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN ||\n                    mentor.state ===\n                      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE\n                )\n                .map((mentor) => mentor.aifoId)\n                .filter(Boolean)\n            );\n\n            const representativesToVerify = representativesAifoIds.filter(\n              (aifoId) => !alreadyRegisteredIds.has(aifoId)\n            );\n\n            if (representativesToVerify.length === 0) {\n              return;\n            }\n\n            const requestBodyVerify = {\n              mentorsAifoIds: representativesToVerify,\n            };\n\n            if (!canVerify) {\n              return;\n            }\n\n            const verifyPersons =\n              await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsMentorsVerify(\n                requestBodyVerify\n              );\n\n            runInAction(() => {\n              this.selectMentorService.model.selectedRepresentatives =\n                this.selectMentorService.model.representatives.filter((rep) => {\n                  const foundPerson = verifyPersons.find((person) => person.aifoId === rep.aifoId);\n                  return !(foundPerson && !foundPerson.isEligible);\n                });\n            });\n          } catch (verifyError) {\n            runInAction(() => {\n              this.selectMentorService.model.selectedRepresentatives = [];\n            });\n          }\n        }\n      }\n    } catch (error: any) {\n      console.error(error);\n\n      if (error.status === 400) {\n        return;\n      }\n      throw error;\n    }\n  }\n\n  @action.bound\n  async getMentors(mentors: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[]) {\n    if (!mentors.length) return;\n    runInAction(() => {\n      this.selectMentorService.mapMentors(mentors);\n    });\n  }\n\n  @Watch<ApplicationService>((s) => s.postDataBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORS_EDIT, (x) => x.FO])\n  @action.bound\n  async submitApplication() {\n    let response = '';\n    try {\n      const persons = [\n        ...(this.selectMentorService.model.selectedRepresentatives ?? []),\n        ...(this.selectMentorService.model.selectedPersons ?? []),\n      ];\n\n      const mentors = persons.map((mentor) => mentor.aifoId);\n      const requestBody = {\n        mentors,\n      };\n\n      response =\n        await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsApplication(\n          requestBody\n        );\n    } catch (e: any) {\n      console.error(e);\n    } finally {\n      this.navigationGuardService.stopGuarding();\n      this.navToCompleteScreen(response);\n    }\n  }\n\n  @action.bound\n  navToCompleteScreen(requestId: string) {\n    const completeUrl = `${window.location.origin}/driver/complete?requestId=${requestId}`;\n    window.location.assign(completeUrl);\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  translate = translate('mentoring', this);\n}\n","import AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, makeObservable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SessionService from 'src/services/SessionService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport DriverMentoringView from './DriverMentoringView';\nimport ApplicationService from './ApplicationService';\n\n@AddDefaultView(DriverMentoringView)\n@Service()\nexport default class DriverMentoringViewModel extends BaseScreen {\n  get pathNode() {\n    return 'driver-mentoring';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private sessionService: SessionService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.init(this.navigator);\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  translate = translate('mentoring', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Accordion, AccordionItem, GovLink, Typography } from '@cendis/cedr-components';\nimport './CompleteFaq.scss';\n\nexport type FaqItem = {\n  header: string;\n  content: React.ReactNode;\n};\n\ntype CompleteFaqProps = {\n  translate: Translator;\n  onNavigateToNotification?: () => void;\n  onNavigateToSupport?: () => void;\n  items?: FaqItem[];\n};\n\nconst CompleteFaq = observer(({ translate, items, onNavigateToSupport }: CompleteFaqProps) => {\n  const defaultItems: FaqItem[] = [\n    {\n      header: translate('faq.header1'),\n      content: <a data-testid=\"faq-text1\">{translate('faq.text1')}</a>,\n    },\n    {\n      header: translate('faq.header2'),\n      content: <a data-testid=\"faq-text2\">{translate('faq.text2')}</a>,\n    },\n    {\n      header: translate('faq.header3'),\n      content: (\n        <a data-testid=\"faq-text3\">\n          {translate('faq.text3')}{' '}\n          <GovLink\n            href=\"https://portal.gov.cz/sluzby-vs/vydani-ridicskeho-prukazu-S113\"\n            external\n            target=\"_blank\"\n            testId=\"driver-card-link\"\n          >\n            {translate('faq.faq-link')}\n          </GovLink>\n        </a>\n      ),\n    },\n  ];\n\n  const faqItemsToRender = items ?? defaultItems;\n\n  return (\n    <div className=\"complete-faq\">\n      <Typography type=\"headline\" component={'h2'} fontWeight={300} size=\"l\" className=\"mt-4 mb-3\">\n        {translate('faq.title')}\n      </Typography>\n      <Accordion size=\"l\" noBorder className=\"mb-5\">\n        {faqItemsToRender.map((item, index) => (\n          <AccordionItem size=\"l\" key={index} header={item.header} id={`faq-item-${index}`}>\n            {item.content}\n          </AccordionItem>\n        ))}\n      </Accordion>\n    </div>\n  );\n});\n\nexport default CompleteFaq;\n","import { Button, GovIcon, Typography } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport './CompleteScreen.scss';\nimport { MouseEventHandler, ReactNode } from 'react';\nimport GatewayError from '@components/icons/GatewayError';\n\ntype CompleteScreenProps = {\n  title: string;\n  text?: string | ReactNode;\n  onClick: MouseEventHandler;\n  buttonText: string;\n  variant: 'success' | 'error' | 'warning';\n  govIcon?: 'colored/packet';\n  loading?: boolean;\n};\n\nconst CompleteScreen = observer(\n  ({ title, text, onClick, buttonText, govIcon = 'colored/packet', loading = false, variant }: CompleteScreenProps) => {\n    const renderIcon = () => {\n      switch (variant) {\n        case 'success':\n          return <GovIcon name={govIcon} />;\n\n        default:\n          return <GatewayError />;\n      }\n    };\n\n    return (\n      <div className={`complete-screen complete-screen-mentor ${variant}`}>\n        <div className={`mb-3 complete-ico with-gradient`}>{renderIcon()}</div>\n\n        <Typography type=\"headline\" component={'h1'} fontWeight={300} size=\"xl\" className=\"mt-0\">\n          {title}\n        </Typography>\n\n        <div className=\" gov-text--l complete-text\">{text}</div>\n\n        <Button\n          text={buttonText}\n          onClick={onClick}\n          type=\"solid\"\n          size={'l'}\n          loading={loading}\n          disabled={loading}\n          testId=\"complete-button\"\n        />\n      </div>\n    );\n  }\n);\n\nexport default CompleteScreen;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport CompleteFaq from './components/CompleteFaq';\nimport CompleteScreenMentorViewModel, { CompleteState } from './CompleteScreenMentorViewModel';\nimport CompleteScreen from './components/CompleteScreen';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst CompleteScreenMentorView: View<CompleteScreenMentorViewModel> = observer(({ vm }) => {\n  const { translate, busyWatcherOnLoad } = vm;\n  const successState = vm.state === CompleteState.SUCCESS;\n\n  if (vm.state === CompleteState.LOADING || busyWatcherOnLoad.isBusy) {\n    return (\n      <Container>\n        <ScreenContext value={vm}>\n          <div className=\"complete-screen complete-screen-driver\">\n            <LoaderBox type=\"complete-ico mb-3\" />\n            <LoaderBox type=\"line-full mb-3\" />\n            <LoaderBox type=\"box-full\" />\n          </div>\n        </ScreenContext>\n      </Container>\n    );\n  }\n  return (\n    <Container className=\"complete-screen-view-licence\">\n      <ScreenContext value={vm}>\n        <CompleteScreen\n          onClick={vm.navToDriver}\n          loading={vm.busyWatcher.isBusy}\n          title={successState ? translate('page-title') : translate('error.page-title')}\n          text={\n            successState ? (\n              <>\n                <p>{translate('info-line-1')}</p>\n                <p className=\"mt-4\">{translate('info-line-2')}</p>\n              </>\n            ) : (\n              <p>{translate('error.info-line-1')}</p>\n            )\n          }\n          buttonText={translate('back-to-driver')}\n          variant={successState ? 'success' : 'error'}\n        />\n        <CompleteFaq translate={translate} onNavigateToNotification={vm.navToDriver} />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default CompleteScreenMentorView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport ApiService from 'src/services/ApiService';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport CompleteScreenMentorView from './CompleteScreenMentorView';\nimport DriverService from 'src/services/driver/DriverService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\n\nexport enum CompleteState {\n  LOADING = 'loading',\n  SUCCESS = 'success',\n  ERROR = 'error',\n}\n@AddDefaultView(CompleteScreenMentorView)\n@Service()\nexport default class CompleteScreenMentorViewModel extends BaseScreen {\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  busyWatcherOnLoad = new BusyWatcher();\n  @observable state: CompleteState = CompleteState.LOADING;\n\n  get pathNode(): string {\n    return 'complete';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public driverService: DriverService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  deactivate() {\n    this.reset();\n  }\n\n  @action.bound\n  @Watch<CompleteScreenMentorViewModel>((s) => s.busyWatcherOnLoad)\n  activate() {\n    const { requestId } = parseQueryParams(window.location.search);\n    if (requestId) {\n      this.state = CompleteState.SUCCESS;\n    } else {\n      this.state = CompleteState.ERROR;\n    }\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  @action.bound\n  reset() {\n    this.state = CompleteState.LOADING;\n  }\n\n  @action.bound\n  @Watch<CompleteScreenMentorViewModel>((s) => s.busyWatcher)\n  async navToDriver() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  translate = translate('mentoring.complete', this);\n  translateMedicalInfo = translate('mentoring', this);\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType } from 'src/data/crr/api';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from 'src/data/validators/registry';\n\nexport type GroupedPersonToConsent = {\n  firstName: string;\n  surname: string;\n  dateOfBirth?: string | null;\n  consents: PersonToConsent[];\n};\n\nexport type PersonToConsent = {\n  firstName: string;\n  surname: string;\n  dateOfBirth: string | null | undefined;\n  consentType: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType;\n  consentId: string;\n  consentPerson?: ConsentPerson[];\n};\n\nexport type ConsentPerson = {\n  firstName: string;\n  surname: string;\n  dateOfBirth: string | null | undefined;\n};\n\n@AddTranslationKey('consentDialog')\nexport default class ConsentDialogModel {\n  @observable consentDialogVisible = false;\n  @observable groupedPerson: GroupedPersonToConsent[] = [];\n  @observable consentAllButton = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  showConsentDialog() {\n    this.consentDialogVisible = true;\n  }\n  @action.bound\n  hideConsentDialog() {\n    this.consentDialogVisible = false;\n  }\n  @action.bound\n  clearConsentPersons() {\n    this.groupedPerson = [];\n  }\n}\n\nexport const ConsentDialogModelValidators: ValidationDescriptor<ConsentDialogModel, Validators> = {};\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport SectionWithIcon from '../../shared/components/SectionWithIcon';\nimport DotRow from '../../shared/components/DotRow';\nimport { GovLink } from '@cendis/cedr-components';\n\ntype MentoringRegisterInfoProps = {\n  translate: Translator;\n};\n\nconst MentoringRegisterInfo = ({ translate }: MentoringRegisterInfoProps) => {\n  return (\n    <>\n      <div className=\"my-40px mw-770\">\n        <SectionWithIcon iconName=\"custom/cash-stack\">\n          <DotRow\n            leftNode={translate('mentoring-info.value')}\n            rightNode={`${translate('mentoring-info.price')} ${translate('mentoring-info.price-text')}`}\n            discountTag\n            infoIcon\n            infoIconWithTooltip\n          />\n        </SectionWithIcon>\n\n        <SectionWithIcon iconName=\"components/book\" variant=\"primary\" className=\"mw-415\">\n          <GovLink\n            href={'https://portal.gov.cz/sluzby-vs/zapsani-mentora-pro-sedmnactileteho-ridice-S51826'}\n            target=\"_blank\"\n            external\n            size=\"s\"\n            testId=\"mentorship-link\"\n          >\n            {translate('mentoring-info.service-catalogue-text')}\n          </GovLink>\n        </SectionWithIcon>\n      </div>\n    </>\n  );\n};\nexport default MentoringRegisterInfo;\n","import {\n  Message,\n  ScreenContext,\n  Typography,\n  WizardItem,\n  Skeleton,\n  CheckboxGroup,\n} from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport SelectMentorService from './SelectMentorService';\nimport DateUtils from 'src/utils/DateUtils';\n\ntype SelectMentorWizardStepProps = {\n  selectMentorService: SelectMentorService;\n};\n\nconst SelectMentorWizardStep = observer(({ selectMentorService }: SelectMentorWizardStepProps) => {\n  const {\n    step,\n    translateRegister,\n    model,\n    mentorsOptions,\n    onBeforeNextStep,\n    disableNextStepRegister,\n    disableNextStepRegisterTooltip,\n    selectMentorOptions,\n    selectMentorOptionTotalPrice,\n    loadAndVerifyRegisterMentors,\n  } = selectMentorService;\n\n  return (\n    <ScreenContext value={selectMentorService}>\n      <WizardItem\n        step={step}\n        label={translateRegister('select.label')}\n        disableNextStep={disableNextStepRegister}\n        onBeforeNextStep={onBeforeNextStep}\n        disabledButtonTooltip={disableNextStepRegister && disableNextStepRegisterTooltip}\n        useLegacyTooltip={true}\n      >\n        <Typography type=\"headline\" size=\"s\" component={'h2'} fontWeight={500} className=\"mt-4 mb-4\">\n          {translateRegister('select.ready-mentor-title')}\n        </Typography>\n\n        <Typography className=\"mb-4\">\n          {translateRegister('select.ready-mentor-text-1')}{' '}\n          <strong className=\"bold\">{translateRegister('select.ready-mentor-text-2')}</strong>{' '}\n          {translateRegister('select.ready-mentor-text-3')}\n        </Typography>\n\n        {loadAndVerifyRegisterMentors.isBusy ? (\n          <>\n            <Skeleton type=\"line-full\" />\n          </>\n        ) : (\n          <>\n            {model.inValidMentors && model.inValidMentors.length > 0 && (\n              <Message className=\"mb-4\" icon=\"components/exclamation-triangle-fill\" color=\"error\">\n                {translateRegister('invalid-mentors.subtitle')}\n                <ul className=\"mt-2 mb-2\">\n                  {model.inValidMentors.map((mentor) => (\n                    <li className=\"mb-0\">\n                      {mentor.firstName} {mentor.surname} {translateRegister('invalid-mentors.born')}{' '}\n                      {DateUtils.dateFormatCz(mentor.dateOfBirth)}\n                    </li>\n                  ))}\n                </ul>\n                <p>{translateRegister('invalid-mentors.text')}</p>\n              </Message>\n            )}\n\n            {model.validMentors && model.validMentors.length > 0 && (\n              <CheckboxGroup\n                className=\"mb-4\"\n                target={selectMentorOptions}\n                property=\"options\"\n                options={mentorsOptions}\n              />\n            )}\n            <Message className=\"mb-4\" icon=\"custom/cash-stack\">\n              {translateRegister('select.payment-total-amount')}:{' '}\n              <strong className=\"bold\">\n                {selectMentorOptionTotalPrice} {translateRegister('select.currency-cz')}\n              </strong>\n            </Message>\n          </>\n        )}\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default SelectMentorWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport ApplicationService from '../ApplicationService';\nimport { Message, ScreenContext, WizardItem } from '@cendis/cedr-components';\n\nimport WizardStepSummary from 'src/app/driver_ng/shared/components/WizardStepSummary';\nimport SummaryMentorService from './SummaryMentorService';\n\ntype SummaryWizardStepProps = {\n  summaryService: SummaryMentorService;\n  applicationService: ApplicationService;\n};\n\nconst SummaryWizardStep = observer(({ applicationService, summaryService }: SummaryWizardStepProps) => {\n  const { translate, translateRegister, step, disableRegisterNextStep, selectMentorOptionTotalPrice } = summaryService;\n\n  return (\n    <ScreenContext value={summaryService}>\n      <WizardItem\n        step={step}\n        label={translate('label')}\n        disableNextStep={disableRegisterNextStep}\n        controlledButtonProps={{\n          text: translateRegister('continue'),\n          testId: 'summary-step-submit-application',\n        }}\n      >\n        <WizardStepSummary\n          title={applicationService.selectMentorService.translate('label-data-register')}\n          returnToStep={applicationService.selectMentorService.step}\n          paragraphs={applicationService.selectMentorService.summaryRegisterData}\n        />\n        <Message className=\"mb-4\" icon=\"custom/cash-stack\">\n          {translateRegister('select.payment-total-amount')}:{' '}\n          <strong className=\"bold\">\n            {selectMentorOptionTotalPrice} {translateRegister('select.currency-cz')}\n          </strong>\n        </Message>\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default SummaryWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport { Button, Checkbox, GovLink, ScreenContext, Skeleton, WizardItem } from '@cendis/cedr-components';\n//import './ContactDetailWizardStep.scss';\nimport ContactDetailService from './ContactDetailService';\n//import PaymentService from '../services/PaymentService';\n//import ApplicationService from '../../driverLicence/driverLicenceApplication/ApplicationService';\n\ntype ContactDetailWizardStepProps = {\n  contactDetailService: ContactDetailService;\n  //paymentService: PaymentService;\n  //applicationService?: ApplicationService;\n};\n\nconst ContactDetailWizardStep = observer(({ contactDetailService }: ContactDetailWizardStepProps) => {\n  const {\n    translate,\n    step,\n    model,\n    formattedPhone,\n    emailForSummary: email,\n    refreshContact,\n    isBusy,\n    isEmailDisabled,\n    isPhoneDisabled,\n  } = contactDetailService;\n\n  return (\n    <ScreenContext value={contactDetailService}>\n      <WizardItem\n        className=\"contact-wizard\"\n        label={translate('item5.header')}\n        step={step}\n        disableNextStep={!model.hasEmail || !model.hasPhone}\n        disabledButtonTooltip={translate('fill-in-required')}\n        useLegacyTooltip={true}\n        //onActiveStep={() => {if (applicationService) applicationService.getPayment();}}\n        controlledButtonText={translate('item6.continue')}\n      >\n        <p className=\"mt-2 mb-4\">\n          {translate('item5.text1')}\n          <GovLink\n            external\n            size=\"s\"\n            target=\"_blank\"\n            text={translate('item5.textLink')}\n            href={window.jsEnv.personSettings}\n            testId=\"contact-link\"\n          />\n        </p>\n        {/*<Message message={translate('item5.text2')} className=\"mb-4\" />*/}\n\n        <div className=\"d-flex align-items-center mb-3 flex-wrap gap-2\">\n          <Checkbox\n            target={model}\n            className=\"checkbox-contact\"\n            property=\"hasEmail\"\n            disabled={isEmailDisabled}\n            required={true}\n            label={\n              <>\n                {translate('text-email')}\n                {isBusy ? (\n                  <Skeleton display=\"inline\" width=\"6rem\" height=\"1rem\" />\n                ) : (\n                  <span className=\"bold\">{email}</span>\n                )}\n              </>\n            }\n          />\n        </div>\n\n        <div className=\"d-flex align-items-center flex-wrap gap-2\">\n          <Checkbox\n            className=\"checkbox-contact\"\n            target={model}\n            property=\"hasPhone\"\n            disabled={isPhoneDisabled}\n            required={true}\n            label={\n              <>\n                {translate('text-phone')}\n                {isBusy ? (\n                  <Skeleton display=\"inline\" width=\"6rem\" height=\"1rem\" />\n                ) : (\n                  <span className=\"bold\">{formattedPhone}</span>\n                )}\n              </>\n            }\n          />\n        </div>\n\n        <div className=\"d-flex align-items-center mt-4 flex-wrap gap-2\">\n          {translate('load-info-text')}\n          <Button\n            className=\"button-checkbox\"\n            iconStart={'custom/arrow-repeat'}\n            text={translate('contact-load')}\n            type=\"base\"\n            onClick={refreshContact}\n            loading={isBusy}\n            disabled={isBusy}\n            testId=\"refresh-contact\"\n          />\n        </div>\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default ContactDetailWizardStep;\n","import { Message, ScreenContext, WizardItem, Button, Dialog } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport PaymentService from './PaymentService';\nimport LoaderBox from 'src/components/layout/LoaderBox';\nimport ApplicationService from '../ApplicationService';\nimport ErrorEmpty from 'src/app/driver_ng/shared/components/ErrorEmpty';\n\ntype PaymentWizardStepProps = {\n  paymentService: PaymentService;\n  applicationService: ApplicationService;\n};\n\nconst PaymentWizardStep = observer(({ paymentService, applicationService }: PaymentWizardStepProps) => {\n  const { step, translate, amount, priceBusyWatcher } = paymentService;\n  const { paymentPromptVisible, closePaymentPrompt, onBeforeNextStep } = applicationService;\n\n  return (\n    <ScreenContext value={paymentService}>\n      <WizardItem\n        step={step}\n        label={translate('payment-title')}\n        disableNextStep={priceBusyWatcher.isBusy || applicationService.sendingDisabled}\n        onBeforeNextStep={onBeforeNextStep}\n        controlledButtonText={amount > 0 ? translate('payment-continue-button') : translate('no-payment-continue-button')}\n        onActiveStep={() => applicationService.getPayment()}\n      >\n        {!applicationService.sendingDisabled ? (\n          <>\n            <Message className=\"mb-4\" icon=\"custom/cash-stack\">\n              {translate('payment-total-amount')}:{' '}\n              {priceBusyWatcher.isBusy ? (\n                <LoaderBox type=\"line-h\" />\n              ) : (\n                <strong className=\"bold\">\n                  {amount} {translate('prompt.currency-cz')}\n                </strong>\n              )}\n            </Message>\n\n            <p className=\"mb-4\">\n              {translate('payment-submit-info-1')} <strong className=\"bold\">{translate('payment-submit-info-2')}</strong>\n            </p>\n            <p>{translate('payment-supported-methods')}</p>\n            <img\n              className=\"payment-methods mt-3 mb-3\"\n              alt={translate('payment-supported-methods')}\n              src={'site-public/img/layout/payment-methods.png'}\n            />\n          </>\n        ) : (\n          <ErrorEmpty translate={translate} />\n        )}\n\n        <Dialog\n          headline={translate('prompt.headline-send')}\n          isVisible={paymentPromptVisible}\n          onClose={closePaymentPrompt}\n          testId=\"payment-dialog\"\n          bottomChildren={\n            <>\n              <Button\n                text={translate('prompt.close-payment-prompt')}\n                type=\"outlined\"\n                onClick={closePaymentPrompt}\n                testId=\"payment-dialog-close\"\n              />\n              <Button\n                text={amount > 0 ? translate('prompt.go-to-payment') : translate('prompt.send')}\n                onClick={() => applicationService.submitApplication()}\n                loading={applicationService.submitBusyWatcher.isBusy}\n                testId=\"payment-dialog-send\"\n              />\n            </>\n          }\n        >\n          <p className=\"mb-3\">{translate('prompt.confirm-message-mentor')}</p>\n          <ul className=\"ms-4 mb-2\">\n            {applicationService.selectMentorService.summaryRegisterData.map((mentor) => (\n              <li className=\"bold\">{mentor.value}</li>\n            ))}\n          </ul>\n          <p className=\"mt-3 mb-3\">\n            {translate('prompt.fee-mentor')}:{' '}\n            <strong className=\"bold\">\n              {amount} {translate('prompt.currency-cz')}\n            </strong>\n          </p>\n\n          <p className=\"mt-3 mb-3\">{translate('prompt.final-confirmation')}</p>\n        </Dialog>\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default PaymentWizardStep;\n","import { Container, Typography, Wizard } from '@cendis/cedr-components';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport DriverMentoringRegisterViewModel from './DriverMentoringRegisterViewModel';\nimport MentoringRegisterInfo from '../../components/MentoringInfo/MentoringRegisterInfo';\nimport DriverLicenceError from '../../components/DriverLicenceError/DriverLicenceError';\nimport LoaderComponent from '../../components/Loader';\nimport SelectMentorWizardStep from './01_SelectMentor/SelectMentorWizardStep';\nimport SummaryWizardStep from './02_Summary/SummaryWizardStep';\nimport ContactDetailWizardStep from './03_Contact/ContactDetailWizardStep';\nimport PaymentWizardStep from './04_Payment/PaymentWizardStep';\nimport { WizardStepListener } from '../../components/WizardStepListener/WizardStepListener';\n\nconst DriverMentoringRegisterView: View<DriverMentoringRegisterViewModel> = observer(({ vm }) => {\n  const { translate, applicationService } = vm;\n\n  return (\n    <div className=\"css-reset\">\n      <Container>\n        <div className=\"mw-855\">\n          <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title\">\n            {translate('title')}\n          </Typography>\n\n          <MentoringRegisterInfo translate={translate} />\n\n          {applicationService.busyWatcher.isBusy ? (\n            <LoaderComponent />\n          ) : (\n            <>\n              {applicationService.selectMentorService.applicationMentorsError ? (\n                <DriverLicenceError\n                  errors={[applicationService.selectMentorService.applicationMentorsError]}\n                  translate={translate}\n                  linkToDriver={vm.linkToDriver}\n                />\n              ) : (\n                <Wizard wizardContext={applicationService.wizardContext} className=\"mb-5\">\n                  <WizardStepListener onStepChange={applicationService.continueAction} />\n                  <SelectMentorWizardStep selectMentorService={applicationService.selectMentorService} />\n\n                  <SummaryWizardStep\n                    applicationService={applicationService}\n                    summaryService={applicationService.summaryService}\n                  />\n\n                  <ContactDetailWizardStep contactDetailService={applicationService.contactDetailService} />\n\n                  <PaymentWizardStep\n                    applicationService={applicationService}\n                    paymentService={applicationService.paymentService}\n                  />\n                </Wizard>\n              )}\n            </>\n          )}\n        </div>\n      </Container>\n    </div>\n  );\n});\n\nexport default DriverMentoringRegisterView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport OutageErrorViewModel from './OutageErrorViewModel';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\n\nconst OutageErrorView: View<OutageErrorViewModel> = observer(({ vm }) => {\n  const { translate, errType } = vm;\n\n  return (\n    <Container>\n      <ScreenContext value={vm}>\n        <Container className=\"complete-screen-view-licence\">\n          <div className=\"mw-855 css-reset\">\n            {errType === 'gateway' && (\n              <CompleteScreen\n                withGradientCircle\n                buttonText={translate('btn-retry-payment')}\n                onClick={vm.repeatOrProcessPayment}\n                loading={vm.paymentBusyWatcher.isBusy}\n                disableButtons={vm.paymentBusyWatcher.isBusy}\n                title={translate('gateway-error-2.title')}\n                subtitle={\n                  <>\n                    <p>{translate('gateway-error-2.text-1')}</p>\n                  </>\n                }\n                variant=\"error\"\n                externalIcon={'gatewayError'}\n              />\n            )}\n\n            {errType === 'other' && (\n              <CompleteScreen\n                withGradientCircle\n                buttonText={translate('btn-driver')}\n                onClick={vm.navToDriver}\n                title={translate('error.title')}\n                loading={vm.busyWatcher.isBusy}\n                disableButtons={vm.busyWatcher.isBusy}\n                subtitle={\n                  <>\n                    <p>{translate('error.text-1')}</p>\n                  </>\n                }\n                variant=\"error\"\n                externalIcon={'gatewayError'}\n              />\n            )}\n          </div>\n        </Container>\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default OutageErrorView;\n","import BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport ApiService from 'src/services/ApiService';\nimport AuthService from 'src/services/AuthService';\nimport { ToastService } from '@cendis/cedr-components';\nimport ErrorService from 'src/services/ErrorService';\nimport OutageErrorView from './OutageErrorView';\nimport FirstTimeApplicantsService from 'src/services/firstTimeApplicants/FirstTimeApplicantsService';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport DriverService from 'src/services/driver/DriverService';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\nexport type ErrType = 'gateway' | 'other';\n\n@AddDefaultView(OutageErrorView)\n@AddChildrenView()\n@Service()\nexport default class OutageErrorViewModel extends BaseScreen {\n  @observable paymentBusyWatcher = new BusyWatcher();\n  @observable errType: ErrType = 'gateway';\n  @observable refId: string = '';\n\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'outage-/errType/-ref-id-/refId/';\n  }\n\n  get title() {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() private authService: AuthService,\n    @Inject() private toastService: ToastService,\n    @Inject() private firstTimeApplicantsService: FirstTimeApplicantsService,\n    @Inject() private driverService: DriverService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { errType, refId } = params;\n\n    this.errType = errType as ErrType;\n    this.refId = refId;\n  }\n\n  @Watch<OutageErrorViewModel>((s) => s.paymentBusyWatcher)\n  @action.bound\n  async repeatOrProcessPayment() {\n    const paymentUrl = this.firstTimeApplicantsService.confirmMentors?.gatewayUrl;\n    if (paymentUrl) {\n      await this.goToPayment(paymentUrl);\n    } else {\n      await this.processPayment();\n    }\n  }\n\n  @action.bound\n  async goToPayment(paymentUrl: string) {\n    await this.authService.refreshCurrentToken();\n    window.location.href = paymentUrl;\n  }\n\n  @action.bound\n  async processPayment() {\n    try {\n      if (this.refId) {\n        const response =\n          await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsPayments(\n            this.refId\n          );\n\n        const gatewayUrl = response.gatewayUrl;\n        if (gatewayUrl) {\n          await this.authService.refreshCurrentToken();\n          window.location.href = gatewayUrl;\n          return;\n        }\n\n        if (response.gatewayUrl) {\n          const paymentStartTime = new Date().toISOString();\n          this.localStorageService.set(`payment_start_time_${this.refId}`, paymentStartTime);\n          await this.authService.refreshCurrentToken();\n          window.location.href = response.gatewayUrl;\n        }\n      }\n    } catch (error: any) {\n      this.errorService.logCatchError(\n        error,\n        'driver - OutageErrorViewModel',\n        'processPayment - apiService.crrApi.requests.postPdApiCrrV1RequestsPayments'\n      );\n      this.toastService.addToast('driver-application-fail', this.translate('payment-fail'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    }\n  }\n\n  @action.bound\n  @Watch<OutageErrorViewModel>((s) => s.busyWatcher)\n  async navToDriver() {\n    await this.driverService.loadDataNg(true);\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  translate = translate('mentoring-register.complete', this);\n}\n","import { ToastService, WizardContext } from '@cendis/cedr-components';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport ValidationService from 'src/services/ValidationService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport DriverService from 'src/services/driver/DriverService';\nimport SessionService from 'src/services/SessionService';\nimport SelectMentorService from './01_SelectMentor/SelectMentorService';\n\nimport { Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse } from 'src/data/crr/api';\nimport SummaryMentorService from './02_Summary/SummaryMentorService';\nimport ContactDetailService from './03_Contact/ContactDetailService';\nimport PaymentService from './04_Payment/PaymentService';\nimport ErrorService from 'src/services/ErrorService';\nimport AuthService from 'src/services/AuthService';\nimport OutageErrorViewModel from '../OutageError/OutageErrorViewModel';\nimport FirstTimeApplicantsService from 'src/services/firstTimeApplicants/FirstTimeApplicantsService';\nimport { Authorize } from 'src/decorators/Authorize';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\n@Service()\nexport default class ApplicationService {\n  busyWatcher = new BusyWatcher();\n  submitBusyWatcher = new BusyWatcher();\n  wizardContext = new WizardContext();\n  private navigator: Navigator = DummyNavigator;\n\n  @observable paymentPromptVisible = false;\n  @observable requestTimeoutVisible = false;\n  @observable sendingDisabled = false;\n  @observable runDeactivate = true;\n\n  constructor(\n    @Inject() private apiService: ApiService,\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() public selectMentorService: SelectMentorService,\n    @Inject() public summaryService: SummaryMentorService,\n    @Inject() public driverService: DriverService,\n    @Inject() public contactDetailService: ContactDetailService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private authService: AuthService,\n    @Inject() private toastService: ToastService,\n    @Inject() private firstTimeApplicantsService: FirstTimeApplicantsService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  @Watch<ApplicationService>((s) => s.busyWatcher)\n  async init(navigator: Navigator) {\n    this.navigator = navigator;\n    this.validationService.init();\n    this.selectMentorService.init(1);\n    this.summaryService.init(2);\n    this.contactDetailService.init(3);\n    this.paymentService.init(4);\n\n    if (!this.selectMentorService.model.mentors.length) {\n      //first load mentors\n      await this.driverService.getDriverMentors(false);\n    }\n\n    if (this.driverService.driverMentors && this.driverService.driverMentors?.length > 0) {\n      runInAction(() => {\n        this.selectMentorService.mapRegisterMentors(this.driverService.driverMentors ?? [], true);\n      });\n    } else {\n      runInAction(() => {\n        this.selectMentorService.applicationMentorsError = {\n          view: 'info',\n        };\n      });\n    }\n  }\n\n  @action.bound\n  reset() {\n    this.wizardContext = new WizardContext();\n    this.wizardContext.activeStep = 1;\n    this.paymentPromptVisible = false;\n    this.sendingDisabled = false;\n    this.requestTimeoutVisible = false;\n    this.paymentService.reset();\n    this.selectMentorService.reset();\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  @action.bound\n  openPaymentPrompt() {\n    this.paymentPromptVisible = true;\n  }\n  @action.bound\n  closePaymentPrompt() {\n    this.paymentPromptVisible = false;\n  }\n  @action.bound\n  onBeforeNextStep() {\n    this.openPaymentPrompt();\n    return false;\n  }\n  @action.bound\n  stopDeactivate() {\n    this.runDeactivate = false;\n  }\n\n  @Watch<ApplicationService>((s) => s.paymentService.priceBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORING_EDIT, (x) => x.FO])\n  @action.bound\n  async getPayment() {\n    try {\n      const params = {\n        mentorsCount: this.selectMentorService.selectMentorOptions.options.length,\n      };\n      const response = await this.apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute(params);\n\n      runInAction(() => {\n        this.paymentService.model.amount = response?.amount ?? 0;\n      });\n\n      runInAction(() => (this.sendingDisabled = false));\n    } catch (error) {\n      runInAction(() => (this.sendingDisabled = true));\n      this.errorService.logCatchError(\n        error,\n        'driver - driverLicenceApplication - ApplicationService',\n        'getPayment - apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute'\n      );\n    }\n  }\n\n  @action.bound\n  async getMentorsToRegister(\n    canVerify: boolean,\n    mentors: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[]\n  ) {\n    if (!mentors.length) return;\n    runInAction(() => {\n      this.selectMentorService.mapRegisterMentors(mentors, canVerify);\n    });\n  }\n\n  @action.bound\n  async refreshMentorsList() {\n    await this.driverService.getDriverMentors(true);\n    if (this.driverService.driverMentors) {\n      runInAction(() => {\n        this.selectMentorService.mapRegisterMentors(this.driverService.driverMentors ?? [], true);\n      });\n    }\n  }\n\n  hasIdAndAifo(\n    m: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse\n  ): m is Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse & { id: string; aifoId: string } {\n    return typeof m.id === 'string' && typeof m.aifoId === 'string';\n  }\n\n  @action.bound\n  @Watch<ApplicationService>((s) => s.submitBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORING_EDIT, (x) => x.FO])\n  async submitApplication() {\n    // Refresh token before payment to ensure it doesn't expire during payment process\n    await this.authService.refreshCurrentToken();\n\n    try {\n      let paymentUrl: string | null = null;\n      let refId: string | null = null;\n      let transactionId: string | null = null;\n\n      const selectedAifoIds: string[] = this.selectMentorService.selectMentorOptions.options ?? [];\n      const mentors = this.driverService.driverMentors ?? [];\n\n      const selectedIdsArray: string[] = mentors\n        .filter(this.hasIdAndAifo)\n        .filter((m) => selectedAifoIds.includes(m.aifoId))\n        .map((m) => m.id);\n\n      const selectedId: string[] | null = selectedIdsArray.length > 0 ? selectedIdsArray : null;\n\n      const requestBody = {\n        mentoringRecordIds: selectedId,\n        emailAddress: this.contactDetailService.emailForSummary,\n        phoneNumber: this.contactDetailService.phoneForSummary,\n      };\n\n      await this.firstTimeApplicantsService.postConfirmationsMentor(requestBody);\n\n      runInAction(() => {\n        paymentUrl = this.firstTimeApplicantsService.confirmMentors?.gatewayUrl || null;\n        refId = this.firstTimeApplicantsService.confirmMentors?.paymentRefId ?? null;\n        transactionId = this.firstTimeApplicantsService.confirmMentors?.transactionId ?? null;\n      });\n\n      if (!paymentUrl) {\n        this.toastService.addToast('payment-gateway-error', this.translate('payment-gateway-error'), {\n          color: 'error',\n          icon: 'components/exclamation-triangle-fill',\n          animateDirection: 'forward',\n        });\n        return;\n      }\n\n      this.clearSessionStorage();\n      //TODO reset & refresh data\n\n      if (this.paymentService.processPaymentUrl(paymentUrl, refId, transactionId)) {\n        // Save request type for gateway error fallback\n        if (refId) {\n          this.localStorageService.set(`request_type_${refId}`, 'mentoring-register');\n        }\n      } else {\n        runInAction(() => {\n          this.requestTimeoutVisible = false;\n\n          this.navToCompleteScreen();\n        });\n      }\n    } catch (error: any) {\n      if (error.status === 400 && error.body?.type === 'CRR_PAYMENT_ERROR') {\n        this.errorService.logCatchError(\n          error,\n          'driver - mentoringRegister - ApplicationService',\n          'submitApplication - apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsMentorConfirmations, type CRR_PAYMENT_ERROR'\n        );\n\n        this.navToOutage('gateway', error.body?.refId);\n        return;\n      }\n\n      this.toastService.addToast('driver-application-fail', this.translate('submit-fail'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n      this.navToOutage('other', 'noexist');\n    } finally {\n      this.closePaymentPrompt();\n    }\n  }\n\n  @action.bound\n  navToOutage(errType: string, refId: string) {\n    this.navigator(OutageErrorViewModel, { errType, refId }).go();\n  }\n\n  @action.bound\n  navToCompleteScreen() {\n    //TODO id PD-8182\n    // this.navigator(CompleteScreen...ViewModel, { requestId }).go();\n  }\n\n  clearSessionStorage() {\n    for (const key in this) {\n      const property = this[key];\n\n      if (\n        typeof property === 'object' &&\n        property !== null &&\n        'sessionStorageKey' in property &&\n        typeof property.sessionStorageKey === 'string'\n      ) {\n        this.sessionService.remove(property.sessionStorageKey);\n      }\n    }\n  }\n\n  translate = translate('mentoring-register', this);\n}\n","import AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, makeObservable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SessionService from 'src/services/SessionService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\n\nimport DriverMentoringRegisterView from './DriverMentoringRegisterView';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport ApplicationService from './ApplicationService';\n\n@AddDefaultView(DriverMentoringRegisterView)\n@Service()\nexport default class DriverMentoringRegisterViewModel extends BaseScreen {\n  get pathNode() {\n    return 'driver-mentoring-register';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private sessionService: SessionService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound\n  notifyNavigation() {\n    this.applicationService.init(this.navigator);\n  }\n\n  checkSavedTransaction() {\n    const refId = this.sessionService.get('refId');\n    const transactionId = this.sessionService.get('transactionId');\n\n    if (refId && transactionId) {\n      this.sessionService.remove('refId');\n      this.sessionService.remove('transactionId');\n      const completeUrl = `${window.location.origin}/driver/complete-register?id=${transactionId}&refId=${refId}`;\n      window.location.assign(completeUrl);\n    }\n  }\n\n  deactivate() {\n    if (this.applicationService.runDeactivate) {\n      this.applicationService.reset();\n      this.applicationService.clearSessionStorage();\n    }\n  }\n\n  @action.bound\n  linkToDriver() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  translate = translate('mentoring-register', this);\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from 'src/data/validators/registry';\nimport type {\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_MentoringResponse,\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse,\n} from 'src/data/crr/api';\n\n@AddTranslationKey('mentoringsDialog')\nexport default class DriverMentoringDialogModel {\n  mentor: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse =\n    {} as Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse;\n  mentored: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentoringResponse =\n    {} as Crr_WebApi_Responses_V1_FirstTimeApplicant_MentoringResponse;\n\n  @observable mentorDialogVisible = false;\n  @observable menteeDialogVisible = false;\n  @observable reactToApplicantVisible = false;\n  @observable preMentoringDialogVisible = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  showMentorDialog(mentored: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentoringResponse) {\n    this.mentored = mentored;\n    this.mentorDialogVisible = true;\n  }\n\n  @action.bound\n  showMenteeDialog(mentor: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse) {\n    this.mentor = mentor;\n    this.menteeDialogVisible = true;\n  }\n\n  @action.bound\n  showReactToApplicantDialog(mentored: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentoringResponse) {\n    this.mentored = mentored;\n    this.reactToApplicantVisible = true;\n  }\n\n  @action.bound\n  showPreMentoringDialog() {\n    this.preMentoringDialogVisible = true;\n  }\n\n  @action.bound\n  hideMentoringDialog() {\n    this.mentorDialogVisible = false;\n    this.menteeDialogVisible = false;\n    this.reactToApplicantVisible = false;\n    this.preMentoringDialogVisible = false;\n  }\n}\n\nexport const DriverMentoringDialogModelValidators: ValidationDescriptor<\n  DriverMentoringDialogModel,\n  Validators\n> = {};\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Accordion, AccordionItem, GovLink, Typography } from '@cendis/cedr-components';\nimport './CompleteFaq.scss';\n\nexport type FaqItem = {\n  header: string;\n  content: React.ReactNode;\n};\n\ntype CompleteFaqProps = {\n  translate: Translator;\n  items?: FaqItem[];\n};\n\nconst CompleteFaq = observer(({ translate, items }: CompleteFaqProps) => {\n  const defaultItems: FaqItem[] = [\n    {\n      header: translate('faq.header1'),\n      content: (\n        <a data-testid=\"faq-text1\">\n          {translate('faq.text1')}{' '}\n          <GovLink href=\"/support/form\" external target=\"_blank\" testId=\"support-link\">\n            {translate('faq.link-text1')}\n          </GovLink>\n          .\n        </a>\n      ),\n    },\n    {\n      header: translate('faq.header2'),\n      content: (\n        <a data-testid=\"faq-text2\">\n          {translate('faq.text2')}{' '}\n          <GovLink\n            href=\"https://portal.gov.cz/sluzby-vs/zapsani-mentora-pro-sedmnactileteho-ridice-S51826\"\n            external\n            target=\"_blank\"\n            testId=\"mentorship-link\"\n          >\n            {translate('faq.link-text2')}\n          </GovLink>\n          .\n        </a>\n      ),\n    },\n  ];\n\n  const faqItemsToRender = items ?? defaultItems;\n\n  return (\n    <div className=\"complete-faq\">\n      <Typography type=\"headline\" component={'h2'} fontWeight={300} size=\"l\" className=\"mt-4 mb-3\">\n        {translate('faq.title')}\n      </Typography>\n      <Accordion size=\"l\" noBorder className=\"mb-5\">\n        {faqItemsToRender.map((item, index) => (\n          <AccordionItem size=\"l\" key={index} header={item.header} id={`faq-item-${index}`}>\n            {item.content}\n          </AccordionItem>\n        ))}\n      </Accordion>\n    </div>\n  );\n});\n\nexport default CompleteFaq;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport CompleteScreenMentorRegisterViewModel from './CompleteScreenMentorRegisterViewModel';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport './CompleteScreenMentorRegisterView.scss';\nimport LoaderBox from '@components/layout/LoaderBox';\nimport PaymentExpiredModal from '../completeScreenShared/components/PaymentExpiredModal';\nimport { Domain_Contracts_Enums_Crr_RequestPaymentStatus } from 'src/data/crr/api';\nimport CompleteFaq from './CompleteFaq';\n\nconst CompleteScreenMentorRegisterView: View<CompleteScreenMentorRegisterViewModel> = observer(({ vm }) => {\n  const { translate, resultState, navToDriver, refId } = vm;\n\n  const showLoader =\n    (vm.busyWatcher.isBusy &&\n      (!vm.paymentResponse ||\n        vm.paymentResponse.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING)) ||\n    !vm.completeScreenEnabled;\n\n  /*\n1. success\n2. payment not found\n3. payment with error\n4. payment cancel\n5. gateway error\n6. paid with sending failed\n7. payment pending\n8. paid send failed with refund\n9. paid send failed refund failed\n10. send error with refund\n11. send with error refund failed\n12. unknown error\n\n*/\n\n  if (showLoader) {\n    return (\n      <Container>\n        <ScreenContext value={vm}>\n          <div className=\"complete-screen complete-screen-driver\">\n            <LoaderBox type=\"complete-ico mb-3\" />\n            <LoaderBox type=\"line-full mb-3\" />\n            <LoaderBox type=\"box-full\" />\n          </div>\n        </ScreenContext>\n      </Container>\n    );\n  }\n\n  return (\n    <Container className=\"complete-screen-view-licence\">\n      <ScreenContext value={vm}>\n        {/*** 1 */}\n        {resultState === 'success' && (\n          <CompleteScreen\n            withGradientCircle\n            completeDriver\n            onClick={() => navToDriver(true)}\n            title={translate('success.title')}\n            subtitle={translate('success.text')}\n            buttonText={translate('btn-driver')}\n            variant=\"success\"\n            externalIcon={'portCard'}\n          />\n        )}\n        {/*** 2 */}\n        {resultState === 'payment_not_found' && (\n          <CompleteScreen\n            withGradientCircle\n            onClick={() => navToDriver(true)}\n            title={translate('payment-not-found.title')}\n            subtitle={\n              <>\n                <p>\n                  {translate('payment-not-found.text-1')} {refId} {translate('payment-not-found.text-2')}\n                </p>\n              </>\n            }\n            buttonText={translate('btn-driver')}\n            variant=\"primary\"\n            govIcon={'colored/empty-file'}\n          />\n        )}\n        {/*** 3 */}\n        {resultState === 'payment_with_error' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-support')}\n            onClick={() =>\n              vm.navToSupport({\n                subject: 'Platba proběhla s chybou',\n                text:\n                  'Platbu se podařilo dokončit, ale nastala při ní neočekávaná chyba. Číslo platby (RefID): ' +\n                  refId,\n              })\n            }\n            title={translate('payment-with-error.title')}\n            subtitle={\n              <>\n                <p>{translate('payment-with-error.text-1')}</p>\n                <p className=\"mt-2\">\n                  {translate('payment-with-error.text-2')} {refId}\n                </p>\n              </>\n            }\n            buttonRightIcon=\"components/box-arrow-up-right\"\n            variant=\"error\"\n            externalIcon={'error'}\n          />\n        )}\n\n        {/*** 4 */}\n        {resultState === 'payment_cancel' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-retry-payment')}\n            onClick={vm.processPayment}\n            title={translate('payment-cancel.title')}\n            subtitle={\n              <>\n                <p>{translate('payment-cancel.text-1')}</p>\n                <p className=\"mt-2\">\n                  {translate('payment-cancel.text-2')}{' '}\n                  <strong className=\"bold\">\n                    {translate('payment-cancel.text-3')} {vm.paymentDeadlineFormatted}\n                  </strong>\n                  {translate('payment-cancel.text-4')}{' '}\n                </p>\n              </>\n            }\n            variant=\"error\"\n            externalIcon={'error'}\n          />\n        )}\n\n        {/*** 5 */}\n        {resultState === 'gateway_error' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-reload-page')}\n            onClick={vm.reloadPage}\n            title={translate('gateway-error.title')}\n            subtitle={\n              <>\n                <p>{translate('gateway-error.text-1')}</p>\n                <p className=\"mt-2\">{translate('gateway-error.text-2')} </p>\n                <p className=\"mt-2\">\n                  {translate('gateway-error.text-3')} {refId}\n                </p>\n              </>\n            }\n            secondaryButtonText={translate('btn-support')}\n            secondaryOnClick={() =>\n              vm.navToSupport({\n                subject: 'Platební brána přestala odpovídat',\n                text: 'Při spojení s platební bránou došlo k chybě. Číslo platby (RefID): ' + refId,\n              })\n            }\n            secondaryButtonRightIcon={'components/box-arrow-up-right'}\n            variant=\"error\"\n            externalIcon={'gatewayError'}\n          />\n        )}\n\n        {/*** 6 */}\n        {resultState === 'paid_with_sending_failed' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-driver')}\n            onClick={() => navToDriver(true)}\n            title={translate('send-error.title')}\n            subtitle={\n              <>\n                <p>\n                  <strong className=\"bold\">{translate('send-error.text-1')}</strong>{' '}\n                  {translate('send-error.text-2')}{' '}\n                </p>\n              </>\n            }\n            variant=\"warning\"\n            externalIcon={'gatewayError'}\n          />\n        )}\n\n        {/*** 7 */}\n        {resultState === 'payment_pending' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-pay')}\n            onClick={vm.processPayment}\n            title={translate('payment-pending.title')}\n            subtitle={\n              <>\n                <p>{translate('payment-pending.text-1')}</p>\n                <p>\n                  {translate('payment-pending.text-2')}\n                  <strong className=\"bold\">\n                    {' '}\n                    {translate('payment-pending.text-3')} {vm.paymentDeadlineFormatted}{' '}\n                  </strong>{' '}\n                  {translate('payment-pending.text-4')}\n                </p>\n              </>\n            }\n            variant=\"warning\"\n            externalIcon={'waitingClock'}\n          />\n        )}\n\n        {/*** 8 */}\n        {resultState === 'paid_send_failed_with_refund' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-driver')}\n            onClick={() => navToDriver(true)}\n            title={translate('paid-send-with-refund.title')}\n            subtitle={\n              <>\n                <p>{translate('paid-send-with-refund.text-1')}</p>\n                <p>\n                  <strong className=\"bold\"> {translate('paid-send-with-refund.text-2')}</strong>\n                  {translate('paid-send-with-refund.text-3')}\n                </p>\n              </>\n            }\n            variant=\"error\"\n            externalIcon={'moneyBack'}\n          />\n        )}\n\n        {/*** 9 */}\n        {resultState === 'paid_send_failed_refund_failed' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-support')}\n            buttonRightIcon=\"components/box-arrow-up-right\"\n            onClick={() =>\n              vm.navToSupport({\n                subject: 'Při odesílání došlo k chybě',\n                text:\n                  'Vaše žádost byla zaplacená, ale nepodařilo se jí odeslat. Platbu se nepodařilo vrátit na účet, kvůli technické chybě. Číslo refundace platby: ' +\n                  refId,\n              })\n            }\n            title={translate('paid-send-failed-refund-failed.title')}\n            subtitle={\n              <>\n                <p>{translate('paid-send-failed-refund-failed.text-1')}</p>\n                <p>\n                  <strong className=\"bold\"> {translate('paid-send-failed-refund-failed.text-2')}</strong>{' '}\n                  {translate('paid-send-failed-refund-failed.text-3')}\n                </p>\n                <p>\n                  {translate('paid-send-failed-refund-failed.text-4')} {refId}\n                </p>\n              </>\n            }\n            variant=\"error\"\n            externalIcon={'gatewayError'}\n          />\n        )}\n\n        {/*** 10 */}\n        {resultState === 'send_error_with_refund' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-driver')}\n            onClick={() => navToDriver(false)}\n            title={translate('send-error-with-refund.title')}\n            subtitle={\n              <>\n                <p>{translate('send-error-with-refund.text-1')}</p>\n                <p>\n                  <strong className=\"bold\"> {translate('send-error-with-refund.text-2')}</strong>\n                  {translate('send-error-with-refund.text-3')}\n                </p>\n              </>\n            }\n            variant=\"error\"\n            externalIcon={'moneyBack'}\n          />\n        )}\n\n        {/*** 11 */}\n        {resultState === 'send_with_error_refund_failed' && (\n          <CompleteScreen\n            withGradientCircle\n            buttonText={translate('btn-support')}\n            buttonRightIcon=\"components/box-arrow-up-right\"\n            onClick={() =>\n              vm.navToSupport({\n                subject: 'Nepodařilo se zapsat mentory',\n                text:\n                  'Při zápisu mentorů došlo k chybě a nebyli proto zapsáni. Platbu se nepodařilo vrátit na účet, kvůli technické chybě. Číslo refundace platby: ' +\n                  refId,\n              })\n            }\n            title={translate('send-with-error-refund-failed.title')}\n            subtitle={\n              <>\n                <p>{translate('send-with-error-refund-failed.text-1')}</p>\n                <p>\n                  <strong className=\"bold\"> {translate('send-with-error-refund-failed.text-2')}</strong>{' '}\n                  {translate('send-with-error-refund-failed.text-3')}\n                </p>\n                <p>\n                  {translate('send-with-error-refund-failed.text-4')} {refId}\n                </p>\n              </>\n            }\n            variant=\"error\"\n            externalIcon={'gatewayError'}\n          />\n        )}\n\n        <PaymentExpiredModal\n          translate={vm.translate}\n          onButtonClick={navToDriver}\n          onClose={vm.closePaymentExpiredModal}\n          isOpen={vm.showExpiredModal || vm.showPaymentExpiredModal}\n        />\n\n        <CompleteFaq translate={translate} />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default CompleteScreenMentorRegisterView;\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport ApiService from 'src/services/ApiService';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport CompleteScreenMentorRegisterView from './CompleteScreenMentorRegisterView';\nimport DriverService from 'src/services/driver/DriverService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\nimport ErrorService from 'src/services/ErrorService';\nimport SessionService from 'src/services/SessionService';\nimport { ToastService } from '@cendis/cedr-components';\nimport SupportFormViewModel from 'src/app/page/supportForm/SupportFormViewModel';\nimport {\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_CheckPaymentStatusResponse,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus,\n  Domain_Contracts_Enums_Crr_RequestPaymentStatus,\n} from 'src/data/crr/api';\nimport AuthService from 'src/services/AuthService';\nimport DateUtils from 'src/utils/DateUtils';\nimport ErrorPageViewModel from 'src/app/error/errorPage/ErrorPageViewModel';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\nexport type ResultStateType =\n  | 'success'\n  | 'payment_not_found'\n  | 'payment_with_error'\n  | 'payment_cancel'\n  | 'gateway_error'\n  | 'paid_with_sending_failed'\n  | 'payment_pending'\n  | 'paid_send_failed_with_refund'\n  | 'paid_send_failed_refund_failed'\n  | 'send_error_with_refund'\n  | 'send_with_error_refund_failed';\n\nexport type navToSupportProps = {\n  subject?: string;\n  text?: string;\n};\n\n@AddDefaultView(CompleteScreenMentorRegisterView)\n@Service()\nexport default class CompleteScreenMentorRegisterViewModel extends BaseScreen {\n  validation = new ValidationContext();\n  @observable busyWatcher = new BusyWatcher();\n  @observable paymentBusyWatcher = new BusyWatcher();\n  @observable requestId: string = '';\n  @observable transactionId = '';\n  @observable refId = '';\n  @observable errorMessage = '';\n  @observable paymentUrl: string | null = null;\n  @observable completeScreenEnabled = false;\n  @observable isGatewayError = false;\n  @observable isPaymentError = false;\n  @observable isNotFoundError = false;\n  @observable showPaymentExpiredModal = false;\n  @observable paymentResponse:\n    | Crr_WebApi_Responses_V1_FirstTimeApplicant_CheckPaymentStatusResponse\n    | undefined = undefined;\n\n  get pathNode(): string {\n    return 'complete-register';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed\n  get showExpiredModal() {\n    return (\n      this.paymentResponse?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING &&\n      this.isPaymentExpired &&\n      !this.showPaymentExpiredModal\n    );\n  }\n\n  @computed\n  get isPaymentExpired() {\n    if (\n      this.paymentResponse &&\n      'paymentStatus' in this.paymentResponse &&\n      this.paymentResponse.isPaymentExpired === false\n    ) {\n      return false;\n    } else if (\n      this.paymentResponse &&\n      'paymentStatus' in this.paymentResponse &&\n      this.paymentResponse.expiresAt\n    ) {\n      const now = new Date();\n      const deadline = new Date(this.paymentResponse.expiresAt);\n      return now >= deadline;\n    }\n    return false;\n  }\n\n  @computed\n  get paymentDeadlineFormatted() {\n    if (this.paymentResponse && 'paymentStatus' in this.paymentResponse && this.paymentResponse.expiresAt) {\n      return DateUtils.dateFormatCz(this.paymentResponse.expiresAt, true);\n    }\n\n    return '';\n  }\n\n  @computed\n  get resultState(): ResultStateType {\n    const { paymentResponse, isNotFoundError, isGatewayError } = this;\n\n    if (isNotFoundError) return 'payment_not_found'; //2) payment_not_found\n    if (isGatewayError) return 'gateway_error';\n    if (!paymentResponse) return 'payment_not_found'; // fallback\n\n    const { paymentStatus, applicantStatus, refundStatus } = paymentResponse;\n\n    // 3) payment_with_error\n    if (paymentStatus === 'Failed') return 'payment_with_error';\n\n    // 4) payment_cancel\n    if (paymentStatus === 'Cancelled') return 'payment_cancel';\n\n    // 7) payment_pending\n    if (paymentStatus === 'Pending') return 'payment_pending';\n\n    // 1) success\n    if (paymentStatus === 'Payed' && (applicantStatus === 'Sent' || applicantStatus === 'Finished')) {\n      return 'success';\n    }\n\n    // 6) paid_with_sending_failed\n    if (paymentStatus === 'Payed' && applicantStatus === 'ReadyToSend') {\n      return 'paid_with_sending_failed';\n    }\n\n    // 8) paid_send_failed_with_refund\n    if (\n      paymentStatus === 'Payed' &&\n      (applicantStatus === 'FailedToSend' || applicantStatus === 'SentWithError') &&\n      refundStatus === 'Authorized'\n    ) {\n      return 'paid_send_failed_with_refund';\n    }\n\n    // 9) paid_send_failed_refund_failed\n    if (\n      paymentStatus === 'Payed' &&\n      (applicantStatus === 'FailedToSend' || applicantStatus === 'SentWithError') &&\n      refundStatus === 'Error'\n    ) {\n      return 'paid_send_failed_refund_failed';\n    }\n\n    // 10) send_error_with_refund\n    if (applicantStatus === 'SentWithError' && refundStatus == null) {\n      return 'send_error_with_refund';\n    }\n\n    // 11) send_with_error_refund_failed\n    if (applicantStatus === 'SentWithError' && refundStatus === 'Error') {\n      return 'send_with_error_refund_failed';\n    }\n\n    // fallback — nemělo by nikdy nastat\n    return 'gateway_error';\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() private authService: AuthService,\n    @Inject() public driverService: DriverService,\n    @Inject() public toastService: ToastService,\n    @Inject() public sessionService: SessionService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound\n  async activate() {\n    const { refId, secureCode } = parseQueryParams(window.location.search);\n    if ((refId || secureCode) && !this.refId) {\n      this.notifyNavigation();\n    }\n    await this.loadPaymentStatus();\n  }\n\n  deactivate() {\n    this.reset();\n    if (this.refId) {\n      this.localStorageService.remove(`request_type_${this.refId}`);\n    }\n  }\n\n  @action.bound\n  reset() {\n    this.transactionId = '';\n    this.refId = '';\n    this.errorMessage = '';\n    this.paymentUrl = null;\n    this.isGatewayError = false;\n    this.isPaymentError = false;\n    this.showPaymentExpiredModal = false;\n    this.isNotFoundError = false;\n    this.completeScreenEnabled = false;\n  }\n\n  notifyNavigation() {\n    const { refId, id } = parseQueryParams(window.location.search);\n    this.refId = refId || '';\n    this.transactionId = id || '';\n\n    if (!this.refId) {\n      this.refId = this.sessionService.get('refId') || '';\n    }\n\n    this.sessionService.remove('refId');\n    this.sessionService.remove('transactionId');\n  }\n\n  @Watch<CompleteScreenMentorRegisterViewModel>((s) => s.busyWatcher)\n  @action.bound\n  private async loadPaymentStatus() {\n    this.isGatewayError = false;\n    this.isNotFoundError = false;\n\n    try {\n      if (!this.refId) {\n        runInAction(() => {\n          this.paymentResponse = undefined;\n        });\n        return;\n      }\n\n      const response = await this.getPaymentStatusWithRetry(this.refId);\n\n      if (response) {\n        runInAction(() => {\n          this.paymentResponse = response;\n        });\n      }\n    } catch (error: any) {\n      // 404 = payment_not_found\n      if (error?.status === 404) {\n        runInAction(() => {\n          this.isNotFoundError = true;\n          this.paymentResponse = undefined;\n        });\n        return;\n      }\n\n      //  BAD_PAYMENT_DATA\n      const isCancelledError =\n        error?.status === 400 &&\n        (error.body?.type === 'BAD_PAYMENT_DATA' || error.body?.title?.includes('Cancelled'));\n\n      if (isCancelledError) {\n        runInAction(() => {\n          this.paymentResponse = {\n            applicantId: '',\n            paymentStatus: Domain_Contracts_Enums_Crr_RequestPaymentStatus.CANCELLED,\n            applicantStatus:\n              Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.CANCELLED,\n            transactionCreatedAt: '',\n            expiresAt: '',\n            paymentRefId: null,\n          };\n        });\n        return;\n      }\n\n      if (error?.status === 400 || error?.status === 500) {\n        this.navigator(ErrorPageViewModel).go();\n      }\n\n      // Gateway error\n      runInAction(() => {\n        this.isGatewayError = true;\n      });\n\n      this.errorService.logCatchError(error, 'driver completeScreenMentorRegister', 'loadPaymentStatus');\n      this.showErrorToast(this.translate('payment.loadFailed'));\n    } finally {\n      this.completeScreenEnabled = true;\n    }\n  }\n\n  private async getPaymentStatusWithRetry(\n    refId: string,\n    retries: number = 6,\n    delayMs: number = 4000\n  ): Promise<Crr_WebApi_Responses_V1_FirstTimeApplicant_CheckPaymentStatusResponse | undefined> {\n    for (let attempt = 0; attempt < retries; attempt++) {\n      const response =\n        await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsPaymentStatus(\n          refId\n        );\n      const { paymentStatus, applicantStatus } = response;\n\n      // Pokud platba není zaplacena → nemá smysl čekat na applicantStatus\n      if (paymentStatus !== Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED) {\n        return response;\n      }\n\n      // Pokud platba je zaplacena a applicantStatus už není WAITING_FOR_PAYMENT → konec\n      if (\n        applicantStatus !==\n        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.WAITING_FOR_PAYMENT\n      ) {\n        return response;\n      }\n\n      // Pokud je stále WAITING_FOR_PAYMENT → počkej a zkus znovu\n      if (attempt < retries - 1) {\n        await new Promise((resolve) => setTimeout(resolve, delayMs));\n      } else {\n        // poslední pokus – vrátit, co přišlo\n        return response;\n      }\n    }\n\n    return undefined;\n  }\n\n  @Watch<CompleteScreenMentorRegisterViewModel>((s) => s.paymentBusyWatcher)\n  @action.bound\n  async processPayment() {\n    try {\n      if (!this.refId) {\n        this.completeScreenEnabled = true;\n        return;\n      }\n\n      if (this.isPaymentExpired) {\n        this.showPaymentExpiredModal = true;\n        this.completeScreenEnabled = true;\n        return;\n      }\n\n      if (this.paymentUrl) {\n        window.location.href = this.paymentUrl;\n        return;\n      }\n\n      if (this.refId) {\n        const response =\n          await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsPayments(\n            this.refId\n          );\n\n        const gatewayUrl = response.gatewayUrl;\n        if (gatewayUrl) {\n          this.paymentUrl = gatewayUrl;\n          await this.authService.refreshCurrentToken();\n          window.location.href = gatewayUrl;\n          return;\n        }\n      }\n    } catch (error: any) {\n      if (error?.body?.type === 'PAYMENT_EXPIRED') {\n        this.errorService.logCatchError(\n          error,\n          'driver - completeScreenMentorRegister',\n          'processPayment - this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsPayments, type PAYMENT_EXPIRED'\n        );\n        this.showPaymentExpiredModal = true;\n      } else {\n        this.isPaymentError = true;\n      }\n    }\n\n    this.completeScreenEnabled = true;\n  }\n\n  @action.bound\n  @Watch<CompleteScreenMentorRegisterViewModel>((s) => s.busyWatcher)\n  async navToDriver(scrollToContent?: boolean) {\n    await this.driverService.loadDataNg(true);\n    this.navigator(DriverNgViewModel).go();\n\n    if (scrollToContent) {\n      const interval = setInterval(() => {\n        window.location.hash = 'prehled-podanych-zadosti';\n        const el = document.getElementById('prehled-podanych-zadosti');\n        if (el) {\n          clearInterval(interval);\n        }\n      }, 50);\n    }\n  }\n\n  navToSupport({ subject, text }: navToSupportProps) {\n    this.navigator(SupportFormViewModel).go({\n      subject: subject ?? '',\n      text: text ?? '',\n    });\n  }\n\n  @action.bound\n  openPaymentExpiredModal() {\n    this.showPaymentExpiredModal = true;\n  }\n\n  @action.bound\n  closePaymentExpiredModal() {\n    this.showPaymentExpiredModal = false;\n  }\n\n  @action.bound\n  reloadPage() {\n    window.location.assign(window.location.pathname + window.location.search);\n  }\n\n  @action.bound\n  private showErrorToast(message: string) {\n    this.toastService.addToast('payment-error', message, {\n      color: 'error',\n      icon: 'components/exclamation-triangle-fill',\n      animateDirection: 'forward',\n    });\n  }\n\n  translate = translate('mentoring-register.complete', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction, when } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport ApiService from '../../services/ApiService';\nimport DriverService from '../../services/driver/DriverService';\nimport NotificationViewModel from '../notificationAndContact/NotificationViewModel';\nimport DriverNgView from './DriverNgView';\nimport FilterSortPaginationContext from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContext';\nimport DriverBanViewModel from './driverBan/DriverBanViewModel';\nimport PdfUtils from '../../utils/PdfUtils';\nimport { ToastService } from '@cendis/cedr-components';\nimport DriverLicenceViewModel from './driverLicence/DriverLicenceViewModel';\nimport RequestDetailModel, { RequestDriverTypes } from './requestDetail/RequestDetailModel';\nimport DriverLicenceApplicationViewModel from './driverLicence/driverLicenceApplication/DriverLicenceApplicationViewModel';\nimport DriverDigitalTachographViewModel from './driverLicence/driverDigitalTachograph/DriverDigitalTachographViewModel';\nimport PaymentGatewayOutageViewModel from './driverLicence/paymentGatewayOutage/PaymentGatewayOutageViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport DriverMentoringViewModel from './driverLicence/driverMentoring/DriverMentoringViewModel';\nimport {\n  type Crr_WebApi_Responses_V1_FirstTimeApplicant_ConsentResponse,\n  type Crr_WebApi_Responses_V1_FirstTimeApplicant_MentoringResponse,\n  type Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse,\n  Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse,\n  Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse,\n  Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState,\n} from 'src/data/crr/api';\nimport ApplicationService from './driverLicence/driverMentoring/ApplicationService';\nimport SelectMentorService from './driverLicence/driverMentoring/01_SelectMentor/SelectMentorService';\nimport CompleteScreenMentorViewModel from './driverLicence/CompleteScreenMentor/CompleteScreenMentorViewModel';\nimport ConsentDialogModel, {\n  GroupedPersonToConsent,\n  PersonToConsent,\n} from './shared/models/ConsentDialogModel';\nimport DriverMentoringRegisterViewModel from './driverLicence/driverMentoringRegister/DriverMentoringRegisterViewModel';\nimport DriverMentoringDialogModel from './shared/models/DriverMentoringDialogModel';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport CompleteScreenMentorRegisterViewModel from './driverLicence/CompleteScreenMentorRegister/CompleteScreenMentorRegisterViewModel';\nimport OutageErrorViewModel from './driverLicence/OutageError/OutageErrorViewModel';\nimport { Authorize } from '../../decorators/Authorize';\nimport * as apiV3 from 'src/data/crr/apiV3';\nimport { Crr_WebApi_Responses_V3_Isdt_RequestResponse } from 'src/data/crr/apiV3';\nimport { UserService } from 'src/services/UserService';\n\n@AddDefaultView(DriverNgView)\n@AddChildrenView()\n@Service()\nexport default class DriverNgViewModel extends BaseScreen {\n  tableContext = new FilterSortPaginationContext<\n    | (Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse & {\n        $type?: string;\n      })\n    | (Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse & {\n        $type?: string;\n      })\n    | (Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse & {\n        $type?: string;\n      })\n    | Crr_WebApi_Responses_V3_Isdt_RequestResponse\n  >();\n  consentsTableContext =\n    new FilterSortPaginationContext<Crr_WebApi_Responses_V1_FirstTimeApplicant_ConsentResponse>();\n  mentorsTableContext =\n    new FilterSortPaginationContext<Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse>();\n  mentoringsTableContext =\n    new FilterSortPaginationContext<Crr_WebApi_Responses_V1_FirstTimeApplicant_MentoringResponse>();\n  notificationBusyWatcher = new BusyWatcher();\n  consentDialogBusyWatcher = new BusyWatcher();\n  editConsentDialogBusyWatcher = new BusyWatcher();\n  driverMentoringDialogBusyWatcher = new BusyWatcher();\n  validation = new ValidationContext();\n  downloadBusyWatcher = new BusyWatcher();\n  @observable combinedApplicationVisible = false;\n  @observable consentDialog = new ConsentDialogModel();\n  @observable mentoringsDialog = new DriverMentoringDialogModel();\n  @observable autorityNameFromRequests: string | undefined = undefined;\n\n  get pathNode(): string {\n    return 'driver';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get isSeventeenYearsOld() {\n    return this.selectMentorService.isSeventeenYearsOld;\n  }\n\n  get isFifteenSixteenYearsOld() {\n    return this.selectMentorService.isFifteenYearsOld || this.selectMentorService.isSixteenYearsOld;\n  }\n  get isEighteenOrOlderYearsOld() {\n    return this.selectMentorService.isEighteenOrOlderYearsOld;\n  }\n\n  get isValidatedRepresentativeCount() {\n    return this.selectMentorService.validateRepresentativeCount;\n  }\n\n  get mentorsCount() {\n    if (\n      this.selectMentorService.model.validMentors.length > 0 ||\n      this.selectMentorService.model.inValidMentors.length > 0\n    ) {\n      return this.selectMentorService.model.validMentors.length;\n    }\n    return this.selectMentorService.model.mentors.length;\n  }\n\n  @computed\n  get representativeCount() {\n    return this.selectMentorService.model.representatives.length;\n  }\n\n  @computed\n  get totalPersonsCount() {\n    return this.driverService.driverMentors?.length ?? 0;\n  }\n\n  @computed\n  get writtenMentorsCount() {\n    return (\n      this.driverService.driverMentors?.filter(\n        (mentor) => mentor.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN\n      ).length ?? 0\n    );\n  }\n\n  @computed\n  get hasMaxPersons() {\n    return this.totalPersonsCount >= 4;\n  }\n\n  @computed\n  get hasMaxWrittenMentors() {\n    return this.writtenMentorsCount >= 4;\n  }\n\n  @computed\n  get representativeBeforeValidationCount() {\n    return this.selectMentorService.representativeBeforeValidationCount;\n  }\n\n  get canConsentAll() {\n    return (\n      this.authorizationService.conditions.CRR_DRIVING_CARD_CONSENTS_EDIT &&\n      this.driverService.driverConsents?.some(\n        (c) =>\n          c.decisionStatus ===\n          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus.PENDING\n      )\n    );\n  }\n\n  get registerMentorCount() {\n    return this.driverMentoringRegisterViewModel.applicationService.selectMentorService.registerMentorCount;\n  }\n\n  get mentoredIsAllowedEdit() {\n    return this.authorizationService.conditions.CRR_DRIVING_CARD_MENTORS_EDIT;\n  }\n\n  get registerMentorEnabled() {\n    const validDrivingLicenceB = this.driverService.drivingLicences?.drivingLicencePermissions.some((p) => {\n      const today = new Date().toDateString();\n      const validFrom = new Date(p.validFrom).toDateString();\n      const validTo = p.validTo ? new Date(p.validTo).toDateString() : null;\n\n      return (\n        p.roGroup === apiV3.Domain_Contracts_Enums_RoGroup.B &&\n        new Date(validFrom) <= new Date(today) &&\n        (!validTo || new Date(validTo) >= new Date(today))\n      );\n    });\n    return this.mentoredIsAllowedEdit && this.isSeventeenYearsOld && validDrivingLicenceB;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public authorizationService: AuthorizationService,\n    @Inject() public driverBanViewModel: DriverBanViewModel,\n    @Inject() public applicationListDetailModel: RequestDetailModel,\n    @Inject() public driverService: DriverService,\n    @Inject() public toastService: ToastService,\n    @Inject() public driverLicenceViewModel: DriverLicenceViewModel,\n    @Inject() public paymentGatewayOutageViewModel: PaymentGatewayOutageViewModel,\n    @Inject() public driverMentoringViewModel: DriverMentoringViewModel,\n    @Inject() private requestDetailModel: RequestDetailModel,\n    @Inject() private mentorApplicationService: ApplicationService,\n    @Inject() private selectMentorService: SelectMentorService,\n    @Inject() private completeScreenMentorViewModel: CompleteScreenMentorViewModel,\n    @Inject() public errorService: ErrorService,\n    @Inject() public driverMentoringRegisterViewModel: DriverMentoringRegisterViewModel,\n    @Inject() private completeScreenMentorRegisterView: CompleteScreenMentorRegisterViewModel,\n    @Inject() private outageErrorViewModel: OutageErrorViewModel,\n    @Inject() private userService: UserService\n    //@Inject() public pickUpPointService: PickUpPointService\n  ) {\n    super();\n\n    makeObservable(this);\n    this.children.push(driverBanViewModel);\n    this.children.push(driverLicenceViewModel);\n    this.children.push(applicationListDetailModel);\n    this.children.push(paymentGatewayOutageViewModel);\n    this.children.push(driverMentoringViewModel);\n    this.children.push(completeScreenMentorViewModel);\n    this.children.push(driverMentoringRegisterViewModel);\n    this.children.push(completeScreenMentorRegisterView);\n    this.children.push(outageErrorViewModel);\n  }\n\n  private scrollToHash = () => {\n    const hash = window.location.hash;\n    if (!hash) return;\n    const id = hash.substring(1);\n    const element = document.getElementById(id);\n    if (element) {\n      element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }\n  };\n\n  async notifyNavigation(): Promise<void> {\n    await this.userService.initUserData();\n    await this.driverService.loadDataNg();\n    if (this.driverService.driverMentors) {\n      await this.mentorApplicationService.getMentors(this.driverService.driverMentors);\n      await this.driverMentoringRegisterViewModel.applicationService.getMentorsToRegister(\n        false,\n        this.driverService.driverMentors\n      );\n    }\n    await this.mentorApplicationService.getRepresentatives(false);\n\n    //nav to hash\n    window.addEventListener('hashchange', this.scrollToHash);\n    setTimeout(() => this.scrollToHash(), 300);\n\n    if (!this.driverService.driverInfo) return;\n  }\n\n  async activate() {\n    this.driverService.clearCache();\n  }\n\n  @action.bound\n  findAutorityFromRequests(requestId: string) {\n    if (!requestId) return;\n\n    const request = this.driverService.driverRequests?.find(\n      (r): r is Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse =>\n        r.requestDatabaseId === requestId && 'issuingAuthority' in r\n    );\n    if (!request) return;\n    const authorityType = request?.issuingAuthority?.authorityType;\n\n    if (authorityType) {\n      this.autorityNameFromRequests = `${authorityType} ${request?.issuingAuthority?.headquarters}`;\n    }\n\n    /*\n    in case to find address\n    const code = request?.issuingAuthority?.code;\n    await this.pickUpPointService.getPickUpPlaces();\n    const place = this.pickUpPointService.pickupPlaces?.find((p) => p.code === code);\n    if (place?.name) { this.autorityNameFromRequests = place.address ?? ''; }\n    */\n  }\n\n  deactivate() {\n    this.tableContext = new FilterSortPaginationContext();\n    this.consentsTableContext = new FilterSortPaginationContext();\n    this.mentorsTableContext = new FilterSortPaginationContext();\n    this.consentDialog = new ConsentDialogModel();\n    this.mentoringsDialog = new DriverMentoringDialogModel();\n    this.driverService.clearCache();\n    this.combinedApplicationVisible = false;\n    this.selectMentorService.reset();\n  }\n\n  @action.bound\n  @Authorize([(x) => x.CRR_DRIVING_CARD_CONSENTS, (x) => x.FO])\n  async getMentorsByConsentAll() {\n    if (!this.driverService.driverConsents) return;\n\n    const pendingConsents = this.driverService.driverConsents.filter(\n      (c) =>\n        c.decisionStatus === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus.PENDING\n    );\n\n    if (!pendingConsents.length) return;\n\n    const grouped = Object.values(\n      pendingConsents.reduce(\n        (acc, p) => {\n          const key = `${p.firstName}_${p.surname}_${p.dateOfBirth}`;\n          if (!acc[key]) {\n            acc[key] = {\n              firstName: p.firstName ?? '',\n              surname: p.surname ?? '',\n              dateOfBirth: p.dateOfBirth ?? '',\n              consents: [] as PersonToConsent[],\n            };\n          }\n          acc[key].consents.push({\n            firstName: p.firstName ?? '',\n            surname: p.surname ?? '',\n            consentType: p.consentType,\n            dateOfBirth: p.dateOfBirth,\n            consentId: p.consentId,\n            consentPerson: [],\n          });\n          return acc;\n        },\n        {} as Record<string, GroupedPersonToConsent>\n      )\n    );\n\n    const mentorConsents = pendingConsents.filter(\n      (c) =>\n        c.consentType ===\n        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.LEGAL_GUARDIAN_WITH_MENTORING\n    );\n\n    //load mentors\n    if (mentorConsents.length) {\n      try {\n        const data =\n          await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsGetMentorsByConsents(\n            {\n              consentIds: mentorConsents.map((c) => c.consentId),\n            }\n          );\n\n        if (data?.length) {\n          // add mentors to consent\n          for (const group of grouped) {\n            for (const consent of group.consents) {\n              if (\n                consent.consentType ===\n                Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.LEGAL_GUARDIAN_WITH_MENTORING\n              ) {\n                const mentor = data.find((d) => d.consentId === consent.consentId);\n                if (mentor) {\n                  consent.consentPerson?.push({\n                    firstName: mentor.firstName ?? '',\n                    surname: mentor.surname ?? '',\n                    dateOfBirth: mentor.dateOfBirth ?? '',\n                  });\n                }\n              }\n            }\n          }\n        }\n      } catch (e) {\n        console.error('Error loading mentors for grouped consents', e);\n      }\n    }\n\n    runInAction(() => {\n      this.consentDialog.groupedPerson = grouped;\n      this.consentDialog.showConsentDialog();\n      this.consentDialog.consentAllButton = true;\n    });\n  }\n\n  @action.bound\n  displayTitle = (x: any) => {\n    if ('reasonResponse' in x) {\n      return x.reasonResponse?.codeDescription ?? x.reasonResponse?.name ?? '';\n    }\n    if (x.$type === 'FTA') {\n      return this.translate('requests.detail.fta');\n    }\n    if (x.$type === 'ISDT') {\n      return this.translate('requests.detail.tachograph');\n    }\n  };\n\n  @action.bound\n  displayStatus = (x: any) => {\n    if (x.$type === 'FTA') {\n      const data = this.applicationListDetailModel.FtaStateStatusText(\n        x.$type,\n        x.status as Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus\n      );\n\n      return data;\n    }\n\n    return x.status?.name;\n  };\n\n  @action.bound\n  reqToDetailType = (x: any) => {\n    if (x.$type === 'FTA') {\n      return RequestDriverTypes.FTA;\n    }\n    if (x.$type === 'ISDT') {\n      return RequestDriverTypes.ISDT;\n    }\n\n    return RequestDriverTypes.CRR;\n  };\n\n  @action.bound\n  @Watch<DriverNgViewModel>((s) => s.consentDialogBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_CONSENTS, (x) => x.FO])\n  async getMentorByConsent(person: Crr_WebApi_Responses_V1_FirstTimeApplicant_ConsentResponse) {\n    if (!person.consentId) return;\n\n    const personToConsent: PersonToConsent = {\n      firstName: person.firstName ?? '',\n      surname: person.surname ?? '',\n      consentType: person.consentType,\n      dateOfBirth: person.dateOfBirth,\n      consentId: person.consentId,\n      consentPerson: [],\n    };\n\n    if (\n      person.consentType ===\n      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.LEGAL_GUARDIAN_WITH_MENTORING\n    ) {\n      try {\n        //load mentor\n        const data =\n          await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsGetMentorsByConsents(\n            {\n              consentIds: [person.consentId],\n            }\n          );\n\n        if (data && data.length > 0) {\n          personToConsent.consentPerson = data.map((d) => ({\n            firstName: d.firstName ?? '',\n            surname: d.surname ?? '',\n            dateOfBirth: d.dateOfBirth ?? '',\n          }));\n        }\n      } catch (e: any) {\n        console.error(e);\n      }\n    }\n    const groupedPerson: GroupedPersonToConsent = {\n      firstName: person.firstName ?? '',\n      surname: person.surname ?? '',\n      dateOfBirth: person.dateOfBirth ?? '',\n      consents: [personToConsent],\n    };\n\n    runInAction(() => {\n      this.consentDialog.groupedPerson = [groupedPerson];\n      this.consentDialog.showConsentDialog();\n      this.consentDialog.consentAllButton = false;\n    });\n  }\n\n  @action.bound\n  @Watch<DriverNgViewModel>((s) => s.editConsentDialogBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_CONSENTS_EDIT, (x) => x.FO])\n  async editConsentFromDialog(approved: boolean) {\n    const totalConsents = this.consentDialog.groupedPerson.flatMap((g) => g.consents).length;\n    const singleConsentReaction = totalConsents === 1;\n\n    try {\n      if (totalConsents > 1) {\n        // multiple consents\n        const consentIds = this.consentDialog.groupedPerson.flatMap((g) =>\n          g.consents.map((c) => c.consentId)\n        );\n        const requestBody = { consentIds, approved };\n        await this.apiService.crrApi.consents.putPdApiCrrV1FirstTimeApplicantsConsents(requestBody);\n      } else {\n        // single consent\n        const constnt_id = this.consentDialog.groupedPerson[0].consents[0].consentId;\n        const requestBody = { approved };\n        await this.apiService.crrApi.consents.putPdApiCrrV1FirstTimeApplicantsConsents1(\n          constnt_id,\n          requestBody\n        );\n      }\n      if (approved) {\n        this.toastService.addToast(\n          'consentSuccesAdd',\n          this.translate(\n            `consentDialog.toast.consentAddSuccessMessage${singleConsentReaction ? '' : 'Grouped'}`\n          ),\n          {\n            color: 'success',\n            icon: 'components/check-lg',\n            animateDirection: 'forward',\n          }\n        );\n      } else {\n        this.toastService.addToast(\n          'consentSuccesRemove',\n          this.translate(\n            `consentDialog.toast.consentRemoveSuccessMessage${singleConsentReaction ? '' : 'Grouped'}`\n          ),\n          {\n            color: 'success',\n            icon: 'components/check-lg',\n            animateDirection: 'forward',\n          }\n        );\n      }\n    } catch (e: any) {\n      if (approved) {\n        this.toastService.addToast(\n          'consentErrorAdd',\n          this.translate(\n            `consentDialog.toast.consentAddErrorMessage${singleConsentReaction ? '' : 'Grouped'}`\n          ),\n          {\n            color: 'error',\n            icon: 'components/exclamation-triangle-fill',\n            animateDirection: 'forward',\n          }\n        );\n      } else {\n        this.toastService.addToast(\n          'consentErrorRemove',\n          this.translate(\n            `consentDialog.toast.consentRemoveErrorMessage${singleConsentReaction ? '' : 'Grouped'}`\n          ),\n          {\n            color: 'error',\n            icon: 'components/exclamation-triangle-fill',\n            animateDirection: 'forward',\n          }\n        );\n      }\n    } finally {\n      this.consentDialog.hideConsentDialog();\n      this.consentDialog.clearConsentPersons();\n      this.driverService.getDriverConsents(true);\n      this.driverService.getDriverMentorings(true);\n    }\n  }\n\n  @action.bound\n  navigateToDetail(id: string | null | undefined) {\n    if (typeof id !== 'string') return;\n    const type = RequestDriverTypes.CRR;\n    this.requestDetailModel.id = id;\n    this.navigator(RequestDetailModel, {\n      type: type.toLowerCase(),\n    }).go({ id: id });\n  }\n\n  @action.bound\n  navigateToNotificationSettings() {\n    this.navigator(NotificationViewModel).go();\n  }\n  @action.bound\n  navigateToDriverBan() {\n    this.navigator(DriverBanViewModel).go();\n  }\n\n  @action.bound\n  navigateToLicences() {\n    this.navigator(DriverLicenceViewModel).go();\n  }\n\n  @action.bound\n  navigateToDigitalTachograph() {\n    this.navigator(DriverDigitalTachographViewModel).go();\n  }\n\n  @action.bound\n  navigateToProfesionalLicence() {\n    this.navigator(DriverLicenceViewModel).go();\n    setTimeout(() => {\n      const element = document.getElementById('profesni-zpusobilost');\n      if (element) {\n        element.scrollIntoView({ behavior: 'smooth' });\n      }\n    }, 100);\n  }\n\n  @action.bound\n  async navigateToMentoringBlock() {\n    await when(() => !this.driverService.quickSummaryBusyWatcher.isBusy);\n\n    const element = document.getElementById('mentorovani');\n    if (element) {\n      element.scrollIntoView({ behavior: 'smooth' });\n    }\n  }\n\n  @action.bound\n  goToRequestDetail(type: RequestDriverTypes, id: string | null | undefined) {\n    if (typeof id === 'string') {\n      this.requestDetailModel.id = id;\n      this.navigator(RequestDetailModel, {\n        type: type.toLowerCase(),\n      }).go({ id: id });\n    } else {\n      throw Error('nepredane id zadosti pri navigaci');\n    }\n  }\n\n  @action.bound\n  navigateToRegisterMentor() {\n    this.navigator(DriverMentoringRegisterViewModel).go();\n  }\n\n  @action.bound\n  openCombinedPrompt() {\n    this.combinedApplicationVisible = true;\n  }\n\n  @action.bound\n  closeCombinedPrompt() {\n    this.combinedApplicationVisible = false;\n  }\n\n  @action.bound\n  isLegalGuardian(mentor: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse): boolean {\n    return this.selectMentorService.model.representatives.some((r) => r.aifoId === mentor.aifoId);\n  }\n\n  @action.bound\n  tooltipWaitingRepresentative(mentor: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse): boolean {\n    const guardian = mentor.consents?.find(\n      (c) =>\n        c.consentType ===\n        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.LEGAL_GUARDIAN_WITH_MENTORING\n    );\n    if (\n      guardian?.consentType ===\n      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.LEGAL_GUARDIAN_WITH_MENTORING\n    ) {\n      if (\n        guardian.decisionStatus ===\n        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus.APPROVED\n      ) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  @action.bound\n  tooltipWaitingMentor(mentor: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse): boolean {\n    const selectedMentor = mentor.consents?.find(\n      (c) =>\n        c.consentType === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.MENTOR_WITH_MENTORING\n    );\n    if (\n      selectedMentor?.consentType ===\n      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType.MENTOR_WITH_MENTORING\n    ) {\n      if (\n        selectedMentor.decisionStatus ===\n        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus.APPROVED\n      ) {\n        return false;\n      }\n    }\n    return true;\n  }\n\n  @Watch<DriverNgViewModel>((s) => s.notificationBusyWatcher)\n  @action.bound\n  async changeNotificationsStatus() {\n    if (!this.driverService.driverNotifications) {\n      return;\n    }\n  }\n\n  @action.bound\n  checkForApplicationStatus() {}\n\n  @action.bound\n  goToDriverApplication() {\n    this.navigator(DriverLicenceApplicationViewModel).go();\n  }\n\n  @action.bound\n  goToDriverCombinedApplication() {\n    this.navigator('licence/combined-root').go();\n  }\n\n  @action.bound\n  goToMentoring() {\n    this.navigator(DriverMentoringViewModel).go();\n    this.mentoringsDialog.hideMentoringDialog();\n  }\n\n  @Watch<DriverNgViewModel>((s) => s.downloadBusyWatcher)\n  @action.bound\n  async downloadCardRecord() {\n    try {\n      const card = await this.apiService.crrApi.driver.getPdApiCrrV1DriverCard();\n\n      if (card) {\n        PdfUtils.downloadBlob(card, this.translate('card.filename'));\n        this.toastService.addToast('blopSucces', this.translate('toast.successMessage'), {\n          color: 'success',\n          icon: 'components/check-lg',\n          animateDirection: 'forward',\n        });\n      } else {\n        this.toastService.addToast('blopError', this.translate('toast.errorMessage'), {\n          color: 'error',\n          icon: 'components/exclamation-triangle-fill',\n          animateDirection: 'forward',\n        });\n      }\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - driverNg - DriverNgViewModel',\n        'downloadCardRecord - apiService.crrApi.driver.getPdApiCrrV1DriverCard'\n      );\n      this.toastService.addToast('blopError', this.translate('toast.errorMessage'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    } finally {\n    }\n  }\n\n  @Watch<DriverNgViewModel>((s) => s.driverMentoringDialogBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORS_EDIT, (x) => x.FO])\n  @action.bound\n  async removeMentor() {\n    let success = false;\n\n    try {\n      const mentor = this.mentoringsDialog.mentor;\n      const isMentorWithAifo =\n        mentor.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN;\n\n      if (isMentorWithAifo) {\n        if (!mentor.aifoId) return false;\n        await this.driverService.removeMentor(mentor.aifoId, true);\n      } else {\n        if (!mentor.id) return false;\n        await this.driverService.removeMentor(mentor.id, false);\n      }\n\n      success = true;\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - driverNg - DriverNgViewModel',\n        'removeMentor - driverService.removeMentor'\n      );\n    } finally {\n      this.mentoringsDialog.hideMentoringDialog();\n\n      this.toastService.addToast(\n        'driver-end-mentoring',\n        this.mentoringsTranslate(`toasts.removeMentor${success ? 'Success' : 'Error'}`),\n        {\n          color: success ? 'success' : 'error',\n          icon: `components/${success ? 'check-lg' : 'exclamation-triangle-fill'}`,\n          animateDirection: 'forward',\n        }\n      );\n\n      if (success) {\n        await this.driverService.getDriverMentors(true);\n        if (this.driverService.driverMentors) {\n          await this.mentorApplicationService.getMentors(this.driverService.driverMentors);\n          await this.selectMentorService.refreshMentorOptionsAfterDelete();\n        }\n      }\n    }\n  }\n\n  @Watch<DriverNgViewModel>((s) => s.driverMentoringDialogBusyWatcher)\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORING_EDIT, (x) => x.FO])\n  @action.bound\n  async endMentoring() {\n    let success = false;\n\n    try {\n      await this.driverService.endMentoring(this.mentoringsDialog.mentored.id || '');\n\n      success = true;\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - driverNg - DriverNgViewModel',\n        'endMentoring - driverService.endMentoring'\n      );\n    } finally {\n      this.mentoringsDialog.hideMentoringDialog();\n\n      this.toastService.addToast(\n        'driver-end-mentor',\n        this.mentoringsTranslate(`toasts.endMentoring${success ? 'Success' : 'Error'}`),\n        {\n          color: success ? 'success' : 'error',\n          icon: `components/${success ? 'check-lg' : 'exclamation-triangle-fill'}`,\n          animateDirection: 'forward',\n        }\n      );\n\n      if (success) {\n        this.driverService.getDriverMentorings(true);\n        this.driverService.getDriverConsents(true);\n      }\n    }\n  }\n\n  @Watch<DriverNgViewModel>((s) => s.driverMentoringDialogBusyWatcher)\n  @action.bound\n  @Authorize([(x) => x.CRR_DRIVING_CARD_MENTORING_EDIT, (x) => x.FO])\n  async signMentoring(approved: boolean) {\n    let success = false;\n\n    try {\n      await this.driverService.signMentoring(\n        this.mentoringsDialog.mentored.mentorWithMentoringConsentId,\n        approved\n      );\n      success = true;\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - driverNg - DriverNgViewModel',\n        'signMentoring - driverService.signMentoring'\n      );\n    } finally {\n      this.mentoringsDialog.hideMentoringDialog();\n      const successKey = approved ? 'Accept' : 'Decline';\n      this.toastService.addToast(\n        'driver-sign-mentoring',\n        this.mentoringsTranslate(`toasts.signMentoring${successKey}${success ? 'Success' : 'Error'}`),\n        {\n          color: success ? 'success' : 'error',\n          icon: `components/${success ? 'check-lg' : 'exclamation-triangle-fill'}`,\n          animateDirection: 'forward',\n        }\n      );\n\n      if (success) {\n        this.driverService.getDriverMentorings(true);\n        this.driverService.getDriverConsents(true);\n        await this.driverMentoringRegisterViewModel.applicationService.refreshMentorsList();\n      }\n    }\n  }\n\n  translate = translate('driverng', this);\n\n  mentoringsTranslate = translate('driverng.mentorings', this);\n\n  quickSummaryTranslate = translate('driverng.driverQuickSummary', this);\n\n  cardsPermissionsTranslate = translate('driverng.cards-permissions', this);\n\n  translatePaymentStatus = translate('driverng.completeShared.payment', this);\n\n  translateFaq = translate('faq', this);\n}\n","const BalikomatIcon = () => {\n  return (\n    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n      <g clipPath=\"url(#clip0_1488_1815)\">\n        <rect width=\"16\" height=\"16\" fill=\"white\" />\n        <rect y=\"9\" width=\"7\" height=\"7\" fill=\"#002776\" />\n        <rect x=\"9\" y=\"9\" width=\"7\" height=\"7\" fill=\"#00ACDC\" />\n        <rect x=\"9\" width=\"7\" height=\"7\" fill=\"#F9C822\" />\n      </g>\n      <defs>\n        <clipPath id=\"clip0_1488_1815\">\n          <rect width=\"16\" height=\"16\" fill=\"white\" />\n        </clipPath>\n      </defs>\n    </svg>\n  );\n};\n\nexport default BalikomatIcon;\n","const BalikomatIconLarge = () => {\n  return (\n    <svg width=\"48\" height=\"40\" viewBox=\"0 0 48 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n      <rect width=\"48\" height=\"40\" fill=\"white\" />\n      <path d=\"M34.5719 15.5195H25.3359V24.7554H34.5719V15.5195Z\" fill=\"#00A9E0\" />\n      <path d=\"M23.0562 15.5195H13.8203V24.7554H23.0562V15.5195Z\" fill=\"#002776\" />\n      <path d=\"M34.5719 4H25.3359V13.2359H34.5719V4Z\" fill=\"#FDDB00\" />\n      <path\n        d=\"M1 27.8516H3.77078C4.36839 27.8516 4.85735 27.9059 5.18333 28.0145C5.56363 28.1232 5.83527 28.2862 6.05259 28.4492C6.26991 28.6665 6.43289 28.8838 6.48722 29.1011C6.59588 29.3728 6.59588 29.6444 6.59588 29.9161C6.59588 30.242 6.54155 30.568 6.37856 30.8397C6.21558 31.1113 5.94393 31.3829 5.56363 31.5459C5.83527 31.6546 6.05259 31.7632 6.21558 31.9262C6.37856 32.0892 6.48722 32.1979 6.59588 32.3609C6.70454 32.5239 6.75887 32.6868 6.8132 32.8498C6.86753 33.0128 6.86752 33.2301 6.86752 33.3931C6.86752 33.7191 6.8132 34.0451 6.70454 34.3167C6.59588 34.5884 6.43289 34.86 6.21558 35.0773C5.99826 35.2946 5.67229 35.4576 5.29199 35.5663C4.91168 35.6749 4.47705 35.7293 3.93376 35.7293H1V27.8516ZM3.93376 31.1113C4.47705 31.1113 4.85735 31.0026 5.02034 30.8397C5.23766 30.6223 5.34631 30.3507 5.34631 30.0247C5.34631 29.6444 5.23766 29.3728 4.96601 29.2098C4.7487 28.9925 4.31406 28.9381 3.71645 28.9381H2.30389V31.1113H3.93376ZM3.93376 34.7513C4.25974 34.7513 4.53138 34.697 4.7487 34.6427C4.96601 34.5884 5.129 34.4797 5.23766 34.371C5.34631 34.2624 5.45497 34.0994 5.5093 33.9907C5.56363 33.8277 5.56363 33.6648 5.56363 33.4474C5.56363 33.0671 5.45497 32.7412 5.23766 32.5238C5.02034 32.3065 4.64004 32.1979 4.04242 32.1979H2.30389V34.697L3.93376 34.7513Z\"\n        fill=\"#002776\"\n      />\n      <path\n        d=\"M11.4316 35.0789C11.2143 35.3505 10.9426 35.5678 10.671 35.7308C10.345 35.8938 9.96469 36.0025 9.53006 36.0025C9.25842 36.0025 8.98677 35.9481 8.76945 35.8938C8.55214 35.8395 8.33482 35.7308 8.17184 35.5678C8.00885 35.4048 7.84586 35.2418 7.73721 35.0245C7.62855 34.8072 7.57422 34.5356 7.57422 34.2639C7.57422 33.8836 7.68288 33.5577 7.84586 33.286C8.00885 33.0144 8.22617 32.8514 8.55214 32.6884C8.82378 32.5254 9.14976 32.4711 9.53006 32.4167C9.91036 32.3624 10.2363 32.3081 10.6166 32.3081L11.4859 32.2538V31.9821C11.4859 31.5475 11.3772 31.2758 11.1599 31.0585C10.9426 30.8955 10.671 30.7869 10.2907 30.7869C9.91036 30.7869 9.58439 30.8412 9.4214 31.0042C9.20409 31.1128 9.09543 31.3302 9.0411 31.6018L7.90019 31.4931C8.00885 30.9499 8.28049 30.5152 8.6608 30.2436C9.09543 29.9719 9.63872 29.8633 10.345 29.8633C10.7796 29.8633 11.1599 29.9176 11.4316 30.0263C11.7575 30.1349 11.9749 30.2979 12.1378 30.4609C12.3008 30.6782 12.4638 30.8955 12.5182 31.1672C12.6268 31.4388 12.6268 31.7648 12.6268 32.0908V35.8395H11.3772L11.4316 35.0789ZM11.3772 33.0687L10.5623 33.123C10.182 33.123 9.91036 33.1773 9.69305 33.2317C9.47573 33.286 9.25842 33.3403 9.14976 33.449C9.0411 33.5577 8.93244 33.6663 8.87811 33.775C8.82378 33.8836 8.82378 34.0466 8.82378 34.2096C8.82378 34.4812 8.87811 34.6442 9.0411 34.8072C9.20409 34.9702 9.4214 35.0245 9.74738 35.0245C10.2363 35.0245 10.6166 34.9159 10.9426 34.6442C11.2686 34.4269 11.3772 34.0466 11.3772 33.5577V33.0687Z\"\n        fill=\"#002776\"\n      />\n      <path d=\"M13.7656 27.8516H15.0695V35.8379H13.7656V27.8516Z\" fill=\"#002776\" />\n      <path\n        d=\"M16.8629 27.8516H18.2754L17.2432 29.4271H16.2109L16.8629 27.8516ZM16.2109 30.0247H17.5148V35.8379H16.2109V30.0247Z\"\n        fill=\"#002776\"\n      />\n      <path\n        d=\"M18.7145 27.8516H20.0184V32.3065L22.5175 30.0247H23.9844L21.8656 32.0349L24.1474 35.8922H22.7348L20.942 32.7412L19.9641 33.6104V35.8922H18.6602L18.7145 27.8516Z\"\n        fill=\"#002776\"\n      />\n      <path\n        d=\"M26.9146 36.0021C25.991 36.0021 25.2847 35.7304 24.7958 35.1872C24.3068 34.6439 24.0352 33.8833 24.0352 32.9053C24.0352 32.4164 24.0895 31.9818 24.2525 31.6015C24.3611 31.2211 24.5784 30.8952 24.8501 30.6235C25.1217 30.3519 25.3934 30.1346 25.7737 30.0259C26.154 29.8629 26.5343 29.8086 26.9689 29.8086C27.4036 29.8086 27.8382 29.8629 28.1642 30.0259C28.4901 30.1889 28.8161 30.3519 29.0877 30.6235C29.3594 30.8952 29.5224 31.2211 29.631 31.6015C29.7397 31.9818 29.8484 32.4164 29.8484 32.9053C29.8484 33.3943 29.794 33.8289 29.631 34.2092C29.5224 34.5895 29.3051 34.9155 29.0334 35.1872C28.7618 35.4588 28.4901 35.6761 28.1098 35.7848C27.7295 35.9478 27.3492 36.0021 26.9146 36.0021ZM26.9146 34.9698C27.4579 34.9698 27.8382 34.8069 28.1098 34.4266C28.3815 34.0463 28.4901 33.5573 28.4901 32.9053C28.4901 32.2534 28.3815 31.7644 28.1098 31.3841C27.8382 31.0038 27.4579 30.8408 26.9146 30.8408C26.3713 30.8408 25.991 31.0038 25.7194 31.3841C25.4477 31.7644 25.339 32.2534 25.339 32.9053C25.339 33.5573 25.4477 34.0463 25.7194 34.4266C25.991 34.8069 26.3713 34.9698 26.9146 34.9698Z\"\n        fill=\"#002776\"\n      />\n      <path\n        d=\"M29.7969 30.0234H31.2638L32.785 34.4241L34.3062 30.0234H35.7187L33.3826 35.8366H32.0787L29.7969 30.0234Z\"\n        fill=\"#002776\"\n      />\n      <path\n        d=\"M36.3668 30.0263H37.6164V30.8955C37.888 30.5152 38.1597 30.2979 38.4857 30.1349C38.8116 29.9719 39.1376 29.8633 39.5179 29.8633C40.8218 29.8633 41.4737 30.5696 41.4737 32.0364V35.8938H40.1699V32.1994C40.1699 31.7105 40.0612 31.3845 39.8982 31.2215C39.7352 31.0585 39.4636 30.9499 39.1376 30.9499C38.7573 30.9499 38.377 31.1128 38.051 31.3845C37.888 31.4932 37.7794 31.6561 37.7251 31.8191C37.6707 31.9821 37.6164 32.1994 37.6164 32.4167V35.8938H36.3125L36.3668 30.0263Z\"\n        fill=\"#002776\"\n      />\n      <path\n        d=\"M46.1503 35.0785C45.933 35.3501 45.6614 35.5675 45.3897 35.7304C45.0637 35.8934 44.6834 36.0021 44.2488 36.0021C43.9772 36.0021 43.7055 35.9478 43.4882 35.8934C43.2709 35.8391 43.0536 35.7304 42.8906 35.5675C42.7276 35.4045 42.5646 35.2415 42.456 35.0242C42.3473 34.8069 42.293 34.5352 42.293 34.2636C42.293 33.8833 42.4016 33.5573 42.5646 33.2856C42.7276 33.014 42.9449 32.851 43.2709 32.688C43.5425 32.525 43.8685 32.4707 44.2488 32.4164C44.6291 32.3621 44.9551 32.3077 45.3354 32.3077L46.096 32.1991V31.9274C46.096 31.4928 45.9873 31.2211 45.77 31.0038C45.5527 30.8408 45.2811 30.7322 44.9008 30.7322C44.5205 30.7322 44.1945 30.7865 44.0315 30.9495C43.8142 31.0582 43.7055 31.2755 43.6512 31.5471L42.5103 31.4385C42.6189 30.8952 42.8906 30.4605 43.2709 30.1889C43.7055 29.9173 44.2488 29.8086 44.9551 29.8086C45.3897 29.8086 45.77 29.8629 46.0417 29.9716C46.3676 30.0802 46.585 30.2432 46.7479 30.4062C46.9109 30.6235 47.0739 30.8408 47.1282 31.1125C47.2369 31.3841 47.2369 31.7101 47.2369 32.0361V35.7848H45.9873V35.0785H46.1503ZM46.096 33.0683L45.2811 33.1227C44.9008 33.1227 44.6291 33.177 44.4118 33.2313C44.1945 33.2856 43.9772 33.34 43.8685 33.4486C43.7599 33.5573 43.6512 33.6659 43.5969 33.7746C43.5425 33.8833 43.5425 34.0462 43.5425 34.2092C43.5425 34.4809 43.5969 34.6439 43.7598 34.8069C43.9228 34.9698 44.1402 35.0242 44.4661 35.0242C44.9551 35.0242 45.3354 34.9155 45.6614 34.6439C45.9873 34.4266 46.096 34.0463 46.096 33.5573V33.0683Z\"\n        fill=\"#002776\"\n      />\n    </svg>\n  );\n};\n\nexport default BalikomatIconLarge;\n","import { observer } from 'mobx-react-lite';\nimport './DiscountedPriceSpan.scss';\n\ntype DiscountedPriceSpanProps = {\n  price: number;\n  discountPercentage?: number;\n};\n\nconst DiscountedPriceSpan = observer(({ price, discountPercentage = 20 }: DiscountedPriceSpanProps) => {\n  const nonDiscountedPrice = discountPercentage >= 100 ? 0 : Math.floor(price / (1 - discountPercentage / 100));\n\n  return (\n    <span className=\"discounted-price\">\n      <span className=\"crossed\">{`${nonDiscountedPrice}\\u00A0Kč`}</span> <strong className=\"bold\">{`${price}\\u00A0Kč`}</strong>\n    </span>\n  );\n});\n\nexport default DiscountedPriceSpan;\n","import { GovLink } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NotificationMessage from '../../shared/components/NotificationMessage';\nimport SectionWithIcon from '../../shared/components/SectionWithIcon';\nimport DotRow from '../../shared/components/DotRow';\nimport DiscountedPriceSpan from '../../shared/components/DiscountedPriceSpan';\nimport DriverDigitalTachographApplicationService from '../../driverLicence/driverDigitalTachograph/DriverDigitalTachographApplicationService';\nimport BalikomatIcon from '../BalikomatIcon';\n\ntype DriverDigitalTachographInfoProps = {\n  translate: Translator;\n  applicationService: DriverDigitalTachographApplicationService;\n};\n\nconst DriverDigitalTachographInfo = ({ translate, applicationService }: DriverDigitalTachographInfoProps) => {\n  return (\n    <>\n      <NotificationMessage className=\"mb-sm-40 mb-4\" />\n\n      <div className=\"mb-sm-40 mw-770 mb-4\">\n        {/* SPEED */}\n        <SectionWithIcon iconName=\"custom/clock\" className=\"mw-415\">\n          <DotRow\n            leftNode={translate('tachograph-info.delivery')}\n            rightNode={`${translate('tachograph-info.within')} ${applicationService.sharedDataService.releaseDays} ${translate('tachograph-info.working-days')}`}\n          />\n        </SectionWithIcon>\n\n        {/* FEES */}\n        <SectionWithIcon iconName=\"custom/cash-stack\">\n          <DotRow\n            leftNode={translate('tachograph-info.card')}\n            rightNode={<DiscountedPriceSpan price={560} />}\n            discountTag\n            infoIcon\n          />\n        </SectionWithIcon>\n\n        <SectionWithIcon className=\"mw-415\" iconName={<BalikomatIcon />}>\n          <DotRow\n            leftNode={translate('collection-at-box.title')}\n            rightNode={translate('collection-at-box.value')}\n            displayEmpty\n          />\n        </SectionWithIcon>\n\n        <SectionWithIcon className=\"mw-415\" iconName=\"complex/institution\">\n          <DotRow\n            leftNode={translate('collection-at-office.title')}\n            rightNode={translate('collection-at-office.value')}\n            displayEmpty\n          />\n        </SectionWithIcon>\n\n        {/* LINK TO DETAIL */}\n        <SectionWithIcon iconName=\"components/book\" variant=\"primary\">\n          <GovLink\n            href={'https://portal.gov.cz/sluzby-vs/vydani-karty-ridice-digitalniho-tachografu-S567'}\n            target=\"_blank\"\n            external\n            size=\"s\"\n            testId=\"isdt-link\"\n          >\n            {translate('tachograph-info.service-catalogue-text')}\n          </GovLink>\n        </SectionWithIcon>\n      </div>\n    </>\n  );\n};\n\nexport default DriverDigitalTachographInfo;\n","import { observer } from 'mobx-react-lite';\nimport {\n  Checkbox,\n  Message,\n  Radio,\n  ScreenContext,\n  Select,\n  Skeleton,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport RequestReasonsSelectionService from './RequestReasonsSelectionService';\n\ntype RequestReasonsSelectionWizardStepProps = {\n  requestReasonsSelectionService: RequestReasonsSelectionService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst RequestReasonsSelectionWizardStep = observer(\n  ({\n    requestReasonsSelectionService,\n    combined,\n    predefinedStep = 0,\n  }: RequestReasonsSelectionWizardStepProps) => {\n    const {\n      translate,\n      step,\n      disableNextStep,\n      model,\n      reasonOptions,\n      lostOptions,\n      theftOptions,\n      nextStepsAvailable,\n      isReasonSelected,\n      isBusy,\n      isDamagedReasonSelected,\n      isChangeReasonSelected,\n      saveToSessionStorage,\n    } = requestReasonsSelectionService;\n    const checkboxLabel = (\n      <>\n        <span className=\"bold\">{translate('item1.declaration1')}</span>&nbsp;\n        <span className=\"text-danger\">*</span>&nbsp;\n        {translate('item1.declaration2')}\n      </>\n    );\n\n    return (\n      <ScreenContext value={requestReasonsSelectionService}>\n        <WizardItem\n          label={translate('item1.header')}\n          step={combined ? predefinedStep : step}\n          disableNextStep={disableNextStep}\n          disabledButtonTooltip={translate('fill-in-required')}\n          useLegacyTooltip={true}\n          onBeforeNextStep={() => {\n            saveToSessionStorage();\n            return true;\n          }}\n        >\n          <p className=\"mt-2 mb-4\">\n            {translate('item1.text1')}&nbsp;\n            <span className=\"bold\">{translate('item1.text2')}</span>\n          </p>\n\n          {isBusy ? (\n            <Skeleton type=\"line-full\" />\n          ) : (\n            <>\n              <Select\n                target={model}\n                property={'reason'}\n                options={reasonOptions}\n                required\n                onChange={requestReasonsSelectionService.reasonChange}\n                className=\"mw-330\"\n              />\n              {isReasonSelected && isDamagedReasonSelected && (\n                <>\n                  <br />\n                  <Message icon=\"components/lightbulb-fill\">{translate('item1.info-text-damaged')}</Message>\n                </>\n              )}\n              {isReasonSelected && isChangeReasonSelected && (\n                <>\n                  <br />\n                  <Message icon=\"components/lightbulb-fill\">{translate('item1.info-text-change')}</Message>\n                </>\n              )}\n\n              {isReasonSelected && nextStepsAvailable && (\n                <>\n                  <br />\n                  <p className=\"mt-2 mb-4\">{translate('item1.nextSteps')}</p>\n\n                  <Radio\n                    gapSize=\"s\"\n                    className=\"flex-grow-1\"\n                    target={model}\n                    property={'lostTheftReason'}\n                    options={lostOptions}\n                  />\n                  {model.lostTheftReason === 'LOST' && (\n                    <div className=\"row-cols-1 mx-4\">\n                      <br />\n                      <Checkbox size=\"s\" target={model} label={checkboxLabel} property={'declaration'} />\n                    </div>\n                  )}\n                  <br />\n                  <Radio\n                    className=\"flex-grow-1\"\n                    target={model}\n                    property={'lostTheftReason'}\n                    options={theftOptions}\n                  />\n                </>\n              )}\n            </>\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default RequestReasonsSelectionWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport { GovLink, ScreenContext, Skeleton, WizardItem } from '@cendis/cedr-components';\nimport ApplicantInformationService from './ApplicantInformationService';\nimport Table from '@components/gov4/layout/Table';\nimport SharedDataService from '../SharedDataService';\nimport React from 'react';\nimport getSupportUrl from 'src/utils/getSupportUrl';\n\ntype applicantInformationWizardStepProps = {\n  applicantInformationService: ApplicantInformationService;\n  sharedDataService: SharedDataService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst ApplicantInformationWizardStep = observer(\n  ({ applicantInformationService, combined, predefinedStep = 0 }: applicantInformationWizardStepProps) => {\n    const { translate, step, disableNextStep, busyWatcher, userTableData, driverTableData } =\n      applicantInformationService;\n\n    const link1 = (\n      <GovLink href={'support'} testId=\"support1-link\">\n        {translate('link-text')}\n      </GovLink>\n    );\n\n    const link2 = (\n      <GovLink href={translate('link2')} target=\"_blank\" external testId=\"link2\">\n        {translate('link-text2')}\n      </GovLink>\n    );\n\n    return (\n      <ScreenContext value={applicantInformationService}>\n        <WizardItem\n          label={translate('item2.header')}\n          step={combined ? predefinedStep : step}\n          disableNextStep={disableNextStep}\n          predefinedVariant={combined ? 'success' : undefined}\n          onActiveStep={() => {\n            if (combined) return;\n            applicantInformationService.startGuarding();\n          }}\n          onBeforeNextStep={() => {\n            applicantInformationService.saveToSessionStorage();\n            return true;\n          }}\n        >\n          {busyWatcher.isBusy ? (\n            <Skeleton />\n          ) : (\n            <div className=\"mb-3\">\n              <p className=\"mb-4\">\n                {translate('item2.text')} {link1}\n              </p>\n              <Table data={userTableData} testId=\"user-table\" />\n              <div className=\"gov-text--l mt-4 mb-3\">{translate('item2.driverHeader')}</div>\n\n              <Table data={driverTableData} firstColumnMaxWidth={50} testId=\"driver-table\" />\n            </div>\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default ApplicantInformationWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport DriverDigitalTachographApplicationService from '../DriverDigitalTachographApplicationService';\nimport {\n  Button,\n  Dialog,\n  Message,\n  Skeleton,\n  Typography,\n  useWizardContext,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport WizardStepSummary from '../../../shared/components/WizardStepSummary';\nimport SharedDataService from '../SharedDataService';\nimport PromptListItem from '../../../shared/components/PromptListItem';\nimport { Domain_Contracts_Enums_Crr_IsdtRequestReason } from '../../../../../data/crr/api';\nimport { useGrandAccordionContext } from 'src/app/driver_ng/shared/components/GrandAccordion/GrandAccordion';\nimport ErrorEmpty from 'src/app/driver_ng/shared/components/ErrorEmpty';\ntype SummaryWizardStepProps = {\n  applicationService: DriverDigitalTachographApplicationService;\n  sharedDataService: SharedDataService;\n  combined?: boolean;\n};\n\nconst SummaryWizardStep = observer(\n  ({ applicationService, sharedDataService, combined }: SummaryWizardStepProps) => {\n    const wizardContext = useWizardContext();\n\n    const {\n      translate,\n      onBeforeNextSummaryStep,\n      closePrompt,\n      summaryPromptVisible,\n      submitApplication,\n      busyWatcher,\n      combinedApplicationPromptVisible,\n      closeCombinedApplicationPrompt,\n      goToCombinedApplication,\n      onBeforeNextStepWithDelivery,\n      paymentService,\n    } = applicationService;\n    const { isDriverReasonsBusy } = sharedDataService;\n    const { activeStep, setActiveStep } = useWizardContext();\n    const context = useGrandAccordionContext();\n\n    const combinedHandler = () => {\n      context.setActiveStep(context.activeStep + 1);\n      return false;\n    };\n\n    const onBeforeHandler = combined ? combinedHandler : onBeforeNextStepWithDelivery;\n\n    return (\n      <>\n        <Dialog\n          isVisible={applicationService.requestTimeoutVisible}\n          headline={translate('request-timeout-title')}\n          onClose={applicationService.navToDriverScreen}\n          testId=\"application-tachograph-dialog-timeout\"\n          bottomChildren={\n            <>\n              <Button\n                type=\"outlined\"\n                onClick={applicationService.navToDriverScreen}\n                testId=\"application-tachograph-dialog-timeout-to-home\"\n              >\n                {translate('request-timeout-home')}\n              </Button>\n              <Button\n                loading={busyWatcher.isBusy}\n                onClick={applicationService.retrySend}\n                testId=\"application-tachograph-dialog-timeout-send\"\n              >\n                {translate('request-timeout-retry')}\n              </Button>\n            </>\n          }\n        >\n          <div className=\"d-flex mb-4 flex-row flex-wrap\">\n            <Typography>{translate('request-timeout-text')}</Typography>\n          </div>\n        </Dialog>\n\n        <WizardItem\n          label={translate('item6.newHeader')}\n          step={5}\n          onBeforeNextStep={onBeforeHandler}\n          controlledButtonProps={{\n            loading: isDriverReasonsBusy || paymentService.priceBusyWatcher.isBusy,\n            disabled:\n              isDriverReasonsBusy ||\n              paymentService.priceBusyWatcher.isBusy ||\n              applicationService.sendingDisabled,\n          }}\n          controlledButtonText={translate('item6.continue')}\n          onActiveStep={() => applicationService.getPayment()}\n          disableNextStep={applicationService.sendingDisabled}\n        >\n          {!applicationService.sendingDisabled ? (\n            <>\n              {/* section 1 */}\n              <WizardStepSummary\n                title={translate('item1.header')}\n                returnToStep={1}\n                data={applicationService.requestReasonsSelectionService.summaryData}\n              />\n\n              {/* section 2 */}\n              <WizardStepSummary\n                title={translate('item2.header')}\n                data={applicationService.applicantInformationService.summaryData}\n              />\n\n              {/* section 3 */}\n              <WizardStepSummary\n                title={translate('item3.header')}\n                returnToStep={3}\n                data={applicationService.pickUpPointService.summaryData}\n              />\n\n              {/* section 4 */}\n              <WizardStepSummary\n                title={translate('item4.header')}\n                returnToStep={4}\n                data={applicationService.photoSignatureService.summaryData}\n              />\n\n              {paymentService.priceBusyWatcher.isBusy ? (\n                <Skeleton />\n              ) : (\n                <Message className=\"mt-4\">\n                  {translate('item6.fee')}{' '}\n                  <span className=\"bold\">\n                    {applicationService.paymentService.model.amount} {translate('item6.crown')}\n                  </span>\n                </Message>\n              )}\n\n              {/* COMBINED APPLICATION PROMPT*/}\n              <Dialog\n                headline={translate('combinedPrompt.headline')}\n                isVisible={!combined && combinedApplicationPromptVisible && sharedDataService.combinedAllowed}\n                onClose={closeCombinedApplicationPrompt}\n                testId=\"application-combined\"\n                bottomChildren={\n                  <>\n                    <Button\n                      text={translate('combinedPrompt.submit-one-application')}\n                      type=\"outlined\"\n                      onClick={() => {\n                        closeCombinedApplicationPrompt();\n                        setActiveStep(activeStep + 1);\n                      }}\n                      testId=\"application-combined-submit-one\"\n                    />\n                    <Button\n                      text={translate('combinedPrompt.submit-both-applications')}\n                      onClick={goToCombinedApplication}\n                      testId=\"application-combined-submit-both\"\n                    />\n                  </>\n                }\n              >\n                <Message color=\"warning\" icon=\"components/info-circle-fill\" className={'mb-4'}>\n                  <p className=\"bold\">{translate('combinedPrompt.attention')}</p>\n                  <p>{translate('combinedPrompt.attention-message')}</p>\n                </Message>\n\n                <p className=\"mb-3\">{translate('combinedPrompt.conditions-met')}</p>\n                <p className=\"mb-3\">{translate('combinedPrompt.advantage')}</p>\n                <p>{translate('combinedPrompt.one-fee')}</p>\n              </Dialog>\n            </>\n          ) : (\n            <ErrorEmpty translate={paymentService.translate} />\n          )}\n        </WizardItem>\n      </>\n    );\n  }\n);\n\nexport default SummaryWizardStep;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DriverDigitalTachographApplicationService from '../../driverLicence/driverDigitalTachograph/DriverDigitalTachographApplicationService';\nimport WizardContainer from '../../shared/components/WizardContainer';\nimport { Button, Typography, Wizard } from '@cendis/cedr-components';\nimport RequestReasonsSelectionWizardStep from '../../driverLicence/driverDigitalTachograph/01_RequestReasons/RequestReasonsSelectionWizardStep';\nimport ApplicantInformationWizardStep from '../../driverLicence/driverDigitalTachograph/02_ApplicantInformation/ApplicantInformationWizardStep';\nimport PickUpPointWizardStep from '../../driverLicence/driverDigitalTachograph/03_PickUpPoint/PickUpPointWizardStep';\nimport PhotoSignatureWizardStep from '../../driverLicence/driverDigitalTachograph/04_PhotoSignature/PhotoSignatureWizardStep';\nimport ContactDetailWizardStep from '../../driverLicence/driverDigitalTachograph/07_ContactDetails/ContactDetailWizardStep';\nimport SummaryWizardStep from '../../driverLicence/driverDigitalTachograph/05_Summary/SummaryWizardStep';\nimport DeliveryChoiceWizardStep from '../../driverLicence/driverDigitalTachograph/06_ChooseTransport/DeliveryChoiceWizardStep';\nimport PaymentWizardStep from '../../driverLicence/driverDigitalTachograph/08_Payment/PaymentWizardStep';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport { observer } from 'mobx-react-lite';\nimport PanelWrapper from '../PanelWrapper';\nimport useNavigate from '@cendis/cedr-framework/dist/hooks/useNavigate';\nimport GatewayError from '@components/icons/GatewayError';\nimport './DriverDigitalTachographSteps.scss';\nimport { WizardStepListener } from '../WizardStepListener/WizardStepListener';\nimport DriverNgViewModel from '../../DriverNgViewModel';\n\ntype DriverDigitalTachographStepsProps = {\n  translate: Translator;\n  applicationService: DriverDigitalTachographApplicationService;\n  combined?: boolean;\n  isSecond: boolean;\n};\n\nconst DriverDigitalTachographSteps = observer(\n  ({\n    translate,\n    applicationService,\n    combined = false,\n    isSecond = false,\n  }: DriverDigitalTachographStepsProps) => {\n    const navigate = useNavigate();\n    return (\n      <>\n        {applicationService.sharedDataService.notFoundError ? (\n          <PanelWrapper className={'submission-not-possible'}>\n            <div className=\"driver-digital-tachograph\">\n              <div className={'tachograph-ico with-gradient gatewayError mb-4'}>\n                <GatewayError />\n              </div>\n              <Typography type=\"headline\" component={'h1'} fontWeight={400} size=\"m\" className=\"ms-4 mt-0\">\n                {translate('request-not-possible.title')}\n              </Typography>\n            </div>\n            <p className=\"mb-4\">{translate('request-not-possible.text')}</p>\n\n            <Button\n              onClick={() => navigate(DriverNgViewModel)}\n              testId=\"submission-not-possible-back-to-homepage\"\n            >\n              {translate('request-not-possible.homeButton')}\n            </Button>\n          </PanelWrapper>\n        ) : (\n          <WizardContainer combined={combined}>\n            <Wizard wizardContext={applicationService.wizardContext} className=\"mb-5\">\n              <WizardStepListener onStepChange={applicationService.continueAction} />\n              {/* STEP 1 */}\n              <RequestReasonsSelectionWizardStep\n                requestReasonsSelectionService={applicationService.requestReasonsSelectionService}\n                combined={combined}\n                predefinedStep={1}\n              />\n              {/* STEP 2 */}\n              <ApplicantInformationWizardStep\n                applicantInformationService={applicationService.applicantInformationService}\n                sharedDataService={applicationService.sharedDataService}\n                combined={combined}\n                predefinedStep={2}\n              />\n              {/* STEP 3 */}\n              <PickUpPointWizardStep\n                pickUpPointService={applicationService.pickUpPointService}\n                combined={combined}\n                predefinedStep={3}\n                predefinedApplicationType={DriverApplication.TACHOGRAPH}\n              />\n              {/* STEP 4 */}\n              <PhotoSignatureWizardStep\n                photoSignatureService={applicationService.photoSignatureService}\n                combined={combined}\n                predefinedStep={4}\n                predefinedApplicationType={DriverApplication.TACHOGRAPH}\n                isDataChangeReasonSelected={\n                  applicationService.requestReasonsSelectionService.isChangeReasonSelected\n                }\n                isFromDriverLicence={combined && isSecond}\n              />\n\n              {/* STEP 5 */}\n              <SummaryWizardStep\n                applicationService={applicationService}\n                sharedDataService={applicationService.sharedDataService}\n                combined={combined}\n              />\n\n              {!combined && (\n                <>\n                  {/* STEP 6 */}\n                  <DeliveryChoiceWizardStep\n                    deliveryChoiceService={applicationService.deliveryChoiceService}\n                    pickUpPointService={applicationService.pickUpPointService}\n                  />\n\n                  {/* STEP 7 */}\n                  <ContactDetailWizardStep\n                    contactDetailService={applicationService.contactDetailService}\n                    combined={combined}\n                    predefinedStep={7}\n                    paymentService={applicationService.paymentService}\n                  />\n\n                  {/* STEP 8  */}\n                  <PaymentWizardStep\n                    paymentService={applicationService.paymentService}\n                    applicationService={applicationService}\n                    applicationType={DriverApplication.TACHOGRAPH}\n                  />\n                </>\n              )}\n            </Wizard>\n          </WizardContainer>\n        )}\n      </>\n    );\n  }\n);\n\nexport default DriverDigitalTachographSteps;\n","import { Button, Message, Typography } from '@cendis/cedr-components';\nimport './DriverLicenceError.scss';\nimport ErrorIcon from 'src/app/error/errorPage/components/ErrorIcon';\nimport { StatusCodes } from 'src/enums/StatusCodes';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { ReactNode } from 'react';\n\ntype DriverLicenceErrorProps = {\n  translate: Translator;\n  errors: ApplicationDocumentsError[];\n  linkToDriver: () => void;\n};\n\nexport type ApplicationDocumentsError = {\n  errorId?: string;\n  type?: string;\n  description?: string | ReactNode;\n  traceId?: string;\n  view: 'default' | 'detailed' | 'info' | 'short';\n};\n\nconst DriverLicenceError = ({ translate, linkToDriver, errors }: DriverLicenceErrorProps) => {\n  return (\n    <div className=\"driver-licence-error-info\">\n      <div className=\"driver-licence-error-info__title\">\n        <div className=\"icon-wrapper\">\n          <ErrorIcon statusCode={StatusCodes.DEFAULT} translate={translate} color=\"error\" />\n        </div>\n        <Typography component=\"h4\" type=\"headline\" size=\"m\" fontWeight={400}>\n          {translate('driver-licence-error-info.title')}\n        </Typography>\n      </div>\n\n      <div className=\"driver-licence-error-info__wrapper\">\n        {errors[0]?.view === 'detailed' && <p>{translate('driver-licence-error-info.info')}</p>}\n        {errors.map((error) => (\n          <>\n            <div className=\"driver-licence-error-info__error\">\n              {(error.view === 'default' || error.view === 'detailed') && (\n                <>\n                  <p>\n                    {translate('driver-licence-error-info.code')}:{' '}\n                    {error.view === 'default'\n                      ? translate('driver-licence-error-info.defaultCode')\n                      : error.type}\n                  </p>\n                  <Message color=\"error\" icon=\"components/lightbulb-fill\" className=\"mt-2\">\n                    {error.description || translate('driver-licence-error-info.defaultDescription')}\n                  </Message>\n                </>\n              )}\n              {error.view === 'info' && (\n                <>\n                  <p className=\"mb-4 pb-2\">{error.description}</p>\n                  <Message color=\"error\" icon=\"components/lightbulb-fill\" className=\"mt-2\">\n                    {translate('driver-licence-error-info.info-text')}\n                  </Message>\n                </>\n              )}\n              {error.view === 'short' && (\n                <p className=\"mb-4 pb-2\">{translate('driver-licence-error-info.description')}</p>\n              )}\n            </div>\n          </>\n        ))}\n\n        {errors[0]?.traceId && (\n          <div className=\"driver-licence-error-info__track\">\n            <Typography type=\"body\" size=\"xl\" bold>\n              {translate('driver-licence-error-info.track')}\n            </Typography>\n            <Typography type=\"body\" size=\"m\">\n              {translate('driver-licence-error-info.errorId')}: {errors[0]?.traceId}\n            </Typography>\n          </div>\n        )}\n\n        <Button onClick={linkToDriver} testId=\"driver-licence-error\">\n          {translate('driver-licence-error-info.button-text')}\n        </Button>\n      </div>\n    </div>\n  );\n};\n\nexport default DriverLicenceError;\n","import { GovLink } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NotificationMessage from '../../shared/components/NotificationMessage';\nimport SectionWithIcon from '../../shared/components/SectionWithIcon';\nimport DotRow from '../../shared/components/DotRow';\nimport BalikomatIcon from '../BalikomatIcon';\n\ntype DriverLicenceInfoProps = {\n  translate: Translator;\n};\n\nconst DriverLicenceInfo = ({ translate }: DriverLicenceInfoProps) => {\n  return (\n    <>\n      <NotificationMessage className=\"mb-sm-40 mb-4\" />\n      <div className=\"mb-sm-40 mb-4\">\n        {/* SPEED */}\n        <SectionWithIcon iconName=\"custom/clock\" className=\"mw-500\">\n          <DotRow\n            leftNode={translate('info.standard-processing')}\n            rightNode={translate('info.standard-processing-time')}\n          />\n          <DotRow\n            leftNode={translate('info.express-processing')}\n            rightNode={translate('info.express-processing-time')}\n          />\n        </SectionWithIcon>\n\n        <SectionWithIcon className=\"mw-500\" iconName={<BalikomatIcon />}>\n          <DotRow\n            leftNode={translate('info.collection-at-box')}\n            rightNode={translate('info.money')}\n            displayEmpty\n          />\n        </SectionWithIcon>\n\n        <SectionWithIcon className=\"mw-500\" iconName=\"complex/institution\">\n          <DotRow\n            leftNode={translate('info.collection-at-office')}\n            rightNode={translate('info.free')}\n            displayEmpty\n          />\n        </SectionWithIcon>\n\n        {/* LINK TO DETAIL */}\n        <SectionWithIcon iconName=\"components/book\" variant=\"primary\">\n          <GovLink\n            testId=\"service-catalogue-url\"\n            href={translate('info.service-catalogue-url')}\n            target=\"_blank\"\n            external\n            size=\"s\"\n          >\n            {translate('info.service-catalogue-text')}\n          </GovLink>\n        </SectionWithIcon>\n      </div>\n    </>\n  );\n};\n\nexport default DriverLicenceInfo;\n","import {\n  Checkbox,\n  GovIcon,\n  Message,\n  ScreenContext,\n  Select,\n  Skeleton,\n  Typography,\n  WizardItem,\n  Button,\n  Dialog,\n} from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport ReasonService from './ReasonService';\nimport ApplicationService from '../ApplicationService';\nimport { Domain_Contracts_Enums_Crr_LicenceConsent } from 'src/data/crr/api';\nimport DateUtils from 'src/utils/DateUtils';\nimport './ReasonWizardStep';\n\ntype ReasonWizardStepProps = {\n  reasonService: ReasonService;\n  applicationService: ApplicationService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst ReasonWizardStep = observer(\n  ({ reasonService, applicationService, combined, predefinedStep = 0 }: ReasonWizardStepProps) => {\n    const {\n      step,\n      translate,\n      selectOptions,\n      model,\n      disableNextStep,\n      isBusy,\n      isLostReasonSelected,\n      isStolenReasonSelected,\n      clearLostConfirmation,\n      newDrivingAuthorizations,\n      existingDrivingAuthorizations,\n      getDrivingAuthorizationIcon,\n    } = reasonService;\n\n    const { legalGuardianConsentService } = applicationService;\n\n    const {\n      needsConsentForReason,\n      shouldShowWarning,\n      canProceed,\n      showConsentDialog,\n      openConsentDialog,\n      closeConsentDialog,\n      createConsentRequest,\n      consentCheckBusyWatcher,\n      createConsentBusyWatcher,\n    } = legalGuardianConsentService;\n\n    const requiresConsent = needsConsentForReason(model.reasonCode);\n    const isNextStepDisabled = disableNextStep || (requiresConsent && !canProceed);\n\n    return (\n      <ScreenContext value={reasonService}>\n        <WizardItem\n          step={combined ? predefinedStep : step}\n          label={translate('label')}\n          disableNextStep={isNextStepDisabled}\n          onBeforeNextStep={() => {\n            reasonService.saveToSessionStorage();\n            return true;\n          }}\n          onActiveStep={clearLostConfirmation}\n          disabledButtonTooltip={\n            requiresConsent && !canProceed\n              ? legalGuardianConsentService.translate('consent-required-tooltip')\n              : translate('fill-in-required')\n          }\n          useLegacyTooltip={true}\n        >\n          <p className=\"mb-4\">\n            {translate('reasons-displayed')}\n            <strong className=\"bold\">{translate('only-relevant-reasons')}</strong>\n          </p>\n\n          {isBusy ? (\n            <Skeleton type=\"line-full\" />\n          ) : (\n            <>\n              <Select\n                target={model}\n                property={'reasonCode'}\n                options={selectOptions}\n                required\n                className=\"mw-512 mb-4\"\n              />\n\n              {/* LICENCE LOST */}\n              {isLostReasonSelected && (\n                <Checkbox\n                  className=\"mb-4\"\n                  target={model}\n                  property={'lostConfirmation'}\n                  label={\n                    <div key=\"lost-confirmation-label\">\n                      <strong className=\"bold\">{translate('confirmation-1')}</strong>\n                      <span className=\"err-message-text-color bold\">\n                        {translate('confirmation-required')}\n                      </span>\n                      {translate('confirmation-2')}\n                    </div>\n                  }\n                />\n              )}\n\n              {/* LICENCE STOLEN */}\n              {isStolenReasonSelected && <Message message={translate('stolen-message')} className=\"mb-4\" />}\n\n              <div className=\"mb-4\">\n                {(newDrivingAuthorizations.length > 0 || existingDrivingAuthorizations.length > 0) &&\n                  (reasonService.isExtensionSelected || reasonService.isOriginalSelected) && (\n                    <div className=\"mb-3\">\n                      <Typography type=\"body\" className=\"mb-4\">\n                        {translate('extensionExplanationPart1')}{' '}\n                        <Typography type=\"body\" bold component=\"span\">\n                          {translate('extensionExplanationBold1')}\n                        </Typography>{' '}\n                        {translate('extensionExplanationPart2')}{' '}\n                        <Typography type=\"body\" bold component=\"span\">\n                          {translate('extensionExplanationBold2')}\n                        </Typography>\n                        {translate('extensionExplanationPart3')}\n                      </Typography>\n\n                      {existingDrivingAuthorizations.length > 0 && (\n                        <div className=\"mb-4\">\n                          <Typography type=\"body\" bold>\n                            {translate('existingDrivingAuthorizationsToRegister')}:\n                          </Typography>\n                          <div className=\"mt-2\">\n                            {existingDrivingAuthorizations.map((group, index) => (\n                              <div key={`existing-${index}`} className=\"d-flex align-items-center mb-2\">\n                                <Typography type=\"body\" bold className=\"me-2\">\n                                  {group.roGroup}\n                                </Typography>\n                                <GovIcon\n                                  size=\"3xl\"\n                                  name={getDrivingAuthorizationIcon(group.roGroup)}\n                                  className=\"me-3\"\n                                />\n                                <Typography type=\"body\">\n                                  {translate('dateOfIssue')}: {DateUtils.dateFormatCz(group.validFrom)}\n                                </Typography>\n                              </div>\n                            ))}\n                          </div>\n                        </div>\n                      )}\n\n                      {newDrivingAuthorizations.length > 0 && existingDrivingAuthorizations.length > 0 && (\n                        <div>\n                          <Typography type=\"body\" bold>\n                            {translate('newDrivingAuthorizationsToRegister')}:\n                          </Typography>\n                          <div className=\"d-flex mt-2 flex-wrap gap-3\">\n                            {newDrivingAuthorizations.map((group, index) => (\n                              <div key={`new-${index}`} className=\"d-flex align-items-center\">\n                                <Typography type=\"body\" bold className=\"me-2\">\n                                  {group.roGroup}\n                                </Typography>\n                                <GovIcon size=\"3xl\" name={getDrivingAuthorizationIcon(group.roGroup)} />\n                              </div>\n                            ))}\n                          </div>\n                        </div>\n                      )}\n\n                      {newDrivingAuthorizations.length > 0 && existingDrivingAuthorizations.length == 0 && (\n                        <div>\n                          <Typography type=\"body\" bold>\n                            {translate('newDrivingAuthorizationsToRegister')}:\n                          </Typography>\n                          <div className=\"mt-2\">\n                            {newDrivingAuthorizations.map((group, index) => (\n                              <div key={`existing-${index}`} className=\"d-flex align-items-center mb-2\">\n                                <Typography type=\"body\" bold className=\"me-2\">\n                                  {group.roGroup}\n                                </Typography>\n                                <GovIcon\n                                  size=\"3xl\"\n                                  name={getDrivingAuthorizationIcon(group.roGroup)}\n                                  className=\"me-3\"\n                                />\n                                <Typography type=\"body\">\n                                  {translate('dateOfIssue')}: {DateUtils.dateFormatCz(group.validFrom)}\n                                </Typography>\n                              </div>\n                            ))}\n                          </div>\n                        </div>\n                      )}\n                    </div>\n                  )}\n              </div>\n\n              {requiresConsent && shouldShowWarning && (\n                <Message color=\"error\" icon=\"components/lightbulb-fill\" className=\"mt-4\">\n                  <div>\n                    <p className=\"mb-3\">{legalGuardianConsentService.translate('consent-base-message')}</p>\n                    {legalGuardianConsentService.consentStatus?.licenceConsent ===\n                      Domain_Contracts_Enums_Crr_LicenceConsent.PENDING && (\n                      <p className=\"mb-3\">\n                        <strong className=\"bold\">\n                          {legalGuardianConsentService.translate('consent-waiting-for-approval')}\n                        </strong>\n                      </p>\n                    )}\n                    <div className=\"d-flex gap-2\">\n                      {(!legalGuardianConsentService.consentStatus ||\n                        legalGuardianConsentService.consentStatus.licenceConsent ===\n                          Domain_Contracts_Enums_Crr_LicenceConsent.NONE ||\n                        legalGuardianConsentService.consentStatus.licenceConsent ===\n                          Domain_Contracts_Enums_Crr_LicenceConsent.REJECTED) && (\n                        <Button\n                          text={legalGuardianConsentService.translate('request-consent-button')}\n                          size=\"s\"\n                          type=\"outlined\"\n                          onClick={openConsentDialog}\n                          testId=\"request-consent-button\"\n                        />\n                      )}\n                      {legalGuardianConsentService.consentStatus?.licenceConsent ===\n                        Domain_Contracts_Enums_Crr_LicenceConsent.PENDING && (\n                        <Button\n                          text={legalGuardianConsentService.translate('check-consent-status-button')}\n                          size=\"s\"\n                          type=\"outlined\"\n                          onClick={() => legalGuardianConsentService.checkConsentStatus(true)}\n                          loading={consentCheckBusyWatcher.isBusy}\n                          testId=\"check-consent-status-button\"\n                        />\n                      )}\n                    </div>\n                  </div>\n                </Message>\n              )}\n            </>\n          )}\n\n          <Dialog\n            headline={legalGuardianConsentService.translate('consent-dialog-title')}\n            isVisible={showConsentDialog}\n            onClose={closeConsentDialog}\n            testId=\"consent-dialog\"\n            bottomChildren={\n              <>\n                <Button\n                  text={legalGuardianConsentService.translate('consent-dialog-cancel')}\n                  type=\"outlined\"\n                  onClick={closeConsentDialog}\n                  testId=\"consent-cancel\"\n                />\n                <Button\n                  text={legalGuardianConsentService.translate('consent-dialog-confirm')}\n                  onClick={createConsentRequest}\n                  loading={createConsentBusyWatcher.isBusy}\n                  testId=\"consent-confirm\"\n                />\n              </>\n            }\n          >\n            <p className=\"mb-3\">{legalGuardianConsentService.translate('consent-dialog-description')}</p>\n            <Message color=\"primary\" icon=\"components/info-circle-fill\" className=\"mt-3\">\n              {legalGuardianConsentService.translate('consent-dialog-warning')}\n            </Message>\n          </Dialog>\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default ReasonWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport DetailsService from './DetailsService';\nimport {\n  Checkbox,\n  GovIcon,\n  LegacyTooltip,\n  Message,\n  Radio,\n  ScreenContext,\n  Skeleton,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport DiscountTag from 'src/app/driver_ng/shared/components/DiscountTag';\nimport './Details.scss';\nimport { Crr_WebApi_Responses_V3_WarningResponse } from 'src/data/crr/apiV3';\nimport ApplicationService from '../ApplicationService';\n\ntype DetailsWizardStepProps = {\n  detailsService: DetailsService;\n  applicationService?: ApplicationService;\n  combined?: boolean;\n  predefinedStep?: number;\n  endWarning?: Crr_WebApi_Responses_V3_WarningResponse | false;\n};\n\nconst DetailsWizardStep = observer(\n  ({\n    detailsService,\n    applicationService,\n    combined,\n    predefinedStep = 0,\n    endWarning,\n  }: DetailsWizardStepProps) => {\n    const {\n      step,\n      translate,\n      model,\n      getRadioOptions,\n      professionalCompetenceFee,\n      displayProfessionalCompetenceCharge,\n      isProfessionalCompetenceAllowed,\n      disableNextStep,\n      isBusy,\n      setIsCombined,\n    } = detailsService;\n\n    return (\n      <ScreenContext value={detailsService}>\n        <WizardItem\n          step={combined ? predefinedStep : step}\n          label={translate('label')}\n          disableNextStep={disableNextStep}\n          onActiveStep={() => {\n            setIsCombined(!!combined);\n            if (applicationService) {\n              applicationService.setupNavigationGuard();\n            } else {\n              detailsService.startGuarding();\n            }\n          }}\n          onBeforeNextStep={() => {\n            detailsService.saveToSessionStorage();\n            return true;\n          }}\n        >\n          {isBusy ? (\n            <Skeleton type=\"line-full\" />\n          ) : (\n            <>\n              <Message className=\"mb-4\" icon=\"components/lightbulb-fill\">\n                <p>{translate('fees-do-not-add-up')}</p>\n              </Message>\n\n              <p className=\"mb-4\">{translate('how-fast')}</p>\n              <div className=\"expedited\">\n                <Radio\n                  target={model}\n                  property={'expeditedString'}\n                  options={getRadioOptions}\n                  gapSize={'xs'}\n                  className=\"mb-4\"\n                />\n                {combined && (\n                  <LegacyTooltip\n                    position=\"right\"\n                    size=\"s\"\n                    className=\"mb-4\"\n                    tooltipContent={translate('expedited-tooltip')}\n                    testId=\"expedited-tooltip\"\n                  >\n                    <GovIcon name=\"components/info-circle-fill\" size=\"l\" />\n                  </LegacyTooltip>\n                )}\n              </div>\n\n              {endWarning && (\n                <Message\n                  className=\"mb-5\"\n                  color=\"warning\"\n                  icon=\"components/info-circle-fill\"\n                  message={endWarning.description ?? ''}\n                />\n              )}\n\n              {isProfessionalCompetenceAllowed && (\n                <>\n                  <p className=\"mb-4\">{translate('professional-competence')}</p>\n\n                  <Checkbox\n                    disabled={detailsService.isProfessionalCompetenceDisabled}\n                    className=\"professionalCompetence mb-4\"\n                    target={model}\n                    property={'professionalCompetence'}\n                    label={\n                      <div key=\"competence-label\">\n                        {translate('professional-competence-checkbox')}\n                        {displayProfessionalCompetenceCharge && (\n                          <>\n                            {': '}\n                            <strong className=\"bold me-3\">{`${professionalCompetenceFee}\\u00A0Kč`}</strong>\n                            <DiscountTag tooltipPosition=\"bottom\" />\n                          </>\n                        )}\n                      </div>\n                    }\n                  />\n                </>\n              )}\n            </>\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default DetailsWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport { Tag } from '@cendis/cedr-components';\nimport useTranslate from '@cendis/cedr-framework/dist/hooks/useTranslate';\nimport './CheckTag.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype CheckTagProps = {\n  className?: string;\n  empty?: boolean;\n};\n\nconst CheckTag = observer(({ className, empty }: CheckTagProps) => {\n  const translate = useTranslate('shared');\n\n  return (\n    <div className={getClassName('discount-tag-wrapper', empty && 'empty')}>\n      <Tag\n        color=\"success\"\n        size=\"xs\"\n        type=\"subtle\"\n        // customLeftIcon={<TickIcon key=\"left-tag-icon\" />}\n        // hoverable={false}\n        className={getClassName('discount-tag', className, empty && 'empty')}\n        iconStart=\"custom/check-circle-fill\"\n        testId=\"check-tag\"\n      >\n        {translate('checkComfort')}\n      </Tag>\n    </div>\n  );\n});\n\nexport default CheckTag;\n","import { observer } from 'mobx-react-lite';\nimport LicenceActivationService from '../LicenceActivationService';\nimport { Input, Message, Radio } from '@cendis/cedr-components';\nimport { ActivateDateTypes } from 'src/enums/ActivateDateTypes';\nimport CheckTag from 'src/app/driver_ng/shared/components/CheckTag';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype LicenceActivationChangeDataProps = {\n  service: LicenceActivationService;\n};\n\nconst LicenceActivationChangeData = observer(({ service }: LicenceActivationChangeDataProps) => {\n  const { translate, activateDateEarliestOption, activateDateFollowUpOption, activateDateCustomOption, model } = service;\n\n  return (\n    <>\n      <Message className=\"mb-4\">\n        {translate('reason-1')} <strong className=\"bold\">{translate('reason-2')}</strong>\n      </Message>\n\n      <p className=\"mb-4\">{translate('validity-from-date')}</p>\n      <div className=\"d-flex flex-row flex-wrap gap-2\">\n        <Radio\n          gapSize=\"s\"\n          options={activateDateEarliestOption}\n          target={model}\n          property={'activateDateType'}\n          orientation=\"vertical\"\n        />\n        <CheckTag className={getClassName('check-tag mt-2')} />\n      </div>\n      {model.activateDateType === ActivateDateTypes.EARLIEST && (\n        <div className=\"licence-activation-data licence-activation-data-inner\">\n          <p>\n            {translate('data-earliest-text-1')} <strong>{model.dateCzFrom}</strong>\n          </p>\n          <p>{translate('data-earliest-text-2')}</p>\n        </div>\n      )}\n      <Radio\n        options={activateDateFollowUpOption}\n        target={model}\n        property={'activateDateType'}\n        orientation=\"vertical\"\n        className=\"mt-3\"\n        gapSize=\"s\"\n      />\n      {model.activateDateType === ActivateDateTypes.FOLLOW_UP && (\n        <div className=\"licence-activation-data licence-activation-data-inner\">\n          <p>\n            {translate('data-follow-up-text-1')} <strong>{model.dateCzTo}</strong>\n          </p>\n          <p>{translate('data-follow-up-text-2')}</p>\n        </div>\n      )}\n      <Radio\n        options={activateDateCustomOption}\n        target={model}\n        property={'activateDateType'}\n        orientation=\"vertical\"\n        className=\"mt-3\"\n        gapSize=\"s\"\n      />\n      {model.activateDateType === ActivateDateTypes.CUSTOM && (\n        <>\n          <div className=\"ms-4 ps-3 licence-activation-data licence-activation-data-inner\">\n            <Input\n              target={model}\n              property={'customDate'}\n              label={translate('validity-from-custom-date')}\n              type=\"date\"\n              className=\"mt-2 mw-input-224 mw-280 flex-grow-1\"\n              min={model.dateFrom}\n              max={model.dateTo}\n              required\n            />\n\n            <p>{translate('data-custom-text')}</p>\n          </div>\n        </>\n      )}\n    </>\n  );\n});\n\nexport default LicenceActivationChangeData;\n","import { observer } from 'mobx-react-lite';\nimport LicenceActivationService from '../LicenceActivationService';\nimport { Message } from '@cendis/cedr-components';\n\ntype LicenceActivationLostProps = {\n  service: LicenceActivationService;\n};\n\nconst LicenceActivationData = observer(({ service }: LicenceActivationLostProps) => {\n  const { translate, model } = service;\n\n  return (\n    <div className=\"licence-activation-data\">\n      <Message className=\"mb-4\">{translate('reason-lost')}</Message>\n\n      <p>\n        {translate('data-lost-earliest-text')} <strong>{model.dateCzFrom}</strong>\n      </p>\n    </div>\n  );\n});\n\nexport default LicenceActivationData;\n","import { observer } from 'mobx-react-lite';\nimport LicenceActivationService from '../LicenceActivationService';\nimport { Message } from '@cendis/cedr-components';\n\ntype LicenceActivationLostProps = {\n  service: LicenceActivationService;\n};\n\nconst LicenceActivationSameDate = observer(({ service }: LicenceActivationLostProps) => {\n  const { translate, model } = service;\n\n  return (\n    <div className=\"licence-activation-data\">\n      <Message className=\"mb-4\">{translate('reason-only-same-date')}</Message>\n\n      <p>\n        {translate('data-lost-earliest-text')} <strong>{model.dateCzFrom}</strong>\n      </p>\n    </div>\n  );\n});\n\nexport default LicenceActivationSameDate;\n","import { observer } from 'mobx-react-lite';\nimport LicenceActivationService from './LicenceActivationService';\nimport { WizardItem, ScreenContext } from '@cendis/cedr-components';\nimport './LicenceActivation.scss';\nimport LicenceActivationChangeData from './components/LicenceActivationChangeData';\nimport LicenceActivationData from './components/LicenceActivationData';\nimport LicenceActivationSameDate from './components/LicenceActivationSameDate';\n\ntype LicenceActivationWizardStepProps = {\n  licenceActivationService: LicenceActivationService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst LicenceActivationWizardStep = observer(\n  ({ licenceActivationService, combined, predefinedStep = 0 }: LicenceActivationWizardStepProps) => {\n    const { step, translate, disableNextStep, saveToSessionStorage, componentWithoutChangeDate, sameDate } =\n      licenceActivationService;\n\n    return (\n      <ScreenContext value={licenceActivationService}>\n        <WizardItem\n          label={translate('label')}\n          step={combined ? predefinedStep : step}\n          disableNextStep={disableNextStep}\n          disabledButtonTooltip={translate('fill-in-required')}\n          useLegacyTooltip={true}\n          onBeforeNextStep={() => {\n            saveToSessionStorage();\n            return true;\n          }}\n        >\n          <>\n            {componentWithoutChangeDate ? (\n              <LicenceActivationData service={licenceActivationService} />\n            ) : (\n              <>\n                {sameDate ? (\n                  <LicenceActivationSameDate service={licenceActivationService} />\n                ) : (\n                  <LicenceActivationChangeData service={licenceActivationService} />\n                )}\n              </>\n            )}\n          </>\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default LicenceActivationWizardStep;\n","import {\n  Checkbox,\n  GovIcon,\n  GovLink,\n  LegacyTooltip,\n  ScreenContext,\n  Skeleton,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport UserInfoService from './UserInfoService';\nimport Table from '@components/gov4/layout/Table';\nimport './UserInfo.scss';\nimport getSupportUrl from 'src/utils/getSupportUrl';\n\ntype UserInfoWizardStepProps = {\n  userInfoService: UserInfoService;\n  combined?: boolean;\n  predefinedStep?: number;\n  root?: boolean;\n};\n\nconst UserInfoWizardStep = observer(\n  ({ userInfoService, combined, predefinedStep = 0, root = false }: UserInfoWizardStepProps) => {\n    const { step, translate, getTableData, isBusy, model, toggleDeclaration } = userInfoService;\n    return (\n      <ScreenContext value={userInfoService}>\n        <WizardItem\n          step={combined ? predefinedStep : step}\n          label={translate('label')}\n          predefinedVariant={combined && !root ? 'success' : undefined}\n          onBeforeNextStep={() => {\n            userInfoService.saveToSessionStorage();\n            return true;\n          }}\n          disableNextStep={!model.declaration}\n          disabledButtonTooltip={translate('fill-in-required')}\n          useLegacyTooltip={true}\n        >\n          {isBusy ? (\n            <Skeleton />\n          ) : (\n            <>\n              <p>\n                {translate('checkInfo')}\n                <GovLink href={'support'} testId=\"support-link\">\n                  {translate('support-link')}\n                </GovLink>\n              </p>\n\n              <Table data={getTableData()} testId=\"user-info\" />\n              <div className=\"declaration-checkbox\">\n                <Checkbox className=\"mt-4 mb-4\" target={model} property={'declaration'} required hideLabel />\n                <div className=\"declaration-checkbox__label\">\n                  <span\n                    onClick={() => {\n                      toggleDeclaration();\n                    }}\n                  >\n                    {translate('declaration-1')}\n                  </span>\n\n                  <LegacyTooltip\n                    position=\"bottom\"\n                    size=\"s\"\n                    tooltipContent={\n                      <span key=\"user-residency-tooltip\">\n                        {translate('declaration-2')}\n                        <br />\n                        {translate('declaration-3')}\n                        <div className=\"mt-2\">{translate('declaration-4')}</div>\n                      </span>\n                    }\n                    testId=\"declaration-tooltip\"\n                  >\n                    <GovIcon name=\"components/info-circle-fill\" size=\"m\" />\n                  </LegacyTooltip>\n                  <span className=\"gov-color--error-500 required-asterisk\">&nbsp;*</span>\n                </div>\n              </div>\n            </>\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default UserInfoWizardStep;\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './PromptListItem.scss';\n\ntype PromptListItemProps = {\n  label: ReactNode;\n  value: ReactNode;\n  className?: string;\n  lowerCaseValue?: boolean;\n  crowns?: string\n};\n\nconst PromptListItem = observer(({ label, value, className, lowerCaseValue, crowns }: PromptListItemProps) => {\n  return (\n    <li className={getClassName('prompt-list-item', className)}>\n      {label}\n      {': '}\n      <strong className={getClassName('bold', lowerCaseValue && 'lower-case-first-letter')}>{value} {crowns}</strong>\n    </li>\n  );\n});\n\nexport default PromptListItem;\n","import { observer } from 'mobx-react-lite';\nimport {\n  Button,\n  Dialog,\n  Message,\n  ScreenContext,\n  Skeleton,\n  useWizardContext,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport ApplicationService from '../ApplicationService';\nimport WizardStepSummary from 'src/app/driver_ng/shared/components/WizardStepSummary';\nimport PromptListItem from 'src/app/driver_ng/shared/components/PromptListItem';\nimport { useGrandAccordionContext } from 'src/app/driver_ng/shared/components/GrandAccordion/GrandAccordion';\nimport ErrorEmpty from 'src/app/driver_ng/shared/components/ErrorEmpty';\nimport './SummaryWizardStep.scss';\n\ntype SummaryWizardStepProps = {\n  applicationService: ApplicationService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst SummaryWizardStep = observer(\n  ({ applicationService, combined, predefinedStep = 0 }: SummaryWizardStepProps) => {\n    const {\n      translate,\n      summaryPromptVisible,\n      closePrompt,\n      busyWatcher,\n      submitApplication,\n      summaryService,\n      sharedDataService,\n      combinedApplicationPromptVisible,\n      closeCombinedApplicationPrompt,\n      openCombinedApplicationPrompt,\n      goToCombinedApplication,\n      onBeforeNextStepWithDelivery,\n      paymentService,\n      canOfferCombinedApplication,\n      showDiscouragementBox,\n    } = applicationService;\n    const { isTachographReasonDataBusy } = sharedDataService;\n    const { activeStep, setActiveStep } = useWizardContext();\n    const context = useGrandAccordionContext();\n\n    const combinedHandler = () => {\n      // if combined and step is not disabled, go to combined tachograph step\n      context.setActiveStep(context.activeStep + 1);\n      return false;\n    };\n\n    // sending disabled is true after some error with payment data\n    const isFormDisabled =\n      paymentService.priceBusyWatcher.isBusy ||\n      isTachographReasonDataBusy ||\n      applicationService.sendingDisabled;\n\n    const onBeforeHandler = combined ? combinedHandler : onBeforeNextStepWithDelivery;\n\n    return (\n      <ScreenContext value={summaryService}>\n        <WizardItem\n          label={translate('summary.newLabel')}\n          step={combined ? predefinedStep : applicationService.summaryStep}\n          hideControlledButton={!!(canOfferCombinedApplication && showDiscouragementBox && !combined)}\n          controlledButtonProps={{\n            text: translate('summary.next'),\n            loading: isTachographReasonDataBusy,\n            testId: 'summary-step-continue',\n            disabled: isFormDisabled,\n          }}\n          onBeforeNextStep={onBeforeHandler}\n          onActiveStep={() => applicationService.getPayment()}\n\n          //disableNextStep={applicationService.sendingDisabled} Not working with controlledButtonProps\n        >\n          {!applicationService.sendingDisabled ? (\n            <>\n              <WizardStepSummary\n                title={applicationService.reasonService.translate('label')}\n                returnToStep={applicationService.reasonService.step}\n                data={applicationService.reasonService.summaryData}\n                className={applicationService.reasonService.allDrivingAuthorizations.length > 0 ? 'mb-0' : ''}\n              />\n\n              {applicationService.reasonService.allDrivingAuthorizations.length > 0 && (\n                <div className=\"column-wrapper\">\n                  <WizardStepSummary\n                    data={applicationService.reasonService.sumaryDrivingAuthorizationsData}\n                  />\n                </div>\n              )}\n\n              <WizardStepSummary\n                title={applicationService.detailsService.translate('label')}\n                returnToStep={applicationService.detailsService.step}\n                data={applicationService.detailsService.summaryData}\n              />\n\n              {applicationService.showMentorStep && (\n                <WizardStepSummary\n                  title={applicationService.mentorService.translate('label')}\n                  returnToStep={applicationService.mentorService.step}\n                  paragraphs={applicationService.mentorService.summaryMentorData}\n                />\n              )}\n              <WizardStepSummary\n                title={applicationService.licenceActivationService.translate('label')}\n                returnToStep={applicationService.licenceActivationService.step}\n                data={applicationService.licenceActivationService.summaryData}\n              />\n              <WizardStepSummary\n                title={applicationService.userInfoService.translate('label')}\n                data={applicationService.userInfoService.getSummaryData()}\n              />\n              <WizardStepSummary\n                title={applicationService.pickUpPointService.translate('item3.header')}\n                returnToStep={applicationService.pickUpPointService.step}\n                data={applicationService.pickUpPointService.summaryData}\n              />\n              <WizardStepSummary\n                title={applicationService.photoSignatureService.translate('label')}\n                returnToStep={applicationService.photoSignatureService.step}\n                data={applicationService.photoSignatureService.summaryData}\n              />\n              {/* BOTTOM MESSAGE */}\n              {paymentService.priceBusyWatcher.isBusy ? (\n                <Skeleton />\n              ) : (\n                <>\n                  <Message>\n                    <p>\n                      {translate('final-charge')}:{' '}\n                      <span className=\"bold\">{`${applicationService.paymentService.model.amount}\\u00A0Kč`}</span>\n                    </p>\n                  </Message>\n                  {canOfferCombinedApplication && showDiscouragementBox && !combined && (\n                    <>\n                      <p className=\"pt-3 pb-3\">{translate('digital-tachograph-card-info')}</p>\n                      <div className=\"d-flex align-items-center gap-3\">\n                        <Button\n                          testId=\"driver-license\"\n                          text={translate('driver-license-btn')}\n                          onClick={() => setActiveStep(activeStep + 1)}\n                        />\n                        <Button\n                          testId=\"driver-card\"\n                          type=\"outlined\"\n                          text={translate('driver-card-btn')}\n                          onClick={() => openCombinedApplicationPrompt()}\n                        />\n                      </div>\n                    </>\n                  )}\n                </>\n              )}\n              {/* PROMPT */}\n              <Dialog\n                headline={translate('prompt.headline')}\n                isVisible={summaryPromptVisible}\n                onClose={closePrompt}\n                testId=\"driver-licence-application-dialog\"\n                bottomChildren={\n                  <>\n                    <Button\n                      text={translate('prompt.stay-on-page')}\n                      type=\"outlined\"\n                      onClick={closePrompt}\n                      testId=\"close-prompt\"\n                    />\n                    <Button\n                      text={translate('prompt.submit')}\n                      onClick={() => submitApplication(false)}\n                      loading={busyWatcher.isBusy}\n                      testId=\"submit-prompt\"\n                    />\n                  </>\n                }\n              >\n                <p className=\"mb-2\">{translate('prompt.description')}</p>\n\n                <ul className=\"ms-4 mb-2\">\n                  {applicationService.reasonService.summaryPromptData.map(({ label, value }, index) => {\n                    return (\n                      <PromptListItem label={label} value={value} key={`reason-${index}`} lowerCaseValue />\n                    );\n                  })}\n\n                  {applicationService.detailsService.summaryPromptData.map(({ label, value }, index) => {\n                    return <PromptListItem label={label} value={value} key={`details-${index}`} />;\n                  })}\n\n                  {applicationService.pickUpPointService.summaryPromptData.map(({ label, value }, index) => {\n                    return <PromptListItem label={label} value={value} key={`pickup-${index}`} />;\n                  })}\n                </ul>\n\n                {applicationService.reasonService.isStolenReasonSelected && (\n                  <p className=\"bold mb-2\">{translate('prompt.stolen-police-protocol')}</p>\n                )}\n\n                {translate('prompt.confirmation')}\n              </Dialog>\n              {/* COMBINED APPLICATION PROMPT*/}\n              <Dialog\n                headline={\n                  applicationService.detailsService.model.expedited\n                    ? translate('combinedPrompt.expedited-headline')\n                    : translate('combinedPrompt.headline')\n                }\n                isVisible={applicationService.canOpenPrompt && combinedApplicationPromptVisible}\n                testId=\"driver-licence-application-combined\"\n                bottomChildren={\n                  applicationService.detailsService.model.expedited ? (\n                    <>\n                      <Button\n                        text={translate('combinedPrompt.expedited-return')}\n                        type=\"outlined\"\n                        onClick={() => {\n                          closeCombinedApplicationPrompt();\n                          setActiveStep(applicationService.detailsService.step);\n                        }}\n                        testId=\"expedited-return\"\n                      />\n                      <Button\n                        text={translate('combinedPrompt.submit-one-application')}\n                        onClick={() => {\n                          closeCombinedApplicationPrompt();\n                          setActiveStep(activeStep + 1);\n                        }}\n                        testId=\"submit-one-application\"\n                      />\n                    </>\n                  ) : (\n                    <>\n                      <Button\n                        type=\"outlined\"\n                        text={translate('combinedPrompt.submit-both-applications')}\n                        onClick={goToCombinedApplication}\n                        testId=\"submit-both-applications\"\n                      />\n                      <Button\n                        text={translate('combinedPrompt.submit-one-application')}\n                        onClick={() => {\n                          closeCombinedApplicationPrompt();\n                          setActiveStep(activeStep + 1);\n                        }}\n                        testId=\"submit-one-application\"\n                      />\n                    </>\n                  )\n                }\n                onClose={closeCombinedApplicationPrompt}\n              >\n                {applicationService.detailsService.model.expedited ? (\n                  <>\n                    {showDiscouragementBox && (\n                      <Message color=\"warning\" icon=\"components/info-circle-fill\" className={'mb-4'}>\n                        <p>\n                          <span className=\"bold\">{translate('combinedPrompt.attention')}</span>{' '}\n                          {translate('combinedPrompt.attention-message')}\n                        </p>\n                      </Message>\n                    )}\n                    <p>\n                      {translate('combinedPrompt.expedited-conditions-met-start')}\n                      <span className=\"bold\">\n                        {translate('combinedPrompt.expedited-conditions-met-reason')}\n                      </span>\n                      {translate('combinedPrompt.expedited-conditions-met-middle')}\n                      <span className=\"bold\">\n                        {translate('combinedPrompt.expedited-conditions-met-result')}\n                      </span>\n                      {translate('combinedPrompt.expedited-conditions-met-end')}\n                    </p>\n                  </>\n                ) : (\n                  <>\n                    {showDiscouragementBox && (\n                      <Message color=\"warning\" icon=\"components/info-circle-fill\" className={'mb-4'}>\n                        <p>\n                          <span className=\"bold\">{translate('combinedPrompt.attention')}</span>{' '}\n                          {translate('combinedPrompt.attention-message')}\n                        </p>\n                      </Message>\n                    )}\n                    <p>{translate('combinedPrompt.conditions-met')}</p>\n                    <br />\n\n                    <p>{translate('combinedPrompt.advantage')}</p>\n                    <br />\n                    <p>{translate('combinedPrompt.one-fee')}</p>\n                  </>\n                )}\n              </Dialog>\n            </>\n          ) : (\n            <ErrorEmpty translate={paymentService.translate} />\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default SummaryWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport { WizardItem, ScreenContext, CheckboxGroup } from '@cendis/cedr-components';\nimport './Mentor.scss';\nimport MentorService from './MentorService';\nimport ApplicationService from '../ApplicationService';\n\ntype MentorWizardStepProps = {\n  mentorService: MentorService;\n  applicationService: ApplicationService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst MentorWizardStep = observer(\n  ({ mentorService, applicationService, predefinedStep = 0 }: MentorWizardStepProps) => {\n    const { translate, disableNextStep, saveToSessionStorage, selectMentorOptions } = mentorService;\n\n    return (\n      <ScreenContext value={mentorService}>\n        <WizardItem\n          label={translate('label')}\n          step={predefinedStep}\n          disableNextStep={disableNextStep}\n          disabledButtonTooltip={translate('fill-in-required')}\n          useLegacyTooltip={true}\n          onBeforeNextStep={() => {\n            saveToSessionStorage();\n            return true;\n          }}\n        >\n          <p>\n            {translate('description-1')} <span className=\"bold\">{translate('description-2')}</span>{' '}\n            {translate('description-3')}\n          </p>\n          <p className=\"pt-4 pb-4\">{translate('select-title')}</p>\n\n          {mentorService.validMentors && mentorService.validMentors.length > 0 && (\n            <CheckboxGroup\n              className=\"mb-4\"\n              target={selectMentorOptions}\n              property=\"options\"\n              options={applicationService.mentorsOptions}\n            />\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default MentorWizardStep;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport WizardContainer from 'src/app/driver_ng/shared/components/WizardContainer';\nimport { Wizard } from '@cendis/cedr-components';\nimport ApplicationService from '../../driverLicence/driverLicenceApplication/ApplicationService';\nimport DeliveryChoiceWizardStep from '../../driverLicence/driverLicenceApplication/08_DeliveryChoice/DeliveryChoiceWizardStep';\nimport PaymentWizardStep from '../../driverLicence/driverLicenceApplication/10_Payment/PaymentWizardStep';\nimport ReasonWizardStep from '../../driverLicence/driverLicenceApplication/01_Reason/ReasonWizardStep';\nimport DetailsWizardStep from '../../driverLicence/driverLicenceApplication/02_Details/DetailsWizardStep';\nimport LicenceActivationWizardStep from '../../driverLicence/driverLicenceApplication/03_LicenceActivation/LicenceActivationWizardStep';\nimport UserInfoWizardStep from '../../driverLicence/driverLicenceApplication/04_UserInfo/UserInfoWizardStep';\nimport PickUpPointWizardStep from '../../shared/components/PickUpPointWizardStep';\nimport PhotoSignatureWizardStep from '../../shared/components/PhotoSignatureWizardStep';\nimport ContactDetailWizardStep from '../../driverLicence/driverLicenceApplication/09_Contact/ContactDetailWizardStep';\nimport SummaryWizardStep from '../../driverLicence/driverLicenceApplication/07_Summary/SummaryWizardStep';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport { observer } from 'mobx-react-lite';\nimport MentorWizardStep from '../../driverLicence/driverLicenceApplication/03_Menteor/MentorWizardStep';\nimport { WizardStepListener } from '../WizardStepListener/WizardStepListener';\n\ntype DriverLicenceStepsProps = {\n  translate: Translator;\n  applicationService: ApplicationService;\n  combined?: boolean;\n  root?: boolean;\n};\n\nconst DriverLicenceSteps = observer(\n  ({ applicationService, combined = false, root = false }: DriverLicenceStepsProps) => {\n    return (\n      <WizardContainer combined={combined}>\n        <Wizard wizardContext={applicationService.wizardContext} className=\"mb-5\">\n          <WizardStepListener onStepChange={applicationService.continueAction} />\n          <ReasonWizardStep\n            reasonService={applicationService.reasonService}\n            applicationService={applicationService}\n            combined={combined}\n            predefinedStep={1}\n          />\n          <DetailsWizardStep\n            detailsService={applicationService.detailsService}\n            applicationService={applicationService}\n            combined={combined}\n            predefinedStep={2}\n            endWarning={applicationService.pzrEndWarning}\n          />\n          {applicationService.showMentorStep && (\n            <MentorWizardStep\n              predefinedStep={3}\n              mentorService={applicationService.mentorService}\n              applicationService={applicationService}\n            />\n          )}\n\n          <LicenceActivationWizardStep\n            licenceActivationService={applicationService.licenceActivationService}\n            combined={combined}\n            predefinedStep={applicationService.showMentorStep ? 4 : 3}\n          />\n\n          <UserInfoWizardStep\n            userInfoService={applicationService.userInfoService}\n            combined={combined}\n            predefinedStep={applicationService.showMentorStep ? 5 : 4}\n            root={root}\n          />\n          <PickUpPointWizardStep\n            pickUpPointService={applicationService.pickUpPointService}\n            combined={combined}\n            predefinedStep={applicationService.showMentorStep ? 6 : 5}\n            predefinedApplicationType={DriverApplication.DRIVER_LICENCE}\n            root={root}\n          />\n          <PhotoSignatureWizardStep\n            photoSignatureService={applicationService.photoSignatureService}\n            photoWarning={applicationService.photoWarning}\n            signatureWarning={applicationService.signatureWarning}\n            combined={combined}\n            predefinedStep={applicationService.showMentorStep ? 7 : 6}\n            predefinedApplicationType={DriverApplication.DRIVER_LICENCE}\n            isDataChangeReasonSelected={applicationService.reasonService.isDataChangeReasonSelected}\n            root={root}\n            isFromDriverLicence={false}\n          />\n\n          <SummaryWizardStep\n            applicationService={applicationService}\n            combined={combined}\n            predefinedStep={applicationService.showMentorStep ? 8 : 7}\n          />\n          {!combined && (\n            <>\n              <DeliveryChoiceWizardStep\n                deliveryChoiceService={applicationService.deliveryChoiceService}\n                pickUpPointService={applicationService.pickUpPointService}\n              />\n              <ContactDetailWizardStep\n                contactDetailService={applicationService.contactDetailService}\n                combined={combined}\n                predefinedStep={applicationService.showMentorStep ? 10 : 9}\n                paymentService={applicationService.paymentService}\n                applicationService={applicationService}\n              />\n\n              <PaymentWizardStep\n                applicationService={applicationService}\n                applicationType={DriverApplication.DRIVER_LICENCE}\n                paymentService={applicationService.paymentService}\n              />\n            </>\n          )}\n        </Wizard>\n      </WizardContainer>\n    );\n  }\n);\n\nexport default DriverLicenceSteps;\n","import React from 'react';\nimport { Button } from '@cendis/cedr-components';\n\ninterface InfoCardProps {\n  description: string;\n  infoText: string;\n  infoNumber?: number | string;\n  buttonText: string;\n  onButtonClick: () => void;\n  testId: string;\n}\n\nconst InfoCard: React.FC<InfoCardProps> = ({\n  description,\n  infoText,\n  infoNumber,\n  buttonText,\n  onButtonClick,\n  testId,\n}) => {\n  return (\n    <div className=\"info-card\">\n      <div className=\"gov-text--m pb-4\">\n        <div>{description}</div>\n      </div>\n      <div className=\"points-info gov-text--m mb-2rem px-2 py-2\">\n        <span className=\"points-text\">{infoText}</span>\n        <span className=\"points-number\">{infoNumber}</span>\n      </div>\n      <div>\n        <Button\n          size=\"l\"\n          type=\"link\"\n          iconEnd={'components/chevron-right'}\n          onClick={onButtonClick}\n          testId={`info-card-link-${testId}`}\n        >\n          <span className=\"c:text-lg c:font-normal\">{buttonText}</span>\n        </Button>\n      </div>\n    </div>\n  );\n};\n\nexport default InfoCard;\n","import React from 'react';\nimport { Skeleton } from '@cendis/cedr-components';\n\nexport type LoaderComponentProps = {\n  color?: 'primary' | 'neutral' | undefined; // TODO export SkeletonProps from CEDR components\n};\n\nconst LoaderComponent: React.FC<LoaderComponentProps> = ({ color }) => {\n  return (\n    <div className=\"mw-800\">\n      <Skeleton type=\"box\" animation=\"progress\" color={color} />\n    </div>\n  );\n};\n\nexport default LoaderComponent;\n","import React from 'react';\n\n\n\nconst BanIcon = ({ }) => {\n\n  return (\n    <svg width=\"56\" height=\"56\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n      <g clipPath=\"url(#clip0_3610_20950)\">\n        <path\n          d=\"M13.1767 42H34.8228C35.5781 41.5449 36.3024 41.0436 36.9918 40.5H24V37.5C24 34.689 22.6355 32.1967 20.5327 30.6494L19.4571 31.725C21.2947 32.9866 22.5 35.1025 22.5 37.5V40.5H11.0081C11.6974 41.0436 12.4216 41.5449 13.1767 42Z\"\n          fill=\"#D96671\" />\n        <path d=\"M5.93761 42C4.85662 40.9153 3.87271 39.7338 3 38.4696V40C3 41.1046 3.89543 42 5 42H5.93761Z\"\n              fill=\"#D96671\" />\n        <path d=\"M3 9.53039V8C3 6.89543 3.89543 6 5 6H5.93761C4.85662 7.08471 3.87271 8.26621 3 9.53039Z\"\n              fill=\"#D96671\" />\n        <path\n          d=\"M34.8233 6H13.1772C12.4219 6.45511 11.6976 6.95641 11.0082 7.5H36.9919C36.3026 6.95638 35.5784 6.45508 34.8233 6Z\"\n          fill=\"#D96671\" />\n        <path d=\"M42.0624 6C43.1434 7.08471 44.1273 8.26622 45 9.53039V8C45 6.89543 44.1046 6 43 6H42.0624Z\"\n              fill=\"#D96671\" />\n        <path d=\"M45 38.4696V40C45 41.1046 44.1046 42 43 42H42.0624C43.1434 40.9153 44.1273 39.7338 45 38.4696Z\"\n              fill=\"#D96671\" />\n        <path d=\"M45 24C45 21.2393 44.4678 18.6038 43.5 16.1897V31.8093C44.4676 29.3952 45 26.7598 45 24Z\"\n              fill=\"#D96671\" />\n        <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n              d=\"M36.0878 15.0943L36.2692 15.3846H38.3846C39.7866 15.3846 40.9231 16.5211 40.9231 17.9231V19.6154C40.9231 20.55 40.1654 21.3077 39.2308 21.3077H39.087C38.7388 22.294 37.7983 23.0008 36.6928 23.0008C35.5872 23.0008 34.6467 22.294 34.2985 21.3077H30.6242C30.2759 22.294 29.3354 23.0008 28.2299 23.0008C28.2138 23.0008 28.1978 23.0006 28.1818 23.0003L31.1436 20.0385H34.1895C34.3912 18.8383 35.4352 17.9238 36.6928 17.9238C37.9503 17.9238 38.9943 18.8383 39.196 20.0385H39.2308C39.4644 20.0385 39.6538 19.849 39.6538 19.6154V17.9231C39.6538 17.2221 39.0856 16.6538 38.3846 16.6538L34.5282 16.6539L36.0878 15.0943ZM37.962 20.4623C37.962 21.1633 37.3937 21.7315 36.6928 21.7315C35.9918 21.7315 35.4235 21.1633 35.4235 20.4623C35.4235 19.7613 35.9918 19.1931 36.6928 19.1931C37.3937 19.1931 37.962 19.7613 37.962 20.4623Z\"\n              fill=\"#D96671\" />\n        <path\n          d=\"M32.8181 12H29.3151C28.3556 12 27.4412 12.4072 26.7993 13.1204L24.6516 15.5067C24.2321 15.9729 24 16.5778 24 17.2049V19.6154C24 19.9575 24.1015 20.2759 24.2761 20.5421L25.2692 19.5489V17.2049C25.2692 17.0126 25.3129 16.8245 25.395 16.654L28.1642 16.654L29.4334 15.3848H26.469L27.7427 13.9695C28.1439 13.5238 28.7154 13.2692 29.3151 13.2692H31.5489L32.8181 12Z\"\n          fill=\"#D96671\" />\n        <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n              d=\"M20.7829 24.0353C20.9242 23.548 21 23.0329 21 22.5C21 19.4624 18.5376 17 15.5 17C12.4624 17 10 19.4624 10 22.5C10 25.5376 12.4624 28 15.5 28C16.0329 28 16.548 27.9242 17.0353 27.7829L20.7829 24.0353ZM19.5 22.5C19.5 24.7091 17.7091 26.5 15.5 26.5C13.2909 26.5 11.5 24.7091 11.5 22.5C11.5 20.2909 13.2909 18.5 15.5 18.5C17.7091 18.5 19.5 20.2909 19.5 22.5Z\"\n              fill=\"#D96671\" />\n        <path\n          d=\"M15.8125 29.0056C15.7088 29.0019 15.6046 29 15.5 29C11.1701 29 7.59634 32.2375 7.06747 36.4239C7.25435 36.6782 7.44683 36.9281 7.64473 37.1734L8.62103 36.1971C9.15211 33.3759 11.3759 31.1521 14.1971 30.621L15.8125 29.0056Z\"\n          fill=\"#D96671\" />\n        <path d=\"M4.5 31.8103V16.1907C3.53236 18.6048 3 21.2402 3 24C3 26.7607 3.53222 29.3962 4.5 31.8103Z\"\n              fill=\"#D96671\" />\n        <path\n          d=\"M35.25 30.5C35.6642 30.5 36 30.8358 36 31.25C36 31.6642 35.6642 32 35.25 32H27.75C27.3358 32 27 31.6642 27 31.25C27 30.8358 27.3358 30.5 27.75 30.5H35.25Z\"\n          fill=\"#D96671\" />\n        <path\n          d=\"M39.25 36C39.6642 36 40 35.6642 40 35.25C40 34.8358 39.6642 34.5 39.25 34.5H27.75C27.3358 34.5 27 34.8358 27 35.25C27 35.6642 27.3358 36 27.75 36H39.25Z\"\n          fill=\"#D96671\" />\n        <path fillRule=\"evenodd\" clipRule=\"evenodd\"\n              d=\"M48 24C48 37.2548 37.2548 48 24 48C10.7452 48 0 37.2548 0 24C0 10.7452 10.7452 0 24 0C37.2548 0 48 10.7452 48 24ZM46.5 24C46.5 36.4264 36.4264 46.5 24 46.5C18.0566 46.5 12.6515 44.1956 8.62927 40.4315L40.4315 8.62927C44.1956 12.6515 46.5 18.0566 46.5 24ZM7.56861 39.3708L39.3708 7.56861C35.3486 3.80446 29.9434 1.5 24 1.5C11.5736 1.5 1.5 11.5736 1.5 24C1.5 29.9434 3.80446 35.3486 7.56861 39.3708Z\"\n              fill=\"#9E0615\" />\n      </g>\n      <defs>\n        <clipPath id=\"clip0_3610_20950\">\n          <rect width=\"48\" height=\"48\" fill=\"white\" />\n        </clipPath>\n      </defs>\n    </svg>\n  );\n};\n\nexport default BanIcon;\n","import { GovIcon, Typography } from '@cendis/cedr-components';\nimport './NoDriverData.scss';\nimport BanIcon from './BanIcon';\n\nexport type NoDriverDataProps = {\n  title?: string;\n  text?: string;\n  iconVersion?: 'banIcon' | 'emptyFile';\n  colorVersion?: 'emptyFile' | 'banColor';\n  type?: 'row' | 'column';\n  className?: string;\n};\n\nconst NoDriverData = ({\n  title,\n  text,\n  iconVersion = 'emptyFile',\n  colorVersion = 'emptyFile',\n  type = 'column',\n  className = '',\n}: NoDriverDataProps) => {\n  const icon = iconVersion === 'banIcon' ? 'banIcon' : 'colored/empty-file';\n  const color = colorVersion === 'banColor' ? 'error' : 'primary';\n  const circleClass = iconVersion === 'banIcon' ? 'banIcon' : 'emptyFile';\n\n  return (\n    <div className={`no-driver-data no-driver-data--${type} ${className}`}>\n      <div className={`circle-${circleClass}`}>\n        {icon === 'banIcon' ? <BanIcon /> : <GovIcon color={color} name={icon} />}\n      </div>\n      {title && (\n        <Typography size=\"l\" type=\"body\" component={'h3'} fontWeight={500} className=\"px-md-0 mb-4 px-20\">\n          {title}\n        </Typography>\n      )}\n      {text && <Typography>{text}</Typography>}\n    </div>\n  );\n};\n\nexport default NoDriverData;\n","import { observer } from 'mobx-react-lite';\nimport { Button, Message } from '@cendis/cedr-components';\nimport ConditionalView from '@components/gov4/ConditionalView';\n\nexport type NotificationButtonProps = {\n  text: string;\n  onClick: () => void;\n  required: ((x: any) => boolean)[];\n  message: string;\n};\n\nconst NotificationButton = observer(({ text, onClick, required, message }: NotificationButtonProps) => {\n  return (\n    <Message className=\"mb-3 py-3\">\n      <div>{message}</div>\n      <div className=\"mt-1 pt-2\">\n        <ConditionalView required={required}>\n          <Button\n            size=\"l\"\n            type=\"link\"\n            iconEnd=\"components/chevron-right\"\n            onClick={onClick}\n            testId=\"notification-button\"\n          >\n            <div className=\"information-text\">{text}</div>\n          </Button>\n        </ConditionalView>\n      </div>\n    </Message>\n  );\n});\n\nexport default NotificationButton;\n","import { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport LoaderComponent from './Loader';\nimport './PanelWrapper.scss';\nimport { GovIcon, LegacyTooltip, Typography } from '@cendis/cedr-components';\n\nexport type PanelWrapperProps = {\n  children?: ReactNode;\n  className?: string;\n  title?: string | null;\n  loading?: boolean;\n  variant?: 'primary' | 'neutral' | undefined;\n  button?: ReactNode;\n  hideButton?: boolean;\n  tooltip?: ReactNode;\n};\n\nconst PanelWrapper = observer(\n  ({ children, className, title, button, hideButton, loading, variant, tooltip }: PanelWrapperProps) => {\n    return (\n      <div className={`panel-wrapper ${className || ''}`}>\n        {(title || (button && !hideButton)) && (\n          <div className=\"panel-header\">\n            {title && (\n              <Typography component={'h2'} size=\"m\" fontWeight={400} type=\"headline\">\n                {title}\n                {tooltip && (\n                  <LegacyTooltip\n                    position=\"bottom\"\n                    size=\"m\"\n                    className=\"c:ml-[10px]\"\n                    tooltipContent={tooltip}\n                    testId=\"panel-tooltip\"\n                  >\n                    <GovIcon name=\"components/info-circle-fill\" size=\"l\" />\n                  </LegacyTooltip>\n                )}\n              </Typography>\n            )}\n            {button && !hideButton && loading === false && <div className=\"panel-button\">{button}</div>}\n          </div>\n        )}\n        {loading ? <LoaderComponent color={variant} /> : children}\n      </div>\n    );\n  }\n);\n\nexport default PanelWrapper;\n","import { useEffect } from 'react';\nimport { useWizardContext } from '@cendis/cedr-components';\nimport { reaction } from 'mobx';\n\ntype Props = {\n  onStepChange?: (next: number, prev: number) => void;\n};\n\nexport function WizardStepListener({ onStepChange }: Props) {\n  const wizardContext = useWizardContext();\n\n  useEffect(() => {\n    const dispose = reaction(\n      () => wizardContext.activeStep,\n      (next, prev) => {\n        onStepChange?.(next, prev);\n      }\n    );\n\n    return () => dispose();\n  }, [wizardContext, onStepChange]);\n\n  return null;\n}\n","import { Button, GovIcon, ToastProps, ToastService } from '@cendis/cedr-components/dist';\nimport { Container } from 'typedi';\nimport './CopyButton.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\nexport type CopyButtonProps = {\n  value: string | null | undefined;\n  content: string;\n  className?: string;\n};\n\nfunction onClick(value: string | null | undefined, content: string) {\n  if (value) {\n    const toast = Container.get(ToastService);\n    navigator.clipboard.writeText(value);\n\n    toast.addToast('Copied to clipboard', content, {\n      color: 'neutral',\n      icon: 'components/info-circle-fill',\n      animateDirection: 'forward',\n    });\n  }\n}\n\nconst CopyButton: React.FC<CopyButtonProps> = ({ value, content, className }) => {\n  return (\n    <Button\n      className={getClassName('copy-button', className)}\n      type=\"base\"\n      onClick={() => onClick(value, content)}\n      size=\"s\"\n      testId={`copy-${value}`}\n    >\n      <GovIcon name=\"components/copy\" size=\"s\" />\n    </Button>\n  );\n};\n\nexport default CopyButton;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Message } from '@cendis/cedr-components';\nimport { Crr_WebApi_Responses_V3_PointsRatingResponse } from 'src/data/crr/apiV3/models/Crr_WebApi_Responses_V3_PointsRatingResponse';\nimport { Crr_WebApi_Responses_V3_DriverNotificationsStatusResponse } from '../../../../data/crr/apiV3';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport './DriverPoints.scss';\nimport NoDriverData from '../../components/NoDriverData';\nimport NotificationButton from '../../components/NotificationButton';\nimport InfoCard from '../../components/InfoCard';\n\nexport type DriverPointsProps = {\n  points?: Crr_WebApi_Responses_V3_PointsRatingResponse;\n  translate: Translator;\n  notificationInfo?: Crr_WebApi_Responses_V3_DriverNotificationsStatusResponse;\n  onNavigateToNotification: () => void;\n  busyWatcher: BusyWatcher;\n};\nconst DriverPoints = observer(\n  ({ points, translate, notificationInfo, onNavigateToNotification }: DriverPointsProps) => {\n    const shouldShowMessage = !(\n      notificationInfo?.application ||\n      notificationInfo?.email ||\n      notificationInfo?.textMessage\n    );\n\n    const handleNotificationClick = () => {\n      onNavigateToNotification();\n    };\n\n    const notificationButtonMessage = (\n      <Message color=\"error\">\n        <p>\n          {translate('driverPoints.ban1')}\n          <span className=\"fw-bold\">{translate('driverPoints.ban2')}</span>\n          {translate('driverPoints.ban3')}\n          <span className=\"fw-bold\">{translate('driverPoints.ban4')}</span>\n        </p>\n      </Message>\n    );\n\n    return (\n      <>\n        {!points ? (\n          <NoDriverData text={translate('driverPoints.info')} />\n        ) : (\n          <>\n            {points.currentState === 12 && (\n              <div className=\"pt-2 pb-2\">\n                <ConditionalView required={[(x) => x.CRR_DRIVING_CARD_NOTIFICATIONS]}>\n                  {notificationButtonMessage}\n                </ConditionalView>\n              </div>\n            )}\n            {shouldShowMessage && (\n              <NotificationButton\n                text={translate('notification.button.text')}\n                onClick={handleNotificationClick}\n                required={[(x) => x.CRR_DRIVING_CARD_NOTIFICATIONS]}\n                message={translate('driverPoints.information')}\n              />\n            )}\n            <InfoCard\n              description={translate('driverPoints.description')}\n              infoText={translate('driverPoints.info')}\n              infoNumber={points.currentState}\n              buttonText={translate('driverPoints.next')}\n              onButtonClick={handleNotificationClick}\n              testId=\"driver-points\"\n            />\n          </>\n        )}\n      </>\n    );\n  }\n);\n\nexport default DriverPoints;\n","import { observer } from 'mobx-react-lite';\nimport { Crr_WebApi_Responses_V3_ZrmvResponse } from 'src/data/crr/apiV3';\nimport './DriverBanRow.scss';\nimport { DriverBanListProps } from './DriverBanList';\nimport { GovIcon } from '@cendis/cedr-components/dist';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DateUtils from 'src/utils/DateUtils';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { KeyboardEventHandler, useMemo } from 'react';\n\ntype DriverBanRowProps = {\n  driverBan: Crr_WebApi_Responses_V3_ZrmvResponse;\n  navToDriverBanDetail: DriverBanListProps['navToDriverBanDetail'];\n  translate: Translator;\n  testId: string;\n};\n\nconst DriverBanRow = observer(({ driverBan, navToDriverBanDetail, translate, testId }: DriverBanRowProps) => {\n  const isExpiredBan = driverBan.dateTo ? new Date(driverBan.dateTo) < new Date() : false;\n\n  const monthDuration = useMemo(() => {\n    if (driverBan.dateTo && !driverBan.dateFrom) return translate('unlimited-ban');\n\n    if (driverBan.dateFrom && driverBan.dateTo) {\n      const start = new Date(driverBan.dateFrom);\n      const end = new Date(driverBan.dateTo);\n\n      const monthNumber = (end.getFullYear() - start.getFullYear()) * 12 + (end.getMonth() - start.getMonth());\n\n      return `${monthNumber} ${translate('months')}`;\n    }\n\n    return '';\n  }, [driverBan]);\n\n  const handleKeyDown: KeyboardEventHandler = (e) => {\n    if (e.code === 'Enter') navToDriverBanDetail(driverBan);\n  };\n\n  return (\n    <div\n      className=\"driver-ban-row\"\n      onClick={() => navToDriverBanDetail(driverBan)}\n      onKeyDown={handleKeyDown}\n      data-testid={testId}\n      tabIndex={0}\n      role=\"link\"\n    >\n      {/* ROW HEADER */}\n      <h3 className={getClassName('row-header', isExpiredBan && 'expired')}>\n        <GovIcon name=\"components/exclamation-triangle-fill\" />\n        {`${translate('driver-ban-for')} ${monthDuration}`}\n      </h3>\n\n      <div className=\"row-values\">\n        {/* VALIDITY */}\n        <div className=\"value-container\">\n          <span className=\"value-header\">{translate('document-validity')}</span>\n          <span className=\"value\">\n            {DateUtils.dateFormatCz(driverBan.dateFrom)}\n            {' - '}\n            {DateUtils.dateFormatCz(driverBan.dateTo)}\n          </span>\n        </div>\n\n        {/* GROUPS */}\n        <div className=\"value-container\">\n          <span className=\"value-header\">{translate('groups')}</span>\n          <span className=\"value\">{driverBan.forGroups?.join(', ')}</span>\n        </div>\n      </div>\n    </div>\n  );\n});\n\nexport default DriverBanRow;\n","import { useFilterSortPaginationContext } from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContextProvider';\nimport { observer } from 'mobx-react-lite';\nimport { Crr_WebApi_Responses_V3_ZrmvResponse } from 'src/data/crr/apiV3';\nimport DriverBanRow from './DriverBanRow';\nimport { DriverBanListProps } from './DriverBanList';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype DriverBanRowsProps = {\n  navToDriverBanDetail: DriverBanListProps['navToDriverBanDetail'];\n  translate: Translator;\n};\n\nconst DriverBanRows = observer(({ navToDriverBanDetail, translate }: DriverBanRowsProps) => {\n  const { displayedData } = useFilterSortPaginationContext<Crr_WebApi_Responses_V3_ZrmvResponse>();\n\n  return (\n    <div className=\"driver-bans-list\">\n      {displayedData.map((ban) => (\n        <DriverBanRow\n          key={`ban-${ban.dateFrom}-${ban.dateTo}-${ban.forGroups}`}\n          testId={`ban-${ban.dateFrom}-${ban.dateTo}-${ban.forGroups}`}\n          driverBan={ban}\n          navToDriverBanDetail={navToDriverBanDetail}\n          translate={translate}\n        />\n      ))}\n    </div>\n  );\n});\n\nexport default DriverBanRows;\n","import FilterSortPaginationContextProvider from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContextProvider';\nimport { observer } from 'mobx-react-lite';\nimport DriverBanRows from './DriverBanRows';\nimport { Crr_WebApi_Responses_V3_ZrmvResponse } from 'src/data/crr/apiV3';\nimport FilterSortPaginationContext from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContext';\nimport PaginatedTablePagination from '@components/gov4/paginatedTable/PaginatedTablePagination';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\nimport { GovIcon, LegacyTooltip } from '@cendis/cedr-components/dist';\nimport NoDriverData from '../../components/NoDriverData';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport Section from '@components/sidebar/Section';\nimport PanelWrapper from '../../components/PanelWrapper';\n\nexport type DriverBanListProps = {\n  driverBans?: Array<Crr_WebApi_Responses_V3_ZrmvResponse>;\n  navToDriverBanDetail: (ban: Crr_WebApi_Responses_V3_ZrmvResponse) => void;\n  translate: Translator;\n  tableContext?: FilterSortPaginationContext<Crr_WebApi_Responses_V3_ZrmvResponse>;\n  pageSize?: number;\n  loading?: boolean;\n};\n\nconst DriverBanList = observer(\n  ({ driverBans, tableContext, pageSize, navToDriverBanDetail, translate, loading }: DriverBanListProps) => {\n    return (\n      <ConditionalView required={(x) => x.CRR_DRIVING_CARD_DRIVING_BAN}>\n        <Section title={translate('prohibitions')} loading={loading}>\n          <PanelWrapper title={translate('prohibitions-header')} loading={loading}>\n            {/* SUBHEADER */}\n            <p className=\"subheader\">\n              {translate('ban-list-subheader')}\n              <LegacyTooltip\n                tooltipContent={translate('large-vehicle-exception')}\n                testId=\"driver-ban-tooltip\"\n              >\n                <GovIcon name=\"components/info-circle-fill\" className=\"subheader-icon\" />\n              </LegacyTooltip>\n            </p>\n\n            {driverBans === undefined || driverBans.length === 0 ? (\n              // NO BAN\n              <NoDriverData title={translate('no-ban')} />\n            ) : (\n              // BAN LIST\n              <FilterSortPaginationContextProvider\n                data={driverBans}\n                filterSortPaginationContext={tableContext}\n                pageSize={pageSize}\n                sortedProperties={[\n                  {\n                    propertySelector: (x) => x.dateFrom,\n                    sortOrder: SortOrder.DESCENDING,\n                    sortType: SortType.DATE_STRING_NULLABLE,\n                  },\n                ]}\n              >\n                <DriverBanRows navToDriverBanDetail={navToDriverBanDetail} translate={translate} />\n\n                <PaginatedTablePagination />\n              </FilterSortPaginationContextProvider>\n            )}\n          </PanelWrapper>\n        </Section>\n      </ConditionalView>\n    );\n  }\n);\n\nexport default DriverBanList;\n","import ConditionalView from '@components/gov4/ConditionalView';\nimport Section from '@components/sidebar/Section';\nimport { observer } from 'mobx-react-lite';\nimport DriverBanViewModel from '../DriverBanViewModel';\nimport PanelWrapper from '../../components/PanelWrapper';\nimport NoDriverData from '../../components/NoDriverData';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport DateUtils from 'src/utils/DateUtils';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\n\ntype DriverOffencesProps = {\n  vm: DriverBanViewModel;\n};\n\nconst DriverOffences = observer(({ vm }: DriverOffencesProps) => {\n  const { translate, driverService, goToOffenceDetail } = vm;\n  const { driverOffences, driverOffencesBusyWatcher } = driverService;\n\n  return (\n    <ConditionalView required={(x) => x.CRR_DRIVING_CARD_OFFENCES}>\n      <Section title={translate('offences')} loading={driverOffencesBusyWatcher.isBusy}>\n        <PanelWrapper title={translate('offences-title')} loading={driverOffencesBusyWatcher.isBusy}>\n          {driverOffences === undefined || driverOffences.length === 0 ? (\n            <NoDriverData title={translate('no-offence')} />\n          ) : (\n            <PaginatedTable\n              data={driverOffences}\n              pageSize={10}\n              testId=\"driver-offences-table\"\n              row={{\n                key: (offence) => `${offence.offencesCommitted}-${offence.committedDate}`,\n                onClick: (_row, _e, order) => goToOffenceDetail(order),\n              }}\n              columns={[\n                {\n                  header: translate('date'),\n                  value: (x) => x.committedDate,\n                  displayedValue: (x) => DateUtils.dateFormatCz(x.committedDate),\n                  sortOptions: {\n                    sortType: SortType.DATE_STRING_NULLABLE,\n                    sortOrder: SortOrder.DESCENDING,\n                  },\n                  width: 'minmax(136px, auto)',\n                },\n                {\n                  header: translate('points-for-offence'),\n                  value: (x) => x.points,\n                  width: '1fr',\n                },\n              ]}\n            />\n          )}\n        </PanelWrapper>\n      </Section>\n    </ConditionalView>\n  );\n});\n\nexport default DriverOffences;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport { SectionContainer } from '@components/sidebar/NavigationContext';\nimport Section from '@components/sidebar/Section';\nimport DriverBanViewModel from './DriverBanViewModel';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport DriverPoints from './driverPoints/DriverPoints';\nimport PanelWrapper from '../components/PanelWrapper';\nimport { Button, Typography } from '@cendis/cedr-components';\nimport './DriveBanView.scss';\nimport DriverBanList from './driverBanList/DriverBanList';\nimport { toJS } from 'mobx';\nimport DriverOffences from './driverOffences/DriverOffences';\n\nconst DriverBanView: View<DriverBanViewModel> = observer(({ vm }) => {\n  const { translate, busyWatcher, driverService } = vm;\n  const { driverNotificationsBusyWatcher, driverPointsBusyWatcher, driverBansBusyWatcher } = driverService;\n\n  return (\n    <SectionContainer>\n      <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title px-md-0 px-20\">\n        {translate('title')}\n      </Typography>\n\n      <div className=\"px-md-0 gov-text--m mt-4 px-20\">{translate('title-text')}</div>\n      <ConditionalView required={(x) => x.CRR_DRIVING_CARD_LIST_OF_POINTS_DOWNLOAD_LIST}>\n        <Section\n          title={translate('points')}\n          loading={driverNotificationsBusyWatcher.isBusy || driverPointsBusyWatcher.isBusy}\n        >\n          <PanelWrapper\n            loading={driverNotificationsBusyWatcher.isBusy || driverPointsBusyWatcher.isBusy}\n            button={\n              <ConditionalView required={[(x) => x.CRR_DRIVING_CARD_LIST_OF_POINTS_DOWNLOAD_LIST]}>\n                <Button\n                  iconStart=\"components/download\"\n                  className=\"driverBan-btn\"\n                  size=\"m\"\n                  type=\"outlined\"\n                  onClick={vm.downloadPointsAction}\n                  loading={vm.downloadPointsBusyWatcher.isBusy}\n                  testId=\"download-points\"\n                >\n                  {translate('button')}\n                </Button>\n              </ConditionalView>\n            }\n            title={translate('driverPoints.title')}\n          >\n            <DriverPoints\n              translate={translate}\n              onNavigateToNotification={vm.navigateToNotificationSettings}\n              busyWatcher={busyWatcher}\n              notificationInfo={vm.driverService.driverNotifications}\n              points={vm.driverService.driverPoints}\n            />\n          </PanelWrapper>\n        </Section>\n      </ConditionalView>\n      {/* DRIVER BAN LIST */}\n      <DriverBanList\n        navToDriverBanDetail={(ban) => {\n          console.log(toJS(ban));\n        }}\n        driverBans={vm.driverService.driverBans}\n        translate={translate}\n        pageSize={5}\n        loading={driverBansBusyWatcher.isBusy}\n      />\n      {/* DRIVER OFFENCES */}\n      <DriverOffences vm={vm} />\n    </SectionContainer>\n  );\n});\n\nexport default DriverBanView;\n","import { observer } from 'mobx-react-lite';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { ReactNode } from 'react';\nimport './DetailContainer.scss';\nimport { Typography } from '@cendis/cedr-components';\n\ntype DetailContainerProps = {\n  className?: string;\n  title?: string;\n  children: ReactNode;\n};\n\nconst DetailContainer = observer(({ className, children, title }: DetailContainerProps) => {\n  return (\n    <div className={getClassName('detail-container', 'css-reset', className)}>\n      <div className=\"container-content\">\n        {title && (\n          <Typography type=\"headline\" component={'h1'} size=\"xl\" fontWeight={300} className=\"detail-title mt-4\">\n            {title}\n          </Typography>\n        )}\n\n        {children}\n      </div>\n    </div>\n  );\n});\n\nexport default DetailContainer;\n","import { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './DetailValues.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype DetailValuesProps = {\n  data: {\n    label: ReactNode;\n    value: ReactNode;\n  }[];\n  displayEmptyValues?: boolean;\n  className?: string;\n};\n\nconst DetailValues = observer(({ data, displayEmptyValues = false, className }: DetailValuesProps) => {\n  return (\n    <div className={getClassName('detail-values', className)}>\n      {data.map((rowData) => {\n        if (displayEmptyValues === false && (!rowData.value || (typeof rowData.value === 'string' && rowData.value === '')))\n          return null;\n\n        return (\n          <div className=\"detail-row\" key={`row-${rowData.label?.toString()}`}>\n            <span className=\"value-header\">{rowData.label}</span>\n            <span className=\"value\">{rowData.value}</span>\n          </div>\n        );\n      })}\n    </div>\n  );\n});\n\nexport default DetailValues;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type OffenceDetailViewModel from './OffenceDetailViewModel';\nimport DetailContainer from '../../components/DetailContainer';\nimport DetailValues from '../../components/DetailValues';\nimport LoaderComponent from '../../components/Loader';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport NoDriverData from '../../components/NoDriverData';\nimport DateUtils from 'src/utils/DateUtils';\nimport { useEffect } from 'react';\n\nconst OffenceDetailView: View<OffenceDetailViewModel> = observer(({ vm }) => {\n  const { translate, busyWatcher, offenceInfo } = vm;\n\n  useEffect(() => {\n    window.scrollTo(0, 0);\n  }, []);\n\n  return (\n    <DetailContainer className=\"offence-detail-view\" title={translate('title')}>\n      <ConditionalView loading={busyWatcher.isBusy} fallbackComponent={<LoaderComponent />}>\n        {offenceInfo === null ? (\n          <NoDriverData title={translate('no-detail-found')} />\n        ) : (\n          <DetailValues\n            data={[\n              {\n                label: translate('committedDate'),\n                value: offenceInfo.committedDate ? DateUtils.dateFormatCz(offenceInfo.committedDate) : '-',\n              },\n              {\n                label: translate('points'),\n                value: offenceInfo.points,\n              },\n              {\n                label: translate('offencesCommitted'),\n                value: offenceInfo.offencesCommitted,\n              },\n              {\n                label: translate('provisionsViolated'),\n                value: offenceInfo.provisionsViolated,\n              },\n              {\n                label: translate('sanction'),\n                value: [offenceInfo.sanction1, offenceInfo.sanction2]\n                  .filter((value) => typeof value === 'string' && value !== '')\n                  .join(', '),\n              },\n              {\n                label: translate('decided'),\n                value: offenceInfo.decided,\n              },\n              {\n                label: translate('decisionDate'),\n                value: offenceInfo.decisionDate ? DateUtils.dateFormatCz(offenceInfo.decisionDate) : '-',\n              },\n            ]}\n          />\n        )}\n      </ConditionalView>\n    </DetailContainer>\n  );\n});\n\nexport default OffenceDetailView;\n","import { computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport OffenceDetailView from './OffenceDetailView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport DriverService from 'src/services/driver/DriverService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { Crr_WebApi_Responses_V3_OffenceResponse } from 'src/data/crr/apiV3';\n\n@AddDefaultView(OffenceDetailView)\n@Service()\nexport default class OffenceDetailViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  // CRR does not return id for offences, array order is used instead\n  @observable offenceOrder = 0;\n\n  @computed\n  get offenceInfo(): Crr_WebApi_Responses_V3_OffenceResponse | null {\n    if (this.driverService.driverOffences && this.driverService.driverOffences.length > this.offenceOrder) {\n      return this.driverService.driverOffences[this.offenceOrder];\n    }\n\n    return null;\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get pathNode(): string {\n    return 'offence-detail-/offenceOrder/';\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public driverService: DriverService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams): void {\n    const { offenceOrder } = params;\n    const orderNumber = Number(offenceOrder);\n\n    this.offenceOrder = Number.isNaN(orderNumber) ? 0 : Math.max(0, orderNumber);\n  }\n\n  @Watch<OffenceDetailViewModel>((s) => s.busyWatcher)\n  async notifyNavigation() {\n    await this.driverService.getDriverOffences();\n  }\n\n  translate = translate('driver-offence-detail', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport NotificationViewModel from '../../notificationAndContact/NotificationViewModel';\nimport DriverBanView from './DriverBanView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApiService from '../../../services/ApiService';\nimport DriverService from '../../../services/driver/DriverService';\nimport PdfUtils from '../../../utils/PdfUtils';\nimport { ToastService } from '@cendis/cedr-components';\nimport OffenceDetailViewModel from './offenceDetail/OffenceDetailViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(DriverBanView)\n@AddChildrenView()\n@Service()\nexport default class DriverBanViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  notificationBusyWatcher = new BusyWatcher();\n  validation = new ValidationContext();\n  downloadPointsBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'driverban';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public driverService: DriverService,\n    @Inject() public toastService: ToastService,\n    @Inject() private offenceDetailViewModel: OffenceDetailViewModel,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n\n    this.children.push(offenceDetailViewModel);\n  }\n\n  @Watch<DriverBanViewModel>((s) => s.busyWatcher)\n  async notifyNavigation(): Promise<void> {\n    await this.driverService.BanData();\n\n    if (!this.driverService.driverInfo) return;\n  }\n\n  activate() {}\n\n  @action.bound\n  navigateToNotificationSettings() {\n    this.navigator(NotificationViewModel).go();\n  }\n\n  @Watch<DriverBanViewModel>((s) => s.notificationBusyWatcher)\n  @action.bound\n  async changeNotificationsStatus() {\n    if (!this.driverService.driverNotifications) {\n      return;\n    }\n  }\n\n  @action.bound\n  checkForApplicationStatus() {}\n\n  @Watch<DriverBanViewModel>((s) => s.downloadPointsBusyWatcher)\n  @action.bound\n  async downloadPointsAction() {\n    try {\n      //TODO: Implement new API for downloading driver points\n      const points = await this.apiService.OACrrApiV2.driver.pdApiCrrV2DriverPointsGet();\n      if (points) {\n        PdfUtils.downloadBlob(points, this.translate('score.filename'));\n        this.toastService.addToast('blopSucces', this.translate('toast.successMessage'), {\n          color: 'success',\n          icon: 'components/check-lg',\n          animateDirection: 'forward',\n        });\n      } else {\n        this.toastService.addToast('blopError', this.translate('toast.errorMessage'), {\n          color: 'error',\n          icon: 'components/exclamation-triangle-fill',\n          animateDirection: 'forward',\n        });\n      }\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - driverBan - DriverBanViewModel',\n        'downloadPointsAction - apiService.crrApiV2.driver.getPdApiCrrV2DriverPoints'\n      );\n      this.toastService.addToast('blopError', this.translate('toast.errorMessage'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    } finally {\n    }\n  }\n\n  @action.bound\n  goToOffenceDetail(order: number) {\n    this.navigator(OffenceDetailViewModel, {\n      offenceOrder: order.toString(),\n    }).go();\n  }\n\n  translate = translate('driver-ban', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Table from '@components/gov4/layout/Table';\nimport './DriverLicence.scss';\nimport NoDriverData from '../../components/NoDriverData';\nimport CopyButton from '../../components/cardsPermissions/CopyButton';\nimport dateUtils from '../../../../utils/DateUtils';\nimport { Typography, Button } from '@cendis/cedr-components';\nimport PreliminaryActivationModal from './PreliminaryActivationModal';\nimport DriverLicenceViewModel from '../DriverLicenceViewModel';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nexport type DriverLicenceProps = {\n  translate: Translator;\n  vm: DriverLicenceViewModel;\n};\n\nconst DriverLicence = observer(({ translate, vm }: DriverLicenceProps) => {\n  const licence = vm.driverService.drivingLicences;\n\n  const tableData = [\n    {\n      label: <span>{translate('type.number')}</span>,\n      value: (\n        <span>\n          {licence?.drivingLicence?.documentNumber || '-'}\n          {licence?.drivingLicence?.documentNumber && (\n            <CopyButton\n              value={licence.drivingLicence.documentNumber}\n              content={translate('copiedToClipboard')}\n              className=\"ms-3\"\n            />\n          )}\n        </span>\n      ),\n    },\n    {\n      label: <span>{translate('type.startDate')}</span>,\n      value: (\n        <span>\n          {licence?.drivingLicence?.validFrom\n            ? dateUtils.dateFormatCz(licence.drivingLicence.validFrom)\n            : '-'}\n        </span>\n      ),\n    },\n    {\n      label: <span>{translate('type.endDate')}</span>,\n      value: (\n        <span>\n          {licence?.drivingLicence?.validTo ? dateUtils.dateFormatCz(licence.drivingLicence.validTo) : '-'}\n        </span>\n      ),\n    },\n    {\n      label: <span>{translate('type.status')}</span>,\n      value: <span>{vm.isLicenceValid ? translate('status.valid') : translate('status.expired')}</span>,\n    },\n    {\n      label: <span>{translate('type.issuingAuthority')}</span>,\n      value: (\n        <span>\n          {licence?.drivingLicence?.issuingAuthority?.authorityType || '-'}{' '}\n          {licence?.drivingLicence?.issuingAuthority?.headquarters || '-'}\n        </span>\n      ),\n    },\n  ];\n\n  const buttonComplaint = (\n    <>\n      <Button\n        iconStart=\"components/exclamation-lg\"\n        type=\"outlined\"\n        color=\"error\"\n        onClick={vm.goToComplaint}\n        testId=\"driver-licence-complaint\"\n        className=\"driver-licence__button panel-button-expand mt-3\"\n      >\n        {translate('complaintLicence')}\n      </Button>\n    </>\n  );\n\n  return (\n    <>\n      {!licence || !vm.isLicenceValid ? (\n        <>\n          <Typography className=\"mb-3\">{translate('description1')}</Typography>\n          <NoDriverData title={translate('noDataText')} iconVersion=\"emptyFile\" />\n        </>\n      ) : (\n        <>\n          <Typography className=\"mb-3\">{translate('description')}</Typography>\n\n          <Table\n            data={tableData.map((item) => ({\n              label: <span>{item.label}</span>,\n              value: <span>{item.value}</span>,\n            }))}\n            firstColumnMaxWidth={50}\n            firstColumnDark={false}\n            testId=\"driver-licence\"\n          />\n        </>\n      )}\n\n      {vm.busyWatcher.isBusy ? (\n        <LoaderBox type=\"box-full\" />\n      ) : (\n        <>\n          {vm.preliminaryactivationModalModel.canActivate ? (\n            <>\n              <Typography className=\"mt-4 mb-2\">\n                {vm.complaintAllowed\n                  ? translate('activateCardTextComplaintAllowed')\n                  : translate('activateCardText')}\n              </Typography>\n              <div className=\"d-sm-flex align-items-center gap-3\">\n                <div className=\"mt-2\">\n                  <Button\n                    iconStart=\"components/check-lg\"\n                    type=\"outlined\"\n                    testId=\"driver-licence-activate\"\n                    onClick={vm.handleActivateClick}\n                    className=\"d-block d-sm-inline-block driver-licence__button mt-3\"\n                  >\n                    {translate('activateCardButton')}\n                  </Button>\n                </div>\n                {vm.complaintAllowed && vm.requestId && <div className=\"mt-2\">{buttonComplaint}</div>}\n              </div>\n            </>\n          ) : (\n            <>\n              {vm.complaintAllowed && vm.requestId && (\n                <>\n                  <p className=\"mt-4\">{translate('errorOnLicence')}</p>\n                  {buttonComplaint}\n                </>\n              )}\n            </>\n          )}\n        </>\n      )}\n\n      <PreliminaryActivationModal model={vm.preliminaryactivationModalModel} translate={translate} />\n    </>\n  );\n});\n\nexport default DriverLicence;\n","import React from 'react';\nimport './ReasonButton.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Button } from '@cendis/cedr-components';\n\ntype ReasonButtonProps = {\n  translate: Translator;\n  className?: string;\n  isExpanded?: boolean;\n  onClick?: () => void;\n};\n\nconst ReasonButton: React.FC<ReasonButtonProps> = ({ translate, className, isExpanded, onClick }) => {\n  return (\n    <div className={`reason-container ${className || ''}`}>\n      <Button\n        type=\"outlined\"\n        className=\"reason-button\"\n        iconEnd={isExpanded ? 'components/chevron-up' : 'components/chevron-down'}\n        onClick={onClick}\n        testId=\"reason-expand\"\n      >\n        {translate('typeShowReason')}\n      </Button>\n    </div>\n  );\n};\n\nexport default ReasonButton;\n","import React, { useState } from 'react';\nimport './TableWithExpansion.scss';\nimport ReasonButton from './ReasonButton';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype TableRow = {\n  label: React.ReactNode;\n  value: React.ReactNode;\n  expandedRow?: React.ReactNode;\n};\n\ntype TableWithExpansionProps = {\n  data: TableRow[];\n  firstColumnDark?: boolean;\n  translate: Translator;\n};\n\nexport default function TableWithExpansion({ data, firstColumnDark = false, translate }: TableWithExpansionProps) {\n  const [expandedRow, setExpandedRow] = useState<number | null>(null);\n\n  return (\n    <div className={`data-table-with-grid ${firstColumnDark ? 'start-with-dark' : ''}`}>\n      <div className=\"table-body\">\n        {data.map((item, rowIndex) => (\n          <React.Fragment key={rowIndex}>\n            <div className={`row grid-container-table ${expandedRow === rowIndex ? 'row-expanded' : ''}`}>\n              <div className={`first-column my-1 ${!item.expandedRow ? 'no-reason-first-column' : ''}`}>{item.label}</div>\n              <div className={`second-column my-1 ${!item.expandedRow ? 'no-reason-button-padding' : ''}`}>\n                <span className=\"grid-item-value\">{item.value}</span>\n              </div>\n              <div className=\"third-column my-1\">\n                {item.expandedRow && (\n                  <ReasonButton\n                    translate={translate}\n                    isExpanded={expandedRow === rowIndex}\n                    onClick={() => setExpandedRow(expandedRow === rowIndex ? null : rowIndex)}\n                    className=\"grid-item-button\"\n                  />\n                )}\n              </div>\n              {expandedRow === rowIndex && item.expandedRow && (\n                <div className=\"expanded-row\">\n                  <div className=\"grid-expanded-row\">{item.expandedRow}</div>\n                </div>\n              )}\n            </div>\n          </React.Fragment>\n        ))}\n      </div>\n    </div>\n  );\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport TableWithExpansion from './components/TableWithExpansion';\nimport { GovIcon } from '@cendis/cedr-components';\nimport dateUtils from '../../../../utils/DateUtils';\nimport './DriverPermit.scss';\nimport {\n  Crr_WebApi_Responses_V3_BlockingRoResponse,\n  Crr_WebApi_Responses_V3_DrivingLicencesResponse,\n  Crr_WebApi_Responses_V3_ZrmvResponse,\n} from '../../../../data/crr/apiV3';\nimport NoDriverData from '../../components/NoDriverData';\n\nexport type DriverPermitProps = {\n  permissions?: Crr_WebApi_Responses_V3_DrivingLicencesResponse;\n  bans?: Crr_WebApi_Responses_V3_ZrmvResponse[];\n  reasons?: Crr_WebApi_Responses_V3_BlockingRoResponse[];\n  translate: Translator;\n};\n\nconst DriverPermit = observer(({ permissions, translate, reasons, bans }: DriverPermitProps) => {\n  const permits = permissions?.drivingLicencePermissions || [];\n  const allGroupsBanned = permits.length > 0 && permits.every((permit) => permit.reasonForExpiry);\n\n  // Ban for all driving categories\n  const licenceBan =\n    bans?.some((x) => x.forGroups?.some((y) => y === 'Vše')) ||\n    reasons?.some((x) => x.forGroups?.some((y) => y === 'Vše'));\n\n  return (\n    <div className=\"driver-permit-container\">\n      <div className=\"description\">{translate('permitDescription')}</div>\n      {permits.length === 0 ? (\n        <NoDriverData title={translate('noDataTitle')} iconVersion=\"emptyFile\" />\n      ) : allGroupsBanned || licenceBan ? (\n        <NoDriverData\n          title={translate('allGroupsBanned')}\n          iconVersion={'banIcon'}\n          colorVersion={'banColor'}\n        />\n      ) : (\n        <div className=\"table\">\n          <TableWithExpansion\n            data={permits.map((permit) => {\n              const isExpired = permit.validTo ? new Date(permit.validTo) < new Date() : false;\n              return {\n                label: (\n                  <span>\n                    {translate('typeGroup')} {permit.roGroup || '-'}\n                  </span>\n                ),\n                value: (\n                  <div className=\"d-flex align-items-center gap-2\">\n                    {isExpired && <GovIcon color=\"error\" name=\"components/exclamation-triangle-fill\" />}\n                    <span className=\"fw-bold\">\n                      {isExpired\n                        ? `${translate('typeValidTo')} ${dateUtils.dateFormatCz(permit.validTo)}`\n                        : `${translate('typeValidFrom')} ${dateUtils.dateFormatCz(permit.validFrom)}`}\n                    </span>\n                  </div>\n                ),\n                expandedRow: permit.reasonForExpiry ? (\n                  <div className=\"row-details\">\n                    <span className=\"fw-bold gov-text--m\">{translate('typeExpiryReason')}</span>\n                    <p className=\"gov-text--m mt-1\">{permit.reasonForExpiry}</p>\n                  </div>\n                ) : null,\n              };\n            })}\n            firstColumnDark={false}\n            translate={translate}\n          />\n        </div>\n      )}\n    </div>\n  );\n});\n\nexport default DriverPermit;\n","import './NumberIcon.scss'\nimport React from 'react';\n\ntype NumberIconProps = {\n  number: number;\n};\n\nconst NumberIcon: React.FC<NumberIconProps> = ({ number }) => {\n  return <div className=\"training-icon\">{number}</div>;\n};\n\nexport default NumberIcon;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NoDriverData from '../../components/NoDriverData';\nimport { Accordion, AccordionItem, Message } from '@cendis/cedr-components';\nimport Table from '@components/gov4/layout/Table';\nimport dateUtils from '../../../../utils/DateUtils';\nimport NumberIcon from './components/NumberIcon';\nimport './DrivingCompetence.scss';\nimport {\n  Cendis_IsssClient_Contracts_Enums_Crr_TrainingType,\n  Crr_WebApi_Responses_V3_ProfessionalCompetenceResponse,\n} from 'src/data/crr/apiV3';\n\nexport type DriverCompetenceProp = {\n  competence?: Crr_WebApi_Responses_V3_ProfessionalCompetenceResponse;\n  translate: Translator;\n};\n\nconst DriverCompetence = observer(({ competence, translate }: DriverCompetenceProp) => {\n  const filteredTrainings =\n    competence?.professionalTraining.filter(\n      (training) => training.trainingType !== Cendis_IsssClient_Contracts_Enums_Crr_TrainingType.ENTRANCE\n    ) ?? [];\n\n  const tableData = [\n    {\n      label: <span>{translate('competenceDriver.number')}</span>,\n      value: <span>{competence?.documentNumber}</span>,\n    },\n    {\n      label: <span>{translate('competenceDriver.permission')}</span>,\n      value: <span>{(competence?.forGroups ?? []).join(', ')}</span>,\n    },\n    {\n      label: <span>{translate('competenceDriver.schooling')}</span>,\n      value: <span>{filteredTrainings.length}</span>,\n    },\n    {\n      label: <span>{translate('competenceDriver.validity')}</span>,\n      value: (\n        <span>\n          {dateUtils.dateFormatCz(competence?.validFrom)} - {dateUtils.dateFormatCz(competence?.validTo)}\n        </span>\n      ),\n    },\n  ];\n  return (\n    <>\n      <Message className=\"mb-32px\" message={translate('competenceTextMessage')} />\n      <div className=\"mb-32px\">{translate('competenceText')}</div>\n      {!competence ? (\n        <>\n          <div className=\"driver-licence mt-3 mb-2\">\n            <NoDriverData title={translate('noDataCompetence')} />\n          </div>\n        </>\n      ) : (\n        <>\n          <div className=\"driver-licence mt-4 mb-4\">\n            <Table\n              data={tableData}\n              firstColumnMaxWidth={50}\n              firstColumnDark={false}\n              testId=\"driver-licence\"\n            />\n          </div>\n          {filteredTrainings.length > 0 && (\n            <div>\n              <Accordion>\n                <AccordionItem\n                  size=\"m\"\n                  header={`${translate('competenceDetail')} (${filteredTrainings.length})`}\n                  id={'competenceDetail'}\n                >\n                  {filteredTrainings.map((training, index) => (\n                    <div key={index} className=\"mb-4\">\n                      <div className=\"training-header mb-3\">\n                        <NumberIcon number={index + 1} />\n                        <span className=\"gov-text--xl training-name\">{translate('competenceName')}</span>\n                      </div>\n                      <Table\n                        data={[\n                          {\n                            label: <span>{translate('competanceDate')}</span>,\n                            value: <span>{dateUtils.dateFormatCz(training.trainingDate)}</span>,\n                          },\n                          {\n                            label: <span>{translate('competanceGroups')}</span>,\n                            value: <span>{(competence?.forGroups ?? []).join(', ')}</span>,\n                          },\n                          {\n                            label: <span>{translate('competanceHours')}</span>,\n                            value: <span>{training.range}</span>,\n                          },\n                        ]}\n                        firstColumnMaxWidth={50}\n                        firstColumnDark={false}\n                        testId=\"competence\"\n                      />\n                    </div>\n                  ))}\n                </AccordionItem>\n              </Accordion>\n            </div>\n          )}\n        </>\n      )}\n    </>\n  );\n});\nexport default DriverCompetence;\n","import { Typography } from '@cendis/cedr-components';\n\nexport type TachographUnavailableProps = {\n  title?: string;\n  className?: string;\n};\n\nconst TachographUnavailable = ({ title, className = '' }: TachographUnavailableProps) => {\n  const imageSrc = './site-public/img/errorPage/default.svg';\n\n  return (\n    <div className={`tachograph-unavailable ${className}`}>\n      <div className={'error-icon mb-4'}>\n        <img src={imageSrc} />\n      </div>\n      {title && (\n        <Typography size=\"l\" type=\"body\" component={'h3'} fontWeight={500} className=\"px-md-0 mb-4 px-20\">\n          {title}\n        </Typography>\n      )}\n    </div>\n  );\n};\n\nexport default TachographUnavailable;\n","import { Message, Tag, Typography } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { observer } from 'mobx-react-lite';\nimport {\n  Domain_Contracts_Enums_Crr_TachographStatus,\n  Domain_Contracts_Enums_OptionalValueStatus,\n} from 'src/data/crr/apiV2';\nimport NoDriverData from '../../components/NoDriverData';\nimport './DriverTachographCard.scss';\nimport Table from '@components/gov4/layout/Table';\nimport dateUtils from '../../../../utils/DateUtils';\nimport CopyButton from '../../components/cardsPermissions/CopyButton';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport DriverService from 'src/services/driver/DriverService';\nimport { Crr_WebApi_Responses_V3_Isdt_TachographBasicResponse } from 'src/data/crr/apiV3';\nimport CardIcon from '@components/icons/CardIcon';\nimport TachographUnavailable from '../../components/TachographUnavailable';\n\nexport type DriverCardProps = {\n  translate: Translator;\n  tachographs?: Crr_WebApi_Responses_V3_Isdt_TachographBasicResponse[];\n  authService: AuthorizationService;\n  driverService: DriverService;\n  errorMessage?: string;\n};\n\nconst getCardStatus = (\n  data: Crr_WebApi_Responses_V3_Isdt_TachographBasicResponse\n): Domain_Contracts_Enums_Crr_TachographStatus => {\n  const now = new Date().toISOString().split('T')[0];\n  const validFrom =\n    data.validFrom.status === Domain_Contracts_Enums_OptionalValueStatus.PROVIDED && data.validFrom.value\n      ? new Date(data.validFrom.value).toISOString().split('T')[0]\n      : null;\n  const validTo =\n    data.validTo.status === Domain_Contracts_Enums_OptionalValueStatus.PROVIDED && data.validTo.value\n      ? new Date(data.validTo.value).toISOString().split('T')[0]\n      : null;\n\n  if (validFrom && validTo && now >= validFrom && now <= validTo) {\n    return data.status.status === Domain_Contracts_Enums_OptionalValueStatus.PROVIDED &&\n      data.status.value === Domain_Contracts_Enums_Crr_TachographStatus.VALID\n      ? Domain_Contracts_Enums_Crr_TachographStatus.VALID\n      : Domain_Contracts_Enums_Crr_TachographStatus.INVALID;\n  }\n\n  return Domain_Contracts_Enums_Crr_TachographStatus.INVALID;\n};\n\nfunction getStatusText(status: Domain_Contracts_Enums_Crr_TachographStatus, translate: Translator) {\n  switch (status) {\n    case Domain_Contracts_Enums_Crr_TachographStatus.VALID:\n      return translate('driverCard.validStatus');\n    case Domain_Contracts_Enums_Crr_TachographStatus.INVALID:\n      return translate('driverCard.invalidStatus');\n    default:\n      return '';\n  }\n}\n\nfunction getTableData(\n  data: Crr_WebApi_Responses_V3_Isdt_TachographBasicResponse,\n  translate: Translator,\n  authService: AuthorizationService\n): { label: string; value: React.ReactNode }[] {\n  const result: { label: string; value: React.ReactNode }[] = [];\n  const status = getCardStatus(data);\n\n  if (\n    authService.conditions.CRR_DIGI_TACHOGRAPH_CARD_NUMBER &&\n    data.cardId.status === Domain_Contracts_Enums_OptionalValueStatus.PROVIDED\n  ) {\n    result.push({\n      label: translate('driverCard.cardNumber'),\n      value: (\n        <span>\n          {data.cardId.value}{' '}\n          <CopyButton value={data.cardId.value} content={translate('copiedToClipboard')} className=\"ms-3\" />\n        </span>\n      ),\n    });\n  }\n\n  if (authService.conditions.CRR_DIGI_TACHOGRAPH_CARD_VALIDITY) {\n    if (data.validFrom.status === Domain_Contracts_Enums_OptionalValueStatus.PROVIDED) {\n      result.push({\n        label: translate('driverCard.validFrom'),\n        value: <span>{dateUtils.dateFormatCz(data.validFrom.value)}</span>,\n      });\n    }\n    if (data.validTo.status === Domain_Contracts_Enums_OptionalValueStatus.PROVIDED) {\n      result.push({\n        label: translate('driverCard.validTo'),\n        value: <span>{dateUtils.dateFormatCz(data.validTo.value)}</span>,\n      });\n    }\n  }\n  // todo: emitent condition\n  // toto: groups condition\n\n  result.push({\n    label: translate('driverCard.status'),\n    value: <span>{getStatusText(status, translate)}</span>,\n  });\n\n  return result;\n}\n\nconst DriverTachographCard = observer(\n  ({ translate, tachographs, authService, driverService, errorMessage }: DriverCardProps) => {\n    return (\n      <div className=\"driver-card\">\n        {!driverService.driverTachographUnavailable && (\n          <div>\n            {' '}\n            {errorMessage && <Message className=\"mb-32px\" color=\"error\" message={errorMessage} />}\n            <Message className=\"mb-32px\" message={translate('driverCard.message')} />\n            <div className=\"mb-32px\">{translate('driverCard.text')}</div>\n          </div>\n        )}\n\n        {tachographs && driverService.shouldShowTachographCard ? (\n          tachographs.map((tachograph, i) => (\n            <>\n              <Typography type=\"headline\" component={'h3'} className={i !== 0 ? 'mt-5' : ''} size=\"xs\">\n                {translate(\n                  tachograph.status.value === Domain_Contracts_Enums_Crr_TachographStatus.INVALID\n                    ? 'driverCard.historicalCard'\n                    : tachograph.validityForUse.value\n                      ? 'driverCard.currentCard'\n                      : 'driverCard.newCard'\n                )}\n                <br className=\"d-sm-none\" />\n                {!tachograph.validityForUse.value &&\n                  tachograph.status.value === Domain_Contracts_Enums_Crr_TachographStatus.VALID && (\n                    <Tag color=\"primary\" type=\"subtle\" size=\"s\" className=\"new-card\" testId=\"tag-new-card\">\n                      <CardIcon /> {translate('driverCard.newCardText')}\n                    </Tag>\n                  )}\n              </Typography>\n              <div className=\"mt-4 mb-4\" key={tachograph.cardId.value}>\n                <Table\n                  data={getTableData(tachograph, translate, authService)}\n                  firstColumnMaxWidth={50}\n                  firstColumnDark={false}\n                  testId={`tachograph-card`}\n                />\n              </div>\n            </>\n          ))\n        ) : (\n          <div className=\"mt-3 mb-2\">\n            {driverService.driverTachographUnavailable ? (\n              <TachographUnavailable title={translate('driverCard.tachographUnavailable')} />\n            ) : (\n              <NoDriverData iconVersion=\"emptyFile\" title={translate('driverCard.noData')} />\n            )}\n          </div>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default DriverTachographCard;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport { SectionContainer } from '@components/sidebar/NavigationContext';\nimport DriverLicenceViewModel from './DriverLicenceViewModel';\nimport Section from '@components/sidebar/Section';\nimport PanelWrapper from '../components/PanelWrapper';\nimport DriverLicence from './driverLicence/DriverLicence';\nimport { Button, InfoBar, Typography } from '@cendis/cedr-components';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport DriverPermit from './driverPermit/DriverPermit';\nimport DriverCompetence from './driverCompetence/DriverCompetence';\nimport DriverTachographCard from './driverTachographCard/DriverTachographCard';\n\nconst DriverLicenceView: View<DriverLicenceViewModel> = observer(({ vm }) => {\n  const { translate, goToDriverLicenceApplication, goToDigitalTachograph, driverService } = vm;\n  const {\n    drivingLicencesBusyWatcher,\n    drivingCompetenceBusyWatcher,\n    driverBansBusyWatcher,\n    driverTachographDataBusyWatcher,\n  } = driverService;\n\n  return (\n    <SectionContainer>\n      <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title px-md-0 px-20\">\n        {translate('title')}\n      </Typography>\n\n      {driverService.driverTachographUnavailable && (\n        <>\n          <InfoBar\n            className=\"mt-4\"\n            color=\"warning\"\n            icon=\"components/exclamation-triangle-fill\"\n            closable={true}\n          >\n            {translate('tachograph-loading-error')}\n          </InfoBar>\n        </>\n      )}\n\n      <div className=\"px-md-0 gov-text--m mt-4 px-20\">{translate('title-text')}</div>\n      <ConditionalView required={(x) => x.CRR_DRIVING_CARD_DRIVING_LICENCE_GROUPS}>\n        <Section title={translate('licence')} loading={drivingLicencesBusyWatcher.isBusy}>\n          <PanelWrapper\n            loading={drivingLicencesBusyWatcher.isBusy}\n            title={translate('driverLicence.title')}\n            button={\n              <Button\n                className=\"driverBan-btn\"\n                size=\"m\"\n                type=\"outlined\"\n                onClick={goToDriverLicenceApplication}\n                testId=\"driver-application\"\n              >\n                {translate('button')}\n              </Button>\n            }\n          >\n            <DriverLicence translate={translate} vm={vm} />\n          </PanelWrapper>\n        </Section>\n      </ConditionalView>\n      <ConditionalView required={(x) => x.CRR_DRIVING_CARD_DISPOSAL_REASON}>\n        <Section\n          title={translate('permits')}\n          loading={drivingLicencesBusyWatcher.isBusy || driverBansBusyWatcher.isBusy}\n        >\n          <PanelWrapper\n            loading={drivingLicencesBusyWatcher.isBusy || driverBansBusyWatcher.isBusy}\n            title={translate('driverPermits.title')}\n          >\n            <DriverPermit\n              translate={translate}\n              permissions={vm.driverService.drivingLicences}\n              bans={vm.driverService.driverBans}\n              reasons={vm.driverService.driverReasons}\n            />\n          </PanelWrapper>\n        </Section>\n      </ConditionalView>\n      <ConditionalView required={(x) => x.CRR_DRIVING_CARD_PROFESSIONAL_COMPETENCE}>\n        <Section title={translate('competence')} loading={drivingCompetenceBusyWatcher.isBusy}>\n          <PanelWrapper\n            title={translate('driverCompetence.title')}\n            loading={drivingCompetenceBusyWatcher.isBusy}\n          >\n            <DriverCompetence competence={vm.driverService.drivingCompetence} translate={translate} />\n          </PanelWrapper>\n        </Section>\n      </ConditionalView>\n      <ConditionalView required={(x) => x.CRR_DIGI_TACHOGRAPH_CARD}>\n        <Section title={translate('card')} loading={driverTachographDataBusyWatcher.isBusy}>\n          <PanelWrapper\n            title={translate('driverCard.title')}\n            loading={driverTachographDataBusyWatcher.isBusy}\n            button={\n              <ConditionalView\n                required={(x) =>\n                  x.CRR_DIGI_TACHOGRAPH_APPLICATION && !driverService.driverTachographUnavailable\n                }\n              >\n                <Button\n                  type=\"outlined\"\n                  onClick={goToDigitalTachograph}\n                  testId=\"driver-application-nav-to-digital-tachograph\"\n                >\n                  {translate('driverCard.requestButton')}\n                </Button>\n              </ConditionalView>\n            }\n          >\n            <DriverTachographCard\n              translate={translate}\n              tachographs={vm.driverService.driverTachographs}\n              authService={vm.authService}\n              driverService={vm.driverService}\n              errorMessage={vm.driverService.driverTachographErrorMessage}\n            />\n          </PanelWrapper>\n        </Section>\n      </ConditionalView>\n    </SectionContainer>\n  );\n});\n\nexport default DriverLicenceView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { Button, Message, ScreenContext } from '@cendis/cedr-components';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport CompleteFaq from './components/CompleteFaq';\nimport CompleteScreenDriverLicenceViewModel from './CompleteScreenDriverLicenceViewModel';\nimport './CompleteScreenDriverLicenceView.scss';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst CompleteScreenDriverLicenceView: View<CompleteScreenDriverLicenceViewModel> = observer(({ vm }) => {\n  const { translate, translateNewSuccess, sharedDataService, navToTachograph, busyWatcher } = vm;\n\n  return (\n    <Container className=\"complete-screen-view-licence\">\n      <ScreenContext value={vm}>\n        {busyWatcher.isBusy ||\n        (!sharedDataService.ErrorFound &&\n          sharedDataService.driverService.driverTachographData === undefined) ? (\n          <div className=\"mw-855 m-lg-auto\">\n            <LoaderBox type=\"box-full\" />\n          </div>\n        ) : (\n          !sharedDataService.ErrorFound &&\n          sharedDataService.driverService.driverTachographData !== undefined && (\n            <Message icon=\"components/info-circle-fill\" className=\"mw-855 message-complete-screen m-lg-auto\">\n              <div className=\"message-content\">\n                <span className=\"complete-screen-text\">{translate('information')}</span>\n                <Button\n                  onClick={navToTachograph}\n                  type=\"outlined\"\n                  text={translate('btnText')}\n                  className=\"button-text-tachograph\"\n                  testId=\"button-text-tachograph\"\n                />\n              </div>\n            </Message>\n          )\n        )}\n        <CompleteScreen\n          withGradientCircle\n          completeDriver\n          mandateId={vm.requestId}\n          onClick={vm.navToDriver}\n          title={translateNewSuccess('title')}\n          subtitle={translateNewSuccess('info')}\n          mandateText={translateNewSuccess('mandateId')}\n          buttonText={translateNewSuccess('btnText')}\n          variant=\"success\"\n        />\n        <CompleteFaq translate={translate} onNavigateToNotification={vm.navToDriver} />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default CompleteScreenDriverLicenceView;\n","import { action, makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from 'src/services/ApiService';\nimport CompleteScreenDriverLicenceView from './CompleteScreenDriverLicenceView';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport SharedDataService from '../driverDigitalTachograph/SharedDataService';\nimport DriverDigitalTachographViewModel from '../driverDigitalTachograph/DriverDigitalTachographViewModel';\n\n@AddDefaultView(CompleteScreenDriverLicenceView)\n@Service()\nexport default class CompleteScreenDriverLicenceViewModel extends BaseScreen {\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  requestId: string = '';\n\n  get pathNode(): string {\n    return 'complete-licence-/requestId/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { requestId } = params;\n\n    this.requestId = requestId;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public sharedDataService: SharedDataService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  deactivate() {\n    this.reset();\n  }\n  activate() {\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  notifyNavigation() {\n    this.sharedDataService.loadData();\n  }\n\n  @action.bound\n  reset() {\n    this.requestId = '';\n  }\n\n  @action.bound\n  navToDriver() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  @action.bound\n  navToTachograph = () => {\n    this.navigator(DriverDigitalTachographViewModel).go();\n  };\n\n  translate = translate('driverng.newLicence', this);\n  translateNewSuccess = translate('driverng.newLicence.success', this);\n  translateFaq = translate('faq', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport { Service } from 'typedi';\nimport { makeObservable } from 'mobx';\nimport DriverLicenceApplicationViewModel from './driverLicenceApplication/DriverLicenceApplicationViewModel';\n\n@Service()\nexport default class DrivingLicenceExpiredViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'driving-licence-expired';\n  }\n\n  constructor() {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.navigator(DriverLicenceApplicationViewModel).go();\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport './GrandAccordionItem.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { MouseEventHandler, ReactNode, useEffect, useRef } from 'react';\nimport { useGrandAccordionContext } from './GrandAccordion';\nimport { GovIcon } from '@cendis/cedr-components';\n\ntype GrandAccordionItemProps = {\n  step: number;\n  title: string;\n  className?: string;\n  children?: ReactNode;\n  onClick?: MouseEventHandler;\n  onActiveStep?: () => void;\n  type?: 'completed' | 'active' | 'inactive';\n  buttonLabel?: string;\n};\n\nconst GrandAccordionItem = observer(\n  ({\n    step,\n    title,\n    className,\n    children,\n    onClick,\n    onActiveStep,\n    type,\n    buttonLabel,\n  }: GrandAccordionItemProps) => {\n    const grandAccordionContext = useGrandAccordionContext();\n    const itemRef = useRef<HTMLDivElement | null>(null);\n\n    useEffect(() => {\n      grandAccordionContext.registerRef(step, itemRef as React.RefObject<HTMLDivElement>);\n    }, [step, grandAccordionContext]);\n\n    const { activeStep } = grandAccordionContext;\n\n    useEffect(() => {\n      if (activeStep === step) {\n        onActiveStep && onActiveStep();\n      }\n    }, [activeStep, step, onActiveStep]);\n\n    const isOpened = activeStep === step;\n\n    const variant: 'completed' | 'inactive' | 'active' =\n      activeStep > step ? 'completed' : activeStep === step ? 'active' : type ? type : 'inactive';\n\n    const handleClick: MouseEventHandler = (e) => {\n      grandAccordionContext.setActiveStep(step);\n      if (onClick) onClick(e);\n    };\n\n    return (\n      <div className={getClassName('grand-accordion-item', variant, className)}>\n        <button\n          className=\"grand-accordion-item-header\"\n          data-testid={`grand-accordion-step-${step}`}\n          disabled={variant === 'inactive'}\n          onClick={variant !== 'inactive' ? handleClick : undefined}\n        >\n          <span className=\"step-indicator\">\n            {variant !== 'completed' ? step : <GovIcon name=\"components/check-lg\" />}\n          </span>\n          <span className=\"title\">{title}</span>\n          {variant !== 'inactive' && !isOpened && (\n            <div className=\"open-button\">\n              {buttonLabel}\n              <span className=\"arrow\">\n                <GovIcon name=\"components/chevron-down\" className={isOpened ? 'rotated' : undefined} />\n              </span>\n            </div>\n          )}\n        </button>\n\n        {isOpened && <div className=\"grand-accordion-item-content\">{children}</div>}\n      </div>\n    );\n  }\n);\n\nexport default GrandAccordionItem;\n","import { Message, ScreenContext, WizardItem } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport PaymentService from '../services/PaymentService';\nimport './PaymentWizardStep.scss';\nimport CombinedApplicationService from '../../driverLicence/driverCombined/CombinedApplicationService';\nimport LoaderBox from 'src/components/layout/LoaderBox';\n\ntype PaymentWizardStepProps = {\n  paymentService: PaymentService;\n  predefinedStep?: number;\n  combinedApplicationService: CombinedApplicationService;\n};\n\nconst PaymentWizardStepCombined = observer(\n  ({ paymentService, predefinedStep = 0, combinedApplicationService }: PaymentWizardStepProps) => {\n    const { step, translate, disableNextStep, amount, priceBusyWatcher } = paymentService;\n    const { getPayment } = combinedApplicationService;\n    return (\n      <ScreenContext value={paymentService}>\n        <WizardItem\n          step={predefinedStep ? predefinedStep : step}\n          label={translate('payment-title')}\n          disableNextStep={disableNextStep || combinedApplicationService?.busyWatcher.isBusy || priceBusyWatcher.isBusy}\n          onActiveStep={getPayment}\n          onBeforeNextStep={async () => {\n            if (combinedApplicationService) {\n              await combinedApplicationService.submitApplication();\n              return combinedApplicationService.paymentService.paymentUrl !== null;\n            }\n            return false;\n          }}\n          controlledButtonText={translate('payment-continue-button')}\n        >\n          <Message className=\"mb-4\" icon=\"custom/cash-stack\">\n            {translate('payment-combined-total-amount')}:{' '}\n            {priceBusyWatcher.isBusy ? (\n              <LoaderBox type=\"line-h\" />\n            ) : (\n              <strong className=\"bold\">\n                {amount} {translate('prompt.currency-cz')}\n              </strong>\n            )}\n          </Message>\n\n          <>\n            <p className=\"mb-5 payment-combined-ico\">\n              {translate('payment-combined-submit-info-1')} <strong className=\"bold\">{translate('payment-submit-info-2')}</strong>\n            </p>\n            <p>{translate('payment-supported-methods')}</p>\n            <img\n              className=\"payment-methods mb-3\"\n              alt={translate('payment-supported-methods')}\n              src={'site-public/img/layout/payment-methods.png'}\n            />\n          </>\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default PaymentWizardStepCombined;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport DriverCombinedViewModel from './DriverCombinedViewModel';\nimport { FirstApplication } from 'src/enums/FirstApplication';\nimport GrandAccordion from '../../shared/components/GrandAccordion/GrandAccordion';\nimport GrandAccordionItem from '../../shared/components/GrandAccordion/GrandAccordionItem';\nimport DriverLicenceSteps from '../../components/DriverLicenceSteps/DriverLicenceSteps';\nimport DriverDigitalTachographInfo from '../../components/DriverDigitalTachographInfo/DriverDigitalTachographInfo';\nimport DriverDigitalTachographSteps from '../../components/DriverDigitalTachographSteps/DriverDigitalTachographSteps';\nimport DriverLicenceInfo from '../../components/DriverLicenceInfo/DriverLicenceInfo';\nimport { Wizard } from '@cendis/cedr-components';\nimport DeliveryChoiceWizardStep from '../driverDigitalTachograph/06_ChooseTransport/DeliveryChoiceWizardStep';\nimport PaymentWizardStepCombined from '../../shared/components/PaymentWizardStepCombined';\nimport ContactDetailWizardStep from '../driverDigitalTachograph/07_ContactDetails/ContactDetailWizardStep';\nimport DriverLicenceError from '../../components/DriverLicenceError/DriverLicenceError';\nimport LoaderComponent from '../../components/Loader';\n\nconst DriverCombinedView: View<DriverCombinedViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    driverLicenceTranslate,\n    driverDigitalTachographTranslate,\n    firstApplication,\n    linkToDriver,\n    applicationService,\n  } = vm;\n\n  window.addEventListener('pageshow', () => {\n    vm.checkSavedTransaction();\n  });\n\n  const isFirstDriver =\n    firstApplication === FirstApplication.DRIVER || firstApplication === FirstApplication.ROOT;\n\n  const isDriverCompleted = firstApplication === FirstApplication.DRIVER;\n\n  const driverItem = (\n    <GrandAccordionItem\n      title={translate('driver.title')}\n      step={isFirstDriver ? 1 : 2}\n      key=\"driver\"\n      type={isDriverCompleted ? 'completed' : 'active'}\n      buttonLabel={translate('button-label')}\n      onActiveStep={applicationService.driverService.onActiveCombineStep}\n    >\n      <DriverLicenceInfo translate={driverLicenceTranslate} />\n      <DriverLicenceSteps\n        translate={driverLicenceTranslate}\n        applicationService={applicationService.driverService}\n        combined={applicationService.driverService.combined}\n        root={firstApplication === FirstApplication.ROOT}\n      />\n    </GrandAccordionItem>\n  );\n\n  const tachographItem = (\n    <GrandAccordionItem\n      title={translate('tachograph.title')}\n      step={!isFirstDriver ? 1 : 2}\n      key=\"tachograph\"\n      type={FirstApplication.ROOT ? 'inactive' : !isDriverCompleted ? 'completed' : 'active'}\n      buttonLabel={translate('button-label')}\n      onActiveStep={applicationService.tachographService.onActiveCombineStep}\n    >\n      <DriverDigitalTachographInfo\n        translate={driverDigitalTachographTranslate}\n        applicationService={applicationService.tachographService}\n      />\n      <DriverDigitalTachographSteps\n        applicationService={applicationService.tachographService}\n        translate={driverDigitalTachographTranslate}\n        combined={applicationService.tachographService.combined}\n        isSecond={isFirstDriver}\n      />\n    </GrandAccordionItem>\n  );\n\n  const items = isFirstDriver ? [driverItem, tachographItem] : [tachographItem, driverItem];\n\n  return (\n    <Container>\n      {applicationService.driverService.sharedDataService.busyWatcher.isBusy ? (\n        <LoaderComponent />\n      ) : (\n        <>\n          {applicationService.driverService.sharedDataService.applicationDocumentsErrors ? (\n            <DriverLicenceError\n              errors={applicationService.driverService.sharedDataService.applicationDocumentsErrors}\n              translate={driverLicenceTranslate}\n              linkToDriver={linkToDriver}\n            />\n          ) : (\n            <GrandAccordion context={vm.grandAccordionContext}>\n              {items}\n              <GrandAccordionItem\n                title={translate('delivery-payment')}\n                step={3}\n                key=\"delivery-payment\"\n                type=\"inactive\"\n              >\n                <Wizard wizardContext={vm.applicationService.lastStepContext}>\n                  <DeliveryChoiceWizardStep\n                    deliveryChoiceService={vm.applicationService.deliveryChoiceService}\n                    pickUpPointService={vm.applicationService.pickUpPointService}\n                    combined={vm}\n                  />\n\n                  <ContactDetailWizardStep\n                    contactDetailService={applicationService.driverService.contactDetailService}\n                    combined={true}\n                    predefinedStep={2}\n                    paymentService={applicationService.paymentService}\n                  />\n\n                  <PaymentWizardStepCombined\n                    paymentService={vm.applicationService.paymentService}\n                    combinedApplicationService={vm.applicationService}\n                    predefinedStep={3}\n                  />\n                </Wizard>\n              </GrandAccordionItem>\n            </GrandAccordion>\n          )}\n        </>\n      )}\n    </Container>\n  );\n});\n\nexport default DriverCombinedView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, reaction, runInAction } from 'mobx';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport DriverDigitalTachographApplicationService from '../driverDigitalTachograph/DriverDigitalTachographApplicationService';\nimport ApplicationService from '../driverLicenceApplication/ApplicationService';\nimport { FirstApplication } from 'src/enums/FirstApplication';\nimport { ToastService, WizardContext } from '@cendis/cedr-components';\nimport DeliveryChoiceService from '../driverDigitalTachograph/06_ChooseTransport/DeliveryChoiceService';\nimport PickUpPointService from '../driverLicenceApplication/05_PickUpPoint/PickUpPointService';\nimport PaymentService from '../../shared/services/PaymentService';\nimport { IDeliveryPermissionService } from '../../shared/services/DeliveryChoiceService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport EnvUtils from 'src/utils/EnvUtils';\nimport {\n  Crr_WebApi_Requests_CreateRequestRequest,\n  Crr_WebApi_Requests_DeliveryInformationRequest,\n} from 'src/data/crr/api';\nimport { DeliveryChoiceRadioOptions } from '../../shared/models/DeliveryChoiceModel';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport DriverService from '../../../../services/driver/DriverService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AuthService from 'src/services/AuthService';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/api';\nimport PaymentGatewayOutageViewModel from '../paymentGatewayOutage/PaymentGatewayOutageViewModel';\nimport GrandAccordionContext from '../../shared/components/GrandAccordion/GrandAccordionContext';\nimport { ActivateDateTypes } from 'src/enums/ActivateDateTypes';\nimport ErrorService from 'src/services/ErrorService';\nimport ValidationErrorViewModel from '../ValidationErrorViewModel';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\n@Service()\nexport default class CombinedApplicationService implements IDeliveryPermissionService {\n  busyWatcher = new BusyWatcher();\n  private navigator: Navigator = DummyNavigator;\n  lastStepContext = new WizardContext();\n  private firstApplication: FirstApplication = FirstApplication.DRIVER;\n  private grandAccordionContext?: GrandAccordionContext;\n\n  @computed\n  get isDeliveryAllowed() {\n    return (\n      this.driverService.reasonService.isDeliveryAllowed &&\n      this.tachographService.requestReasonsSelectionService.isDeliveryAllowed\n    );\n  }\n\n  @computed\n  get isTachographDeliveryAllowed() {\n    return this.tachographService.requestReasonsSelectionService.isDeliveryAllowed;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private toastService: ToastService,\n    @Inject() public tachographService: DriverDigitalTachographApplicationService,\n    @Inject() public driverService: ApplicationService,\n    @Inject() public deliveryChoiceService: DeliveryChoiceService,\n    @Inject() public pickUpPointService: PickUpPointService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private driverServiceApi: DriverService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    makeObservable(this);\n  }\n\n  async init(\n    navigator: Navigator,\n    firstApplication: FirstApplication,\n    grandAccordionContext?: GrandAccordionContext\n  ) {\n    this.navigator = navigator;\n    this.firstApplication = firstApplication;\n    this.grandAccordionContext = grandAccordionContext;\n\n    await this.driverService.init(this.navigator, true);\n    await this.tachographService.init(this.navigator, true);\n\n    this.initCombined();\n    if (firstApplication === FirstApplication.DRIVER) {\n      this.driverService.loadModelsFromSession();\n    }\n    if (firstApplication === FirstApplication.TACHOGRAPH) {\n      this.tachographService.loadModelsFromSession();\n    }\n\n    this.deliveryChoiceService.init(1, this);\n    this.paymentService.init(2);\n\n    if (this.grandAccordionContext) {\n      this.setupStepSynchronization();\n    }\n  }\n\n  reset() {\n    this.driverService.reset();\n    this.tachographService.reset();\n    this.deliveryChoiceService.reset();\n    this.paymentService.reset();\n    this.pickUpPointService.reset();\n  }\n\n  initCombined() {\n    this.navigationGuardService.startGuarding(false, true, () => {\n      this.driverService.reset();\n      this.tachographService.reset();\n    });\n    this.tachographService.combinedVariant();\n    this.driverService.combinedVariant();\n  }\n\n  @action.bound\n  private setupStepSynchronization() {\n    if (!this.grandAccordionContext) return;\n\n    reaction(\n      () => this.grandAccordionContext?.activeStep,\n      (activeStep) => {\n        if (activeStep !== undefined) {\n          this.updateStepsForActiveApplication(activeStep);\n        }\n      },\n      { fireImmediately: true }\n    );\n  }\n\n  @action.bound\n  private updateStepsForActiveApplication(activeStep: number) {\n    const isDriverActive = this.isDriverApplicationActive(activeStep);\n\n    if (isDriverActive) {\n      this.pickUpPointService.init(5, this.driverService.applicationType);\n      this.driverService.photoSignatureService.init(\n        6,\n        this.driverService.sharedDataService,\n        this.driverService.applicationType\n      );\n    } else {\n      this.pickUpPointService.init(3, this.tachographService.applicationType);\n      this.tachographService.photoSignatureService.init(\n        4,\n        this.tachographService.sharedDataService,\n        this.tachographService.applicationType\n      );\n    }\n  }\n\n  private isDriverApplicationActive(activeStep: number): boolean {\n    if (activeStep === 1) {\n      return (\n        this.firstApplication === FirstApplication.DRIVER || this.firstApplication === FirstApplication.ROOT\n      );\n    } else if (activeStep === 2) {\n      return this.firstApplication === FirstApplication.TACHOGRAPH;\n    }\n    return true;\n  }\n\n  @action.bound\n  navToOutage(requestId: string, refId: string) {\n    this.navigator(PaymentGatewayOutageViewModel, { requestId, refId, requestType: 'both' }).go();\n  }\n\n  private get crrReasonParam(): Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason {\n    if (\n      this.driverService.reasonService.model.reasonCode ===\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY &&\n      this.driverService.detailsService.isProfessionalCompetenceChecked\n    ) {\n      return Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE;\n    }\n\n    return this.driverService.reasonService.model.reasonCode;\n  }\n\n  @Watch<CombinedApplicationService>((s) => s.paymentService.priceBusyWatcher)\n  @action.bound\n  async getPayment() {\n    try {\n      if (this.crrReasonParam === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN) {\n        this.driverService.wizardContext.setActiveStep(1);\n        this.grandAccordionContext?.setActiveStep(1);\n        return;\n      }\n\n      const isDelivered =\n        this.deliveryChoiceService?.model?.deliveryChoice === DeliveryChoiceRadioOptions.BOX;\n\n      const params = {\n        isExpedited: this.driverService.detailsService.model.expedited,\n        isProfessionalCompetenceRequested: this.driverService.detailsService.isProfessionalCompetenceChecked,\n        addParcelPickupFee: isDelivered,\n        reason: this.crrReasonParam,\n        isdtRequestReason: this.tachographService.requestReasonsSelectionService.model.reason,\n      };\n\n      const response =\n        await this.tachographService.apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute(params);\n\n      runInAction(() => {\n        this.paymentService.model.amount = response?.amount ?? 0;\n      });\n    } catch (error) {\n      runInAction(() => {\n        this.driverService.sendingDisabled = true;\n        this.tachographService.sendingDisabled = true;\n      });\n      this.errorService.logCatchError(\n        error,\n        'driver - driverCombined - CombinedApplicationService',\n        'getPayment - apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute'\n      );\n      this.toastService.addToast('payment-compute-error', this.translate('payment-compute-error'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    }\n  }\n  @Watch<CombinedApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async submitApplication() {\n    if (\n      this.tachographService.sharedDataService.requestId === undefined ||\n      this.driverService.sharedDataService.requestId === undefined\n    ) {\n      return;\n    }\n\n    // Refresh token before payment to ensure it doesn't expire during payment process\n    await this.authService.refreshCurrentToken();\n\n    try {\n      let deliveryInformation: Crr_WebApi_Requests_DeliveryInformationRequest | undefined = undefined;\n      let cpcReason: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason | undefined = undefined;\n      let activationDate = null;\n\n      if (\n        this.driverService.reasonService.model.reasonCode ===\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY &&\n        this.driverService.detailsService.isProfessionalCompetenceChecked\n      ) {\n        cpcReason =\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE;\n      }\n\n      if (\n        this.deliveryChoiceService.model.deliveryChoice === DeliveryChoiceRadioOptions.BOX &&\n        this.deliveryChoiceService.model.boxAddress\n      ) {\n        deliveryInformation = {\n          placeId: this.deliveryChoiceService.model.boxAddress.id,\n          placeName: this.deliveryChoiceService.model.boxAddress.value,\n          deliveryType: this.deliveryChoiceService.model.boxAddress.type,\n        };\n\n        // HOTFIX PD-7543: pouze pokud je do boxu\n        if (\n          this.driverService.licenceActivationService.model.activateDateType === ActivateDateTypes.CUSTOM &&\n          this.driverService.licenceActivationService.model.customDate.length > 0\n        ) {\n          activationDate = this.driverService.licenceActivationService.model.customDate;\n        } else if (\n          this.driverService.licenceActivationService.model.activateDateType === ActivateDateTypes.FOLLOW_UP\n        ) {\n          activationDate = this.driverService.licenceActivationService.model.dateTo;\n        } else {\n          activationDate = null;\n        }\n      }\n\n      const requestBody: Crr_WebApi_Requests_CreateRequestRequest = {\n        tachographCard: {\n          requestId: this.tachographService.sharedDataService.requestId || null,\n          reason: this.tachographService.requestReasonsSelectionService.model.reason,\n          orpCode: this.pickUpPointService.model.code,\n        },\n        forGroups: this.driverServiceApi.drivingLicences?.drivingLicencePermissions\n          ?.map((x) => x.roGroup)\n          .join(' '),\n        emailAddress:\n          this.tachographService.contactDetailService.model.hasEmail &&\n          !this.tachographService.contactDetailService.isEmailDisabled\n            ? this.tachographService.contactDetailService.userService.contactInfo?.email\n            : null,\n        phoneNumber:\n          this.tachographService.contactDetailService.model.hasPhone &&\n          !this.tachographService.contactDetailService.isPhoneDisabled\n            ? this.tachographService.contactDetailService.userService.contactInfo?.phone\n            : null,\n        drivingLicence: {\n          requestId: this.driverService.sharedDataService.requestId || null,\n          orp: this.pickUpPointService.model.code,\n          reason: cpcReason ?? this.driverService.reasonService.model.reasonCode,\n          reasonName: this.driverService.reasonService.selectedReasonName,\n          expedited: this.driverService.detailsService.model.expedited,\n          addProfessionalCompetence: this.driverService.detailsService.isProfessionalCompetenceAllowed\n            ? this.driverService.detailsService.isProfessionalCompetenceChecked\n            : null,\n          activationDate: activationDate,\n        },\n        deliveryInformation: deliveryInformation,\n      };\n\n      const response =\n        await this.tachographService.apiService.crrApi.requests.postPdApiCrrV1Requests(requestBody);\n      const paymentUrl = ('payment' in response && response.payment?.gatewayUrl) || null;\n\n      if (!paymentUrl) {\n        this.toastService.addToast('payment-gateway-error', this.translate('payment-gateway-error'), {\n          color: 'error',\n          icon: 'components/exclamation-triangle-fill',\n          animateDirection: 'forward',\n        });\n        return;\n      }\n\n      this.navigationGuardService.stopGuarding();\n      this.tachographService.clearSessionStorage();\n      this.driverServiceApi.resetIsdtData();\n      this.driverServiceApi.resetDriverData();\n      this.driverServiceApi.resetQuickSummary();\n      this.driverServiceApi.resetDriverData();\n\n      this.paymentService.processPaymentUrl(\n        paymentUrl,\n        ('payment' in response ? response.payment?.paymentRefId : null) ?? null,\n        ('payment' in response ? response.payment?.transactionId : null) ?? null\n      );\n\n      // Save request type for gateway error fallback\n      if ('payment' in response && response.payment?.paymentRefId) {\n        this.localStorageService.set(`request_type_${response.payment.paymentRefId}`, 'both');\n      }\n    } catch (error: any) {\n      if (error.status === 400 && error.body?.type === 'CRR_PAYMENT_ERROR') {\n        this.errorService.logCatchError(\n          error,\n          'driver - driverCombined - CombinedApplicationService',\n          'submitApplication - apiService.crrApi.requests.postPdApiCrrV1Requests, type CRR_PAYMENT_ERROR'\n        );\n        this.navigationGuardService.stopGuarding();\n        this.navToOutage(error.body?.requestId, error.body?.refId);\n        return;\n      }\n\n      if (error.status === 409 && error.body?.type === 'CRR_PENDING_REQUEST') {\n        this.navigateToValidationError(error.body?.title || error.body?.message || '');\n        return;\n      }\n\n      this.errorService.logCatchError(\n        error,\n        'driver - driverCombined - CombinedApplicationService',\n        'submitApplication - apiService.crrApi.requests.postPdApiCrrV1Requests, other error not CRR_PAYMENT_ERROR'\n      );\n\n      this.toastService.addToast('driver-application-fail', this.translate('submit-fail'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    }\n  }\n\n  private navigateToValidationError(errorMessage: string): void {\n    this.navigationGuardService.stopGuarding();\n    this.navigator(ValidationErrorViewModel).go({\n      errorType: 'CONCURRENT_APPLICATION',\n      errorMessage: encodeURIComponent(errorMessage),\n    });\n  }\n\n  translate = translate('combined', this);\n}\n","import { action, makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport DriverCombinedView from './DriverCombinedView';\nimport CombinedApplicationService from './CombinedApplicationService';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { FirstApplication } from 'src/enums/FirstApplication';\nimport GrandAccordionContext from '../../shared/components/GrandAccordion/GrandAccordionContext';\nimport SessionService from 'src/services/SessionService';\nimport DriverNgViewModel from '../../DriverNgViewModel';\n\n@AddDefaultView(DriverCombinedView)\n@Service()\nexport default class DriverCombinedViewModel extends BaseScreen {\n  firstApplication: FirstApplication = FirstApplication.DRIVER;\n  grandAccordionContext = new GrandAccordionContext();\n\n  get pathNode() {\n    return 'combined-/firstApplication/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: CombinedApplicationService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { firstApplication } = params;\n    this.firstApplication = firstApplication as FirstApplication;\n  }\n\n  @action.bound\n  notifyNavigation() {\n    this.applicationService.init(this.navigator, this.firstApplication, this.grandAccordionContext);\n    if (this.firstApplication !== FirstApplication.ROOT) {\n      this.grandAccordionContext.activeStep = 2;\n    }\n  }\n\n  checkSavedTransaction() {\n    const refId = this.sessionService.get('refId');\n    const transactionId = this.sessionService.get('transactionId');\n\n    if (refId && transactionId) {\n      this.sessionService.remove('refId');\n      this.sessionService.remove('transactionId');\n      const completeUrl = `${window.location.origin}/driver/licence/complete?id=${transactionId}&refId=${refId}`;\n      window.location.assign(completeUrl);\n    }\n  }\n\n  @action.bound\n  linkToDriver() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  deactivate() {\n    this.applicationService.driverService.clearSessionStorage();\n    this.applicationService.tachographService.clearSessionStorage();\n  }\n\n  translate = translate('combined', this);\n  driverLicenceTranslate = translate('driver-licence-application', this);\n  driverDigitalTachographTranslate = translate('driverng.driver-digital-tachograph', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport DriverService from '../../../services/driver/DriverService';\nimport { ToastService } from '@cendis/cedr-components';\nimport DriverLicenceView from './DriverLicenceView';\nimport DriverDigitalTachographViewModel from './driverDigitalTachograph/DriverDigitalTachographViewModel';\nimport DriverLicenceApplicationViewModel from './driverLicenceApplication/DriverLicenceApplicationViewModel';\nimport CompleteScreenTachographViewModel from './completeScreenTachographView/CompleteScreenTachographViewModel';\nimport CompleteScreenDriverLicenceViewModel from './completeScreenDriverLicence/CompleteScreenDriverLicenceViewModel';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport DrivingLicenceExpiredViewModel from './DrivingLicenceExpiredViewModel';\nimport DriverCombinedViewModel from './driverCombined/DriverCombinedViewModel';\nimport PreliminaryActivationModalModel from './driverLicence/PreliminaryActivationModalModel';\nimport ComplaintViewModel from './complaint/ComplaintViewModel';\nimport SessionService from 'src/services/SessionService';\nimport CompleteScreenSharedViewModel from './completeScreenShared/CompleteScreenSharedViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport ValidationErrorViewModel from './ValidationErrorViewModel';\nimport { Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse } from 'src/data/crr/api';\n\n@AddDefaultView(DriverLicenceView)\n@AddChildrenView()\n@Service()\nexport default class DriverLicenceViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  validation = new ValidationContext();\n\n  get pathNode(): string {\n    return 'licence';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public driverService: DriverService,\n    @Inject() public toastService: ToastService,\n    @Inject() public driverDigitalTachographViewModel: DriverDigitalTachographViewModel,\n    @Inject() public driverLicenceApplicationViewModel: DriverLicenceApplicationViewModel,\n    @Inject() public authService: AuthorizationService,\n    @Inject() public completeScreenDriverLicenceViewModel: CompleteScreenDriverLicenceViewModel,\n    @Inject() public completeDriverScreenViewModel: CompleteScreenTachographViewModel,\n    @Inject() public drivingLicenceExpiredViewModel: DrivingLicenceExpiredViewModel,\n    @Inject() public driverCombinedViewModel: DriverCombinedViewModel,\n    @Inject() public complaintViewModel: ComplaintViewModel,\n    @Inject() public preliminaryactivationModalModel: PreliminaryActivationModalModel,\n    @Inject() public sessionService: SessionService,\n    @Inject() public completeScreenSharedViewModel: CompleteScreenSharedViewModel,\n    @Inject() public errorService: ErrorService,\n    @Inject() public validationErrorViewModel: ValidationErrorViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(driverDigitalTachographViewModel);\n    this.children.push(driverLicenceApplicationViewModel);\n    this.children.push(completeScreenDriverLicenceViewModel);\n    this.children.push(completeDriverScreenViewModel);\n    this.children.push(driverCombinedViewModel);\n    this.children.push(drivingLicenceExpiredViewModel);\n    this.children.push(complaintViewModel);\n    this.children.push(completeScreenSharedViewModel);\n    this.children.push(validationErrorViewModel);\n  }\n\n  @computed\n  get isLicenceValid(): boolean {\n    const validTo = this.driverService.drivingLicences?.drivingLicence?.validTo;\n    if (!validTo) return false;\n\n    const expiry = new Date(validTo + 'T23:59:59');\n    return new Date() <= expiry;\n  }\n\n  @computed\n  get complaintAllowed(): boolean | undefined {\n    try {\n      if (this.driverService.driverRequests) {\n        const candidates = this.driverService.driverRequests.filter(\n          (r) => 'complaintAllowed' in r && r.complaintAllowed === true\n        );\n        if (candidates.length > 0) {\n          return true;\n        }\n      }\n    } catch (e) {\n      this.errorService.logCatchError(\n        e,\n        'driver - driverLicence - DriverLicenceViewModel',\n        'complaintAllowed'\n      );\n    }\n    return false;\n  }\n\n  @computed\n  get requestId(): string | null {\n    const requestWithRequestId = this.driverService.driverRequests?.find((r) => r.id);\n    return requestWithRequestId?.id ?? null;\n  }\n\n  checkCanActivate() {\n    try {\n      if (this.driverService.driverRequests) {\n        const candidates = this.driverService.driverRequests.filter(\n          (r) => 'activationAllowed' in r && r.activationAllowed === true\n        );\n        if (candidates.length > 0) {\n          runInAction(() => (this.preliminaryactivationModalModel.canActivate = true));\n          return;\n        }\n      }\n    } catch (e) {\n      this.errorService.logCatchError(\n        e,\n        'driver - driverLicence - DriverLicenceViewModel',\n        'checkCanActivate'\n      );\n    }\n    runInAction(() => (this.preliminaryactivationModalModel.canActivate = false));\n  }\n\n  @action.bound\n  async handleActivateClick() {\n    let newDoc = '-';\n    let requestId = '';\n    try {\n      if (this.driverService.driverRequests) {\n        const candidates = this.driverService.driverRequests.filter(\n          (r) => 'activationAllowed' in r && r.activationAllowed === true && 'licenceId' in r\n        );\n        if (candidates.length > 0) {\n          const newest = candidates.reduce((a, b) => (String(a.validFrom) > String(b.validFrom) ? a : b));\n          newDoc =\n            (newest as Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse).licenceId || '-';\n          requestId = newest.id || '';\n        }\n      }\n    } catch (e) {\n      this.errorService.logCatchError(\n        e,\n        'driver - driverLicence - DriverLicenceViewModel',\n        'handleActivateClick'\n      );\n    }\n    const oldDoc = this.driverService.drivingLicences?.drivingLicence?.documentNumber || '-';\n    this.preliminaryactivationModalModel.open(requestId, newDoc, oldDoc);\n  }\n\n  @Watch<DriverLicenceViewModel>((s) => s.busyWatcher)\n  async notifyNavigation(): Promise<void> {\n    this.clearSavedSession();\n    await Promise.all([\n      this.driverService.getDriverInfo(),\n      this.driverService.DriverLicences(),\n      this.driverService.getDriverBans(),\n      this.driverService.getDriverTachographs(),\n      this.driverService.getDriverReasons(),\n      this.driverService.getDriverRequests(false, true),\n    ]);\n    if (!this.driverService.driverInfo) return;\n    this.checkCanActivate();\n  }\n\n  clearSavedSession() {\n    this.sessionService.remove('refId');\n    this.sessionService.remove('transactionId');\n  }\n\n  activate() {}\n\n  @action.bound\n  checkForApplicationStatus() {}\n\n  @action.bound\n  goToDriverLicenceApplication() {\n    this.navigator(DriverLicenceApplicationViewModel).go();\n  }\n\n  @action.bound\n  goToDigitalTachograph() {\n    this.navigator(DriverDigitalTachographViewModel).go();\n  }\n\n  @action.bound\n  goToComplaint() {\n    if (!this.requestId) return;\n    this.navigator(ComplaintViewModel, { requestId: this.requestId }).go();\n  }\n\n  translate = translate('driver-licence', this);\n  translateFaq = translate('faq', this);\n}\n","import Container from '@components/gov4/layout/Container';\nimport type ValidationErrorViewModel from './ValidationErrorViewModel';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { Button } from '@cendis/cedr-components';\nimport ErrorIcon from '../../error/errorPage/components/ErrorIcon';\nimport ErrorInfo from '../../error/errorPage/components/ErrorInfo';\nimport { StatusCodes } from 'src/enums/StatusCodes';\nimport './ValidationErrorView.scss';\n\nconst ValidationErrorView: View<ValidationErrorViewModel> = observer(({ vm }) => {\n  const { translate, errorDescription } = vm;\n\n  return (\n    <Container className=\"validation-error-view\">\n      <ErrorInfo\n        title={vm.isConcurrentError ? translate('main-text-plural') : translate('main-text')}\n        howToContinueText={errorDescription}\n        translate={translate}\n        icon={<ErrorIcon statusCode={StatusCodes.DEFAULT} color={'error'} translate={vm.translate} />}\n        className=\"validation-error-info\"\n      >\n        <Button\n          onClick={vm.goToDriverDashboard}\n          testId=\"validation-error-back\"\n          className=\"error-action-button\"\n        >\n          {translate('back-to-dashboard')}\n        </Button>\n      </ErrorInfo>\n    </Container>\n  );\n});\n\nexport default ValidationErrorView;\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ValidationErrorView from './ValidationErrorView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { BreadcrumbControl } from '../../breadcrumbs/types';\nimport DriverNgViewModel from '../DriverNgViewModel';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\n\n@AddDefaultView(ValidationErrorView)\n@Service()\nexport default class ValidationErrorViewModel extends BaseScreen {\n  @observable errorType: string = 'VALIDATION_ERROR';\n  @observable errorMessage: string = '';\n\n  get pathNode(): string {\n    return 'validation-error';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed\n  get isConcurrentError(): boolean {\n    return (\n      this.errorType === 'CONCURRENT_APPLICATION' ||\n      window.location.pathname.includes('combined-root') ||\n      window.location.pathname.includes('combined-driver') ||\n      window.location.pathname.includes('combined-tachograph')\n    );\n  }\n\n  @computed\n  get errorDescription(): string {\n    return this.isConcurrentError ? this.translate('sub-text-plural') : this.translate('sub-text');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(@Inject() public localization: LocalizationService) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {}\n\n  activate() {\n    // query params are filled after notifyNavigation\n    const { errorType, errorMessage } = parseQueryParams(window.location.search);\n    if (errorType) {\n      runInAction(() => {\n        this.errorType = errorType;\n        this.errorMessage = errorMessage || '';\n      });\n    }\n  }\n\n  @action.bound\n  goToDriverDashboard() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  translate = translate('driver-licence-validation-error', this);\n}\n","import {\n  DragAndDropFile,\n  GovIcon,\n  GovLink,\n  Input,\n  LegacyTooltip,\n  Message,\n  ScreenContext,\n  Select,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport DetailsService from './DetailsService';\nimport LoaderBox from '@components/layout/LoaderBox';\n\ntype ReasonWizardStepProps = {\n  detailsService: DetailsService;\n};\n\nconst DetailsWizardStep = observer(({ detailsService }: ReasonWizardStepProps) => {\n  const {\n    step,\n    translate,\n    selectOptions,\n    model,\n    disableNextStep,\n    setFiles,\n    unsetFiles,\n    fileErrorMessage,\n    isBusy,\n  } = detailsService;\n\n  return (\n    <ScreenContext value={detailsService}>\n      <WizardItem\n        step={step}\n        label={translate('label')}\n        disableNextStep={disableNextStep}\n        disabledButtonTooltip={translate('disabled-tooltip')}\n        useLegacyTooltip={true}\n      >\n        <Select target={model} property={'reason'} options={selectOptions} required className=\"mt-3\" />\n        <LegacyTooltip\n          position=\"right\"\n          size=\"s\"\n          className=\"mt-1 mb-4\"\n          tooltipContent={\n            <span key=\"tooltip\">\n              {translate('reason-tooltip-text')}\n              <GovLink href=\"/support\" target=\"_blank\" testId=\"support-link\">\n                {translate('reason-tooltip-link')}\n              </GovLink>\n            </span>\n          }\n          testId=\"reason-tooltip\"\n        >\n          <GovIcon name=\"components/info-circle-fill\" size=\"m\" /> <u>{translate('reason-tooltip')}</u>\n        </LegacyTooltip>\n\n        <Input\n          className=\"mb-4\"\n          target={model}\n          property={'description'}\n          placeholder=\"descriptionDefault\"\n          rows={4}\n          required\n          multiline\n        />\n\n        <DragAndDropFile\n          id={0}\n          label={'files'}\n          buttonLabel={translate('form.uploadFromDevice')}\n          infoLabel={translate('form.placeFile')}\n          filesLabel={translate('files-label')}\n          filesDescription={'files-description'}\n          fileSizeError={translate('file-size-error')}\n          fileTypeError={translate('file-type-error')}\n          formats={['jpg', 'jpeg', 'png', 'heic']}\n          validationsFired={false}\n          handleFile={setFiles}\n          handleRemoveFile={unsetFiles}\n          files={model.files}\n          allowedFileSize={1024 * 1024 * 2}\n          filesSize={0}\n          generalTranslate={translate}\n          isMandatory={false}\n          isMultiple\n          disabled={model.files.length >= 2}\n          error={fileErrorMessage || undefined}\n          hideList={isBusy}\n        />\n        {isBusy && <LoaderBox type=\"box-full\" />}\n        {model.files.length > 2 && <Message color=\"error\">{translate('files-length-error')}</Message>}\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default DetailsWizardStep;\n","import {\n  GovIcon,\n  Button,\n  Message,\n  ScreenContext,\n  Tag,\n  WizardItem,\n  Dialog,\n  Typography,\n} from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport DeliveryService from './DeliveryService';\nimport BalikomatIconLarge from 'src/app/driver_ng/components/BalikomatIconLarge';\nimport '../../../shared/components/DeliveryChoiceService.scss';\nimport ApplicationService from '../ApplicationService';\n\ntype DeliveryWizardStepProps = {\n  deliveryService: DeliveryService;\n  applicationService: ApplicationService;\n};\n\nconst DeliveryWizardStep = observer(({ deliveryService, applicationService }: DeliveryWizardStepProps) => {\n  const { step, translate, model, disableNextStep } = deliveryService;\n  const { onBeforeNextStep, applicationPromptVisible, closeApplicationPrompt, sendApplication, busyWatcher } =\n    applicationService;\n\n  return (\n    <ScreenContext value={deliveryService}>\n      <WizardItem\n        step={step}\n        label={translate('label')}\n        disableNextStep={disableNextStep}\n        onBeforeNextStep={() => {\n          deliveryService.saveToSessionStorage();\n          onBeforeNextStep();\n          return false;\n        }}\n        onActiveStep={() => deliveryService.startGuarding()}\n        controlledButtonText={translate('next-step')}\n      >\n        <div className=\"delivery-choice-wizard-step-component\">\n          <Typography className=\"mb-4\">\n            {translate('place-info1')}\n            <span className=\"fw-bold\">{translate('place-info2')}</span>\n            {translate('place-info3')}\n          </Typography>\n          <div className=\"label\">\n            <div className=\"icon mx-2\">\n              <BalikomatIconLarge />\n            </div>\n            <div>\n              <strong>{translate('box')}</strong>\n              <Tag\n                color=\"success\"\n                type=\"subtle\"\n                size=\"xs\"\n                iconStart=\"custom/check-circle-fill\"\n                className=\"mx-2\"\n                testId=\"delivery-box-selected\"\n              >\n                {translate('box-tag')}\n              </Tag>\n            </div>\n            <strong className=\"fee\">{translate('box-fee-value')}</strong>\n          </div>\n          {model.boxAddress ? (\n            <Message className=\"transparent-left-border my-2\" hideIcon={true}>\n              <Typography>{translate('box-info1')}</Typography>\n              <Typography>{translate('box-info2')}</Typography>\n              <strong>{model.boxAddress.value}</strong>\n              <Button type=\"base\" onClick={model.openModal} testId=\"delivery-box-address-edit\">\n                <GovIcon name=\"custom/pencil-square\" /> <span className=\"ms-2\">{translate('edit')}</span>\n              </Button>\n            </Message>\n          ) : (\n            <Button type=\"outlined\" onClick={model.openModal} testId=\"delivery-delect-address\">\n              {translate('select-address')}\n            </Button>\n          )}\n\n          <Dialog\n            isVisible={model.modalOpen}\n            headline={translate('modal-headline')}\n            onClose={() => model.closeModal()}\n            className=\"delivery-choice-modal\"\n            testId=\"delivery-choice-modal\"\n          >\n            <iframe\n              className=\"box-selection-iframe\"\n              title=\"Výběr místa pro vyzvednutí zásilky\"\n              src=\"https://b2c.cpost.cz/locations/?type=BALIKOVNY\"\n              allow=\"geolocation\"\n            />\n          </Dialog>\n\n          <Dialog\n            headline={translate('confirm-claim')}\n            isVisible={applicationPromptVisible}\n            onClose={closeApplicationPrompt}\n            testId=\"delivery-confirm-claim\"\n            bottomChildren={\n              <>\n                <Button\n                  text={translate('back-to-form')}\n                  type=\"outlined\"\n                  onClick={() => {\n                    closeApplicationPrompt();\n                  }}\n                  testId=\"application-delivery-back-to-form\"\n                />\n                <Button\n                  text={translate('submit-claim')}\n                  onClick={() => {\n                    sendApplication();\n                  }}\n                  disabled={busyWatcher.isBusy}\n                  testId=\"application-delivery-send\"\n                />\n              </>\n            }\n          >\n            <Typography>{translate('claim-summary')}</Typography>\n            <ul>\n              <li>\n                {translate('claim-reason')}{' '}\n                <strong className=\"bold\">{applicationService.detailsService.selectedOption}</strong>\n              </li>\n              <li>\n                {translate('claim-location')}{' '}\n                <strong className=\"bold\">{deliveryService.model.boxAddress?.value}</strong>\n              </li>\n            </ul>\n\n            <Typography className=\"mt-2\">{translate('claim-submit-confirm')}</Typography>\n          </Dialog>\n        </div>\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default DeliveryWizardStep;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport { Typography, Wizard } from '@cendis/cedr-components';\nimport DetailsWizardStep from './01_Details/DetailsWizardStep';\nimport Container from '@components/gov4/layout/Container';\nimport DeliveryWizardStep from './02_Delivery/DeliveryWizardStep';\nimport ComplaintViewModel from './ComplaintViewModel';\nimport './ComplaintView.scss';\nimport { WizardStepListener } from '../../components/WizardStepListener/WizardStepListener';\n\nconst ComplaintView: View<ComplaintViewModel> = observer(({ vm }) => {\n  const { translate, applicationService } = vm;\n\n  return (\n    <Container>\n      <div className=\"mw-855 complaint-view\">\n        <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"my-40px\">\n          {translate('title')}\n        </Typography>\n        <Wizard wizardContext={applicationService.wizardContext} className=\"mb-5\">\n          <WizardStepListener onStepChange={applicationService.continueAction} />\n          <DetailsWizardStep detailsService={applicationService.detailsService} />\n\n          <DeliveryWizardStep\n            deliveryService={applicationService.deliveryService}\n            applicationService={applicationService}\n          />\n        </Wizard>\n      </div>\n    </Container>\n  );\n});\n\nexport default ComplaintView;\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport { Attachment } from '@cendis/cedr-components';\nimport { Domain_Contracts_Enums_Crr_ComplaintReason } from 'src/data/crr/apiV3';\n\n@AddTranslationKey('complaint')\nexport default class DetailsModel {\n  @observable reason: Domain_Contracts_Enums_Crr_ComplaintReason = Domain_Contracts_Enums_Crr_ComplaintReason.INVALID_DOCUMENT;\n  @observable description: string = '';\n  @observable files: Attachment[] = [];\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const DetailsModelValidators: ValidationDescriptor<DetailsModel, Validators> = {\n  reason: {\n    required: {\n      message: 'required',\n    },\n  },\n  description: {\n    required: {\n      message: 'required',\n    },\n    maxLength: {\n      message: 'maxLength',\n      options: {\n        maxLength: 2000,\n      },\n    },\n  },\n};\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport { Attachment, type SelectOption } from '@cendis/cedr-components';\nimport WizardStepService from 'src/services/WizardStepService';\nimport DetailsModel, { DetailsModelValidators } from './DetailsModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from 'src/services/ValidationService';\nimport ApiService from 'src/services/ApiService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { Domain_Contracts_Enums_Crr_ComplaintReason } from 'src/data/crr/apiV3';\n\n@Service()\nexport default class DetailsService extends WizardStepService {\n  getFilesBusyWatcher = new BusyWatcher();\n  uploadFilesBusyWatcher = new BusyWatcher();\n  deleteFilesBusyWatcher = new BusyWatcher();\n  model = new DetailsModel();\n\n  @observable fileErrorMessage = '';\n  @observable requestId = '';\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private apiService: ApiService\n  ) {\n    super(`complaint-detail`);\n    makeObservable(this);\n  }\n\n  init(stepNumber: number) {\n    this._step = stepNumber;\n\n    this.validation.attachDescriptor(this.model, DetailsModelValidators);\n    this.getFiles();\n    this.startActivityWatcher();\n  }\n\n  reset() {\n    this.model = new DetailsModel();\n    this.stopActivityWatcher();\n  }\n\n  @computed\n  get isBusy() {\n    return (\n      this.uploadFilesBusyWatcher.isBusy ||\n      this.getFilesBusyWatcher.isBusy ||\n      this.deleteFilesBusyWatcher.isBusy\n    );\n  }\n\n  @computed\n  get disableNextStep() {\n    return (\n      this.model.description === '' ||\n      this.model.description.length > 2000 ||\n      (this.model.files.length !== 0 && this.model.files.length > 2)\n    );\n  }\n\n  @computed\n  get isDeliveryAllowed() {\n    return true;\n  }\n\n  @computed\n  get selectOptions(): SelectOption<any>[] {\n    const reasons = Object.values(Domain_Contracts_Enums_Crr_ComplaintReason);\n\n    return reasons.map((reason) => {\n      return {\n        key: reason,\n        label: this.translate(reason),\n        value: reason,\n      };\n    });\n  }\n\n  @computed\n  get selectedOption() {\n    if (!this.model.reason) return false;\n\n    return this.translate(this.model.reason);\n  }\n\n  @Watch<DetailsService>((s) => s.uploadFilesBusyWatcher)\n  @action.bound\n  async setFiles(file: File | FileList, description: string) {\n    this.fileErrorMessage = '';\n\n    if (file instanceof FileList) {\n      for (let i = 0; i < file.length; i++) {\n        const res = await this.apiService.crrApiV3.complaints\n          .postPdApiCrrV3DriverRequestsComplaintFiles(this.requestId, {\n            file: file[i],\n          })\n          .catch((e) => {\n            this.fileErrorMessage = e.body?.type;\n          });\n\n        if (res?.id) {\n          const attachment = new Attachment(file[i], description, file[i].size, res.id);\n          this.model.files?.push(attachment);\n        }\n      }\n    }\n  }\n\n  @action.bound\n  async unsetFiles(fileName: string, fileIndex: number) {\n    const file = this.model.files[fileIndex];\n    if (!file || !file.id) {\n      return;\n    }\n\n    this.deleteFile(file.id).then(() => {\n      this.model.files.splice(fileIndex, 1);\n    });\n  }\n\n  @Watch<DetailsService>((s) => s.deleteFilesBusyWatcher)\n  @action.bound\n  async deleteFile(fileName: string) {\n    await this.apiService.crrApiV3.complaints\n      .deletePdApiCrrV3DriverRequestsComplaintFiles(this.requestId, fileName)\n      .catch((e) => {\n        if (e.body?.status === 404) {\n          return;\n        }\n        this.fileErrorMessage = e.body?.type;\n      });\n  }\n\n  @Watch<DetailsService>((s) => s.getFilesBusyWatcher)\n  @action.bound\n  async getFiles() {\n    if (!!!this.requestId) {\n      return;\n    }\n\n    const res = await this.apiService.crrApiV3.complaints\n      .getPdApiCrrV3DriverRequestsComplaintFiles(this.requestId)\n      .catch((e) => {\n        this.fileErrorMessage = e.body.type;\n      });\n\n    if (Array.isArray(res) && res.length) {\n      res.forEach((item) => {\n        item.fileName && this.deleteFile(item.fileName);\n      });\n    }\n  }\n\n  protected activityWatchValue() {\n    return [this.model.reason, this.model.description, this.model.files] as const;\n  }\n\n  translate = translate('complaint.details-step', this);\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport { BoxAddress } from 'src/app/driver_ng/shared/models/DeliveryChoiceModel';\nimport { Crr_WebApi_Requests_DeliveryType } from 'src/data/crr/api';\n\n@AddTranslationKey('complaint')\nexport default class DeliveryModel {\n  @observable boxAddress: BoxAddress | undefined = undefined;\n\n  @observable modalOpen: boolean = false;\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  openModal() {\n    this.modalOpen = true;\n  }\n\n  @action.bound\n  closeModal() {\n    this.modalOpen = false;\n  }\n  @action.bound\n  onHandleMessage(event: MessageEvent) {\n    const data = event.data;\n    if (data.message === 'pickerResult' && data.point) {\n      this.modalOpen = false;\n      let deliveryType: Crr_WebApi_Requests_DeliveryType;\n      switch (data.point.subtype) {\n        case 'PARTNER':\n          deliveryType = Crr_WebApi_Requests_DeliveryType.BALIKOVNA_PARTNER;\n          break;\n        case 'BOX':\n          deliveryType = Crr_WebApi_Requests_DeliveryType.BALIKOVNA_BOX;\n          break;\n        default:\n          deliveryType = Crr_WebApi_Requests_DeliveryType.POST_OFFICE;\n          break;\n      }\n\n      this.boxAddress = { id: data.point.id.substring(1), value: `${data.point.name}`, type: deliveryType };\n    }\n  }\n}\n\nexport const DeliveryModelValidators: ValidationDescriptor<DeliveryModel, Validators> = {};\n","import { action, computed, makeObservable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from 'src/services/WizardStepService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from 'src/services/ValidationService';\nimport SessionService from 'src/services/SessionService';\nimport DeliveryModel from './DeliveryModel';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\n\n@Service()\nexport default class DeliveryService extends WizardStepService {\n  model = new DeliveryModel();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private sessionService: SessionService,\n    @Inject() private navigationGuardService: NavigationGuardService\n  ) {\n    super(`complaint-delivery`);\n    makeObservable(this);\n  }\n\n  async init(stepNumber: number) {\n    this._step = stepNumber;\n    window.addEventListener('message', this.model.onHandleMessage);\n    this.startActivityWatcher();\n  }\n\n  reset() {\n    this.model = new DeliveryModel();\n    window.removeEventListener('message', this.model.onHandleMessage);\n    this.stopActivityWatcher();\n  }\n  startGuarding() {\n    this.navigationGuardService.startGuarding();\n  }\n\n  @computed\n  get disableNextStep() {\n    return !this.model.boxAddress || this.model.boxAddress?.value === '' || this.model.boxAddress?.id === '';\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      boxAddress: this.model.boxAddress,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<DeliveryService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.boxAddress = data.boxAddress;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.boxAddress, this.model.modalOpen] as const;\n  }\n\n  translate = translate('complaint.delivery-step', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport { ToastService, WizardContext } from '@cendis/cedr-components';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport DetailsService from './01_Details/DetailsService';\nimport ValidationService from 'src/services/ValidationService';\nimport EnvUtils from 'src/utils/EnvUtils';\nimport DeliveryService from './02_Delivery/DeliveryService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApiService from 'src/services/ApiService';\nimport { Crr_WebApi_Requests_ComplaintRequest } from 'src/data/crr/apiV3';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport RequestDetailModel, { RequestDriverTypes } from '../../requestDetail/RequestDetailModel';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport DriverService from 'src/services/driver/DriverService';\nimport { Domain_Contracts_Enums_Crr_DeliveryType } from 'src/data/crr/apiV4';\nimport {\n  Crr_WebApi_Requests_DeliveryType,\n  Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse,\n  Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse,\n} from 'src/data/crr/api';\nimport ErrorService from 'src/services/ErrorService';\nimport AuthService from 'src/services/AuthService';\n\n@Service()\nexport default class ApplicationService {\n  busyWatcher = new BusyWatcher();\n  wizardContext = new WizardContext();\n\n  @observable applicationPromptVisible = false;\n  @observable requestId: string = '';\n  private navigator: Navigator = DummyNavigator;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public detailsService: DetailsService,\n    @Inject() public deliveryService: DeliveryService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private toastService: ToastService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private readonly apiService: ApiService,\n    @Inject() public driverService: DriverService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private authService: AuthService\n  ) {\n    makeObservable(this);\n  }\n\n  mapDeliveryType = (type: Domain_Contracts_Enums_Crr_DeliveryType): Crr_WebApi_Requests_DeliveryType => {\n    switch (type) {\n      case Domain_Contracts_Enums_Crr_DeliveryType.POST_OFFICE:\n        return Crr_WebApi_Requests_DeliveryType.POST_OFFICE;\n      case Domain_Contracts_Enums_Crr_DeliveryType.BALIKOVNA_PARTNER:\n        return Crr_WebApi_Requests_DeliveryType.BALIKOVNA_PARTNER;\n      case Domain_Contracts_Enums_Crr_DeliveryType.BALIKOVNA_BOX:\n        return Crr_WebApi_Requests_DeliveryType.BALIKOVNA_BOX;\n      default:\n        throw new Error(`Unsupported delivery type: ${type}`);\n    }\n  };\n\n  @action.bound\n  async init(navigator: Navigator) {\n    this.navigator = navigator;\n    this.validationService.init();\n\n    await this.driverService.getDriverRequests(false);\n    const request = this.driverService.driverRequests?.find((item) => item.id === this.requestId);\n    const delivery =\n      request && '$type' in request && (request.$type === 'CRR' || request.$type === 'ISDT')\n        ? (\n            request as\n              | (Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse & {\n                  $type?: string;\n                })\n              | (Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse & {\n                  $type?: string;\n                })\n          ).delivery\n        : undefined;\n\n    if (delivery) {\n      runInAction(() => {\n        this.deliveryService.model.boxAddress = {\n          id: delivery.placeId ?? '',\n          value: delivery.placeName ?? '',\n          type: this.mapDeliveryType(delivery.deliveryType),\n        };\n      });\n    }\n\n    this.detailsService.init(1);\n    this.deliveryService.init(2);\n  }\n\n  @action.bound\n  reset() {\n    this.wizardContext = new WizardContext();\n    this.validationService.reset();\n    this.detailsService.reset();\n    this.applicationPromptVisible = false;\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  @action.bound\n  openApplicationPrompt() {\n    this.applicationPromptVisible = true;\n  }\n\n  @action.bound\n  closeApplicationPrompt() {\n    this.applicationPromptVisible = false;\n  }\n\n  @action.bound\n  onBeforeNextStep() {\n    this.openApplicationPrompt();\n    return false;\n  }\n\n  @action.bound\n  goToDetailApplication() {\n    window.location.href = `/driver/application-detail-${RequestDriverTypes.CRR}?id=${this.requestId}&complaint=true`;\n  }\n\n  @Watch<ApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async sendApplication() {\n    if (this.busyWatcher.isBusy) {\n      return;\n    }\n\n    try {\n      const attachmentIds: string[] = [];\n\n      if (this.detailsService.model.files.length > 0) {\n        for (const attachment of this.detailsService.model.files) {\n          if (attachment.id) {\n            attachmentIds.push(attachment.id);\n          }\n        }\n      }\n\n      const complaintBody: Crr_WebApi_Requests_ComplaintRequest = {\n        description: this.detailsService.model.description,\n        reason: this.detailsService.model.reason,\n        attachments: attachmentIds,\n        deliveryInformation: {\n          placeId: this.deliveryService.model.boxAddress?.id!,\n          placeName: this.deliveryService.model.boxAddress?.value!,\n          deliveryType: this.deliveryService.model.boxAddress?.type!,\n        },\n      };\n\n      await this.apiService.crrApiV3.complaints.postPdApiCrrV3DriverRequestsComplaints(\n        this.requestId,\n        complaintBody\n      );\n\n      this.navigationGuardService.stopGuarding();\n      this.goToDetailApplication();\n    } catch (error: any) {\n      this.errorService.logCatchError(\n        error,\n        'driver - complaint - ApplicationService',\n        'sendApplication - apiService.crrApiV3.complaints.postPdApiCrrV3DriverRequestsComplaints'\n      );\n      this.toastService.addToast('driver-application-fail', this.translate('complaint-submit-fail'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    }\n\n    this.closeApplicationPrompt();\n  }\n\n  translate = translate('driverng.driver-digital-tachograph', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, makeObservable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ComplaintView from './ComplaintView';\nimport ApplicationService from './ApplicationService';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\n\n@AddDefaultView(ComplaintView)\n@Service()\nexport default class ComplaintViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  validation = new ValidationContext();\n\n  get pathNode(): string {\n    return 'complaint-/requestId/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { requestId } = params;\n\n    runInAction(() => {\n      this.applicationService.requestId = requestId;\n      this.applicationService.detailsService.requestId = requestId;\n    });\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound\n  notifyNavigation() {\n    this.applicationService.init(this.navigator);\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  activate() {}\n\n  translate = translate('complaint', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Accordion, AccordionItem, Button, GovLink, Typography } from '@cendis/cedr-components';\nimport './CompleteFaq.scss';\n\nexport type FaqItem = {\n  header: string;\n  content: React.ReactNode;\n};\n\ntype CompleteFaqProps = {\n  translate: Translator;\n  onNavigateToNotification?: () => void;\n  onNavigateToSupport?: () => void;\n  items?: FaqItem[];\n};\n\nconst CompleteFaq = observer(({ translate, items, onNavigateToSupport }: CompleteFaqProps) => {\n  const defaultItems: FaqItem[] = [\n    {\n      header: translate('faq.header1'),\n      content: <a data-testid=\"faq-text1\">{translate('faq.text1')}</a>,\n    },\n    {\n      header: translate('faq.header2'),\n      content: (\n        <a data-testid=\"faq-text2\">\n          {translate('faq.text2')}\n          <Button type=\"link\" onClick={onNavigateToSupport} testId=\"faq-text-link-support\">\n            {translate('faq.text2-link')}\n          </Button>\n        </a>\n      ),\n    },\n    {\n      header: translate('faq.header3'),\n      content: <a data-testid=\"faq-text3\">{translate('faq.text3')}</a>,\n    },\n    {\n      header: translate('faq.header4'),\n      content: (\n        <a data-testid=\"faq-text4\">\n          {translate('faq.text4')}{' '}\n          <GovLink\n            href=\"https://portal.gov.cz/sluzby-vs/vydani-ridicskeho-prukazu-S113\"\n            external\n            target=\"_blank\"\n            testId=\"driver-card-link\"\n          >\n            {translate('faq.faq-link')}\n          </GovLink>\n        </a>\n      ),\n    },\n  ];\n\n  const faqItemsToRender = items ?? defaultItems;\n\n  return (\n    <div className=\"complete-faq\">\n      <Typography type=\"headline\" component={'h2'} fontWeight={300} size=\"l\" className=\"mt-4 mb-3\">\n        {translate('faq.title')}\n      </Typography>\n      <Accordion size=\"l\" noBorder className=\"mb-5\">\n        {faqItemsToRender.map((item, index) => (\n          <AccordionItem size=\"l\" key={index} header={item.header} id={`faq-item-${index}`}>\n            {item.content}\n          </AccordionItem>\n        ))}\n      </Accordion>\n    </div>\n  );\n});\n\nexport default CompleteFaq;\n","import { observer } from 'mobx-react-lite';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport type CompleteScreenSharedViewModel from '../CompleteScreenSharedViewModel';\n\ntype SuccessCompleteScreenProps = {\n  vm: CompleteScreenSharedViewModel;\n};\n\nconst SuccessCompleteScreen = observer(({ vm }: SuccessCompleteScreenProps) => {\n  const isWithoutPayment = vm.paymentState === 'success_without_payment';\n\n  const getTitle = () => {\n    if (isWithoutPayment) {\n      switch (vm.requestType) {\n        case 'both':\n          return vm.translate('success.withoutPayment.combined.title');\n        case 'crr':\n          return vm.translate('success.withoutPayment.driverLicence.title');\n        case 'isdt':\n          return vm.translate('success.withoutPayment.isdt.title');\n        default:\n          return vm.translate('success.withoutPayment.title');\n      }\n    }\n\n    switch (vm.requestType) {\n      case 'both':\n        return vm.translate('combined.title');\n      case 'crr':\n        return vm.translate('crr.title');\n      case 'isdt':\n        return vm.translate('isdt.title');\n      default:\n        return vm.translate('success.title');\n    }\n  };\n\n  const getSubtitle = () => {\n    if (isWithoutPayment) {\n      switch (vm.requestType) {\n        case 'both':\n          return vm.translate('success.withoutPayment.combined.subtitle');\n        case 'crr':\n          return vm.translate('success.withoutPayment.driverLicence.subtitle');\n        case 'isdt':\n          return vm.translate('success.withoutPayment.isdt.subtitle');\n        default:\n          return vm.translate('success.withoutPayment.subtitle');\n      }\n    }\n\n    switch (vm.requestType) {\n      case 'both':\n        return vm.translate('combined.subtitle');\n      case 'crr':\n        return vm.translate('crr.subtitle');\n      case 'isdt':\n        return vm.translate('isdt.subtitle');\n      default:\n        return vm.translate('success.subtitle');\n    }\n  };\n\n  return (\n    <CompleteScreen\n      withGradientCircle\n      completeDriver\n      onClick={vm.navToDriver}\n      title={getTitle()}\n      subtitle={getSubtitle()}\n      buttonText={vm.translate('payment.backToDriver')}\n      variant=\"success\"\n      externalIcon={isWithoutPayment ? undefined : 'portCard'}\n      govIcon={isWithoutPayment ? 'complex/my-filing' : undefined}\n    />\n  );\n});\n\nexport default SuccessCompleteScreen;\n","import { observer } from 'mobx-react-lite';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport type CompleteScreenSharedViewModel from '../CompleteScreenSharedViewModel';\n\ntype PendingCompleteScreenProps = {\n  vm: CompleteScreenSharedViewModel;\n};\n\nconst PendingCompleteScreen = observer(({ vm }: PendingCompleteScreenProps) => {\n  const isCombined = vm.requestType === 'both';\n\n  const getTitle = () => {\n    return isCombined\n      ? vm.translate('payment.waitingForPayment.combined.title')\n      : vm.translate('payment.waitingForPayment.title');\n  };\n\n  const getSubtitle = () => {\n    return isCombined\n      ? vm.translate('payment.waitingForPayment.combined.subtitle')\n      : vm.translate('payment.waitingForPayment.subtitle');\n  };\n\n  const getSubtitle2 = () => {\n    return isCombined\n      ? vm.translate('payment.waitingForPayment.combined.subtitle-2')\n      : vm.translate('payment.waitingForPayment.subtitle-2');\n  };\n\n  const getSubtitle4 = () => {\n    return isCombined\n      ? vm.translate('payment.waitingForPayment.combined.subtitle-4')\n      : vm.translate('payment.waitingForPayment.subtitle-4');\n  };\n\n  return (\n    <CompleteScreen\n      withGradientCircle={false}\n      completeDriver\n      onClick={() => vm.processPayment()}\n      disableButtons={vm.paymentBusyWatcher.isBusy}\n      loading={vm.paymentBusyWatcher.isBusy}\n      title={getTitle()}\n      subtitle={\n        <>\n          <p>{getSubtitle()}</p>\n          <p>\n            {getSubtitle2()}{' '}\n            <b className=\"fw-bold\">\n              {vm.translate('payment.waitingForPayment.subtitle-3')} {vm.paymentDeadlineFormatted},\n            </b>{' '}\n            {getSubtitle4()}\n          </p>\n        </>\n      }\n      buttonText={vm.translate('payment.pay')}\n      variant=\"warning\"\n      externalIcon=\"waitingClock\"\n    />\n  );\n});\n\nexport default PendingCompleteScreen;\n","import { observer } from 'mobx-react-lite';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport type CompleteScreenSharedViewModel from '../CompleteScreenSharedViewModel';\n\ntype FailedCompleteScreenProps = {\n  vm: CompleteScreenSharedViewModel;\n};\n\nconst FailedCompleteScreen = observer(({ vm }: FailedCompleteScreenProps) => {\n  const isCombined = vm.requestType === 'both';\n  const payment_expired = vm.paymentState === 'payment_expired_cancelled';\n\n  const getSubtitle = () => {\n    if (payment_expired) {\n      return isCombined ? vm.translate('error.paymentExpired.combined.subtitle') : vm.translate('error.paymentExpired.subtitle');\n    } else {\n      return isCombined ? vm.translate('error.paymentFailed.combined.subtitle') : vm.translate('error.paymentFailed.subtitle');\n    }\n  };\n\n  const getSubtitle2 = () => {\n    return isCombined ? vm.translate('error.paymentFailed.combined.subtitle-2') : vm.translate('error.paymentFailed.subtitle-2');\n  };\n\n  const getSubtitle4 = () => {\n    return isCombined ? vm.translate('error.paymentFailed.combined.subtitle-4') : vm.translate('error.paymentFailed.subtitle-4');\n  };\n  const clickHandler = () => {\n    if (payment_expired) {\n      vm.navToDriver();\n    } else {\n      vm.processPayment();\n    }\n  };\n\n  return (\n    <CompleteScreen\n      withGradientCircle={false}\n      completeDriver\n      onClick={() => clickHandler()}\n      disableButtons={vm.paymentBusyWatcher.isBusy}\n      loading={vm.paymentBusyWatcher.isBusy}\n      title={vm.translate('error.paymentFailed.title')}\n      subtitle={\n        <>\n          <p>{getSubtitle()}</p>\n          {!payment_expired && (\n            <p>\n              {getSubtitle2()}{' '}\n              <b className=\"fw-bold\">\n                {vm.translate('error.paymentFailed.subtitle-3')} {vm.paymentDeadlineFormatted},\n              </b>{' '}\n              {getSubtitle4()}\n            </p>\n          )}\n        </>\n      }\n      buttonText={vm.translate(payment_expired ? 'button.toDriver' : 'button.retryPayment')}\n      variant=\"error\"\n      externalIcon=\"error\"\n    />\n  );\n});\n\nexport default FailedCompleteScreen;\n","import { observer } from 'mobx-react-lite';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport type CompleteScreenSharedViewModel from '../CompleteScreenSharedViewModel';\n\ntype ErrorCompleteScreenProps = {\n  vm: CompleteScreenSharedViewModel;\n};\n\nconst ErrorCompleteScreen = observer(({ vm }: ErrorCompleteScreenProps) => {\n  const isCombined = vm.requestType === 'both';\n\n  const getConfig = () => {\n    switch (vm.paymentState) {\n      case 'sending_failed':\n      case 'sending_failed_without_payment':\n        const getSubtitle = () => {\n          if (vm.paymentState === 'sending_failed_without_payment') {\n            return isCombined\n              ? vm.translate('error.sendingFailedWithoutPayment.combined.subtitle')\n              : vm.translate('error.sendingFailedWithoutPayment.subtitle');\n          } else {\n            return isCombined\n              ? vm.translate('error.sendingFailed.combined.subtitle')\n              : vm.translate('error.sendingFailed.subtitle');\n          }\n        };\n        const getSubtitleBold = () => {\n          if (vm.paymentState !== 'sending_failed_without_payment') {\n            return isCombined\n              ? vm.translate('error.sendingFailed.combined.subtitleBold')\n              : vm.translate('error.sendingFailed.subtitleBold');\n          } else {\n            return undefined;\n          }\n        };\n\n        return {\n          title: vm.translate('error.sendingFailed.title'),\n          subtitle: getSubtitle(),\n          subtitleBold: getSubtitleBold(),\n          buttonText: vm.translate('payment.backToDriver'),\n          onClick: vm.navToDriver,\n          variant: 'warning' as const,\n          externalIcon: 'warning' as const,\n        };\n\n      case 'gateway_error':\n        return {\n          title: vm.translate('error.gatewayError.title'),\n          subtitle: vm.translate('error.gatewayError.subtitle').replace('{refId}', vm.refId || ''),\n          buttonText: vm.translate('button.reload'),\n          onClick: vm.reloadPage,\n          variant: 'error' as const,\n          externalIcon: 'warning' as const,\n          secondaryButtonText: vm.translate('button.contactSupport'),\n          secondaryOnClick: () => {\n            vm.contactSupportExternal(\n              vm.translate('error.gatewayError.title'),\n              vm.translate('error.gatewayError.supportText')\n            );\n          },\n          secondaryButtonRightIcon: 'components/box-arrow-up-right' as const,\n        };\n\n      case 'payment_error':\n        return {\n          title: vm.translate('error.paymentError.title'),\n          subtitle: vm.translate('error.paymentError.subtitle').replace('{refId}', vm.refId || ''),\n          buttonText: vm.translate('button.contactSupport'),\n          onClick: () => {\n            vm.contactSupportExternal(\n              vm.translate('error.paymentError.title'),\n              vm.translate('error.paymentError.supportText')\n            );\n          },\n          variant: 'error' as const,\n          externalIcon: 'error' as const,\n          buttonRightIcon: 'components/box-arrow-up-right' as const,\n        };\n\n      case 'cancelled':\n        return {\n          title: vm.translate('payment.cancelled'),\n          subtitle: vm.translate('title.cancelled'),\n          buttonText: vm.translate('payment.backToDriver'),\n          onClick: vm.navToDriver,\n          variant: 'error' as const,\n          externalIcon: 'warning' as const,\n        };\n\n      case 'unknown':\n      default:\n        return {\n          title: vm.translate('error.unknown.title'),\n          subtitle: vm.translate('error.unknown.subtitle').replace('{refId}', vm.refId || ''),\n          buttonText: vm.translate('payment.backToDriver'),\n          onClick: vm.navToDriver,\n          variant: 'primary' as const,\n          withGradientCircle: true,\n          govIcon: 'colored/empty-file' as const,\n        };\n    }\n  };\n\n  const config = getConfig();\n\n  return (\n    <CompleteScreen\n      withGradientCircle={false}\n      completeDriver\n      onClick={config.onClick}\n      title={config.title}\n      subtitle={config.subtitle}\n      subtitleBold={config.subtitleBold}\n      buttonText={config.buttonText}\n      buttonRightIcon={config.buttonRightIcon}\n      secondaryButtonText={config.secondaryButtonText}\n      secondaryOnClick={config.secondaryOnClick}\n      secondaryButtonRightIcon={config.secondaryButtonRightIcon}\n      variant={config.variant}\n      externalIcon={config.externalIcon}\n      govIcon={config.govIcon}\n    />\n  );\n});\n\nexport default ErrorCompleteScreen;\n","import { observer } from 'mobx-react-lite';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport type CompleteScreenSharedViewModel from '../CompleteScreenSharedViewModel';\n\ntype NotFoundCompleteScreenProps = {\n  vm: CompleteScreenSharedViewModel;\n};\n\nconst NotFoundCompleteScreen = observer(({ vm }: NotFoundCompleteScreenProps) => {\n  return (\n    <CompleteScreen\n      govIcon=\"colored/empty-file\"\n      withGradientCircle={true}\n      completeDriver\n      onClick={() => vm.navToDriver()}\n      title={vm.translate('error.notFound.title')}\n      subtitle={\n        <>\n          <p>\n            {vm.translate('error.notFound.subtitle')} {vm.refId} {vm.translate('error.notFound.subtitle-2')}\n          </p>\n        </>\n      }\n      buttonText={vm.translate('payment.backToDriver')}\n      variant=\"primary\"\n    />\n  );\n});\n\nexport default NotFoundCompleteScreen;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { GovLink, ScreenContext } from '@cendis/cedr-components';\nimport CompleteFaq, { FaqItem } from '../completeScreenDriverLicence/components/CompleteFaq';\nimport CompleteScreenSharedViewModel, { RequestType } from './CompleteScreenSharedViewModel';\nimport LoaderBox from '@components/layout/LoaderBox';\nimport SuccessCompleteScreen from './components/SuccessCompleteScreen';\nimport PendingCompleteScreen from './components/PendingCompleteScreen';\nimport FailedCompleteScreen from './components/FailedCompleteScreen';\nimport ErrorCompleteScreen from './components/ErrorCompleteScreen';\nimport PaymentExpiredModal from './components/PaymentExpiredModal';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NotFoundCompleteScreen from './components/NotFoundCompleteScreen';\n\nexport const getFaqItems = (translate: Translator, requestType: RequestType): FaqItem[] | undefined => {\n  switch (requestType) {\n    case 'crr':\n      return [\n        {\n          header: translate('faq.crr.header-1'),\n          content: <p>{translate('faq.crr.content-1')}</p>,\n        },\n        {\n          header: translate('faq.crr.header-2'),\n          content: <p>{translate('faq.crr.content-2')} </p>,\n        },\n        {\n          header: translate('faq.crr.header-3'),\n          content: <p>{translate('faq.crr.content-3')}</p>,\n        },\n        {\n          header: translate('faq.crr.header-4'),\n          content: <p>{translate('faq.crr.content-4')}</p>,\n        },\n        {\n          header: translate('faq.crr.header-5'),\n          content: (\n            <p>\n              {translate('faq.crr.content-5')}{' '}\n              <GovLink\n                target=\"_blank\"\n                external\n                href=\"https://portal.gov.cz/sluzby-vs/vydani-ridicskeho-prukazu-S113\"\n                testId=\"driver-card-link\"\n              >\n                {translate('faq.crr.content-5-link')}\n              </GovLink>\n            </p>\n          ),\n        },\n      ];\n    case 'isdt':\n      return [\n        {\n          header: translate('faq.crr.header-1'),\n          content: <p>{translate('faq.crr.content-1')}</p>,\n        },\n        {\n          header: translate('faq.crr.header-2'),\n          content: (\n            <p>\n              {translate('faq.crr.content-2')}{' '}\n              <GovLink href=\"/support\" testId=\"support-link\">\n                {translate('faq.crr.content-2-link')}\n              </GovLink>\n            </p>\n          ),\n        },\n        {\n          header: translate('faq.isdt.header-3'),\n          content: <p>{translate('faq.isdt.content-3')}</p>,\n        },\n        {\n          header: translate('faq.isdt.header-4'),\n          content: (\n            <p>\n              {translate('faq.crr.content-4')}{' '}\n              <GovLink\n                target=\"_blank\"\n                external\n                href=\"https://portal.gov.cz/sluzby-vs/vydani-karty-ridice-digitalniho-tachografu-S567\"\n                testId=\"isdt-link\"\n              >\n                {translate('faq.crr.content-4-link')}\n              </GovLink>\n            </p>\n          ),\n        },\n      ];\n    case 'both':\n      return [\n        {\n          header: translate('faq.combined.header-1'),\n          content: <p>{translate('faq.combined.content-1')}</p>,\n        },\n        {\n          header: translate('faq.combined.header-2'),\n          content: (\n            <p>\n              {translate('faq.combined.content-2')}{' '}\n              <GovLink href=\"/support\" testId=\"support1-link\">\n                {translate('faq.combined.content-2-link')}\n              </GovLink>\n            </p>\n          ),\n        },\n      ];\n    case 'none':\n      return [\n        {\n          header: translate('faq.crr.header-1'),\n          content: <p>{translate('faq.crr.content-1')}</p>,\n        },\n        {\n          header: translate('faq.crr.header-2'),\n          content: (\n            <p>\n              {translate('faq.crr.content-2')}{' '}\n              <GovLink href=\"/support\" testId=\"support2-link\">\n                {translate('faq.crr.content-2-link')}\n              </GovLink>\n            </p>\n          ),\n        },\n      ];\n  }\n};\n\nconst CompleteScreenSharedView: View<CompleteScreenSharedViewModel> = observer(({ vm }) => {\n  const { busyWatcher, notifyBusyWatcher, paymentState, translate, requestType, closePaymentExpiredModal } =\n    vm;\n\n  const shouldShowLoader =\n    vm.loadRequestsWatcher.isBusy ||\n    ((notifyBusyWatcher.isBusy || busyWatcher.isBusy) &&\n      (paymentState === 'pending' || !vm.paymentResponse)) ||\n    !vm.completeScreenEnabled;\n\n  if (shouldShowLoader) {\n    return (\n      <Container>\n        <ScreenContext value={vm}>\n          <div className=\"complete-screen complete-screen-driver\">\n            <LoaderBox type=\"complete-ico mb-3\" />\n            <LoaderBox type=\"line-full mb-3\" />\n            <LoaderBox type=\"box-full\" />\n          </div>\n        </ScreenContext>\n      </Container>\n    );\n  }\n\n  const renderCompleteScreen = () => {\n    switch (paymentState) {\n      case 'success':\n      case 'success_without_payment':\n        return <SuccessCompleteScreen vm={vm} />;\n\n      case 'pending':\n        return <PendingCompleteScreen vm={vm} />;\n\n      case 'cancelled':\n        return <FailedCompleteScreen vm={vm} />;\n\n      case 'payment_expired_cancelled':\n        return <FailedCompleteScreen vm={vm} />;\n\n      case 'not_found':\n        return <NotFoundCompleteScreen vm={vm} />;\n\n      case 'failed':\n      case 'sending_failed':\n      case 'sending_failed_without_payment':\n      case 'gateway_error':\n      case 'payment_error':\n      case 'unknown':\n      default:\n        return <ErrorCompleteScreen vm={vm} />;\n    }\n  };\n\n  return (\n    <Container>\n      <ScreenContext value={vm}>\n        {vm.completeScreenEnabled && renderCompleteScreen()}\n        <CompleteFaq\n          translate={vm.translate}\n          onNavigateToNotification={vm.navToDriver}\n          onNavigateToSupport={vm.contactSupport}\n          items={getFaqItems(translate, requestType)}\n        />\n\n        <PaymentExpiredModal\n          translate={vm.translate}\n          onButtonClick={vm.navToDriver}\n          onClose={closePaymentExpiredModal}\n          isOpen={vm.shouldShowExpiredModal || vm.showPaymentExpiredModal}\n        />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default CompleteScreenSharedView;\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\nimport CompleteScreenSharedView from './CompleteScreenSharedView';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport { ToastService } from '@cendis/cedr-components';\nimport SupportViewModel from '../../../page/SupportViewModel';\nimport { Domain_Contracts_Enums_Crr_RequestPaymentStatus } from 'src/data/crr/api/models/Domain_Contracts_Enums_Crr_RequestPaymentStatus';\nimport { Domain_Contracts_Enums_Crr_RequestStatus } from 'src/data/crr/api/models/Domain_Contracts_Enums_Crr_RequestStatus';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\nimport SessionService from 'src/services/SessionService';\nimport { Crr_WebApi_Responses_V1_Requests_CheckPaymentStatusResponse } from 'src/data/crr/api/models/Crr_WebApi_Responses_V1_Requests_CheckPaymentStatusResponse';\nimport { Crr_WebApi_Responses_V1_Requests_CreateRequestPartialResponse } from 'src/data/crr/api/models/Crr_WebApi_Responses_V1_Requests_CreateRequestPartialResponse';\nimport DriverService from 'src/services/driver/DriverService';\nimport meta from 'src/meta';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/api';\nimport AuthService from 'src/services/AuthService';\nimport DateUtils from 'src/utils/DateUtils';\nimport ErrorService from 'src/services/ErrorService';\nimport ErrorPageViewModel from 'src/app/error/errorPage/ErrorPageViewModel';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\nexport type RequestType = 'crr' | 'isdt' | 'both' | 'none';\nexport type PaymentState =\n  | 'success'\n  | 'success_without_payment'\n  | 'pending'\n  | 'failed'\n  | 'payment_expired_cancelled'\n  | 'cancelled'\n  | 'unknown'\n  | 'sending_failed'\n  | 'sending_failed_without_payment'\n  | 'gateway_error'\n  | 'payment_error'\n  | 'not_found';\n\n@AddDefaultView(CompleteScreenSharedView)\n@Service()\nexport default class CompleteScreenSharedViewModel extends BaseScreen {\n  validation = new ValidationContext();\n  @observable busyWatcher = new BusyWatcher();\n  @observable paymentBusyWatcher = new BusyWatcher();\n  @observable notifyBusyWatcher = new BusyWatcher();\n  @observable loadRequestsWatcher = new BusyWatcher();\n  @observable transactionId = '';\n  @observable refId = '';\n  @observable completeScreenEnabled = false;\n  @observable paymentResponse:\n    | Crr_WebApi_Responses_V1_Requests_CheckPaymentStatusResponse\n    | Crr_WebApi_Responses_V1_Requests_CreateRequestPartialResponse\n    | null = null;\n  @observable errorMessage = '';\n  @observable paymentUrl: string | null = null;\n  @observable isGatewayError = false;\n  @observable isPaymentError = false;\n  @observable isNotFoundError = false;\n  @observable showPaymentExpiredModal = false;\n  @observable meta = meta('detail', this);\n  private deadlineTimeout: NodeJS.Timeout | null = null;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public toastService: ToastService,\n    @Inject() public sessionService: SessionService,\n    @Inject() private driverService: DriverService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async activate() {\n    const { refId, secureCode } = parseQueryParams(window.location.search);\n    if ((refId || secureCode) && !this.refId) {\n      this.notifyNavigation();\n    }\n\n    await this.loadPaymentStatus();\n  }\n\n  deactivate() {\n    this.stopDeadlineCheck();\n    this.reset();\n    if (this.refId) {\n      this.localStorageService.remove(`request_type_${this.refId}`);\n    }\n  }\n\n  reset() {\n    this.stopDeadlineCheck();\n\n    this.transactionId = '';\n    this.refId = '';\n    this.paymentResponse = null;\n    this.errorMessage = '';\n    this.paymentUrl = null;\n    this.isGatewayError = false;\n    this.isPaymentError = false;\n    this.showPaymentExpiredModal = false;\n    this.isNotFoundError = false;\n  }\n  @Watch<CompleteScreenSharedViewModel>((s) => s.notifyBusyWatcher)\n  notifyNavigation() {\n    const { refId, id } = parseQueryParams(window.location.search);\n    this.refId = refId || '';\n    this.transactionId = id || '';\n\n    if (!this.refId) {\n      this.refId = this.sessionService.get('refId') || '';\n    }\n\n    this.sessionService.remove('refId');\n    this.sessionService.remove('transactionId');\n  }\n\n  get pathNode() {\n    return 'complete';\n  }\n\n  get title() {\n    return this.requestTitle;\n  }\n\n  @computed\n  get requestTitle(): string {\n    switch (this.requestType) {\n      case 'both':\n        return this.translate('titleShared.combinedLicences');\n      case 'crr':\n        return this.translate('titleShared.driverLicence');\n      case 'isdt':\n        return this.translate('titleShared.isdt');\n      default:\n        return this.translate('titleShared.titleShared');\n    }\n  }\n\n  @computed\n  get requestType(): RequestType {\n    // Pro gateway error načíst uložený typ žádosti z localStorage\n    if (this.isGatewayError && !this.paymentResponse && this.refId) {\n      const savedRequestType = this.localStorageService.get(\n        `request_type_${this.refId}`\n      ) as RequestType | null;\n      if (savedRequestType && ['crr', 'isdt', 'both'].includes(savedRequestType)) {\n        return savedRequestType;\n      }\n    }\n\n    if (this.paymentResponse) {\n      if ('paymentStatus' in this.paymentResponse) {\n        // 200\n        const hasDriver =\n          this.paymentResponse.drivingLicence !== null && this.paymentResponse.drivingLicence !== undefined;\n        const hasIsdt =\n          this.paymentResponse.tachographCard !== null && this.paymentResponse.tachographCard !== undefined;\n\n        if (hasDriver && hasIsdt) return 'both';\n        if (hasDriver) return 'crr';\n        if (hasIsdt) return 'isdt';\n      } else if ('id' in this.paymentResponse) {\n        // 206\n        const hasDriver = this.paymentResponse.drivingLicenceCreated === true;\n        const hasIsdt = this.paymentResponse.tachographCardCreated === true;\n\n        if (hasDriver && hasIsdt) return 'both';\n        if (hasDriver) return 'crr';\n        if (hasIsdt) return 'isdt';\n      }\n    }\n    return 'none';\n  }\n\n  @computed\n  get paymentState(): PaymentState {\n    if (this.isNotFoundError) return 'not_found';\n    if (this.isGatewayError && !this.paymentResponse) return 'gateway_error';\n    if (this.isPaymentError) return 'payment_error';\n\n    if (this.paymentResponse && 'paymentStatus' in this.paymentResponse) {\n      // 200\n      const paymentStatus = this.paymentResponse.paymentStatus;\n      const isDriverProcessed =\n        this.paymentResponse.drivingLicenceRequestStatus ===\n        Domain_Contracts_Enums_Crr_RequestStatus.PROCESSED;\n      const isIsdtProcessed =\n        this.paymentResponse.tachographCardRequestStatus ===\n        Domain_Contracts_Enums_Crr_RequestStatus.PROCESSED;\n      const isDriverFailed =\n        this.paymentResponse.drivingLicenceRequestStatus === Domain_Contracts_Enums_Crr_RequestStatus.FAILED;\n      const isIsdtFailed =\n        this.paymentResponse.tachographCardRequestStatus === Domain_Contracts_Enums_Crr_RequestStatus.FAILED;\n\n      const isDriverCancelled =\n        this.paymentResponse.drivingLicenceRequestStatus ===\n        Domain_Contracts_Enums_Crr_RequestStatus.CANCELLED;\n      const isIsdtCancelled =\n        this.paymentResponse.drivingLicenceRequestStatus ===\n        Domain_Contracts_Enums_Crr_RequestStatus.CANCELLED;\n\n      switch (paymentStatus) {\n        case Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED:\n          if (isDriverProcessed || isIsdtProcessed) return 'success';\n          if (isDriverFailed || isIsdtFailed) return 'sending_failed';\n          return 'sending_failed';\n\n        case Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING:\n          return 'pending';\n\n        case Domain_Contracts_Enums_Crr_RequestPaymentStatus.FAILED:\n          return 'failed';\n\n        case Domain_Contracts_Enums_Crr_RequestPaymentStatus.CANCELLED:\n          if (isDriverCancelled || isIsdtCancelled) return 'payment_expired_cancelled';\n          return 'cancelled';\n\n        case Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN:\n          if (isDriverProcessed || isIsdtProcessed) return 'success_without_payment';\n          if (isDriverFailed || isIsdtFailed) return 'sending_failed_without_payment';\n          return 'unknown';\n\n        default:\n          return 'unknown';\n      }\n    } else if (this.paymentResponse && 'id' in this.paymentResponse) {\n      // 206\n      return 'sending_failed';\n    }\n    return 'unknown';\n  }\n\n  @Watch<CompleteScreenSharedViewModel>((s) => s.busyWatcher)\n  @action.bound\n  private async loadPaymentStatus() {\n    this.isGatewayError = false;\n    this.isPaymentError = false;\n\n    try {\n      if (this.refId) {\n        const response = await this.getPaymentStatusWithRetry(this.refId);\n        if (response) {\n          runInAction(() => {\n            this.paymentResponse = response;\n          });\n        }\n      } else {\n        runInAction(() => {\n          this.paymentResponse = {\n            requestId: '',\n            paymentStatus: Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN,\n            drivingLicence: {\n              reason: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN,\n            },\n            tachographCard: undefined,\n            drivingLicenceRequestStatus: Domain_Contracts_Enums_Crr_RequestStatus.PROCESSED,\n            tachographCardRequestStatus: Domain_Contracts_Enums_Crr_RequestStatus.PROCESSED,\n          } as Crr_WebApi_Responses_V1_Requests_CheckPaymentStatusResponse;\n        });\n      }\n\n      this.startDeadlineCheck();\n    } catch (error: any) {\n      if (error?.status === 404 && error?.body?.type === 'CRR_REQUEST_NOT_FOUND') {\n        this.errorService.logCatchError(\n          error,\n          'driver - completeScreenShared - CompleteScreenSharedViewModel',\n          'loadPaymentStatus - getPaymentStatusWithRetry, CRR_REQUEST_NOT_FOUND'\n        );\n        runInAction(() => {\n          this.isNotFoundError = true;\n        });\n      } else {\n        this.errorService.logCatchError(\n          error,\n          'driver - completeScreenShared - CompleteScreenSharedViewModel',\n          'loadPaymentStatus - getPaymentStatusWithRetry, other error not CRR_REQUEST_NOT_FOUND'\n        );\n      }\n\n      const isCancelledError =\n        error?.status === 400 &&\n        (error?.body?.type === 'BAD_PAYMENT_DATA' ||\n          error?.body?.title === 'Bad request state Cancelled' ||\n          JSON.stringify(error).includes('BAD_PAYMENT_DATA'));\n\n      const isCancelPush =\n        error?.status === 400 &&\n        (error?.body?.type === 'CRR_DRIVING_LICENCE_FAILED' || error?.body?.type === 'CRR_ISDT_FAILED');\n\n      if (isCancelledError) {\n        if (isCancelPush) {\n          runInAction(() => {\n            this.isGatewayError = false;\n            this.paymentResponse = {\n              requestId: '',\n              paymentStatus: Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED,\n              drivingLicence: {\n                reason: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN,\n              },\n              tachographCard: undefined,\n              drivingLicenceRequestStatus: Domain_Contracts_Enums_Crr_RequestStatus.FAILED,\n              tachographCardRequestStatus: Domain_Contracts_Enums_Crr_RequestStatus.FAILED,\n            } as Crr_WebApi_Responses_V1_Requests_CheckPaymentStatusResponse;\n          });\n        } else {\n          runInAction(() => {\n            this.isGatewayError = false;\n            this.paymentResponse = {\n              requestId: '',\n              paymentStatus: Domain_Contracts_Enums_Crr_RequestPaymentStatus.CANCELLED,\n              drivingLicence: {\n                reason: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN,\n              },\n              tachographCard: undefined,\n              drivingLicenceRequestStatus: undefined,\n              tachographCardRequestStatus: undefined,\n            } as Crr_WebApi_Responses_V1_Requests_CheckPaymentStatusResponse;\n          });\n        }\n      } else if (error?.status === 400 || error?.status === 500) {\n        this.navigator(ErrorPageViewModel).go();\n      } else {\n        runInAction(() => {\n          this.isGatewayError = true;\n        });\n        this.showErrorToast(this.translate('payment.loadFailed'));\n      }\n    }\n\n    this.completeScreenEnabled = true;\n    this.meta.title = this.requestTitle;\n  }\n\n  private async getPaymentStatusWithRetry(\n    refId: string,\n    retries: number = 4\n  ): Promise<\n    | Crr_WebApi_Responses_V1_Requests_CheckPaymentStatusResponse\n    | Crr_WebApi_Responses_V1_Requests_CreateRequestPartialResponse\n    | undefined\n  > {\n    for (let attempt = 0; attempt < retries; attempt++) {\n      const response = await this.apiService.crrApi.requests.postPdApiCrrV1RequestsPaymentStatus(refId);\n\n      if ('drivingLicenceRequestStatus' in response && 'tachographCardRequestStatus' in response) {\n        if (\n          response.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED &&\n          (response.drivingLicenceRequestStatus === Domain_Contracts_Enums_Crr_RequestStatus.FOR_PROCESSING ||\n            response.tachographCardRequestStatus === Domain_Contracts_Enums_Crr_RequestStatus.FOR_PROCESSING)\n        ) {\n          if (attempt < retries - 1) {\n            await new Promise((resolve) => setTimeout(resolve, 5000)); // Počkej 5 sekund\n          } else {\n            return response;\n          }\n        } else {\n          return response;\n        }\n      } else {\n        return response;\n      }\n    }\n  }\n\n  @Watch<CompleteScreenSharedViewModel>((s) => s.paymentBusyWatcher)\n  @action.bound\n  async processPayment() {\n    try {\n      if (!this.refId) {\n        this.showErrorToast(this.translate('payment.missingRefId'));\n        this.completeScreenEnabled = true;\n        return;\n      }\n\n      if (this.isPaymentExpired) {\n        this.showPaymentExpiredModal = true;\n        this.completeScreenEnabled = true;\n        return;\n      }\n\n      if (this.paymentUrl) {\n        window.location.href = this.paymentUrl;\n        return;\n      }\n\n      if (this.refId) {\n        const response = await this.apiService.crrApi.requests.postPdApiCrrV1RequestsPayments(this.refId);\n\n        const gatewayUrl = response.gatewayUrl;\n        if (gatewayUrl) {\n          this.paymentUrl = gatewayUrl;\n          await this.authService.refreshCurrentToken();\n          window.location.href = gatewayUrl;\n          return;\n        }\n      }\n    } catch (error: any) {\n      if (error?.body?.type === 'PAYMENT_EXPIRED') {\n        this.errorService.logCatchError(\n          error,\n          'driver - completeScreenShared - CompleteScreenSharedViewModel',\n          'processPayment - apiService.crrApi.requests.postPdApiCrrV1RequestsPayments, type PAYMENT_EXPIRED'\n        );\n        this.showPaymentExpiredModal = true;\n      } else {\n        this.isPaymentError = true;\n      }\n    }\n\n    this.completeScreenEnabled = true;\n  }\n\n  @Watch<CompleteScreenSharedViewModel>((s) => s.loadRequestsWatcher)\n  @action.bound\n  async navToDriver() {\n    await this.driverService.loadDataNg(true);\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  @action.bound\n  reloadPage() {\n    window.location.assign(window.location.pathname + window.location.search);\n  }\n\n  @action.bound\n  contactSupport() {\n    this.navigator(SupportViewModel).go();\n  }\n\n  @action.bound\n  contactSupportExternal(subject: string, text: string) {\n    const supportUrl = '/support/form';\n\n    const fullText = `${text}[[NL]]RefID: ${this.refId}`;\n\n    const encodedSubject = encodeURIComponent(subject);\n    const encodedText = encodeURIComponent(fullText);\n\n    const finalUrl = `${supportUrl}?subject=${encodedSubject}&text=${encodedText}`;\n\n    window.open(finalUrl, '_blank');\n  }\n\n  @action.bound\n  openPaymentExpiredModal() {\n    this.showPaymentExpiredModal = true;\n  }\n\n  @action.bound\n  closePaymentExpiredModal() {\n    this.showPaymentExpiredModal = false;\n  }\n\n  @action.bound\n  private startDeadlineCheck() {\n    if (this.paymentResponse && 'paymentStatus' in this.paymentResponse && this.paymentResponse.expiresAt) {\n      const deadline = new Date(this.paymentResponse.expiresAt);\n      const now = new Date();\n      const timeToDeadline = deadline.getTime() - now.getTime();\n\n      if (\n        this.paymentState === 'pending' ||\n        this.paymentState === 'failed' ||\n        this.paymentState === 'cancelled'\n      ) {\n        if (timeToDeadline <= 0) {\n          this.openPaymentExpiredModal();\n          return;\n        } else {\n          this.deadlineTimeout = setTimeout(() => {\n            this.openPaymentExpiredModal();\n          }, timeToDeadline);\n          return;\n        }\n      }\n    }\n  }\n\n  @action.bound\n  private stopDeadlineCheck() {\n    if (this.deadlineTimeout) {\n      clearTimeout(this.deadlineTimeout);\n      this.deadlineTimeout = null;\n    }\n  }\n\n  @action.bound\n  private showErrorToast(message: string) {\n    this.toastService.addToast('payment-error', message, {\n      color: 'error',\n      icon: 'components/exclamation-triangle-fill',\n      animateDirection: 'forward',\n    });\n  }\n\n  @computed\n  get paymentDeadlineFormatted() {\n    if (this.paymentResponse && 'paymentStatus' in this.paymentResponse && this.paymentResponse.expiresAt) {\n      return DateUtils.dateFormatCz(this.paymentResponse.expiresAt, true);\n    }\n\n    return '';\n  }\n\n  @computed\n  get computedRequestId(): string | null {\n    if (this.paymentResponse && 'requestId' in this.paymentResponse) {\n      return this.paymentResponse.requestId;\n    }\n\n    return null;\n  }\n\n  @computed\n  get isPaymentExpired() {\n    if (\n      this.paymentResponse &&\n      'paymentStatus' in this.paymentResponse &&\n      this.paymentResponse.isPaymentExpired === false\n    ) {\n      return false;\n    } else if (\n      this.paymentResponse &&\n      'paymentStatus' in this.paymentResponse &&\n      this.paymentResponse.expiresAt\n    ) {\n      const now = new Date();\n      const deadline = new Date(this.paymentResponse.expiresAt);\n      return now >= deadline;\n    }\n    return false;\n  }\n\n  @computed\n  get shouldShowExpiredModal() {\n    return this.paymentState === 'pending' && this.isPaymentExpired && !this.showPaymentExpiredModal;\n  }\n\n  translate = translate('driverng.completeShared', this);\n  translateFaq = translate('faq', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Button, Dialog, Typography } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype PaymentExpiredModalProps = {\n  isOpen: boolean;\n  translate: Translator;\n  onButtonClick: () => void;\n  onClose: () => void;\n  isBusy?: boolean;\n};\n\nconst PaymentExpiredModal = observer(({ translate, isOpen, onButtonClick, isBusy, onClose }: PaymentExpiredModalProps) => {\n  return (\n    <Dialog isVisible={isOpen} headline={translate('modal.expiredTitle')} testId=\"payment-expired-dialog\">\n      <Typography className=\"mb-2\" component={'h4'} size=\"xl\" type=\"body\">\n        {translate('modal.whatHappened')}\n      </Typography>\n      <Typography className=\"mb-2\" type=\"body\" size=\"m\" component={'p'}>\n        {translate('modal.expiredDescription')}\n      </Typography>\n\n      <Typography className=\"mb-2\" component={'h4'} size=\"xl\" type=\"body\">\n        {translate('modal.howToContinue')}\n      </Typography>\n      <Typography className=\"mb-4\" type=\"body\" size=\"m\" component={'p'}>\n        {translate('modal.continueDescription')}\n      </Typography>\n\n      <Button type=\"solid\" onClick={onButtonClick} loading={isBusy} testId=\"payment-expired-dialog-back-to-overview\">\n        {translate('modal.backToOverview')}\n      </Button>\n    </Dialog>\n  );\n});\n\nexport default PaymentExpiredModal;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Accordion, AccordionItem, GovLink, Typography } from '@cendis/cedr-components';\nimport './CompleteFaq.scss';\n\ntype CompleteFaq = {\n  translate: Translator;\n  onNavigateToNotification: () => void;\n};\n\nconst CompleteFaq = observer(({ translate }: CompleteFaq) => {\n  return (\n    <div className=\"complete-faq\">\n      {/* BOTTOM ACCORDION */}\n      <Typography type=\"headline\" component={'h2'} fontWeight={300} size=\"l\" className=\"mt-4 mb-3\">\n        {translate('faq.title')}\n      </Typography>\n\n      <Accordion noBorder size=\"l\" className=\"mb-5\">\n        <AccordionItem size=\"l\" header={translate('faq.header1')} id=\"header1\">\n          <p>{translate('faq.text1')}</p>\n        </AccordionItem>\n\n        <AccordionItem size=\"l\" header={translate('faq.header2')} id=\"header2\">\n          <p>{translate('faq.text2')}</p>\n        </AccordionItem>\n\n        <AccordionItem size=\"l\" header={translate('faq.header3')} id=\"header3\">\n          <p>\n            {translate('faq.text3')}\n            <GovLink\n              href=\"https://portal.gov.cz/sluzby-vs/vydani-karty-ridice-digitalniho-tachografu-S567\"\n              external\n              target=\"_blank\"\n              testId=\"tachograph-link\"\n            >\n              {translate('faq-link')}\n            </GovLink>\n          </p>\n        </AccordionItem>\n      </Accordion>\n    </div>\n  );\n});\n\nexport default CompleteFaq;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport CompleteFaq from './components/CompleteFaq';\nimport CompleteScreenTachographViewModel from './CompleteScreenTachographViewModel';\n\nconst CompleteScreenTachographView: View<CompleteScreenTachographViewModel> = observer(({ vm }) => {\n  const { translate, translateNewSuccess } = vm;\n\n  return (\n    <Container className=\"represented-entities-view\">\n      <ScreenContext value={vm}>\n        <CompleteScreen\n          withGradientCircle\n          completeDriver\n          mandateId={vm.requestId}\n          onClick={vm.navToDriver}\n          title={translateNewSuccess('title')}\n          subtitle={translateNewSuccess('info')}\n          mandateText={translateNewSuccess('mandateId')}\n          buttonText={translateNewSuccess('btnText')}\n          variant=\"success\"\n        />\n        <CompleteFaq translate={translate} onNavigateToNotification={vm.navToDriver} />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default CompleteScreenTachographView;\n","import { action, makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from 'src/services/ApiService';\nimport CompleteScreenTachographView from './CompleteScreenTachographView';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport DriverNgViewModel from '../../DriverNgViewModel';\n\n@AddDefaultView(CompleteScreenTachographView)\n@Service()\nexport default class CompleteScreenTachographViewModel extends BaseScreen {\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  requestId: string = '';\n\n  get pathNode(): string {\n    return 'complete-tachograph-/requestId/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { requestId } = params;\n\n    this.requestId = requestId;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  deactivate() {\n    this.reset();\n  }\n  activate() {\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  notifyNavigation() {}\n\n  @action.bound\n  reset() {\n    this.requestId = '';\n  }\n\n  @action.bound\n  navToDriver() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  translate = translate('driverng.newApplication', this);\n  translateNewSuccess = translate('driverng.newApplication.success', this);\n  translateFaq = translate('faq', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Domain_Contracts_Enums_Crr_IsdtRequestReason } from '../../../../../data/crr/api';\nexport type LostTheftReason = 'LOST' | 'THEFT';\n\n@AddTranslationKey('driverTachographRequest')\nexport default class RequestReasonsSelectionModel {\n  @observable reason: Domain_Contracts_Enums_Crr_IsdtRequestReason = Domain_Contracts_Enums_Crr_IsdtRequestReason.UNKNOWN;\n  @observable lostTheftReason: LostTheftReason = 'LOST';\n  @observable declaration = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestReasonsSelectionModel, { LostTheftReason } from './RequestReasonsSelectionModel';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport SharedDataService from '../SharedDataService';\nimport { ReactNode } from 'react';\nimport { Domain_Contracts_Enums_Crr_IsdtRequestReason } from '../../../../../data/crr/api';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport { IDeliveryPermissionService } from 'src/app/driver_ng/shared/services/DeliveryChoiceService';\nimport DriverService from 'src/services/driver/DriverService';\n\n@Service()\nexport default class RequestReasonsSelectionService\n  extends WizardStepService\n  implements IDeliveryPermissionService\n{\n  @observable model = new RequestReasonsSelectionModel();\n\n  @computed\n  get isBusy() {\n    return this.sharedDataService.busyWatcher.isBusy;\n  }\n\n  @computed\n  get isReasonSelected() {\n    return this.model.reason !== Domain_Contracts_Enums_Crr_IsdtRequestReason.UNKNOWN;\n  }\n\n  @computed\n  get summaryData(): Array<{ label: ReactNode; value: ReactNode }> {\n    return [\n      {\n        label: this.translate('item1.reason'),\n        value: this.reasonOptions.find((option) => option.value === this.model.reason)?.label ?? '-',\n      },\n    ];\n  }\n\n  @computed\n  get paymentPromptData() {\n    return this.translate(`item1.${this.model.reason}`);\n  }\n\n  @computed\n  get requestReasons() {\n    return this.sharedDataService.applicationDocument?.value?.reasons ?? [];\n  }\n\n  @computed\n  get reasonOptions() {\n    return this.requestReasons.map((item) => ({\n      key: item.code.toString(),\n      label: this.translate(`item1.${item.code}`),\n      value: item.code,\n    }));\n  }\n\n  @computed\n  get lostOptions() {\n    return [\n      {\n        id: 'LOST',\n        label: this.translate('item1.lost'),\n      },\n    ];\n  }\n\n  @computed\n  get theftOptions() {\n    return [\n      {\n        id: 'THEFT',\n        label: this.translate('item1.theft'),\n      },\n    ];\n  }\n\n  @computed\n  get disableNextStep() {\n    if (this.isBusy) return true;\n\n    return (\n      this.model.reason === Domain_Contracts_Enums_Crr_IsdtRequestReason.UNKNOWN ||\n      (this.model.lostTheftReason === 'LOST' &&\n        !this.model.declaration &&\n        this.model.reason === Domain_Contracts_Enums_Crr_IsdtRequestReason.LOSS)\n    );\n  }\n\n  @computed\n  get nextStepsAvailable() {\n    return this.model.reason === Domain_Contracts_Enums_Crr_IsdtRequestReason.LOSS;\n  }\n\n  @computed\n  get isDamagedReasonSelected() {\n    return this.model.reason === Domain_Contracts_Enums_Crr_IsdtRequestReason.MALFUNCTION;\n  }\n\n  @computed\n  get isChangeReasonSelected() {\n    return this.model.reason === Domain_Contracts_Enums_Crr_IsdtRequestReason.RENEWAL_PERSONAL_DATA_CHANGE;\n  }\n\n  @computed\n  get isDeliveryAllowed() {\n    const selectedReason =\n      this.driverService.driverTachographData?.requestApplicationDocuments?.value?.reasons?.find(\n        (x) => x.code === this.model.reason\n      );\n\n    if (!selectedReason) return false;\n\n    return selectedReason.canBeDelivered ?? false;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() private sessionService: SessionService,\n    @Inject() private driverService: DriverService\n  ) {\n    super(`${DriverApplication.TACHOGRAPH}-request-reason-selection`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new RequestReasonsSelectionModel();\n    this.sharedDataService.reset();\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  radioChange(event: React.ChangeEvent<HTMLInputElement>) {\n    runInAction(() => (this.model.lostTheftReason = event.target.value as LostTheftReason));\n\n    if (this.model.lostTheftReason === 'THEFT') {\n      this.model.declaration = false;\n    }\n  }\n\n  @action.bound\n  reasonChange() {\n    if (this.model.reason !== Domain_Contracts_Enums_Crr_IsdtRequestReason.LOSS) {\n      runInAction(() => {\n        this.model.lostTheftReason = 'LOST';\n        this.model.declaration = false;\n      });\n    }\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      reason: this.model.reason,\n      reasonName: this.translate(`item1.${this.model.reason}`),\n      declaration: this.model.declaration,\n      charge: this.sharedDataService.applicationDocument?.value?.reasons?.[0]?.fee,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<RequestReasonsSelectionService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.reason = data.reason;\n      this.model.declaration = data.declaration;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.declaration, this.model.reason] as const;\n  }\n\n  translate = translate('driverng.driver-digital-tachograph', this);\n}\n","import { action, computed, makeObservable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport ApiService from 'src/services/ApiService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport DriverService from '../../../../../services/driver/DriverService';\nimport { UserService } from '../../../../../services/UserService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport SharedDataService from '../SharedDataService';\nimport dateUtils from '../../../../../utils/DateUtils';\nimport { GovIcon, GovLink, LegacyTooltip } from '@cendis/cedr-components';\nimport React from 'react';\nimport { Domain_Contracts_Enums_Crr_IsdtRequestReason } from '../../../../../data/crr/api';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\n\n@Service()\nexport default class ApplicantInformationService extends WizardStepService {\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get disableNextStep() {\n    return this.busyWatcher.isBusy;\n  }\n  @computed\n  get summaryData() {\n    return [...this.userTableData, ...this.driverTableData];\n  }\n\n  @computed\n  get userTableData(): { label: React.ReactNode; value: React.ReactNode | string }[] {\n    return [\n      {\n        label: this.translate('first-name'),\n        value:\n          this.sharedDataService.driverService.driverTachographData?.requestApplicationDocuments?.value\n            ?.person.firstName || '-',\n      },\n      {\n        label: this.translate('last-name'),\n        value: this.sharedDataService.applicationDocument?.value?.person.surname || '-',\n      },\n      {\n        label: this.translate('date-birth'),\n        value:\n          dateUtils.dateFormatCz(\n            this.sharedDataService.driverService.driverTachographData?.requestApplicationDocuments?.value\n              ?.person.birthDate\n          ) || '-',\n      },\n      {\n        label: this.translate('place-birth'),\n        value:\n          this.sharedDataService.driverService.driverTachographData?.requestApplicationDocuments?.value\n            ?.person.birthPlace || '-',\n      },\n      {\n        label: (\n          <span>\n            {this.translate('residence')}\n            <LegacyTooltip\n              position=\"right\"\n              size=\"s\"\n              className=\"ms-3\"\n              tooltipContent={\n                <span>\n                  {this.translate('tooltip')}\n                  <GovLink\n                    href=\"https://portal.gov.cz/sluzby-vs/vydani-karty-ridice-digitalniho-tachografu-S567\"\n                    target=\"_blank\"\n                    external\n                    testId=\"isdt-link\"\n                  >\n                    {this.translate('tooltip-link-text')}\n                  </GovLink>\n                </span>\n              }\n              testId=\"isdt-tooltip\"\n            >\n              <GovIcon name=\"components/info-circle-fill\" size=\"m\" />\n            </LegacyTooltip>\n          </span>\n        ),\n        value: this.sharedDataService.applicationDocument?.value?.person.address || '-',\n      },\n    ];\n  }\n\n  @computed\n  get driverTableData() {\n    const drivingLicence = this.driverService.drivingLicences?.drivingLicence;\n    const tableData = [\n      {\n        label: this.translate('document-number'),\n        value: drivingLicence?.documentNumber,\n      },\n      {\n        label: this.translate('item2.valid-from'),\n        value: dateUtils.dateFormatCz(drivingLicence?.validFrom),\n      },\n      {\n        label: this.translate('item2.valid-to'),\n        value: dateUtils.dateFormatCz(drivingLicence?.validTo),\n      },\n    ];\n\n    if (\n      !this.sharedDataService.ErrorFound &&\n      this.sharedDataService.driverService.driverTachographData?.driverCards?.[0]?.licenceId &&\n      this.sharedDataService.driverService.driverTachographData?.requestApplicationDocuments?.value &&\n      !this.sharedDataService.driverService.driverTachographData.requestApplicationDocuments.value.reasons?.some(\n        (reason) => reason.code === Domain_Contracts_Enums_Crr_IsdtRequestReason.NEW_CARD\n      )\n    ) {\n      tableData.push({\n        label: this.translate('tachograph-number'),\n        value: this.sharedDataService.driverService.driverTachographData?.driverCards?.[0]?.licenceId.value,\n      });\n    }\n\n    return tableData;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private apiService: ApiService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public driverService: DriverService,\n    @Inject() public userService: UserService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() private sessionService: SessionService,\n    @Inject() private navigationGuardService: NavigationGuardService\n  ) {\n    super(`${DriverApplication.TACHOGRAPH}-applicant-information`);\n    makeObservable(this);\n  }\n  @Watch<ApplicantInformationService>((s) => s.busyWatcher)\n  async getUserInfo() {\n    await Promise.all([this.driverService.getDrivingLicences(false)]);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.getUserInfo();\n  }\n\n  @action.bound\n  reset() {}\n\n  startGuarding() {\n    this.navigationGuardService.startGuarding(true);\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      person:\n        this.sharedDataService.driverService.driverTachographData?.requestApplicationDocuments?.value?.person,\n      drivingLicence: this.driverService.drivingLicences?.drivingLicence,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<ApplicantInformationService['saveToSessionStorage']>;\n\n    runInAction(() => {});\n  }\n\n  translate = translate('applicantInformation', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport ApiService from 'src/services/ApiService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { ToastService, WizardContext } from '@cendis/cedr-components';\nimport ValidationService from 'src/services/ValidationService';\nimport RequestReasonsSelectionService from './01_RequestReasons/RequestReasonsSelectionService';\nimport SharedDataService from './SharedDataService';\nimport ApplicantInformationService from './02_ApplicantInformation/ApplicantInformationService';\nimport { UserService } from '../../../../services/UserService';\nimport PickUpPointService from './03_PickUpPoint/PickUpPointService';\nimport PhotoSignatureService from './04_PhotoSignature/PhotoSignatureService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport ContactDetailService from './07_ContactDetails/ContactDetailService';\nimport NavigationGuardService from '../../../../services/NavigationGuardService';\nimport {\n  Crr_WebApi_Requests_CreateRequestRequest,\n  Crr_WebApi_Requests_DeliveryInformationRequest,\n  Domain_Contracts_Enums_Crr_IsdtRequestReason,\n} from '../../../../data/crr/api';\nimport CompleteScreenTachographViewModel from '../completeScreenTachographView/CompleteScreenTachographViewModel';\nimport DriverService from '../../../../services/driver/DriverService';\nimport PaymentService from '../../shared/services/PaymentService';\nimport SessionService from 'src/services/SessionService';\nimport DriverApplicationService from '../../shared/services/DriverApplicationService';\nimport DriverNgViewModel from '../../DriverNgViewModel';\nimport DeliveryChoiceService from './06_ChooseTransport/DeliveryChoiceService';\nimport SummaryService from './05_Summary/SummaryService';\nimport EnvUtils from 'src/utils/EnvUtils';\nimport AuthService from 'src/services/AuthService';\nimport { DeliveryChoiceRadioOptions } from '../../shared/models/DeliveryChoiceModel';\nimport PaymentGatewayOutageViewModel from '../paymentGatewayOutage/PaymentGatewayOutageViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport ValidationErrorViewModel from '../ValidationErrorViewModel';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\n@Service()\nexport default class DriverDigitalTachographApplicationService extends DriverApplicationService {\n  @observable summaryPromptVisible = false;\n  @observable requestTimeoutVisible = false;\n  @observable combinedApplicationPromptVisible = false;\n  @observable paymentPromptVisible = false;\n  @observable combined = false;\n  @observable runDeactivate = true;\n  @observable sendingDisabled = false;\n\n  busyWatcher = new BusyWatcher();\n  private navigator: Navigator = DummyNavigator;\n\n  @action.bound\n  async isCombinedRequired() {\n    await this.driverService.getDriverTachographData(false);\n    const reason = this.driverService.driverTachographData?.requestApplicationDocuments?.value?.reasons?.find(\n      (item) => item.overlap === true\n    );\n    return !!reason;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public requestReasonsSelectionService: RequestReasonsSelectionService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() public applicantInformationService: ApplicantInformationService,\n    @Inject() public userService: UserService,\n    @Inject() public photoSignatureService: PhotoSignatureService,\n    @Inject() public pickUpPointService: PickUpPointService,\n    @Inject() public contactDetailService: ContactDetailService,\n    @Inject() private toastService: ToastService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private driverService: DriverService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() public deliveryChoiceService: DeliveryChoiceService,\n    @Inject() public summaryService: SummaryService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    super(DriverApplication.TACHOGRAPH);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(navigator: Navigator, combined: boolean = false) {\n    this.navigator = navigator;\n\n    // refresh shared data for new tachograph request id\n    this.sharedDataService.init(true, combined);\n    this.validationService.init();\n    this.requestReasonsSelectionService.init(1);\n    this.applicantInformationService.init(2);\n    this.pickUpPointService.init(3, this.applicationType);\n    this.photoSignatureService.init(4, this.sharedDataService, this.applicationType);\n    this.summaryService.init(5);\n\n    this.deliveryChoiceService.init(6, this.requestReasonsSelectionService);\n    this.contactDetailService.init(7);\n    this.paymentService.init(8);\n  }\n\n  @action.bound\n  reset() {\n    this.summaryPromptVisible = false;\n    this.requestTimeoutVisible = false;\n    this.combinedApplicationPromptVisible = false;\n    this.paymentPromptVisible = false;\n    this.combined = false;\n    this.wizardContext = new WizardContext();\n    this.wizardContext.activeStep = 1;\n    this.validationService.reset();\n    this.requestReasonsSelectionService.reset();\n    this.applicantInformationService.reset();\n    this.sharedDataService.reset();\n    this.pickUpPointService.reset();\n    this.photoSignatureService.reset();\n    this.contactDetailService.reset();\n    this.deliveryChoiceService.reset();\n    this.paymentService.reset();\n    this.sendingDisabled = false;\n  }\n\n  @Watch<DriverDigitalTachographApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async postRequest() {}\n\n  @action.bound\n  onActiveCombineStep() {\n    if (\n      this.requestReasonsSelectionService.model.reason !==\n      Domain_Contracts_Enums_Crr_IsdtRequestReason.UNKNOWN\n    ) {\n      this.getPayment();\n    }\n  }\n\n  @action.bound\n  navToCompleteScreen(requestId: string) {\n    this.navigator(CompleteScreenTachographViewModel, { requestId }).go();\n  }\n\n  @action.bound\n  navToOutage(requestId: string, refId: string) {\n    this.navigator(PaymentGatewayOutageViewModel, { requestId, refId, requestType: 'isdt' }).go();\n  }\n\n  @action.bound\n  navToDriverScreen() {\n    runInAction(() => (this.requestTimeoutVisible = false));\n    this.navigationGuardService.stopGuarding();\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  @Watch<DriverDigitalTachographApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async retrySend() {\n    await this.driverService.getDriverTachographData(true);\n    await this.submitApplication(true);\n  }\n\n  @Watch<DriverDigitalTachographApplicationService>((s) => s.paymentService.priceBusyWatcher)\n  @action.bound\n  async getPayment() {\n    try {\n      const isDelivered =\n        this.deliveryChoiceService?.model?.deliveryChoice === DeliveryChoiceRadioOptions.BOX;\n      const params = {\n        isExpedited: false,\n        isProfessionalCompetenceRequested: false,\n        addParcelPickupFee: isDelivered,\n        isdtRequestReason: this.requestReasonsSelectionService.model.reason,\n      };\n      const response = await this.apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute(params);\n      runInAction(() => {\n        this.paymentService.model.amount = response?.amount ?? 0;\n      });\n      runInAction(() => (this.sendingDisabled = false));\n    } catch (error) {\n      runInAction(() => (this.sendingDisabled = true));\n      this.errorService.logCatchError(\n        error,\n        'driver - driverDigitalTachograph - DriverDigitalTachographApplicationService',\n        'getPayment - apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute'\n      );\n    }\n  }\n\n  @Watch<DriverDigitalTachographApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async submitApplication(mustPay: boolean) {\n    if (this.sharedDataService.requestId === undefined) {\n      return;\n    }\n\n    // Refresh token before payment to ensure it doesn't expire during payment process\n    await this.authService.refreshCurrentToken();\n\n    try {\n      let paymentUrl: string | null = null;\n      let refId: string | null = null;\n      let transactionId: string | null = null;\n\n      let deliveryPlace: Crr_WebApi_Requests_DeliveryInformationRequest | undefined = undefined;\n\n      if (\n        this.deliveryChoiceService.model.deliveryChoice === DeliveryChoiceRadioOptions.BOX &&\n        this.deliveryChoiceService.model.boxAddress\n      ) {\n        deliveryPlace = {\n          placeId: this.deliveryChoiceService.model.boxAddress.id,\n          placeName: this.deliveryChoiceService.model.boxAddress.value,\n          deliveryType: this.deliveryChoiceService.model.boxAddress.type,\n        };\n      }\n\n      const requestBody: Crr_WebApi_Requests_CreateRequestRequest = {\n        tachographCard: {\n          requestId: this.sharedDataService.requestId || null,\n          reason: this.requestReasonsSelectionService.model.reason,\n          orpCode: this.pickUpPointService.model.code,\n        },\n        deliveryInformation: deliveryPlace,\n        emailAddress:\n          this.contactDetailService.model.hasEmail && !this.contactDetailService.isEmailDisabled\n            ? this.contactDetailService.userService.contactInfo?.email\n            : null,\n        phoneNumber:\n          this.contactDetailService.model.hasPhone && !this.contactDetailService.isPhoneDisabled\n            ? this.contactDetailService.userService.contactInfo?.phone\n            : null,\n      };\n\n      const response = await this.apiService.crrApi.requests.postPdApiCrrV1Requests(requestBody);\n      runInAction(() => {\n        paymentUrl = ('payment' in response && response.payment?.gatewayUrl) || null;\n        refId = ('payment' in response ? response.payment?.paymentRefId : null) ?? null;\n        transactionId = ('payment' in response ? response.payment?.transactionId : null) ?? null;\n      });\n\n      if (mustPay && !paymentUrl) {\n        this.toastService.addToast('payment-gateway-error', this.translate('payment-gateway-error'), {\n          color: 'error',\n          icon: 'components/exclamation-triangle-fill',\n          animateDirection: 'forward',\n        });\n        return;\n      }\n\n      const requestId = this.sharedDataService.requestId;\n      this.navigationGuardService.stopGuarding();\n      this.clearSessionStorage();\n      this.driverService.resetIsdtData();\n      this.driverService.resetQuickSummary();\n      this.driverService.resetIsdtData();\n      this.driverService.resetDriverData();\n\n      if (this.paymentService.processPaymentUrl(paymentUrl, refId, transactionId)) {\n        // Save request type for gateway error fallback\n        if (refId) {\n          this.localStorageService.set(`request_type_${refId}`, 'isdt');\n        }\n      } else {\n        runInAction(() => {\n          this.requestTimeoutVisible = false;\n          if (requestId) {\n            this.navToCompleteScreen(requestId);\n          }\n        });\n      }\n    } catch (error: any) {\n      if (error.status === 400 && error.body?.type === 'CRR_PAYMENT_ERROR') {\n        this.errorService.logCatchError(\n          error,\n          'driver - driverDigitalTachograph - DriverDigitalTachographApplicationService',\n          'submitApplication - apiService.crrApi.requests.postPdApiCrrV1Requests, type CRR_PAYMENT_ERROR'\n        );\n        this.navigationGuardService.stopGuarding();\n        this.navToOutage(error.body?.requestId, error.body?.refId);\n        return;\n      }\n      if (error.status === 400 && error.body?.type === 'CRR_REQUEST_EXPIRED') {\n        this.errorService.logCatchError(\n          error,\n          'driver - driverDigitalTachograph - DriverDigitalTachographApplicationService',\n          'submitApplication - apiService.crrApi.requests.postPdApiCrrV1Requests, type CRR_REQUEST_EXPIRED'\n        );\n        runInAction(() => (this.requestTimeoutVisible = true));\n        return;\n      }\n      if (error.status === 409 && error.body?.type === 'CRR_PENDING_REQUEST') {\n        this.navigateToValidationError(error.body?.title || error.body?.message || '');\n        return;\n      }\n\n      this.errorService.logCatchError(\n        error,\n        'driver - driverDigitalTachograph - DriverDigitalTachographApplicationService',\n        'submitApplication - apiService.crrApi.requests.postPdApiCrrV1Requests, other error not CRR_PAYMENT_ERROR or CRR_REQUEST_EXPIRED'\n      );\n      runInAction(() => (this.requestTimeoutVisible = false));\n      this.toastService.addToast('driver-application-fail', this.translate('submit-fail'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    } finally {\n      this.closePrompt();\n    }\n  }\n\n  @action.bound\n  onBeforeNextSummaryStep() {\n    this.openPrompt();\n    return false;\n  }\n\n  @action.bound\n  openPrompt() {\n    this.summaryPromptVisible = true;\n  }\n\n  @action.bound\n  closePrompt() {\n    this.summaryPromptVisible = false;\n  }\n\n  @action.bound\n  onBeforeNextStepWithDelivery() {\n    // continue to the next step when user cannot submit both applications at once\n    if (this.driverService.newLicenceAvailable === false) return true;\n    if (this.driverService.crrProcessingPayment || this.driverService.isdtProcessingPayment) return true;\n    if (!this.sharedDataService.combinedAllowed) return true;\n\n    this.openCombinedApplicationPrompt();\n    return false;\n  }\n\n  @action.bound\n  onBeforeNextStep() {\n    this.openPaymentPrompt();\n    return false;\n  }\n\n  @action.bound\n  openCombinedApplicationPrompt() {\n    this.combinedApplicationPromptVisible = true;\n  }\n\n  @action.bound\n  closeCombinedApplicationPrompt() {\n    this.combinedApplicationPromptVisible = false;\n  }\n\n  @action.bound\n  openPaymentPrompt() {\n    this.paymentPromptVisible = true;\n  }\n  @action.bound\n  closePaymentPrompt() {\n    this.paymentPromptVisible = false;\n  }\n\n  @action.bound\n  goToCombinedApplication() {\n    this.navigationGuardService.stopGuarding();\n    this.stopDeactivate();\n    this.navigator('../combined-tachograph').go();\n  }\n\n  @action.bound\n  goToCombinedRootApplication() {\n    this.navigationGuardService.stopGuarding();\n    this.stopDeactivate();\n    this.navigator('../combined-root').go();\n  }\n\n  getSessionStorageData() {\n    const requestReasonStringData = this.sessionService.get(\n      this.requestReasonsSelectionService.sessionStorageKey\n    );\n    const applicantInformationStringData = this.sessionService.get(\n      this.applicantInformationService.sessionStorageKey\n    );\n    const pickUpStringData = this.sessionService.get(this.pickUpPointService.sessionStorageKey);\n    const photoSignatureStringData = this.sessionService.get(this.photoSignatureService.sessionStorageKey);\n    const contactStringData = this.sessionService.get(this.contactDetailService.sessionStorageKey);\n    const deliveryStringData = this.sessionService.get(this.deliveryChoiceService.sessionStorageKey);\n\n    const requestReasonData = requestReasonStringData\n      ? (JSON.parse(requestReasonStringData) as ReturnType<\n          RequestReasonsSelectionService['saveToSessionStorage']\n        >)\n      : null;\n    const applicantInformationData = applicantInformationStringData\n      ? (JSON.parse(applicantInformationStringData) as ReturnType<\n          ApplicantInformationService['saveToSessionStorage']\n        >)\n      : null;\n    const pickUpData = pickUpStringData\n      ? (JSON.parse(pickUpStringData) as ReturnType<PickUpPointService['saveToSessionStorage']>)\n      : null;\n    const photoSignatureData = photoSignatureStringData\n      ? (JSON.parse(photoSignatureStringData) as ReturnType<PhotoSignatureService['saveToSessionStorage']>)\n      : null;\n    const contactData = contactStringData\n      ? (JSON.parse(contactStringData) as ReturnType<ContactDetailService['saveToSessionStorage']>)\n      : null;\n    const deliveryData = deliveryStringData\n      ? (JSON.parse(deliveryStringData) as ReturnType<DeliveryChoiceService['saveToSessionStorage']>)\n      : null;\n\n    return {\n      ['requestReason']: requestReasonData,\n      ['applicantInformation']: applicantInformationData,\n      ['pickUp']: pickUpData,\n      ['photoSignature']: photoSignatureData,\n      ['contact']: contactData,\n      ['delivery']: deliveryData,\n    };\n  }\n\n  @action.bound\n  loadModelsFromSession() {\n    const sessionData = this.getSessionStorageData();\n\n    if (sessionData.requestReason) {\n      this.requestReasonsSelectionService.model.declaration = sessionData.requestReason.declaration;\n      this.requestReasonsSelectionService.model.reason = sessionData.requestReason.reason;\n    }\n\n    if (sessionData.pickUp) {\n      this.pickUpPointService.model.code = sessionData.pickUp.code;\n    }\n    if (sessionData.photoSignature) {\n      this.photoSignatureService.model.photoConfirm = sessionData.photoSignature.photoConfirm;\n      this.photoSignatureService.model.signatureConfirm = sessionData.photoSignature.signatureConfirm;\n    }\n    if (sessionData.contact) {\n      this.contactDetailService.model.hasEmail = sessionData.contact.hasEmail;\n      this.contactDetailService.model.hasPhone = sessionData.contact.hasPhone;\n    }\n    if (sessionData.delivery) {\n      this.deliveryChoiceService.model.deliveryChoice = sessionData.delivery.deliveryChoice;\n      this.deliveryChoiceService.model.boxAddress = sessionData.delivery.boxAddress;\n    }\n\n    this.wizardContext.activeStep = 6;\n  }\n\n  @action.bound\n  combinedVariant() {\n    this.combined = true;\n  }\n\n  @action.bound\n  stopDeactivate() {\n    this.runDeactivate = false;\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  private navigateToValidationError(errorMessage: string): void {\n    this.navigationGuardService.stopGuarding();\n    this.navigator(ValidationErrorViewModel).go({\n      errorType: 'PENDING_REQUEST',\n      errorMessage: encodeURIComponent(errorMessage),\n    });\n  }\n\n  translate = translate('driverng.driver-digital-tachograph', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport DriverDigitalTachographViewModel from './DriverDigitalTachographViewModel';\nimport Container from '@components/gov4/layout/Container';\nimport DriverDigitalTachographSteps from '../../components/DriverDigitalTachographSteps/DriverDigitalTachographSteps';\nimport DriverDigitalTachographInfo from '../../components/DriverDigitalTachographInfo/DriverDigitalTachographInfo';\nimport { Button, Dialog, Typography } from '@cendis/cedr-components';\nimport DriverLicenceError from '../../components/DriverLicenceError/DriverLicenceError';\n\nconst DriverDigitalTachographView: View<DriverDigitalTachographViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  window.addEventListener('pageshow', () => {\n    vm.checkSavedTransaction();\n  });\n\n  return (\n    <Container>\n      {/* COMBINED APPLICATION PROMPT*/}\n      <Dialog\n        headline={translate('combinedPromptRequired.headline')}\n        isVisible={vm.combinedRequiredVisible}\n        onClose={vm.linkToDriver}\n        testId=\"application-combined\"\n        bottomChildren={\n          <>\n            <Button\n              text={translate('combinedPromptRequired.back-button')}\n              type=\"outlined\"\n              onClick={() => {\n                vm.linkToDriver();\n              }}\n              testId=\"application-combined-back\"\n            />\n            <Button\n              text={translate('combinedPromptRequired.submit-both-applications')}\n              onClick={vm.applicationService.goToCombinedRootApplication}\n              testId=\"application-combined-submit-both\"\n            />\n          </>\n        }\n      >\n        <p className=\"bold mb-3\">{translate('combinedPromptRequired.conditions-met')}</p>\n        <p>{translate('combinedPromptRequired.one-fee')}</p>\n      </Dialog>\n      <div className=\"mw-855\">\n        <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title my-40px\">\n          {translate('title')}\n        </Typography>\n        {vm.applicationService.sharedDataService.applicationDocumentsErrors ? (\n          <>\n            <DriverLicenceError\n              errors={vm.applicationService.sharedDataService.applicationDocumentsErrors}\n              translate={translate}\n              linkToDriver={vm.linkToDriver}\n            />\n          </>\n        ) : (\n          <>\n            {!vm.applicationService.sharedDataService.ErrorFound && (\n              <DriverDigitalTachographInfo translate={translate} applicationService={vm.applicationService} />\n            )}\n            <DriverDigitalTachographSteps\n              applicationService={vm.applicationService}\n              translate={translate}\n              isSecond={false}\n            />\n          </>\n        )}\n      </div>\n    </Container>\n  );\n});\n\nexport default DriverDigitalTachographView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport DriverDigitalTachographView from './DriverDigitalTachographView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApiService from 'src/services/ApiService';\nimport NotificationViewModel from 'src/app/notificationAndContact/NotificationViewModel';\nimport DriverDigitalTachographApplicationService from './DriverDigitalTachographApplicationService';\nimport SharedDataService from './SharedDataService';\nimport HomeViewModel from 'src/app/home/HomeViewModel';\nimport DeliveryChoiceService from './06_ChooseTransport/DeliveryChoiceService';\nimport PickUpPointService from './03_PickUpPoint/PickUpPointService';\nimport SessionService from 'src/services/SessionService';\nimport DriverNgViewModel from '../../DriverNgViewModel';\n\n@AddDefaultView(DriverDigitalTachographView)\n@AddChildrenView()\n@Service()\nexport default class DriverDigitalTachographViewModel extends BaseScreen {\n  @observable combinedRequiredVisible: boolean = false;\n\n  @computed\n  get validation() {\n    return this.applicationService.validationService.validation;\n  }\n\n  get pathNode(): string {\n    return 'digital-tachograph';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public applicationService: DriverDigitalTachographApplicationService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() public deliveryChoiceService: DeliveryChoiceService,\n    @Inject() public pickUpPointService: PickUpPointService,\n    @Inject() protected sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async notifyNavigation(): Promise<void> {\n    await this.applicationService.init(this.navigator);\n    if (await this.applicationService.isCombinedRequired()) {\n      runInAction(() => (this.combinedRequiredVisible = true));\n    }\n  }\n\n  checkSavedTransaction() {\n    const refId = this.sessionService.get('refId');\n    const transactionId = this.sessionService.get('transactionId');\n\n    if (refId && transactionId) {\n      this.sessionService.remove('refId');\n      this.sessionService.remove('transactionId');\n      const completeUrl = `${window.location.origin}/driver/licence/complete?id=${transactionId}&refId=${refId}`;\n      window.location.assign(completeUrl);\n    }\n  }\n\n  deactivate() {\n    if (this.applicationService.runDeactivate) {\n      this.applicationService.reset();\n      // not clean on combined page\n      this.applicationService.clearSessionStorage();\n    }\n  }\n\n  activate() {}\n\n  @action.bound\n  goToContact() {\n    this.navigator(NotificationViewModel).go();\n  }\n\n  @action.bound\n  goToHome() {\n    this.navigator(HomeViewModel).go();\n  }\n\n  @action.bound\n  linkToDriver() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  translate = translate('driverng.driver-digital-tachograph', this);\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { IPhotoSignatureSharedService } from '../../shared/services/PhotoSignatureService';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport DriverService from 'src/services/driver/DriverService';\nimport ErrorService from 'src/services/ErrorService';\nimport { extractErrorId } from 'src/utils/ErrorUtils';\nimport { ApplicationDocumentsError } from '../../components/DriverLicenceError/DriverLicenceError';\n\n@Service()\nexport default class SharedDataService implements IPhotoSignatureSharedService {\n  @observable notFoundError = false;\n  @observable applicationDocumentsErrors: ApplicationDocumentsError[] | undefined = undefined;\n  @observable combinedAllowed = true;\n\n  @computed\n  get ErrorFound(): boolean {\n    return (\n      this.notFoundError || (!!this.applicationDocumentsErrors && this.applicationDocumentsErrors.length > 0)\n    );\n  }\n  @computed\n  get applicationDocument() {\n    return this.driverService.driverTachographData?.requestApplicationDocuments;\n  }\n\n  @computed\n  get photo() {\n    return {\n      data: this.driverService.driverTachographData?.requestApplicationDocuments?.value?.photo,\n      dataFormat: 'image/jpeg',\n    };\n  }\n\n  @computed\n  get requestId() {\n    return this.driverService.driverTachographData?.requestApplicationDocuments?.value?.requestId;\n  }\n\n  @computed\n  get signature() {\n    return {\n      data: this.driverService.driverTachographData?.requestApplicationDocuments?.value?.signature,\n      dataFormat: 'image/jpeg',\n    };\n  }\n\n  @computed\n  get isDriverReasonsBusy() {\n    return this.driverService.driverRequestReasonsBusyWatcher.isBusy;\n  }\n\n  @computed\n  get feePrice() {\n    return this.applicationDocument?.value?.reasons?.[0]?.fee ?? 0;\n  }\n\n  releaseDays = 15;\n\n  busyWatcher = new BusyWatcher();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() public driverService: DriverService,\n    @Inject() private errorService: ErrorService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(cacheInvalidate = false, combined: boolean) {\n    this.loadData(cacheInvalidate);\n    if (combined) return false;\n\n    this.getDriverApplicationReasons();\n  }\n\n  @action.bound\n  reset() {\n    this.notFoundError = false;\n  }\n\n  @Watch<SharedDataService>((s) => s.busyWatcher)\n  @action.bound\n  public async loadData(cacheInvalidate = false) {\n    if (\n      this.busyWatcher.isBusy ||\n      this.notFoundError ||\n      (this.applicationDocumentsErrors && this.applicationDocumentsErrors.length > 0)\n    )\n      return;\n\n    try {\n      await this.driverService.getDriverTachographData(cacheInvalidate);\n\n      if (!this.driverService.driverTachographData?.requestApplicationDocuments?.value?.reasons?.length) {\n        this.setNotFoundError();\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'driver - driverDigitalTachograph - SharedDataService',\n        'loadData - driverService.getDriverTachographData'\n      );\n      if (e.status === 400 || e.status === 404) {\n        if (Array.isArray(e?.body?.errors)) {\n          runInAction(() => {\n            this.applicationDocumentsErrors = e.body.errors.map((err: any) => ({\n              errorId: extractErrorId(err) ?? '',\n              type: err?.originalData?.OriginalErrorType,\n              description: err?.originalData?.OriginalDescription,\n              traceId: e?.body?.traceId,\n              view: 'detailed',\n            }));\n          });\n        } else {\n          runInAction(() => {\n            this.applicationDocumentsErrors = [\n              {\n                errorId: extractErrorId(e) ?? '',\n                type: e?.body?.OriginalErrorType,\n                description: e?.body?.OriginalDescription,\n                traceId: e?.body?.traceId,\n                view: 'default',\n              },\n            ];\n          });\n        }\n      } else throw e;\n    }\n  }\n\n  @action.bound\n  async getDriverApplicationReasons() {\n    try {\n      await this.driverService.getDriverRequestReasons(false);\n      const reasonsLength = this.driverService.driverRequestReasons?.length ?? 0;\n      const combinedAllowed = this.driverService.applicationDocuments?.combinationFormAllowed ?? false;\n      if (reasonsLength === 0 || !combinedAllowed) {\n        runInAction(() => (this.combinedAllowed = false));\n      }\n    } catch (e: any) {\n      runInAction(() => (this.combinedAllowed = false));\n    }\n  }\n\n  @action.bound\n  private setNotFoundError() {\n    this.navigationGuardService.stopGuarding();\n    this.notFoundError = true;\n  }\n}\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { Dialog, Typography } from '@cendis/cedr-components';\nimport PreliminaryActivationModalModel from './PreliminaryActivationModalModel';\nimport './PreliminaryActivationModal.scss';\n\nexport type PreliminaryActivationModalProps = {\n  model: PreliminaryActivationModalModel;\n  translate: (key: string) => string;\n};\n\nconst PreliminaryActivationModal: React.FC<PreliminaryActivationModalProps> = observer(\n  ({ model, translate }) => {\n    return (\n      <Dialog\n        isVisible={model.isOpen}\n        headline={translate('preliminaryActivation.headline')}\n        onClose={model.close}\n        className=\"preliminary-activation-modal\"\n        testId=\"preliminary-activation-dialog\"\n        footerButtons={{\n          primary: {\n            type: 'solid',\n            onClick: model.activate,\n            disabled: model.isActivating,\n            loading: model.isActivating,\n            testId: 'preliminary-activation-dialog-activate',\n            text: translate('preliminaryActivation.activateButton'),\n          },\n          secondary: {\n            type: 'outlined',\n            onClick: model.close,\n            disabled: model.isActivating,\n            testId: 'preliminary-activation-dialog-cancel',\n            text: translate('preliminaryActivation.cancelButton'),\n          },\n        }}\n      >\n        <Typography\n          className=\"mb-2\"\n          //variant=\"body1\"\n          type=\"body\"\n          size=\"s\"\n        >\n          {translate('preliminaryActivation.info')} <b>{model.documentNumber || '-'} </b>\n        </Typography>\n        <Typography\n          className=\"mb-2\"\n          //variant=\"body1\"\n          type=\"body\"\n          size=\"s\"\n        >\n          {translate('preliminaryActivation.oldDocumentNumber')}{' '}\n          <b className=\"bold\">{model.oldDocumentNumber || '-'}</b>\n          {translate('preliminaryActivation.oldDocumentNumber1')}\n        </Typography>\n        <Typography\n          className=\"mb-2\"\n          //variant=\"body1\"\n          type=\"body\"\n          size=\"s\"\n        >\n          {translate('preliminaryActivation.means')}\n        </Typography>\n      </Dialog>\n    );\n  }\n);\n\nexport default PreliminaryActivationModal;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport ApiService from 'src/services/ApiService';\nimport { ToastService } from '@cendis/cedr-components';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport DriverService from 'src/services/driver/DriverService';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\nexport default class PreliminaryActivationModalModel {\n  @observable isOpen = false;\n  @observable documentNumber: string | null = null;\n  @observable oldDocumentNumber: string | null = null;\n  @observable isActivating = false;\n  @observable requestId: string | null = null;\n  @observable canActivate = false;\n  onComplete: (() => void) | undefined;\n\n  constructor(\n    @Inject() private readonly apiService: ApiService,\n    @Inject() private readonly toastService: ToastService,\n    @Inject() public readonly localization: LocalizationService,\n    @Inject() private driverService: DriverService,\n    @Inject() private errorService: ErrorService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  open(requestId: string, documentNumber: string, oldDocumentNumber: string | null) {\n    runInAction(() => {\n      this.requestId = requestId;\n      this.documentNumber = documentNumber;\n      this.oldDocumentNumber = oldDocumentNumber;\n      this.isOpen = true;\n    });\n  }\n\n  @action.bound\n  close() {\n    runInAction(() => {\n      this.requestId = null;\n      this.isOpen = false;\n      this.documentNumber = null;\n      this.oldDocumentNumber = null;\n    });\n  }\n\n  @action.bound\n  async activate() {\n    if (!this.requestId) return;\n\n    try {\n      this.isActivating = true;\n      await this.apiService.crrApiV3.driver.postPdApiCrrV3DriverRequestsActivations(this.requestId);\n      this.toastService.addToast('card-activation-success', this.translate('toast.activationSuccessMessage'), {\n        color: 'success',\n        icon: 'components/check-lg',\n        animateDirection: 'forward',\n      });\n      runInAction(() => (this.canActivate = false));\n      await this.driverService.getDriverRequests(false, true);\n      await this.driverService.getDrivingLicences(true);\n      await this.driverService.getDriverRequestReasons(false, true);\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - driverLicence - PreliminaryActivationModalModel',\n        'activate - apiService.crrApi.v3.driver.postPdApiCrrV3DriverRequestsActivations, driverService.getDriverRequests, driverService.getDrivingLicences, driverService.getDriverRequestReasons'\n      );\n      console.error(error);\n      this.toastService.addToast('card-activation-error', this.translate('toast.activationErrorMessage'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    } finally {\n      this.isActivating = false;\n      this.close();\n      if (this.onComplete) {\n        this.onComplete();\n      }\n    }\n  }\n\n  translate = translate('driver-licence', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/apiV3/models/Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason';\n\n@AddTranslationKey('driver-licence-application')\nexport default class ReasonModel {\n  @observable reasonCode = Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN;\n  @observable lostConfirmation = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const ReasonModelValidators: ValidationDescriptor<ReasonModel, Validators> = {};\n","import translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SharedDataService from '../SharedDataService';\nimport type { SelectOption } from '@cendis/cedr-components';\nimport ReasonModel from './ReasonModel';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/apiV3/models/Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason';\nimport { IDeliveryPermissionService } from 'src/app/driver_ng/shared/services/DeliveryChoiceService';\n\n@Service()\nexport default class ReasonService extends WizardStepService implements IDeliveryPermissionService {\n  @observable model = new ReasonModel();\n\n  @computed\n  get isBusy() {\n    return this.sharedDataService.busyWatcher.isBusy;\n  }\n\n  @computed\n  get disableNextStep() {\n    return (\n      this.selectOptions.length === 0 ||\n      Number.isNaN(this.model.reasonCode) ||\n      this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN ||\n      (this.isLostReasonSelected && !this.model.lostConfirmation)\n    );\n  }\n\n  @computed\n  get isDataChangeReasonSelected() {\n    return (\n      this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.CHANGE_OF_DETAILS\n    );\n  }\n\n  @computed\n  get isLostReasonSelected() {\n    return this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.LOST;\n  }\n\n  @computed\n  get isStolenReasonSelected() {\n    return this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.STOLEN;\n  }\n\n  @computed\n  get isValidityReasonSelected() {\n    return (\n      this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY ||\n      this.model.reasonCode ===\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE\n    );\n  }\n\n  @computed\n  get isExceptReasonSelected() {\n    return [\n      Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.STOLEN,\n      Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.LOST,\n      Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.CHANGE_OF_DETAILS,\n    ].includes(this.model.reasonCode);\n  }\n\n  @computed\n  get isOriginalSelected() {\n    return this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.ORIGINAL;\n  }\n\n  @computed\n  get isExtensionSelected() {\n    return this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXTENSION;\n  }\n\n  private getReasonName(reasonCode: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason): string {\n    const onlineResponses = this.sharedDataService.applicationDocuments?.onlineResponses;\n    const reason = onlineResponses?.find((response) => response.code === reasonCode);\n\n    return reason?.codeDescription ?? reason?.name ?? '';\n  }\n\n  @computed\n  get newDrivingAuthorizations() {\n    if (!this.sharedDataService.applicationDocuments?.forGroups) return [];\n\n    return this.sharedDataService.applicationDocuments.forGroups\n      .filter((group) => group.isNewDrivingAuthorization === true)\n      .sort((a, b) => a.roGroup.localeCompare(b.roGroup));\n  }\n\n  @computed\n  get existingDrivingAuthorizations() {\n    if (!this.sharedDataService.applicationDocuments?.forGroups) return [];\n\n    return this.sharedDataService.applicationDocuments.forGroups\n      .filter(\n        (group) => group.isNewDrivingAuthorization === null || group.isNewDrivingAuthorization === false\n      )\n      .sort((a, b) => a.roGroup.localeCompare(b.roGroup));\n  }\n\n  @computed\n  get allDrivingAuthorizations() {\n    if (!this.sharedDataService.applicationDocuments?.forGroups) return [];\n\n    return this.sharedDataService.applicationDocuments.forGroups\n      .slice()\n      .sort((a, b) => a.roGroup.localeCompare(b.roGroup));\n  }\n\n  getDrivingAuthorizationIcon(roGroup: string) {\n    const iconMap = {\n      A: 'custom/a' as const,\n      A1: 'custom/a1' as const,\n      A2: 'custom/a2' as const,\n      AM: 'custom/am' as const,\n      B: 'custom/b' as const,\n      B1: 'custom/b1' as const,\n      BE: 'custom/be' as const,\n      C: 'custom/c' as const,\n      C1: 'custom/c1' as const,\n      CE: 'custom/ce' as const,\n      C1E: 'custom/c1e' as const,\n      D: 'custom/d' as const,\n      D1: 'custom/d1' as const,\n      DE: 'custom/de' as const,\n      D1E: 'custom/d1e' as const,\n      T: 'custom/t' as const,\n    } as const;\n\n    return iconMap[roGroup as keyof typeof iconMap] || 'custom/a';\n  }\n\n  @computed\n  get selectOptions(): SelectOption<Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason>[] {\n    const onlineResponses = this.sharedDataService.applicationDocuments?.onlineResponses;\n\n    if (!onlineResponses || onlineResponses.length === 0) return [];\n\n    const reasons = onlineResponses.map((response) => ({\n      code: response.code,\n      name: response.codeDescription ?? response.name ?? '',\n      charge: response.charge,\n    }));\n\n    const sortedReasons = reasons.slice().sort((a, b) => {\n      if (a.charge === null || a.charge === undefined) return 1;\n      if (b.charge === null || b.charge === undefined) return -1;\n      return a.charge - b.charge;\n    });\n\n    return sortedReasons.map((reason) => {\n      return {\n        key: reason.code.toString(),\n        label: reason.name,\n        value: reason.code,\n      };\n    });\n  }\n\n  @computed\n  get summaryPromptData() {\n    return [\n      {\n        label: this.translate('label'),\n        value: this.getReasonName(this.model.reasonCode),\n      },\n    ];\n  }\n\n  @computed\n  get sumaryDrivingAuthorizationsData() {\n    return [\n      {\n        label: this.translate('label-groups'),\n        value: this.allDrivingAuthorizations.map((item) => item.roGroup).join(', '),\n      },\n    ];\n  }\n\n  @computed\n  get summaryData() {\n    const data = [...this.summaryPromptData];\n\n    // checkbox value only if licence LOST\n    if (this.isLostReasonSelected) {\n      data.push({\n        label: this.translate('affidavit'),\n        value: this.model.lostConfirmation ? this.translate('yes') : this.translate('no'),\n      });\n    }\n\n    return data;\n  }\n\n  @computed\n  get paymentPromptData() {\n    if (\n      this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.LOST ||\n      this.model.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.STOLEN\n    ) {\n      return this.translate('reasonLabel.lost-stolen');\n    }\n\n    return this.getReasonName(this.model.reasonCode);\n  }\n\n  @computed\n  get isDeliveryAllowed() {\n    const onlineResponses = this.sharedDataService.applicationDocuments?.onlineResponses;\n    if (!onlineResponses) return false;\n\n    const reasonCodeNumber = this.model.reasonCode;\n    const selectedReason = onlineResponses.find((response) => response.code === reasonCodeNumber);\n\n    return selectedReason?.deliveryAllowed ?? false;\n  }\n\n  @computed\n  get selectedReasonName(): string {\n    const onlineResponses = this.sharedDataService.applicationDocuments?.onlineResponses;\n    if (!onlineResponses) return '';\n\n    const reasonCodeNumber = this.model.reasonCode;\n    const selectedReason = onlineResponses.find((response) => response.code === reasonCodeNumber);\n\n    return selectedReason?.name ?? '';\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private sharedDataService: SharedDataService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super(`${DriverApplication.DRIVER_LICENCE}-reason`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.stopActivityWatcher();\n    this.model = new ReasonModel();\n  }\n\n  @action.bound\n  clearLostConfirmation() {\n    this.model.lostConfirmation = false;\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      reasonCode: this.model.reasonCode,\n      reasonName: this.getReasonName(this.model.reasonCode),\n      lostConfirmation: this.model.lostConfirmation,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<ReasonService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.reasonCode = data.reasonCode;\n      this.model.lostConfirmation = data.lostConfirmation;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.reasonCode, this.model.lostConfirmation] as const;\n  }\n\n  translate = translate('driver-licence-application.reason-step', this);\n}\n","import { computed, makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\n\nexport enum ExpeditedRadioOptions {\n  TRUE = 'true',\n  FALSE = 'false',\n}\n\n@AddTranslationKey('driver-licence-application')\nexport default class DetailsModel {\n  @observable expedited = false;\n  @observable professionalCompetence = true;\n  @observable combined = false;\n\n  // transform expedited into string so that it works with a radio input\n  @computed\n  get expeditedString() {\n    return this.expedited ? ExpeditedRadioOptions.TRUE : ExpeditedRadioOptions.FALSE;\n  }\n\n  set expeditedString(value) {\n    if (value === ExpeditedRadioOptions.TRUE) {\n      this.expedited = true;\n    } else {\n      this.expedited = false;\n    }\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const DetailsModelValidators: ValidationDescriptor<DetailsModel, Validators> = {};\n","import { Inject, Service } from 'typedi';\nimport DetailsModel, { ExpeditedRadioOptions } from './DetailsModel';\nimport { action, computed, makeObservable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SharedDataService from '../SharedDataService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { RadioOption } from '@cendis/cedr-components';\nimport ReasonService from '../01_Reason/ReasonService';\nimport DiscountTag from 'src/app/driver_ng/shared/components/DiscountTag';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport DriverService from 'src/services/driver/DriverService';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/apiV4/models/Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason';\n\n@Service()\nexport default class DetailsService extends WizardStepService {\n  model = new DetailsModel();\n\n  @computed\n  get isBusy() {\n    return (\n      this.driverService.drivingCompetenceBusyWatcher.isBusy ||\n      this.driverService.driverRequestReasonsBusyWatcher.isBusy\n    );\n  }\n\n  @computed\n  get disableNextStep() {\n    return this.isBusy;\n  }\n\n  @computed\n  get charges() {\n    const reasons = this.driverService.driverRequestReasons;\n    const selectedReasonCode = this.reasonService.model.reasonCode;\n    const selectedReason = reasons?.find((value) => value.code === selectedReasonCode);\n\n    const charge = selectedReason?.charge ?? 0;\n    const expeditedCharge = selectedReason?.expeditedCharge;\n\n    return {\n      charge: charge,\n      expeditedCharge: expeditedCharge,\n    };\n  }\n\n  @computed\n  get finalCharge() {\n    const charge =\n      this.model.expedited && this.charges.expeditedCharge\n        ? this.charges.expeditedCharge\n        : this.charges.charge;\n\n    if (this.isProfessionalCompetenceChecked) {\n      return Math.max(charge, this.professionalCompetenceFee);\n    } else {\n      return charge;\n    }\n  }\n\n  @computed\n  get displayProfessionalCompetenceCharge() {\n    // only highest charge is payed:\n    // professional competence charge is displayed only if:\n    //    1. standard charge is 0 Kc\n    //    2. standard charge is selected\n    return this.charges.charge === 0 && this.model.expedited !== true;\n  }\n\n  @computed\n  private get professionalCompetence() {\n    return this.driverService.drivingCompetence;\n  }\n\n  @computed\n  private get doesUserHaveValidProfessionalCompetence() {\n    // valid professional competence is required to display the checkbox\n    return new Date(this.professionalCompetence?.validTo || '') >= new Date();\n  }\n\n  @computed\n  private get competenceRenewalRequestBefore1YearAfterExpiry(): boolean {\n    const competenceValidTo = this.driverService.drivingCompetence?.validTo;\n    return (\n      (competenceValidTo &&\n        new Date() <=\n          new Date(\n            new Date(competenceValidTo).setFullYear(new Date(competenceValidTo).getFullYear() + 1)\n          )) === true\n    );\n  }\n\n  @computed\n  get isProfessionalCompetenceChecked(): boolean {\n    return this.isProfessionalCompetenceAllowed === true && this.model.professionalCompetence;\n  }\n\n  @computed\n  get isProfessionalCompetenceAllowed(): boolean {\n    if (\n      this.reasonService.isValidityReasonSelected &&\n      this.driverService.driverRequestReasons      \n    ) {\n      const hasExpiryWithProfessionalCompetenceReason = this.driverService.driverRequestReasons.findIndex((r) => r.code === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE) !== -1;\n      return hasExpiryWithProfessionalCompetenceReason;\n    } else {\n      return (\n        this.sharedDataService.applicationDocuments !== undefined &&\n        this.sharedDataService.applicationDocuments.professionalCompetence !== null\n      );\n    }\n  }\n\n  @computed\n  private get doesUserHaveAtLeastFiveTrainings() {\n    return (\n      this.professionalCompetence !== undefined &&\n      this.professionalCompetence.professionalTraining.length >= 5\n    );\n  }\n\n  @computed\n  private get doesUserHaveFinalTrainingDuringValidity() {\n    const trainings = this.professionalCompetence?.professionalTraining;\n    const validTo = this.professionalCompetence?.validTo;\n\n    if (!trainings?.length || !validTo) return false;\n\n    const lastTrainingDate = new Date(\n      trainings.map((t) => new Date(t.trainingDate)).sort((a, b) => b.getTime() - a.getTime())[0]\n    );\n\n    const validityEnd = new Date(validTo);\n\n    return lastTrainingDate <= validityEnd;\n  }\n\n  @computed\n  get isProfessionalCompetenceDisabled(): boolean {\n    return (\n      this.reasonService.model.reasonCode ===\n      Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE\n    );\n  }\n\n  @computed\n  get professionalCompetenceFee() {\n    return this.sharedDataService.professionalCompetenceFee ?? 0;\n  }\n\n  @computed\n  get summaryData() {\n    return [\n      {\n        label: this.translate('speed-label'),\n        value: this.model.expedited ? this.translate('expedited') : this.translate('standard'),\n      },\n      {\n        label: this.translate('professional-competence-label'),\n        // default model value is true, condition isProfessionalCompetenceAllowed has to be checked here\n        value: this.isProfessionalCompetenceChecked ? this.translate('yes') : this.translate('no'),\n      },\n    ];\n  }\n\n  @computed\n  get paymentPromptData() {\n    return this.model.expedited ? this.translate('expedited-option') : this.translate('standard-option');\n  }\n\n  @computed\n  get summaryPromptData() {\n    return [\n      {\n        label: this.translate('speed-label'),\n        value: this.model.expedited ? this.translate('expedited-option') : this.translate('standard-option'),\n      },\n      {\n        label: this.translate('professional-competence-label'),\n        // default model value is true, condition isProfessionalCompetenceAllowed has to be checked here\n        value: this.isProfessionalCompetenceChecked ? this.translate('yes') : this.translate('no'),\n      },\n      {\n        label: this.translate('final-charge-label'),\n        value: `${this.finalCharge}\\u00A0Kč`,\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private sharedDataService: SharedDataService,\n    @Inject() private reasonService: ReasonService,\n    @Inject() private driverService: DriverService,\n    @Inject() private sessionService: SessionService,\n    @Inject() private navigationGuardService: NavigationGuardService\n  ) {\n    super(`${DriverApplication.DRIVER_LICENCE}-details`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(stepNumber: number) {\n    this._step = stepNumber;\n    this.loadDetailsData();\n    await this.driverService.getQuickSummary();\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new DetailsModel();\n    this.stopActivityWatcher();\n  }\n\n  private async loadDetailsData() {\n    await Promise.all([\n      this.driverService.getDrivingCompetence(),\n      this.driverService.getDriverRequestReasons(false),\n    ]);\n  }\n\n  startGuarding() {\n    this.navigationGuardService.startGuarding(true);\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      expedited: this.model.expedited,\n      isProfessionalCompetenceAllowed: this.isProfessionalCompetenceAllowed,\n      professionalCompetence: this.model.professionalCompetence,\n      charge: this.finalCharge,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<DetailsService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.expedited = data.expedited;\n      this.model.professionalCompetence = data.professionalCompetence;\n    });\n  }\n\n  @action.bound\n  setIsCombined(combined: boolean) {\n    this.model.combined = combined;\n  }\n\n  @computed\n  get getRadioOptions(): RadioOption[] {\n    const charges = this.charges;\n    const combined = this.model.combined;\n    const options = [\n      {\n        id: ExpeditedRadioOptions.FALSE,\n        label: (\n          <>\n            {this.translate('standard-option')}\n            {charges.charge > 0 && (\n              <>\n                : <strong className=\"bold me-3\"> {` ${charges.charge}\\u00A0Kč`}</strong>\n              </>\n            )}\n            {!combined && charges.charge > 0 && <DiscountTag />}\n          </>\n        ),\n        disabled: false,\n      },\n    ];\n\n    if (charges.expeditedCharge && charges.expeditedCharge > 0) {\n      options.push({\n        id: ExpeditedRadioOptions.TRUE,\n        label: (\n          <>\n            {this.translate('expedited-option')}:\n            <strong className=\"bold me-3\">{` ${charges.expeditedCharge}\\u00A0Kč`}</strong>{' '}\n            {!combined && <DiscountTag />}\n          </>\n        ),\n        disabled: combined,\n      });\n    }\n    return options;\n  }\n\n  protected activityWatchValue() {\n    return [this.model.combined, this.model.expedited, this.model.professionalCompetence] as const;\n  }\n\n  translate = translate('driver-licence-application.details-step', this);\n}\n","import AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { makeObservable, observable } from 'mobx';\n\nimport { Validators } from 'src/data/validators/registry';\nimport { ActivateDateTypes } from 'src/enums/ActivateDateTypes';\n\nimport DateUtils from 'src/utils/DateUtils';\n\n@AddTranslationKey('driver-licence-application')\nexport default class LicenceActivationModel {\n  @observable activateDateType = ActivateDateTypes.EARLIEST;\n  @observable activateDate = '';\n  @observable customDate = '';\n  @observable dateFrom = '';\n  @observable dateTo = '';\n\n  get dateCzFrom() {\n    return DateUtils.dateFormatCz(this.dateFrom);\n  }\n  get dateCzTo() {\n    return DateUtils.dateFormatCz(this.dateTo);\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  resetDates() {\n    this.customDate = '';\n    this.activateDate = '';\n    this.dateFrom = '';\n    this.dateTo = '';\n  }\n}\n\nexport const LicenceActivationModelValidators: ValidationDescriptor<LicenceActivationModel, Validators> = {\n  customDate: {\n    rangeDate: {\n      message: 'validationdate',\n      options: {\n        customText: (t: LicenceActivationModel) => `Prosím vyberte datum od ${t.dateCzFrom} do ${t.dateCzTo}`,\n        validFrom: (t: LicenceActivationModel) => t.dateFrom,\n        validTo: (t: LicenceActivationModel) => t.dateTo,\n      },\n    },\n  },\n};\n","import ValidationService from 'src/services/ValidationService';\nimport WizardStepService from 'src/services/WizardStepService';\nimport { Inject, Service } from 'typedi';\nimport LicenceActivationModel, { LicenceActivationModelValidators } from './LicenceActivationModel';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, computed, makeObservable, reaction, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { RadioOption } from '@cendis/cedr-components';\nimport { ActivateDateTypes } from 'src/enums/ActivateDateTypes';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport ReasonService from '../01_Reason/ReasonService';\nimport DetailsService from '../02_Details/DetailsService';\nimport DriverService from 'src/services/driver/DriverService';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/apiV2';\nimport { ReactNode } from 'react';\nimport DateUtils from 'src/utils/DateUtils';\n\n@Service()\nexport default class LicenceActivationService extends WizardStepService {\n  model = new LicenceActivationModel();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private sessionService: SessionService,\n    @Inject() private reasonService: ReasonService,\n    @Inject() private detailsService: DetailsService,\n    @Inject() private driverService: DriverService\n  ) {\n    super(`${DriverApplication.DRIVER_LICENCE}-activation`);\n    makeObservable(this);\n\n    this.setData();\n  }\n\n  @computed\n  get componentWithoutChangeDate() {\n    return (\n      this.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.LOST ||\n      this.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.STOLEN ||\n      this.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.CHANGE_OF_DETAILS ||\n      this.reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.ORIGINAL\n    );\n  }\n\n  @computed\n  get sameDate() {\n    return this.model.dateFrom === this.model.dateTo;\n  }\n\n  get activateDateEarliestOption(): RadioOption[] {\n    return [{ id: ActivateDateTypes.EARLIEST, label: this.translate('dateOption.select-1') }];\n  }\n\n  get activateDateFollowUpOption(): RadioOption[] {\n    return [{ id: ActivateDateTypes.FOLLOW_UP, label: this.translate('dateOption.select-2') }];\n  }\n\n  get activateDateCustomOption(): RadioOption[] {\n    return [{ id: ActivateDateTypes.CUSTOM, label: this.translate('dateOption.select-3') }];\n  }\n\n  get reasonCode() {\n    return this.reasonService.model.reasonCode;\n  }\n\n  @computed\n  get disableNextStep() {\n    return (\n      [\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY,\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE,\n      ].includes(this.reasonService.model.reasonCode) &&\n      this.model.activateDateType === ActivateDateTypes.CUSTOM &&\n      this.model.customDate.length === 0\n    );\n  }\n\n  @computed\n  get summaryData(): Array<{ label: ReactNode; value: ReactNode }> {\n    return [\n      {\n        label: this.translate('summary-data'),\n        value: DateUtils.dateFormatCz(this.finalActivationDate),\n      },\n    ];\n  }\n\n  @computed\n  get finalActivationDate() {\n    const reasonCode = this.reasonService.model.reasonCode;\n\n    if (\n      reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.LOST ||\n      reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.STOLEN\n    ) {\n      return this.model.dateFrom;\n    } else if (reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY) {\n      if (this.sameDate) {\n        return this.model.dateFrom;\n      } else if (this.model.activateDateType === ActivateDateTypes.EARLIEST) {\n        return this.model.dateFrom;\n      } else if (this.model.activateDateType === ActivateDateTypes.FOLLOW_UP) {\n        return this.model.dateTo;\n      } else {\n        return this.model.customDate;\n      }\n    } else if (this.sameDate) {\n      return this.model.dateFrom;\n    }\n\n    return this.model.customDate || this.model.dateFrom;\n  }\n\n  @action.bound\n  setData() {\n    this.model.resetDates();\n    this.validation.attachDescriptor(this.model, LicenceActivationModelValidators);\n\n    const data = this.driverService.driverRequestReasons;\n    const reasonCode = this.reasonService.model.reasonCode;\n\n    if (!data) return;\n\n    const selectedReason = data.find((item) => item.code === reasonCode);\n\n    if (selectedReason) {\n      const activation = selectedReason.activationInterval;\n      if (\n        activation?.from &&\n        activation?.to &&\n        activation?.from.trim() !== '' &&\n        activation?.to.trim() !== ''\n      ) {\n        const { from, to } = activation;\n        runInAction(() => {\n          this.model.dateFrom = from;\n          this.model.dateTo = to;\n        });\n      } else {\n        console.error('Activation interval not found');\n      }\n    } else {\n      console.error('Reason code not found');\n    }\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    reaction(\n      () => this.reasonService.model.reasonCode,\n      () => this.setData()\n    );\n\n    reaction(\n      () => this.detailsService.model.expedited,\n      () => this.setData()\n    );\n\n    this._step = stepNumber;\n    this.validation.attachDescriptor(this.model, LicenceActivationModelValidators);\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new LicenceActivationModel();\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const reasonCode = this.reasonService.model.reasonCode;\n    let activateDateType: ActivateDateTypes | undefined = undefined;\n\n    // Pro LOST/STOLEN nastavíme typ OTHER\n    if (\n      reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.LOST ||\n      reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.STOLEN\n    ) {\n      activateDateType = ActivateDateTypes.OTHER;\n    }\n\n    const data = {\n      step: this.step,\n      activateDateType: activateDateType ? activateDateType : this.model.activateDateType,\n      activateDate: this.finalActivationDate,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<LicenceActivationService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.activateDateType = data.activateDateType;\n      this.model.activateDate = data.activateDate;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.activateDateType,\n      this.model.activateDate,\n      this.model.customDate,\n      this.model.dateFrom,\n      this.model.dateTo,\n    ] as const;\n  }\n\n  translate = translate('driver-licence-application.licence-activation-step', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('driver-licence-application')\nexport default class UserInfoModel {\n  @observable declaration = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SharedDataService from '../SharedDataService';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport { GovIcon, GovLink, LegacyTooltip } from '@cendis/cedr-components';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport UserInfoModel from './UserInfoModel';\n\n@Service()\nexport default class UserInfoService extends WizardStepService {\n  @observable model = new UserInfoModel();\n\n  @computed\n  get isBusy() {\n    return this.sharedDataService.busyWatcher.isBusy;\n  }\n\n  @computed\n  get personalInfo() {\n    return this.sharedDataService.applicationDocuments?.personalInformation;\n  }\n\n  @action.bound\n  getTableData(summary: boolean = false) {\n    return [\n      {\n        label: this.translate('firstName'),\n        value: this.personalInfo?.firstName,\n      },\n      {\n        label: this.translate('lastName'),\n        value: this.personalInfo?.surname,\n      },\n      {\n        label: this.translate('title'),\n        value:\n          this.personalInfo?.degrees && this.personalInfo.degrees.length > 0\n            ? this.personalInfo?.degrees.map((value) => value.name).join(', ')\n            : '-',\n      },\n      {\n        label: this.translate('birthNumber'),\n        value: this.personalInfo?.birthNumber,\n      },\n      {\n        label: (\n          <span key=\"user-residency-label\">\n            {this.translate('permanentResidency')}\n            <LegacyTooltip\n              position=\"right\"\n              size=\"s\"\n              className=\"ms-3\"\n              tooltipContent={\n                <span key=\"user-residency-tooltip\">\n                  {this.translate('permanentResidencyTooltip')}\n                  <GovLink\n                    href=\"https://portal.gov.cz/sluzby-vs/vydani-ridicskeho-prukazu-S113\"\n                    target=\"_blank\"\n                    external\n                    size=\"s\"\n                    testId=\"driver-card-link\"\n                  >\n                    {this.translate('permanentResidencyTooltipLink')}\n                  </GovLink>\n                </span>\n              }\n              testId=\"permanent-residency-tooltip\"\n            >\n              <GovIcon name=\"components/info-circle-fill\" size=\"l\" />\n            </LegacyTooltip>\n          </span>\n        ),\n        value: this.personalInfo?.placeOfResidence?.address,\n      },\n      ...(summary\n        ? [\n            {\n              label: this.translate('declaration'),\n              value: this.model.declaration ? this.translate('yes') : this.translate('no'),\n            },\n          ]\n        : []),\n    ];\n  }\n\n  @action.bound\n  getSummaryData() {\n    return this.getTableData(true);\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private sharedDataService: SharedDataService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super(`${DriverApplication.DRIVER_LICENCE}-user-info`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  toggleDeclaration() {\n    this.model.declaration = !this.model.declaration;\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      personalInfo: this.personalInfo,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<UserInfoService['saveToSessionStorage']>;\n\n    runInAction(() => {});\n  }\n\n  protected activityWatchValue() {\n    return [this.model.declaration] as const;\n  }\n\n  translate = translate('driver-licence-application.user-info-step', this);\n}\n","import AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { makeObservable, observable } from 'mobx';\nimport {\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorVerifyResponse,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState,\n} from 'src/data/crr/api';\nimport StringFormatUtils from 'src/utils/StringFormatUtils';\n\nimport { Validators } from 'src/data/validators/registry';\n\nexport type MentorModelType = {\n  state: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState | undefined;\n  aifoId: string;\n  firstName: string | null;\n  surname: string | null;\n  dob: string;\n  isEligible: boolean;\n  ineligibilityReason?: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason;\n  isSelected: boolean;\n};\n\n@AddTranslationKey('driver-licence-application')\nexport default class MentorModel {\n  @observable state: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState | undefined = undefined;\n  @observable aifoId = '';\n  @observable firstName = '';\n  @observable surname = '';\n  @observable dob = '';\n  @observable isEligible = false;\n  @observable isSelected = false;\n  @observable ineligibilityReason?: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  resetDates() {\n    this.aifoId = '';\n    this.firstName = '';\n    this.surname = '';\n    this.dob = '';\n    this.isEligible = false;\n    this.isSelected = false;\n    this.ineligibilityReason = undefined;\n    this.state = undefined;\n  }\n\n  public static initData(data: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorVerifyResponse) {\n    const model = new MentorModel();\n    model.aifoId = data.aifoId;\n    model.firstName = StringFormatUtils.capitalizeAllWords(data.firstName ?? '');\n    model.surname = StringFormatUtils.capitalizeAllWords(data.surname ?? '');\n    model.dob = data.dob;\n    model.isEligible = data.isEligible;\n    model.isSelected = false;\n    model.ineligibilityReason = data.ineligibilityReason;\n    return model;\n  }\n}\n\nexport const MentorModelValidators: ValidationDescriptor<MentorModel, Validators> = {};\n","import ValidationService from 'src/services/ValidationService';\nimport WizardStepService from 'src/services/WizardStepService';\nimport { Inject, Service } from 'typedi';\nimport MentorModel, { MentorModelType } from './MentorModel';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport ReasonService from '../01_Reason/ReasonService';\nimport {\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState,\n} from 'src/data/crr/api';\nimport SelectMentorOption from 'src/app/driver_ng/shared/models/SelectMentorOption';\nimport DateUtils from 'src/utils/DateUtils';\n\n@Service()\nexport default class MentorService extends WizardStepService {\n  @observable validMentors: MentorModelType[] = [];\n  @observable selectMentorOptions = new SelectMentorOption();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private sessionService: SessionService,\n    @Inject() private reasonService: ReasonService\n  ) {\n    super(`${DriverApplication.DRIVER_LICENCE}-step-3-mentors`);\n    makeObservable(this);\n  }\n\n  get reasonCode() {\n    return this.reasonService.model.reasonCode;\n  }\n\n  @computed\n  get disableNextStep() {\n    let stateLength = 0;\n    let selectedLength = 0;\n\n    this.validMentors.forEach((m) => {\n      if (m.state === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.IS_WRITTEN) {\n        stateLength += 1;\n      }\n      if (m.isSelected) {\n        selectedLength += 1;\n      }\n    });\n\n    if (stateLength + selectedLength > 4) {\n      return true;\n    }\n\n    return false;\n  }\n\n  @computed\n  get summaryMentorData() {\n    const data: { value: React.ReactNode }[] = [];\n\n    this.validMentors\n      .filter(\n        (mentor) =>\n          typeof mentor.aifoId === 'string' && this.selectMentorOptions.options.includes(mentor.aifoId)\n      )\n      .map((mentor) =>\n        data.push({\n          value: `• ${mentor.firstName} ${mentor.surname}, ${this.translate('born')} ${DateUtils.dateFormatCz(mentor.dob)}`,\n        })\n      );\n\n    if (data.length === 0) {\n      data.push({\n        value: `• ${this.translate('no-mentor-selected')}`,\n      });\n    }\n\n    return data;\n  }\n\n  @action.bound\n  init(\n    stepNumber: number,\n    validMentors: {\n      state: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState | undefined;\n      aifoId: string;\n      firstName: string | null;\n      surname: string | null;\n      dob: string;\n      isEligible: boolean;\n      ineligibilityReason?: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason;\n    }[]\n  ) {\n    this._step = stepNumber;\n\n    validMentors.map((m) => {\n      this.validMentors.push(MentorModel.initData(m));\n    });\n\n    this.selectMentorOptions.options = this.validMentors\n      .filter((mentor) => mentor.isEligible)\n      .map((mentor) => mentor.aifoId)\n      .filter(Boolean);\n\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.validMentors = [];\n    this.selectMentorOptions = new SelectMentorOption();\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      mentors: this.validMentors,\n      mentorsCount: this.validMentors.filter((m) => m.isSelected).length,\n      selectMentorOptions: this.selectMentorOptions.options,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<MentorService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      if (data.step) this._step = data.step;\n      this.validMentors = data.mentors || [];\n      this.selectMentorOptions.options = data.selectMentorOptions || [];\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.validMentors, this.selectMentorOptions.options] as const;\n  }\n\n  translate = translate('driver-licence-application.mentors-step', this);\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport { ToastService } from '@cendis/cedr-components';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\nimport { UserService } from 'src/services/UserService';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/api';\nimport { Crr_WebApi_Responses_V1_LicenceConsentResponse, Domain_Contracts_Enums_Crr_LicenceConsent } from 'src/data/crr/api';\n\n@Service()\nexport default class LegalGuardianConsentService {\n  @observable consentStatus: Crr_WebApi_Responses_V1_LicenceConsentResponse | null = null;\n  @observable consentCheckBusyWatcher = new BusyWatcher();\n  @observable createConsentBusyWatcher = new BusyWatcher();\n  @observable showConsentDialog = false;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private apiService: ApiService,\n    @Inject() private userService: UserService,\n    @Inject() private toastService: ToastService\n  ) {\n    makeObservable(this);\n  }\n\n  @computed\n  get isMinor(): boolean {\n    return !this.userService.isUserAdult;\n  }\n\n  @computed\n  get requiresConsent(): boolean {\n    return this.isMinor;\n  }\n\n  @computed\n  get needsConsentForReason(): (reasonCode: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason) => boolean {\n    return (reasonCode: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason) => {\n      if (!this.isMinor) return false;\n\n      return reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.ORIGINAL ||\n             reasonCode === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXTENSION;\n    };\n  }\n\n  @computed\n  get consentStatusMessage(): string {\n    if (!this.consentStatus || this.consentStatus.licenceConsent === Domain_Contracts_Enums_Crr_LicenceConsent.NONE) {\n      return this.translate('consent-not-exists');\n    }\n\n    switch (this.consentStatus.licenceConsent) {\n      case Domain_Contracts_Enums_Crr_LicenceConsent.PENDING:\n        return this.translate('consent-waiting-for-approval');\n      case Domain_Contracts_Enums_Crr_LicenceConsent.APPROVED:\n        return this.translate('consent-approved');\n      case Domain_Contracts_Enums_Crr_LicenceConsent.REJECTED:\n        return this.translate('consent-rejected');\n      default:\n        return this.translate('consent-unknown-status');\n    }\n  }\n\n  @computed\n  get canProceed(): boolean {\n    return !this.requiresConsent ||\n           (this.consentStatus?.licenceConsent === Domain_Contracts_Enums_Crr_LicenceConsent.APPROVED);\n  }\n\n  @computed\n  get shouldShowWarning(): boolean {\n    if (!this.requiresConsent) return false;\n\n    return !this.consentStatus ||\n           this.consentStatus.licenceConsent === Domain_Contracts_Enums_Crr_LicenceConsent.NONE ||\n           this.consentStatus.licenceConsent === Domain_Contracts_Enums_Crr_LicenceConsent.PENDING ||\n           this.consentStatus.licenceConsent === Domain_Contracts_Enums_Crr_LicenceConsent.REJECTED;\n  }\n\n  @Watch<LegalGuardianConsentService>((s) => s.consentCheckBusyWatcher)\n  @action.bound\n  async checkConsentStatus(showToast: boolean = false): Promise<void> {\n    if (!this.requiresConsent) return;\n\n    try {\n      const response = await this.apiService.crrApi.consents.getPdApiCrrV1ConsentsLicenceConsent();\n      runInAction(() => {\n        this.consentStatus = response;\n      });\n      if (showToast) {\n        await this.toastService.addToast('consent-status-updated', this.translate('consent-status-updated'), {\n          color: 'success',\n          icon: 'components/check-lg'\n        });\n      }\n    } catch (error: any) {\n      if (error.status === 404) {\n        runInAction(() => {\n          this.consentStatus = null;\n        });\n      } else {\n        if (showToast) {\n          await this.toastService.addToast('consent-status-update-failed', this.translate('consent-status-update-failed'), {\n            color: 'error',\n            icon: 'components/check-lg'\n          });\n        }\n        throw error;\n      }\n    }\n  }\n\n  @Watch<LegalGuardianConsentService>((s) => s.createConsentBusyWatcher)\n  @action.bound\n  async createConsentRequest(): Promise<void> {\n    try {\n      await this.apiService.crrApi.consents.postPdApiCrrV1ConsentsLicenceConsent();\n      runInAction(() => {\n        this.consentStatus = {\n          licenceConsent: Domain_Contracts_Enums_Crr_LicenceConsent.PENDING\n        };\n        this.showConsentDialog = false;\n      });\n\n      await this.toastService.addToast('consent-request-sent', this.translate('consent-request-sent-success'), {\n        color: 'success',\n        type: 'subtle',\n        icon: 'components/check-lg'\n      });\n    } catch (error: any) {\n      if (error.status === 409) {\n        await this.checkConsentStatus();\n        await this.toastService.addToast('consent-already-exists', this.translate('consent-already-exists'), {\n          color: 'neutral',\n          icon: 'components/check-lg'\n        });\n      } else {\n        await this.toastService.addToast('consent-request-failed', this.translate('consent-request-failed'), {\n          color: 'error',\n          icon: 'components/check-lg'\n        });\n        throw error;\n      }\n    }\n  }\n\n  @action.bound\n  openConsentDialog(): void {\n    this.showConsentDialog = true;\n  }\n\n  @action.bound\n  closeConsentDialog(): void {\n    this.showConsentDialog = false;\n  }\n\n  @action.bound\n  reset(): void {\n    this.consentStatus = null;\n    this.showConsentDialog = false;\n  }\n\n  translate = translate('driver-licence-application.legal-guardian-consent', this);\n}\n","import { CheckboxOption, ToastService, WizardContext } from '@cendis/cedr-components';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport ReasonService from './01_Reason/ReasonService';\nimport SharedDataService from './SharedDataService';\nimport DetailsService from './02_Details/DetailsService';\nimport UserInfoService from './04_UserInfo/UserInfoService';\nimport ValidationService from 'src/services/ValidationService';\nimport PhotoSignatureService from './06_PhotoSignature/PhotoSignatureService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport PickUpPointService from './05_PickUpPoint/PickUpPointService';\nimport ContactDetailService from './09_Contact/ContactDetailService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\nimport CompleteScreenSharedViewModel from '../completeScreenShared/CompleteScreenSharedViewModel';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport DriverService from 'src/services/driver/DriverService';\nimport SessionService from 'src/services/SessionService';\nimport DriverApplicationService from '../../shared/services/DriverApplicationService';\nimport LicenceActivationService from './03_LicenceActivation/LicenceActivationService';\nimport DeliveryChoiceService from './08_DeliveryChoice/DeliveryChoiceService';\nimport PaymentService from './10_Payment/PaymentService';\nimport SummaryService from './07_Summary/SummaryService';\nimport {\n  ApiError,\n  Crr_WebApi_Requests_CreateRequestRequest,\n  Crr_WebApi_Requests_DeliveryInformationRequest,\n  Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse,\n  Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse,\n  Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse,\n  Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse,\n  Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState,\n  Domain_Contracts_Enums_IsdtRequestCode,\n} from 'src/data/crr/api';\nimport { Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason } from 'src/data/crr/api';\nimport AuthService from 'src/services/AuthService';\nimport { DeliveryChoiceRadioOptions } from '../../shared/models/DeliveryChoiceModel';\nimport PaymentGatewayOutageViewModel from '../paymentGatewayOutage/PaymentGatewayOutageViewModel';\nimport { Authorize } from 'src/decorators/Authorize';\nimport RequestDetailModel, { RequestDriverTypes } from '../../requestDetail/RequestDetailModel';\nimport { ActivateDateTypes } from 'src/enums/ActivateDateTypes';\nimport ErrorService from 'src/services/ErrorService';\nimport { Crr_WebApi_Responses_V3_WarningResponse, Domain_Contracts_Enums_RoGroup } from 'src/data/crr/apiV3';\nimport ValidationErrorViewModel from '../ValidationErrorViewModel';\nimport MentorService from './03_Menteor/MentorService';\nimport LegalGuardianConsentService from './LegalGuardianConsentService';\nimport DateUtils from 'src/utils/DateUtils';\nimport StringFormatUtils from 'src/utils/StringFormatUtils';\nimport { ApplicationDocumentsError } from '../../components/DriverLicenceError/DriverLicenceError';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\nconst CD_GROUPS = [\n  Domain_Contracts_Enums_RoGroup.C1,\n  Domain_Contracts_Enums_RoGroup.C1E,\n  Domain_Contracts_Enums_RoGroup.C,\n  Domain_Contracts_Enums_RoGroup.CE,\n  Domain_Contracts_Enums_RoGroup.D1,\n  Domain_Contracts_Enums_RoGroup.D1E,\n  Domain_Contracts_Enums_RoGroup.D,\n  Domain_Contracts_Enums_RoGroup.DE,\n];\n\ntype Resettable = {\n  reset(): void;\n};\n\n@Service()\nexport default class ApplicationService extends DriverApplicationService {\n  busyWatcher = new BusyWatcher();\n  private navigator: Navigator = DummyNavigator;\n\n  private resettableServices: Resettable[] = [];\n\n  @observable summaryPromptVisible = false;\n  @observable combinedApplicationPromptVisible = false;\n  @observable paymentPromptVisible = false;\n  @observable combined = false;\n  @observable runDeactivate = true;\n  @observable sendingDisabled = false;\n  @observable submitError: ApplicationDocumentsError | undefined = undefined;\n  @observable validMentors: {\n    id: string;\n    state: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState | undefined;\n    aifoId: string;\n    firstName: string | null;\n    surname: string | null;\n    dob: string;\n    isEligible: boolean;\n    ineligibilityReason?: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason;\n  }[] = [];\n  @observable mentorsOptions: CheckboxOption[] = [];\n  @observable showMentorStep = false;\n\n  @computed\n  get canOpenPrompt() {\n    // possible to open combined prompt\n    return (\n      this.sharedDataService.combinedAllowed &&\n      !!this.sharedDataService.applicationDocuments?.combinationFormAllowed\n    );\n  }\n\n  @computed\n  get finalCharge() {\n    return this.detailsService.finalCharge;\n  }\n\n  @computed\n  get displayMedicalFitnessWarning(): boolean {\n    const options = this.reasonService.selectOptions;\n\n    if (options.length === 0) {\n      return false;\n    }\n\n    const hasOriginalOrExtension = options.some(\n      (r) =>\n        r.key.includes(Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.ORIGINAL) ||\n        r.key.includes(Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXTENSION)\n    );\n\n    return !hasOriginalOrExtension;\n  }\n\n  @computed\n  get validationMentorSend(): boolean {\n    return (\n      this.mentorService.selectMentorOptions.options.length > 0 &&\n      (this.reasonService.model.reasonCode ===\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXTENSION ||\n        this.reasonService.model.reasonCode ===\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.ORIGINAL)\n    );\n  }\n\n  @computed\n  get validateRefreshSteps(): boolean {\n    return (\n      this.reasonService.model.reasonCode ===\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.ORIGINAL ||\n      this.reasonService.model.reasonCode ===\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXTENSION\n    );\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() public reasonService: ReasonService,\n    @Inject() public detailsService: DetailsService,\n    @Inject() public licenceActivationService: LicenceActivationService,\n    @Inject() public mentorService: MentorService,\n    @Inject() public deliveryChoiceService: DeliveryChoiceService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public userInfoService: UserInfoService,\n    @Inject() public pickUpPointService: PickUpPointService,\n    @Inject() public photoSignatureService: PhotoSignatureService,\n    @Inject() public contactDetailService: ContactDetailService,\n    @Inject() public summaryService: SummaryService,\n    @Inject() public legalGuardianConsentService: LegalGuardianConsentService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private apiService: ApiService,\n    @Inject() private toastService: ToastService,\n    @Inject() public driverService: DriverService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    super(DriverApplication.DRIVER_LICENCE);\n    makeObservable(this);\n  }\n\n  @computed\n  get summaryStep() {\n    if (this.validMentors.length > 0) {\n      return 8;\n    }\n    return 7;\n  }\n\n  @computed\n  get photoWarning(): Crr_WebApi_Responses_V3_WarningResponse | false {\n    return (\n      this.sharedDataService.applicationDocuments?.warnings?.find((w) => w.type === 'ZADOST_FOTO_OMEZENE') ||\n      false\n    );\n  }\n\n  @computed\n  get signatureWarning(): Crr_WebApi_Responses_V3_WarningResponse | false {\n    return (\n      this.sharedDataService.applicationDocuments?.warnings?.find(\n        (w) => w.type === 'ZADOST_PODPIS_OMEZENE'\n      ) || false\n    );\n  }\n\n  @computed\n  get pzrEndWarning(): Crr_WebApi_Responses_V3_WarningResponse | false {\n    return (\n      this.sharedDataService.applicationDocuments?.warnings?.find((w) => w.type === 'PZR_KONEC') || false\n    );\n  }\n\n  async handleReasonChange() {\n    if (this.showMentorStep !== this.validateRefreshSteps) {\n      if (!this.validateRefreshSteps) {\n        this.showMentorStep = false;\n      } else {\n        const displayMentorStep = await this.displayMentorStep();\n        this.showMentorStep = displayMentorStep;\n      }\n\n      this.refreshSteps();\n    }\n  }\n\n  @action.bound\n  async init(navigator: Navigator, combined: boolean = false) {\n    this.navigator = navigator;\n    this.validationService.init();\n    this.resettableServices.push(this.validationService);\n\n    await this.sharedDataService.init(combined);\n    this.resettableServices.push(this.sharedDataService);\n\n    this.resettableServices.push(this.legalGuardianConsentService);\n    await this.legalGuardianConsentService.checkConsentStatus();\n\n    this.checkDriverRequests();\n    this.driverService.getDrivingLicences(false);\n    this.driverService.getQuickSummary();\n\n    this.refreshSteps();\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  @action.bound\n  refreshSteps() {\n    this.reasonService.init(1);\n    this.resettableServices.push(this.reasonService);\n\n    this.detailsService.init(2);\n    this.resettableServices.push(this.detailsService);\n\n    if (this.showMentorStep) {\n      this.mentorService.init(3, this.validMentors);\n      this.mentorService.loadFromSessionStorage();\n      this.resettableServices.push(this.mentorService);\n    }\n    this.licenceActivationService.init(this.showMentorStep ? 4 : 3);\n    this.resettableServices.push(this.licenceActivationService);\n\n    this.userInfoService.init(this.showMentorStep ? 5 : 4);\n    this.resettableServices.push(this.userInfoService);\n\n    this.pickUpPointService.init(this.showMentorStep ? 6 : 5, this.applicationType);\n    this.resettableServices.push(this.pickUpPointService);\n\n    this.photoSignatureService.init(\n      this.showMentorStep ? 7 : 6,\n      this.sharedDataService,\n      this.applicationType\n    );\n    this.resettableServices.push(this.photoSignatureService);\n\n    this.deliveryChoiceService.init(this.showMentorStep ? 9 : 8, this.reasonService);\n    this.resettableServices.push(this.deliveryChoiceService);\n\n    this.contactDetailService.init(this.showMentorStep ? 10 : 9);\n    this.resettableServices.push(this.contactDetailService);\n\n    this.paymentService.init(this.showMentorStep ? 11 : 10);\n    this.resettableServices.push(this.paymentService);\n  }\n\n  @action.bound\n  setupNavigationGuard() {\n    this.navigationGuardService.startGuarding(false, true, () => {\n      this.reset();\n      this.clearSessionStorage();\n    });\n  }\n\n  @action.bound\n  reset() {\n    this.summaryPromptVisible = false;\n    this.combinedApplicationPromptVisible = false;\n    this.paymentPromptVisible = false;\n    this.combined = false;\n    this.navigationGuardService.stopGuarding();\n    this.wizardContext = new WizardContext();\n    this.wizardContext.activeStep = 1;\n    this.resettableServices.forEach((service) => service.reset());\n    this.resettableServices = [];\n    this.sendingDisabled = false;\n    this.submitError = undefined;\n    this.validMentors = [];\n    this.showMentorStep = false;\n  }\n\n  @action.bound\n  onActiveCombineStep() {\n    if (\n      this.reasonService.model.reasonCode !==\n      Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN\n    ) {\n      this.getPayment();\n    }\n  }\n\n  private mapMentorsToCheckboxData(): CheckboxOption[] {\n    if (!this.validMentors || this.validMentors.length <= 0) return [];\n\n    const mentorsOptions = this.validMentors\n      .map((mentor) => ({\n        id: mentor.aifoId ?? '',\n        label: `${mentor.firstName} ${mentor.surname}, nar. ${DateUtils.dateFormatCz(mentor.dob)}`,\n      }))\n      .filter((m) => Boolean(m.id));\n    return mentorsOptions;\n  }\n\n  @action.bound\n  @Watch<ApplicationService>((s) => s.sharedDataService.busyWatcher)\n  async displayMentorStep(): Promise<boolean> {\n    try {\n      await this.driverService.getDriverMentors(false);\n      const mentors = this.driverService.driverMentors;\n\n      if (!mentors) return false;\n      if (!this.sharedDataService.applicationDocuments?.mentorsChooseAllowed) return false;\n\n      const requestBodyVerify = this.getValidAifoIds(mentors);\n\n      const data =\n        await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsMentorsVerify({\n          mentorsAifoIds: requestBodyVerify,\n        });\n\n      const validMentors = mentors.filter(\n        (m): m is typeof m & { aifoId: string; id: string } => !!m.aifoId && !!m.id\n      );\n\n      const mentorMap = new Map<\n        string,\n        {\n          id: string;\n          state: Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState | undefined;\n        }\n      >(\n        validMentors.map((m) => [\n          m.aifoId,\n          {\n            id: m.id,\n            state: m.state,\n          },\n        ])\n      );\n\n      const verifyPersons = data.flatMap((person) => {\n        const mentor = person.isEligible ? mentorMap.get(person.aifoId) : undefined;\n        if (!mentor) return [];\n\n        return [\n          {\n            ...person,\n            id: mentor.id,\n            state: mentor.state,\n            firstName: StringFormatUtils.capitalizeAllWords(person.firstName ?? ''),\n            surname: StringFormatUtils.capitalizeAllWords(person.surname ?? ''),\n          },\n        ];\n      });\n\n      if (verifyPersons.length > 0) {\n        runInAction(() => {\n          this.validMentors = verifyPersons;\n          this.mentorsOptions = this.mapMentorsToCheckboxData();\n        });\n        return true;\n      }\n\n      return false;\n    } catch (_err) {\n      return false;\n    }\n  }\n\n  @action.bound\n  getValidAifoIds(users: Crr_WebApi_Responses_V1_FirstTimeApplicant_MentorResponse[]): string[] {\n    const writtenUnlocked = users.filter(\n      (u) =>\n        u.state ===\n          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState.APPROVED_AND_READY_FOR_WRITE &&\n        !u.applicationLocked\n    );\n\n    const unique = new Map();\n\n    for (const u of writtenUnlocked) {\n      if (!unique.has(u.aifoId)) {\n        unique.set(u.aifoId, u);\n      }\n    }\n\n    return [...unique.keys()];\n  }\n\n  // TODO find if we can safely removed unused param\n  @action.bound\n  navToCompleteScreen(_requestId: string) {\n    this.navigator(CompleteScreenSharedViewModel).go();\n  }\n\n  @Authorize([(x) => x.CRR_DRIVING_CARD_REQUEST_LIST, (x) => x.FO])\n  @action.bound\n  async checkDriverRequests() {\n    if (!this.driverService.driverRequests) {\n      await this.driverService.getDriverRequests(false, true);\n    }\n\n    const processing = this.driverService.driverRequests?.find((r) => {\n      if ('$type' in r) {\n        if (r.$type === 'CRR') {\n          return (\n            (r as Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse).status?.code ===\n            Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.PROCESSING\n          );\n        } else if (r.$type === 'ISDT') {\n          const data = r as Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse;\n          return (\n            data.status?.code === Domain_Contracts_Enums_IsdtRequestCode.PROCESSING &&\n            data.isOverlapped === true\n          );\n        } else if (r.$type === 'FTA') {\n          return (\n            (r as Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse).status ===\n            Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.READY_TO_SEND\n          );\n        }\n      }\n      return false;\n    });\n\n    if (processing) {\n      const requestId =\n        ('requestDatabaseId' in processing ? processing.requestDatabaseId : processing.id) ?? '';\n      this.navigator(RequestDetailModel, {\n        type: processing.$type as RequestDriverTypes,\n      }).go({ id: requestId, processed: 'true' });\n    }\n  }\n\n  @action.bound\n  navToOutage(requestId: string, refId: string) {\n    this.navigator(PaymentGatewayOutageViewModel, { requestId, refId, requestType: 'crr' }).go();\n  }\n\n  private get crrReasonParam(): Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason {\n    if (\n      this.reasonService.model.reasonCode ===\n        Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY &&\n      this.detailsService.isProfessionalCompetenceChecked\n    ) {\n      return Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE;\n    }\n\n    return this.reasonService.model.reasonCode;\n  }\n\n  @Watch<ApplicationService>((s) => s.paymentService.priceBusyWatcher)\n  @action.bound\n  async getPayment() {\n    try {\n      if (this.crrReasonParam === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.UNKNOWN) {\n        this.wizardContext.setActiveStep(1);\n        return;\n      }\n\n      const isDelivered =\n        this.deliveryChoiceService?.model?.deliveryChoice === DeliveryChoiceRadioOptions.BOX;\n\n      const params = {\n        isExpedited: this.detailsService.model.expedited,\n        isProfessionalCompetenceRequested: this.detailsService.isProfessionalCompetenceChecked,\n        addParcelPickupFee: isDelivered,\n        reason: this.crrReasonParam,\n      };\n\n      const response = await this.apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute(params);\n      this.paymentService.model.amount = response?.amount ?? 0;\n      runInAction(() => (this.sendingDisabled = false));\n    } catch (error) {\n      runInAction(() => (this.sendingDisabled = true));\n      this.errorService.logCatchError(\n        error,\n        'driver - driverLicenceApplication - ApplicationService',\n        'getPayment - apiService.crrApi.fees.postPdApiCrrV1DriverFeesCompute'\n      );\n    }\n  }\n\n  @Watch<ApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async submitApplication(mustPay: boolean) {\n    if (this.sharedDataService.requestId === undefined) {\n      return;\n    }\n\n    this.submitError = undefined;\n\n    // Refresh token before payment to ensure it doesn't expire during payment process\n    await this.authService.refreshCurrentToken();\n\n    try {\n      let paymentUrl: string | null = null;\n      let refId: string | null = null;\n      let transactionId: string | null = null;\n      let cpcReason: Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason | undefined = undefined;\n\n      if (\n        this.reasonService.model.reasonCode ===\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY &&\n        this.detailsService.isProfessionalCompetenceChecked\n      ) {\n        cpcReason =\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXPIRY_WITH_PROFESSIONAL_COMPETENCE;\n      }\n\n      let deliveryPlace: Crr_WebApi_Requests_DeliveryInformationRequest | undefined = undefined;\n      let activationDate = null;\n\n      if (\n        this.deliveryChoiceService.model.deliveryChoice === DeliveryChoiceRadioOptions.BOX &&\n        this.deliveryChoiceService.model.boxAddress\n      ) {\n        deliveryPlace = {\n          placeId: this.deliveryChoiceService.model.boxAddress.id,\n          placeName: this.deliveryChoiceService.model.boxAddress.value,\n          deliveryType: this.deliveryChoiceService.model.boxAddress.type,\n        };\n\n        // HOTFIX PD-7543: pouze pokud je do boxu\n        if (\n          this.licenceActivationService.model.activateDateType === ActivateDateTypes.CUSTOM &&\n          this.licenceActivationService.model.customDate.length > 0\n        ) {\n          activationDate = this.licenceActivationService.model.customDate;\n        } else if (\n          this.licenceActivationService.model.activateDateType === ActivateDateTypes.FOLLOW_UP &&\n          this.licenceActivationService.model.activateDateType.length > 0\n        ) {\n          activationDate = this.licenceActivationService.model.dateTo;\n        } else {\n          activationDate = null;\n        }\n      }\n\n      const selectedMentorAifoIds = this.mentorService.selectMentorOptions.options;\n      const selectedMentorIds = this.validMentors\n        .filter((m) => selectedMentorAifoIds.includes(m.aifoId))\n        .map((m) => m.id);\n\n      const forGroups =\n        this.reasonService.model.reasonCode ===\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.ORIGINAL ||\n        this.reasonService.model.reasonCode ===\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason.EXTENSION\n          ? this.reasonService.allDrivingAuthorizations\n          : this.reasonService.existingDrivingAuthorizations;\n\n      const requestBody: Crr_WebApi_Requests_CreateRequestRequest = {\n        drivingLicence: {\n          requestId: this.sharedDataService.requestId || null,\n          orp: this.pickUpPointService.model.code,\n          reason: cpcReason ?? this.reasonService.model.reasonCode,\n          reasonName: this.reasonService.selectedReasonName,\n          expedited: this.detailsService.model.expedited,\n          addProfessionalCompetence: this.detailsService.isProfessionalCompetenceAllowed\n            ? this.detailsService.isProfessionalCompetenceChecked\n            : null,\n          activationDate: activationDate,\n        },\n        mentoringRecordIds: this.validationMentorSend ? selectedMentorIds : null,\n        deliveryInformation: deliveryPlace,\n        emailAddress:\n          this.contactDetailService.model.hasEmail && !this.contactDetailService.isEmailDisabled\n            ? this.contactDetailService.userService.contactInfo?.email\n            : null,\n        phoneNumber:\n          this.contactDetailService.model.hasPhone && !this.contactDetailService.isPhoneDisabled\n            ? this.contactDetailService.userService.contactInfo?.phone\n            : null,\n        forGroups: forGroups?.map((x) => x.roGroup).join(' '),\n      };\n\n      const response = await this.apiService.crrApi.requests.postPdApiCrrV1Requests(requestBody);\n      runInAction(() => {\n        paymentUrl = ('payment' in response && response.payment?.gatewayUrl) || null;\n        refId = ('payment' in response ? response.payment?.paymentRefId : null) ?? null;\n        transactionId = ('payment' in response ? response.payment?.transactionId : null) ?? null;\n      });\n      if (mustPay && !paymentUrl) {\n        this.toastService.addToast('payment-gateway-error', this.translate('payment-gateway-error'), {\n          color: 'error',\n          icon: 'components/exclamation-triangle-fill',\n          animateDirection: 'forward',\n        });\n        return;\n      }\n\n      this.navigationGuardService.stopGuarding();\n      this.clearSessionStorage();\n      this.driverService.resetDriverData();\n      this.driverService.resetQuickSummary();\n\n      if (this.paymentService.processPaymentUrl(paymentUrl, refId, transactionId)) {\n        // Save request type for gateway error fallback\n        if (refId) {\n          this.localStorageService.set(`request_type_${refId}`, 'crr');\n        }\n      } else {\n        const requestId = this.sharedDataService.requestId ?? '';\n        this.navToCompleteScreen(requestId);\n      }\n    } catch (error: unknown) {\n      const apiError = error instanceof ApiError ? error : undefined;\n\n      if (apiError?.status === 400 && apiError.body?.type === 'CRR_PAYMENT_ERROR') {\n        this.errorService.logCatchError(\n          error,\n          'driver - driverLicenceApplication - ApplicationService',\n          'submit - apiService.crrApi.requests.postPdApiCrrV1Requests, type CRR_PAYMENT_ERROR'\n        );\n        this.navigationGuardService.stopGuarding();\n        this.navToOutage(apiError.body?.requestId, apiError.body?.refId);\n        return;\n      } else {\n        this.errorService.logCatchError(\n          error,\n          'driver - driverLicenceApplication - ApplicationService',\n          'submit - apiService.crrApi.requests.postPdApiCrrV1Requests, other error not type CRR_PAYMENT_ERROR'\n        );\n      }\n\n      if (apiError?.status === 409 && apiError.body?.type === 'CRR_PENDING_REQUEST') {\n        this.navigateToValidationError(apiError.body?.title || apiError.body?.message || '');\n        return;\n      }\n\n      const errorMessage =\n        apiError?.status === 400 && apiError.body?.OriginalDescription\n          ? apiError.body.OriginalDescription\n          : this.translate('submit-fail');\n\n      this.toastService.addToast('driver-application-fail', errorMessage, {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    } finally {\n      this.closePrompt();\n    }\n  }\n\n  @action.bound\n  onBeforeNextSummaryStep() {\n    this.openPrompt();\n    return false;\n  }\n\n  @computed\n  get vehiclePermissionCheck() {\n    const groups = this.driverService.drivingLicences?.drivingLicencePermissions.map((x) => x.roGroup) ?? [];\n    // B or BE without any C/D group; other groups (B1, A*, AM, T) do not matter\n    const hasB = groups.some(\n      (g) => g === Domain_Contracts_Enums_RoGroup.B || g === Domain_Contracts_Enums_RoGroup.BE\n    );\n    const hasCD = groups.some((g) => CD_GROUPS.includes(g));\n\n    return hasB && !hasCD;\n  }\n\n  @computed\n  private get isOriginalOrExtensionSelected() {\n    return this.reasonService.isOriginalSelected || this.reasonService.isExtensionSelected;\n  }\n\n  @computed\n  private get applicationDrivingPermissionGroups() {\n    const drivingPermissionsFilter = [\n      Domain_Contracts_Enums_RoGroup.B,\n      Domain_Contracts_Enums_RoGroup.BE,\n      Domain_Contracts_Enums_RoGroup.C1,\n      Domain_Contracts_Enums_RoGroup.C1E,\n      Domain_Contracts_Enums_RoGroup.C,\n      Domain_Contracts_Enums_RoGroup.CE,\n      Domain_Contracts_Enums_RoGroup.D,\n      Domain_Contracts_Enums_RoGroup.DE,\n      Domain_Contracts_Enums_RoGroup.D1,\n      Domain_Contracts_Enums_RoGroup.D1E,\n      Domain_Contracts_Enums_RoGroup.ALL,\n    ];\n\n    return (\n      this.sharedDataService.applicationDocuments?.forGroups?.filter((x) =>\n        drivingPermissionsFilter.includes(x.roGroup)\n      ) ?? []\n    );\n  }\n\n  @computed\n  get showDiscouragementBox() {\n    if (this.sharedDataService.combinedAllowed && this.isOriginalOrExtensionSelected) {\n      // for original / extension the discouragement depends on groups in the application, not held permissions\n      return !this.applicationDrivingPermissionGroups.some((x) => CD_GROUPS.includes(x.roGroup));\n    }\n\n    return this.vehiclePermissionCheck;\n  }\n\n  @computed\n  get canOfferCombinedApplication() {\n    if (!this.sharedDataService.combinedAllowed) {\n      return false;\n    }\n\n    // check if original or extension with B driver license\n    if (!this.isOriginalOrExtensionSelected) {\n      return this.vehiclePermissionCheck;\n    }\n\n    return this.driverService.displayTachographButton && this.applicationDrivingPermissionGroups.length > 0;\n  }\n  @action.bound\n  onBeforeNextStepWithDelivery() {\n    // check if combined application is possible\n    if (this.canOpenPrompt) {\n      this.openCombinedApplicationPrompt();\n      return false;\n    }\n    return true;\n  }\n\n  @action.bound\n  onBeforeNextStep() {\n    this.openPaymentPrompt();\n    return false;\n  }\n\n  @action.bound\n  openPrompt() {\n    this.summaryPromptVisible = true;\n  }\n\n  @action.bound\n  closePrompt() {\n    this.summaryPromptVisible = false;\n  }\n\n  @action.bound\n  openCombinedApplicationPrompt() {\n    this.combinedApplicationPromptVisible = true;\n  }\n\n  @action.bound\n  closeCombinedApplicationPrompt() {\n    this.combinedApplicationPromptVisible = false;\n  }\n\n  @action.bound\n  openPaymentPrompt() {\n    this.paymentPromptVisible = true;\n  }\n  @action.bound\n  closePaymentPrompt() {\n    this.paymentPromptVisible = false;\n  }\n\n  @action.bound\n  clearSubmitError() {\n    this.submitError = undefined;\n  }\n\n  @action.bound\n  goToCombinedApplication() {\n    this.navigationGuardService.stopGuarding();\n    this.stopDeactivate();\n    this.navigator('../combined-driver').go();\n  }\n\n  getSessionStorageData() {\n    const reasonStringData = this.sessionService.get(this.reasonService.sessionStorageKey);\n    const detailsStringData = this.sessionService.get(this.detailsService.sessionStorageKey);\n    const activationStringData = this.sessionService.get(this.licenceActivationService.sessionStorageKey);\n    const mentorsStringData = this.sessionService.get(this.mentorService.sessionStorageKey);\n    const userInfoStringData = this.sessionService.get(this.userInfoService.sessionStorageKey);\n    const pickUpStringData = this.sessionService.get(this.pickUpPointService.sessionStorageKey);\n    const photoSignatureStringData = this.sessionService.get(this.photoSignatureService.sessionStorageKey);\n    const contactStringData = this.sessionService.get(this.contactDetailService.sessionStorageKey);\n    const deliveryStringData = this.sessionService.get(this.deliveryChoiceService.sessionStorageKey);\n\n    const reasonData = reasonStringData\n      ? (JSON.parse(reasonStringData) as ReturnType<ReasonService['saveToSessionStorage']>)\n      : null;\n    const detailsData = detailsStringData\n      ? (JSON.parse(detailsStringData) as ReturnType<DetailsService['saveToSessionStorage']>)\n      : null;\n    const activationData = activationStringData\n      ? (JSON.parse(activationStringData) as ReturnType<LicenceActivationService['saveToSessionStorage']>)\n      : null;\n    const mentorsData = mentorsStringData\n      ? (JSON.parse(mentorsStringData) as ReturnType<MentorService['saveToSessionStorage']>)\n      : null;\n    const userInfoData = userInfoStringData\n      ? (JSON.parse(userInfoStringData) as ReturnType<UserInfoService['saveToSessionStorage']>)\n      : null;\n    const pickUpData = pickUpStringData\n      ? (JSON.parse(pickUpStringData) as ReturnType<PickUpPointService['saveToSessionStorage']>)\n      : null;\n    const photoSignatureData = photoSignatureStringData\n      ? (JSON.parse(photoSignatureStringData) as ReturnType<PhotoSignatureService['saveToSessionStorage']>)\n      : null;\n    const contactData = contactStringData\n      ? (JSON.parse(contactStringData) as ReturnType<ContactDetailService['saveToSessionStorage']>)\n      : null;\n    const deliveryData = deliveryStringData\n      ? (JSON.parse(deliveryStringData) as ReturnType<DeliveryChoiceService['saveToSessionStorage']>)\n      : null;\n\n    return {\n      ['reason']: reasonData,\n      ['details']: detailsData,\n      ['activation']: activationData,\n      ['mentors']: mentorsData,\n      ['userInfo']: userInfoData,\n      ['pickUp']: pickUpData,\n      ['photoSignature']: photoSignatureData,\n      ['contact']: contactData,\n      ['delivery']: deliveryData,\n    };\n  }\n\n  @action.bound\n  loadModelsFromSession() {\n    const sessionData = this.getSessionStorageData();\n\n    if (sessionData.reason) {\n      this.reasonService.model.reasonCode = sessionData.reason.reasonCode;\n      this.reasonService.model.lostConfirmation = sessionData.reason.lostConfirmation;\n    }\n    if (sessionData.details) {\n      this.detailsService.model.expedited = sessionData.details.expedited;\n      this.detailsService.model.professionalCompetence = sessionData.details.professionalCompetence;\n    }\n\n    if (sessionData.activation) {\n      this.licenceActivationService.model.activateDate = sessionData.activation.activateDate;\n      this.licenceActivationService.model.activateDateType = sessionData.activation.activateDateType;\n    }\n\n    if (sessionData.mentors) {\n      this.mentorService.validMentors = sessionData.mentors.mentors;\n    }\n\n    if (sessionData.pickUp) {\n      this.pickUpPointService.model.code = sessionData.pickUp.code;\n    }\n\n    if (sessionData.photoSignature) {\n      this.photoSignatureService.model.photoConfirm = sessionData.photoSignature.photoConfirm;\n      this.photoSignatureService.model.signatureConfirm = sessionData.photoSignature.signatureConfirm;\n    }\n\n    if (sessionData.contact) {\n      this.contactDetailService.model.hasEmail = sessionData.contact.hasEmail;\n      this.contactDetailService.model.hasPhone = sessionData.contact.hasPhone;\n    }\n\n    this.wizardContext.activeStep = 8;\n  }\n\n  @action.bound\n  combinedVariant() {\n    this.combined = true;\n  }\n\n  @action.bound\n  stopDeactivate() {\n    this.runDeactivate = false;\n  }\n\n  private navigateToValidationError(errorMessage: string): void {\n    const isConcurrent = this.combined;\n\n    this.navigationGuardService.stopGuarding();\n    this.navigator(ValidationErrorViewModel).go({\n      errorType: isConcurrent ? 'CONCURRENT_APPLICATION' : 'PENDING_REQUEST',\n      errorMessage: encodeURIComponent(errorMessage),\n    });\n  }\n\n  translate = translate('driver-licence-application', this);\n}\n","import { GovLink, Message } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype MedicalFitnessAlertProps = {\n  translate: Translator;\n  full?: boolean;\n};\n\nconst MedicalFitnessAlert = ({ translate, full }: MedicalFitnessAlertProps) => {\n  return (\n    <Message\n      color=\"warning\"\n      icon=\"components/exclamation-triangle-fill\"\n      className={`c:mb-10 ${full ? '' : 'c:max-w-[802px]'}`}\n    >\n      <span className=\"c:font-bold\">{translate('medical-fitness-alert.text')}</span>{' '}\n      {translate('medical-fitness-alert.text-2')}{' '}\n      <span className=\"c:font-bold\">{translate('medical-fitness-alert.text-3')}</span>{' '}\n      {translate('medical-fitness-alert.text-4')}{' '}\n      <span className=\"c:font-bold\">{translate('medical-fitness-alert.text-5')}</span>{' '}\n      {translate('medical-fitness-alert.text-6')}{' '}\n      <GovLink\n        href={'https://www.ezdravi.gov.cz/private/lekarske-posudky/inbox?jenPlatne=false'}\n        target=\"_blank\"\n        external\n        size=\"m\"\n        testId=\"medical-link\"\n      >\n        {translate('medical-fitness-alert.link-text')}\n      </GovLink>\n    </Message>\n  );\n};\n\nexport default MedicalFitnessAlert;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type DriverLicenceApplicationViewModel from './DriverLicenceApplicationViewModel';\nimport Container from '@components/gov4/layout/Container';\nimport DriverLicenceSteps from '../../components/DriverLicenceSteps/DriverLicenceSteps';\nimport { Typography } from '@cendis/cedr-components';\nimport DriverLicenceError from '../../components/DriverLicenceError/DriverLicenceError';\nimport LoaderComponent from '../../components/Loader';\nimport DriverLicenceInfo from '../../components/DriverLicenceInfo/DriverLicenceInfo';\nimport MedicalFitnessAlert from '../../components/MedicalFitnessAlert/MedicalFitnessAlert';\n\nconst DriverLicenceApplicationView: View<DriverLicenceApplicationViewModel> = observer(({ vm }) => {\n  const { translate, applicationService } = vm;\n\n  window.addEventListener('pageshow', () => {\n    vm.checkSavedTransaction();\n  });\n\n  return (\n    <Container>\n      <div className=\"mw-855\">\n        <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title my-40px\">\n          {translate('title')}\n        </Typography>\n\n        {applicationService.sharedDataService.busyWatcher.isBusy ? (\n          <LoaderComponent />\n        ) : (\n          <>\n            {applicationService.sharedDataService.applicationDocumentsErrors ? (\n              <>\n                <DriverLicenceInfo translate={translate} />\n                <MedicalFitnessAlert translate={translate} />\n                <DriverLicenceError\n                  errors={applicationService.sharedDataService.applicationDocumentsErrors}\n                  translate={translate}\n                  linkToDriver={vm.linkToDriver}\n                />\n              </>\n            ) : !applicationService.sharedDataService.hasOnlineResponses ? (\n              <div>\n                <MedicalFitnessAlert translate={translate} />\n                <DriverLicenceError\n                  errors={[applicationService.sharedDataService.noOnlineResponsesErr]}\n                  translate={translate}\n                  linkToDriver={vm.linkToDriver}\n                />\n              </div>\n            ) : (\n              <>\n                <DriverLicenceInfo translate={translate} />\n                {applicationService.displayMedicalFitnessWarning && (\n                  <MedicalFitnessAlert translate={translate} full />\n                )}\n                <DriverLicenceSteps translate={translate} applicationService={applicationService} />\n              </>\n            )}\n          </>\n        )}\n      </div>\n    </Container>\n  );\n});\n\nexport default DriverLicenceApplicationView;\n","import { action, makeObservable, reaction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport DriverLicenceApplicationView from './DriverLicenceApplicationView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationService from './ApplicationService';\nimport SessionService from 'src/services/SessionService';\nimport DriverNgViewModel from '../../DriverNgViewModel';\n\n@AddDefaultView(DriverLicenceApplicationView)\n@Service()\nexport default class DriverLicenceApplicationViewModel extends BaseScreen {\n  get pathNode() {\n    return 'driver-licence-application';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.init(this.navigator);\n\n    reaction(\n      () => this.applicationService.reasonService.model.reasonCode,\n      () => {\n        this.applicationService.handleReasonChange();\n      },\n\n      { fireImmediately: true }\n    );\n  }\n\n  checkSavedTransaction() {\n    const refId = this.sessionService.get('refId');\n    const transactionId = this.sessionService.get('transactionId');\n\n    if (refId && transactionId) {\n      this.sessionService.remove('refId');\n      this.sessionService.remove('transactionId');\n      const completeUrl = `${window.location.origin}/driver/licence/complete?id=${transactionId}&refId=${refId}`;\n      window.location.assign(completeUrl);\n    }\n  }\n\n  deactivate() {\n    if (this.applicationService.runDeactivate) {\n      this.applicationService.reset();\n      // not clean on combined page\n      this.applicationService.clearSessionStorage();\n    }\n  }\n\n  activate() {}\n\n  @action.bound\n  linkToDriver() {\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  translate = translate('driver-licence-application', this);\n}\n","import BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport ApiService from 'src/services/ApiService';\nimport { Inject, Service } from 'typedi';\nimport { IPhotoSignatureSharedService } from '../../shared/services/PhotoSignatureService';\nimport { Domain_Contracts_Enums_Crr_CrrFeeType } from 'src/data/crr/api';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport { Crr_WebApi_Responses_V3_RequestApplicationDocumentResponse } from 'src/data/crr/apiV3/models/Crr_WebApi_Responses_V3_RequestApplicationDocumentResponse';\nimport { extractErrorId } from 'src/utils/ErrorUtils';\nimport DriverService from 'src/services/driver/DriverService';\nimport ErrorService from 'src/services/ErrorService';\nimport { ApplicationDocumentsError } from '../../components/DriverLicenceError/DriverLicenceError';\n\n@Service()\nexport default class SharedDataService implements IPhotoSignatureSharedService {\n  @observable applicationDocuments: Crr_WebApi_Responses_V3_RequestApplicationDocumentResponse | undefined =\n    undefined;\n  @observable professionalCompetenceFee: number | null = null;\n  @observable applicationDocumentsErrors: ApplicationDocumentsError[] | undefined = undefined;\n  @observable combinedAllowed = true;\n\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get photo() {\n    return {\n      data: this.applicationDocuments?.photo?.data,\n      dataFormat: this.applicationDocuments?.photo?.dataFormat,\n    };\n  }\n\n  @computed\n  get signature() {\n    return {\n      data: this.applicationDocuments?.signature?.data,\n      dataFormat: this.applicationDocuments?.signature?.dataFormat,\n    };\n  }\n\n  @computed\n  get requestId() {\n    return this.applicationDocuments?.id;\n  }\n\n  @computed\n  get isTachographReasonDataBusy() {\n    return this.driverService.driverTachographDataBusyWatcher.isBusy;\n  }\n\n  @computed\n  get hasOnlineResponses() {\n    return (this.applicationDocuments?.onlineResponses?.length ?? 0) > 0;\n  }\n\n  get noOnlineResponsesErr(): ApplicationDocumentsError {\n    return {\n      view: 'short',\n    };\n  }\n\n  constructor(\n    @Inject() private apiService: ApiService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private driverService: DriverService,\n    @Inject() private errorService: ErrorService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(combined?: boolean) {\n    await this.getApplicationData();\n    if (combined) return false;\n    await this.getTachographApplicationReasons();\n  }\n\n  @action.bound\n  reset() {\n    this.applicationDocuments = undefined;\n    this.professionalCompetenceFee = null;\n  }\n\n  @Watch<SharedDataService>((s) => s.busyWatcher)\n  private async getApplicationData() {\n    try {\n      const [applicationDocuments, professionalCompetenceFee] = await Promise.all([\n        this.driverService.getApplicationDocuments(true, true),\n        this.apiService.crrApi.fees.getPdApiCrrV1DriverFees(\n          Domain_Contracts_Enums_Crr_CrrFeeType.PROFESSIONAL_COMPETENCE\n        ),\n      ]);\n\n      if (\n        !this.driverService.applicationDocuments?.onlineResponses ||\n        this.driverService.applicationDocuments?.onlineResponses.length === 0\n      ) {\n        this.setDefaultApplicationError();\n      } else if (this.driverService.applicationDocuments?.id) {\n        runInAction(() => {\n          this.applicationDocuments = this.driverService.applicationDocuments;\n          this.professionalCompetenceFee = professionalCompetenceFee.amount;\n          if (\n            !this.driverService.applicationDocuments?.photo ||\n            !this.driverService.applicationDocuments?.signature\n          ) {\n            this.setDefaultApplicationError();\n          }\n        });\n      } else {\n        this.setDefaultApplicationError();\n      }\n    } catch (e: any) {\n      if (Array.isArray(e?.body?.errors)) {\n        runInAction(() => {\n          this.applicationDocumentsErrors = e.body.errors.map((err: any) => ({\n            errorId: extractErrorId(err) ?? '',\n            type: err?.originalData?.OriginalErrorType,\n            description: err?.originalData?.OriginalDescription,\n            traceId: e?.body?.traceId,\n            view: 'detailed',\n          }));\n        });\n      } else if (\n        [\n          'CRR_APP_DOC_MISSING_PHOTO',\n          'CRR_APP_DOC_MISSING_SIGNATURE',\n          'CRR_APP_DOC_LOADING_PHOTO',\n          'CRR_APP_DOC_LOADING_SIGNATURE',\n          'CRR_IMAGE_NOT_LOADED',\n          'CRR_MISSING_DRIVING_LICENCE',\n          'CRR_PENDING_REQUEST',\n          'CRR_MISSING_DRIVING_LICENCE_PERMISSION',\n          'CRR_APP_DOC_LOADING_SIGNATURE',\n          'CRR_DRIVING_LICENCE_CONFISCATED',\n          'CRR_PERSON_NOT_RESIDE_CZ',\n          'CRR_PERSON_DIED',\n          'CRR_DIGI_ACT_NOT_FOUND',\n          'CRR_LICENSE_SHREDDED',\n        ].includes(e?.body?.type)\n      ) {\n        this.errorService.logCatchError(\n          e,\n          'driver - driverLicenceApplication - SharedDataService',\n          'getApplicationData - apiService.crrApiV3.driver.getPdApiCrrV3DriverApplicationDocuments, apiService.crrApi.fees.getPdApiCrrV1DriverFees, type CRR_APP_DOC_MISSING_PHOTO or CRR_APP_DOC_MISSING_SIGNATURE or CRR_APP_DOC_LOADING_PHOTO or CRR_APP_DOC_LOADING_SIGNATURE or CRR_IMAGE_NOT_LOADED'\n        );\n        runInAction(() => {\n          this.applicationDocumentsErrors = [\n            {\n              errorId: extractErrorId(e) ?? '',\n              type: e?.body?.OriginalErrorType,\n              description: e?.body?.OriginalDescription,\n              traceId: e?.body?.traceId,\n              view: 'detailed',\n            },\n          ];\n        });\n      } else {\n        this.errorService.logCatchError(\n          e,\n          'driver - driverLicenceApplication - SharedDataService',\n          'getApplicationData - apiService.crrApiV3.driver.getPdApiCrrV3DriverApplicationDocuments, apiService.crrApi.fees.getPdApiCrrV1DriverFees, other error'\n        );\n        runInAction(() => {\n          this.applicationDocumentsErrors = [\n            {\n              errorId: extractErrorId(e) ?? '',\n              type: e?.body?.OriginalErrorType,\n              description: e?.body?.OriginalDescription,\n              traceId: e?.body?.traceId,\n              view: 'default',\n            },\n          ];\n        });\n      }\n    }\n  }\n\n  @action.bound\n  private setDefaultApplicationError() {\n    this.navigationGuardService.stopGuarding();\n    this.applicationDocumentsErrors = [\n      {\n        view: 'default',\n      },\n    ];\n  }\n\n  @action.bound\n  async getTachographApplicationReasons() {\n    try {\n      await this.driverService.getDriverTachographData();\n      const reasonsLength =\n        this.driverService.driverTachographData?.requestApplicationDocuments.value?.reasons?.length ?? 0;\n      if (reasonsLength === 0) {\n        runInAction(() => (this.combinedAllowed = false));\n      }\n    } catch (e: any) {\n      runInAction(() => (this.combinedAllowed = false));\n    }\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport PaymentGatewayOutageViewModel from '../PaymentGatewayOutageViewModel';\n\ntype OutageCompleteScreenProps = {\n  vm: PaymentGatewayOutageViewModel;\n};\n\nconst OutageCompleteScreen = observer(({ vm }: OutageCompleteScreenProps) => {\n  return (\n    <CompleteScreen\n      withGradientCircle={true}\n      completeDriver\n      onClick={() => vm.repeatOrProcessPayment()}\n      loading={vm.notifyBusyWatcher.isBusy || vm.paymentBusyWatcher.isBusy}\n      disableButtons={vm.notifyBusyWatcher.isBusy}\n      title={vm.translate('error.gatewayOutage.title')}\n      subtitle={\n        <>\n          <p>{vm.translate('error.gatewayOutage.subtitle')}</p>\n        </>\n      }\n      buttonText={vm.translate('button.retryPayment')}\n      variant=\"error\"\n      externalIcon=\"gatewayError\"\n    />\n  );\n});\n\nexport default OutageCompleteScreen;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport PaymentGatewayOutageViewModel from './PaymentGatewayOutageViewModel';\nimport { observer } from 'mobx-react-lite';\nimport OutageCompleteScreen from './components/OutageCompleteScreen';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport CompleteFaq from '../completeScreenDriverLicence/components/CompleteFaq';\nimport { getFaqItems } from '../completeScreenShared/CompleteScreenSharedView';\n\nconst PaymentGatewayOutageView: View<PaymentGatewayOutageViewModel> = observer(({ vm }) => {\n  const { translate, requestType } = vm;\n\n  return (\n    <Container>\n      <ScreenContext value={vm}>\n        <OutageCompleteScreen vm={vm} />\n\n        <CompleteFaq\n          translate={translate}\n          onNavigateToSupport={vm.contactSupport}\n          items={getFaqItems(translate, requestType)}\n        />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default PaymentGatewayOutageView;\n","import BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport PaymentGatewayOutageView from './PaymentGatewayOutageView';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport type { RequestType } from '../completeScreenShared/CompleteScreenSharedViewModel';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport meta from 'src/meta';\nimport ApiService from 'src/services/ApiService';\nimport AuthService from 'src/services/AuthService';\nimport { ToastService } from '@cendis/cedr-components';\nimport SupportViewModel from '../../../page/SupportViewModel';\nimport DriverService from 'src/services/driver/DriverService';\nimport { Domain_Contracts_Enums_Crr_RequestPaymentStatus } from 'src/data/crr/api';\nimport ErrorService from 'src/services/ErrorService';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\n@AddDefaultView(PaymentGatewayOutageView)\n@AddChildrenView()\n@Service()\nexport default class PaymentGatewayOutageViewModel extends BaseScreen {\n  @observable paymentBusyWatcher = new BusyWatcher();\n  @observable requestType: RequestType = 'none';\n  @observable requestId: string = '';\n  @observable refId: string = '';\n  @observable meta = meta('detail', this);\n\n  notifyBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'outage-/requestType/-request-id-/requestId/-/refId/';\n  }\n\n  get title() {\n    return this.requestTitle;\n  }\n\n  @computed\n  get requestTitle(): string {\n    switch (this.requestType) {\n      case 'both':\n        return this.translate('titleShared.combinedLicences');\n      case 'crr':\n        return this.translate('titleShared.driverLicence');\n      case 'isdt':\n        return this.translate('titleShared.isdt');\n      default:\n        return this.translate('titleShared.titleShared');\n    }\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() private authService: AuthService,\n    @Inject() private toastService: ToastService,\n    @Inject() private driverService: DriverService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<PaymentGatewayOutageViewModel>((s) => s.notifyBusyWatcher)\n  async notifyNavigation() {\n    const promisesToLoad: Promise<any>[] = [];\n\n    if (this.requestType === 'crr' || this.requestType === 'both') {\n      promisesToLoad.push(this.driverService.getDriverRequests(false, true));\n    }\n\n    if (this.requestType === 'isdt' || this.requestType === 'both') {\n      promisesToLoad.push(this.driverService.getDriverTachographData(true));\n    }\n\n    await Promise.all(promisesToLoad);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { requestType, requestId, refId } = params;\n\n    this.requestId = requestId;\n    this.requestType = requestType as RequestType;\n    this.refId = refId;\n\n    this.meta.title = this.requestTitle;\n  }\n\n  @Watch<PaymentGatewayOutageViewModel>((s) => s.paymentBusyWatcher)\n  @action.bound\n  async repeatOrProcessPayment() {\n    const crrRequest = this.driverService.driverRequests?.find(\n      (req) =>\n        ('requestDatabaseId' in req && req.requestDatabaseId === this.requestId) || req.id === this.requestId\n    );\n    const isdtRequest = this.driverService.driverTachographData?.requests.value?.find(\n      (req) => req.requestDatabaseId === this.requestId || req.requestId === this.requestId\n    );\n\n    let paymentUrl = undefined;\n\n    if (\n      (this.requestType === 'crr' || this.requestType === 'both') &&\n      crrRequest &&\n      crrRequest.payment?.paymentUrl &&\n      crrRequest.payment.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING\n    ) {\n      paymentUrl = crrRequest.payment.paymentUrl;\n    } else if (\n      (this.requestType === 'isdt' || this.requestType === 'both') &&\n      isdtRequest &&\n      isdtRequest.payment?.paymentUrl &&\n      isdtRequest.payment.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING\n    ) {\n      paymentUrl = isdtRequest.payment.paymentUrl;\n    }\n\n    if (paymentUrl) {\n      await this.goToPayment(paymentUrl);\n    } else {\n      await this.processPayment();\n    }\n  }\n\n  @action.bound\n  async goToPayment(paymentUrl: string) {\n    await this.authService.refreshCurrentToken();\n    window.location.href = paymentUrl;\n  }\n\n  @action.bound\n  async processPayment() {\n    try {\n      if (this.refId) {\n        const response = await this.apiService.crrApi.requests.postPdApiCrrV1RequestsPayments(this.refId);\n\n        if (response.gatewayUrl) {\n          const paymentStartTime = new Date().toISOString();\n          this.localStorageService.set(`payment_start_time_${this.refId}`, paymentStartTime);\n          await this.authService.refreshCurrentToken();\n          window.location.href = response.gatewayUrl;\n        }\n      }\n    } catch (error: any) {\n      this.errorService.logCatchError(\n        error,\n        'driver - paymentGatewayOutage - PaymentGatewayOutageViewModel',\n        'processPayment - apiService.crrApi.requests.postPdApiCrrV1RequestsPayments'\n      );\n      this.toastService.addToast('driver-application-fail', this.translate('payment-fail'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    }\n  }\n\n  @action.bound\n  contactSupport() {\n    this.navigator(SupportViewModel).go();\n  }\n\n  translate = translate('driverng.completeShared', this);\n  translateFaq = translate('faq', this);\n}\n","import React, { ReactNode } from 'react';\n\nexport type RowWrapProps = {\n  children?: ReactNode;\n  className?: string;\n};\n\nconst RequestRowWrap: React.FC<RowWrapProps> = ({children,className  }) => {\n  return (\n    <div className={`component-row-wrap ${className || ''}`}>\n      <div className=\"row\">\n        <div className=\"col-12 col-lg-10 col-xl-8\">\n          {children}\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default RequestRowWrap;\n","import { ReactNode } from 'react';\nimport './RequestDataRow.scss';\nimport { GovIcon, LegacyTooltip } from '@cendis/cedr-components';\n\nexport type RequestDataProps = {\n  title: string;\n  text?: string | null;\n  children?: ReactNode;\n  tooltip?: boolean;\n  tooltipText?: string;\n};\n\nconst RequestDataRow: React.FC<RequestDataProps> = ({ title, text, children, tooltip, tooltipText }) => {\n  return (\n    <div className=\"component-request-data-row\">\n      <h3>\n        {title}\n\n        {tooltip && tooltipText && (\n          <LegacyTooltip\n            position=\"right\"\n            size=\"s\"\n            className=\"ms-3\"\n            tooltipContent={<span key=\"user-residency-tooltip\">{tooltipText}</span>}\n            testId=\"request-data-row-tooltip\"\n          >\n            <GovIcon name=\"components/info-circle-fill\" size=\"s\" />\n          </LegacyTooltip>\n        )}\n      </h3>\n      <p>{text}</p>\n      {children}\n    </div>\n  );\n};\n\nexport default RequestDataRow;\n","import { observer } from 'mobx-react-lite';\nimport { useEffect, useRef, useState } from 'react';\nimport './Dropdown.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Button, ButtonProps } from '@cendis/cedr-components';\n\ntype DropdownProps = {\n  buttonProps: ButtonProps;\n  items?: ButtonProps[];\n  className?: string;\n  onToggle?: (open: boolean) => void;\n};\n\nconst Dropdown = observer(({ buttonProps, className, onToggle, items }: DropdownProps) => {\n  const [open, setOpen] = useState(false);\n  const [closing, setClosing] = useState(false);\n  const dropdownRef = useRef<HTMLDivElement>(null);\n  const openRef = useRef(open);\n\n  useEffect(() => {\n    openRef.current = open;\n  }, [open]);\n\n  const closeDropdown = () => {\n    if (!openRef.current) return;\n\n    setOpen(false);\n    setClosing(true);\n    onToggle?.(false);\n\n    setTimeout(() => {\n      setClosing(false);\n    }, 300);\n  };\n\n  const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n    event.stopPropagation();\n\n    const newState = !openRef.current;\n    buttonProps.onClick?.(event);\n    setOpen(newState);\n    onToggle?.(newState);\n\n    if (!newState) {\n      setClosing(true);\n      setTimeout(() => setClosing(false), 300);\n    }\n  };\n\n  const handleClickOutside = (event: MouseEvent) => {\n    if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n      closeDropdown();\n    }\n  };\n\n  useEffect(() => {\n    document.addEventListener('click', handleClickOutside);\n    return () => document.removeEventListener('click', handleClickOutside);\n  }, []);\n\n  const wrapperClass = getClassName('dropdown', open && 'open', closing && 'collapsing', className);\n\n  return (\n    <div className={wrapperClass} ref={dropdownRef}>\n      <Button\n        {...buttonProps}\n        onClick={handleClick}\n        iconEnd={open ? 'components/chevron-up' : 'components/chevron-down'}\n        size=\"l\"\n        type=\"outlined\"\n        testId=\"dropdown\"\n      />\n      <div className=\"dropdown-position-outer\">\n        <div className=\"dropdown-position-inner\">\n          <div className=\"dropdown-items-wrapper\">\n            <div className=\"dropdown-items\">\n              {items?.map((item, idx) => {\n                const handleItemClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n                  item.onClick?.(event);\n                  setTimeout(() => {\n                    closeDropdown();\n                  }, 10);\n                };\n\n                return <Button key={idx} {...item} onClick={handleItemClick} size=\"m\" type=\"link\" testId=\"dropdown-link\" />;\n              })}\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n});\n\nexport default Dropdown;\n","import { observer } from 'mobx-react-lite';\nimport { GovIcon } from '@cendis/cedr-components';\nimport DateUtils from 'src/utils/DateUtils';\nimport './ComplaintInfoRow.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype ComplaintInfoRowProps = {\n  createdAt: string | undefined;\n  status: string | null;\n  translate: Translator;\n};\n\nconst getStatusClass = (status: string | null): string => {\n  if (!status) return '';\n\n  const normalized = status.toLowerCase();\n\n  if (normalized.includes('podaná')) return 'warning';\n  if (normalized.includes('schválená')) return 'success';\n  if (normalized.includes('zamítnutá')) return 'error';\n\n  return 'warning';\n};\n\nconst ComplaintInfoRow = observer(({ createdAt, status, translate }: ComplaintInfoRowProps) => {\n  const statusClass = getStatusClass(status);\n  return (\n    <div className={`complaint-info-row ${statusClass}`}>\n      <p>\n        <strong className=\"bold\">\n          {translate('complaint-state')} {DateUtils.dateFormatCz(createdAt)}:\n        </strong>\n        <GovIcon component=\"span\" name=\"custom/clock\" size=\"s\" className={`ico-clock ${statusClass}`} /> {status}\n      </p>\n    </div>\n  );\n});\n\nexport default ComplaintInfoRow;\n","import { useEffect } from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport { Button, ButtonProps, Container, Typography } from '@cendis/cedr-components';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport RequestRowWrap from '../../components/driverRequests/RequestRowWrap';\nimport PanelWrapper from '../../components/PanelWrapper';\nimport Dropdown from '../../shared/components/Dropdown';\nimport ComplaintInfoRow from './ComplaintInfoRow';\nimport RequestDataRow from '../../components/driverRequests/RequestDataRow';\nimport DateUtils from 'src/utils/DateUtils';\nimport RequestDetailModel from '../RequestDetailModel';\nimport PreliminaryActivationModal from '../../driverLicence/driverLicence/PreliminaryActivationModal';\nimport PaymentExpiredModal from '../../driverLicence/completeScreenShared/components/PaymentExpiredModal';\nimport { Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_EnrollmentStatus } from 'src/data/crr/api';\n\nconst FtaItem: View<RequestDetailModel> = observer(({ vm }) => {\n  const { translate, translateActivation, translateExpiredModal, closePaymentExpiredModal } = vm;\n\n  function capitalizeFirst(str: string | null) {\n    if (!str) return '';\n    return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n  }\n  useEffect(() => {\n    window.scrollTo(0, 0);\n  }, []);\n\n  return (\n    <Container className=\"css-reset request-detail-view\">\n      <ConditionalView required={[(x) => x.CRR_DRIVING_CARD_REQUEST_LIST]}>\n        <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"mt-0 mb-0\">\n          {translate('title')}\n        </Typography>\n\n        <RequestRowWrap className=\"application-detail-row-wrap\">\n          <PanelWrapper\n            title={vm.detailTitle}\n            button={\n              vm.showDropdown && (\n                <Dropdown\n                  buttonProps={{ children: translate('next-steps') }}\n                  items={[\n                    ...(vm.preliminaryActivationModalModel.canActivate\n                      ? [\n                          {\n                            iconStart: 'components/check-lg',\n                            onClick: vm.handleActivateClick,\n                            loading: false,\n                            testId: 'request-detail-activate',\n                            children: translate('activate-card'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserDownloadDocument\n                      ? [\n                          {\n                            iconStart: 'components/download',\n                            onClick: vm.downloadDocumentAction,\n                            loading: vm.downloadDocumentBusyWatcher.isBusy,\n                            testId: 'request-detail-download-document',\n                            children: translate('download-button'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserDownloadIsdtDocument\n                      ? [\n                          {\n                            iconStart: 'components/download',\n                            onClick: vm.downloadIsdtDocumentAction,\n                            loading: vm.downloadDocumentBusyWatcher.isBusy,\n                            testId: 'request-detail-download-isdt-document',\n                            children: translate('download-button'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserDownloadProofOfPayment\n                      ? [\n                          {\n                            iconStart: 'components/download',\n                            onClick: vm.downloadProofOfPayment,\n                            loading: vm.downloadProofOfPaymentBusyWatcher.isBusy,\n                            testId: 'request-detail-download-proof-of-payment',\n                            children: translate('receipt-fee'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserComplain\n                      ? [\n                          {\n                            iconStart: 'components/exclamation-lg',\n                            onClick: vm.goToComplaint,\n                            loading: false,\n                            children: translate('complaint'),\n                            testId: 'request-detail-complaint',\n                            color: 'error',\n                          } as ButtonProps,\n                        ]\n                      : []),\n                  ]}\n                />\n              )\n            }\n            loading={vm.busyWatcher.isBusy}\n          >\n            {vm.requestComplaint && (\n              <ComplaintInfoRow\n                translate={translate}\n                createdAt={vm.requestComplaint?.createdAt}\n                status={vm.requestComplaint?.status.description}\n              />\n            )}\n            <RequestDataRow\n              title={translate('date-request')}\n              text={DateUtils.dateFormatCz(vm.ftaItem?.requestDate)}\n            />\n\n            <RequestDataRow\n              title={translate('state')}\n              text={vm.FtaStateStatusText(vm.ftaItem?.$type, vm.ftaItem?.status)}\n            />\n            {vm.ftaItem?.payment?.paymentStatus && (\n              <RequestDataRow\n                title={translate('payment-status')}\n                text={vm.translatePaymentStatus(vm.ftaItem?.payment?.paymentStatus?.toLowerCase() ?? '')}\n              >\n                {vm.canShowCreatePaymentButton && (\n                  <Button\n                    color=\"warning\"\n                    text={translate('create-payment')}\n                    onClick={() => {\n                      vm.checkPaymentExpired();\n                    }}\n                    disabled={vm.createPaymentBusyWatcher.isBusy}\n                    loading={vm.createPaymentBusyWatcher.isBusy}\n                    className=\"mt-2\"\n                    testId=\"request-detail-create-payment\"\n                  />\n                )}\n                {vm.canRepeatPayment && (\n                  <Button\n                    color=\"warning\"\n                    iconStart=\"custom/arrow-repeat\"\n                    className=\"mt-2\"\n                    disabled={vm.createPaymentBusyWatcher.isBusy}\n                    loading={vm.createPaymentBusyWatcher.isBusy}\n                    text={\n                      translate('repeat-payment') +\n                      ' ' +\n                      vm.ftaItem?.payment?.paymentPrice?.toLocaleString('cs') +\n                      ',- Kč'\n                    }\n                    onClick={() => {\n                      vm.checkPaymentExpired();\n                    }}\n                    testId=\"request-detail-repeat-payment\"\n                  />\n                )}\n              </RequestDataRow>\n            )}\n\n            {!!vm.paymentPrice && (\n              <RequestDataRow\n                title={translate('payment-price')}\n                tooltip={true}\n                tooltipText={translate('payment-price-info')}\n                text={vm.paymentPrice.toLocaleString('cs') + ' Kč'}\n              />\n            )}\n\n            <RequestDataRow title={translate('mentors-to-register')}>\n              <ul className=\"space-y-1\">\n                {vm.ftaItem?.mentors?.map((mentor, index) => (\n                  <li key={index} className=\"d-flex flex-row items-center gap-1 text-sm text-gray-700\">\n                    <span className=\"mr-2 h-1.5 w-1.5 rounded-full bg-gray-400\"></span>\n                    <p>\n                      {capitalizeFirst(mentor.firstName)} {capitalizeFirst(mentor.surname)}, nar.{' '}\n                      {DateUtils.dateFormatCz(mentor.dateOfBirth)} - stav:{' '}\n                    </p>\n                    <Typography\n                      type=\"body\"\n                      bold\n                      color={{\n                        color:\n                          mentor.state ===\n                          Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_EnrollmentStatus.WRITTEN\n                            ? 'success'\n                            : 'error',\n                        saturation: 600,\n                      }}\n                    >\n                      {mentor.state ===\n                      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_EnrollmentStatus.WRITTEN\n                        ? translate('written')\n                        : translate('not-written')}\n                    </Typography>\n                  </li>\n                ))}\n              </ul>\n            </RequestDataRow>\n\n            <RequestDataRow title={translate('id')} text={vm.ftaItem?.id} />\n\n            {vm.ftaItem?.payment?.transactionId && (\n              <RequestDataRow\n                title={translate('gateway-payment-id')}\n                text={vm.ftaItem?.payment?.transactionId}\n              />\n            )}\n            {vm.ftaItem?.payment?.refId && (\n              <RequestDataRow title={translate('transaction-id')} text={vm.ftaItem?.payment?.refId} />\n            )}\n            {vm.isdtItem?.payment?.transactionId && (\n              <RequestDataRow\n                title={translate('gateway-payment-id')}\n                text={vm.isdtItem?.payment?.transactionId}\n              />\n            )}\n            {vm.isdtItem?.payment?.refId && (\n              <RequestDataRow title={translate('transaction-id')} text={vm.isdtItem?.payment?.refId} />\n            )}\n          </PanelWrapper>\n          <PreliminaryActivationModal\n            model={vm.preliminaryActivationModalModel}\n            translate={translateActivation}\n          />\n\n          <PaymentExpiredModal\n            translate={translateExpiredModal}\n            onButtonClick={vm.navToDriver}\n            isOpen={vm.showPaymentExpiredModal}\n            isBusy={vm.navToDriverBusyWatcher.isBusy}\n            onClose={closePaymentExpiredModal}\n          />\n        </RequestRowWrap>\n      </ConditionalView>\n    </Container>\n  );\n});\n\nexport default FtaItem;\n","import { InfoBar } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport {\n  Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse,\n  Domain_Contracts_Enums_Crr_IsdtCardStatus,\n} from 'src/data/crr/api';\nimport DateUtils from 'src/utils/DateUtils';\nimport PanelWrapper from '../../components/PanelWrapper';\nimport RequestDataRow from '../../components/driverRequests/RequestDataRow';\n\ntype DriverCardDetailProps = {\n  item?: Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse;\n  loading: boolean;\n  translate: Translator;\n};\n\nconst DriverCardDetail = ({ item, loading, translate }: DriverCardDetailProps) => {\n  const translateDetail = (key: string) => translate(`driver-card-detail.${key}`);\n  const showInvalidationReason =\n    item?.cardStatus === Domain_Contracts_Enums_Crr_IsdtCardStatus.INVALIDATED && !!item?.invalidationReason;\n  const showShreddingReason =\n    item?.cardStatus === Domain_Contracts_Enums_Crr_IsdtCardStatus.SHREDDED && !!item?.shreddingReason;\n\n  return (\n    <PanelWrapper title={translateDetail('title')} loading={loading}>\n      {item?.cardInReclamationProcess && (\n        <InfoBar color=\"warning\" icon=\"components/exclamation-triangle-fill\" className=\"mb-4\">\n          {translateDetail('card-in-reclamation-process')}\n        </InfoBar>\n      )}\n\n      {item?.cardStatus && (\n        <RequestDataRow\n          title={translateDetail('card-status.title')}\n          text={translateDetail(`card-status.${item.cardStatus}.label`)}\n          tooltip={true}\n          tooltipText={translateDetail(`card-status.${item.cardStatus}.tooltip`)}\n        />\n      )}\n      {showInvalidationReason && (\n        <RequestDataRow\n          title={translateDetail('invalidation-reason.title')}\n          text={translateDetail(`invalidation-reason.${item.invalidationReason}.label`)}\n          tooltip={true}\n          tooltipText={translateDetail(`invalidation-reason.${item.invalidationReason}.tooltip`)}\n        />\n      )}\n      {showShreddingReason && (\n        <RequestDataRow\n          title={translateDetail('shredding-reason.title')}\n          text={translateDetail(`shredding-reason.${item.shreddingReason}.label`)}\n          tooltip={true}\n          tooltipText={translateDetail(`shredding-reason.${item.shreddingReason}.tooltip`)}\n        />\n      )}\n      {item?.changedAt && (\n        <RequestDataRow title={translateDetail('changed-at')} text={DateUtils.dateFormatCz(item.changedAt)} />\n      )}\n    </PanelWrapper>\n  );\n};\n\nexport default DriverCardDetail;\n","import { useEffect } from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport RequestDetailModel, { RequestDriverTypes } from './RequestDetailModel';\nimport { Button, ButtonProps, Container, GovLink, Tag, Typography } from '@cendis/cedr-components';\nimport PanelWrapper from '../components/PanelWrapper';\nimport RequestRowWrap from '../components/driverRequests/RequestRowWrap';\nimport RequestDataRow from '../components/driverRequests/RequestDataRow';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport DateUtils from '../../../utils/DateUtils';\nimport './RequestDetailView.scss';\nimport Dropdown from '../shared/components/Dropdown';\nimport PreliminaryActivationModal from '../driverLicence/driverLicence/PreliminaryActivationModal';\nimport ComplaintInfoRow from './components/ComplaintInfoRow';\nimport PaymentExpiredModal from '../driverLicence/completeScreenShared/components/PaymentExpiredModal';\nimport FtaItem from './components/FtaItem';\nimport { Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_EnrollmentStatus } from 'src/data/crr/api';\nimport DriverCardDetail from './components/DriverCardDetail';\n\nconst RequestDetailView: View<RequestDetailModel> = observer(({ vm }) => {\n  const { translate, translateActivation, translateExpiredModal, closePaymentExpiredModal } = vm;\n\n  useEffect(() => {\n    window.scrollTo(0, 0);\n  }, []);\n\n  if (vm.ftaItem) {\n    return <FtaItem vm={vm} />;\n  }\n\n  return (\n    <Container className=\"css-reset request-detail-view\">\n      <ConditionalView required={[(x) => x.CRR_DRIVING_CARD_REQUEST_LIST]}>\n        <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"mt-0 mb-0\">\n          {translate('title')}\n        </Typography>\n\n        <RequestRowWrap className=\"application-detail-row-wrap\">\n          <PanelWrapper\n            title={vm.detailTitle}\n            button={\n              vm.showDropdown && (\n                <Dropdown\n                  buttonProps={{ children: translate('next-steps') }}\n                  className=\"dropdown-btn\"\n                  items={[\n                    ...(vm.preliminaryActivationModalModel.canActivate\n                      ? [\n                          {\n                            iconStart: 'components/check-lg',\n                            onClick: vm.handleActivateClick,\n                            loading: false,\n                            testId: 'request-detail-activate',\n                            children: translate('activate-card'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserDownloadDocument\n                      ? [\n                          {\n                            iconStart: 'components/download',\n                            onClick: vm.downloadDocumentAction,\n                            loading: vm.downloadDocumentBusyWatcher.isBusy,\n                            testId: 'request-detail-download-document',\n                            children: translate('download-button'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserDownloadIsdtDocument\n                      ? [\n                          {\n                            iconStart: 'components/download',\n                            onClick: vm.downloadIsdtDocumentAction,\n                            loading: vm.downloadDocumentBusyWatcher.isBusy,\n                            testId: 'request-detail-download-isdt-document',\n                            children: translate('download-button'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canMentorsDocumentDownload\n                      ? [\n                          {\n                            iconStart: 'components/download',\n                            onClick: vm.downloadMentorsDocumentAction,\n                            loading: vm.downloadDocumentBusyWatcher.isBusy,\n                            testId: 'request-detail-download-mentors-document',\n                            children: translate('download-button-mentors'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserDownloadProofOfPayment\n                      ? [\n                          {\n                            iconStart: 'components/download',\n                            onClick: vm.downloadProofOfPayment,\n                            loading: vm.downloadProofOfPaymentBusyWatcher.isBusy,\n                            testId: 'request-detail-download-proof-of-payment',\n                            children: translate('receipt-fee'),\n                          } as ButtonProps,\n                        ]\n                      : []),\n                    ...(vm.canUserComplain\n                      ? [\n                          {\n                            iconStart: 'components/exclamation-lg',\n                            onClick: vm.goToComplaint,\n                            loading: false,\n                            children: translate('complaint'),\n                            testId: 'request-detail-complaint',\n                            color: 'error',\n                          } as ButtonProps,\n                        ]\n                      : []),\n                  ]}\n                />\n              )\n            }\n            loading={vm.busyWatcher.isBusy}\n          >\n            {vm.crrItem?.payment?.paymentStatus || vm.crrItem?.isOverLapped || vm.isdtItem?.isOverlapped ? (\n              <div className=\"tags\">\n                {(vm.crrItem?.isOverLapped ?? vm.isdtItem?.isOverlapped) && (\n                  <Tag text={translate('combine')} size=\"s\" testId=\"tag-combine\" />\n                )}\n\n                {vm.showPendingTag && (\n                  <Tag color=\"warning\" size=\"s\" testId=\"tag-payment-pending\">\n                    {translate('payment-pending')}\n                  </Tag>\n                )}\n\n                {vm.showPayedAndWaitingToBeSendTag && (\n                  <Tag color=\"warning\" size=\"s\" type=\"bold\" testId=\"tag-payed-and-processing\">\n                    {translate('payed-and-processing')}\n                  </Tag>\n                )}\n              </div>\n            ) : (\n              <></>\n            )}\n            {vm.requestComplaint && (\n              <ComplaintInfoRow\n                translate={translate}\n                createdAt={vm.requestComplaint?.createdAt}\n                status={vm.requestComplaint?.status.description}\n              />\n            )}\n            <RequestDataRow\n              title={translate('date-request')}\n              text={DateUtils.dateFormatCz(vm.crrItem?.requestDate ?? vm.isdtItem?.requestDate)}\n            />\n            <RequestDataRow\n              title={translate('state')}\n              text={vm.crrItem?.status?.name ?? vm.isdtItem?.status?.name}\n            />\n            {(vm.crrItem?.payment?.paymentStatus || vm.isdtItem?.payment?.paymentStatus) && (\n              <RequestDataRow\n                title={translate('payment-status')}\n                text={vm.translatePaymentStatus(\n                  vm.crrItem?.payment?.paymentStatus?.toLowerCase() ??\n                    vm.isdtItem?.payment?.paymentStatus.toLowerCase() ??\n                    ''\n                )}\n              >\n                {vm.canShowCreatePaymentButton && (\n                  <Button\n                    color=\"warning\"\n                    text={translate('create-payment')}\n                    onClick={() => {\n                      vm.checkPaymentExpired();\n                    }}\n                    disabled={vm.createPaymentBusyWatcher.isBusy}\n                    loading={vm.createPaymentBusyWatcher.isBusy}\n                    className=\"mt-2\"\n                    testId=\"request-detail-create-payment\"\n                  />\n                )}\n                {vm.canRepeatPayment && (\n                  <Button\n                    color=\"warning\"\n                    iconStart=\"custom/arrow-repeat\"\n                    className=\"mt-2\"\n                    disabled={vm.createPaymentBusyWatcher.isBusy}\n                    loading={vm.createPaymentBusyWatcher.isBusy}\n                    text={\n                      translate('repeat-payment') +\n                      ' ' +\n                      (vm.crrItem?.payment?.paymentPrice?.toLocaleString('cs') ??\n                        vm.isdtItem?.payment?.paymentPrice?.toLocaleString('cs')) +\n                      ',- Kč'\n                    }\n                    onClick={() => {\n                      vm.checkPaymentExpired();\n                    }}\n                    testId=\"request-detail-repeat-payment\"\n                  />\n                )}\n              </RequestDataRow>\n            )}\n            <RequestDataRow\n              title={translate(vm.type === RequestDriverTypes.CRR ? 'pickup-place' : 'pickup-card-place')}\n              text={vm.deliveryAddress}\n            />\n            {!!vm.charge && (\n              <RequestDataRow title={translate('charge')} text={vm.charge.toLocaleString('cs') + ' Kč'} />\n            )}\n            {!!vm.paymentPrice && (\n              <RequestDataRow\n                title={translate('payment-price')}\n                tooltip={true}\n                tooltipText={translate('payment-price-info')}\n                text={vm.paymentPrice.toLocaleString('cs') + ' Kč'}\n              />\n            )}\n            <RequestDataRow\n              title={translate('processing-office')}\n              text={vm.orpAddress}\n              tooltip={true}\n              tooltipText={translate('processing-office-info')}\n            />\n            <RequestDataRow title={translate('reason')} text={vm.reasonName} />\n            {vm.type === RequestDriverTypes.CRR && (\n              <>\n                <RequestDataRow title={translate('groups')} text={vm.forGroupsText} />\n                <RequestDataRow\n                  title={translate('speed')}\n                  text={translate('speed-' + vm.crrItem?.type || '')}\n                />\n              </>\n            )}\n            {vm.crrItem?.professionalCompetenceRequired !== null &&\n              vm.crrItem?.professionalCompetenceRequired !== undefined && (\n                <RequestDataRow\n                  title={translate('professional-competence-required')}\n                  text={vm.crrItem?.professionalCompetenceRequired ? translate('yes') : translate('no')}\n                />\n              )}\n\n            {vm.crrItem?.mentors && vm.crrItem?.mentors.length > 0 && (\n              <RequestDataRow title={translate('mentors')}>\n                <ul>\n                  {vm.crrItem.mentors.map((mentor, index) => {\n                    const isWritten =\n                      mentor.state ===\n                      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_EnrollmentStatus.WRITTEN;\n                    const isPending =\n                      mentor.state ===\n                      Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_EnrollmentStatus.PENDING;\n\n                    return (\n                      <li key={mentor.id ?? index} className=\"mentor mb-1\">\n                        {mentor.firstName} {mentor.surname}, {translate('mentors-dob')}{' '}\n                        {DateUtils.dateFormatCz(mentor.dateOfBirth)} - {translate('mentors-state')}:{' '}\n                        <Typography\n                          type=\"body\"\n                          size=\"s\"\n                          className={`state ${isWritten && 'written'} ${isPending && 'pending'}`}\n                          component=\"span\"\n                        >\n                          {translate(`mentors-state-${mentor.state?.toLowerCase()}`)}\n                        </Typography>\n                      </li>\n                    );\n                  })}\n                </ul>\n              </RequestDataRow>\n            )}\n            <RequestDataRow title={translate('id')} text={vm.crrItem?.id ?? vm.isdtItem?.id} />\n            {vm.crrItem?.packageDeliveryId && (\n              <RequestDataRow title={translate('package-delivery-id')}>\n                <GovLink\n                  href={`https://www.balikovna.cz/cs/sledovat-balik/-/balik/${vm.crrItem?.packageDeliveryId}`}\n                  target=\"_blank\"\n                  external\n                  size=\"s\"\n                  testId=\"package-delivery-link\"\n                >\n                  {vm.crrItem?.packageDeliveryId}\n                </GovLink>\n              </RequestDataRow>\n            )}\n            {vm.isdtItem?.packageDeliveryId && (\n              <RequestDataRow title={translate('package-delivery-id')}>\n                <GovLink\n                  href={`https://www.balikovna.cz/cs/sledovat-balik/-/balik/${vm.isdtItem?.packageDeliveryId}`}\n                  target=\"_blank\"\n                  external\n                  testId=\"package-delivery2-link\"\n                >\n                  {vm.isdtItem?.packageDeliveryId}\n                </GovLink>\n              </RequestDataRow>\n            )}\n            {vm.crrItem?.payment?.transactionId && (\n              <RequestDataRow\n                title={translate('gateway-payment-id')}\n                text={vm.crrItem?.payment?.transactionId}\n              />\n            )}\n            {vm.crrItem?.payment?.refId && (\n              <RequestDataRow title={translate('transaction-id')} text={vm.crrItem?.payment?.refId} />\n            )}\n            {vm.isdtItem?.payment?.transactionId && (\n              <RequestDataRow\n                title={translate('gateway-payment-id')}\n                text={vm.isdtItem?.payment?.transactionId}\n              />\n            )}\n            {vm.isdtItem?.payment?.refId && (\n              <RequestDataRow title={translate('transaction-id')} text={vm.isdtItem?.payment?.refId} />\n            )}\n          </PanelWrapper>\n          <PreliminaryActivationModal\n            model={vm.preliminaryActivationModalModel}\n            translate={translateActivation}\n          />\n\n          <PaymentExpiredModal\n            translate={translateExpiredModal}\n            onButtonClick={vm.navToDriver}\n            isOpen={vm.showPaymentExpiredModal}\n            isBusy={vm.navToDriverBusyWatcher.isBusy}\n            onClose={closePaymentExpiredModal}\n          />\n\n          <ConditionalView\n            required={[() => vm.type === RequestDriverTypes.ISDT, () => !!vm.isdtItem?.cardStatus]}\n          >\n            <DriverCardDetail item={vm.isdtItem} loading={vm.busyWatcher.isBusy} translate={translate} />\n          </ConditionalView>\n        </RequestRowWrap>\n      </ConditionalView>\n    </Container>\n  );\n});\n\nexport default RequestDetailView;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport RequestDetailModel from './RequestDetailModel';\nimport { Container } from '@cendis/cedr-components';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport NoDriverData from '../components/NoDriverData';\n\nconst RequestDetailNotFoundView: View<RequestDetailModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <Container className=\"css-reset\">\n      <ConditionalView required={[(x) => x.CRR_DRIVING_CARD_REQUEST_LIST]}>\n        <h1 className=\"driverng-title gov-text--4xl mt-3\">{translate('title')}</h1>\n        <NoDriverData text={translate('no-request.text')} title={translate('no-request.title')} />\n      </ConditionalView>\n    </Container>\n  );\n});\n\nexport default RequestDetailNotFoundView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport RequestDetailView from './RequestDetailView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApiService from '../../../services/ApiService';\nimport DriverService from '../../../services/driver/DriverService';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport PdfUtils from '../../../utils/PdfUtils';\nimport { ToastService } from '@cendis/cedr-components';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport RequestDetailNotFoundView from './RequestDetailNotFoundView';\nimport ComplaintViewModel from '../driverLicence/complaint/ComplaintViewModel';\nimport PreliminaryActivationModalModel from '../driverLicence/driverLicence/PreliminaryActivationModalModel';\nimport AuthService from 'src/services/AuthService';\nimport PickUpPointService from '../shared/services/PickUpPointService';\nimport DriverNgViewModel from '../DriverNgViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport * as api from 'src/data/crr/api';\nimport {\n  Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse,\n  Domain_Contracts_Enums_Crr_ApplicationMethod,\n  Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus,\n  Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus,\n  Domain_Contracts_Enums_Crr_RequestPaymentStatus,\n  Domain_Contracts_Enums_IsdtRequestCode,\n} from 'src/data/crr/api';\n\nexport enum RequestDriverTypes {\n  CRR = 'CRR',\n  ISDT = 'ISDT',\n  FTA = 'FTA',\n}\n\n@AddConditionalView(RequestDetailNotFoundView, (vm) => vm.isEmpty)\n@AddDefaultView(RequestDetailView)\n@Service()\nexport default class RequestDetailModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  downloadDocumentBusyWatcher = new BusyWatcher();\n  downloadProofOfPaymentBusyWatcher = new BusyWatcher();\n  createPaymentBusyWatcher = new BusyWatcher();\n  navToDriverBusyWatcher = new BusyWatcher();\n  type?: RequestDriverTypes = undefined;\n  id?: string = undefined;\n\n  @observable showPaymentExpiredModal = false;\n  @observable isEmpty: boolean = false;\n\n  @observable crrItem?: api.Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse & {\n    $type?: string;\n  } = undefined;\n  @observable isdtItem?: api.Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse & {\n    $type?: string;\n  } = undefined;\n  @observable ftaItem?: api.Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse & {\n    $type?: string;\n  } = undefined;\n\n  get pathNode(): string {\n    return 'application-detail-/type/';\n  }\n\n  @computed\n  get detailTitle() {\n    switch (this.type) {\n      case RequestDriverTypes.CRR:\n        return this.translate('driver-licence');\n      case RequestDriverTypes.ISDT:\n        return this.translate('tachograph');\n      case RequestDriverTypes.FTA:\n        return this.translate('fta');\n    }\n    return;\n  }\n\n  @computed\n  get forGroupsText() {\n    return this.crrItem?.forGroups?.join(', ');\n  }\n\n  @computed\n  get showDropdown() {\n    return (\n      this.canUserComplain ||\n      this.preliminaryActivationModalModel.canActivate ||\n      this.canUserDownloadDocument ||\n      this.canUserDownloadIsdtDocument ||\n      this.canUserDownloadProofOfPayment\n    );\n  }\n\n  @computed\n  get showPendingTag() {\n    const item = this.crrItem ?? this.isdtItem ?? this.ftaItem;\n    const paymentStatus = item?.payment?.paymentStatus;\n\n    if (item?.$type === RequestDriverTypes.CRR) {\n      const sendingStatus = (item as api.Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse)\n        .status?.code;\n\n      return (\n        paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING &&\n        sendingStatus === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.PROCESSING\n      );\n    }\n\n    if (item?.$type === RequestDriverTypes.ISDT) {\n      const sendingStatus = (item as api.Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse)\n        .status?.code;\n\n      return (\n        paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING &&\n        sendingStatus === api.Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.PROCESSING\n      );\n    }\n\n    if (item?.$type === RequestDriverTypes.FTA) {\n      const sendingStatus = (item as api.Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse)\n        .status;\n\n      return (\n        paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING &&\n        sendingStatus === Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.SENT\n      );\n    }\n  }\n\n  @computed\n  get showPayedAndWaitingToBeSendTag() {\n    const item = this.crrItem ?? this.isdtItem;\n    const paymentStatus = item?.payment?.paymentStatus;\n    const sendingStatus = item?.status?.code;\n\n    return (\n      paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED &&\n      (sendingStatus === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.PROCESSING ||\n        sendingStatus === Domain_Contracts_Enums_IsdtRequestCode.PROCESSING)\n    );\n  }\n\n  @computed\n  get canUserDownloadProofOfPayment() {\n    if (this.type === RequestDriverTypes.ISDT) {\n      return this.isdtItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED;\n    } else if (this.type === RequestDriverTypes.CRR) {\n      return this.crrItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED;\n    } else if (this.type === RequestDriverTypes.FTA) {\n      return this.ftaItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED;\n    } else {\n      return false;\n    }\n  }\n\n  checkCanUserActivateCard() {\n    if (this.type === RequestDriverTypes.CRR) {\n      runInAction(\n        () => (this.preliminaryActivationModalModel.canActivate = this.crrItem?.activationAllowed ?? false)\n      );\n    } else {\n      runInAction(() => (this.preliminaryActivationModalModel.canActivate = false));\n    }\n  }\n\n  @computed\n  get canMentorsDocumentDownload() {\n    if (this.type === RequestDriverTypes.CRR) {\n      return this.crrItem?.firstTimeApplicantDigiId || false;\n    }\n    return false;\n  }\n\n  @computed\n  get canUserComplain() {\n    if (this.type === RequestDriverTypes.CRR) {\n      return this.crrItem?.complaintAllowed;\n    }\n    return false;\n  }\n\n  @computed\n  get canUserDownloadDocument() {\n    if (this.type === RequestDriverTypes.ISDT) {\n      return false;\n    } else if (this.type === RequestDriverTypes.CRR) {\n      return (\n        this.crrItem?.status?.code &&\n        this.crrItem?.applicationMethod === Domain_Contracts_Enums_Crr_ApplicationMethod.ELECTRONIC &&\n        [\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.SUBMITTED,\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.APPROVED,\n          Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.ISSUED,\n        ].includes(this.crrItem?.status?.code)\n      );\n    } else if (this.type === RequestDriverTypes.FTA) {\n      return !!this.ftaItem?.digiId;\n    } else {\n      return false;\n    }\n  }\n\n  private isdtSendedStatuses = [\n    Domain_Contracts_Enums_IsdtRequestCode.CREATED,\n    Domain_Contracts_Enums_IsdtRequestCode.CHECKED,\n    Domain_Contracts_Enums_IsdtRequestCode.REJECTED,\n    Domain_Contracts_Enums_IsdtRequestCode.SENT,\n    Domain_Contracts_Enums_IsdtRequestCode.ISSUED,\n    Domain_Contracts_Enums_IsdtRequestCode.TRANSFERRED,\n    Domain_Contracts_Enums_IsdtRequestCode.INVALIDATED,\n    Domain_Contracts_Enums_IsdtRequestCode.SHREDDED,\n    Domain_Contracts_Enums_IsdtRequestCode.ONGOING_TRANSFER,\n  ];\n\n  @computed\n  get canUserDownloadIsdtDocument() {\n    // Isdt request document download availability check. Status must not be one of PD system statuses\n    if (this.type === RequestDriverTypes.ISDT) {\n      return (\n        this.isdtItem?.administrationMethod ===\n          api.Domain_Contracts_Enums_Crr_RequestAdministrationMethod.ELECTRONIC &&\n        this.isdtSendedStatuses.includes(this.isdtItem?.status?.code)\n      );\n    }\n    return false;\n  }\n\n  @computed\n  get requestComplaint() {\n    const request = this.driverService.driverRequests?.find((item) => item.id === this.id);\n    return request && '$type' in request && request.$type === RequestDriverTypes.CRR\n      ? (\n          request as Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse & {\n            $type?: string;\n          }\n        ).complaint\n      : undefined;\n  }\n\n  @action.bound\n  FtaStateStatusText(\n    type: string | undefined,\n    status: api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus | undefined\n  ) {\n    if (type === RequestDriverTypes.FTA) {\n      switch (status) {\n        case api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.READY_TO_SEND:\n          return this.translate('fta-status.ReadyToSend');\n        case api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.FINISHED:\n          return this.translate('fta-status.Finished');\n        case api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus\n          .WAITING_FOR_PAYMENT:\n          return this.translate('fta-status.WaitingForPayment');\n        case api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.SENT:\n          return this.translate('fta-status.Sent');\n        case api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.CANCELLED:\n          return this.translate('fta-status.Cancelled');\n        case api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.FAILED_TO_SEND:\n          return this.translate('fta-status.FailedToSend');\n        case api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.SENT_WITH_ERROR:\n          return this.translate('fta-status.SentWithError');\n\n        default:\n          return '';\n      }\n    }\n    return;\n  }\n\n  @computed\n  get canRepeatPayment() {\n    if (\n      this.type === RequestDriverTypes.CRR &&\n      this.crrItem?.status?.code === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.PROCESSING\n    ) {\n      return (\n        this.crrItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.CANCELLED\n      );\n    }\n\n    if (\n      this.type === RequestDriverTypes.CRR &&\n      this.crrItem?.status?.code === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.FAILED &&\n      this.crrItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN &&\n      this.crrFee > 0\n    ) {\n      return true;\n    }\n\n    if (\n      this.type === RequestDriverTypes.ISDT &&\n      this.isdtItem?.status.code === Domain_Contracts_Enums_IsdtRequestCode.PROCESSING\n    ) {\n      return (\n        this.isdtItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.CANCELLED\n      );\n    }\n\n    if (\n      this.type === RequestDriverTypes.ISDT &&\n      this.isdtItem?.status.code === Domain_Contracts_Enums_IsdtRequestCode.FAILED &&\n      this.isdtItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN &&\n      this.isdtFee > 0\n    ) {\n      return true;\n    }\n\n    if (\n      this.type === RequestDriverTypes.FTA &&\n      this.ftaItem?.status ===\n        api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.WAITING_FOR_PAYMENT\n    ) {\n      return (\n        this.ftaItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.CANCELLED\n      );\n    }\n\n    if (\n      this.type === RequestDriverTypes.FTA &&\n      this.ftaItem?.status ===\n        api.Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.FAILED_TO_SEND &&\n      this.ftaItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN\n    ) {\n      return true;\n    }\n    return false;\n  }\n\n  @computed\n  get crrFee() {\n    return (this.crrItem?.charge ?? 0) + (this.crrItem?.deliveryFee ?? 0);\n  }\n\n  @computed\n  get isdtFee() {\n    return (this.isdtItem?.charge ?? 0) + (this.isdtItem?.deliveryFee ?? 0);\n  }\n\n  @computed\n  get canShowCreatePaymentButton() {\n    if (\n      this.type === RequestDriverTypes.CRR &&\n      this.crrItem?.status?.code === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.PROCESSING\n    ) {\n      return this.crrItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING;\n    }\n\n    if (\n      this.type === RequestDriverTypes.CRR &&\n      this.crrItem?.status?.code &&\n      this.crrItem?.status &&\n      this.crrItem?.status?.code === Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus.FAILED &&\n      this.crrItem?.payment?.paymentStatus !== Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN &&\n      this.crrFee > 0\n    ) {\n      return true;\n    }\n\n    if (\n      this.type === RequestDriverTypes.ISDT &&\n      this.isdtItem?.status.code === Domain_Contracts_Enums_IsdtRequestCode.PROCESSING\n    ) {\n      return (\n        this.isdtItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING\n      );\n    }\n\n    if (\n      this.type === RequestDriverTypes.ISDT &&\n      this.isdtItem?.status.code === Domain_Contracts_Enums_IsdtRequestCode.FAILED &&\n      this.isdtItem?.payment?.paymentStatus !== Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN &&\n      this.isdtItem?.payment?.paymentStatus !== Domain_Contracts_Enums_Crr_RequestPaymentStatus.PAYED &&\n      this.isdtFee > 0\n    ) {\n      return true;\n    }\n\n    if (\n      this.type === RequestDriverTypes.FTA &&\n      this.ftaItem?.status ===\n        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.WAITING_FOR_PAYMENT\n    ) {\n      return this.ftaItem?.payment?.paymentStatus === Domain_Contracts_Enums_Crr_RequestPaymentStatus.PENDING;\n    }\n\n    if (\n      this.type === RequestDriverTypes.FTA &&\n      this.ftaItem?.status ===\n        Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus.WAITING_FOR_PAYMENT &&\n      this.ftaItem?.payment?.paymentStatus !== Domain_Contracts_Enums_Crr_RequestPaymentStatus.UNKNOWN\n    ) {\n      return true;\n    }\n\n    return false;\n  }\n\n  @computed\n  get reasonName() {\n    const crrName = this.crrItem?.reasonResponse?.codeDescription ?? this.crrItem?.reasonResponse?.name;\n    return crrName ?? this.translate(this.isdtItem?.requestType ?? '');\n  }\n\n  @computed\n  get picUpPoints() {\n    return this.pickUpPointService.pickupPlaces;\n  }\n\n  @computed\n  get orpAddress(): string {\n    const orpCode = this.crrItem?.issuingAuthority?.code ?? this.isdtItem?.orp.code;\n    if (!orpCode || !this.picUpPoints?.length) return '';\n\n    const foundAddress = this.findAddress(orpCode);\n    const foundCity = this.findCity(orpCode);\n    const authorityType = this.crrItem?.issuingAuthority?.authorityType;\n\n    return this.type === RequestDriverTypes.CRR\n      ? `${authorityType !== foundCity ? `${authorityType} ${foundCity}` : foundCity}  (${foundAddress})`\n      : `${foundCity} (${foundAddress})`;\n  }\n\n  @computed\n  get deliveryAddress(): string {\n    let foundDeliveryAddress = '';\n\n    if (this.type === RequestDriverTypes.ISDT) {\n      foundDeliveryAddress = this.isdtItem?.delivery?.placeName ?? '';\n    } else if (this.type === RequestDriverTypes.CRR) {\n      foundDeliveryAddress = this.crrItem?.delivery?.placeName ?? '';\n    }\n\n    return foundDeliveryAddress?.trim() ? foundDeliveryAddress : this.orpAddress;\n  }\n\n  @computed\n  get charge(): number | undefined | null {\n    return this.crrItem?.charge ?? this.isdtItem?.charge;\n  }\n\n  @computed\n  get paymentPrice(): number | undefined | null {\n    return (\n      this.crrItem?.payment?.paymentPrice ??\n      this.isdtItem?.payment?.paymentPrice ??\n      this.ftaItem?.payment?.paymentPrice\n    );\n  }\n\n  async acceptNavigationParams(params: PathParams) {\n    const { type, id } = params;\n    const cType = type.toUpperCase(); // umozneni type i malymi pismeny z BE (spravne v url by to melo byt male pismena)\n    this.type = cType as RequestDriverTypes;\n    this.id = id;\n  }\n\n  async loadQueryParams(ms: number) {\n    return new Promise<void>((resolve) => {\n      setTimeout(() => {\n        const queryParams = new URLSearchParams(window.location.search);\n        const queryRequestId = queryParams.get('id');\n        const queryRequestProcessed = queryParams.get('processed');\n        const queryRequestComplaint = queryParams.get('complaint');\n\n        if (queryRequestId) {\n          this.id = queryRequestId;\n        }\n        if (queryRequestProcessed) {\n          this.toastService.addToast('request-processed', this.translate('request-processed'), {\n            color: 'warning',\n            icon: 'components/exclamation-triangle-fill',\n            animateDirection: 'forward',\n          });\n        }\n        if (queryRequestComplaint) {\n          this.toastService.addToast('complaint-success', this.translate('complaint-success'), {\n            color: 'success',\n            icon: 'components/check-lg',\n            animateDirection: 'forward',\n          });\n        }\n        resolve();\n      }, ms);\n    });\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public driverService: DriverService,\n    @Inject() public toastService: ToastService,\n    @Inject() public preliminaryActivationModalModel: PreliminaryActivationModalModel,\n    @Inject() private authService: AuthService,\n    @Inject() public pickUpPointService: PickUpPointService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<RequestDetailModel>((s) => s.busyWatcher)\n  async notifyNavigation(): Promise<void> {\n    await this.loadQueryParams(100);\n    if (this.type == RequestDriverTypes.CRR) {\n      await this.driverService.getDriverRequests(false, true);\n      this.setCrrItem();\n    } else if (this.type === RequestDriverTypes.FTA) {\n      await this.driverService.getDriverRequests(false, true);\n      this.setFtaItem();\n    } else {\n      await this.driverService.getDriverRequests(false, true);\n      this.setIsdtItem();\n    }\n    await this.pickUpPointService.getPickUpPlaces();\n    this.checkCanUserActivateCard();\n  }\n\n  @action.bound\n  setCrrItem() {\n    const item = this.driverService.crrDriverRequests?.find(\n      (item) => item.id === this.id || item.requestDatabaseId === this.id\n    );\n\n    this.setItem(item, undefined, undefined);\n  }\n\n  @action.bound\n  setFtaItem() {\n    const item = this.driverService.ftaDriverRequests?.find((item) => item.requestDatabaseId === this.id);\n    this.setItem(undefined, undefined, item);\n  }\n\n  @action.bound\n  async setIsdtItem() {\n    const item = this.driverService.isdtDriverRequests?.find(\n      (item) => item.id === this.id || item.requestDatabaseId === this.id\n    );\n    this.setItem(undefined, item, undefined);\n  }\n\n  @action.bound\n  deactivate() {\n    this.isEmpty = false;\n    this.crrItem = undefined;\n    this.isdtItem = undefined;\n    this.ftaItem = undefined;\n  }\n\n  @action.bound\n  private setItem(\n    item?: api.Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse,\n    isdtItem?: api.Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse,\n    ftaItem?: api.Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse\n  ) {\n    if (item) {\n      this.crrItem = item;\n      this.isdtItem = undefined;\n      this.ftaItem = undefined;\n    } else if (isdtItem) {\n      this.crrItem = undefined;\n      this.ftaItem = undefined;\n      this.isdtItem = isdtItem;\n    } else if (ftaItem) {\n      this.crrItem = undefined;\n      this.isdtItem = undefined;\n      this.ftaItem = ftaItem;\n    } else {\n      this.crrItem = undefined;\n      this.ftaItem = undefined;\n      this.isdtItem = undefined;\n      this.isEmpty = true;\n    }\n  }\n\n  @action.bound\n  findCity(id: number) {\n    if (!id || !this.picUpPoints) return;\n    const foundPickUpPoint = this.picUpPoints.find((item) => item.code === id);\n\n    return foundPickUpPoint?.name;\n  }\n\n  @action.bound\n  findAddress(id: number) {\n    if (!id || !this.picUpPoints) return;\n    const foundPickUpPoint = this.picUpPoints.find((item) => item.code === id);\n\n    return foundPickUpPoint?.address;\n  }\n\n  @action.bound\n  async pay() {\n    this.showPaymentExpiredModal = false;\n\n    if (this.canRepeatPayment) {\n      this.createPayment();\n      return;\n    }\n\n    this.goToPayment();\n  }\n\n  @action.bound\n  async checkPaymentExpired() {\n    const refId =\n      this.type === RequestDriverTypes.FTA\n        ? this.ftaItem?.payment?.refId\n        : (this.crrItem?.payment?.refId ?? this.isdtItem?.payment?.refId);\n\n    if (!refId) {\n      return;\n    }\n    let response;\n    if (this.type === RequestDriverTypes.FTA) {\n      response =\n        await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsPaymentStatus(\n          refId\n        );\n    } else {\n      response = await this.apiService.crrApi.requests.postPdApiCrrV1RequestsPaymentStatus(refId);\n    }\n\n    if (response && 'isPaymentExpired' in response && response.isPaymentExpired === true) {\n      this.showPaymentExpiredModal = true;\n      return;\n    }\n\n    this.pay();\n  }\n\n  @action.bound\n  async closePaymentExpiredModal() {\n    this.showPaymentExpiredModal = false;\n  }\n\n  @action.bound\n  async handleActivateClick() {\n    await this.driverService.DriverLicences();\n    const oldValidFrom = this.driverService.drivingLicences?.drivingLicence?.validFrom;\n    let newDoc = '-';\n    let requestId = '';\n    try {\n      if (oldValidFrom && this.driverService.driverRequests?.length) {\n        const candidates = this.driverService.driverRequests.filter(\n          (r) =>\n            r.validFrom &&\n            (!oldValidFrom || r.validFrom > oldValidFrom) &&\n            (r as api.Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse).activationAllowed ===\n              true\n        );\n        if (candidates.length > 0) {\n          const newest = candidates.reduce((a, b) => (String(a.validFrom) > String(b.validFrom) ? a : b));\n          newDoc =\n            (newest as api.Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse).licenceId || '-';\n          requestId = newest.id || '';\n        }\n      }\n    } catch (e) {\n      this.errorService.logCatchError(\n        e,\n        'driver - requestDetail - RequestDetailModel',\n        'handleActivateClick - driverService.DriverLicences'\n      );\n    }\n    const oldDoc = this.driverService.drivingLicences?.drivingLicence?.documentNumber || '-';\n    this.preliminaryActivationModalModel.onComplete = this.setCrrItem;\n    this.preliminaryActivationModalModel.open(requestId, newDoc, oldDoc);\n  }\n\n  @action.bound\n  goToComplaint() {\n    if (!this.crrItem?.id) return;\n    this.navigator(ComplaintViewModel, { requestId: this.crrItem?.id }).go();\n  }\n\n  @action.bound\n  @Watch<RequestDetailModel>((s) => s.downloadProofOfPaymentBusyWatcher)\n  async downloadProofOfPayment() {\n    try {\n      let err = true;\n      let transactionId = '';\n      if (this.crrItem?.payment?.transactionId) {\n        transactionId = this.crrItem.payment?.transactionId ?? '';\n      } else if (this.isdtItem?.payment?.transactionId) {\n        transactionId = this.isdtItem.payment?.transactionId ?? '';\n      } else if (this.ftaItem?.payment?.transactionId) {\n        transactionId = this.ftaItem.payment?.transactionId ?? '';\n      }\n\n      const res = await this.apiService.crrApi.requests.getPdApiCrrV1RequestsProofOfPayment(transactionId);\n      if (res) {\n        PdfUtils.downloadBlob(res, this.translate('pop-filename'));\n        err = false;\n        this.showToastOk('blopSucces', this.translate('downloadToast.paymentProofSuccessMessage'));\n      }\n\n      if (err) {\n        this.errorService.logCatchError(\n          new Error('Failed to download proof of payment'),\n          'driver - requestDetail - RequestDetailModel',\n          'downloadProofOfPayment - apiService.crrApi.requests.getPdApiCrrV1RequestsProofOfPayment'\n        );\n        this.showToastErr('blopError', this.translate('downloadToast.paymentProofErrorMessage'));\n      }\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - requestDetail - RequestDetailModel',\n        'downloadProofOfPayment - apiService.crrApi.requests.getPdApiCrrV1RequestsProofOfPayment'\n      );\n      this.showToastErr('blopError', this.translate('downloadToast.paymentProofErrorMessage'));\n    }\n  }\n\n  @action.bound\n  @Watch<RequestDetailModel>((s) => s.downloadDocumentBusyWatcher)\n  async downloadMentorsDocumentAction() {\n    try {\n      let err = true;\n      let id: string | null = null;\n\n      id = this.crrItem?.firstTimeApplicantDigiId ?? null;\n\n      if (id) {\n        const data = await this.apiService.crrApi.driver.getPdApiCrrV1DriverDigitalOperation(id);\n        if (data) {\n          PdfUtils.downloadBlob(data, this.translate('document.filename-mentors'));\n          err = false;\n          this.showToastOk('blopSucces', this.translate('downloadToast.successMessage'));\n        }\n      }\n\n      if (err) {\n        this.errorService.logCatchError(\n          new Error('Failed to download document'),\n          'driver - requestDetail - RequestDetailModel',\n          'downloadMentorsDocumentAction - apiService.crrApi.driver.getPdApiCrrV1DriverDigitalOperation'\n        );\n        this.showToastErr('blopError', this.translate('downloadToast.errorMessage'));\n      }\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - requestDetail - RequestDetailModel',\n        'downloadMentorsDocumentAction - apiService.crrApi.driver.getPdApiCrrV1DriverDigitalOperation'\n      );\n      this.showToastErr('blopError', this.translate('downloadToast.errorMessage'));\n    }\n  }\n\n  @action.bound\n  @Watch<RequestDetailModel>((s) => s.downloadDocumentBusyWatcher)\n  async downloadDocumentAction() {\n    try {\n      let err = true;\n      let id: string | null = null;\n\n      if (this.type === RequestDriverTypes.FTA) {\n        id = this.ftaItem?.digiId ?? null;\n      } else {\n        id = this.crrItem?.id ?? null;\n      }\n\n      if (id) {\n        const data = await this.apiService.crrApi.driver.getPdApiCrrV1DriverDigitalOperation(id);\n        if (data) {\n          PdfUtils.downloadBlob(data, this.translate('document.filename'));\n          err = false;\n          this.showToastOk('blopSucces', this.translate('downloadToast.successMessage'));\n        }\n      }\n\n      if (err) {\n        this.errorService.logCatchError(\n          new Error('Failed to download document'),\n          'driver - requestDetail - RequestDetailModel',\n          'downloadDocumentAction - apiService.crrApi.driver.getPdApiCrrV1DriverDigitalOperation'\n        );\n        this.showToastErr('blopError', this.translate('downloadToast.errorMessage'));\n      }\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - requestDetail - RequestDetailModel',\n        'downloadDocumentAction - apiService.crrApi.driver.getPdApiCrrV1DriverDigitalOperation'\n      );\n      this.showToastErr('blopError', this.translate('downloadToast.errorMessage'));\n    }\n  }\n\n  @action.bound\n  @Watch<RequestDetailModel>((s) => s.downloadDocumentBusyWatcher)\n  async downloadIsdtDocumentAction() {\n    try {\n      const id = this.type === RequestDriverTypes.ISDT ? (this.isdtItem?.id ?? null) : null;\n      const data = id\n        ? await this.apiService.crrApi.driver.getPdApiCrrV1DriverTachographsDigitalOperation(id)\n        : null;\n\n      if (!data) {\n        throw new Error('Failed to download document');\n      }\n\n      PdfUtils.downloadBlob(data, this.translate('document.filename'));\n      this.showToastOk('blobSuccess', this.translate('downloadToast.successMessage'));\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'driver - requestDetail - RequestDetailModel',\n        'downloadIsdtDocumentAction - apiService.crrApi.driver.getPdApiCrrV1DriverTachographsDigitalOperation'\n      );\n\n      const isDigiNotFound =\n        error instanceof api.ApiError && error.status === 404 && error.body?.type === 'ISDT_DIGI_NOT_FOUND';\n      this.showToastErr(\n        'blobError',\n        this.translate(\n          isDigiNotFound ? 'downloadToast.isdtDigiNotFoundMessage' : 'downloadToast.isdtErrorMessage'\n        )\n      );\n    }\n  }\n\n  @action.bound\n  @Watch<RequestDetailModel>((s) => s.createPaymentBusyWatcher)\n  async createPayment() {\n    const refId =\n      this.type === RequestDriverTypes.FTA\n        ? this.ftaItem?.payment?.refId\n        : (this.crrItem?.payment?.refId ?? this.isdtItem?.payment?.refId);\n\n    try {\n      if (refId) {\n        let response;\n        if (this.type === RequestDriverTypes.FTA) {\n          response =\n            await this.apiService.crrApi.firstTimeApplicants.postPdApiCrrV1FirstTimeApplicantsPayments(\n              refId ?? ''\n            );\n        } else {\n          response = await this.apiService.crrApi.requests.postPdApiCrrV1RequestsPayments(refId ?? '');\n        }\n\n        const paymentUrl = response.gatewayUrl;\n        if (paymentUrl) {\n          await this.authService.refreshCurrentToken();\n          window.location.href = paymentUrl;\n        }\n      }\n    } catch (error: any) {\n      this.errorService.logCatchError(\n        error,\n        'driver - requestDetail - RequestDetailModel',\n        'createPayment - apiService.crrApi.requests.postPdApiCrrV1RequestsPayments'\n      );\n      this.toastService.addToast('driver-application-fail', this.translate('payment-fail'), {\n        color: 'error',\n        icon: 'components/exclamation-triangle-fill',\n        animateDirection: 'forward',\n      });\n    }\n  }\n\n  @action.bound\n  async goToPayment() {\n    const paymentUrl =\n      this.type === RequestDriverTypes.FTA\n        ? this.ftaItem?.payment?.paymentUrl\n        : (this.crrItem?.payment?.paymentUrl ?? this.isdtItem?.payment?.paymentUrl);\n\n    if (paymentUrl) {\n      await this.authService.refreshCurrentToken();\n      window.location.href = paymentUrl;\n    }\n  }\n\n  @Watch<RequestDetailModel>((s) => s.navToDriverBusyWatcher)\n  @action.bound\n  async navToDriver() {\n    this.showPaymentExpiredModal = false;\n    await this.driverService.loadDataNg(true);\n    this.navigator(DriverNgViewModel).go();\n  }\n\n  private showToastOk(id: string, text: string) {\n    this.toastService.addToast(id, text, {\n      color: 'success',\n      icon: 'components/check-lg',\n      animateDirection: 'forward',\n    });\n  }\n\n  private showToastErr(id: string, text: string) {\n    this.toastService.addToast(id, text, {\n      color: 'error',\n      icon: 'components/exclamation-triangle-fill',\n      animateDirection: 'forward',\n    });\n  }\n\n  translate = translate('driverng.requests.detail', this);\n  translatePaymentStatus = translate('driverng.completeShared.payment', this);\n  translateActivation = translate('driver-licence', this);\n  translateExpiredModal = translate('driverng.completeShared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport {\n  Button,\n  Checkbox,\n  GovLink,\n  Message,\n  ScreenContext,\n  Skeleton,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport './ContactDetailWizardStep.scss';\nimport ContactDetailService from '../services/ContactDetailService';\nimport PaymentService from '../services/PaymentService';\n\nimport ApplicationService from '../../driverLicence/driverLicenceApplication/ApplicationService';\n\ntype ContactDetailWizardStepProps = {\n  contactDetailService: ContactDetailService;\n  paymentService: PaymentService;\n  applicationService?: ApplicationService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst ContactDetailWizardStep = observer(\n  ({\n    contactDetailService,\n    combined,\n    predefinedStep = 0,\n    paymentService,\n    applicationService,\n  }: ContactDetailWizardStepProps) => {\n    const {\n      translate,\n      step,\n      model,\n      formattedPhone,\n      emailForSummary: email,\n      refreshContact,\n      isBusy,\n      isEmailDisabled,\n      isPhoneDisabled,\n    } = contactDetailService;\n    const amount = paymentService.amount;\n\n    return (\n      <ScreenContext value={contactDetailService}>\n        <WizardItem\n          className=\"contact-wizard\"\n          label={translate('item5.header')}\n          step={combined ? predefinedStep : step}\n          predefinedVariant={combined ? 'success' : undefined}\n          disableNextStep={\n            amount > 0\n              ? applicationService?.contactDetailService?.isEmailDisabled ||\n                !model.hasEmail ||\n                applicationService?.contactDetailService?.isPhoneDisabled ||\n                !model.hasPhone\n              : false\n          }\n          disabledButtonTooltip={amount > 0 && translate('fill-in-required')}\n          useLegacyTooltip={true}\n          onBeforeNextStep={() => {\n            contactDetailService.saveToSessionStorage();\n            return true;\n          }}\n          onActiveStep={() => {\n            if (applicationService) applicationService.getPayment();\n          }}\n          controlledButtonText={translate('item5.continue')}\n        >\n          <p className=\"mt-2 mb-4\">\n            {translate('item5.text1')}\n            <GovLink\n              external\n              size=\"s\"\n              target=\"_blank\"\n              text={translate('item5.textLink')}\n              href={window.jsEnv.personSettings}\n              testId=\"item5-link\"\n            />\n          </p>\n          {amount > 0 && <Message message={translate('item5.text2')} className=\"mb-4\" />}\n          {!model.hasEmail && !model.hasPhone && amount === 0 && (\n            <Message message={translate('item5.text3')} className=\"mb-4\" />\n          )}\n\n          <div className=\"d-flex align-items-center mb-3 flex-wrap gap-2\">\n            <Checkbox\n              target={model}\n              className=\"checkbox-contact\"\n              property=\"hasEmail\"\n              disabled={isEmailDisabled}\n              required={amount > 0 ? true : false}\n              label={\n                <>\n                  {translate('text-email')}\n                  {isBusy ? (\n                    <Skeleton display=\"inline\" width=\"6rem\" height=\"1rem\" />\n                  ) : (\n                    <span className=\"bold\">{email}</span>\n                  )}\n                </>\n              }\n            />\n          </div>\n\n          <div className=\"d-flex align-items-center flex-wrap gap-2\">\n            <Checkbox\n              className=\"checkbox-contact\"\n              target={model}\n              property=\"hasPhone\"\n              disabled={isPhoneDisabled}\n              required={amount > 0 ? true : false}\n              label={\n                <>\n                  {translate('text-phone')}\n                  {isBusy ? (\n                    <Skeleton display=\"inline\" width=\"6rem\" height=\"1rem\" />\n                  ) : (\n                    <span className=\"bold\">{formattedPhone}</span>\n                  )}\n                </>\n              }\n            />\n          </div>\n\n          <div className=\"d-flex align-items-center mt-4 flex-wrap gap-2\">\n            {translate('load-info-text')}\n            <Button\n              className=\"button-checkbox\"\n              iconStart={'custom/arrow-repeat'}\n              text={translate('contact-load')}\n              type=\"base\"\n              onClick={refreshContact}\n              loading={isBusy}\n              disabled={isBusy}\n              testId=\"refresh-contact\"\n            />\n          </div>\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default ContactDetailWizardStep;\n","const CityOfficeIcon = () => {\n  return (\n    <svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n      <g clipPath=\"url(#clip0_1488_27240)\">\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M9.16797 9.9987L20.0013 0.832031L30.8346 9.9987V39.1654H22.5013V28.332H17.5013V39.1654H9.16797V9.9987ZM15.0013 14.1654H11.668V23.332H15.0013V14.1654ZM15.0013 28.332H11.668V32.4987H15.0013V28.332ZM18.3346 14.1654V23.332H21.668V14.1654H18.3346ZM28.3346 14.1654H25.0013V23.332H28.3346V14.1654ZM28.3346 28.332H25.0013V32.4987H28.3346V28.332Z\"\n          fill=\"#D9EFFF\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M10.8333 24.1667V13.3333H15.8333V24.1667H10.8333ZM12.0833 14.5833H14.5833V18.125H12.0833V14.5833ZM12.0833 19.375V22.9167H14.5833V19.375H12.0833Z\"\n          fill=\"#2362A2\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M17.5 24.1667V13.3333H22.5V24.1667H17.5ZM18.75 14.5833H21.25V18.125H18.75V14.5833ZM18.75 19.375V22.9167H21.25V19.375H18.75Z\"\n          fill=\"#2362A2\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M24.1667 13.3333V24.1667H29.1667V13.3333H24.1667ZM27.9167 14.5833H25.4167V18.125H27.9167V14.5833ZM25.4167 22.9167V19.375H27.9167V22.9167H25.4167Z\"\n          fill=\"#2362A2\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M24.1667 33.3333V27.5H29.1667V33.3333H24.1667ZM25.4167 28.75H27.9167V32.0833H25.4167V28.75Z\"\n          fill=\"#2362A2\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M10.8333 27.5V33.3333H15.8333V27.5H10.8333ZM14.5833 28.75H12.0833V32.0833H14.5833V28.75Z\"\n          fill=\"#2362A2\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M2.5 23.3333V34.1667H6.66667V23.3333H2.5ZM5.41667 24.5833H3.75V28.125H5.41667V24.5833ZM3.75 32.9167V29.375H5.41667V32.9167H3.75Z\"\n          fill=\"#2362A2\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M33.3333 34.1667V23.3333H37.5V34.1667H33.3333ZM34.5833 24.5833H36.25V28.125H34.5833V24.5833ZM34.5833 29.375V32.9167H36.25V29.375H34.5833Z\"\n          fill=\"#2362A2\"\n        />\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M20.5423 0.200619L31.6667 9.73577V19.1667H38.3333C39.2538 19.1667 40 19.9129 40 20.8333V36.6667C40 37.5871 39.2538 38.3333 38.3333 38.3333H31.6667C31.6667 39.2538 30.9205 40 30 40H10C9.07953 40 8.33333 39.2538 8.33333 38.3333H1.66667C0.746193 38.3333 0 37.5871 0 36.6667V20.8333C0 19.9129 0.746192 19.1667 1.66667 19.1667H8.33333V9.73577L19.4577 0.20062C19.7697 -0.066873 20.2303 -0.0668733 20.5423 0.200619ZM30 38.75H22.9167V27.5H17.0833V38.75H10C9.76988 38.75 9.58333 38.5634 9.58333 38.3333V10.3107L20 1.38212L30.4167 10.3107V38.3333C30.4167 38.5634 30.2301 38.75 30 38.75ZM8.33333 20.4167H1.66667C1.43655 20.4167 1.25 20.6032 1.25 20.8333V36.6667C1.25 36.8968 1.43655 37.0833 1.66667 37.0833H8.33333V20.4167ZM31.6667 37.0833H38.3333C38.5634 37.0833 38.75 36.8968 38.75 36.6667V20.8333C38.75 20.6032 38.5634 20.4167 38.3333 20.4167H31.6667V37.0833ZM21.6667 38.75H18.3333V28.75H21.6667V38.75Z\"\n          fill=\"#2362A2\"\n        />\n      </g>\n      <defs>\n        <clipPath id=\"clip0_1488_27240\">\n          <rect width=\"40\" height=\"40\" fill=\"white\" />\n        </clipPath>\n      </defs>\n    </svg>\n  );\n};\n\nexport default CityOfficeIcon;\n","import { observer } from 'mobx-react-lite';\nimport {\n  Button,\n  Dialog,\n  GovIcon,\n  Message,\n  Radio,\n  ScreenContext,\n  Tag,\n  useWizardContext,\n  WizardItem,\n} from '@cendis/cedr-components';\nimport './DeliveryChoiceService.scss';\nimport CityOfficeIcon from 'src/app/driver_ng/components/CityOfficeIcon';\nimport BalikomatIconLarge from 'src/app/driver_ng/components/BalikomatIconLarge';\nimport DeliveryChoiceService, { DeliveryToBoxAvailability } from '../services/DeliveryChoiceService';\nimport PickUpPointService from '../services/PickUpPointService';\nimport { DeliveryChoiceRadioOptions } from '../models/DeliveryChoiceModel';\nimport DriverCombinedViewModel from '../../driverLicence/driverCombined/DriverCombinedViewModel';\nimport { FirstApplication } from 'src/enums/FirstApplication';\nimport { useGrandAccordionContext } from './GrandAccordion/GrandAccordion';\n\ntype DeliveryChoiceWizardsStepProps = {\n  deliveryChoiceService: DeliveryChoiceService;\n  pickUpPointService: PickUpPointService;\n  combined?: DriverCombinedViewModel;\n};\n\nconst DeliveryChoiceWizardStep = observer(\n  ({ deliveryChoiceService, pickUpPointService, combined }: DeliveryChoiceWizardsStepProps) => {\n    const {\n      step,\n      translate,\n      model,\n      deliveryToBoxAvailability,\n      activationDateModalVisible,\n      closeActivationDateModal,\n      changeActivationDate,\n    } = deliveryChoiceService;\n\n    const wizardContext = useWizardContext();\n    const grandAccordionContext = useGrandAccordionContext();\n\n    const onEditPickUpPoint = () => {\n      if (combined) {\n        grandAccordionContext.setActiveStep(grandAccordionContext.activeStep - 1);\n\n        if (combined.firstApplication === FirstApplication.TACHOGRAPH) {\n          combined.applicationService.driverService.wizardContext.setActiveStep(5);\n        } else {\n          combined.applicationService.tachographService.wizardContext.setActiveStep(3);\n        }\n      } else {\n        wizardContext.setActiveStep(pickUpPointService.step);\n      }\n    };\n\n    const radioOptions = [\n      {\n        id: DeliveryChoiceRadioOptions.PERSONAL,\n        label: (\n          <>\n            <div className=\"label\">\n              <div className=\"icon mx-2\">\n                <CityOfficeIcon />\n              </div>\n              <strong>{translate('radio-button-personal')}</strong>\n              <strong className=\"fee\">{translate('free-of-charge')}</strong>\n            </div>\n            {!model.boxAddress && (\n              <Message className=\"transparent-left-border my-2\" hideIcon={true}>\n                {combined ? translate('personal-institution-combined') : translate('personal-institution')}\n                <div>\n                  <strong>{pickUpPointService.summaryData[0].value}</strong>\n                  <Button type=\"base\" onClick={onEditPickUpPoint} testId=\"box-address-edit\">\n                    <GovIcon name=\"custom/pencil-square\" /> <span className=\"ms-2\">{translate('edit')}</span>\n                  </Button>\n                </div>\n              </Message>\n            )}\n          </>\n        ),\n      },\n      {\n        id: DeliveryChoiceRadioOptions.BOX,\n        label: (\n          <>\n            <div className=\"label\">\n              <div className=\"icon mx-2\">\n                <BalikomatIconLarge />\n              </div>\n              <div>\n                <strong>{translate('radio-button-box')}</strong>\n                <Tag\n                  color=\"success\"\n                  type=\"subtle\"\n                  size=\"xs\"\n                  iconStart=\"custom/check-circle-fill\"\n                  className=\"mx-2\"\n                  testId=\"tag-box-selected\"\n                >\n                  {translate('box-tag')}\n                </Tag>\n              </div>\n              <strong className=\"fee\">\n                {translate('box-fee-value')}&nbsp;{translate('box-fee-currency')}\n              </strong>\n            </div>\n            {model.boxAddress && (\n              <Message className=\"transparent-left-border my-2\" hideIcon={true}>\n                <div>{translate('box-info')}</div>\n                <strong>{model.boxAddress.value}</strong>\n                <Button type=\"base\" onClick={model.editBoxAddress} testId=\"box-address-edit\">\n                  <GovIcon name=\"custom/pencil-square\" /> <span className=\"ms-2\">{translate('edit')}</span>\n                </Button>\n              </Message>\n            )}\n          </>\n        ),\n      },\n    ];\n\n    return (\n      <ScreenContext value={deliveryChoiceService}>\n        <WizardItem\n          label={translate('label')}\n          step={step}\n          onBeforeNextStep={() => {\n            return deliveryChoiceService.onBeforeNextStep();\n          }}\n        >\n          <div className=\"delivery-choice-wizard-step-component\">\n            <p className=\"mb-4\">{combined ? translate('question-combined') : translate('question')}</p>\n            {deliveryToBoxAvailability === DeliveryToBoxAvailability.OK && (\n              <Radio\n                target={model}\n                property={'deliveryChoiceString'}\n                options={radioOptions}\n                gapSize={'xs'}\n                className=\"mb-4\"\n              ></Radio>\n            )}\n\n            {deliveryToBoxAvailability === DeliveryToBoxAvailability.REQUEST_REASON && (\n              <>\n                <Message className=\"mb-4\" color=\"warning\" icon=\"components/info-circle-fill\">\n                  {combined\n                    ? translate('cannot-deliver-due-to-request-reason-combined')\n                    : translate('cannot-deliver-due-to-request-reason')}\n                </Message>\n                <div className=\"label\">\n                  <div className=\"icon mx-2\">\n                    <CityOfficeIcon />\n                  </div>\n                  <strong>{translate('radio-button-personal')}</strong>\n                  <strong className=\"fee\">{translate('free-of-charge')}</strong>\n                </div>\n\n                <Message className=\"transparent-left-border mb-2\" hideIcon={true}>\n                  {translate('personal-institution')}\n                  <div>\n                    <strong>{pickUpPointService.summaryData[0].value}</strong>\n                    <Button type=\"base\" onClick={onEditPickUpPoint} className=\"mx-4\" testId=\"pick-up-edit\">\n                      <GovIcon name=\"custom/pencil-square\" />{' '}\n                      <span className=\"ms-2\">{translate('edit')}</span>\n                    </Button>\n                  </div>\n                </Message>\n              </>\n            )}\n            <Dialog\n              isVisible={model.modalOpen}\n              //size=\"large\"\n              headline={translate('modal-headline')}\n              onClose={() => model.closeModal()}\n              className=\"delivery-choice-modal\"\n              testId=\"delivery-choice-dialog\"\n            >\n              <iframe\n                className=\"box-selection-iframe\"\n                title=\"Výběr místa pro vyzvednutí zásilky\"\n                src=\"https://b2c.cpost.cz/locations/?type=BALIKOVNY\"\n                allow=\"geolocation\"\n              />\n            </Dialog>\n          </div>\n\n          {/* ACTIVATION DATE MODAL */}\n          <Dialog\n            headline={translate('activationDateModal.headline')}\n            isVisible={activationDateModalVisible}\n            onClose={closeActivationDateModal}\n            testId=\"date-modal-visible\"\n            bottomChildren={\n              <>\n                <Button\n                  text={translate(\n                    combined?.applicationService.isTachographDeliveryAllowed === false\n                      ? 'activationDateModal.back'\n                      : 'activationDateModal.change-delivery'\n                  )}\n                  type=\"outlined\"\n                  onClick={closeActivationDateModal}\n                  testId=\"close-activation-date-modal\"\n                />\n                <Button\n                  text={translate('activationDateModal.change-date')}\n                  testId=\"btn-change-activation-date\"\n                  onClick={() => {\n                    changeActivationDate();\n                    wizardContext.setActiveStep(wizardContext.activeStep + 1);\n                  }}\n                />\n              </>\n            }\n          >\n            <p className=\"mb-2\">\n              {translate('activationDateModal.text-1-1')}\n              <strong className=\"bold\">{translate('activationDateModal.text-1-2')}</strong>{' '}\n              {translate('activationDateModal.text-1-3')}\n            </p>\n            <p>\n              {translate(\n                combined?.applicationService.isTachographDeliveryAllowed === false\n                  ? 'activationDateModal.text-3'\n                  : 'activationDateModal.text-2'\n              )}\n            </p>\n          </Dialog>\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\nexport default DeliveryChoiceWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport { LegacyTooltip, Tag } from '@cendis/cedr-components';\nimport useTranslate from '@cendis/cedr-framework/dist/hooks/useTranslate';\nimport './DiscountTag.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype DiscountTagProps = {\n  className?: string;\n  empty?: boolean;\n  textOnline?: boolean;\n  tooltipPosition?: 'left' | 'right' | 'top' | 'bottom';\n};\n\nconst DiscountTag = observer(\n  ({ className, empty, textOnline = false, tooltipPosition = 'right' }: DiscountTagProps) => {\n    const translate = useTranslate('shared');\n\n    return (\n      <div className={getClassName('discount-tag-wrapper w-auto', empty && 'empty')}>\n        <LegacyTooltip\n          tooltipContent={translate('discount-tooltip')}\n          hidden={empty}\n          position={tooltipPosition}\n          testId=\"discount-tag-tooltip\"\n        >\n          <Tag\n            color=\"success\"\n            type=\"subtle\"\n            size=\"xs\"\n            iconStart=\"custom/tag-fill\"\n            className={getClassName('discount-tag', className, empty && 'empty')}\n            testId=\"discount-tag\"\n          >\n            <span>\n              {textOnline ? translate('discount-online') : translate('discount')}&nbsp;\n              <strong className=\"bold\">20&nbsp;%</strong>\n            </span>\n          </Tag>\n        </LegacyTooltip>\n      </div>\n    );\n  }\n);\n\nexport default DiscountTag;\n","import { observer } from 'mobx-react-lite';\nimport { LegacyTooltip, Tag } from '@cendis/cedr-components';\nimport useTranslate from '@cendis/cedr-framework/dist/hooks/useTranslate';\nimport './DiscountTag.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype DiscountIconProps = {\n  className?: string;\n  withTooltip?: boolean;\n};\n\nconst DiscountIcon = observer(({ className, withTooltip }: DiscountIconProps) => {\n  const translate = useTranslate('shared');\n\n  return (\n    <div className={getClassName('discount-icon-wrapper', className)}>\n      <LegacyTooltip\n        tooltipContent={translate('before-send-pay')}\n        hidden={!withTooltip}\n        position=\"bottom\"\n        testId=\"discount-icon-tooltip\"\n      >\n        <Tag color=\"primary\" size=\"xs\" type=\"subtle\" iconStart=\"components/info-circle-fill\">\n          {translate('payment-online')}\n        </Tag>\n      </LegacyTooltip>\n    </div>\n  );\n});\n\nexport default DiscountIcon;\n","import { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './DotRow.scss';\nimport DiscountTag from './DiscountTag';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport DiscountIcon from './DiscountIcon';\n\ntype DotRowProps = {\n  leftNode: ReactNode;\n  rightNode: ReactNode;\n  rightSubNode?: ReactNode;\n  discountTag?: boolean;\n  displayEmpty?: boolean;\n  className?: string;\n  infoIcon?: boolean;\n  textOnline?: boolean;\n  infoIconWithTooltip?: boolean;\n};\n\nconst DotRow = observer(\n  ({\n    leftNode,\n    rightNode,\n    rightSubNode,\n    discountTag = false,\n    displayEmpty = false,\n    infoIcon = false,\n    textOnline = false,\n    infoIconWithTooltip = false,\n    className,\n  }: DotRowProps) => {\n    return (\n      <div className={getClassName('dot-row', discountTag && 'with-discount', infoIcon && 'with-info-icon', className)}>\n        <div className=\"left\">{leftNode}</div>\n\n        <div className=\"dots\"></div>\n\n        <div className=\"right-wrapper\">\n          <div className=\"right\">\n            {rightSubNode ? (\n              <>\n                <strong className=\"bold\">{rightNode} </strong>\n                {rightSubNode}\n              </>\n            ) : (\n              rightNode\n            )}\n          </div>\n          {(discountTag || displayEmpty) && (\n            <DiscountTag textOnline={textOnline} className={getClassName('discount-tag')} empty={displayEmpty} />\n          )}\n          {infoIcon && <DiscountIcon withTooltip={infoIconWithTooltip} />}\n        </div>\n      </div>\n    );\n  }\n);\n\nexport default DotRow;\n","import { observer } from 'mobx-react-lite';\nimport './ErrorEmpty.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport ErrorIcon from 'src/app/error/errorPage/components/ErrorIcon';\nimport { StatusCodes } from 'src/enums/StatusCodes';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype ErrorEmptyProps = {\n  translate: Translator;\n  className?: string;\n};\n\nconst ErrorEmpty = observer(({ className, translate }: ErrorEmptyProps) => {\n  return (\n    <div className={getClassName('error-empty', className)}>\n      <div className=\"error-empty__icon\">\n        <ErrorIcon statusCode={StatusCodes.DEFAULT} translate={translate} color=\"error\" />\n      </div>\n      <div className=\"error-empty__content\">\n        <p className=\"error-title\">{translate('error-message.title')}</p>\n        <p className=\"error-text gov-color--secondary-700\">{translate('error-message.text')}</p>\n      </div>\n    </div>\n  );\n});\n\nexport default ErrorEmpty;\n","import { observer } from 'mobx-react-lite';\nimport './GrandAccordion.scss';\nimport GrandAccordionContext from './GrandAccordionContext';\nimport { createContext, ReactNode, useContext, useMemo } from 'react';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype GrandAccordionProps = {\n  context?: GrandAccordionContext;\n  children?: ReactNode;\n  className?: string;\n};\n\nconst GrandAccordionContextInstance = createContext(new GrandAccordionContext());\n\nexport function useGrandAccordionContext() {\n  const context = useContext(GrandAccordionContextInstance);\n  return context;\n}\n\nconst GrandAccordion = observer(({ context, children, className }: GrandAccordionProps) => {\n  const contextValue = useMemo(() => {\n    if (context) return context;\n    return new GrandAccordionContext();\n  }, [context]);\n\n  return (\n    <GrandAccordionContextInstance.Provider value={contextValue}>\n      <div className={getClassName('grand-accordion', className)}>{children}</div>\n    </GrandAccordionContextInstance.Provider>\n  );\n});\n\nexport default GrandAccordion;\n","import { action, makeObservable, observable } from 'mobx';\nimport { type RefObject } from 'react';\n\nexport default class GrandAccordionContext {\n  @observable activeStep = 1;\n  @observable itemRefs = new Map<number, RefObject<HTMLDivElement>>();\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  setActiveStep(step: number) {\n    this.activeStep = step;\n\n    // Scroll to the top of the new active step\n    requestAnimationFrame(() => {\n      const ref = this.itemRefs.get(step);\n      if (ref?.current) {\n        ref.current.scrollIntoView({\n          behavior: 'smooth',\n          block: 'start',\n          inline: 'nearest',\n        });\n      } else {\n        // Fallback\n        window.scrollTo({ top: 0, behavior: 'smooth' });\n      }\n    });\n  }\n\n  @action.bound\n  registerRef(step: number, ref: RefObject<HTMLDivElement>) {\n    this.itemRefs.set(step, ref);\n  }\n\n  @action.bound\n  unregisterRef(step: number) {\n    this.itemRefs.delete(step);\n  }\n}\n","import { GovLink, Message } from '@cendis/cedr-components';\nimport useNavigate from '@cendis/cedr-framework/dist/hooks/useNavigate';\nimport useTranslate from '@cendis/cedr-framework/dist/hooks/useTranslate';\nimport { observer } from 'mobx-react-lite';\nimport NotificationViewModel from 'src/app/notificationAndContact/NotificationViewModel';\n\ntype NotificationMessageProps = {\n  className?: string;\n};\n\nconst NotificationMessage = observer(({ className }: NotificationMessageProps) => {\n  const translate = useTranslate('shared');\n  const navigate = useNavigate();\n\n  return (\n    <Message className={className}>\n      {translate('notification-sms-or-email')}{' '}\n      <GovLink\n        onClick={(e) => {\n          e.preventDefault();\n          navigate(NotificationViewModel);\n        }}\n        testId=\"notification-setup-contact-info\"\n      >\n        {translate('setup-contact-info')}\n      </GovLink>\n    </Message>\n  );\n});\n\nexport default NotificationMessage;\n","import { Message, ScreenContext, WizardItem, Button, Dialog } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport PaymentService from '../services/PaymentService';\nimport './PaymentWizardStep.scss';\nimport ApplicationService from '../../driverLicence/driverLicenceApplication/ApplicationService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport DriverDigitalTachographApplicationService from '../../driverLicence/driverDigitalTachograph/DriverDigitalTachographApplicationService';\nimport { DeliveryChoiceRadioOptions } from '../models/DeliveryChoiceModel';\nimport LoaderBox from 'src/components/layout/LoaderBox';\nimport { Domain_Contracts_Enums_Crr_IsdtRequestReason } from 'src/data/crr/api';\nimport ErrorEmpty from './ErrorEmpty';\n\ntype PaymentWizardStepProps = {\n  paymentService: PaymentService;\n  applicationType: DriverApplication;\n  applicationService: ApplicationService | DriverDigitalTachographApplicationService;\n  combined?: boolean;\n  predefinedStep?: number;\n};\n\nconst PaymentWizardStep = observer(\n  ({\n    paymentService,\n    combined,\n    applicationType,\n    applicationService,\n    predefinedStep = 0,\n  }: PaymentWizardStepProps) => {\n    const { step, translate, amount, priceBusyWatcher } = paymentService;\n    const { paymentPromptVisible, closePaymentPrompt, onBeforeNextStep } = applicationService;\n    let driverService: ApplicationService | undefined = undefined;\n    let tachographService: DriverDigitalTachographApplicationService | undefined = undefined;\n\n    if (applicationType === DriverApplication.DRIVER_LICENCE) {\n      driverService = applicationService as ApplicationService;\n    } else if (applicationType === DriverApplication.TACHOGRAPH) {\n      tachographService = applicationService as DriverDigitalTachographApplicationService;\n    }\n\n    const feePrice =\n      driverService?.detailsService?.finalCharge ?? tachographService?.sharedDataService?.feePrice ?? 0;\n    const isDelivered =\n      applicationService.deliveryChoiceService.model.deliveryChoice === DeliveryChoiceRadioOptions.BOX;\n\n    return (\n      <ScreenContext value={paymentService}>\n        <WizardItem\n          step={combined ? predefinedStep : step}\n          label={translate('payment-title')}\n          disableNextStep={priceBusyWatcher.isBusy || applicationService.sendingDisabled}\n          onBeforeNextStep={onBeforeNextStep}\n          controlledButtonText={\n            amount > 0 ? translate('payment-continue-button') : translate('no-payment-continue-button')\n          }\n          onActiveStep={() => applicationService.getPayment()}\n        >\n          {!applicationService.sendingDisabled ? (\n            <>\n              <Message className=\"mb-4\" icon=\"custom/cash-stack\">\n                {translate('payment-total-amount')}:{' '}\n                {priceBusyWatcher.isBusy ? (\n                  <LoaderBox type=\"line-h\" />\n                ) : (\n                  <strong className=\"bold\">\n                    {amount} {translate('prompt.currency-cz')}\n                  </strong>\n                )}\n              </Message>\n              {amount > 0 ? (\n                <>\n                  <p className=\"mb-2\">\n                    {translate('payment-submit-info-1')}{' '}\n                    <strong className=\"bold\">{translate('payment-submit-info-2')}</strong>\n                  </p>\n                  <p>{translate('payment-supported-methods')}</p>\n                  <img\n                    className=\"payment-methods mb-3\"\n                    alt={translate('payment-supported-methods')}\n                    src={'site-public/img/layout/payment-methods.png'}\n                  />\n                </>\n              ) : (\n                <p className=\"mb-4\">{translate('no-payment-info')}</p>\n              )}\n            </>\n          ) : (\n            <ErrorEmpty translate={translate} />\n          )}\n\n          <Dialog\n            headline={driverService ? translate('prompt.headline') : translate('prompt.headline-send')}\n            isVisible={paymentPromptVisible}\n            onClose={closePaymentPrompt}\n            testId=\"payment-dialog\"\n            bottomChildren={\n              <>\n                <Button\n                  text={translate('prompt.close-payment-prompt')}\n                  type=\"outlined\"\n                  onClick={closePaymentPrompt}\n                  testId=\"payment-dialog-close\"\n                />\n                <Button\n                  text={amount > 0 ? translate('prompt.go-to-payment') : translate('prompt.send')}\n                  onClick={() => applicationService.submitApplication(amount > 0)}\n                  loading={applicationService.busyWatcher.isBusy}\n                  testId=\"payment-dialog-send\"\n                />\n              </>\n            }\n          >\n            <p className=\"mb-2\">{translate('prompt.confirm-message')}</p>\n            <ul className=\"ms-4 mb-2\">\n              <li>\n                {translate('prompt.reason')}{' '}\n                <strong className=\"bold\">\n                  {driverService\n                    ? driverService.reasonService.paymentPromptData\n                    : tachographService?.requestReasonsSelectionService.paymentPromptData}\n                </strong>\n              </li>\n              {driverService && (\n                <li>\n                  {translate('prompt.processing-speed')}{' '}\n                  <strong className=\"bold\">{driverService.detailsService.paymentPromptData}</strong>\n                </li>\n              )}\n              {driverService && (\n                <li>\n                  {translate('prompt.competence-entry')}{' '}\n                  <strong className=\"bold\">\n                    {driverService?.detailsService.isProfessionalCompetenceChecked\n                      ? translate('prompt.yes')\n                      : translate('prompt.no')}\n                  </strong>\n                </li>\n              )}\n\n              <li>\n                {translate('prompt.administrative-fee')}{' '}\n                <strong className=\"bold\">\n                  {feePrice} {translate('prompt.currency-cz')}\n                </strong>\n              </li>\n              {isDelivered && (\n                <li>\n                  {translate('prompt.delivery-fee')}{' '}\n                  <strong className=\"bold\">\n                    {translate('prompt.box-fee-value')} {translate('prompt.currency-cz')}\n                  </strong>\n                </li>\n              )}\n              {isDelivered && (\n                <li>\n                  {translate('prompt.pickup-location')}{' '}\n                  <strong className=\"bold\">\n                    {applicationService.deliveryChoiceService.model.boxAddress?.value}\n                  </strong>\n                </li>\n              )}\n\n              {isDelivered ? (\n                <li>\n                  {translate('prompt.backup-office')}{' '}\n                  <strong className=\"bold\">{applicationService.pickUpPointService.paymentPromptData}</strong>\n                </li>\n              ) : (\n                <li>\n                  {translate('prompt.office')}{' '}\n                  <strong className=\"bold\">{applicationService.pickUpPointService.paymentPromptData}</strong>\n                </li>\n              )}\n            </ul>\n\n            {!isDelivered && tachographService && (\n              <>\n                {' '}\n                {(tachographService?.requestReasonsSelectionService.model.reason ===\n                  Domain_Contracts_Enums_Crr_IsdtRequestReason.RENEWAL_PERSONAL_DATA_CHANGE ||\n                  tachographService?.requestReasonsSelectionService.model.reason ===\n                    Domain_Contracts_Enums_Crr_IsdtRequestReason.MALFUNCTION ||\n                  tachographService?.requestReasonsSelectionService.model.reason ===\n                    Domain_Contracts_Enums_Crr_IsdtRequestReason.RENEWAL) && (\n                  <p className=\"bold mt-2 mb-2\">{translate('prompt.valid-card')}</p>\n                )}\n                {tachographService?.requestReasonsSelectionService.model.reason ===\n                  Domain_Contracts_Enums_Crr_IsdtRequestReason.LOSS && (\n                  <p className=\"bold mt-2 mb-2\">{translate('prompt.proof-of-theft')}</p>\n                )}\n              </>\n            )}\n\n            <p className=\"mt-2 mb-2\">{translate('prompt.final-confirmation')}</p>\n          </Dialog>\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default PaymentWizardStep;\n","import { Checkbox, Message, ScreenContext, Typography, WizardItem } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport PhotoSignatureService from '../services/PhotoSignatureService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport './PhotoSignatureWizardStep.scss';\nimport { Crr_WebApi_Responses_V3_WarningResponse } from 'src/data/crr/apiV3';\n\ntype PhotoSignatureWizardStepProps = {\n  photoSignatureService: PhotoSignatureService;\n  combined?: boolean;\n  predefinedStep?: number;\n  predefinedApplicationType?: DriverApplication;\n  root?: boolean;\n  photoWarning?: Crr_WebApi_Responses_V3_WarningResponse | false;\n  signatureWarning?: Crr_WebApi_Responses_V3_WarningResponse | false;\n  isDataChangeReasonSelected?: boolean;\n  isFromDriverLicence: boolean;\n};\n\nconst PhotoSignatureWizardStep = observer(\n  ({\n    photoSignatureService,\n    combined,\n    predefinedStep = 0,\n    predefinedApplicationType,\n    root = false,\n    photoWarning,\n    signatureWarning,\n    isDataChangeReasonSelected = false,\n    isFromDriverLicence = false,\n  }: PhotoSignatureWizardStepProps) => {\n    const { step, translate, model, disableNextStep, photo, signature, applicationType } =\n      photoSignatureService;\n    const effectiveType = combined ? predefinedApplicationType : applicationType;\n\n    return (\n      <ScreenContext value={photoSignatureService}>\n        <WizardItem\n          step={combined ? predefinedStep : step}\n          label={translate('label')}\n          disableNextStep={disableNextStep}\n          className=\"photo-signature\"\n          disabledButtonTooltip={translate('fill-in-required')}\n          useLegacyTooltip={true}\n          predefinedVariant={combined && !root ? 'success' : undefined}\n          onBeforeNextStep={() => {\n            photoSignatureService.saveToSessionStorage();\n            return true;\n          }}\n        >\n          {isFromDriverLicence ? (\n            <Message className=\"mb-4\" color=\"success\" icon=\"custom/check-circle-fill\">\n              {translate('from-driver-license')}\n            </Message>\n          ) : (\n            <>\n              <Typography type=\"body\" component={'h3'} size=\"m\" fontWeight={500} className=\"mb-3\">\n                {translate('heading-img')}\n              </Typography>\n\n              <Message className=\"mb-4\">\n                {effectiveType === DriverApplication.DRIVER_LICENCE\n                  ? translate('photo-description-driver')\n                  : translate('photo-description-tachograph')}\n              </Message>\n\n              <img\n                className=\"photo-image image-background mb-3\"\n                alt={translate('photo-alt')}\n                {...(photo && photo.data\n                  ? {\n                      src: `data:${photo?.dataFormat};charset=utf-8;base64,${photo?.data}`,\n                    }\n                  : {})}\n              />\n              <Checkbox\n                className=\"photo-checkbox\"\n                target={model}\n                property={'photoConfirm'}\n                label={translate('photo-checkbox-label')}\n                required\n              />\n\n              {photoWarning && (\n                <Message\n                  className=\"mb-5\"\n                  color=\"warning\"\n                  icon=\"components/info-circle-fill\"\n                  message={photoWarning.description ?? ''}\n                />\n              )}\n\n              <Typography type=\"body\" component={'h3'} size=\"m\" fontWeight={500} className=\"mb-3\">\n                {translate('heading-signature')}\n              </Typography>\n\n              {isDataChangeReasonSelected && (\n                <Message\n                  className=\"mb-5\"\n                  color=\"warning\"\n                  icon=\"components/lightbulb-fill\"\n                  message={translate('reason-change-warning')}\n                />\n              )}\n\n              <img\n                className=\"signature-image image-background mb-3\"\n                alt={translate('signature-alt')}\n                {...(signature && signature.data\n                  ? {\n                      src: `data:${signature?.dataFormat};charset=utf-8;base64,${signature?.data}`,\n                    }\n                  : {})}\n              />\n\n              <Checkbox\n                target={model}\n                property={'signatureConfirm'}\n                label={translate('signature-checkbox-label')}\n                required\n              />\n\n              {signatureWarning && (\n                <Message\n                  color=\"warning\"\n                  className=\"mt-4\"\n                  icon=\"components/info-circle-fill\"\n                  message={signatureWarning.description ?? ''}\n                />\n              )}\n            </>\n          )}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default PhotoSignatureWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport { Message, ScreenContext, Select, WizardItem } from '@cendis/cedr-components';\nimport PickUpPointService from '../services/PickUpPointService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\n\ninterface PickUpPointWizardStepProps {\n  pickUpPointService: PickUpPointService;\n  combined?: boolean;\n  predefinedStep?: number;\n  predefinedApplicationType?: DriverApplication;\n  root?: boolean;\n}\n\nconst RequestReasonsSelectionWizardStep = observer(\n  ({\n    pickUpPointService,\n    combined,\n    predefinedStep = 0,\n    predefinedApplicationType,\n    root = false,\n  }: PickUpPointWizardStepProps) => {\n    const { translate, step, disableNextStep, model, orpOptions, applicationType } = pickUpPointService;\n    const effectiveType = combined ? predefinedApplicationType : applicationType;\n\n    return (\n      <ScreenContext value={pickUpPointService}>\n        <WizardItem\n          label={translate('item3.newHeader')}\n          step={combined ? predefinedStep : step}\n          disableNextStep={disableNextStep}\n          predefinedVariant={combined && !root ? 'success' : undefined}\n          disabledButtonTooltip={translate('item3.fill-in-required')}\n          useLegacyTooltip={true}\n          onBeforeNextStep={() => {\n            pickUpPointService.saveToSessionStorage();\n            return true;\n          }}\n        >\n          {combined && !root && (\n            <Message className=\"mb-4\">\n              <p>{translate('item3.predefined-text')}</p>\n            </Message>\n          )}\n          <p className=\"mb-4\">\n            {effectiveType === DriverApplication.TACHOGRAPH\n              ? translate('item3.text1-tachograph')\n              : translate('item3.text1-driver-licence')}\n          </p>\n\n          <Select\n            target={model}\n            property=\"code\"\n            options={orpOptions}\n            label={\n              effectiveType === DriverApplication.TACHOGRAPH\n                ? translate('item3.label-tachograph')\n                : translate('item3.label-driver-licence')\n            }\n            required\n            className=\"mw-512\"\n          />\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default RequestReasonsSelectionWizardStep;\n","import { GovIcon } from '@cendis/cedr-components';\nimport { iconNames } from '@cendis/cedr-components/dist/components/shared/GovIcon/utils';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './SectionWithIcon.scss';\nimport React from 'react';\n\ntype IconProps = {\n  iconName?: (typeof iconNames)[number] | React.ReactNode;\n  variant?: 'primary' | 'secondary';\n  className?: string;\n};\ntype SectionWithIconProps = IconProps & {\n  children: ReactNode;\n};\n\nfunction icon({ iconName, variant, className }: IconProps) {\n  if (typeof iconName === 'string') {\n    return <GovIcon name={iconName as (typeof iconNames)[number]} className={variant} />;\n  } else if (React.isValidElement(iconName)) {\n    return iconName;\n  }\n  return null;\n}\n\nconst SectionWithIcon = observer(\n  ({ children, iconName, variant = 'secondary', className }: SectionWithIconProps) => {\n    return (\n      <div className={getClassName('section-with-icon', className)}>\n        <div className=\"icon-wrapper\">\n          <span className=\"icon-background\">{icon({ iconName, variant, className })}</span>\n        </div>\n\n        <div className=\"section-content\">{children}</div>\n      </div>\n    );\n  }\n);\n\nexport default SectionWithIcon;\n","import React, { ReactNode } from 'react';\nimport './WizardContainer.scss';\n\ninterface WizardContainerProps {\n  children: ReactNode;\n  combined?: boolean;\n}\n\nconst WizardContainer: React.FC<WizardContainerProps> = ({ children, combined = false }) => {\n  return (\n    <div className=\"content-wrapper\">\n      <div className=\"wizard-container\">{children}</div>\n    </div>\n  );\n};\n\nexport default WizardContainer;\n","import { Button, GovIcon, Typography, useWizardContext } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './WizardStepSummary.scss';\nimport Table from '@components/gov4/layout/Table';\nimport ParagraphsValue from '@components/gov4/layout/ParagraphValue';\n\ntype WizardStepSummaryProps = {\n  title?: string;\n  data?: Array<{ label: ReactNode; value: ReactNode }>;\n  paragraphs?: Array<{ value: ReactNode }>;\n  returnToStep?: number;\n  className?: string;\n};\n\nconst WizardStepSummary = observer(\n  ({ title, data, returnToStep, paragraphs, className }: WizardStepSummaryProps) => {\n    const wizardContext = useWizardContext();\n\n    return (\n      <div className={`wizard-step-summary ${className || ''}`}>\n        {title && (\n          <Typography\n            className=\"summary-header mb-3\"\n            type=\"headline\"\n            size=\"s\"\n            component={'h3'}\n            fontWeight={500}\n          >\n            {title}\n\n            {returnToStep !== undefined && (\n              <Button\n                type=\"base\"\n                onClick={() => wizardContext.setActiveStep(returnToStep)}\n                testId=\"wizard-step-summary-back\"\n              >\n                <GovIcon name=\"custom/pencil-square\" />\n              </Button>\n            )}\n          </Typography>\n        )}\n\n        {data && <Table data={data} testId=\"wizard-table\" />}\n        {paragraphs && <ParagraphsValue data={paragraphs} />}\n      </div>\n    );\n  }\n);\n\nexport default WizardStepSummary;\n","import AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Crr_WebApi_Requests_DeliveryType } from 'src/data/crr/api';\nimport { Validators } from 'src/data/validators/registry';\n\nexport enum DeliveryChoiceRadioOptions {\n  PERSONAL = 'personal',\n  BOX = 'box',\n}\n\nexport type BoxAddress = {\n  id: string;\n  value: string;\n  type: Crr_WebApi_Requests_DeliveryType;\n};\n\n@AddTranslationKey('driver-licence-application')\nexport default class DeliveryChoiceModel {\n  @observable deliveryChoice: DeliveryChoiceRadioOptions = DeliveryChoiceRadioOptions.PERSONAL;\n\n  @observable modalOpen: boolean = false;\n\n  @observable boxAddress: BoxAddress | undefined = undefined;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @computed\n  get deliveryChoiceString() {\n    return this.deliveryChoice;\n  }\n\n  set deliveryChoiceString(value) {\n    this.deliveryChoice = value as DeliveryChoiceRadioOptions;\n\n    if (this.deliveryChoice === DeliveryChoiceRadioOptions.BOX) {\n      runInAction(() => {\n        this.modalOpen = true;\n      });\n    } else if (this.deliveryChoice === DeliveryChoiceRadioOptions.PERSONAL) {\n      runInAction(() => {\n        this.boxAddress = undefined;\n      });\n    }\n  }\n\n  @action.bound\n  editBoxAddress() {\n    this.modalOpen = true;\n  }\n\n  @action.bound\n  closeModal() {\n    this.modalOpen = false;\n\n    if (!this.boxAddress) {\n      this.deliveryChoice = DeliveryChoiceRadioOptions.PERSONAL;\n    }\n  }\n\n  @action.bound\n  onHandleMessage(event: MessageEvent) {\n    const data = event.data;\n    if (data.message === 'pickerResult' && data.point) {\n      this.modalOpen = false;\n\n      let deliveryType: Crr_WebApi_Requests_DeliveryType;\n      switch (data.point.subtype) {\n        case 'PARTNER':\n          deliveryType = Crr_WebApi_Requests_DeliveryType.BALIKOVNA_PARTNER;\n          break;\n        case 'BOX':\n          deliveryType = Crr_WebApi_Requests_DeliveryType.BALIKOVNA_BOX;\n          break;\n        default:\n          deliveryType = Crr_WebApi_Requests_DeliveryType.POST_OFFICE;\n          break;\n      }\n\n      this.boxAddress = { id: data.point.id.substring(1), value: `${data.point.name}`, type: deliveryType };\n    }\n  }\n}\n\nexport const DeliveryChoiceModelValidators: ValidationDescriptor<DeliveryChoiceModel, Validators> = {};\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('mentoring-register')\nexport default class SelectMentorOption {\n  @observable options: string[] = [];\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const SelectMentorOptionValidators: ValidationDescriptor<SelectMentorOption, Validators> = {};\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('driverTachographRequest')\nexport default class ContactDetailModel {\n  @observable hasPhone: boolean = false;\n  @observable hasEmail: boolean = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, runInAction, when } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport ContactDetailModel from '../models/ContactDetailModel';\nimport { UserService } from 'src/services/UserService';\nimport StringFormatUtils from 'src/utils/StringFormatUtils';\nimport SessionService from 'src/services/SessionService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\n\n@Service()\nexport default class ContactDetailService extends WizardStepService {\n  model = new ContactDetailModel();\n\n  @computed\n  get summaryData() {\n    const data = [];\n\n    if (this.model.hasEmail) {\n      data.push({ label: this.translate('email'), value: this.emailForSummary });\n    } else {\n      data.push({ label: this.translate('email'), value: this.translate('noneEmail') });\n    }\n\n    if (this.model.hasPhone) {\n      data.push({ label: this.translate('phone'), value: this.formattedPhone });\n    } else {\n      data.push({ label: this.translate('phone'), value: this.translate('nonePhone') });\n    }\n\n    return data;\n  }\n\n  @computed\n  get isBusy() {\n    return this.userService.busyWatcherContactInfoRefresh.isBusy;\n  }\n\n  @computed\n  get emailForSummary() {\n    return this.userService.contactInfo?.email ?? this.translate('noneEmail');\n  }\n\n  @computed\n  get phoneForSummary(): string {\n    return this.userService.contactInfo?.phone ?? this.translate('nonePhone');\n  }\n\n  @computed\n  get formattedPhone(): string {\n    return StringFormatUtils.formatPhoneNumber(this.phoneForSummary);\n  }\n\n  @computed\n  get isEmailDisabled() {\n    return !this.userService.contactInfo?.email;\n  }\n\n  @computed\n  get isPhoneDisabled() {\n    return !this.userService.contactInfo?.phone;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public userService: UserService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super(`${DriverApplication.SHARED}-contact-detail`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(stepNumber: number) {\n    await this.userService.getContactInfo();\n    this._step = stepNumber;\n\n    this.setInitialCheckboxValue();\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    runInAction(() => {\n      this.model.hasPhone = false;\n      this.model.hasEmail = false;\n    });\n    this.stopActivityWatcher();\n  }\n\n  private setInitialCheckboxValue() {\n    this.reset();\n    when(\n      () => this.userService.contactInfo !== undefined,\n      () => {\n        runInAction(() => {\n          this.model.hasPhone = !!this.userService.contactInfo?.phone;\n          this.model.hasEmail = !!this.userService.contactInfo?.email;\n        });\n      }\n    );\n  }\n\n  @action.bound\n  async refreshContact(): Promise<void> {\n    await this.userService.getContactInfoRefresh();\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      hasPhone: this.model.hasPhone,\n      phone: this.userService.contactInfo?.phone,\n      hasEmail: this.model.hasEmail,\n      email: this.userService.contactInfo?.email,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<ContactDetailService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.hasPhone = data.hasPhone;\n      this.model.hasEmail = data.hasEmail;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.hasPhone, this.model.hasEmail] as const;\n  }\n\n  translate = translate('driverng.driver-digital-tachograph', this);\n}\n","import { Inject, Service } from 'typedi';\nimport WizardStepService from 'src/services/WizardStepService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from 'src/services/ValidationService';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { UserService } from 'src/services/UserService';\nimport DeliveryChoiceModel, { DeliveryChoiceRadioOptions } from '../models/DeliveryChoiceModel';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport SessionService from 'src/services/SessionService';\nimport LicenceActivationService from '../../driverLicence/driverLicenceApplication/03_LicenceActivation/LicenceActivationService';\nimport { ActivateDateTypes } from 'src/enums/ActivateDateTypes';\n\nexport enum DeliveryToBoxAvailability {\n  OK,\n  REQUEST_REASON,\n  MISSING_CONTACT_DATA,\n}\n\nexport interface IDeliveryPermissionService {\n  isDeliveryAllowed: boolean;\n}\n\n@Service()\nexport default class DeliveryChoiceService extends WizardStepService {\n  @observable model = new DeliveryChoiceModel();\n  @observable deliveryPermissionService = { isDeliveryAllowed: false };\n  @observable activationDateModalVisible = false;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public userService: UserService,\n    @Inject() public licenceActivationService: LicenceActivationService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super(`${DriverApplication.SHARED}-transport`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number, deliveryPermissionService: IDeliveryPermissionService): void {\n    this._step = stepNumber;\n    runInAction(() => {\n      this.deliveryPermissionService = deliveryPermissionService;\n    });\n    window.addEventListener('message', this.model.onHandleMessage);\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset(): void {\n    window.removeEventListener('message', this.model.onHandleMessage);\n\n    this.model = new DeliveryChoiceModel();\n    this.deliveryPermissionService = { isDeliveryAllowed: false };\n    this.stopActivityWatcher();\n  }\n\n  @computed\n  get deliveryToBoxAvailability(): DeliveryToBoxAvailability {\n    if (this.deliveryPermissionService.isDeliveryAllowed === false) {\n      return DeliveryToBoxAvailability.REQUEST_REASON;\n    } else {\n      return DeliveryToBoxAvailability.OK;\n    }\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      deliveryChoice: this.model.deliveryChoice,\n      boxAddress: this.model.boxAddress,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<DeliveryChoiceService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.deliveryChoice = data.deliveryChoice;\n      this.model.boxAddress = data.boxAddress;\n    });\n  }\n\n  @action.bound\n  onBeforeNextStep(): boolean {\n    this.saveToSessionStorage();\n\n    if (\n      this.licenceActivationService.model.activateDateType !== ActivateDateTypes.EARLIEST &&\n      this.model.deliveryChoice !== DeliveryChoiceRadioOptions.BOX\n    ) {\n      this.activationDateModalVisible = true;\n      return false;\n    }\n\n    return true;\n  }\n\n  @action.bound\n  closeActivationDateModal() {\n    this.activationDateModalVisible = false;\n  }\n\n  @action.bound\n  changeActivationDate() {\n    this.licenceActivationService.model.activateDateType = ActivateDateTypes.EARLIEST;\n    this.activationDateModalVisible = false;\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.boxAddress,\n      this.model.deliveryChoice,\n      this.model.modalOpen,\n      this.activationDateModalVisible,\n    ] as const;\n  }\n\n  translate = translate('driver-licence-application.delivery-choice-step', this);\n}\n","import { WizardContext } from '@cendis/cedr-components';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport SessionService from 'src/services/SessionService';\n\nexport default abstract class DriverApplicationService {\n  wizardContext = new WizardContext();\n  applicationType: DriverApplication;\n\n  protected abstract sessionService: SessionService;\n\n  constructor(applicationType: DriverApplication) {\n    this.applicationType = applicationType;\n  }\n\n  loadDataFromSessionStorage() {\n    for (const key in this) {\n      const property = this[key];\n\n      if (\n        typeof property === 'object' &&\n        property !== null &&\n        'loadFromSessionStorage' in property &&\n        typeof property.loadFromSessionStorage === 'function' &&\n        property.loadFromSessionStorage.length === 0\n      ) {\n        property.loadFromSessionStorage();\n      }\n    }\n  }\n\n  clearSessionStorage() {\n    for (const key in this) {\n      const property = this[key];\n\n      if (\n        typeof property === 'object' &&\n        property !== null &&\n        'sessionStorageKey' in property &&\n        typeof property.sessionStorageKey === 'string'\n      ) {\n        this.sessionService.remove(property.sessionStorageKey);\n      }\n    }\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('driverPayment')\nexport default class PaymentModel {\n  @observable paymentMethod: string = '';\n  @observable amount = 0;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport PaymentModel from '../models/PaymentModel';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport ApiService from '../../../../services/ApiService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { ToastService } from '@cendis/cedr-components';\nimport SessionService from 'src/services/SessionService';\nimport LocalStorageService from 'src/services/LocalStorageService';\n\n@Service()\nexport default class PaymentService extends WizardStepService {\n  @observable model = new PaymentModel();\n  @observable paymentUrl: string | null = null;\n  @observable priceBusyWatcher = new BusyWatcher();\n\n  @computed\n  get disableNextStep() {\n    return !this.model.amount;\n  }\n\n  @computed\n  get amount() {\n    return this.model.amount;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public apiService: ApiService,\n    @Inject() private toastService: ToastService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() private localStorageService: LocalStorageService\n  ) {\n    super(`${DriverApplication.SHARED}-payment`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new PaymentModel();\n    this.paymentUrl = null;\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  setPaymentUrl(url: string) {\n    this.paymentUrl = url;\n  }\n\n  @action.bound\n  navToPayment() {\n    if (this.paymentUrl) {\n      window.location.assign(this.paymentUrl);\n      return true;\n    }\n    return false;\n  }\n\n  @action.bound\n  processPaymentUrl(\n    url: string | null,\n    refId: string | null,\n    transactionId: string | null,\n    requestType?: 'crr' | 'isdt' | 'both'\n  ) {\n    if (url) {\n      if (refId && transactionId) {\n        this.sessionService.set('refId', refId);\n        this.sessionService.set('transactionId', transactionId);\n        if (requestType) {\n          this.localStorageService.set(`request_type_${refId}`, requestType);\n        }\n      }\n      this.setPaymentUrl(url);\n      return this.navToPayment();\n    }\n    return false;\n  }\n\n  protected activityWatchValue() {\n    return [this.model.amount, this.model.paymentMethod] as const;\n  }\n\n  translate = translate('driverng.payment', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\n\n@AddTranslationKey('photo-signature')\nexport default class PhotoSignatureModel {\n  @observable photoConfirm: boolean = false;\n  @observable signatureConfirm: boolean = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const PhotoSignatureModelValidators: ValidationDescriptor<PhotoSignatureModel, Validators> = {};\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from 'src/services/WizardStepService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from 'src/services/ValidationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport PhotoSignatureModel from '../models/PhotoSignatureModel';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport SessionService from 'src/services/SessionService';\n\nexport type ImageData = {\n  data: string | null | undefined;\n  dataFormat: string | null | undefined;\n};\n\nexport interface IPhotoSignatureSharedService {\n  photo: ImageData;\n  signature: ImageData;\n}\n\n@Service()\nexport default class PhotoSignatureService extends WizardStepService {\n  model = new PhotoSignatureModel();\n  @observable applicationType: DriverApplication = DriverApplication.DRIVER_LICENCE;\n  @observable private sharedService: IPhotoSignatureSharedService | undefined = undefined;\n\n  @computed\n  get disableNextStep() {\n    return this.model.photoConfirm === false || this.model.signatureConfirm === false;\n  }\n\n  @computed\n  get summaryData() {\n    return [\n      {\n        label: this.translate('photo-confirm'),\n        value: this.model.photoConfirm ? this.translate('yes') : this.translate('no'),\n      },\n      {\n        label: this.translate('signature-confirm'),\n        value: this.model.signatureConfirm ? this.translate('yes') : this.translate('no'),\n      },\n    ];\n  }\n\n  @computed\n  get photo() {\n    return this.sharedService?.photo;\n  }\n\n  @computed\n  get signature() {\n    return this.sharedService?.signature;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super(`${DriverApplication.SHARED}-photo-signature`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(\n    stepNumber: number,\n    sharedDataService: IPhotoSignatureSharedService,\n    applicationType: DriverApplication\n  ) {\n    this._step = stepNumber;\n    this.sharedService = sharedDataService;\n    this.applicationType = applicationType;\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new PhotoSignatureModel();\n    this.sharedService = undefined;\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      photoConfirm: this.model.photoConfirm,\n      signatureConfirm: this.model.signatureConfirm,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<PhotoSignatureService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.photoConfirm = data.photoConfirm;\n      this.model.signatureConfirm = data.signatureConfirm;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.photoConfirm, this.model.signatureConfirm] as const;\n  }\n\n  translate = translate('driver-licence-application.photo-signature', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('driverTachographPickUp')\nexport default class PickUpPointModel {\n  @observable code: number = Number.NaN;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport WizardStepService from 'src/services/WizardStepService';\nimport ValidationService from 'src/services/ValidationService';\nimport type { SelectOption } from '@form/Select/Select';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport PickUpPointModel from '../models/PickUpPointModel';\nimport { Crr_WebApi_Responses_V1_OrpResponse } from 'src/data/crr/api';\nimport ApiService from 'src/services/ApiService';\nimport { DriverApplication } from 'src/enums/DriverApplication';\nimport SessionService from 'src/services/SessionService';\n\n@Service()\nexport default class PickUpPointService extends WizardStepService {\n  @observable model = new PickUpPointModel();\n  @observable applicationType: DriverApplication = DriverApplication.DRIVER_LICENCE;\n  @observable private pickUpPlaces?: Array<Crr_WebApi_Responses_V1_OrpResponse> = undefined;\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get disableNextStep() {\n    return Number.isNaN(this.model.code);\n  }\n\n  @computed\n  get selectedOrpOption() {\n    return this.orpOptions.find((option) => option.value === this.model.code);\n  }\n\n  @computed\n  get summaryData() {\n    const orpOption = this.selectedOrpOption;\n\n    return [\n      {\n        label:\n          this.applicationType === DriverApplication.TACHOGRAPH\n            ? this.translate('pickUpPoint')\n            : this.translate('pickUpPointDriverLicence'),\n        value: orpOption?.label ?? '-',\n      },\n    ];\n  }\n\n  @computed\n  get pickupPlaces() {\n    return this.pickUpPlaces;\n  }\n\n  @computed\n  get summaryPromptData() {\n    const orpOption = this.selectedOrpOption;\n\n    return [\n      {\n        label: this.translate('pickUpPointPromptLabel'),\n        value: orpOption?.label ?? '-',\n      },\n    ];\n  }\n\n  @computed\n  get orpOptions(): SelectOption<number>[] {\n    if (!this.pickUpPlaces) return [];\n\n    return [...this.pickUpPlaces]\n      .sort((a, b) => {\n        const nameA = a.name || '';\n        const nameB = b.name || '';\n        return nameA.localeCompare(nameB, 'cs', { sensitivity: 'base' });\n      })\n      .map((item) => ({\n        key: item.code.toString(),\n        label: item.address ? `${item.name ?? ''} (${item.address})` : (item.name ?? ''),\n        value: item.code,\n      }));\n  }\n\n  @computed\n  get paymentPromptData() {\n    return this.selectedOrpOption?.label;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public apiService: ApiService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super(`${DriverApplication.SHARED}-pick-up`);\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number, applicationType: DriverApplication) {\n    this._step = stepNumber;\n    this.applicationType = applicationType;\n    this.getPickUpPlaces();\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new PickUpPointModel();\n    this.pickUpPlaces = undefined;\n    this.stopActivityWatcher();\n  }\n\n  @Watch<PickUpPointService>((s) => s.busyWatcher)\n  async getPickUpPlaces() {\n    if (!this.pickUpPlaces) {\n      const data = await this.apiService.crrApi.orps.getPdApiCrrV1Orps();\n      runInAction(() => {\n        this.pickUpPlaces = data;\n      });\n    }\n  }\n\n  @action.bound\n  saveToSessionStorage() {\n    const data = {\n      step: this.step,\n      code: this.model.code,\n      pickUpName: this.selectedOrpOption?.label,\n    };\n\n    const stringifiedData = JSON.stringify(data);\n\n    this.sessionService.set(this.sessionStorageKey, stringifiedData);\n\n    return data;\n  }\n\n  @action.bound\n  loadFromSessionStorage() {\n    const storedData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!storedData) return;\n\n    const data = JSON.parse(storedData) as ReturnType<PickUpPointService['saveToSessionStorage']>;\n\n    runInAction(() => {\n      this.model.code = data.code;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.code, this.pickupPlaces] as const;\n  }\n\n  translate = translate('driverng.driver-digital-tachograph', this);\n}\n","import AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { makeObservable } from 'mobx';\nimport { Validators } from 'src/data/validators/registry';\n\n@AddTranslationKey('driver-licence-application')\nexport default class SummaryModel {\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const SummaryModelValidators: ValidationDescriptor<SummaryModel, Validators> = {};\n","// ...existing code from 08_Summary\\SummaryService.ts...\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, makeObservable } from 'mobx';\nimport ValidationService from 'src/services/ValidationService';\nimport WizardStepService from 'src/services/WizardStepService';\nimport { Inject, Service } from 'typedi';\nimport ReasonService from '../../driverLicence/driverLicenceApplication/01_Reason/ReasonService';\nimport DetailsService from '../../driverLicence/driverLicenceApplication/02_Details/DetailsService';\nimport UserInfoService from '../../driverLicence/driverLicenceApplication/04_UserInfo/UserInfoService';\nimport SummaryModel from '../../driverLicence/driverLicenceApplication/07_Summary/SummaryModel';\nimport ContactDetailService from './ContactDetailService';\nimport PhotoSignatureService from './PhotoSignatureService';\nimport PickUpPointService from './PickUpPointService';\n\n@Service()\nexport default class SummaryService extends WizardStepService {\n  summaryStep = 8;\n\n  model = new SummaryModel();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public reasonService: ReasonService,\n    @Inject() public detailsService: DetailsService,\n    @Inject() public userInfoService: UserInfoService,\n    @Inject() public pickUpPointService: PickUpPointService,\n    @Inject() public photoSignatureService: PhotoSignatureService,\n    @Inject() public contactDetailService: ContactDetailService\n  ) {\n    super('summary');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number): void {\n    this._step = stepNumber;\n  }\n\n  @action.bound\n  reset(): void {}\n\n  translate = translate('driver-licence-application.summary', this);\n}\n","import { Button, Dialog } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { observer } from 'mobx-react-lite';\nimport ErrorViewModel from '../ErrorViewModel';\nimport './GovModal.scss';\n\ntype Modal503Props = {\n  vm: ErrorViewModel;\n  translate: Translator;\n};\n\nconst Modal503 = observer(({ vm, translate }: Modal503Props) => {\n  const { error } = vm;\n\n  const handleClick = () => {\n    window.location.reload();\n  };\n\n  return (\n    <div className=\"css-reset\">\n      <Dialog\n        className=\"gov4-error-modal\"\n        onClose={() => vm.closeModal()}\n        isVisible={Boolean(error)}\n        headline={translate('503.headline')}\n        icon=\"components/exclamation-triangle-fill\"\n        testId=\"503\"\n      >\n        <h3 className=\"gov-text--xl\">{translate('what-happened')}</h3>\n        <p className=\"gov-text--m mb-4\">{translate('503.issue')}</p>\n\n        <h3 className=\"gov-text--xl\">{translate('how-to-continue')}</h3>\n        <p className=\"gov-text--m mb-4\">{translate('503.continue')}</p>\n\n        <div className=\"d-flex align-items-center justify-content-start gap-4 flex-wrap\">\n          <Button text={translate('reload-page')} onClick={() => handleClick()} testId=\"button-503-reload\" />\n          <Button type=\"outlined\" text={translate('logout')} onClick={() => vm.logOut()} testId=\"button-503-logout\" />\n        </div>\n      </Dialog>\n    </div>\n  );\n});\n\nexport default Modal503;\n","import { Button, Dialog, Typography } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { observer } from 'mobx-react-lite';\nimport './GovModal.scss';\n\ntype Modal503Props = {\n  changeToOriginMandate: () => void;\n  translate: Translator;\n};\n\nconst Modal403 = observer(({ changeToOriginMandate, translate }: Modal503Props) => {\n  return (\n    <div className=\"css-reset\">\n      <Dialog\n        className=\"gov4-error-modal\"\n        isVisible\n        headline={translate('title-403-sections')}\n        onClose={changeToOriginMandate}\n        testId=\"modal-403\"\n      >\n        <Typography>{translate('body-403-sections')}</Typography>\n        <Button\n          className=\"modal-403-sections-button\"\n          text={translate('button-403-sections')}\n          onClick={changeToOriginMandate}\n          testId=\"modal-403-button\"\n        />\n      </Dialog>\n    </div>\n  );\n});\n\nexport default Modal403;\n","import { observer } from 'mobx-react-lite';\nimport ErrorViewModel from '../ErrorViewModel';\n\ntype BlueDeathModalProps = {\n  vm: ErrorViewModel;\n};\n\nfunction getErrorContent(error: any) {\n  if (!error) return '...';\n  if (error.message) return error.message;\n  return JSON.stringify(error, undefined, 2);\n}\n\nconst BlueDeathModal = observer(({ vm }: BlueDeathModalProps) => {\n  const { error, translate, reload } = vm;\n\n  return (\n    <div className=\"error-view\">\n      <div className=\"error-modal\">\n        <h1>{translate('heading')}</h1>\n        <p>{translate('hint')}</p>\n        <pre>{getErrorContent(error)}</pre>\n        <div className=\"button-row\">\n          <button data-testid=\"reload-button\" onClick={reload} className=\"gov-button gov-button--primary\">\n            {translate('reload')}\n          </button>\n        </div>\n      </div>\n    </div>\n  );\n});\n\nexport default BlueDeathModal;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ErrorViewModel from './ErrorViewModel';\nimport { observer } from 'mobx-react-lite';\nimport './ErrorView.scss';\nimport Modal503 from './components/Modal503';\nimport Modal403 from './components/Modal403';\nimport { StatusCodes } from 'src/enums/StatusCodes';\nimport BlueDeathModal from './components/BlueDeathModal';\n\nconst ErrorView: View<ErrorViewModel> = observer(({ vm }) => {\n  const { error, translate, changeToOriginMandate } = vm;\n\n  if (error?.status == StatusCodes.CODE_503) return <Modal503 translate={translate} vm={vm} />;\n\n  if (vm.errorService.is403SectionError(error))\n    return <Modal403 changeToOriginMandate={changeToOriginMandate} translate={translate} />;\n\n  return <BlueDeathModal vm={vm} />;\n});\n\nexport default ErrorView;\n","import { Inject, Service } from 'typedi';\nimport ErrorView from './ErrorView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ErrorService from '../../services/ErrorService';\nimport { action, computed } from 'mobx';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport MandatesService from 'src/services/MandatesService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport AuthService from 'src/services/AuthService';\n\n@AddInvisibleView()\n@AddConditionalView(ErrorView, (vm) => !!vm.error)\n@Service()\nexport default class ErrorViewModel {\n  constructor(\n    @Inject() public errorService: ErrorService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private mandateService: MandatesService,\n    @Inject() private authService: AuthService\n  ) {}\n\n  @computed get error() {\n    return this.errorService.error;\n  }\n\n  goToHome = () => {\n    window.location.href = '/home';\n  };\n\n  changeToOriginMandate = () => {\n    const auth = this.authService.getAuth();\n    const original_aifo_id = auth?.original_aifo_id ?? '';\n    this.mandateService.changeMandates(original_aifo_id, MandatePersonType.FO);\n  };\n\n  reload = () => {\n    window.location.reload();\n  };\n\n  @action\n  closeModal() {\n    this.errorService.error = undefined;\n  }\n\n  @action.bound\n  logOut() {\n    this.closeModal();\n    this.authService.logOut();\n  }\n\n  translate = translate('error', this);\n}\n","import Container from '@components/gov4/layout/Container';\nimport ErrorInfo from './components/ErrorInfo';\nimport type ErrorPageViewModel from './ErrorPageViewModel';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport './ErrorPageView.scss';\nimport { Button } from '@cendis/cedr-components';\nimport ErrorIcon from './components/ErrorIcon';\n\nconst ErrorPageView: View<ErrorPageViewModel> = observer(({ vm }) => {\n  const { errorInfo, translate } = vm;\n\n  return (\n    <Container className=\"error-page-view\">\n      <ErrorInfo\n        title={errorInfo.title}\n        whatHappenedTitle={translate('what-happened')}\n        whatHappenedText={errorInfo.issue}\n        howToContinueTitle={translate('how-to-continue')}\n        howToContinueText={errorInfo.continue}\n        errorId={errorInfo.errorId}\n        translate={translate}\n        icon={<ErrorIcon statusCode={errorInfo.statusCode} translate={vm.translate} />}\n      >\n        <Button onClick={errorInfo.buttonAction} testId=\"error-page-info\">\n          {errorInfo.buttonText}\n        </Button>\n      </ErrorInfo>\n    </Container>\n  );\n});\n\nexport default ErrorPageView;\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ErrorPageView from './ErrorPageView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { AllowAnonymous } from 'src/app/security';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { BreadcrumbControl } from 'src/app/breadcrumbs/types';\nimport LoginViewModel from 'src/app/login/LoginViewModel';\nimport HomeViewModel from 'src/app/home/HomeViewModel';\nimport { StatusCodes } from '../../../enums/StatusCodes';\nimport SessionService from 'src/services/SessionService';\nimport { extractErrorId } from 'src/utils/ErrorUtils';\n\n@AllowAnonymous()\n@AddDefaultView(ErrorPageView)\n@Service()\nexport default class ErrorPageViewModel extends BaseScreen {\n  @observable error?: any = undefined;\n  private sessionKey = 'error-page-view';\n\n  get pathNode(): string {\n    return 'error';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed\n  get errorInfo() {\n    let statusCode = StatusCodes.DEFAULT;\n    let errorId = extractErrorId(this.error);\n\n    if (this.error && this.error.status) {\n      switch (this.error.status) {\n        case 401:\n          statusCode = StatusCodes.CODE_401;\n          break;\n        case 403:\n          statusCode = StatusCodes.CODE_403;\n          break;\n        default:\n          statusCode = StatusCodes.DEFAULT;\n          break;\n      }\n    }\n\n    return {\n      statusCode: statusCode,\n      title: this.translate(`${statusCode}.title`),\n      issue: this.translate(`${statusCode}.issue`),\n      continue: this.translate(`${statusCode}.continue`),\n      buttonText: this.translate(`${statusCode}.buttonText`),\n      errorId: errorId,\n      buttonAction: () => this.buttonAction(statusCode),\n    };\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    try {\n      const sessionError = this.sessionService.get(this.sessionKey);\n      if (sessionError && !this.error) {\n        this.error = JSON.parse(sessionError);\n      } else if (this.error !== undefined) {\n        this.sessionService.set(this.sessionKey, JSON.stringify(this.toSerializableError(this.error)));\n      }\n    } catch {\n      this.sessionService.remove(this.sessionKey);\n    }\n  }\n\n  private toSerializableError(error: any) {\n    if (!error || typeof error !== 'object') return { message: String(error) };\n\n    return {\n      status: error.status,\n      message: typeof error.message === 'string' ? error.message : undefined,\n      requestId: typeof error.requestId === 'string' ? error.requestId : undefined,\n      body:\n        error.body && typeof error.body === 'object'\n          ? {\n              requestId: typeof error.body.requestId === 'string' ? error.body.requestId : undefined,\n              traceId: typeof error.body.traceId === 'string' ? error.body.traceId : undefined,\n              title: typeof error.body.title === 'string' ? error.body.title : undefined,\n            }\n          : undefined,\n    };\n  }\n\n  deactivate() {\n    this.sessionService.remove(this.sessionKey);\n  }\n\n  @action.bound\n  buttonAction(code: StatusCodes) {\n    switch (code) {\n      case StatusCodes.CODE_401:\n        window.location.href = this.navigator(LoginViewModel).getLinkLocation();\n        break;\n      case StatusCodes.CODE_403:\n        window.location.href = this.navigator(HomeViewModel).getLinkLocation();\n        break;\n      case StatusCodes.DEFAULT:\n        window.location.href = this.navigator(HomeViewModel).getLinkLocation();\n        break;\n    }\n  }\n\n  translate = translate('error', this);\n  translateFooter = translate('footer', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport './ErrorIcon.scss';\nimport { useMemo } from 'react';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { StatusCodes } from '../../../../enums/StatusCodes';\n\ntype ErrorIconProps = {\n  statusCode: StatusCodes.CODE_401 | StatusCodes.CODE_403 | StatusCodes.DEFAULT;\n  translate: Translator;\n  color?: 'default' | 'error';\n};\n\nconst ErrorIcon = observer(({ statusCode, translate, color = 'default' }: ErrorIconProps) => {\n  const imageSrc = useMemo(() => {\n    switch (statusCode) {\n      case StatusCodes.CODE_401:\n        return './site-public/img/errorPage/401.svg';\n      case StatusCodes.CODE_403:\n        return './site-public/img/errorPage/403.svg';\n      default:\n        return color === 'error' ? './site-public/img/errorPage/default_red.svg' : './site-public/img/errorPage/default.svg';\n    }\n  }, [statusCode, color]);\n\n  return (\n    <div className={getClassName('error-icon', statusCode.toString(), color == 'error' && 'red-color')}>\n      <img src={imageSrc} alt={translate('error-icon-alt')} />\n    </div>\n  );\n});\n\nexport default ErrorIcon;\n","import React from 'react';\nimport './ErrorInfo.scss';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype ErrorInfoProps = {\n  title: string;\n  whatHappenedTitle?: string;\n  whatHappenedText?: React.ReactNode;\n  howToContinueTitle?: string;\n  howToContinueText?: React.ReactNode;\n  errorId?: string;\n  translate: Translator;\n  children?: React.ReactNode;\n  countdown?: number;\n  icon: React.ReactNode;\n  className?: string;\n};\n\nconst ErrorInfo = ({\n  title,\n  whatHappenedTitle,\n  whatHappenedText,\n  howToContinueTitle,\n  howToContinueText,\n  errorId,\n  translate,\n  children,\n  icon,\n  className,\n}: ErrorInfoProps) => {\n  return (\n    <div className={`error-info ${className || ''}`}>\n      {icon}\n\n      <h1 className=\"error-title\">{title}</h1>\n\n      <h2 className=\"gov-text--xl mt-0\">{whatHappenedTitle}</h2>\n      <p className=\"gov-text--m text-value\">{whatHappenedText}</p>\n\n      <h2 className=\"gov-text--xl mt-0\">{howToContinueTitle}</h2>\n      <p className=\"gov-text--m text-value\">{howToContinueText}</p>\n\n      {errorId && (\n        <>\n          <h2 className=\"gov-text--xl\">{translate('tech-support-info')}</h2>\n          <p className=\"gov-text--m text-value\">\n            {translate('error-id')}: {errorId}\n          </p>\n        </>\n      )}\n\n      {children}\n    </div>\n  );\n};\n\nexport default ErrorInfo;\n","import { observer } from 'mobx-react-lite';\nimport './NotAllowedIcon.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype NotAllowedIconProps = {\n  translate: Translator;\n};\n\nconst NotAllowedIcon = observer(({ translate }: NotAllowedIconProps) => {\n  const imageSrc = './site-public/img/notAllowed/docStamp.svg';\n\n  return (\n    <div className=\"error-icon not-allowed\">\n      <img src={imageSrc} alt={translate('docStamp-icon-alt')} />\n    </div>\n  );\n});\n\nexport default NotAllowedIcon;\n","import React from 'react';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport useRoute from '@cendis/cedr-framework/dist/hooks/useRoute';\nimport './CardTree.scss';\nimport './CardOptionalService.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\nexport type DisabledTile = {\n  disabled: boolean;\n  message: string;\n};\n\nexport type CardTreeProps = {\n  link: IRoute;\n  iconElement: () => React.ReactNode;\n  imageElement?: string;\n  text?: string;\n  name?: string;\n  linkClassName?: string;\n  testId: string;\n  optionalService?: boolean;\n  disabledTile?: DisabledTile;\n};\n\nconst CardTree = ({\n  text,\n  name,\n  link,\n  iconElement,\n  imageElement,\n  linkClassName,\n  testId,\n  optionalService,\n  disabledTile,\n}: CardTreeProps) => {\n  const click = useRoute(link);\n  const icon = iconElement();\n  const image = (\n    <div className=\"image-wrapper\">\n      <img src={imageElement} alt={name} />\n    </div>\n  );\n  return (\n    <div className={optionalService ? 'component-optional-service' : 'component-navigation-cardtree'}>\n      {disabledTile?.disabled ? (\n        <div className=\"card-tree disable\" aria-label={text} data-testid={`'${testId}-disabled'`}>\n          {imageElement && image}\n          <div className=\"label\">\n            <div className=\"label-icon\">{icon}</div>\n            <div className=\"label-title mobile-visible\">\n              <h2>{name}</h2>\n            </div>\n          </div>\n\n          <div className=\"label mobile-hidden\">\n            <div className=\"d-flex\">\n              <h2 className=\"strong flex-grow-1\">{name}</h2>\n              {icon}\n            </div>\n          </div>\n          <div className=\"warning-label\" data-testid={`'${testId}-disabled-message'`}>\n            {disabledTile.message}\n          </div>\n        </div>\n      ) : (\n        <a\n          className={getClassName('card-tree', linkClassName)}\n          href={link.getLinkLocation()}\n          onClick={click}\n          aria-label={text}\n          data-testid={testId}\n        >\n          {imageElement && image}\n\n          <div className=\"label\">\n            <div className=\"d-flex\">\n              <h2 className=\"strong flex-grow-1\">{name}</h2>\n              {icon}\n            </div>\n            {text && <p>{text}</p>}\n          </div>\n        </a>\n      )}\n    </div>\n  );\n};\n\nexport default CardTree;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type HomeViewModel from './HomeViewModel';\nimport { observer } from 'mobx-react-lite';\nimport CardTree from '../../components/navigation/CardTree';\nimport './HomeView.scss';\nimport './gov-loader.scss';\nimport MandatesIcon from '@components/icons/MandatesIcon';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport ComponentSkeleton from '@components/gov4/ComponentSkeleton';\nimport { Button, Message } from '@cendis/cedr-components';\nimport InfoMessages from '../landingPage/components/InfoMessages';\nimport { Domain_Contracts_Enums_Egon_SectionType } from 'src/data/egon/api';\n\nconst HomeView: View<HomeViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    translateLogin,\n    navNewDriver,\n    navVehicleMenu,\n    navPilot,\n    navShipMenu,\n    navMandates,\n    navNotification,\n    messages,\n    disabledSectionTiles,\n  } = vm;\n  //const taxiRoute = navigator(TaxiViewModel);\n\n  const getDisabledTileOptions = (type: Domain_Contracts_Enums_Egon_SectionType) => {\n    const defaultResult = { disabled: false, message: '' };\n\n    const disabledFromEp = disabledSectionTiles.find((tile) => tile.sectionType === type);\n\n    if (disabledFromEp) {\n      return {\n        disabled: true,\n        message: disabledFromEp.message ?? translate('disabledTileDefaultMessage'),\n      };\n    }\n\n    const { authorizationService } = vm;\n\n    if (!authorizationService.initialized || authorizationService.busyWatcher.isBusy) {\n      return defaultResult;\n    }\n\n    const hasAuthorization = vm.sectionAuthorizationMap[type] ?? true;\n\n    if (!hasAuthorization) {\n      return {\n        disabled: true,\n        message: translate('disabledTileDefaultMessage'),\n      };\n    }\n\n    return defaultResult;\n  };\n\n  const NewCrrCard = (\n    <CardTree\n      name={translate('driver.name')}\n      iconElement={() => (\n        <MandatesIcon\n          isLink={true}\n          name={translate('driver.name')}\n          icon=\"site-public/img/icon/new/driver.svg\"\n        />\n      )}\n      imageElement=\"site-public/img/home/driver.jpg\"\n      link={navNewDriver}\n      text={translate('driver.description')}\n      testId=\"driver-card\"\n      disabledTile={getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.DRIVER)}\n    />\n  );\n\n  const RsvCard = (\n    <CardTree\n      name={translate('car.name')}\n      iconElement={() => (\n        <MandatesIcon isLink={true} name={translate('car.name')} icon=\"site-public/img/icon/new/car.svg\" />\n      )}\n      imageElement=\"site-public/img/home/car.jpg\"\n      link={navVehicleMenu}\n      text={translate('car.description')}\n      linkClassName=\"test-nav-vehicles\"\n      testId=\"rsv-card\"\n      disabledTile={getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.VEHICLES)}\n    />\n  );\n\n  const SpsCard = (\n    <CardTree\n      name={translate('ship.name')}\n      iconElement={() => (\n        <MandatesIcon isLink={true} name={translate('ship.name')} icon=\"site-public/img/icon/new/ship.svg\" />\n      )}\n      imageElement=\"site-public/img/home/ship.jpg\"\n      link={navShipMenu}\n      text={translate('ship.description')}\n      testId=\"sps-card\"\n      disabledTile={getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.VESSELS)}\n    />\n  );\n\n  const UclCard = (\n    <CardTree\n      name={translate('airplane.name')}\n      iconElement={() => (\n        <MandatesIcon\n          isLink={true}\n          name={translate('airplane.name')}\n          icon=\"site-public/img/icon/new/airplane.svg\"\n        />\n      )}\n      imageElement=\"site-public/img/home/airplane.jpg\"\n      link={navPilot}\n      text={translate('airplane.description')}\n      testId=\"aviation-card\"\n      disabledTile={getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.AVIATION)}\n    />\n  );\n\n  const MandatesCard = (\n    <CardTree\n      name={translate('mandates.name')}\n      iconElement={() => (\n        <MandatesIcon\n          isLink={true}\n          name={translate('mandates.name')}\n          icon={\n            getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.MANDATES).disabled\n              ? 'site-public/img/icon/new/union.svg'\n              : 'site-public/img/icon/new/mandates.svg'\n          }\n        />\n      )}\n      link={navMandates}\n      linkClassName=\"card-mandate\"\n      text={translate('mandates.description')}\n      testId=\"mandates-card\"\n      optionalService={true}\n      disabledTile={getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.MANDATES)}\n    />\n  );\n\n  const NotificationCard = (\n    <CardTree\n      name={translate('notification.name')}\n      iconElement={() => (\n        <MandatesIcon\n          isLink={true}\n          name={translate('notification.name')}\n          icon={\n            getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.NOTIFICATIONS).disabled\n              ? 'site-public/img/icon/new/union.svg'\n              : 'site-public/img/icon/new/notification.svg'\n          }\n        />\n      )}\n      link={navNotification}\n      linkClassName=\"card-notification\"\n      text={translate('notification.description')}\n      testId=\"notifications-card\"\n      optionalService={true}\n      disabledTile={getDisabledTileOptions(Domain_Contracts_Enums_Egon_SectionType.NOTIFICATIONS)}\n    />\n  );\n\n  return (\n    <>\n      <div className=\"gov-container view-home\">\n        <div className=\"gov-container__content\">\n          <InfoMessages messages={messages} translate={translateLogin} className=\"mb-3\" />\n          <h1>{translate('title')}</h1>\n\n          {/* NOTIFICATIONS ONBOARDING */}\n          <ConditionalView\n            required={[(x) => x.ON_BOARDING, () => !vm.userService.contactInfo?.email]}\n            loading={vm.userService.busyWatcherContactInfo.isBusy}\n          >\n            <div className=\"css-reset notification-container\">\n              <Message className=\"mb-4\">\n                {translate('notifications-onboarding')}{' '}\n                <Button\n                  type=\"link\"\n                  color=\"neutral\"\n                  size=\"m\"\n                  className=\"thin-link\"\n                  onClick={() => navNotification.go()}\n                  testId=\"onboarding\"\n                >\n                  {translate('notifications-link')}\n                </Button>\n                .\n              </Message>\n            </div>\n          </ConditionalView>\n\n          <div className=\"row gx-0 nav-container mb-5\">\n            {/* CRR */}\n            {/*<ConditionalView\n              required={[(x) => x.FO, (x) => x.CRR]}\n              fallbackComponent={<ComponentSkeleton className=\"col-md-6\">{CrrCard}</ComponentSkeleton>}\n            >\n              <div className=\"col-md-6\">{CrrCard}</div>\n            </ConditionalView>*/}\n\n            {/* new CRR & FO */}\n            <ConditionalView\n              fallbackComponent={<ComponentSkeleton className=\"col-md-6\">{NewCrrCard}</ComponentSkeleton>}\n            >\n              <div className=\"col-md-6\">{NewCrrCard}</div>\n            </ConditionalView>\n\n            {/* RSV */}\n            <ConditionalView\n              fallbackComponent={<ComponentSkeleton className=\"col-md-6\">{RsvCard}</ComponentSkeleton>}\n            >\n              <div className=\"col-md-6\">{RsvCard}</div>\n            </ConditionalView>\n\n            {/* SPS */}\n            <ConditionalView\n              fallbackComponent={<ComponentSkeleton className=\"col-md-6\">{SpsCard}</ComponentSkeleton>}\n            >\n              <div className=\"col-md-6\">{SpsCard}</div>\n            </ConditionalView>\n\n            {/* UCL */}\n            <ConditionalView\n              fallbackComponent={<ComponentSkeleton className=\"col-md-6\">{UclCard}</ComponentSkeleton>}\n            >\n              <div className=\"col-md-6\">{UclCard}</div>\n            </ConditionalView>\n\n            {/* TRAIN\n            <ConditionalView\n              required={(x) => x.TRAIN}\n              fallbackComponent={<ComponentSkeleton className=\"col-md-6\">{trainCard}</ComponentSkeleton>}\n            >\n              <div className=\"col-md-6\">{trainCard}</div>\n            </ConditionalView>\n            */}\n          </div>\n          <h2 className=\"sub-title\">{translate('sub-title')}</h2>\n          <div className=\"row gx-0 nav-container\">\n            {/* NOTIFICATIONS */}\n            <ConditionalView\n              fallbackComponent={\n                <ComponentSkeleton className=\"col-md-6\">{NotificationCard}</ComponentSkeleton>\n              }\n            >\n              <div className=\"col-md-6\">{NotificationCard}</div>\n            </ConditionalView>\n\n            {/* MANDATES */}\n\n            <ConditionalView\n              fallbackComponent={<ComponentSkeleton className=\"col-md-6\">{MandatesCard}</ComponentSkeleton>}\n            >\n              <div className=\"col-md-6\">{MandatesCard}</div>\n            </ConditionalView>\n          </div>\n          {/*<div className=\"mt-5 mb-5\">\n            <h3 className=\"pt-md-5\">{translate('links.title')}</h3>\n            <div className=\"row gx-0\">\n              <div className=\"col-md\">\n                {window.jsEnv.taxiUrlEnabled == 'true' ? (\n                  <CardLink\n                    name={translate('links.1.name')}\n                    link={taxiRoute}\n                    text={translate('links.1.description')}\n                    testId=\"taxi\"\n                  />\n                ) : (\n                  <CardLinkExt\n                    name={translate('links.1.name')}\n                    link={translate('links.1.link')}\n                    text={translate('links.1.description')}\n                    testId=\"taxi-external\"\n                  />\n                )}\n              </div>\n              <div className=\"col-md\">\n                <CardLinkExt\n                  name={translate('links.2.name')}\n                  link={translate('links.2.link')}\n                  text={translate('links.2.description')}\n                  testId=\"one-ticket\"\n                />\n              </div>\n              <div className=\"col-md\">\n                <CardLinkExt\n                  name={translate('links.3.name')}\n                  link={translate('links.3.link')}\n                  text={translate('links.3.description')}\n                  testId=\"pem\"\n                />\n              </div>\n              <div className=\"col-md\">\n                <CardLinkExt\n                  name={translate('links.4.name')}\n                  link={translate('links.4.link')}\n                  text={translate('links.4.description')}\n                  testId=\"po\"\n                />\n              </div>\n            </div>\n          </div>*/}\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default HomeView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport HomeView from './HomeView';\nimport Container, { Inject, Service } from 'typedi';\nimport { computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport DriverNgViewModel from '../driver_ng/DriverNgViewModel';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../breadcrumbs/types';\nimport VehicleViewModel from '../vehicle/VehicleViewModel';\nimport ShipViewModel from '../ship/ShipViewModel';\nimport PilotViewModel from '../aviation/AviationViewModel';\nimport MandatesService from '../../services/MandatesService';\nimport MandateViewModel from '../mandates/MandateViewModel';\nimport NotificationViewModel from '../notificationAndContact/NotificationViewModel';\nimport { UserService } from 'src/services/UserService';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport InitialBusyView from '../initialBusyView/InitialBusyView';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport InfoMessageRepository from '../../data/repositories/InfoMessageRepository';\nimport ApiService from '../../services/ApiService';\nimport {\n  Domain_Contracts_Enums_Egon_SectionType,\n  EgonServiceBus_WebApi_Responses_V1_DisabledSectionTileResponse,\n} from 'src/data/egon/api';\n\n@AddDefaultView(HomeView)\n@AddConditionalView(InitialBusyView, () => {\n  const mandatesService = Container.get(MandatesService);\n  const authorizationService = Container.get(AuthorizationService);\n  return mandatesService.initialized === false || authorizationService.initialized === false;\n})\n@Service()\nexport default class HomeViewModel extends BaseScreen implements BreadcrumbScreen {\n  @observable messages: string[] = [];\n  @observable disabledSectionTiles: EgonServiceBus_WebApi_Responses_V1_DisabledSectionTileResponse[] = [];\n\n  get pathNode(): string {\n    return 'home';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public mandatesService: MandatesService,\n    @Inject() public userService: UserService,\n    @Inject() public authorizationService: AuthorizationService,\n    @Inject() public infoMessageRepository: InfoMessageRepository,\n    @Inject() private ApiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async activate() {\n    await this.fetchMessage();\n    await this.userService.getContactInfo();\n    this.fetchDisableSectionTiles();\n  }\n\n  @computed get navNewDriver() {\n    return this.navigator(DriverNgViewModel);\n  }\n\n  @computed get navPilot() {\n    return this.navigator(PilotViewModel);\n  }\n\n  @computed get navMandates() {\n    return this.navigator(MandateViewModel);\n  }\n\n  @computed get navNotification() {\n    return this.navigator(NotificationViewModel);\n  }\n\n  @computed get navVehicleMenu() {\n    return this.navigator(VehicleViewModel);\n  }\n\n  @computed get navShipMenu() {\n    return this.navigator(ShipViewModel);\n  }\n\n  emptyAuthorizationMap: Record<Domain_Contracts_Enums_Egon_SectionType, boolean | undefined> = {\n    [Domain_Contracts_Enums_Egon_SectionType.UNKNOWN]: undefined,\n    [Domain_Contracts_Enums_Egon_SectionType.DRIVER]: undefined,\n    [Domain_Contracts_Enums_Egon_SectionType.VEHICLES]: undefined,\n    [Domain_Contracts_Enums_Egon_SectionType.AVIATION]: undefined,\n    [Domain_Contracts_Enums_Egon_SectionType.VESSELS]: undefined,\n    [Domain_Contracts_Enums_Egon_SectionType.NOTIFICATIONS]: undefined,\n    [Domain_Contracts_Enums_Egon_SectionType.MANDATES]: undefined,\n  };\n\n  @computed\n  get sectionAuthorizationMap(): Record<Domain_Contracts_Enums_Egon_SectionType, boolean | undefined> {\n    if (!this.authorizationService.initialized) {\n      return this.emptyAuthorizationMap;\n    }\n\n    return {\n      [Domain_Contracts_Enums_Egon_SectionType.UNKNOWN]: undefined,\n      [Domain_Contracts_Enums_Egon_SectionType.VEHICLES]: this.authorizationService.conditions.RSV,\n      [Domain_Contracts_Enums_Egon_SectionType.MANDATES]: this.authorizationService.conditions.MANDATES,\n      [Domain_Contracts_Enums_Egon_SectionType.VESSELS]: this.authorizationService.conditions.SPS,\n      [Domain_Contracts_Enums_Egon_SectionType.AVIATION]: this.authorizationService.conditions.UCL,\n      [Domain_Contracts_Enums_Egon_SectionType.DRIVER]:\n        this.authorizationService.conditions.CRR && this.authorizationService.conditions.FO,\n      [Domain_Contracts_Enums_Egon_SectionType.NOTIFICATIONS]:\n        this.authorizationService.conditions.NOTIFICATIONS,\n    };\n  }\n\n  /*\n   * Prozatimni reseni\n   * */\n  private fetchMessage = async () => {\n    const messages = await this.infoMessageRepository.getMessage();\n\n    runInAction(() => {\n      this.messages = messages;\n    });\n  };\n\n  private fetchDisableSectionTiles = async () => {\n    const disabledTiles =\n      await this.ApiService.egonApi.disabledSectionTiles.getPdApiEgonV1DisabledSectionTiles();\n\n    runInAction(() => {\n      this.disabledSectionTiles = disabledTiles;\n    });\n  };\n\n  translate = translate('home', this);\n  translateLogin = translate('login', this);\n  translateFooter = translate('footer', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './LoginButton.scss';\n\ntype LoginButtonProps = {\n  translate: Translator;\n  isBusy: boolean;\n  login: () => void;\n};\n\nconst LoginButton = observer(({ translate, isBusy, login }: LoginButtonProps) => {\n  return (\n    <button data-testid=\"login-button\" className=\"lp-login-button\" onClick={isBusy ? () => {} : login}>\n      {isBusy ? (\n        <>\n          {/* invisible content */}\n          <div className=\"invisible-content\">{translate('login-button')}</div>\n          {/* loader */}\n          <div className=\"login-button-loader sg-loaders__item sg-loaders__item--blue\">\n            <div className={'gov-loader'}>\n              <span>&nbsp;</span>\n              <span>&nbsp;</span>\n              <span>&nbsp;</span>\n            </div>\n          </div>\n        </>\n      ) : (\n        <>\n          <img className=\"chevron desktop-login-button\" src=\"site-public/gov-icons/box-arrow-in-right.svg\" />\n          <span className=\"desktop-login-button\">{translate('login-button')}</span>\n          <span className=\"mobile-login-button\">{translate('login-button-mobile')}</span>\n        </>\n      )}\n    </button>\n  );\n});\n\nexport default LoginButton;\n","import { observer } from 'mobx-react-lite';\nimport './LandingPageHeader.scss';\nimport LogoIcon from '../../../components/icons/Logo';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport LoginButton from './LoginButton';\nimport { useEffect, useRef } from 'react';\nimport { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\n\ntype LandingPageHeaderProps = {\n  translate: Translator;\n  logoLink: IRoute;\n  login: () => void;\n  isBusy: boolean;\n  menuControls: {\n    menuOpened: boolean;\n    closeMenu: () => void;\n    openMenu: () => void;\n    videoModalOpened: boolean;\n    toggleVideoModal: () => void;\n  };\n};\n\nconst LandingPageHeader = observer(\n  ({ login, logoLink, isBusy, translate, menuControls }: LandingPageHeaderProps) => {\n    const headerContainerRef = useRef<HTMLHeadingElement | null>(null);\n    const mobileMenuRef = useRef<HTMLDivElement | null>(null);\n\n    useEffect(() => {\n      const handleClickOutside = (e: MouseEvent) => {\n        if (\n          headerContainerRef.current &&\n          e.target instanceof Node &&\n          !headerContainerRef.current.contains(e.target)\n        ) {\n          menuControls.closeMenu();\n        }\n      };\n\n      document.addEventListener('click', handleClickOutside);\n      return () => {\n        document.removeEventListener('click', handleClickOutside);\n      };\n    }, []);\n\n    useEffect(() => {\n      const handleFocus = (e: FocusEvent) => {\n        if (!(mobileMenuRef.current && e.target instanceof Node)) return;\n\n        const targetInside = mobileMenuRef.current.contains(e.target);\n\n        if (!targetInside && menuControls.menuOpened) {\n          menuControls.closeMenu();\n        } else if (targetInside && !menuControls.menuOpened) {\n          menuControls.openMenu();\n        }\n      };\n\n      document.addEventListener('focusin', handleFocus);\n      return () => {\n        document.removeEventListener('focusin', handleFocus);\n      };\n    }, [menuControls.menuOpened]);\n\n    return (\n      <header className=\"lp-header w-100\" ref={headerContainerRef}>\n        <div\n          className=\"header-container d-flex align-items-stretch justify-content-between c:max-w-[1600px]\n            c:gap-10 c:px-4 c:md:px-10 mx-auto w-100 py-2\"\n        >\n          <a\n            data-testid=\"lp-logo\"\n            href={logoLink.getPathLocation()}\n            className=\"lp-logo d-flex align-items-center justify-content-start text-decoration-none\"\n          >\n            <LogoIcon />\n            <span className=\"pd-name\">{translate('logo-name')}</span>\n          </a>\n\n          {/* DESKTOP NAVIGATION */}\n          <div className=\"lp-desktop-header-content d-flex align-items-center justify-content-end w-100\">\n            <LoginButton translate={translate} login={login} isBusy={isBusy} />\n          </div>\n        </div>\n      </header>\n    );\n  }\n);\n\nexport default LandingPageHeader;\n","import { observer } from 'mobx-react-lite';\nimport './HeroBanner.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport HeroWaveTop from '@components/icons/hero/HeroWaveTop';\nimport HeroWaveBottom from '@components/icons/hero/HeroWaveBottom';\nimport HeroPanel from '@components/icons/hero/HeroPanel';\nimport HeroShip from '@components/icons/hero/HeroShip';\nimport HeroPlane from '@components/icons/hero/HeroPlane';\nimport HeroCar from '@components/icons/hero/HeroCar';\nimport HeroCardOutline from '@components/icons/hero/HeroCardOutline';\nimport HeroCardFace from '@components/icons/hero/HeroCardFace';\n\ntype HeroBannerProps = {\n  translate: Translator;\n  login: () => void;\n  isBusy: boolean;\n};\n\nconst HeroBanner = observer(({ translate, login, isBusy }: HeroBannerProps) => {\n  return (\n    <section className=\"hero-banner\">\n      <div className=\"hero-waves\" aria-hidden=\"true\">\n        <HeroWaveTop className=\"hero-wave\" />\n        <HeroWaveBottom className=\"hero-wave\" />\n      </div>\n\n      <div className=\"hero-content\">\n        <h1 className=\"hero-title\">{translate('hero.title')}</h1>\n        <p className=\"hero-subtitle\">{translate('hero.subtitle')}</p>\n\n        <button\n          data-testid=\"hero-login-button\"\n          className=\"hero-login-button\"\n          onClick={login}\n          disabled={isBusy}\n        >\n          {isBusy ? (\n            <div className=\"hero-login-button-loader sg-loaders__item sg-loaders__item--blue\">\n              <div className=\"gov-loader\">\n                <span>&nbsp;</span>\n                <span>&nbsp;</span>\n                <span>&nbsp;</span>\n              </div>\n            </div>\n          ) : (\n            <span>{translate('hero.login')}</span>\n          )}\n        </button>\n      </div>\n\n      <div className=\"hero-decoration\" aria-hidden=\"true\">\n        <HeroPanel className=\"hero-panel\" />\n\n        <span className=\"hero-transport hero-ship\">\n          <HeroShip />\n        </span>\n\n        <div className=\"hero-card\">\n          <HeroCardOutline className=\"hero-card-outline\" />\n          <HeroCardFace className=\"hero-card-face\" />\n          <HeroCar className=\"hero-car\" />\n        </div>\n\n        <span className=\"hero-transport hero-plane\">\n          <HeroPlane />\n        </span>\n      </div>\n    </section>\n  );\n});\n\nexport default HeroBanner;\n","import { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './ServiceCard.scss';\nimport { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\n\ntype ServiceCardProps = {\n  icon: ReactNode;\n  title: string;\n  description: string;\n  link: IRoute;\n  onClick: () => void;\n  badge?: string;\n  testId?: string;\n};\n\nconst ServiceCard = observer(\n  ({ icon, title, description, link, onClick, badge, testId }: ServiceCardProps) => {\n    const handleClick = (e: React.MouseEvent) => {\n      e.preventDefault();\n      e.stopPropagation();\n      onClick();\n    };\n\n    return (\n      <a data-testid={testId} href={link.getLinkLocation()} className=\"service-card\" onClick={handleClick}>\n        <span className=\"service-card-icon\">{icon}</span>\n        <div className=\"service-card-content\">\n          <h3 className=\"service-card-title\">{title}</h3>\n          <p className=\"service-card-description\">{description}</p>\n          {badge && <span className=\"service-card-badge\">{badge}</span>}\n        </div>\n      </a>\n    );\n  }\n);\n\nexport default ServiceCard;\n","import { observer } from 'mobx-react-lite';\nimport { useState, type ReactNode } from 'react';\nimport './ServicesSection.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ServiceCard from './ServiceCard';\nimport DocStampBlueIcon from '../../../components/icons/DocStampBlueIcon';\nimport DriverFileBlueIcon from '../../../components/icons/DriverFileBlueIcon';\nimport IdCardBlueIcon from '../../../components/icons/IdCardBlueIcon';\nimport OwnerChangeBlueIcon from '../../../components/icons/OwnerChangeBlueIcon';\nimport CarIcon from '../../../components/icons/CarIcon';\nimport BellIcon from 'src/components/icons/BellIcon';\nimport useDragScroll from 'src/hooks/useDragScroll';\nimport { Nav } from 'src/app/RootViewModelTypes';\n\ntype ServicesSectionProps = {\n  translate: Translator;\n  nav: Nav;\n};\n\ntype ServiceCardConfig = {\n  testId: string;\n  icon: ReactNode;\n  key: string;\n  nav: keyof Nav;\n  hasBadge?: boolean;\n};\n\nconst SERVICE_CARDS: ServiceCardConfig[] = [\n  {\n    testId: 'service-driver-licence',\n    icon: <IdCardBlueIcon />,\n    key: 'driver-licence',\n    nav: 'driverLicence',\n    hasBadge: true,\n  },\n  { testId: 'service-vehicle-info', icon: <CarIcon />, key: 'vehicle-info', nav: 'rsv' },\n  { testId: 'service-notifications', icon: <BellIcon />, key: 'notifications', nav: 'notification' },\n  { testId: 'service-change-owner', icon: <OwnerChangeBlueIcon />, key: 'change-owner', nav: 'rsv' },\n  { testId: 'service-driver-records', icon: <DriverFileBlueIcon />, key: 'driver-records', nav: 'driver' },\n  {\n    testId: 'service-power-of-attorney',\n    icon: <DocStampBlueIcon />,\n    key: 'power-of-attorney',\n    nav: 'mandates',\n  },\n];\n\nconst ServicesSection = observer(({ translate, nav }: ServicesSectionProps) => {\n  const { ref: gridRef, dragProps, isDragging } = useDragScroll<HTMLDivElement>();\n  const [showAll, setShowAll] = useState(false);\n\n  return (\n    <section className=\"services-section\" id=\"services\">\n      <div className=\"services-header\">\n        <h2 className=\"services-title\">{translate('services.title')}</h2>\n        <span className=\"services-discount-badge\">{translate('services.discount-badge')}</span>\n      </div>\n\n      <div\n        ref={gridRef}\n        className={`services-grid ${isDragging ? 'is-dragging' : ''}${showAll ? 'is-expanded' : ''}`}\n        {...dragProps}\n      >\n        {!showAll ? <div className=\"services-grid__spacer\" /> : null}\n        {SERVICE_CARDS.map(({ testId, icon, key, nav: navKey, hasBadge }) => (\n          <ServiceCard\n            key={key}\n            testId={testId}\n            icon={icon}\n            title={translate(`services.${key}.title`)}\n            description={translate(`services.${key}.info`)}\n            badge={hasBadge ? translate(`services.${key}.badge`) : undefined}\n            link={nav[navKey].link}\n            onClick={nav[navKey].onClick}\n          />\n        ))}\n        {!showAll ? <div className=\"services-grid__spacer\" /> : null}\n      </div>\n      <button\n        type=\"button\"\n        className=\"services-toggle\"\n        aria-pressed={showAll}\n        onClick={() => setShowAll((prev) => !prev)}\n      >\n        {translate(showAll ? 'services.show-less' : 'services.show-all')}\n      </button>\n    </section>\n  );\n});\n\nexport default ServicesSection;\n","type Props = { className?: string };\n\nconst NewAddressYellowShape = ({ className }: Props) => (\n  <svg\n    className={className}\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"362\"\n    height=\"216\"\n    viewBox=\"0 0 362 216\"\n    fill=\"none\"\n    preserveAspectRatio=\"none\"\n  >\n    <path d=\"M88.7167 -25L495.897 -25L407.18 241.569H0L88.7167 -25Z\" fill=\"#FAB413\" />\n  </svg>\n);\n\nexport default NewAddressYellowShape;\n","type Props = { className?: string };\n\nconst NewAddressNavyShape = ({ className }: Props) => (\n  <svg\n    className={className}\n    xmlns=\"http://www.w3.org/2000/svg\"\n    width=\"353\"\n    height=\"216\"\n    viewBox=\"0 0 353 216\"\n    fill=\"none\"\n    preserveAspectRatio=\"none\"\n  >\n    <path\n      d=\"M88.6398 -25L478.256 -25L389.617 241.569H0L88.6398 -25Z\"\n      fill=\"url(#new-address-banner-gradient)\"\n    />\n    <defs>\n      <linearGradient\n        id=\"new-address-banner-gradient\"\n        x1=\"0\"\n        y1=\"108.285\"\n        x2=\"796.584\"\n        y2=\"108.285\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stopColor=\"#13263E\" />\n        <stop offset=\"0.714286\" stopColor=\"#337FC4\" />\n      </linearGradient>\n    </defs>\n  </svg>\n);\n\nexport default NewAddressNavyShape;\n","import { observer } from 'mobx-react-lite';\nimport './NewAddressBanner.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NewAddressYellowShape from './NewAddressYellowShape';\nimport NewAddressNavyShape from './NewAddressNavyShape';\n\ntype NewAddressBannerProps = {\n  translate: Translator;\n};\n\nconst NewAddressBanner = observer(({ translate }: NewAddressBannerProps) => {\n  return (\n    <section className=\"new-address-banner\">\n      <div className=\"new-address-banner__decoration\" aria-hidden=\"true\">\n        <NewAddressYellowShape className=\"new-address-banner__shape new-address-banner__shape--yellow\" />\n        <NewAddressNavyShape className=\"new-address-banner__shape new-address-banner__shape--navy\" />\n      </div>\n\n      <div className=\"new-address-banner__content\">\n        <h2 className=\"new-address-banner__title\">{translate('newAddress.title')}</h2>\n        <p className=\"new-address-banner__subtitle\">\n          {translate('newAddress.subtitle1')}\n          <br />\n          {translate('newAddress.subtitle2')}\n        </p>\n      </div>\n\n      <a\n        className=\"new-address-banner__url\"\n        href={translate('newAddress.urlHref')}\n        data-testid=\"new-address-banner-url\"\n      >\n        {translate('newAddress.url')}\n      </a>\n    </section>\n  );\n});\n\nexport default NewAddressBanner;\n","import SteeringWheelIcon from '../../../components/icons/SteeringWheelIcon';\nimport CarBlueIcon from '../../../components/icons/CarBlueIcon';\nimport ShipIcon from '../../../components/icons/ShipIcon';\nimport PlaneIcon from '../../../components/icons/PlaneIcon';\nimport BellBlueIcon from '../../../components/icons/BellBlueIcon';\nimport MandatesBlueIcon from 'src/components/icons/MandatesBlueIncon';\nimport { Nav } from 'src/app/RootViewModelTypes';\n\nexport type ServiceCategory = {\n  id: string;\n  key: string;\n  icon: JSX.Element;\n  navs: (keyof Nav)[];\n};\n\nconst repeatNav = (navKey: keyof Nav, count: number): (keyof Nav)[] => Array(count).fill(navKey);\n\nexport const SERVICE_CATEGORIES: ServiceCategory[] = [\n  {\n    id: 'driver',\n    key: 'driver',\n    icon: <SteeringWheelIcon />,\n    navs: [\n      'driverLicence',\n      'driverLicence',\n      'driverBan',\n      'driverLicence',\n      'driverLicence',\n      'driver',\n      'driver',\n    ],\n  },\n  {\n    id: 'vehicle',\n    key: 'vehicle',\n    icon: <CarBlueIcon />,\n    navs: repeatNav('rsv', 17),\n  },\n  {\n    id: 'ship',\n    key: 'ship',\n    icon: <ShipIcon />,\n    navs: [\n      'shipReplacement',\n      'shipNew',\n      'shipExchange',\n      'shipCrewEu',\n      'shipExam',\n      'shipAdnExam',\n      'shipAdnRenewal',\n      'shipSwimmingBook',\n      'shipMachinist',\n      'shipExtensionValidity',\n      'shipVesselRegistration',\n      'shipChanges',\n      'shipChangeOwner',\n      'shipBuyerAuth',\n      'shipExtensionAndChanges',\n      'shipDuplicate',\n      'shipRemoval',\n      'ship',\n    ],\n  },\n  {\n    id: 'aviation',\n    key: 'aviation',\n    icon: <PlaneIcon />,\n    navs: ['aviation'],\n  },\n  {\n    id: 'notification',\n    key: 'notifications',\n    icon: <BellBlueIcon />,\n    navs: repeatNav('notification', 3),\n  },\n  {\n    id: 'mandates',\n    key: 'mandates',\n    icon: <MandatesBlueIcon />,\n    navs: repeatNav('mandates', 9),\n  },\n];\n","import { useEffect, useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport './PortalServices.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport CloseIcon from '@components/icons/CrossIcon';\nimport ChevronRight from 'src/components/icons/ChevronRight';\nimport { Nav } from 'src/app/RootViewModelTypes';\nimport { SERVICE_CATEGORIES } from './PortalServicesCategories';\n\ntype PortalServicesProps = {\n  translate: Translator;\n  nav: Nav;\n};\n\nconst PortalServices = observer(({ translate, nav }: PortalServicesProps) => {\n  const [activeId, setActiveId] = useState(SERVICE_CATEGORIES[0].id);\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const activeCategory =\n    SERVICE_CATEGORIES.find((category) => category.id === activeId) ?? SERVICE_CATEGORIES[0];\n  const activeLabel = translate(`portalServices.${activeCategory.key}.label`);\n\n  const handleSelect = (id: string) => {\n    setActiveId(id);\n    setIsModalOpen(window.matchMedia('(max-width: 900px)').matches);\n  };\n\n  const closeModal = () => setIsModalOpen(false);\n\n  useEffect(() => {\n    if (!isModalOpen) return;\n    const { overflow } = document.body.style;\n    document.body.style.overflow = 'hidden';\n    return () => {\n      document.body.style.overflow = overflow;\n    };\n  }, [isModalOpen]);\n\n  const categoryHeader = (\n    <>\n      <span className=\"portal-services__panel-icon\">{activeCategory.icon}</span>\n      <h3 className=\"portal-services__panel-title\">{activeLabel}</h3>\n    </>\n  );\n\n  const itemsList = (\n    <ul className=\"portal-services__list\">\n      {activeCategory.navs.map((navKey, index) => (\n        <li key={index} className=\"portal-services__row\">\n          <span className=\"portal-services__row-label\">\n            {translate(`portalServices.${activeCategory.key}.item${index + 1}`)}\n          </span>\n          <a\n            className=\"portal-services__row-link\"\n            href={nav[navKey].link.getLinkLocation()}\n            onClick={(e) => {\n              e.preventDefault();\n              nav[navKey].onClick();\n            }}\n          >\n            {translate('portalServices.showOnline')}\n          </a>\n        </li>\n      ))}\n    </ul>\n  );\n\n  return (\n    <section className=\"portal-services\" id=\"portal-services\">\n      <h2 className=\"portal-services__title\">{translate('portalServices.title')}</h2>\n\n      <div className=\"portal-services__layout\">\n        <div className=\"portal-services__tabs\" role=\"tablist\">\n          {SERVICE_CATEGORIES.map((category) => (\n            <button\n              key={category.id}\n              type=\"button\"\n              role=\"tab\"\n              aria-selected={category.id === activeId}\n              data-testid={`portal-services-tab-${category.id}`}\n              className={`portal-services__tab\n              ${category.id === activeId ? 'portal-services__tab--active' : ''}`}\n              onClick={() => handleSelect(category.id)}\n            >\n              <span className=\"portal-services__tab-icon\">{category.icon}</span>\n              <span className=\"portal-services__tab-label\">\n                {translate(`portalServices.${category.key}.label`)}\n              </span>\n              <ChevronRight />\n            </button>\n          ))}\n        </div>\n\n        <div className=\"portal-services__panel\" role=\"tabpanel\">\n          <div className=\"portal-services__panel-header\">{categoryHeader}</div>\n\n          {itemsList}\n        </div>\n      </div>\n\n      <div\n        className={`portal-services__modal ${isModalOpen ? 'portal-services__modal--open' : ''}`}\n        role=\"dialog\"\n        aria-modal=\"true\"\n      >\n        <button\n          type=\"button\"\n          className=\"portal-services__modal-overlay\"\n          aria-label={translate('portalServices.close')}\n          onClick={closeModal}\n        />\n        <div className=\"portal-services__modal-sheet\">\n          <div className=\"portal-services__modal-header\">\n            {categoryHeader}\n            <button\n              type=\"button\"\n              className=\"portal-services__modal-close\"\n              aria-label={translate('portalServices.close')}\n              onClick={closeModal}\n            >\n              <CloseIcon />\n            </button>\n          </div>\n\n          {itemsList}\n        </div>\n      </div>\n    </section>\n  );\n});\n\nexport default PortalServices;\n","import { observer } from 'mobx-react-lite';\nimport './DidYouKnowBanner.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ProfessionalDriversIllustration from '../../../components/icons/ProfessionalDriversIllustration';\n\ntype DidYouKnowBannerProps = {\n  translate: Translator;\n  login: () => void;\n  isBusy: boolean;\n};\n\nconst DidYouKnowBanner = observer(({ translate, login, isBusy }: DidYouKnowBannerProps) => {\n  return (\n    <>\n      <section className=\"did-you-know-banner\">\n        <div className=\"did-you-know-banner__content\">\n          <h2 className=\"did-you-know-banner__title\">{translate('didYouKnow.title')}</h2>\n          <p className=\"did-you-know-banner__text\">\n            {translate('didYouKnow.text1')}\n            <br />\n            {translate('didYouKnow.text2')}\n          </p>\n\n          <button\n            type=\"button\"\n            data-testid=\"did-you-know-login-button\"\n            className=\"did-you-know-banner__button\"\n            onClick={login}\n            disabled={isBusy}\n          >\n            {isBusy ? (\n              <div className=\"did-you-know-banner__loader sg-loaders__item sg-loaders__item--blue\">\n                <div className=\"gov-loader\">\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                </div>\n              </div>\n            ) : (\n              <span>{translate('didYouKnow.login')}</span>\n            )}\n          </button>\n        </div>\n\n        <ProfessionalDriversIllustration className=\"did-you-know-banner__illustration\" />\n      </section>\n    </>\n  );\n});\n\nexport default DidYouKnowBanner;\n","import { observer } from 'mobx-react-lite';\nimport InfoPanel from '../../../components/shared/InfoPanel/InfoPanel';\nimport './LandingPageInfoPanels.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport InfoMessages from './InfoMessages';\nimport { useEffect, useState } from 'react';\n\ntype LandingPageInfoPanelsProps = {\n  loginError: string | undefined;\n  messages: string[];\n  translate: Translator;\n};\n\nconst LandingPageInfoPanels = observer(({ loginError, messages, translate }: LandingPageInfoPanelsProps) => {\n  const [hasVisibleMessages, setHasVisibleMessages] = useState(messages.length > 0);\n\n  useEffect(() => {\n    setHasVisibleMessages(messages.length > 0);\n  }, [messages]);\n\n  if (!loginError && !hasVisibleMessages) return null;\n\n  return (\n    <section className=\"lp-info-panels\">\n      <InfoMessages\n        messages={messages}\n        translate={translate}\n        onVisibleMessagesChange={setHasVisibleMessages}\n      />\n      {loginError && <InfoPanel type=\"error\" message={loginError} />}\n    </section>\n  );\n});\n\nexport default LandingPageInfoPanels;\n","import { observer } from 'mobx-react-lite';\nimport './VideoTutorials.scss';\n\nimport { useMemo, useState } from 'react';\nimport Scrollable from '../../../components/shared/Scrollable/Scrollable';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Button, Dialog } from '@cendis/cedr-components';\n\ntype VideoTutorialsProps = {\n  opened: boolean;\n  toggleModal: () => void;\n  login: () => void;\n  translate: Translator;\n  isLoggingIn: boolean;\n  isVisible: boolean;\n};\n\nenum VideoIds {\n  SPZ = 'i-R2jHS9Xzg',\n  VEHICLE_TRANSFER = 'AlUJh_ZTDVA',\n  NOTIFICATION = 'iWtQm93N9yY',\n  DRIVING_LICENCE = 'q-9rbIRszoo',\n  /*DIGITAL_TACHOGRAPH = 'cE4sOvbS5Po',\n  PROFESSIONAL_COMPETENCE = 'S8pHG1YsHME',*/\n  POWER_OF_ATTORNEY = 'PpgiHk4i4Nw',\n}\n\ntype VideoMetaData = {\n  id: VideoIds;\n  title: string;\n  duration: number;\n};\n\nconst VideoTutorials = observer(\n  ({ opened, toggleModal, login, translate, isLoggingIn, isVisible }: VideoTutorialsProps) => {\n    const [selectedId, setSelectedId] = useState<VideoIds>(VideoIds.VEHICLE_TRANSFER);\n\n    const videosMetaData: { [key in VideoIds]: VideoMetaData } = useMemo(() => {\n      return {\n        [VideoIds.SPZ]: {\n          id: VideoIds.SPZ,\n          title: translate('videos.names.spz'),\n          duration: 81,\n        },\n        [VideoIds.VEHICLE_TRANSFER]: {\n          id: VideoIds.VEHICLE_TRANSFER,\n          title: translate('videos.names.vehicle-transfer'),\n          duration: 198,\n        },\n        [VideoIds.NOTIFICATION]: {\n          id: VideoIds.NOTIFICATION,\n          title: translate('videos.names.notification'),\n          duration: 46,\n        },\n        [VideoIds.DRIVING_LICENCE]: {\n          id: VideoIds.DRIVING_LICENCE,\n          title: translate('videos.names.driving-licence'),\n          duration: 110,\n        },\n        /*[VideoIds.DIGITAL_TACHOGRAPH]: {\n        id: VideoIds.DIGITAL_TACHOGRAPH,\n        title: translate('videos.names.digital_tachograph'),\n        duration: 95,\n      },\n      [VideoIds.PROFESSIONAL_COMPETENCE]: {\n        id: VideoIds.PROFESSIONAL_COMPETENCE,\n        title: translate('videos.names.professional-competence'),\n        duration: 68,\n      },*/\n        [VideoIds.POWER_OF_ATTORNEY]: {\n          id: VideoIds.POWER_OF_ATTORNEY,\n          title: translate('videos.names.power-of-attorney'),\n          duration: 100,\n        },\n      };\n    }, [translate]);\n\n    if (!opened) return null;\n\n    return (\n      <div className=\"css-reset\">\n        <Dialog\n          headline={translate('videos.title')}\n          onClose={toggleModal}\n          isVisible={isVisible}\n          className=\"lp-video-tutorials\"\n          testId=\"videos\"\n        >\n          <h3 className=\"video-title\">{videosMetaData[selectedId].title}</h3>\n\n          <iframe\n            className=\"video-player\"\n            src={`https://www.youtube.com/embed/${selectedId}`}\n            title={videosMetaData[selectedId].title}\n            allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n            referrerPolicy=\"strict-origin-when-cross-origin\"\n            allowFullScreen\n          ></iframe>\n\n          <Scrollable showScrollButtons>\n            <div className=\"video-selection\">\n              {Object.entries(videosMetaData).map(([id, data]) => (\n                <button\n                  data-testid={`thumbnail-${id}`}\n                  key={`thumbnail-${id}`}\n                  className=\"video-button\"\n                  onClick={() => setSelectedId(data.id)}\n                >\n                  <div className=\"video-image-container\">\n                    <picture>\n                      <source\n                        srcSet={`https://i.ytimg.com/vi_webp/${data.id}/mqdefault.webp`}\n                        type=\"image/webp\"\n                      />\n                      <img src={`https://i.ytimg.com/vi/${data.id}/mqdefault.jpg`} alt={data.title} />\n                    </picture>\n                    <div className=\"video-duration\">{`${Math.floor(data.duration / 60)}:${data.duration % 60}`}</div>\n                  </div>\n                  <div className=\"video-button-title\">\n                    {data.title.length > 55 ? `${data.title.slice(0, 53)}...` : data.title}\n                  </div>\n                </button>\n              ))}\n            </div>\n          </Scrollable>\n\n          <div className=\"video-navigation\">\n            <Button\n              text={translate('videos.back')}\n              onClick={toggleModal}\n              type=\"outlined\"\n              size=\"l\"\n              testId=\"video-close\"\n            />\n            <Button\n              text={translate('videos.login')}\n              onClick={login}\n              loading={isLoggingIn}\n              size=\"l\"\n              testId=\"video-login\"\n            />\n          </div>\n        </Dialog>\n      </div>\n    );\n  }\n);\n\nexport default VideoTutorials;\n","import { observer } from 'mobx-react-lite';\nimport './VideoPlayer.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport PlayIcon from 'src/components/icons/PlayIcon';\n\ntype VideoPlayerProps = {\n  translate: Translator;\n  onPlay: () => void;\n};\n\nconst VideoPlayer = observer(({ translate, onPlay }: VideoPlayerProps) => (\n  <button type=\"button\" className=\"video-player\" onClick={onPlay} aria-label={translate('videoPlayer.play')}>\n    <span className=\"video-player__overlay\">\n      <PlayIcon />\n    </span>\n  </button>\n));\n\nexport default VideoPlayer;\n","import { useState } from 'react';\nimport VideoPlayer from './VideoPlayer';\nimport './VideoBanner.scss';\nimport CloseIcon from '@components/icons/CrossIcon';\nconst VideoBanner = ({ translate }: { translate: any }) => {\n  const [isVideoOpen, setIsVideoOpen] = useState(false);\n\n  return (\n    <section className=\"video-banner-section\">\n      <div className={`video-banner ${isVideoOpen ? 'video-banner--open' : ''}`}>\n        <a onClick={() => setIsVideoOpen(true)} className=\"video-banner__main\">\n          <div className=\"video-banner__main-inner\">\n            <div className=\"video-banner__content\">\n              <h2 className=\"video-banner__title\">{translate('videoBanner.title')}</h2>\n              <p className=\"video-banner__text\">{translate('videoBanner.text')}</p>\n            </div>\n            <div className=\"video-banner__player\">\n              <VideoPlayer translate={translate} onPlay={() => setIsVideoOpen(true)} />\n            </div>\n          </div>\n        </a>\n\n        <div className={`video-banner__video ${isVideoOpen ? 'video-banner__video--open' : ''}`}>\n          <div className=\"video-banner__video-content\">\n            {isVideoOpen && (\n              <iframe\n                className=\"video-banner__iframe\"\n                src=\"https://www.youtube.com/embed/hwDmwguApCU?autoplay=1\"\n                title={translate('videoBanner.title')}\n                allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n              />\n            )}\n          </div>\n        </div>\n\n        {isVideoOpen && (\n          <button\n            type=\"button\"\n            className=\"video-banner__close-btn\"\n            onClick={() => setIsVideoOpen(false)}\n            aria-label={translate('videoPlayer.close') || 'Close video'}\n          >\n            <CloseIcon />\n          </button>\n        )}\n      </div>\n    </section>\n  );\n};\n\nexport default VideoBanner;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport './LandingPageView.scss';\nimport LandingPageHeader from './components/LandingPageHeader';\nimport RootViewModel from '../RootViewModel';\n\nimport HeroBanner from './components/HeroBanner';\nimport ServicesSection from './components/ServicesSection';\nimport NewAddressBanner from './components/NewAddressBanner';\nimport PortalServices from './components/PortalServices';\nimport DidYouKnowBanner from './components/DidYouKnowBanner';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LandingPageInfoPanels from './components/LandingPageInfoPanels';\nimport VideoTutorials from './components/VideoTutorials';\nimport FooterNew from '@components/home/FooterNew';\nimport { ToastContainer } from '@cendis/cedr-components';\nimport VideoBanner from './components/VideoBanner';\n\nconst LandingPageView: View<RootViewModel> = observer(({ vm }) => {\n  const {\n    translateLandingPage: translate,\n    landingPageNavigation: nav,\n    requestLogin,\n    goDriverLicense,\n    loginBusyWatcher,\n    headerRequestLogin,\n    headerLoginBusyWatcher,\n    menuControls,\n    loginError,\n    messages,\n    logoLink,\n  } = vm;\n  return (\n    <>\n      <LandingPageHeader\n        logoLink={logoLink}\n        login={headerRequestLogin}\n        isBusy={headerLoginBusyWatcher.isBusy}\n        menuControls={menuControls}\n        translate={translate}\n      />\n      <VideoTutorials\n        opened={menuControls.videoModalOpened}\n        toggleModal={menuControls.toggleVideoModal}\n        login={nav.home.onClick}\n        isLoggingIn={loginBusyWatcher.isBusy}\n        translate={translate}\n        isVisible={vm.videoModalOpened}\n      />\n      <div className=\"landing-page-container\">\n        <LandingPageInfoPanels loginError={loginError} messages={messages} translate={translate} />\n\n        <HeroBanner login={requestLogin} isBusy={loginBusyWatcher.isBusy} translate={translate} />\n\n        <ServicesSection translate={translate} nav={nav} />\n\n        <NewAddressBanner translate={translate} />\n        {/* PromoBanner is ready to be used after NewAddressBanner, but it is currently commented out. You can uncomment it to display the PromoBanner on the landing page. */}\n        {/* <PromoBanner translate={translate} nav={nav} /> */}\n\n        <PortalServices translate={translate} nav={nav} />\n\n        <VideoBanner translate={translate} />\n\n        <DidYouKnowBanner translate={translate} login={goDriverLicense} isBusy={loginBusyWatcher.isBusy} />\n      </div>\n\n      <FooterNew\n        supportService={vm.supportDocumentService}\n        translate={vm.translateFooter}\n        routes={vm.footerRoutes}\n      />\n\n      <RenderModel vm={vm.error} />\n      <RenderModel vm={vm.cookie} />\n      <div className=\"css-reset\">\n        <ToastContainer />\n      </div>\n    </>\n  );\n});\n\nexport default LandingPageView;\n","import { observer } from 'mobx-react-lite';\nimport { useState } from 'react';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport InfoPanel from '../../../components/shared/InfoPanel/InfoPanel';\n\ntype InfoMessagesProps = {\n  messages: string[];\n  translate: Translator;\n  className?: string;\n  onVisibleMessagesChange?: (hasVisibleMessages: boolean) => void;\n};\n\nconst InfoMessages = observer(\n  ({ messages, translate, className, onVisibleMessagesChange }: InfoMessagesProps) => {\n    const [readMore, setReadMore] = useState<boolean[]>([]);\n    const [dismissed, setDismissed] = useState<boolean[]>([]);\n\n    return (\n      <>\n        {messages.map((message, idx) => {\n          if (dismissed[idx]) return null;\n\n          let messageSub = 250;\n          let isMessageLong = message.length > messageSub;\n          let adds = '...&nbsp;';\n\n          const messageLineNumber = message.indexOf('\\n');\n          if (messageLineNumber >= 0) {\n            isMessageLong = true;\n            messageSub = messageLineNumber;\n            adds = '&nbsp;';\n          }\n\n          const handleReadMore = () => {\n            setReadMore((prevState) => {\n              const newState = [...prevState];\n              newState[idx] = !newState[idx]; // Toggle the state for this message\n              return newState;\n            });\n          };\n\n          const handleClose = () => {\n            const newState = [...dismissed];\n            newState[idx] = true;\n            setDismissed(newState);\n            onVisibleMessagesChange?.(messages.some((_, messageIndex) => !newState[messageIndex]));\n          };\n\n          const displayMessage =\n            isMessageLong && !readMore[idx]\n              ? message.substring(0, messageSub) + adds // Display truncated message\n              : message; // Display full message\n\n          return (\n            <div className={className}>\n              <InfoPanel\n                key={`inf-message-${idx}`}\n                type=\"warning\"\n                message={displayMessage}\n                readMore={isMessageLong && !readMore[idx]} // Only show \"Read More\" for long messages\n                handleReadMore={handleReadMore}\n                readMoreText={translate('readMore')}\n                onClose={handleClose}\n                closeLabel={translate('close')}\n              />\n            </div>\n          );\n        })}\n      </>\n    );\n  }\n);\n\nexport default InfoMessages;\n","import InfoBox from '../../components/shared/InfoBox/InfoBox';\nimport InfoPanel from '../../components/shared/InfoPanel/InfoPanel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type AutoLoginViewModel from './AutoLoginViewModel';\nimport { observer } from 'mobx-react-lite';\n\nconst AutoLoginView: View<AutoLoginViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <div className=\"mt-5\">\n      {vm.loginError ? (\n        <InfoPanel message={vm.loginError} type=\"error\" />\n      ) : (\n        <div className=\"gov-loader\" id=\"loader\">\n          <span>&nbsp;</span>\n          <span>&nbsp;</span>\n          <span>&nbsp;</span>\n        </div>\n      )}\n    </div>\n  );\n});\n\nexport default AutoLoginView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../security';\nimport { makeObservable, observable, runInAction } from 'mobx';\nimport SessionService from '../../services/SessionService';\nimport AutoLoginView from './AutoLoginView';\nimport { BreadcrumbControl, BreadcrumbScreen } from '../breadcrumbs/types';\nimport ApiService from '../../services/ApiService';\nimport AuthService from 'src/services/AuthService';\nimport LoginViewModel from './LoginViewModel';\n\n@AddDefaultView(AutoLoginView)\n@AllowAnonymous()\n@Service()\nexport default class AutoLoginViewModel extends BaseScreen implements BreadcrumbScreen {\n  @observable loginError: string = '';\n  get pathNode(): string {\n    return '/autologin/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() private apiService: ApiService,\n    @Inject() private authService: AuthService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async notifyNavigation() {\n    const urlParams = new URLSearchParams(window.location.search);\n    const redirectPath = urlParams.get('path');\n\n    if (redirectPath?.match(/^[a-zA-Z0-9-+/]*$/gm)) {\n      this.sessionService.set('pathname', '/' + redirectPath?.toString());\n\n      if (this.authService.isLoggedIn) {\n        this.navigator(LoginViewModel).go(); //login rozhodne ze je prihlaseny a spravne presmeruje\n        return;\n      }\n\n      const { redirectUrl } = await this.apiService.authApi.nia.createNiaAuthRequest();\n      if (redirectUrl) {\n        window.location.replace(redirectUrl);\n      } else {\n        runInAction(() => {\n          this.loginError = this.translate('loginError');\n        });\n      }\n    } else {\n      runInAction(() => {\n        this.loginError = this.translate('invalidReturnPathLoginError');\n      });\n    }\n  }\n  translate = translate('autoLogin', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AuthService from '../../services/AuthService';\nimport type { BreadcrumbControl } from '../breadcrumbs/types';\nimport HomeViewModel from '../home/HomeViewModel';\nimport { BACK_URL_FROM_MANDATE_LOGIN } from 'src/constants/SessionStorageKeys';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { observable, runInAction } from 'mobx';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport InitialBusyView from '../initialBusyView/InitialBusyView';\nimport LocalStorageService from 'src/services/LocalStorageService';\nimport SessionService from 'src/services/SessionService';\n\n@AddDefaultView(InitialBusyView)\n@Service()\nexport default class LoginMandateViewModel extends BaseScreen {\n  @observable personType: MandatePersonType = MandatePersonType.FO;\n  @observable identifier: string = '';\n\n  get pathNode(): string {\n    return 'login-/personType/-mandate-/identifier/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public authService: AuthService,\n    @Inject() private localStorageService: LocalStorageService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n  }\n\n  acceptNavigationParams(params: PathParams): void {\n    const { personType, identifier } = params;\n\n    runInAction(() => {\n      this.personType = personType === MandatePersonType.PO ? MandatePersonType.PO : MandatePersonType.FO;\n      this.identifier = identifier;\n    });\n  }\n\n  async notifyNavigation() {\n    await this.refreshToken();\n    this.redirectAfterTokenRefresh();\n    this.localStorageService.set('pd_show_notification_bubble', 'true');\n  }\n\n  private async refreshToken() {\n    await this.authService.refreshToken(this.personType, this.identifier);\n  }\n\n  private redirectAfterTokenRefresh() {\n    const backUrl = this.sessionService.get(BACK_URL_FROM_MANDATE_LOGIN);\n\n    this.sessionService.remove(BACK_URL_FROM_MANDATE_LOGIN);\n    if (backUrl) {\n      window.location.href = backUrl;\n    } else {\n      window.location.href = this.navigator(HomeViewModel).getLinkLocation();\n    }\n  }\n\n  translate = translate('mandates', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport { Inject, Service } from 'typedi';\nimport { makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../breadcrumbs/types';\nimport InfoMessageRepository from '../../data/repositories/InfoMessageRepository';\nimport AuthService from '../../services/AuthService';\nimport RootViewModel from '../RootViewModel';\nimport meta from '../../meta';\nimport ApiService from '../../services/ApiService';\nimport HomeViewModel from '../home/HomeViewModel';\nimport { ToastService } from '@cendis/cedr-components';\n\n@AllowAnonymous()\n@Service()\nexport default class LoginViewModel extends BaseScreen implements BreadcrumbScreen {\n  @observable messages: string[] = [];\n  @observable loginError: string | undefined = undefined;\n  @observable meta = meta('title', this);\n  @observable isLoggingIn = false;\n\n  get pathNode(): string {\n    return 'login';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public infoMessageRepository: InfoMessageRepository,\n    @Inject() private authService: AuthService,\n    @Inject() private apiService: ApiService,\n    @Inject() public toastService: ToastService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  setIsLoggingIn(isLogin: boolean) {\n    this.isLoggingIn = isLogin;\n  }\n\n  async activate() {\n    const loginError = this.authService.loginError;\n\n    runInAction(() => {\n      if (loginError) {\n        this.loginError = `${this.translate('login_error_nia')} ${loginError}`;\n      }\n    });\n\n    this.loginRedirect();\n    await this.fetchMessage();\n\n    const hasAuth = this.authService.getAuthFromStorage();\n    const urlParams = new URLSearchParams(window.location.search);\n\n    const isCallback = urlParams.get('securedCode') || (urlParams.get('jwt') && urlParams.get('refresh'));\n\n    if (!hasAuth && !isCallback) {\n      this.navigator(RootViewModel).go();\n    }\n  }\n\n  loginRedirect() {\n    const hasAuth = this.authService.getAuthFromStorage();\n    if (hasAuth) {\n      // URL params and redirect is handled by the root view model\n      const urlParams = new URLSearchParams(window.location.search);\n      if (urlParams.get('securedCode') || (urlParams.get('jwt') && urlParams.get('refresh'))) return;\n\n      this.navigator(HomeViewModel).go();\n    }\n  }\n  requestLogin = async () => {\n    this.setIsLoggingIn(true);\n    const { redirectUrl } = await this.apiService.authApi.nia.createNiaAuthRequest();\n    if (redirectUrl) {\n      window.location.replace(redirectUrl);\n    } else {\n      runInAction(() => {\n        this.loginError = this.translate('login_error');\n      });\n    }\n  };\n\n  translate = translate('login', this);\n  translateFooter = translate('footer', this);\n\n  private fetchMessage = async () => {\n    const messages = await this.infoMessageRepository.getMessage();\n\n    runInAction(() => {\n      this.messages = messages;\n    });\n  };\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport type LogoutViewModel from './LogoutViewModel';\nimport './LoginView.scss';\n\nconst LogoutView: View<LogoutViewModel> = observer(({ vm }) => {\n  const { translate, goLogin } = vm;\n  return (\n    <>\n      <div className=\"gov-container u-bg-color--blue with-footer with-footer-background\" id=\"welcome\">\n        <div className=\"gov-container__content align-content-center\">\n          <h1>{translate('title')}</h1>\n          <hr className=\"u-color--white\" />\n          <div className=\"text-center\">\n            <p className=\"u-color--white\">{translate('subtitle_1')}</p>\n            <p className=\"u-color--white\">{translate('subtitle_2')}</p>\n            <button\n              data-testid=\"login-button\"\n              className=\"gov-button gov-button--primary-iversed\"\n              onClick={goLogin}\n            >\n              {translate('btn_login')}\n            </button>\n          </div>\n        </div>\n      </div>\n      <RenderModel vm={vm.child} />\n    </>\n  );\n});\n\nexport default LogoutView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../security';\nimport LogoutView from './LogoutView';\nimport type { BreadcrumbControl } from '../breadcrumbs/types';\nimport { observable } from 'mobx';\nimport meta from '../../meta';\nimport RootViewModel from '../RootViewModel';\n\n@AllowAnonymous()\n@AddDefaultView(LogoutView)\n@Service()\nexport default class LogoutViewModel extends BaseScreen {\n  @observable meta = meta('title', this);\n\n  get pathNode(): string {\n    return 'logout';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(@Inject() public localization: LocalizationService) {\n    super();\n  }\n\n  goLogin = () => this.navigator(RootViewModel).go({ logout: 'true' });\n\n  translate = translate('logout', this);\n  translateFooter = translate('footer', this);\n}\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type LoginErrorViewModel from './LoginErrorViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\n\nconst LoginErrorView: View<LoginErrorViewModel> = observer(({ vm }) => {\n  return <></>;\n});\n\nexport default LoginErrorView;\n","import { AllowAnonymous } from '../../security';\nimport type { BreadcrumbControl } from '../../breadcrumbs/types';\nimport { Inject, Service } from 'typedi';\nimport LoginViewModel from '../LoginViewModel';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport AuthService from '../../../services/AuthService';\nimport { runInAction } from 'mobx';\nimport LoginErrorView from './LoginErrorView';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\n\n@AddDefaultView(LoginErrorView)\n@AllowAnonymous()\n@Service()\nexport default class LoginErrorViewModel extends BaseScreen {\n  message: string | undefined = undefined;\n\n  get pathNode(): string {\n    return 'login-err';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(@Inject() private authService: AuthService) {\n    super();\n  }\n\n  activate() {\n    const params = parseQueryParams(window.location.search);\n    const { message } = params;\n\n    runInAction(() => {\n      if (message) {\n        this.message = message;\n      }\n      this.authService.loginError = this.message;\n    });\n    this.goLogin();\n  }\n\n  goLogin = () => this.navigator(LoginViewModel).go();\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport './MandateSelectionView.scss';\nimport MandateOption from './components/MandateOption';\nimport { Button, Message } from '@cendis/cedr-components';\nimport { CompanyMandate, PersonMandate } from 'src/services/MandatesService';\nimport MandateSelectionViewModel from './MandateSelectionViewModel';\n\nconst MandateSelectionView: View<MandateSelectionViewModel> = observer(({ vm }) => {\n  const { goToHome, goToGrantedMandates, mandatesService } = vm;\n\n  const translate = mandatesService.translate;\n\n  const onMandateChange = (mandate: PersonMandate | CompanyMandate) => {\n    if (mandatesService.isSelectedMandate(mandate)) {\n      goToHome();\n    }\n  };\n\n  return (\n    <div className=\"css-reset\">\n      <div className=\"mandate-selection-view\">\n        {/* TITLE */}\n        <h1 className=\"gov-text--5xl view-title mt-4 mb-4 pt-3\">{translate('view-title')}</h1>\n        {/* SUBTITLE */}\n        <h2 className=\"gov-text--m view-subtitle mb-0\">\n          {translate('view-list')}\n          <br /> {translate('view-subtitle')}\n        </h2>\n\n        <div className=\"mandate-selection\">\n          {/* NOT ALL MANDATES COULD BE LISTED */}\n          {mandatesService.mandatesLimited && (\n            <Message\n              color=\"warning\"\n              icon=\"components/lightbulb-fill\"\n              className=\"my-4\"\n              id=\"obtained-mandates-limited\"\n            >\n              <strong>{translate('limited-warning')}</strong> {translate('limited-warning-detail')}\n            </Message>\n          )}\n          {/* YOU AS FO */}\n          <h3 className=\"gov-text--s selection-title\">{translate('selection-title-you')}</h3>\n          <MandateOption\n            mandate={vm.mandatesService.originMandate}\n            onMandateChange={onMandateChange}\n            mandatesService={mandatesService}\n            separateButton\n            separateButtonId=\"mandates-selection-continue-fo\"\n            expanded\n            limitNameWidth={false}\n            displayNotificationCount={false}\n            mandateSelectionPage={true}\n          />\n          {vm.mandatesService.implicitMandateOptions.length > 0 && (\n            <>\n              {/* YOU AS PFO or PO */}\n              <h3 className=\"gov-text--s selection-title\">{translate('selection-title-you-as-po')}</h3>\n              {vm.mandatesService.implicitMandateOptions.map((mandate, index) => {\n                return (\n                  <MandateOption\n                    key={`mandate-implicit-${index}`}\n                    mandate={mandate}\n                    onMandateChange={onMandateChange}\n                    mandatesService={mandatesService}\n                    separateButton\n                    separateButtonId={`mandates-selection-continue-po-${index}`}\n                    expanded\n                    limitNameWidth={false}\n                    displayNotificationCount={false}\n                    mandateSelectionPage={true}\n                  />\n                );\n              })}\n            </>\n          )}\n          {vm.mandatesService.nonImplicitMandateOptions.length > 0 && (\n            <>\n              {/* OTHER MANDATES */}\n              <h3 className=\"gov-text--s selection-title\">{translate('selection-title-other-subjects')}</h3>\n              {vm.mandatesService.nonImplicitMandateOptions.map((mandate, index) => {\n                return (\n                  <MandateOption\n                    key={`mandate-${index}`}\n                    mandate={mandate}\n                    onMandateChange={onMandateChange}\n                    mandatesService={mandatesService}\n                    separateButton\n                    separateButtonId={`mandates-selection-continue-other-${index}`}\n                    expanded\n                    limitNameWidth={false}\n                    displayNotificationCount={false}\n                    mandateSelectionPage={true}\n                  />\n                );\n              })}\n            </>\n          )}\n        </div>\n        {vm.mandatesService.allMandatesLimitReached && (\n          <Button\n            type=\"outlined\"\n            className=\"mt-5\"\n            onClick={() => goToGrantedMandates()}\n            testId=\"mandates-selection-all-mandates\"\n          >\n            {translate('all-mandates-link')}\n          </Button>\n        )}\n      </div>\n    </div>\n  );\n});\n\nexport default MandateSelectionView;\n","import { action, makeObservable, when } from 'mobx';\nimport Container, { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport MandateSelectionView from './MandateSelectionView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport MandatesService from 'src/services/MandatesService';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport HomeViewModel from '../home/HomeViewModel';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport InitialBusyView from '../initialBusyView/InitialBusyView';\nimport { BreadcrumbControl } from '../breadcrumbs/types';\nimport OnboardingMandateModalViewModel from '../modal/OnboardingMandateModalViewModel';\nimport GrantedMandatesViewModel from '../mandates/grantedMandates/GrantedMandatesViewModel';\n\n@AddDefaultView(MandateSelectionView)\n@AddConditionalView(InitialBusyView, () => {\n  const mandatesService = Container.get(MandatesService);\n  const authorizationService = Container.get(AuthorizationService);\n  return !mandatesService.initialized || !authorizationService.initialized;\n})\n@Service()\nexport default class MandateSelectionViewModel extends BaseScreen {\n  get title(): string {\n    return this.translate('mandate-selection-title');\n  }\n\n  get pathNode(): string {\n    return 'mandate-selection';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public mandatesService: MandatesService,\n    @Inject() public authorizationService: AuthorizationService,\n    @Inject() private onboardingMandateModalViewModel: OnboardingMandateModalViewModel\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    when(\n      () => this.mandatesService.initialized && this.authorizationService.initialized,\n      () => {\n        if (this.mandatesService.headerMandatesOptions.length === 0) {\n          this.goToHome();\n          return;\n        }\n      }\n    );\n  }\n\n  @action.bound\n  goToHome() {\n    this.navigator(HomeViewModel).go();\n    this.onboardingMandateModalViewModel.checkAndShowOnboardingMandateModal();\n  }\n\n  @action.bound\n  goToGrantedMandates() {\n    this.navigator(GrantedMandatesViewModel).go();\n    this.onboardingMandateModalViewModel.checkAndShowOnboardingMandateModal();\n  }\n\n  translate = translate('mandates', this);\n}\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport { ComponentProps, useMemo } from 'react';\nimport './InitialsCircle.scss';\nimport NotificationsCount from './NotificationsCount';\nimport IcoBuldingFill from '@components/icons/IcoBuldingFill';\nimport IcoPersonBussinesFill from '@components/icons/IcoPersonBussinesFill';\nimport CrossIcon from '@components/icons/CrossIcon';\n\ntype InitialsCircleProps = {\n  name: string | null;\n  count?: ComponentProps<typeof NotificationsCount>['count'];\n  variant?: 'primary' | 'secondary';\n  className?: string;\n  mandatePersonType?: 'PO' | 'FO' | 'PFO';\n  mandateSelectionPage?: boolean;\n  opened?: boolean;\n  isPFO: boolean;\n};\n\nconst InitialsCircle = observer(\n  ({\n    name,\n    variant = 'primary',\n    count,\n    className,\n    mandatePersonType,\n    opened,\n    isPFO,\n  }: InitialsCircleProps) => {\n    const initials = useMemo(() => {\n      const initials: string[] = [];\n      const stringsWithoutSpace = name ? name.split(' ') : '';\n\n      for (const value of stringsWithoutSpace) {\n        if (value.length > 0 && !value.includes('.')) initials.push(value[0].toUpperCase());\n        if (initials.length > 1) break;\n      }\n\n      return initials;\n    }, [name]);\n\n    return (\n      <div\n        className={getClassName(\n          'circle-initials',\n          opened && 'opened',\n          mandatePersonType === 'PO' && 'has-icon',\n          variant,\n          className\n        )}\n      >\n        {opened && (\n          <span className=\"cross-icon\">\n            <CrossIcon />\n          </span>\n        )}\n        <div className=\"circle-initials-inner\">\n          {count !== 'empty' && <NotificationsCount count={count} />}\n          <>\n            {mandatePersonType === 'FO' && <>{initials}</>}\n            {mandatePersonType === 'PO' && <>{isPFO ? <IcoPersonBussinesFill /> : <IcoBuldingFill />}</>}\n          </>\n        </div>\n      </div>\n    );\n  }\n);\n\nexport default InitialsCircle;\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport './MandateName.scss';\n\ntype MandateNameProps = {\n  name: string | null;\n  subtitle: string;\n  limitNameWidth?: boolean;\n  className?: string;\n};\n\nconst MandateName = observer(({ name, subtitle, limitNameWidth = true, className }: MandateNameProps) => {\n  return (\n    <div className={getClassName('mandate-info', className)}>\n      {name && (\n        <span className=\"mandate-name\" title={name}>\n          {name}\n        </span>\n      )}\n      <span className=\"mandate-subtitle\">{subtitle}</span>\n    </div>\n  );\n});\n\nexport default MandateName;\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport MandatesService, { CompanyMandate, PersonMandate } from 'src/services/MandatesService';\nimport './MandateOption.scss';\nimport InitialsCircle from './InitialsCircle';\nimport { Button, GovIcon } from '@cendis/cedr-components';\nimport MandateName from './MandateName';\nimport { ComponentProps, forwardRef, KeyboardEventHandler, MouseEventHandler } from 'react';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\n\ntype MandateOptionProps = {\n  mandatesService: MandatesService;\n  mandate: PersonMandate | CompanyMandate | undefined;\n  expanded?: boolean;\n  noBorder?: boolean;\n  separateButton?: boolean;\n  separateButtonId?: string;\n  activeCheckMark?: boolean;\n  onMandateChange?: (mandate: PersonMandate | CompanyMandate) => void;\n  variant?: ComponentProps<typeof InitialsCircle>['variant'];\n  limitNameWidth?: ComponentProps<typeof MandateName>['limitNameWidth'];\n  displayNotificationCount?: boolean;\n  className?: string;\n  mandateSelectionPage?: boolean;\n};\n\nconst MandateOption = observer(\n  forwardRef<HTMLDivElement, MandateOptionProps>(\n    (\n      {\n        mandatesService,\n        mandate,\n        noBorder = false,\n        expanded = false,\n        separateButton = false,\n        separateButtonId,\n        activeCheckMark = false,\n        displayNotificationCount = true,\n        variant = 'primary',\n        limitNameWidth,\n        onMandateChange,\n        className,\n        mandateSelectionPage,\n      }: MandateOptionProps,\n      ref\n    ) => {\n      if (!mandate) return null;\n\n      const translate = mandatesService.translate;\n      const mandateIdentifier = mandatesService.isFO(mandate) ? mandate.aifoId : mandate.identificationNumber;\n      const mandatePersonType = mandatesService.isFO(mandate) ? MandatePersonType.FO : MandatePersonType.PO;\n\n      const handleMandateChange = (mandate: PersonMandate | CompanyMandate) => {\n        if (onMandateChange) onMandateChange(mandate);\n        if (mandatesService.isSelectedMandate(mandate)) {\n          return;\n        } else {\n          mandatesService.changeMandates(mandateIdentifier, mandatePersonType);\n        }\n      };\n\n      const keyDownHandler: KeyboardEventHandler = (e) => {\n        switch (e.code) {\n          case 'Enter':\n            handleMandateChange(mandate);\n            break;\n        }\n      };\n\n      const clickHandler: MouseEventHandler = (e) => {\n        handleMandateChange(mandate);\n      };\n\n      return (\n        <div\n          className={getClassName(\n            'mandate-option',\n            mandateSelectionPage && 'mandate-option-selection-page',\n            !separateButton && 'clickable',\n            noBorder && 'no-border',\n            expanded && 'expanded',\n            className\n          )}\n          onKeyDown={separateButton ? undefined : keyDownHandler}\n          onClick={separateButton ? undefined : clickHandler}\n          tabIndex={-1}\n          role=\"menuitem\"\n          ref={ref}\n        >\n          <InitialsCircle\n            name={mandatesService.getMandateName(mandate)}\n            variant={variant}\n            count={displayNotificationCount ? mandate.notificationsCount : undefined}\n            mandatePersonType={mandatePersonType}\n            mandateSelectionPage={mandateSelectionPage}\n            isPFO={mandatesService.isPFO(mandate)}\n          />\n          <MandateName\n            name={mandatesService.getMandateShortName(mandate)}\n            subtitle={mandatesService.getMandateSubHeadline(mandate)}\n            limitNameWidth={limitNameWidth}\n          />\n          {separateButton && (\n            <Button\n              text={translate('continue')}\n              className=\"ms-auto\"\n              type={mandateSelectionPage ? 'outlined' : 'solid'}\n              onClick={clickHandler}\n              testId={separateButtonId ?? 'mandates-selection-continue'}\n            />\n          )}\n          {activeCheckMark && (\n            <GovIcon name=\"custom/check-circle-fill\" size=\"2xl\" className=\"active-check-mark\" />\n          )}\n        </div>\n      );\n    }\n  )\n);\n\nexport default MandateOption;\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport './NotificationsCount.scss';\n\ntype NotificationsCountProps = {\n  count?: 'empty' | number;\n  className?: string;\n};\n\nconst NotificationsCount = observer(({ count, className }: NotificationsCountProps) => {\n  if (count === undefined || count === 0) return null;\n\n  return (\n    <span className={getClassName('notifications-count', className)}>\n      {typeof count === 'number' && <span className=\"count\">{count < 100 ? count : '99+'}</span>}\n    </span>\n  );\n});\n\nexport default NotificationsCount;\n","import { Accordion, AccordionItem, Typography } from '@cendis/cedr-components';\nimport './MandateView.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ninterface MandateViewFaqProps {\n  translate: Translator;\n}\n\nexport function MandateViewFaq({ translate }: MandateViewFaqProps) {\n  return (\n    <>\n      <Typography type=\"headline\" component={'h2'} size=\"l\" fontWeight={300} className=\"mt-5 mb-4\">\n        {translate('faq.title')}\n      </Typography>\n      <Accordion noBorder size=\"l\">\n        <AccordionItem header={translate('faq.header1')} id=\"1\" size=\"l\">\n          <p>{translate('faq.text1-1')}</p>\n          <p>{translate('faq.text1-2')}</p>\n        </AccordionItem>\n        <AccordionItem header={translate('faq.header2')} id=\"2\" size=\"l\">\n          <p>{translate('faq.text2-1')}</p>\n          <p>{translate('faq.text2-2')}</p>\n        </AccordionItem>\n        <AccordionItem header={translate('faq.header3')} id=\"3\" size=\"l\">\n          <p>{translate('faq.text3')}</p>\n        </AccordionItem>\n        <AccordionItem header={translate('faq.header4')} id=\"4\" size=\"l\">\n          <p>{translate('faq.text4')}</p>\n        </AccordionItem>\n        <AccordionItem header={translate('faq.header5')} id=\"5\" size=\"l\">\n          <p>{translate('faq.text5-1')}</p>\n          <p>{translate('faq.text5-2')}</p>{' '}\n        </AccordionItem>\n      </Accordion>\n    </>\n  );\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport MandateViewModel from './MandateViewModel';\nimport { Accordion, AccordionItem, Typography } from '@cendis/cedr-components';\nimport Container from '@components/gov4/layout/Container';\nimport Tile from '@components/gov4/layout/Tile';\nimport './MandateView.scss';\n\nconst MandateView: View<MandateViewModel> = observer(({ vm }) => {\n  const { translate, navNewMandate, navMandatesList, navRepresentedEntities } = vm;\n  return (\n    <Container className=\"view-mandates\">\n      <div className=\"mw-900\">\n        <Typography type=\"headline\" component={'h1'} size=\"xl\" fontWeight={300} className=\"mb-5\">\n          {translate('title')}\n        </Typography>\n        <div className=\"tile-container\">\n          <Tile\n            title={translate('newMandate.title')}\n            link={navNewMandate}\n            icon=\"complex/doc-registers\"\n            noPaddingOverBorder\n            testId=\"new-mandate-tile\"\n          >\n            <p>{translate('newMandate.description')}</p>\n          </Tile>\n\n          <Tile\n            title={translate('mandatesPersonOverview.title')}\n            link={navRepresentedEntities}\n            icon=\"complex/queue\"\n            noPaddingOverBorder\n            testId=\"obtained-mandates-tile\"\n          >\n            <p>\n              {translate('mandatesPersonOverview.description-1')}{' '}\n              <b className=\"bold\">{translate('mandatesPersonOverview.description-2')}</b>{' '}\n              {translate('mandatesPersonOverview.description-3')}\n            </p>\n          </Tile>\n\n          <Tile\n            title={translate('mandatesOverview.title')}\n            link={navMandatesList}\n            icon=\"complex/business-file\"\n            noPaddingOverBorder\n            testId=\"granted-mandates-tile\"\n          >\n            <p>\n              {translate('mandatesOverview.description-1')}{' '}\n              <b className=\"bold\">{translate('mandatesOverview.description-2')}</b>{' '}\n              {translate('mandatesOverview.description-3')}\n            </p>\n          </Tile>\n        </div>\n\n        <Typography type=\"headline\" component={'h2'} size=\"l\" fontWeight={300} className=\"mt-5 mb-4\">\n          {translate('faq.title')}\n        </Typography>\n\n        <Accordion noBorder size=\"l\">\n          <AccordionItem header={translate('faq.header1')} id=\"header1\" size=\"l\">\n            <p>{translate('faq.text1-1')}</p>\n            <p>{translate('faq.text1-2')}</p>\n          </AccordionItem>\n          <AccordionItem header={translate('faq.header2')} id=\"header2\" size=\"l\">\n            <p>{translate('faq.text2-1')}</p>\n            <p>{translate('faq.text2-2')}</p>\n          </AccordionItem>\n          <AccordionItem header={translate('faq.header3')} id=\"header3\" size=\"l\">\n            <p>{translate('faq.text3')}</p>\n          </AccordionItem>\n          <AccordionItem header={translate('faq.header4')} id=\"header4\" size=\"l\">\n            <p>{translate('faq.text4')}</p>\n          </AccordionItem>\n          <AccordionItem header={translate('faq.header5')} id=\"header5\" size=\"l\">\n            <p>{translate('faq.text5-1')}</p>\n            <p>{translate('faq.text5-2')}</p>\n          </AccordionItem>\n        </Accordion>\n      </div>\n    </Container>\n  );\n});\n\nexport default MandateView;\n","import { observer } from 'mobx-react-lite';\nimport { Button, Checkbox, Message, Select, SelectOption } from '@cendis/cedr-components';\nimport TemplateSelectionModel from './TemplateSelectionModel';\n\ntype TemplateSelectProps = {\n  onChange?: () => void;\n  model: TemplateSelectionModel;\n  description?: string | null | false;\n  fullUrl?: string;\n  templateOptions: SelectOption<unknown>[];\n  formattedDocumentInfo: string;\n};\n\nconst TemplateSelect = observer(\n  ({\n    onChange,\n    model,\n    description,\n    templateOptions,\n    fullUrl,\n    formattedDocumentInfo,\n  }: TemplateSelectProps) => {\n    return (\n      <div className=\"ms-5\">\n        <Select\n          onChange={onChange}\n          target={model}\n          property={'templateCode'}\n          options={templateOptions}\n          required\n          className=\"mw-330\"\n        />\n        {description && <Message message={description} className=\"mt-4\" />}\n\n        {document && model.templateCode && model.templateCode.trim() !== '' && (\n          <Button\n            className=\"thin-text mt-2\"\n            size=\"m\"\n            type=\"link\"\n            iconStart=\"components/box-arrow-up-right\"\n            href={fullUrl}\n            target=\"_blank\"\n            testId=\"template-document-button\"\n          >\n            {formattedDocumentInfo}\n          </Button>\n        )}\n\n        {model.templateCode && model.templateCode.trim() !== '' && (\n          <Checkbox className=\"mt-3\" required size=\"m\" target={model} property={'checkbox'} />\n        )}\n      </div>\n    );\n  }\n);\n\nexport default TemplateSelect;\n","import { observer } from 'mobx-react-lite';\nimport TemplateSelectionService from './TemplateSelectionService';\nimport { Message, Radio, Skeleton, WizardItem } from '@cendis/cedr-components';\nimport { getFullUrl } from '../../../../utils/PdfBaseUrl';\nimport { formatDocumentInfo } from '../../../../utils/FormatDocumentInfo';\nimport { WizardStepListener } from 'src/app/driver_ng/components/WizardStepListener/WizardStepListener';\nimport TemplateSelect from './TemplateSelect';\nimport { Domain_Contracts_Enums_Mandates_MandateGroup } from 'src/data/mandates/api';\n\ntype TemplateSelectionWizardStepProps = {\n  templateSelectionService: TemplateSelectionService;\n  onTemplateChange?: () => void;\n  continueAction?: () => void;\n};\n\nconst TemplateSelectionWizardStep = observer(\n  ({ templateSelectionService, onTemplateChange, continueAction }: TemplateSelectionWizardStepProps) => {\n    const {\n      translate,\n      step,\n      disableNextStep,\n      busyWatcher,\n      model,\n      templateOptions,\n      description,\n      document,\n      unCheck,\n    } = templateSelectionService;\n\n    const fullUrl = getFullUrl(document?.uriPath);\n\n    const formattedDocumentInfo = formatDocumentInfo(document, translate);\n\n    const onChange = () => {\n      if (onTemplateChange) {\n        onTemplateChange();\n      }\n      unCheck();\n    };\n\n    const option1 = [\n      { id: Domain_Contracts_Enums_Mandates_MandateGroup.VEHICLE, label: translate('item1.option-vehicle') },\n    ];\n    const option2 = [\n      { id: Domain_Contracts_Enums_Mandates_MandateGroup.DRIVER, label: translate('item1.option-driver') },\n    ];\n    const option3 = [\n      { id: Domain_Contracts_Enums_Mandates_MandateGroup.CREDO, label: translate('item1.option-credo') },\n    ];\n\n    return (\n      <>\n        <WizardStepListener onStepChange={continueAction} />\n        <WizardItem label={translate('item1.header')} step={step} disableNextStep={disableNextStep}>\n          {busyWatcher.isBusy ? (\n            <Skeleton height=\"200px\" />\n          ) : templateSelectionService.notFoundData ? (\n            <>\n              <Message color=\"error\" message={translate('item1.notFound')} />\n            </>\n          ) : (\n            <>\n              <p className=\"mt-2 mb-4\">{translate('item1.text')}</p>\n              <Radio\n                options={option1}\n                target={model}\n                property={'group'}\n                orientation=\"vertical\"\n                onChange={templateSelectionService.changeGroup}\n                gapSize=\"s\"\n                disabled={templateSelectionService.radioVehicleDisabled}\n              />\n              {model.group === Domain_Contracts_Enums_Mandates_MandateGroup.VEHICLE && (\n                <>\n                  <TemplateSelect\n                    onChange={onChange}\n                    model={model}\n                    description={description}\n                    templateOptions={templateOptions}\n                    fullUrl={fullUrl}\n                    formattedDocumentInfo={formattedDocumentInfo}\n                  />\n                  <br />\n                </>\n              )}\n              <Radio\n                options={option2}\n                target={model}\n                property={'group'}\n                orientation=\"vertical\"\n                onChange={templateSelectionService.changeGroup}\n                gapSize=\"s\"\n                disabled={templateSelectionService.radioDriverDisabled}\n              />\n              {model.group === Domain_Contracts_Enums_Mandates_MandateGroup.DRIVER && (\n                <>\n                  <TemplateSelect\n                    onChange={onChange}\n                    model={model}\n                    description={description}\n                    templateOptions={templateOptions}\n                    fullUrl={fullUrl}\n                    formattedDocumentInfo={formattedDocumentInfo}\n                  />\n                  <br />\n                </>\n              )}\n              <Radio\n                options={option3}\n                target={model}\n                property={'group'}\n                orientation=\"vertical\"\n                onChange={templateSelectionService.changeGroup}\n                gapSize=\"s\"\n                disabled={templateSelectionService.radioCredoDisabled}\n              />\n              {model.group === Domain_Contracts_Enums_Mandates_MandateGroup.CREDO && (\n                <TemplateSelect\n                  onChange={onChange}\n                  model={model}\n                  description={description}\n                  templateOptions={templateOptions}\n                  fullUrl={fullUrl}\n                  formattedDocumentInfo={formattedDocumentInfo}\n                />\n              )}\n            </>\n          )}\n        </WizardItem>\n      </>\n    );\n  }\n);\n\nexport default TemplateSelectionWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport ValidityService from './ValidityService';\nimport { Input, Message, Radio, WizardItem } from '@cendis/cedr-components';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\n\ntype ValidityWizardStepProps = {\n  validityService: ValidityService;\n};\n\nconst ValidityWizardStep = observer(({ validityService }: ValidityWizardStepProps) => {\n  const {\n    translate,\n    step,\n    model,\n    optionWithEnd,\n    optionWithoutEnd,\n    resetModelValuesAndValidate,\n    disableNextStep,\n    startMinValue,\n    endMinValue,\n    updateModelValidationState,\n  } = validityService;\n\n  return (\n    <WizardItem label={translate('item5.header')} step={step} disableNextStep={disableNextStep}>\n      <Radio\n        options={optionWithEnd}\n        target={model}\n        property={'validityLimit'}\n        orientation=\"vertical\"\n        onChange={resetModelValuesAndValidate}\n        gapSize=\"s\"\n      />\n      {model.validityLimit === ValidityCodesEnum.VALIDITY_WITH_END && (\n        <div className=\"d-flex flex-row flex-wrap gap-4 ms-4 ps-3\">\n          <Input\n            target={model}\n            property={'startWithEnd'}\n            label={translate('item5.startOfValidity')}\n            type=\"date\"\n            required\n            className=\"mt-4 mw-input-224 mw-280 flex-grow-1\"\n            min={startMinValue}\n            onChange={updateModelValidationState}\n          />\n\n          <Input\n            target={model}\n            property={'end'}\n            label={translate('item5.endOfValidity')}\n            type=\"date\"\n            required\n            className=\"mt-4 mw-input-224 mw-280 flex-grow-1\"\n            min={endMinValue}\n            onChange={updateModelValidationState}\n          />\n        </div>\n      )}\n      <Radio\n        options={optionWithoutEnd}\n        target={model}\n        property={'validityLimit'}\n        orientation=\"vertical\"\n        className=\"mt-4\"\n        onChange={resetModelValuesAndValidate}\n        gapSize=\"s\"\n      />\n\n      {model.validityLimit === ValidityCodesEnum.VALIDITY_WITHOUT_END && (\n        <div className=\"ms-4 ps-3\">\n          <Input\n            target={model}\n            property={'startWithoutEnd'}\n            label={translate('item5.startOfValidity')}\n            type=\"date\"\n            required\n            className=\"mt-4 mw-input-224 mw-280 flex-grow-1\"\n            min={startMinValue}\n          />\n\n          <Message message={translate('item5.info')} className=\"mt-4\" />\n        </div>\n      )}\n    </WizardItem>\n  );\n});\n\nexport default ValidityWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport ApplicationService from '../ApplicationService';\nimport { Button, Dialog, Typography, useWizardContext, WizardItem } from '@cendis/cedr-components';\nimport WizardStepSummary from '../../shared/components/WizardStepSummary';\nimport { VehiclesSelectionType } from 'src/enums/VehiclesSelectionTypes';\nimport SelectedVehicleTable from '../../shared/components/SelectedVehicleTable';\nimport EnvUtils from 'src/utils/EnvUtils';\n\ntype SummaryWizardStepProps = {\n  applicationService: ApplicationService;\n};\n\nconst SummaryWizardStep = observer(({ applicationService }: SummaryWizardStepProps) => {\n  const wizardContext = useWizardContext();\n  const {\n    translate,\n    summaryPromptVisible,\n    closePrompt,\n    onBeforeNextSummaryStep,\n    busyWatcher,\n    createNewMandate,\n    hasVehiclesSelection,\n  } = applicationService;\n\n  const rsvEnabled = EnvUtils.isRsvUnloadedVehiclesEnabled;\n\n  return (\n    <WizardItem\n      label={translate('item6.header')}\n      step={rsvEnabled && hasVehiclesSelection ? wizardContext.lastStep : wizardContext.lastStep - 1}\n      onBeforeNextStep={onBeforeNextSummaryStep}\n    >\n      {/* section 1 */}\n      <WizardStepSummary\n        title={translate('item1.header')}\n        returnToStep={1}\n        data={applicationService.templateSelectionService.summaryData}\n      />\n\n      {rsvEnabled && hasVehiclesSelection && (\n        <>\n          {/* section 2 */}\n          <WizardStepSummary title={translate('itemVehicles.header')} returnToStep={2}>\n            {applicationService.vehicleSelectionService.model.vehiclesSelectionType === VehiclesSelectionType.ALL ? (\n              <Typography type=\"body\" fontWeight={700}>\n                {translate('itemVehicles.allVehicles')}\n              </Typography>\n            ) : (\n              <SelectedVehicleTable vehicleSelectionService={applicationService.vehicleSelectionService} withActions={false} />\n            )}\n          </WizardStepSummary>\n        </>\n      )}\n\n      {/* section 3 */}\n      <WizardStepSummary\n        title={translate('item2.header')}\n        returnToStep={rsvEnabled && hasVehiclesSelection ? 3 : 2}\n        data={applicationService.representedEntityService.summaryData}\n      />\n\n      {/* section 3 */}\n      <WizardStepSummary\n        title={translate('item3.header')}\n        returnToStep={rsvEnabled && hasVehiclesSelection ? 4 : 3}\n        data={applicationService.representativeIdentificationService.summaryData}\n      />\n\n      {/* section 4 */}\n      <WizardStepSummary\n        title={translate('item4.header')}\n        returnToStep={rsvEnabled && hasVehiclesSelection ? 5 : 4}\n        data={applicationService.transferAgreementService.summaryData}\n      />\n\n      {/* section 5 */}\n      <WizardStepSummary\n        title={translate('item5.header')}\n        returnToStep={rsvEnabled && hasVehiclesSelection ? 6 : 5}\n        data={applicationService.validityService.summaryData}\n        noSeparator\n      />\n\n      {/* PROMPT */}\n      <Dialog\n        headline={translate('prompt.title')}\n        isVisible={summaryPromptVisible}\n        onClose={closePrompt}\n        testId=\"new-mandate-dialog\"\n        bottomChildren={\n          <>\n            {/* CANCEL */}\n            <Button type=\"base\" onClick={closePrompt} testId=\"new-mandate-no\">\n              {translate('prompt.no')}\n            </Button>\n\n            {/* CONFIRM */}\n            <Button color=\"success\" onClick={createNewMandate} loading={busyWatcher.isBusy} testId=\"new-mandate-create\">\n              {translate('prompt.yes')}\n            </Button>\n          </>\n        }\n      >\n        <div className=\"gov-text--l\">{translate('prompt.info')}</div>\n      </Dialog>\n    </WizardItem>\n  );\n});\n\nexport default SummaryWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport NewMandateViewModel from './NewMandateViewModel';\nimport { Accordion, AccordionItem, ScreenContext, Typography, Wizard } from '@cendis/cedr-components';\nimport Container from '@components/gov4/layout/Container';\nimport TemplateSelectionWizardStep from './01_TemplateSelection/TemplateSelectionWizardStep';\nimport RepresentedEntityWizardStep from './03_RepresentedEntity/RepresentedEntityWizardStep';\nimport RepresentativeIdentificationWizardStep from './04_RepresentativeIdentification/RepresentativeIdentificationWizardStep';\nimport TransferAgreementWizardStep from './05_Transfer/TransferAgreementWizardStep';\nimport ValidityWizardStep from './06_Validity/ValidityWizardStep';\nimport SummaryWizardStep from './07_Summary/SummaryWizardStep';\nimport VehicleSelectionWizardStep from '../shared/components/VehicleSelectionWizardStep';\nimport EnvUtils from 'src/utils/EnvUtils';\n\nconst NewMandateView: View<NewMandateViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <div className=\"row mw-900 new-mandate\">\n          <Typography type=\"headline\" component={'h1'} size=\"xl\" fontWeight={300} className=\"mb-4\">\n            {translate('title')}\n          </Typography>\n\n          <Wizard wizardContext={vm.applicationService.wizardContext}>\n            {/* STEP 1 */}\n            <TemplateSelectionWizardStep\n              templateSelectionService={vm.applicationService.templateSelectionService}\n              onTemplateChange={vm.applicationService.onTemplateChange}\n              continueAction={vm.applicationService.continueAction}\n            />\n\n            {EnvUtils.isRsvUnloadedVehiclesEnabled &&\n              vm.applicationService.templateSelectionService.isVehicleObjectSpecific && (\n                <>\n                  {/* STEP 2 */}\n                  <VehicleSelectionWizardStep\n                    vehicleSelectionService={vm.applicationService.vehicleSelectionService}\n                    isVehicleObjectSpecific={\n                      vm.applicationService.templateSelectionService.isVehicleObjectSpecific\n                    }\n                    unknownObjectsAvailable={\n                      vm.applicationService.templateSelectionService.unknownObjectsAvailable\n                    }\n                  />\n                </>\n              )}\n\n            {/* STEP 2 */}\n            <RepresentedEntityWizardStep\n              representedEntityService={vm.applicationService.representedEntityService}\n            />\n\n            {/* STEP 3 */}\n            <RepresentativeIdentificationWizardStep\n              representativeIdentificationService={vm.applicationService.representativeIdentificationService}\n            />\n\n            {/* STEP 4 */}\n            <TransferAgreementWizardStep\n              transferAgreementService={vm.applicationService.transferAgreementService}\n            />\n\n            {/* STEP 5 */}\n            <ValidityWizardStep validityService={vm.applicationService.validityService} />\n\n            {/* SECTION 6 */}\n            <SummaryWizardStep applicationService={vm.applicationService} />\n          </Wizard>\n\n          {/* FAQ */}\n          <Typography type=\"headline\" component={'h2'} size=\"l\" fontWeight={300} className=\"mt-5 mb-4\">\n            {translate('faq.headline')}\n          </Typography>\n          <Accordion noBorder={true} className=\"mb-4\" size=\"l\">\n            <AccordionItem header={translate('faq.header1')} id=\"1\" size=\"l\">\n              {translate('faq.text1-1')}\n              <br />\n              <br />\n              {translate('faq.text1-2')}\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header2')} id=\"2\" size=\"l\">\n              {translate('faq.text2-1')}\n              <br />\n              <br />\n              {translate('faq.text2-2')}\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header3')} id=\"3\" size=\"l\">\n              {translate('faq.text3')}\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header4')} id=\"4\" size=\"l\">\n              {translate('faq.text4')}\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header5')} id=\"5\" size=\"l\">\n              {translate('faq.text5-1')}\n              <br />\n              <br />\n              {translate('faq.text5-2')}\n            </AccordionItem>\n          </Accordion>\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default NewMandateView;\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('newMandate')\nexport default class TemplateSelectionModel {\n  @observable templateCode = '';\n  @observable checkbox = false;\n  @observable group = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport ApiService from 'src/services/ApiService';\nimport {\n  Domain_Contracts_Enums_Mandates_MandateType,\n  Mandates_WebApi_Responses_TemplateResponse,\n  Domain_Contracts_Enums_Mandates_ObjectSpecificType,\n  Domain_Contracts_Enums_Mandates_MandateGroup,\n} from 'src/data/mandates/api';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport TemplateSelectionModel from './TemplateSelectionModel';\nimport ValidationService from '../../../../services/ValidationService';\nimport { ReactNode } from 'react';\n\n@Service()\nexport default class TemplateSelectionService extends WizardStepService {\n  @observable model = new TemplateSelectionModel();\n  @observable private templatesResponse: Array<Mandates_WebApi_Responses_TemplateResponse> = [];\n\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get notFoundData() {\n    return this.templatesResponse.length === 0;\n  }\n\n  @computed\n  get radioVehicleDisabled() {\n    return (\n      this.templatesResponse.find(\n        (item) => item.group === Domain_Contracts_Enums_Mandates_MandateGroup.VEHICLE\n      ) === undefined\n    );\n  }\n\n  @computed\n  get radioDriverDisabled() {\n    return (\n      this.templatesResponse.find(\n        (item) => item.group === Domain_Contracts_Enums_Mandates_MandateGroup.DRIVER\n      ) === undefined\n    );\n  }\n\n  @computed\n  get radioCredoDisabled() {\n    return (\n      this.templatesResponse.find(\n        (item) => item.group === Domain_Contracts_Enums_Mandates_MandateGroup.CREDO\n      ) === undefined\n    );\n  }\n\n  @computed\n  get templateOptions() {\n    const key = Object.keys(Domain_Contracts_Enums_Mandates_MandateGroup).find(\n      (k) => k.toLowerCase() === this.model.group?.toLowerCase()\n    );\n\n    const group = key\n      ? Domain_Contracts_Enums_Mandates_MandateGroup[\n          key as keyof typeof Domain_Contracts_Enums_Mandates_MandateGroup\n        ]\n      : Domain_Contracts_Enums_Mandates_MandateGroup.VEHICLE;\n\n    return this.templatesResponse\n      .filter((item) => item.group == group)\n      .map((item) => ({\n        key: item.code ?? '',\n        label: item.name ?? '',\n        value: item.code ?? '',\n      }));\n  }\n\n  @computed\n  get document() {\n    return this.templatesResponse.find((template) => template.code === this.model.templateCode)?.document;\n  }\n\n  @computed\n  get name() {\n    if (!this.model.templateCode) return '';\n\n    return this.templatesResponse.find((code) => code.code === this.model.templateCode)?.name;\n  }\n\n  @computed\n  get disableNextStep() {\n    return this.model.templateCode === '' || !this.model.checkbox;\n  }\n\n  @computed\n  get description() {\n    return (\n      this.model.templateCode !== '' &&\n      this.templatesResponse.find((code) => code.code === this.model.templateCode)?.description\n    );\n  }\n\n  @computed\n  get isVehicleObjectSpecific() {\n    if (!this.model.templateCode) return false;\n    const template = this.templatesResponse.find((code) => code.code === this.model.templateCode);\n\n    return (\n      template &&\n      template.isObjectSpecific &&\n      template.objectSpecificTypes?.includes(Domain_Contracts_Enums_Mandates_ObjectSpecificType.VEHICLE)\n    );\n  }\n\n  @computed\n  get unknownObjectsAvailable(): boolean {\n    if (!this.model.templateCode) return false;\n    const template = this.templatesResponse.find((code) => code.code === this.model.templateCode);\n\n    return (\n      (template &&\n        template.unknownObjectsAvailable &&\n        template.objectSpecificTypes?.includes(Domain_Contracts_Enums_Mandates_ObjectSpecificType.VEHICLE)) ??\n      false\n    );\n  }\n\n  @computed\n  get summaryData(): Array<{ label: ReactNode; value: ReactNode }> {\n    return [\n      {\n        label: this.translate('item6.templateCode'),\n        value: this.name,\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private apiService: ApiService,\n    @Inject() public validationService: ValidationService\n  ) {\n    super('new-mandate-template');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.loadTemplateOptions();\n    this.startActivityWatcher();\n  }\n\n  setStep(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  @action.bound\n  reset() {\n    this.templatesResponse = [];\n    this.model = new TemplateSelectionModel();\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  unCheck() {\n    this.model.checkbox = false;\n  }\n\n  @action.bound\n  changeGroup() {\n    runInAction(() => {\n      this.model.templateCode = '';\n      this.model.checkbox = false;\n    });\n  }\n\n  @Watch<TemplateSelectionService>((s) => s.busyWatcher)\n  @action.bound\n  private async loadTemplateOptions() {\n    const explicitTemplates =\n      await this.apiService.mandatesApi.management.getPdApiMandatesV1ManagementTemplates(\n        Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT\n      );\n\n    runInAction(() => {\n      this.templatesResponse = explicitTemplates;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.checkbox, this.model.templateCode] as const;\n  }\n\n  translate = translate('newMandate', this);\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\nimport { getDatePickerDefaultValues } from 'src/utils/BrowserUtils';\n\n@AddTranslationKey('newMandate')\nexport default class ValidityModel {\n  @observable validityLimit = ValidityCodesEnum.VALIDITY_WITH_END;\n\n  @observable startWithEnd = '';\n  @observable end = '';\n  @observable startWithoutEnd = '';\n\n  constructor() {\n    makeObservable(this);\n    this.resetValues();\n  }\n\n  @action.bound\n  resetValues() {\n    const defaults = getDatePickerDefaultValues();\n    this.startWithEnd = defaults?.today ?? '';\n    this.end = defaults?.tomorrow ?? '';\n    this.startWithoutEnd = defaults?.today ?? '';\n  }\n}\n\nexport const ValidityModelValidators: ValidationDescriptor<ValidityModel, Validators> = {\n  startWithEnd: {\n    pastDate: {\n      message: 'startDate',\n    },\n    rangeDate: {\n      message: 'endDate',\n      options: {\n        validFrom: (t: ValidityModel) => t.startWithEnd,\n        validTo: (t: ValidityModel) => t.end,\n      },\n    },\n  },\n  end: {\n    dateAfterToday: {\n      message: 'endDateBeforeTomorrow',\n    },\n    rangeDate: {\n      message: 'endDateBeforeStart',\n      options: {\n        validFrom: (t: ValidityModel) => t.startWithEnd,\n        validTo: (t: ValidityModel) => t.end,\n      },\n    },\n  },\n  startWithoutEnd: {\n    pastDate: {\n      message: 'startDate',\n    },\n  },\n};\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidityModel, { ValidityModelValidators } from './ValidityModel';\nimport ValidationService from '../../../../services/ValidationService';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\nimport { ValidationState } from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport DateUtils from 'src/utils/DateUtils';\n\n@Service()\nexport default class ValidityService extends WizardStepService {\n  @observable model = new ValidityModel();\n\n  get optionWithEnd() {\n    return [{ id: ValidityCodesEnum.VALIDITY_WITH_END, label: this.translate('item5.option-1') }];\n  }\n\n  get optionWithoutEnd() {\n    return [{ id: ValidityCodesEnum.VALIDITY_WITHOUT_END, label: this.translate('item5.option-2') }];\n  }\n\n  @computed\n  get disableNextStep() {\n    if (!this.isValid) return true;\n\n    if (!this.isNotEmpty) return true;\n\n    return false;\n  }\n\n  @computed\n  get isValid() {\n    const { validityLimit } = this.model;\n\n    const startValidationState = this.validation.getValidation(this.model).getProperty('startWithEnd').state;\n    const endValidationState = this.validation.getValidation(this.model).getProperty('end').state;\n    const startValidationStateWithoutEnd = this.validation\n      .getValidation(this.model)\n      .getProperty('startWithoutEnd').state;\n\n    switch (validityLimit) {\n      case ValidityCodesEnum.VALIDITY_WITH_END:\n        return startValidationState === ValidationState.valid && endValidationState === ValidationState.valid;\n      case ValidityCodesEnum.VALIDITY_WITHOUT_END:\n      default:\n        return startValidationStateWithoutEnd === ValidationState.valid;\n    }\n  }\n\n  @computed\n  get isNotEmpty() {\n    const { validityLimit, startWithEnd, end, startWithoutEnd } = this.model;\n\n    switch (validityLimit) {\n      case ValidityCodesEnum.VALIDITY_WITH_END:\n        return startWithEnd !== '' && end !== '';\n      case ValidityCodesEnum.VALIDITY_WITHOUT_END:\n      default:\n        return startWithoutEnd !== '';\n    }\n  }\n\n  @computed\n  get startMinValue() {\n    return DateUtils.toRequestString(new Date(Date.now()));\n  }\n\n  @computed\n  get endMinValue() {\n    if (this.model.startWithEnd !== '') {\n      const selectedStartDateUTC = new Date(this.model.startWithEnd);\n      const now = new Date();\n      const tomorrowUTC = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() + 1));\n\n      if (selectedStartDateUTC >= tomorrowUTC) {\n        return this.model.startWithEnd;\n      }\n    }\n\n    // end has to be tomorrow or later, 86400000 ms = 1 day\n    return DateUtils.toRequestString(new Date(Date.now() + 86400000));\n  }\n\n  @computed\n  get summaryData() {\n    if (this.model.validityLimit === ValidityCodesEnum.VALIDITY_WITH_END) {\n      return [\n        {\n          label: this.translate('item5.startOfValidity'),\n          value: DateUtils.dateFormatCz(this.model.startWithEnd),\n        },\n        {\n          label: this.translate('item5.endOfValidity'),\n          value: DateUtils.dateFormatCz(this.model.end),\n        },\n      ];\n    } else {\n      return [\n        {\n          label: this.translate('item5.startOfValidity'),\n          value: DateUtils.dateFormatCz(this.model.startWithoutEnd),\n        },\n        {\n          label: this.translate('item5.endOfValidity'),\n          value: this.translate('item5.timeWithoutEnd'),\n        },\n      ];\n    }\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService\n  ) {\n    super('new-mandate-validity');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.validation.attachDescriptor(this.model, ValidityModelValidators);\n    if (this.isNotEmpty) {\n      this.updateModelValidationState();\n    }\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  setStep(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  @action.bound\n  reset() {\n    this.model = new ValidityModel();\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  resetModelValuesAndValidate() {\n    this.model.resetValues();\n    this.updateModelValidationState();\n  }\n\n  @action.bound\n  updateModelValidationState() {\n    this.validation.validateObject(this.model);\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.end,\n      this.model.startWithEnd,\n      this.model.startWithoutEnd,\n      this.model.validityLimit,\n    ] as const;\n  }\n\n  translate = translate('newMandate', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport CompleteScreenViewModel from './CompleteScreenViewModel';\n\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport { MandatesRedirectType } from 'src/enums/MandatesRedirectType';\nimport CompleteFaq from './components/CompleteFaq';\n\nconst CompleteScreenView: View<CompleteScreenViewModel> = observer(({ vm }) => {\n  const { translate, translateNewSuccess } = vm;\n\n  if (vm.isRedirectedTo === MandatesRedirectType.NEW) {\n    return (\n      <Container className=\"represented-entities-view\">\n        <ScreenContext value={vm}>\n          <CompleteScreen\n            mandateId={vm.permissionCode}\n            onClick={vm.navToMandatesList}\n            title={translateNewSuccess('title')}\n            subtitle={translateNewSuccess('info')}\n            mandateText={translateNewSuccess('mandateId')}\n            buttonText={translateNewSuccess('btnText')}\n            govIcon=\"complex/queue\"\n            variant=\"success\"\n          />\n          <CompleteFaq translate={translate} onNavigateToNotification={vm.navToNotification} />\n        </ScreenContext>\n      </Container>\n    );\n  } else {\n    return (\n      <Container className=\"represented-entities-view\">\n        <ScreenContext value={vm}>\n          <CompleteScreen\n            mandateId={vm.permissionCode}\n            onClick={vm.navToMandatesList}\n            title={translate('refusedScreen.title')}\n            subtitle={translate('refusedScreen.info')}\n            mandateText={translate('refusedScreen.mandateId')}\n            buttonText={translate('refusedScreen.btnText')}\n            govIcon=\"complex/queue\"\n            variant=\"warning\"\n          />\n          <CompleteFaq translate={translate} onNavigateToNotification={vm.navToNotification} />\n        </ScreenContext>\n      </Container>\n    );\n  }\n});\n\nexport default CompleteScreenView;\n","import { action, makeObservable } from 'mobx';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from 'src/services/ApiService';\nimport CompleteScreenView from './CompleteScreenView';\nimport { MandatesRedirectType } from 'src/enums/MandatesRedirectType';\nimport GrantedMandatesViewModel from '../grantedMandates/GrantedMandatesViewModel';\nimport NotificationViewModel from '../../notificationAndContact/NotificationViewModel';\n\n@AddDefaultView(CompleteScreenView)\n@Service()\nexport default class CompleteScreenViewModel extends BaseScreen {\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  permissionCode: string = '';\n\n  isRedirectedTo: MandatesRedirectType | undefined = undefined;\n\n  get pathNode(): string {\n    return '/isRedirectedTo/-complete-/permissionCode/';\n  }\n\n  get title(): string {\n    if (this.isRedirectedTo === MandatesRedirectType.NEW) {\n      return this.translateNewSuccess('metaTitle');\n    } else {\n      return this.translate('title');\n    }\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { permissionCode, isRedirectedTo } = params;\n\n    this.permissionCode = permissionCode;\n    if (isRedirectedTo && this.isValidMandatesRedirectType(isRedirectedTo)) {\n      this.isRedirectedTo = isRedirectedTo;\n    } else {\n      this.isRedirectedTo = undefined;\n    }\n  }\n\n  private isValidMandatesRedirectType(value: string): value is MandatesRedirectType {\n    return Object.values(MandatesRedirectType).includes(value as MandatesRedirectType);\n  }\n\n  deactivate() {\n    this.reset();\n  }\n  activate() {\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  notifyNavigation() {}\n\n  @action.bound\n  reset() {\n    this.permissionCode = '';\n  }\n\n  @action.bound\n  navToMandatesList() {\n    this.navigator(GrantedMandatesViewModel).go();\n  }\n\n  @action.bound\n  navToNotification() {\n    this.navigator(NotificationViewModel).go();\n  }\n\n  translate = translate('entityDetail', this);\n  translateNewSuccess = translate('entityDetail.newMandateSuccess', this);\n  translateDelegateSuccess = translate('entityDetail.delegateMandateSuccess', this);\n  translateEditSuccess = translate('entityDetail.editMandateSuccess', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport ApiService from 'src/services/ApiService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport TemplateSelectionService from './01_TemplateSelection/TemplateSelectionService';\nimport RepresentedEntityService from './03_RepresentedEntity/RepresentedEntityService';\nimport RepresentativeIdentificationService from './04_RepresentativeIdentification/RepresentativeIdentificationService';\nimport TransferAgreementService from './05_Transfer/TransferAgreementService';\nimport ValidationService from '../../../services/ValidationService';\nimport ValidityService from './06_Validity/ValidityService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport { MandatesRedirectType } from 'src/enums/MandatesRedirectType';\nimport CompleteScreenViewModel from '../completeScreen/CompleteScreenViewModel';\nimport {\n  Mandates_WebApi_Requests_AifoIdIdentificationRequest,\n  Mandates_WebApi_Requests_CreateMandateRequest,\n  Mandates_WebApi_Requests_IdentificationNumberRequest,\n} from 'src/data/mandates/api';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { WizardContext } from '@cendis/cedr-components';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport ErrorService from 'src/services/ErrorService';\nimport VehicleSelectionService from '../shared/services/VehicleSelectionService';\nimport EnvUtils from 'src/utils/EnvUtils';\nimport AuthService from 'src/services/AuthService';\n\n@Service()\nexport default class ApplicationService {\n  @observable summaryPromptVisible = false;\n\n  wizardContext = new WizardContext();\n  busyWatcher = new BusyWatcher();\n  private navigator: Navigator = DummyNavigator;\n\n  @computed\n  get hasVehiclesSelection() {\n    return this.templateSelectionService.isVehicleObjectSpecific;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public templateSelectionService: TemplateSelectionService,\n    @Inject() public vehicleSelectionService: VehicleSelectionService,\n    @Inject() public representedEntityService: RepresentedEntityService,\n    @Inject()\n    public representativeIdentificationService: RepresentativeIdentificationService,\n    @Inject() public transferAgreementService: TransferAgreementService,\n    @Inject() public validityService: ValidityService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private authService: AuthService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(navigator: Navigator) {\n    const enabled = EnvUtils.isRsvUnloadedVehiclesEnabled;\n    const withVehicleSelection = this.hasVehiclesSelection;\n\n    this.navigator = navigator;\n    this.validationService.init();\n    this.templateSelectionService.init(1);\n    this.representedEntityService.init(withVehicleSelection ? 3 : 2);\n    this.representativeIdentificationService.init(withVehicleSelection ? 4 : 3);\n    this.transferAgreementService.init(withVehicleSelection ? 5 : 4);\n    this.validityService.init(withVehicleSelection ? 6 : 5);\n\n    if (enabled) {\n      this.vehicleSelectionService.init(withVehicleSelection ? 2 : 6);\n    }\n  }\n\n  @action.bound\n  resetSteps() {\n    const withVehicleSelection = this.hasVehiclesSelection;\n    this.vehicleSelectionService.setStep(withVehicleSelection ? 2 : 6);\n    this.representedEntityService.setStep(withVehicleSelection ? 3 : 2);\n    this.representativeIdentificationService.setStep(withVehicleSelection ? 4 : 3);\n    this.transferAgreementService.setStep(withVehicleSelection ? 5 : 4);\n    this.validityService.setStep(withVehicleSelection ? 6 : 5);\n  }\n\n  @action.bound\n  reset() {\n    this.summaryPromptVisible = false;\n    this.wizardContext = new WizardContext();\n\n    this.validationService.reset();\n    this.templateSelectionService.reset();\n    this.representedEntityService.reset();\n    this.representativeIdentificationService.reset();\n    this.validityService.reset();\n    this.transferAgreementService.reset();\n    this.vehicleSelectionService.reset();\n    this.vehicleSelectionService.unloadVehicles();\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  @Watch<ApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async createNewMandate() {\n    const enabled = EnvUtils.isRsvUnloadedVehiclesEnabled;\n\n    try {\n      const representative:\n        | Mandates_WebApi_Requests_AifoIdIdentificationRequest\n        | Mandates_WebApi_Requests_IdentificationNumberRequest =\n        this.representativeIdentificationService.model.representativePersonType === MandatePersonType.PO\n          ? {\n              $type: 'PO', //$type must be on the first position\n              identificationNumber: this.representativeIdentificationService.model.identificationNumber,\n            }\n          : {\n              $type: 'FO', //$type must be on the first position\n              aifoId: this.representativeIdentificationService.identifiedPerson?.aifoId ?? '',\n            };\n\n      const requestBody: Mandates_WebApi_Requests_CreateMandateRequest = {\n        templateCode: this.templateSelectionService.model.templateCode,\n        transferable: this.transferAgreementService.model.transferable,\n        representative: representative,\n        validFrom:\n          this.validityService.model.validityLimit === ValidityCodesEnum.VALIDITY_WITH_END\n            ? this.validityService.model.startWithEnd\n            : this.validityService.model.startWithoutEnd,\n        validTo:\n          this.validityService.model.validityLimit === ValidityCodesEnum.VALIDITY_WITH_END\n            ? this.validityService.model.end\n            : null,\n        ...(enabled\n          ? {\n              objectSpecificPermissions: this.vehicleSelectionService.objectSpecificPermissions,\n            }\n          : {}),\n      };\n\n      const { code } =\n        await this.apiService.mandatesApi.management.postPdApiMandatesV1ManagementMandates(requestBody);\n      this.navigationGuardService.stopGuarding();\n      this.navToCompleteScreen(code, MandatesRedirectType.NEW);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'createNewMandate - mandates - newMandate - ApplicationService',\n        'createNewMandate - apiService.mandatesApi.management.postPdApiMandatesV1ManagementMandates'\n      );\n      this.closePrompt();\n      throw e;\n    }\n  }\n\n  @action.bound\n  onTemplateChange() {\n    this.resetSteps();\n    this.vehicleSelectionService.reset(false);\n  }\n\n  @action.bound\n  navToCompleteScreen(permissionCode: string, isRedirectedTo: MandatesRedirectType) {\n    this.navigator(CompleteScreenViewModel, {\n      permissionCode: permissionCode,\n      isRedirectedTo: isRedirectedTo,\n    }).go();\n  }\n\n  @action.bound\n  onBeforeNextSummaryStep() {\n    this.openPrompt();\n    return false;\n  }\n\n  @action.bound\n  openPrompt() {\n    this.summaryPromptVisible = true;\n  }\n\n  @action.bound\n  closePrompt() {\n    this.summaryPromptVisible = false;\n  }\n\n  translate = translate('newMandate', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { computed, makeObservable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport NewMandateView from './NewMandateView';\nimport ApplicationService from './ApplicationService';\n\n@AddDefaultView(NewMandateView)\n@Service()\nexport default class NewMandateViewModel extends BaseScreen {\n  @computed\n  get validation() {\n    return this.applicationService.validationService.validation;\n  }\n\n  get pathNode(): string {\n    return 'new-mandate';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async notifyNavigation() {\n    this.applicationService.init(this.navigator);\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  translate = translate('newMandate', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport VehicleView from './MandateView';\nimport { Inject, Service } from 'typedi';\nimport { computed, makeObservable, runInAction, when } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport NewMandateViewModel from './newMandate/NewMandateViewModel';\nimport CompleteScreenViewModel from './completeScreen/CompleteScreenViewModel';\nimport GrantedMandatesViewModel from './grantedMandates/GrantedMandatesViewModel';\nimport ObtainedMandatesViewModel from './obtainedMandates/ObtainedMandatesViewModel';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(VehicleView)\n@AddChildrenView()\n@Service()\nexport default class MandateViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'mandates';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public newMandateViewModel: NewMandateViewModel,\n    @Inject() public grantedMandatesViewModel: GrantedMandatesViewModel,\n    @Inject() public obtainedMandatesViewModel: ObtainedMandatesViewModel,\n    @Inject() public completeScreenViewModel: CompleteScreenViewModel,\n    @Inject() public authorizationService: AuthorizationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(newMandateViewModel);\n    this.children.push(grantedMandatesViewModel);\n    this.children.push(obtainedMandatesViewModel);\n    this.children.push(completeScreenViewModel);\n  }\n\n  activate() {\n    when(\n      () => this.authorizationService.initialized,\n      () => {\n        if (!this.authorizationService.conditions.MANDATES) {\n          runInAction(() => {\n            this.errorService.error = {\n              status: 403,\n              body: { title: 'ACCESS_DENIED', requestId: 'MANDATES:NOT_ALLOWED_SECTION' },\n            };\n          });\n        }\n      }\n    );\n  }\n\n  @computed get navNewMandate() {\n    return this.navigator(NewMandateViewModel);\n  }\n\n  @computed get navMandatesList() {\n    return this.navigator(GrantedMandatesViewModel);\n  }\n\n  @computed get navRepresentedEntities() {\n    return this.navigator(ObtainedMandatesViewModel);\n  }\n\n  translate = translate('mandatesView', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Accordion, AccordionItem, GovLink, Typography } from '@cendis/cedr-components';\nimport './CompleteFaq.scss';\n\ntype CompleteFaq = {\n  translate: Translator;\n  onNavigateToNotification: () => void;\n};\n\nconst CompleteFaq = observer(({ translate, onNavigateToNotification }: CompleteFaq) => {\n  return (\n    <div className=\"complete-faq\">\n      {/* BOTTOM ACCORDION */}\n      <Typography type=\"headline\" component={'h2'} size=\"l\" fontWeight={300} className=\"mt-4 mb-3\">\n        {translate('faq.title')}\n      </Typography>\n\n      <Accordion noBorder className=\"mb-5\" size=\"l\">\n        <AccordionItem\n          className=\"mb-5\"\n          size=\"l\"\n          header={translate('faq.header1')}\n          id=\"header1\"\n          isInitiallyExpanded\n        >\n          {translate('faq.text1-1')}\n\n          <GovLink tabIndex={0} onClick={onNavigateToNotification} testId=\"notifications\">\n            {translate('faq.text1-2')}\n          </GovLink>\n          {translate('faq.text1-3')}\n        </AccordionItem>\n      </Accordion>\n    </div>\n  );\n});\n\nexport default CompleteFaq;\n","import { observer } from 'mobx-react-lite';\nimport ValidityStepService from './ValidityStepService';\nimport { Input, Message, Skeleton, WizardItem } from '@cendis/cedr-components';\nimport { WizardStepListener } from 'src/app/driver_ng/components/WizardStepListener/WizardStepListener';\n\ntype ValidityWizardStepProps = {\n  validityStepService: ValidityStepService;\n  continueAction?: () => void;\n};\n\nconst ValidityWizardStep = observer(({ validityStepService, continueAction }: ValidityWizardStepProps) => {\n  const { isDetailReady, model, translate, step, disableNextStep, error, validToMinValue } =\n    validityStepService;\n\n  return (\n    <>\n      <WizardStepListener onStepChange={continueAction} />\n      <WizardItem label={translate('item1.header')} step={step} disableNextStep={disableNextStep}>\n        {error ? (\n          <Message color=\"error\" message={translate('item1.notFound')} />\n        ) : isDetailReady === false ? (\n          <Skeleton height=\"200px\" />\n        ) : (\n          <>\n            <Input\n              type=\"date\"\n              target={model}\n              property={'validityEnd'}\n              required={true}\n              min={validToMinValue}\n              className=\"mw-input-224 mw-320 mb-4\"\n            />\n          </>\n        )}\n      </WizardItem>\n    </>\n  );\n});\n\nexport default ValidityWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport ApplicationService from '../ApplicationService';\nimport { Button, Dialog, Typography, useWizardContext, WizardItem } from '@cendis/cedr-components';\nimport WizardStepSummary from '../../shared/components/WizardStepSummary';\nimport DateUtils from 'src/utils/DateUtils';\nimport SelectedVehicleTable from '../../shared/components/SelectedVehicleTable';\nimport { VehiclesSelectionType } from 'src/enums/VehiclesSelectionTypes';\n\ntype SummaryWizardStepProps = {\n  applicationService: ApplicationService;\n};\n\nconst SummaryWizardStep = observer(({ applicationService }: SummaryWizardStepProps) => {\n  const wizardContext = useWizardContext();\n  const {\n    translate,\n    templateNameData,\n    representedEntityService,\n    representativeEntityData,\n    transferableData,\n    validityStepService,\n    onBeforeNextSummaryStep,\n    summaryPromptVisible,\n    closePrompt,\n    editMandate,\n    busyWatcher,\n    startGuarding,\n  } = applicationService;\n\n  return (\n    <WizardItem\n      label={translate('item2.header')}\n      step={wizardContext.lastStep}\n      onBeforeNextStep={onBeforeNextSummaryStep}\n      onActiveStep={() => startGuarding()}\n      controlledButtonText={translate('item2.buttonText')}\n    >\n      {/* TEMPLATE NAME */}\n      <WizardStepSummary title={translate('item2.header1')} data={templateNameData} />\n\n      {/* OBJECT RESTRICTIONS */}\n      <WizardStepSummary title={translate('itemVehicles.header')}>\n        {applicationService.vehicleSelectionService.model.vehiclesSelectionType === VehiclesSelectionType.ALL ? (\n          <Typography type=\"body\" fontWeight={700}>\n            {translate('itemVehicles.allVehicles')}\n          </Typography>\n        ) : (\n          <SelectedVehicleTable vehicleSelectionService={applicationService.vehicleSelectionService} withActions={false} />\n        )}\n      </WizardStepSummary>\n      \n      {/* REPRESENTED */}\n      <WizardStepSummary title={translate('item2.header2')} data={representedEntityService.summaryData} />\n\n      {/* REPRESENTATIVE */}\n      <WizardStepSummary title={translate('item2.header3')} data={representativeEntityData} />\n\n      {/* TRANSFERABLE */}\n      <WizardStepSummary title={translate('item2.header4')} data={transferableData} />\n\n      {/* VALIDITY */}\n      <WizardStepSummary title={translate('item2.header5')} returnToStep={1} data={validityStepService.summaryData} noSeparator />\n\n      {/* PROMPT */}\n      <Dialog\n        isVisible={summaryPromptVisible}\n        headline={translate('modal.header')}\n        onClose={closePrompt}\n        testId=\"summary-modal\"\n        bottomChildren={\n          <>\n            <Button\n              text={translate('modal.no')}\n              onClick={closePrompt}\n              className=\"me-3\"\n              color=\"primary\"\n              type=\"base\"\n              testId=\"summary-modal-no\"\n            />\n            <Button\n              text={translate('modal.yes')}\n              type=\"solid\"\n              color=\"success\"\n              onClick={editMandate}\n              loading={busyWatcher.isBusy}\n              testId=\"summary-modal-yes\"\n            />\n          </>\n        }\n      >\n        <div>\n          <p>{`${translate('modal.text')} ${applicationService.sharedDataService.permission?.validTo ? DateUtils.dateFormatCz(applicationService.sharedDataService.permission?.validTo) : translate('item2.validityEndNotSet')}`}</p>\n          <p>\n            <strong className=\"fw-bold\">\n              {`${translate('modal.text1')} ${validityStepService.selectedValidity.validTo ? DateUtils.dateFormatCz(validityStepService.selectedValidity.validTo) : translate('item2.validityEndNotSet')}`}\n            </strong>\n          </p>\n        </div>\n      </Dialog>\n    </WizardItem>\n  );\n});\n\nexport default SummaryWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { ScreenContext, Typography, Wizard } from '@cendis/cedr-components';\nimport Container from '@components/gov4/layout/Container';\nimport EditMandateViewModel from './EditMandateViewModel';\nimport { MandateViewFaq } from '../MandateViewFaq';\nimport ValidityWizardStep from './01_Validity/ValidityWizardStep';\nimport SummaryWizardStep from './02_Summary/SummaryWizardStep';\n\nconst EditMandateView: View<EditMandateViewModel> = observer(({ vm }) => {\n  const { translate, translateFaq } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container className=\"edit-mandate-view\">\n        <div className=\"mw-900\">\n          {/* TITLE */}\n          <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"tile-title\">\n            {translate('title1')}\n          </Typography>\n\n          <Typography color={{ color: 'neutral', saturation: 500 }} className=\"mb-4\">\n            {translate('more-info-text')}\n          </Typography>\n\n          {/* WIZARD */}\n          <Wizard wizardContext={vm.applicationService.wizardContext}>\n            {/* SECTION 1 */}\n            <ValidityWizardStep\n              validityStepService={vm.applicationService.validityStepService}\n              continueAction={vm.applicationService.continueAction}\n            />\n\n            {/* SECTION 2 */}\n            <SummaryWizardStep applicationService={vm.applicationService} />\n          </Wizard>\n\n          {/* FAQ */}\n          <MandateViewFaq translate={translateFaq} />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default EditMandateView;\n","import translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport GrantedMandateDetailService from '../grantedMandateDetail/GrantedMandateDetailService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\nexport default class SharedDataService {\n  @observable aifoIdOrIco = '';\n  @observable permissionCode = '';\n\n  @observable notFoundError = false;\n\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get grantedMandateDetail() {\n    return this.grantedMandateDetailService.grantedMandateDetail;\n  }\n\n  @computed\n  get permission() {\n    return this.grantedMandateDetail?.mandates.find((mandate) => mandate.permissionCode === this.permissionCode);\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public grantedMandateDetailService: GrantedMandateDetailService,\n    @Inject() public errorService: ErrorService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(aifoIdOrIco: string, permissionCode: string) {\n    this.aifoIdOrIco = aifoIdOrIco;\n    this.permissionCode = permissionCode;\n\n    const personType = aifoIdOrIco.length > 8 ? MandatePersonType.FO : MandatePersonType.PO;\n\n    this.loadDetail(personType, aifoIdOrIco);\n  }\n\n  @action.bound\n  reset() {\n    this.permissionCode = '';\n    this.aifoIdOrIco = '';\n    this.notFoundError = false;\n  }\n\n  @Watch<SharedDataService>((s) => s.busyWatcher)\n  @action.bound\n  async loadDetail(personType: MandatePersonType, aifoIdOrIco: string) {\n    try {\n      if (this.grantedMandateDetailService.grantedMandateDetail === undefined) {\n        await this.grantedMandateDetailService.getDetail(personType, aifoIdOrIco);\n      }\n    } catch (e: any) {\n      runInAction(() => {\n        this.notFoundError = true;\n      });\n\n      if (e.status !== 404) {\n        this.errorService.logCatchError(\n          e,\n          'mandates - editMandate - SharedDataService',\n          `loadDetail - grantedMandateDetailService.getDetail, ${personType} ${aifoIdOrIco}, status != 404`\n        );\n        throw e;\n      } else {\n        this.errorService.logCatchError(\n          e,\n          'mandates - editMandate - SharedDataService',\n          `loadDetail - grantedMandateDetailService.getDetail, ${personType} ${aifoIdOrIco}, status 404`\n        );\n      }\n    }\n  }\n\n  translate = translate('editMandate', this);\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport { getDatePickerDefaultValues } from 'src/utils/BrowserUtils';\nimport Container from 'typedi';\nimport SharedDataService from '../SharedDataService';\n\n@AddTranslationKey('editMandate')\nexport default class ValidityModel {\n  @observable validityEnd = '';\n\n  @computed\n  get originalValidFrom() {\n    const service = Container.get(SharedDataService);\n    return service.permission?.validFrom;\n  }\n\n  @computed\n  get originalValidTo() {\n    const service = Container.get(SharedDataService);\n    return service.permission?.validTo;\n  }\n  @computed\n  get tomorrow() {\n    const tomorrow = new Date();\n    tomorrow.setDate(tomorrow.getDate() + 1);\n    return tomorrow.toISOString().split('T')[0];\n  }\n\n  constructor() {\n    makeObservable(this);\n    this.resetValues();\n  }\n\n  @action.bound\n  resetValues() {\n    this.validityEnd = getDatePickerDefaultValues()?.tomorrow ?? '';\n  }\n}\n\nexport const ValidityModelValidators: ValidationDescriptor<ValidityModel, Validators> = {\n  validityEnd: {\n    rangeDate: {\n      message: 'validityEndpastTomorrow.date',\n      options: {\n        validFrom: (t: ValidityModel) => t.tomorrow,\n        validTo: (t: ValidityModel) => null,\n      },\n    },\n    pastOriginalDate: {\n      message: 'validityEndpastOriginal.date',\n      options: {\n        originalDate: (t: ValidityModel) => t.originalValidFrom,\n      },\n    },\n    notChangedValue: {\n      message: 'validityEndNotChanged.date',\n      options: {\n        originalValue: (t: ValidityModel) => t.originalValidTo,\n      },\n    },\n  },\n};\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SharedDataService from '../SharedDataService';\nimport ValidityModel, { ValidityModelValidators } from './ValidityModel';\nimport { EditMandateDatesType } from 'src/enums/EditMandateDatesType';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport ValidationService from '../../../../services/ValidationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { ValidationState } from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport DateUtils from 'src/utils/DateUtils';\n\n@Service()\nexport default class ValidityStepService extends WizardStepService {\n  @observable model = new ValidityModel();\n\n  @computed\n  get isDetailReady() {\n    return this.sharedDataService.grantedMandateDetail !== undefined;\n  }\n\n  @computed\n  get disableNextStep() {\n    if (this.error) return true;\n\n    if (this.isDetailReady === false) return true;\n\n    if (this.isInputValid === false) return true;\n\n    if (this.isInputEmpty) return true;\n\n    return false;\n  }\n\n  @computed\n  get error() {\n    return this.sharedDataService.notFoundError;\n  }\n\n  @computed\n  get limitedRadioOption() {\n    return [{ id: EditMandateDatesType.LIMITED_DATE, label: this.translate('item1.radio_Option1') }];\n  }\n\n  @computed\n  get unlimitedRadioOption() {\n    return [{ id: EditMandateDatesType.UNLIMITED_DATE, label: this.translate('item1.radio_Option2') }];\n  }\n\n  @computed\n  get isInputValid() {\n    const endInputValidationState = this.validation\n      .getValidation(this.model)\n      .getProperty('validityEnd').state;\n    return endInputValidationState === ValidationState.valid;\n  }\n\n  @computed\n  get isInputEmpty() {\n    return this.model.validityEnd === '';\n  }\n\n  @computed\n  get validToMinValue() {\n    const validFrom = this.sharedDataService.permission?.validFrom;\n\n    const tomorrow = new Date();\n    tomorrow.setDate(tomorrow.getDate() + 1);\n\n    if (!validFrom) {\n      return tomorrow.toISOString().split('T')[0];\n    }\n\n    const original = new Date(validFrom);\n\n    return original > tomorrow ? original.toISOString().split('T')[0] : tomorrow.toISOString().split('T')[0];\n  }\n\n  @computed\n  get selectedValidity() {\n    let validity: {\n      validFrom: string;\n      validTo: string | null | undefined;\n    } = {\n      validFrom: '',\n      validTo: null,\n    };\n\n    validity = {\n      validFrom: this.sharedDataService.permission?.validFrom ?? '',\n      validTo: this.model.validityEnd,\n    };\n\n    return validity;\n  }\n\n  @computed\n  get summaryData() {\n    return [\n      {\n        label: this.translate('item2.validityStart'),\n        value: DateUtils.dateFormatCz(this.selectedValidity.validFrom),\n      },\n      {\n        label: this.translate('item2.validityEnd'),\n        value: this.selectedValidity.validTo\n          ? DateUtils.dateFormatCz(this.selectedValidity.validTo)\n          : this.translate('item2.validityEndNotSet'),\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private sharedDataService: SharedDataService,\n    @Inject() public validationService: ValidationService\n  ) {\n    super('edit-validity');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.validation.attachDescriptor(this.model, ValidityModelValidators);\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new ValidityModel();\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  resetModelValuesAndValidate() {\n    this.model.resetValues();\n    this.updateModelValidationState();\n  }\n\n  @action.bound\n  updateModelValidationState() {\n    this.validation.validateObject(this.model);\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.originalValidFrom,\n      this.model.originalValidTo,\n      this.model.validityEnd,\n      this.model.tomorrow,\n    ] as const;\n  }\n\n  translate = translate('editMandate', this);\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SharedDataService from './SharedDataService';\nimport ValidityStepService from './01_Validity/ValidityStepService';\nimport ValidationService from '../../../services/ValidationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { WizardContext } from '@cendis/cedr-components';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApiService from 'src/services/ApiService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RepresentedEntityService from '../shared/services/RepresentedEntityService';\nimport { UserService } from 'src/services/UserService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ChangeGrantedCompleteScreenViewModel from '../grantedMandates/completeScreen/ChangeGrantedCompleteScreenViewModel';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport ErrorService from 'src/services/ErrorService';\nimport VehicleSelectionService from '../shared/services/VehicleSelectionService';\nimport AuthService from 'src/services/AuthService';\n\n@Service()\nexport default class ApplicationService {\n  @observable summaryPromptVisible = false;\n\n  busyWatcher = new BusyWatcher();\n  wizardContext = new WizardContext();\n  private navigator: Navigator = DummyNavigator;\n\n  @computed\n  get templateNameData() {\n    return [{ label: this.translate('item2.text1'), value: this.sharedDataService.permission?.name }];\n  }\n\n  @computed\n  get representativeEntityData() {\n    if (this.sharedDataService.grantedMandateDetail === undefined) return [];\n\n    const detail = this.sharedDataService.grantedMandateDetail;\n    const isPO = 'identificationNumber' in detail;\n\n    if (isPO) {\n      return [\n        { label: this.translate('item2.companyName'), value: detail.companyName },\n        {\n          label: this.translate('item2.identificationNumber'),\n          value: detail.identificationNumber,\n        },\n      ];\n    } else {\n      return [\n        { label: this.translate('item2.name'), value: detail.firstName },\n        { label: this.translate('item2.surname'), value: detail.lastName },\n        {\n          label: this.translate('item2.type'),\n          value: detail.document?.type ? this.userService.translate(detail.document.type) : null,\n        },\n        { label: this.translate('item2.number'), value: detail.document?.number },\n      ];\n    }\n  }\n\n  @computed\n  get transferableData() {\n    return [\n      {\n        label: this.translate('item2.delegationAgreement'),\n        value: this.sharedDataService.permission?.isTransferable\n          ? this.translate('item2.yes')\n          : this.translate('item2.no'),\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public userService: UserService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public vehicleSelectionService: VehicleSelectionService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() public validityStepService: ValidityStepService,\n    @Inject() public representedEntityService: RepresentedEntityService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private authService: AuthService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(aifoIdOrIco: string, permissionCode: string, navigator: Navigator) {\n    this.navigator = navigator;\n\n    this.validationService.init();\n    this.sharedDataService.init(aifoIdOrIco, permissionCode);\n    // RepresentedEntityService is only included for summary data\n    this.representedEntityService.init(-1);\n    this.validityStepService.init(1);\n  }\n\n  @action.bound\n  reset() {\n    this.summaryPromptVisible = false;\n    this.wizardContext = new WizardContext();\n\n    this.validationService.reset();\n    this.sharedDataService.reset();\n    this.representedEntityService.reset();\n    this.validityStepService.reset();\n    this.navigationGuardService.stopGuarding();\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  @action.bound\n  onBeforeNextSummaryStep() {\n    this.openPrompt();\n    return false;\n  }\n\n  @action.bound\n  closePrompt() {\n    this.summaryPromptVisible = false;\n  }\n\n  @action.bound\n  openPrompt() {\n    this.summaryPromptVisible = true;\n  }\n\n  @action.bound\n  startGuarding() {\n    this.navigationGuardService.startGuarding();\n  }\n\n  @Watch<ApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async editMandate() {\n    try {\n      const permissionCode = this.sharedDataService.permissionCode;\n\n      await this.apiService.mandatesApi.management.putPdApiMandatesV1ManagementMandates(permissionCode, {\n        validTo: this.validityStepService.model.validityEnd,\n      });\n      this.sharedDataService.grantedMandateDetailService.reset();\n      this.navigationGuardService.stopGuarding();\n\n      this.navigator(ChangeGrantedCompleteScreenViewModel, {\n        permissionCode: permissionCode,\n        entityID: this.sharedDataService.aifoIdOrIco,\n      }).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'editMandate - mandates - ApplicationService',\n        'editMandate - apiService.mandatesApi.management.putPdApiMandatesV1ManagementMandates'\n      );\n      this.closePrompt();\n      throw e;\n    }\n  }\n\n  translate = translate('editMandate', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { computed, makeObservable, observable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport EditMandateView from './EditMandateView';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ApplicationService from './ApplicationService';\n\n@AddDefaultView(EditMandateView)\n@AddChildrenView()\n@Service()\nexport default class EditMandateViewModel extends BaseScreen {\n  @observable permissionCode: string = '';\n  @observable entityID = '';\n\n  @computed\n  get validation() {\n    return this.applicationService.validationService.validation;\n  }\n\n  get pathNode(): string {\n    return 'edit-/entityID/-mandate-/permissionCode/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { permissionCode, entityID } = params;\n\n    this.permissionCode = permissionCode;\n    this.entityID = entityID;\n  }\n\n  notifyNavigation() {\n    this.applicationService.init(this.entityID, this.permissionCode, this.navigator);\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  translate = translate('editMandate', this);\n  translateFaq = translate('mandatesView', this);\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport {\n  Mandates_WebApi_Responses_GrantedGroupedMandateCompanyDetailResponse,\n  Mandates_WebApi_Responses_GrantedGroupedMandatePersonDetailResponse,\n} from 'src/data/mandates/api';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport ApiService from 'src/services/ApiService';\nimport { Inject, Service } from 'typedi';\nimport RepresentativeIdentificationService from '../shared/services/RepresentativeIdentificationService';\n\n@Service()\nexport default class GrantedMandateDetailService {\n  @observable queryPermissionCode?: string = undefined;\n  @observable grantedMandateDetail:\n    | Mandates_WebApi_Responses_GrantedGroupedMandateCompanyDetailResponse\n    | Mandates_WebApi_Responses_GrantedGroupedMandatePersonDetailResponse\n    | undefined = undefined;\n  private lastEntityId = '';\n\n  @computed\n  get noMandateError() {\n    if (this.queryPermissionCode) {\n      const mandate = this.grantedMandateDetail?.mandates.find(\n        (mandate) => mandate.permissionCode === this.queryPermissionCode\n      );\n      return !mandate;\n    }\n\n    return (\n      !this.grantedMandateDetail ||\n      (this.grantedMandateDetail &&\n        Array.isArray(this.grantedMandateDetail.mandates) &&\n        this.grantedMandateDetail.mandates.length === 0)\n    );\n  }\n\n  constructor(\n    @Inject()\n    public representativeIdentificationService: RepresentativeIdentificationService,\n    @Inject() private apiService: ApiService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  reset() {\n    this.grantedMandateDetail = undefined;\n    this.lastEntityId = '';\n  }\n\n  @action.bound\n  async getDetail(personType: MandatePersonType, aifoIdOrIco: string) {\n    if (this.grantedMandateDetail && this.lastEntityId === aifoIdOrIco) return this.grantedMandateDetail;\n\n    runInAction(() => {\n      this.grantedMandateDetail = undefined;\n      this.lastEntityId = aifoIdOrIco;\n    });\n\n    const response =\n      await this.apiService.mandatesApi.management.getPdApiMandatesV1ManagementGrantedPersonMandatesDetail(\n        personType === MandatePersonType.FO ? aifoIdOrIco : undefined,\n        personType === MandatePersonType.PO ? aifoIdOrIco : undefined\n      );\n\n    if (!('identificationNumber' in response) && !('lastName' in response)) return;\n\n    runInAction(() => {\n      this.grantedMandateDetail = response;\n      this.lastEntityId = aifoIdOrIco;\n    });\n\n    return response;\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport './GrantedEntityInfo.scss';\nimport {\n  Mandates_WebApi_Responses_GrantedGroupedMandateCompanyDetailResponse,\n  Mandates_WebApi_Responses_GrantedGroupedMandatePersonDetailResponse,\n} from 'src/data/mandates/api';\nimport LabelValueFlexBox from '@components/gov4/layout/LabelValueFlexBox';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DateUtils from 'src/utils/DateUtils';\n\ntype GrantedEntityInfoProps = {\n  detail:\n    | Mandates_WebApi_Responses_GrantedGroupedMandateCompanyDetailResponse\n    | Mandates_WebApi_Responses_GrantedGroupedMandatePersonDetailResponse\n    | undefined;\n  translate: Translator;\n};\n\nconst GrantedEntityInfo = observer(({ detail, translate }: GrantedEntityInfoProps) => {\n  if (!detail) return null;\n\n  const isPO = 'identificationNumber' in detail;\n\n  return (\n    <>\n      <h2 className=\"gov-text--4xl my-4\">\n        {isPO ? detail.companyName : `${detail.firstName} ${detail.lastName}`}\n      </h2>\n\n      <div className=\"granted-entity-info\">\n        <LabelValueFlexBox\n          className=\"mw-656\"\n          data={\n            isPO\n              ? [\n                  {\n                    label: translate('identificationNumber'),\n                    value: detail.identificationNumber,\n                  },\n                ]\n              : [\n                  {\n                    label: translate('documentTypeAndNumber'),\n                    value: detail.document ? `${detail.document.type} ${detail.document.number}` : '-',\n                  },\n                  {\n                    label: translate('birthDate'),\n                    value: DateUtils.dateFormatCz(detail.birthDate),\n                  },\n                  {\n                    label: translate('address'),\n                    value: detail.address?.formattedAddress ? detail.address?.formattedAddress : '-',\n                  },\n                ]\n          }\n        />\n      </div>\n    </>\n  );\n});\n\nexport default GrantedEntityInfo;\n","import { observer } from 'mobx-react-lite';\nimport {\n  Domain_Contracts_Enums_Mandates_MandateType,\n  Mandates_WebApi_Responses_MandateDetailResponse,\n  Mandates_WebApi_Responses_VehicleSpecificPermissionResponse,\n  type Mandates_WebApi_Responses_TemplateDocumentResposne,\n} from 'src/data/mandates/api';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Button, Chip, LegacyTooltip, Tag, Typography } from '@cendis/cedr-components';\nimport Separator from '@components/gov4/separator/Separator';\nimport DateUtils from 'src/utils/DateUtils';\nimport { TypeUtils } from 'src/utils/TypeUtils';\nimport { getFullUrl } from '../../../../utils/PdfBaseUrl';\nimport { formatDocumentInfo } from '../../../../utils/FormatDocumentInfo';\nimport BasicCarIcon from '@components/icons/BasicCarIcon';\nimport FilterSortPaginationContext from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContext';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\n\ntype GrantedMandateProps = {\n  mandate: Mandates_WebApi_Responses_MandateDetailResponse;\n  translate: Translator;\n  translateTable: Translator;\n  navToObtainedMandateDetail: (aifoIdOrIco: string) => void;\n  navToEditMandate: (permissionCode: string) => void;\n  openDeleteModal: (permissionCode: string) => void;\n  document: Mandates_WebApi_Responses_TemplateDocumentResposne | undefined;\n  downloadVehiclesListCSV: (mandate: Mandates_WebApi_Responses_MandateDetailResponse) => void;\n  canBeDeleted: boolean;\n};\n\nconst GrantedMandate = observer(\n  ({\n    mandate,\n    translate,\n    translateTable,\n    navToObtainedMandateDetail,\n    navToEditMandate,\n    openDeleteModal,\n    document,\n    downloadVehiclesListCSV,\n    canBeDeleted,\n  }: GrantedMandateProps) => {\n    const parent = mandate.parentMandate\n      ? {\n          mandate: mandate.parentMandate,\n          entity: mandate.parentMandate.represented,\n          entityID: TypeUtils.entityIdFromIdentity(mandate.parentMandate.represented?.identity),\n          transferredToMeByEntity: mandate.parentMandate.represented,\n        }\n      : undefined;\n\n    const fullUrl = getFullUrl(document?.uriPath);\n\n    const formattedDocumentInfo = formatDocumentInfo(document, translate);\n\n    const objectSpecificPermissions = mandate.objectSpecificPermissions;\n\n    const selectedVehiclesTableContext =\n      new FilterSortPaginationContext<Mandates_WebApi_Responses_VehicleSpecificPermissionResponse>();\n\n    return (\n      <div className=\"mandate-detail\">\n        {/* CHIP - if mandate was transferred from another person */}\n        {parent && (\n          <>\n            <Chip color=\"primary\" size=\"s\" type=\"outlined\" className=\"mb-4\">\n              <span>{translate('originalMandator')}: </span>\n              <span>{parent.entity.name}</span>\n            </Chip>\n          </>\n        )}\n\n        <div className=\"title-chip-wrapper mb-3\">\n          {/* NAME */}\n          <Typography type=\"headline\" component={'h3'} size=\"xs\" className=\"mandate-name\">\n            {mandate.name}\n          </Typography>\n\n          {/* TAG ID */}\n          <Tag color=\"neutral\" type=\"subtle\" size=\"s\" testId=\"permission-code-tag\">\n            <span className=\"bold\">{translate('permissionCode')}: </span>\n            <span>{mandate.permissionCode}</span>\n          </Tag>\n        </div>\n\n        {mandate.permissionDescription && (\n          <Typography className=\"mb-3\">{mandate.permissionDescription}</Typography>\n        )}\n\n        {document?.uriPath && (\n          <Button\n            size=\"m\"\n            type=\"link\"\n            iconStart=\"components/box-arrow-up-right\"\n            className=\"thin-text\"\n            href={fullUrl}\n            target=\"_blank\"\n            testId=\"granted-mandate-document\"\n          >\n            {formattedDocumentInfo}\n          </Button>\n        )}\n\n        <Separator className=\"light\" />\n        {objectSpecificPermissions?.length! > 0 ? (\n          <div>\n            <div className=\"d-flex align-items-center\">\n              <Typography component=\"span\" fontWeight={700}>\n                {translate('objectSpecifics')}\n              </Typography>\n              <Tag className=\"ms-3\" color=\"primary\" size=\"xs\" type=\"subtle\" testId=\"tag-selected-vehicles\">\n                <BasicCarIcon />\n                {translate('onlySelectedCars')} ({objectSpecificPermissions?.length})\n              </Tag>\n\n              <Button\n                className=\"ms-auto\"\n                color=\"primary\"\n                type=\"outlined\"\n                size=\"s\"\n                iconStart=\"components/download\"\n                testId=\"vehicle-list-download\"\n                onClick={() => downloadVehiclesListCSV(mandate)}\n              >\n                {translate('downloadList')}\n              </Button>\n            </div>\n            <Typography className=\"mt-3 pt-1 pb-1\">{translate('objectSpecificsInfo')}</Typography>\n\n            <PaginatedTable\n              className=\"mt-3\"\n              data={\n                objectSpecificPermissions as Mandates_WebApi_Responses_VehicleSpecificPermissionResponse[]\n              }\n              filterSortPaginationContext={selectedVehiclesTableContext}\n              pageSize={10}\n              testId=\"selected-vehicles-table\"\n              row={{\n                key: (x, index) => `${index}-${x.vehicleId}`,\n              }}\n              columns={[\n                {\n                  header: translateTable('vehiclePicker.name'),\n                  value: (x) =>\n                    x.manufacturer\n                      ? x.commercialDesignation\n                        ? `${x.manufacturer} ${x.commercialDesignation}`\n                        : x.manufacturer\n                      : '-',\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.STRING,\n                  },\n                },\n                {\n                  header: translateTable('vehiclePicker.rz'),\n                  value: (x) => (x.rz ? `${x.rz}` : '-'),\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.STRING,\n                  },\n                },\n                {\n                  header: translateTable('vehiclePicker.vin'),\n                  value: (x) => (x.vin ? `${x.vin}` : '-'),\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.STRING,\n                  },\n                },\n                {\n                  header: translateTable('vehiclePicker.pcv'),\n                  headerInfo: translateTable('vehiclePicker.pcvInfo'),\n                  value: (x) => (x.vehicleId ? `${x.vehicleId}` : '-'),\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.NUMBER,\n                  },\n                },\n              ]}\n            />\n          </div>\n        ) : (\n          <div>\n            <Typography component=\"span\">{translate('objectSpecifics')}</Typography>:{' '}\n            <Typography component=\"span\" fontWeight={700}>\n              {translate('noLimits')}\n            </Typography>\n          </div>\n        )}\n        <Separator className=\"light\" />\n\n        {/* DEFAULT VIEW - if not transferred from another person */}\n        {!parent && (\n          <>\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERABLE */}\n              <div className=\"full-row\">\n                <span>{translate('transferable')}: </span>\n                <span className=\"bold\" data-testid=\"transferable\">\n                  {mandate.isTransferable ? translate('yes') : translate('no')}\n                </span>\n              </div>\n\n              {/* VALIDITY */}\n              <div>\n                <span>{translate('validity')}: </span>\n                <span className=\"bold\" data-testid=\"validity\">\n                  {translate('from')} {DateUtils.dateFormatCz(mandate.validFrom)} {translate('to')}{' '}\n                  {mandate.validTo ? DateUtils.dateFormatCz(mandate.validTo) : translate('unlimitedValidTo')}\n                </span>\n              </div>\n\n              {/* ACTION BUTTONS */}\n              <div className=\"d-flex buttons-gap flex-wrap\">\n                {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                  <Button\n                    type=\"link\"\n                    text={translate('edit-mandate')}\n                    onClick={() => navToEditMandate(mandate.permissionCode ?? '')}\n                    testId=\"granted-mandate-edit\"\n                  />\n                )}\n\n                {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                  <LegacyTooltip\n                    tooltipContent={translate('delete-tooltip')}\n                    hidden={canBeDeleted}\n                    position=\"right\"\n                    testId=\"delete-tooltip\"\n                  >\n                    <Button\n                      type=\"link\"\n                      color=\"error\"\n                      testId=\"granted-mandate-delete\"\n                      text={translate('delete-mandate')}\n                      onClick={() => openDeleteModal(mandate.permissionCode ?? '')}\n                      disabled={!canBeDeleted}\n                    />\n                  </LegacyTooltip>\n                )}\n              </div>\n            </div>\n          </>\n        )}\n\n        {/* VIEW - if transferred from another origin person */}\n        {parent && (\n          <>\n            <div className=\"mandate-info-wrapper mt-4\">\n              {/* TRANSFERRED FROM */}\n              <div>\n                <span>{translate('transferred-from')}: </span>\n                <span className=\"bold\" data-testid=\"transferred-from\">\n                  {parent.transferredToMeByEntity.name}\n                </span>\n              </div>\n\n              {/* ORIGINAL MANDATE LINK */}\n              <Button\n                type=\"link\"\n                text={translate('original-mandate')}\n                onClick={() => navToObtainedMandateDetail(parent.entityID)}\n                testId=\"granted-mandate-original\"\n              />\n            </div>\n\n            <Separator className=\"light\" />\n\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERABLE */}\n              <div className=\"full-row\">\n                <span>{translate('transferable')}: </span>\n                <span className=\"bold\" data-testid=\"transferable\">\n                  {mandate.isTransferable ? translate('yes') : translate('no')}\n                </span>\n              </div>\n            </div>\n\n            <Separator className=\"light\" />\n\n            <div className=\"mandate-info-wrapper\">\n              {/* VALIDITY */}\n              <div>\n                <span>{translate('validity')}: </span>\n                <span className=\"bold\" data-testid=\"validity\">\n                  {translate('from')} {DateUtils.dateFormatCz(mandate.validFrom)} {translate('to')}{' '}\n                  {mandate.validTo ? DateUtils.dateFormatCz(mandate.validTo) : translate('unlimitedValidTo')}\n                </span>\n              </div>\n\n              <div className=\"d-flex buttons-gap flex-wrap\">\n                {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                  <Button\n                    type=\"link\"\n                    text={translate('edit-mandate')}\n                    onClick={() => navToEditMandate(mandate.permissionCode ?? '')}\n                    testId=\"granted-mandate-edit-transferred\"\n                  />\n                )}\n\n                {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                  <LegacyTooltip\n                    tooltipContent={translate('delete-tooltip')}\n                    hidden={canBeDeleted}\n                    position=\"right\"\n                    testId=\"delete-tooltip\"\n                  >\n                    <Button\n                      type=\"link\"\n                      color=\"error\"\n                      text={translate('delete-mandate')}\n                      onClick={() => openDeleteModal(mandate.permissionCode ?? '')}\n                      testId=\"granted-mandate-delete-explicit\"\n                      disabled={!canBeDeleted}\n                    />\n                  </LegacyTooltip>\n                )}\n              </div>\n            </div>\n          </>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default GrantedMandate;\n","import { observer } from 'mobx-react-lite';\nimport { Button, Dialog } from '@cendis/cedr-components';\nimport GrantedMandateDetailViewModel from '../GrantedMandateDetailViewModel';\n\ntype DeleteMandateModalProps = {\n  vm: GrantedMandateDetailViewModel;\n};\n\nconst DeleteMandateModal = observer(({ vm }: DeleteMandateModalProps) => {\n  const { translate } = vm;\n\n  return (\n    <Dialog\n      headline={translate('deleteModal.title')}\n      isVisible={vm.deleteModalVisible}\n      onClose={vm.closeDeleteModal}\n      testId=\"delete-modal\"\n      bottomChildren={\n        <>\n          {/* CANCEL */}\n          <Button type=\"base\" onClick={vm.closeDeleteModal} testId=\"delete-modal-cancel\">\n            {translate('deleteModal.cancel')}\n          </Button>\n\n          {/* CONFIRM */}\n          <Button\n            color=\"error\"\n            loading={vm.deleteBusyWatcher.isBusy}\n            testId=\"delete-modal-confirm\"\n            onClick={() => {\n              vm.deleteMandate(vm.selectedPermissionCode);\n            }}\n          >\n            {translate('deleteModal.confirm')}\n          </Button>\n        </>\n      }\n    >\n      <p>{translate('deleteModal.info')}</p>\n    </Dialog>\n  );\n});\n\nexport default DeleteMandateModal;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport { Message, ScreenContext, Skeleton, Typography } from '@cendis/cedr-components';\nimport './GrantedMandateDetailView.scss';\nimport Container from '@components/gov4/layout/Container';\nimport GrantedMandateDetailViewModel from './GrantedMandateDetailViewModel';\nimport { MandateViewFaq } from '../MandateViewFaq';\nimport GrantedEntityInfo from './components/GrantedEntityInfo';\nimport GrantedMandate from './components/GrantedMandate';\nimport DeleteMandateModal from './components/DeleteMandateModal';\nimport NoMandateFound from '../shared/components/NoMandateFound';\n\nconst GrantedMandateDetailView: View<GrantedMandateDetailViewModel> = observer(({ vm }) => {\n  const { grantedMandateDetailService, translate, translateTable, translateFaq, busyWatcher, error } = vm;\n  const { grantedMandateDetail, noMandateError } = grantedMandateDetailService;\n\n  if (noMandateError && !busyWatcher.isBusy) return <NoMandateFound />;\n\n  return (\n    <Container className=\"granted-mandate-detail-view\">\n      <ScreenContext value={vm}>\n        <div className=\"mw-900\">\n          {/* LOADING */}\n          {busyWatcher.isBusy ? (\n            <Skeleton height=\"200px\" className=\"mt-4\" />\n          ) : error ? (\n            <Message\n              message={error}\n              className=\"mt-4\"\n              icon=\"components/exclamation-triangle-fill\"\n              color={'error'}\n            />\n          ) : (\n            <>\n              <GrantedEntityInfo detail={grantedMandateDetail} translate={translate} />\n\n              <Typography\n                size=\"s\"\n                type=\"body\"\n                color={{ color: 'neutral', saturation: 500 }}\n                className=\"mt-4 mb-3\"\n              >\n                {translate('granted-mandates')}:\n              </Typography>\n\n              {grantedMandateDetail?.mandates.map((mandate) => {\n                return (\n                  <GrantedMandate\n                    key={mandate.permissionCode}\n                    mandate={mandate}\n                    translate={translate}\n                    translateTable={translateTable}\n                    navToObtainedMandateDetail={vm.navToObtainedMandateDetail}\n                    navToEditMandate={vm.navToEditMandate}\n                    openDeleteModal={vm.openDeleteModal}\n                    document={mandate.document}\n                    downloadVehiclesListCSV={vm.downloadVehiclesListCsv}\n                    canBeDeleted={vm.canBeDeleted(mandate)}\n                  />\n                );\n              })}\n            </>\n          )}\n\n          {/* FAQ */}\n          <MandateViewFaq translate={translateFaq} />\n\n          {/* DELETE MANDATE MODAL */}\n          <DeleteMandateModal vm={vm} />\n        </div>\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default GrantedMandateDetailView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport GrantedMandateDetailView from './GrantedMandateDetailView';\nimport ApiService from 'src/services/ApiService';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport GrantedMandateDetailService from './GrantedMandateDetailService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport ObtainedMandateDetailViewModel from '../obtainedMandateDetail/ObtainedMandateDetailViewModel';\nimport EditMandateViewModel from '../editMandate/EditMandateViewModel';\nimport TerminateGrantedCompleteScreenViewModel from '../grantedMandates/completeScreen/TerminateGrantedCompleteScreenViewModel';\nimport ErrorPageViewModel from 'src/app/error/errorPage/ErrorPageViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport {\n  Domain_Contracts_Enums_Mandates_MandateType,\n  type Mandates_WebApi_Responses_AifoIdIdentificationResponse,\n  type Mandates_WebApi_Responses_EntityResponse,\n  type Mandates_WebApi_Responses_IdentificationNumberResponse,\n  type Mandates_WebApi_Responses_MandateDetailResponse,\n} from 'src/data/mandates/api';\nimport PdfUtils from 'src/utils/PdfUtils';\nimport AuthService from 'src/services/AuthService';\n\n@AddDefaultView(GrantedMandateDetailView)\n@AddChildrenView()\n@Service()\nexport default class GrantedMandateDetailViewModel extends BaseScreen {\n  @observable entityID = '';\n  @observable selectedPermissionCode = '';\n\n  @observable deleteModalVisible = false;\n  @observable error = '';\n\n  busyWatcher = new BusyWatcher();\n  deleteBusyWatcher = new BusyWatcher();\n  downloadVehiclesListCSVBusyWatcher = new BusyWatcher();\n  validation = new ValidationContext();\n\n  get pathNode(): string {\n    return 'granted-mandate-/entityID/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get personType(): MandatePersonType {\n    return this.entityID.length > 8 ? MandatePersonType.FO : MandatePersonType.PO;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public grantedMandateDetailService: GrantedMandateDetailService,\n    @Inject() private errorPageViewModel: ErrorPageViewModel,\n    @Inject() private errorService: ErrorService,\n    @Inject() private authService: AuthService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { entityID } = params;\n    this.entityID = entityID;\n  }\n\n  notifyNavigation() {\n    this.loadGrantedMandateDetail();\n  }\n\n  activate() {\n    const queryParams = new URLSearchParams(window.location.search);\n    this.grantedMandateDetailService.queryPermissionCode = queryParams.get('permissionCode') ?? undefined;\n  }\n\n  @action.bound\n  deactivate() {\n    this.entityID = '';\n    this.selectedPermissionCode = '';\n    this.grantedMandateDetailService.queryPermissionCode = undefined;\n    this.deleteModalVisible = false;\n    this.error = '';\n  }\n\n  @Watch<GrantedMandateDetailViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async loadGrantedMandateDetail() {\n    try {\n      await this.grantedMandateDetailService.getDetail(this.personType, this.entityID);\n    } catch (e: any) {\n      runInAction(() => {\n        this.error = this.translate('grantedMandateNotFound');\n      });\n\n      if (e.status === 403) {\n        this.errorService.logCatchError(\n          e,\n          'mandates - grantedMandateDetail - GrantedMandateDetailViewModel',\n          'loadGrantedMandateDetail - grantedMandateDetailService.getDetail, status 403'\n        );\n\n        this.errorPageViewModel.error = e;\n        this.navigator(ErrorPageViewModel).go();\n      } else if (e.status === 404) {\n        this.errorService.logCatchError(\n          e,\n          'mandates - grantedMandateDetail - GrantedMandateDetailViewModel',\n          'loadGrantedMandateDetail - grantedMandateDetailService.getDetail, status 404'\n        );\n      } else if (e.status !== 404) {\n        this.errorService.logCatchError(\n          e,\n          'mandates - grantedMandateDetail - GrantedMandateDetailViewModel',\n          'loadGrantedMandateDetail - grantedMandateDetailService.getDetail, other error'\n        );\n        throw e;\n      }\n    }\n  }\n\n  @Watch<GrantedMandateDetailViewModel>((s) => s.deleteBusyWatcher)\n  @action.bound\n  async deleteMandate(permissionCode: string) {\n    try {\n      await this.apiService.mandatesApi.management.deletePdApiMandatesV1ManagementMandates(permissionCode);\n\n      this.navigator(TerminateGrantedCompleteScreenViewModel, {\n        permissionCode: permissionCode,\n      }).go();\n    } catch (e) {\n      this.errorService.logCatchError(\n        e,\n        'mandates - grantedMandateDetail - GrantedMandateDetailViewModel',\n        'deleteMandate - apiService.mandatesApi.management.deletePdApiMandatesV1ManagementMandates'\n      );\n      this.closeDeleteModal();\n      throw e;\n    }\n  }\n\n  @action.bound\n  navToEditMandate(permissionCode: string) {\n    this.navigator(EditMandateViewModel, {\n      permissionCode: permissionCode,\n      entityID: this.entityID,\n    }).go();\n  }\n\n  @action.bound\n  navToObtainedMandateDetail(aifoIdOrIco: string) {\n    this.navigator(ObtainedMandateDetailViewModel, {\n      entityID: aifoIdOrIco,\n    }).go();\n  }\n\n  @action.bound\n  openDeleteModal(permissionCode: string) {\n    this.selectedPermissionCode = permissionCode;\n    this.deleteModalVisible = true;\n  }\n\n  @action.bound\n  closeDeleteModal() {\n    this.selectedPermissionCode = '';\n    this.deleteModalVisible = false;\n  }\n\n  @action.bound\n  @Watch<GrantedMandateDetailViewModel>((s) => s.downloadVehiclesListCSVBusyWatcher)\n  async downloadVehiclesListCsv(mandate: Mandates_WebApi_Responses_MandateDetailResponse) {\n    let aifoId, identificationNumber;\n\n    if (mandate.representing.identity.$type === 'FO') {\n      aifoId = (mandate.representing.identity as Mandates_WebApi_Responses_AifoIdIdentificationResponse)\n        .aifoId;\n    } else {\n      identificationNumber = (\n        mandate.representing.identity as Mandates_WebApi_Responses_IdentificationNumberResponse\n      ).identificationNumber;\n    }\n\n    try {\n      const response =\n        await this.apiService.mandatesApi.management.getPdApiMandatesV1ManagementGrantedPersonMandatesDetailVehiclesCsv(\n          aifoId,\n          identificationNumber\n        );\n\n      PdfUtils.downloadBlob(\n        new Blob([response as unknown as string], {\n          type: 'text/csv; charset=utf-8',\n        }),\n        'vehicles list',\n        'csv'\n      );\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'mandates - grantedMandateDetail - GrantedMandateDetailViewModel',\n        'downloadVehiclesListCsv - mandatesVehiclesService.getPdApiEgonV1MandatesVehiclesCsv'\n      );\n    }\n  }\n\n  @action.bound\n  canBeDeleted(mandate: Mandates_WebApi_Responses_MandateDetailResponse) {\n    // Mandate must not be implicit and current user must be either representing or represented entity of the mandate\n    const origin = mandate.parentMandate ?? mandate;\n    if (origin.mandateType === Domain_Contracts_Enums_Mandates_MandateType.IMPLICIT) {\n      return false;\n    }\n\n    // Parties of the mandate itself (e.g. příjemce of a postoupená mandate) or of its origin\n    return [mandate, origin].some(\n      (m) => this.isCurrentEntity(m.representing) || this.isCurrentEntity(m.represented)\n    );\n  }\n\n  @action.bound\n  private isCurrentEntity(input: Mandates_WebApi_Responses_EntityResponse) {\n    let aifoId, identificationNumber;\n\n    const auth = this.authService.getAuth();\n    if (input.identity.$type === 'FO') {\n      aifoId = (input.identity as Mandates_WebApi_Responses_AifoIdIdentificationResponse).aifoId;\n    } else {\n      identificationNumber = (input.identity as Mandates_WebApi_Responses_IdentificationNumberResponse)\n        .identificationNumber;\n    }\n\n    if (auth?.aifo_id === aifoId || auth?.ico === identificationNumber) {\n      return true;\n    }\n    return false;\n  }\n\n  translateFaq = translate('mandatesView', this);\n  translateTable = translate('vehicleSelection', this);\n  translate = translate('grantedMandateDetail', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { MouseEventHandler, useMemo } from 'react';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport {\n  MandatesWebApiResponsesGrantedGroupedMandateCompanyDetailResponse,\n  MandatesWebApiResponsesGrantedGroupedMandatePersonDetailResponse,\n} from 'src/api-data/mandates/api';\nimport Tile from '@components/gov4/layout/Tile';\nimport LabelValueFlexBox from '@components/gov4/layout/LabelValueFlexBox';\nimport ChipsArray from '@components/gov4/layout/ChipsArray';\nimport TagsArray from '@components/gov4/layout/TagsArray';\n\nexport type MandateOverviewDisplayedValues = {\n  displayedValues: {\n    name: string;\n    documentTypeNumber: string;\n    icoOrBirthDate: string;\n    address: string;\n    mandateNames: string[];\n  };\n};\n\nexport type GrantedMandate = (\n  | MandatesWebApiResponsesGrantedGroupedMandateCompanyDetailResponse\n  | MandatesWebApiResponsesGrantedGroupedMandatePersonDetailResponse\n) &\n  MandateOverviewDisplayedValues;\n\ntype GrantedMandateOverviewProps = {\n  mandate: GrantedMandate;\n  onClick?: MouseEventHandler;\n  className?: string;\n  translate: Translator;\n};\n\nconst GrantedMandateOverview = observer(\n  ({ mandate, onClick, className, translate }: GrantedMandateOverviewProps) => {\n    const isPO = 'identificationNumber' in mandate;\n\n    const testId = useMemo(() => {\n      if ('identificationNumber' in mandate.identity) {\n        return mandate.identity.identificationNumber.value?.toString() ?? mandate.displayedValues.name;\n      }\n      if ('aifoId' in mandate.identity) return mandate.identity.aifoId;\n      return mandate.displayedValues.name;\n    }, [mandate]);\n\n    return (\n      <Tile\n        title={mandate.displayedValues.name}\n        onClick={onClick}\n        className={className}\n        contentMaxWidth=\"full\"\n        additionalText={translate('detail')}\n        testId={testId}\n      >\n        <LabelValueFlexBox\n          data={\n            isPO\n              ? [\n                  {\n                    label: translate('identificationNumber'),\n                    value: mandate.displayedValues.icoOrBirthDate,\n                  },\n                ]\n              : [\n                  {\n                    label: translate('documentTypeNumber'),\n                    value: mandate.displayedValues.documentTypeNumber,\n                  },\n                  {\n                    label: translate('birthDate'),\n                    value: mandate.displayedValues.icoOrBirthDate,\n                  },\n                  {\n                    label: translate('address'),\n                    value: mandate.displayedValues.address,\n                  },\n                ]\n          }\n        />\n\n        <TagsArray\n          className=\"mt-3\"\n          label={translate('chipLabelText')}\n          tagValues={mandate.mandates.map((mandate) => {\n            return {\n              key: mandate.permissionCode ?? '',\n              value: mandate.name ?? '',\n            };\n          })}\n        />\n      </Tile>\n    );\n  }\n);\n\nexport default GrantedMandateOverview;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type GrantedMandatesViewModel from './GrantedMandatesViewModel';\nimport './GrantedMandatesView.scss';\nimport {\n  Accordion,\n  AccordionItem,\n  Button,\n  Dialog,\n  Empty,\n  Message,\n  MultiSelectList,\n  Pagination,\n  Radio,\n  ScreenContext,\n  Search,\n  Skeleton,\n  Typography,\n} from '@cendis/cedr-components';\nimport Container from '@components/gov4/layout/Container';\nimport GrantedMandateOverview, { GrantedMandate } from './components/GrantedMandateOverview';\nimport { useRef } from 'react';\nimport { TypeUtils } from '../../../utils/TypeUtils';\n\nconst GrantedMandatesView: View<GrantedMandatesViewModel> = observer(({ vm }) => {\n  const { translate, model, mandates, busyWatcher, navMandateDetail, mandatesLimited } = vm;\n\n  const mandatesContainer = useRef<HTMLDivElement>(null);\n\n  const handlePageChange = (pageIndex: number) => {\n    vm.setPage(pageIndex);\n    // 0 timeout used to prevent rendering issues when Pagination arrow button clicked\n    setTimeout(() => {\n      mandatesContainer.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }, 0);\n  };\n\n  return (\n    <Container className=\"mandates-list-view\">\n      <ScreenContext value={vm}>\n        <div className=\"mw-900\">\n          {/* TITLE */}\n          <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title mt-4\">\n            {translate('title')}\n          </Typography>\n          <Typography color={{ color: 'neutral', saturation: 500 }} className=\"mb-4\">\n            {translate('more-info-text')}\n          </Typography>\n\n          {!busyWatcher.isBusy && mandatesLimited && (\n            <Message\n              color=\"warning\"\n              icon=\"components/lightbulb-fill\"\n              className=\"mb-4\"\n              id=\"granted-mandates-limited\"\n            >\n              <strong>{translate('limited-warning')}</strong> {translate('limited-warning-detail')}\n            </Message>\n          )}\n\n          <div className=\"mandates-list header-scroll-margin\" ref={mandatesContainer}>\n            {/* INPUT and BUTTONS */}\n            <div\n              className=\"d-flex align-items-center justify-content-between mb-4 flex-row flex-wrap gap-4 px-4\"\n            >\n              {/* SEARCH */}\n              <Search\n                target={model}\n                property={'search'}\n                className=\"flex-grow-1\"\n                buttonText={translate('search')}\n                placeholder={'input-search-term'}\n                autoComplete=\"off\"\n                onButtonClick={vm.confirmSearchTerm}\n                onEnterPress={vm.confirmSearchTerm}\n                cancelButtonProps={\n                  model.search.length > 0\n                    ? {\n                        onClick: vm.cancelSearchTerm,\n                        testId: 'confirm-search-term',\n                      }\n                    : undefined\n                }\n              />\n\n              {/* SORT */}\n              <Button\n                text={translate('sort.title')}\n                type=\"outlined\"\n                onClick={vm.openSortModal}\n                testId=\"open-sort-modal\"\n              />\n            </div>\n\n            {/* SELECTED SEARCH TERMS */}\n            {model.searchTerms.length > 0 && (\n              <MultiSelectList target={model} property={'searchTerms'} className=\"mt-4 mb-4 px-4\" />\n            )}\n\n            {/* LOADING */}\n            {busyWatcher.isBusy && (\n              <div className=\"px-4\">\n                <Skeleton height=\"200px\" />\n              </div>\n            )}\n\n            {/* EMPTY LIST */}\n            {!busyWatcher.isBusy && mandates.length === 0 && (\n              <Empty\n                className=\"mt-4\"\n                size=\"l\"\n                icon=\"colored/empty-file\"\n                title={translate('nothing-found')}\n                subtitle={translate('no-mandate-match')}\n              />\n            )}\n\n            <div>\n              {/* MANDATES LIST */}\n              {!busyWatcher.isBusy &&\n                mandates.length > 0 &&\n                mandates.map((mandate: GrantedMandate) => {\n                  return (\n                    <GrantedMandateOverview\n                      key={`mandate-overview-${TypeUtils.isPOIdentity(mandate.identity) ? mandate.identity.identificationNumber : TypeUtils.isFOIdentity(mandate.identity) ? mandate.identity.aifoId : ''}`}\n                      mandate={mandate}\n                      translate={translate}\n                      onClick={() => {\n                        navMandateDetail(\n                          TypeUtils.isPOIdentity(mandate.identity)\n                            ? mandate.identity.identificationNumber\n                            : TypeUtils.isFOIdentity(mandate.identity)\n                              ? mandate.identity.aifoId\n                              : ''\n                        );\n                      }}\n                    />\n                  );\n                })}\n            </div>\n\n            {/* PAGINATION */}\n            {vm.lastPageIndex > 0 && (\n              <Pagination\n                className=\"mt-4 px-4\"\n                currentPageIndex={vm.currentPageIndex}\n                lastPageIndex={vm.lastPageIndex}\n                setPage={handlePageChange}\n                loading={busyWatcher.isBusy}\n              />\n            )}\n          </div>\n\n          {/* SORT MODAL */}\n          <Dialog\n            headline={translate('sort.title')}\n            isVisible={vm.sortModalVisible}\n            onClose={vm.closeAndCancelSortModal}\n            testId=\"close-and-cancel-sort-modal\"\n          >\n            {/* RADIO OPTIONS */}\n            <div className=\"d-flex mb-4 flex-row flex-wrap\">\n              <Radio\n                gapSize=\"s\"\n                target={vm.sortModel}\n                property={'sortingOrder'}\n                options={vm.sortingOptions}\n                className=\"flex-grow-1\"\n              />\n            </div>\n\n            {/* SORT MODAL BUTTONS */}\n            <div className=\"d-flex flex-row gap-4\">\n              <Button\n                color=\"error\"\n                type=\"outlined\"\n                onClick={vm.closeAndCancelSortModal}\n                testId=\"close-and-cancel-sort-modal\"\n              >\n                {translate('cancel')}\n              </Button>\n\n              {/* CONFIRM SORT */}\n              <Button onClick={vm.closeAndConfirmSortModal} testId=\"close-and-confirm-sort-modal\">\n                {translate('sort.title')}\n              </Button>\n            </div>\n          </Dialog>\n\n          {/* BOTTOM ACCORDION */}\n          <Typography type=\"headline\" component={'h2'} size=\"l\" fontWeight={300} className=\"mt-5 mb-4\">\n            {translate('faq.title')}\n          </Typography>\n\n          <Accordion noBorder size=\"l\">\n            <AccordionItem header={translate('faq.header1')} id=\"header1\" size=\"l\">\n              <p>{translate('faq.text1-1')}</p>\n              <p>{translate('faq.text1-2')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header2')} id=\"header2\" size=\"l\">\n              <p>{translate('faq.text2-1')}</p>\n              <p>{translate('faq.text2-2')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header3')} id=\"header3\" size=\"l\">\n              <p>{translate('faq.text3')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header4')} id=\"header4\" size=\"l\">\n              <p>{translate('faq.text4')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header5')} id=\"header5\" size=\"l\">\n              <p>{translate('faq.text5-1')}</p>\n              <p>{translate('faq.text5-2')}</p>\n            </AccordionItem>\n          </Accordion>\n        </div>\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default GrantedMandatesView;\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\nexport enum SortModalOptions {\n  DEFAULT = 'default',\n  NAME_ASCENDING = 'name_ascending',\n  NAME_DESCENDING = 'name_descending',\n}\n\nexport interface ISortModal {\n  sortingOrder: SortModalOptions;\n}\n\n@AddTranslationKey('sort-modal')\nexport default class SortModalModel implements ISortModal {\n  @observable sortingOrder: SortModalOptions = SortModalOptions.DEFAULT;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ISortModal, SortModalOptions } from './SortModalModel';\n\n@AddTranslationKey('mandates-list-model')\nexport default class GrantedMandatesModel implements ISortModal {\n  // search input controls\n  @observable search = '';\n  @observable searchTerms: Array<string> = [];\n  // sorting\n  @observable sortingOrder: SortModalOptions = SortModalOptions.DEFAULT;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport GrantedMandatesView from './GrantedMandatesView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport GrantedMandatesModel from './models/GrantedMandatesModel';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport { RadioOption } from '@cendis/cedr-components';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport SortModalModel, { SortModalOptions } from './models/SortModalModel';\nimport ApiService from 'src/services/ApiService';\nimport {\n  DomainContractsEnumsMandatesMandatesStatus,\n  type MandatesWebApiResponsesGrantedGroupedMandatesResponse,\n} from 'src/api-data/mandates/api';\nimport { GrantedMandate } from './components/GrantedMandateOverview';\nimport DateUtils from 'src/utils/DateUtils';\nimport SearchUtils from 'src/utils/SearchUtils';\nimport SortUtils, { SortOrder, SortType } from 'src/utils/SortUtils';\nimport GrantedMandateDetailViewModel from '../grantedMandateDetail/GrantedMandateDetailViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport { getInlineAddress } from 'src/utils/AddressUtils';\nimport EditMandateViewModel from '../editMandate/EditMandateViewModel';\nimport GrantedMandateDetailService from '../grantedMandateDetail/GrantedMandateDetailService';\nimport ChangeGrantedCompleteScreenViewModel from './completeScreen/ChangeGrantedCompleteScreenViewModel';\nimport TerminateGrantedCompleteScreenViewModel from './completeScreen/TerminateGrantedCompleteScreenViewModel';\n\n@AddDefaultView(GrantedMandatesView)\n@AddChildrenView()\n@Service()\nexport default class GrantedMandatesViewModel extends BaseScreen {\n  private pageSize = 10;\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n\n  model = new GrantedMandatesModel();\n  sortModel = new SortModalModel();\n\n  @observable currentPageIndex = 0;\n  @observable grantedMandatesResponse: MandatesWebApiResponsesGrantedGroupedMandatesResponse = {\n    mandates: [],\n    status: DomainContractsEnumsMandatesMandatesStatus.COMPLETE,\n  };\n  @observable sortModalVisible = false;\n\n  get pathNode(): string {\n    return 'granted-mandates';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed\n  get grantedMandates() {\n    return this.assignDisplayedValues(this.grantedMandatesResponse);\n  }\n\n  // REZA passes at most 1000 mandates, so the list above that limit is incomplete\n  @computed\n  get mandatesLimited() {\n    return this.grantedMandatesResponse.status === DomainContractsEnumsMandatesMandatesStatus.LIMITED;\n  }\n\n  @computed\n  get sortedMandates() {\n    switch (this.model.sortingOrder) {\n      case SortModalOptions.NAME_ASCENDING:\n        return SortUtils.sort(\n          this.grantedMandates,\n          (x) => x.displayedValues.name,\n          SortUtils[SortType.STRING],\n          SortOrder.ASCENDING\n        );\n      case SortModalOptions.NAME_DESCENDING:\n        return SortUtils.sort(\n          this.grantedMandates,\n          (x) => x.displayedValues.name,\n          SortUtils[SortType.STRING],\n          SortOrder.DESCENDING\n        );\n\n      case SortModalOptions.DEFAULT:\n      default:\n        return [...this.grantedMandates];\n    }\n  }\n\n  @computed\n  get sortedSearchedMandates() {\n    // @ts-ignore - TODO: fix ts type referencing itself\n    return SearchUtils.search(this.model.searchTerms, this.sortedMandates, {\n      // only search through displayed values\n      selector: (item) => item.displayedValues,\n      recursive: true,\n    });\n  }\n\n  @computed\n  get paginatedMandates() {\n    if (this.sortedSearchedMandates.length <= this.pageSize) {\n      return this.sortedSearchedMandates;\n    }\n\n    return this.sortedSearchedMandates.slice(\n      this.currentPageIndex * this.pageSize,\n      (this.currentPageIndex + 1) * this.pageSize\n    );\n  }\n\n  @computed\n  get mandates() {\n    return this.paginatedMandates;\n  }\n\n  @computed\n  get lastPageIndex() {\n    return Math.ceil(this.sortedSearchedMandates.length / this.pageSize) - 1;\n  }\n\n  @computed\n  get sortingOptions(): RadioOption[] {\n    let options: RadioOption[] = [];\n    Object.values(SortModalOptions).forEach((option) => {\n      options.push({\n        id: option,\n        label: this.translate(`sort.${option}`),\n      });\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() private grantedMandateDetailViewModel: GrantedMandateDetailViewModel,\n    @Inject() public editMandateViewModel: EditMandateViewModel,\n    @Inject() private grantedMandateDetailService: GrantedMandateDetailService,\n    @Inject() public changeGrantedCompleteScreenViewModel: ChangeGrantedCompleteScreenViewModel,\n    @Inject() public terminateGrantedCompleteScreenViewModel: TerminateGrantedCompleteScreenViewModel\n  ) {\n    super();\n    makeObservable(this);\n\n    this.children.push(this.grantedMandateDetailViewModel);\n    this.children.push(this.editMandateViewModel);\n    this.children.push(this.changeGrantedCompleteScreenViewModel);\n    this.children.push(this.terminateGrantedCompleteScreenViewModel);\n\n    // reset page when search mandates change (e.g. filter/search/sort...)\n    // do not trigger this when page changed by user\n    reaction(\n      () => this.sortedSearchedMandates,\n      () => runInAction(() => (this.currentPageIndex = 0))\n    );\n  }\n\n  notifyNavigation() {\n    this.grantedMandateDetailService.reset();\n\n    this.loadMandates();\n  }\n\n  deactivate() {\n    this.reset();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new GrantedMandatesModel();\n    this.sortModel = new SortModalModel();\n\n    this.currentPageIndex = 0;\n    this.grantedMandatesResponse = {\n      mandates: [],\n      status: DomainContractsEnumsMandatesMandatesStatus.COMPLETE,\n    };\n    this.sortModalVisible = false;\n  }\n\n  @Watch<GrantedMandatesViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async loadMandates() {\n    //TODO: Implement new API for loading granted mandates\n    const response =\n      await this.apiService.OAMandatesApi.management.pdApiMandatesV1ManagementGrantedGroupedMandatesGet();\n    runInAction(() => {\n      this.grantedMandatesResponse = response;\n    });\n  }\n\n  private assignDisplayedValues(\n    mandatesResponse: MandatesWebApiResponsesGrantedGroupedMandatesResponse\n  ): GrantedMandate[] {\n    const mandatesWithDisplayedValues: GrantedMandate[] = [];\n    mandatesResponse.mandates.forEach((mandate) => {\n      if (!('identificationNumber' in mandate) && !('firstName' in mandate)) {\n        return;\n      }\n      const isPO = 'identificationNumber' in mandate;\n      mandatesWithDisplayedValues.push({\n        ...mandate,\n        displayedValues: {\n          name: isPO ? mandate.companyName : `${mandate.firstName} ${mandate.lastName}`,\n          documentTypeNumber: isPO\n            ? ''\n            : mandate.document?.number\n              ? `${mandate.document.type} ${mandate.document.number}`\n              : '-',\n          icoOrBirthDate: isPO\n            ? (mandate.identificationNumber.value?.toString() ?? '')\n            : DateUtils.dateFormatCz(mandate.birthDate),\n          address: mandate.mandates[0].representing.address ? mandate.mandates[0].representing.address : '',\n          mandateNames: mandate.mandates.map((mandate) => mandate.name ?? ''),\n        },\n      });\n    });\n\n    return mandatesWithDisplayedValues;\n  }\n\n  @action.bound\n  cancelSearchTerm() {\n    this.model.search = '';\n  }\n\n  @action.bound\n  confirmSearchTerm() {\n    const searchTerm = this.model.search.trim();\n\n    if (searchTerm.length === 0) return;\n\n    this.model.search = '';\n    this.model.searchTerms = [...this.model.searchTerms, searchTerm];\n  }\n\n  @action.bound\n  setPage(pageIndex: number) {\n    this.currentPageIndex = pageIndex;\n  }\n\n  @action.bound\n  closeAndCancelSortModal() {\n    this.sortModalVisible = false;\n    this.cancelSortModal();\n  }\n  @action.bound\n  cancelSortModal() {\n    this.sortModel.sortingOrder = this.model.sortingOrder;\n  }\n\n  @action.bound\n  closeAndConfirmSortModal() {\n    this.sortModalVisible = false;\n    this.confirmSortModal();\n  }\n\n  @action.bound\n  confirmSortModal() {\n    this.model.sortingOrder = this.sortModel.sortingOrder;\n  }\n\n  @action.bound\n  openSortModal() {\n    this.sortModalVisible = true;\n  }\n\n  @action.bound\n  navMandateDetail(entityID: string) {\n    this.navigator(GrantedMandateDetailViewModel, { entityID: entityID }).go();\n    setTimeout(() => {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth',\n      });\n    }, 0);\n  }\n\n  translate = translate('grantedMandates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport ChangeGrantedCompleteScreenViewModel from './ChangeGrantedCompleteScreenViewModel';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport CompleteFaq from '../../completeScreen/components/CompleteFaq';\n\nconst ChangeGrantedCompleteScreenView: View<ChangeGrantedCompleteScreenViewModel> = observer(({ vm }) => {\n  const { translate, translateEditSuccess } = vm;\n\n  return (\n    <Container className=\"represented-entities-view\">\n      <ScreenContext value={vm}>\n        <CompleteScreen\n          mandateId={vm.permissionCode}\n          onClick={vm.navToMandateDetail}\n          title={translateEditSuccess('title')}\n          subtitle={translateEditSuccess('info')}\n          mandateText={translateEditSuccess('mandateId')}\n          buttonText={translateEditSuccess('btnText')}\n          govIcon=\"complex/my-filing\"\n          variant=\"success\"\n        />\n        <CompleteFaq translate={translate} onNavigateToNotification={vm.navToNotification} />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default ChangeGrantedCompleteScreenView;\n","import { action, makeObservable } from 'mobx';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from 'src/services/ApiService';\nimport ChangeGrantedCompleteScreenView from './ChangeGrantedCompleteScreenView';\nimport GrantedMandateDetailViewModel from '../../grantedMandateDetail/GrantedMandateDetailViewModel';\nimport NotificationViewModel from '../../../notificationAndContact/NotificationViewModel';\n\n@AddDefaultView(ChangeGrantedCompleteScreenView)\n@Service()\nexport default class ChangeGrantedCompleteScreenViewModel extends BaseScreen {\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  permissionCode: string = '';\n  entityID: string = '';\n\n  get pathNode(): string {\n    return '/entityID/-complete-/permissionCode/';\n  }\n\n  get title(): string {\n    return this.translateEditSuccess('metaTitle');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { permissionCode, entityID } = params;\n\n    this.permissionCode = permissionCode;\n    this.entityID = entityID;\n  }\n  activate() {\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  deactivate() {\n    this.reset();\n  }\n\n  notifyNavigation() {}\n\n  @action.bound\n  reset() {\n    this.permissionCode = '';\n  }\n\n  @action.bound\n  navToMandateDetail() {\n    this.navigator(GrantedMandateDetailViewModel, {\n      entityID: this.entityID,\n    }).go();\n  }\n  @action.bound\n  navToNotification() {\n    this.navigator(NotificationViewModel).go();\n  }\n\n  translate = translate('entityDetail', this);\n  translateEditSuccess = translate('entityDetail.editMandateSuccess', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport TerminateGrantedCompleteScreenViewModel from './TerminateGrantedCompleteScreenViewModel';\nimport CompleteFaq from '../../completeScreen/components/CompleteFaq';\n\nconst TerminateGrantedCompleteScreenView: View<TerminateGrantedCompleteScreenViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <Container className=\"represented-entities-view\">\n      <ScreenContext value={vm}>\n        <CompleteScreen\n          mandateId={vm.permissionCode}\n          onClick={vm.navToMandatesList}\n          title={translate('refusedScreen.title')}\n          subtitle={translate('refusedScreen.info')}\n          mandateText={translate('refusedScreen.mandateId')}\n          buttonText={translate('refusedScreenGranted.btnText')}\n          govIcon=\"complex/queue\"\n          variant=\"warning\"\n        />\n        <CompleteFaq translate={translate} onNavigateToNotification={vm.navToNotification} />\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default TerminateGrantedCompleteScreenView;\n","import { action, makeObservable } from 'mobx';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\n//import ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from 'src/services/ApiService';\nimport TerminateGrantedCompleteScreenView from './TerminateGrantedCompleteScreenView';\nimport NotificationViewModel from '../../../notificationAndContact/NotificationViewModel';\n\n@AddDefaultView(TerminateGrantedCompleteScreenView)\n@Service()\nexport default class TerminateGrantedCompleteScreenViewModel extends BaseScreen {\n  //validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  permissionCode: string = '';\n\n  get pathNode(): string {\n    return '/permissionCode/';\n  }\n\n  get title(): string {\n    return this.translate('cancel-mandate-title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { permissionCode } = params;\n    this.permissionCode = permissionCode;\n  }\n\n  deactivate() {\n    this.reset();\n  }\n  activate() {\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  @action.bound\n  reset() {\n    this.permissionCode = '';\n  }\n\n  @action.bound\n  navToMandatesList() {\n    this.navigator('..').go();\n  }\n  @action.bound\n  navToNotification() {\n    this.navigator(NotificationViewModel).go();\n  }\n\n  translate = translate('entityDetail', this);\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ObtainedMandateDetailService from '../obtainedMandateDetail/ObtainedMandateDetailService';\nimport ErrorService from 'src/services/ErrorService';\nimport VehicleSelectionService from '../shared/services/VehicleSelectionService';\nimport { VehiclesSelectionType } from 'src/enums/VehiclesSelectionTypes';\nimport { Mandates_WebApi_Responses_VehicleSpecificPermissionResponse } from 'src/data/mandates/api';\n\n@Service()\nexport default class SharedDataService {\n  @observable aifoIdOrIco = '';\n  @observable permissionCode = '';\n\n  @observable notFoundError = false;\n\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get obtainedMandateDetail() {\n    return this.obtainedMandateDetailService.obtainedMandateDetail;\n  }\n\n  @computed\n  get document() {\n    return this.originalPermission?.document;\n  }\n\n  @computed\n  get objectSpecifics() {\n    return (\n      this.originalPermission?.parentMandate?.objectSpecificPermissions ??\n      this.originalPermission?.objectSpecificPermissions\n    );\n  }\n\n  @computed\n  get originalPermission() {\n    return this.obtainedMandateDetail?.mandates?.find(\n      (m) => m.operationPermissionCode === this.permissionCode\n    );\n  }\n\n  @computed\n  get permission() {\n    const originalPermission = this.originalPermission;\n\n    if (originalPermission?.parentMandate) {\n      return originalPermission.parentMandate;\n    } else {\n      return originalPermission;\n    }\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public obtainedMandateDetailService: ObtainedMandateDetailService,\n    @Inject() public errorService: ErrorService,\n    @Inject() public vehicleSelectionService: VehicleSelectionService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(aifoIdOrIco: string, permissionCode: string) {\n    this.aifoIdOrIco = aifoIdOrIco;\n    this.permissionCode = permissionCode;\n\n    const personType = aifoIdOrIco.length > 8 ? MandatePersonType.FO : MandatePersonType.PO;\n\n    this.loadDetail(personType, aifoIdOrIco);\n  }\n\n  @action.bound\n  reset() {\n    this.permissionCode = '';\n    this.aifoIdOrIco = '';\n    this.notFoundError = false;\n  }\n\n  @Watch<SharedDataService>((s) => s.busyWatcher)\n  @action.bound\n  async loadDetail(personType: MandatePersonType, aifoIdOrIco: string) {\n    try {\n      if (this.obtainedMandateDetailService.obtainedMandateDetail === undefined) {\n        await this.obtainedMandateDetailService.getDetail(personType, aifoIdOrIco);\n      }\n\n      runInAction(() => {\n        if (this.objectSpecifics?.length) {\n          this.obtainedMandateDetailService.selectedVehicles = this.objectSpecifics.map(\n            (v: Mandates_WebApi_Responses_VehicleSpecificPermissionResponse) => {\n              const vehicle = this.obtainedMandateDetailService.mapVehicleDataToModel(v);\n              vehicle.selected = true;\n              return vehicle;\n            }\n          );\n          this.vehicleSelectionService.model.vehiclesSelectionType = VehiclesSelectionType.SELECTED;\n        } else {\n          this.obtainedMandateDetailService.selectedVehicles = null;\n          this.vehicleSelectionService.model.vehiclesSelectionType = VehiclesSelectionType.ALL;\n        }\n      });\n    } catch (e: any) {\n      runInAction(() => {\n        this.notFoundError = true;\n      });\n\n      if (e.status === 404) {\n        this.errorService.logCatchError(\n          e,\n          'mandates - mandateDelegation - SharedDataService',\n          'loadDetail - obtainedMandateDetailService.getDetail, status 404'\n        );\n      } else {\n        this.errorService.logCatchError(\n          e,\n          'mandates - mandateDelegation - SharedDataService',\n          'loadDetail - obtainedMandateDetailService.getDetail, status other than 404'\n        );\n\n        throw e;\n      }\n    }\n  }\n}\n","import { action, computed, makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SharedDataService from '../SharedDataService';\nimport ValidationService from '../../../../services/ValidationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport DateUtils from 'src/utils/DateUtils';\n\n@Service()\nexport default class MandateOverviewService extends WizardStepService {\n  @computed\n  get isDetailReady() {\n    return this.sharedDataService.obtainedMandateDetail !== undefined;\n  }\n\n  @computed\n  get error() {\n    return this.sharedDataService.notFoundError;\n  }\n\n  @computed\n  get disableNextStep() {\n    return this.isDetailReady === false || this.error === true;\n  }\n\n  @computed\n  get tableData() {\n    const originalPermission = this.sharedDataService.originalPermission;\n    const permission = this.sharedDataService.permission;\n\n    if (originalPermission === undefined || permission === undefined) return [];\n\n    return [\n      {\n        label: this.translate('label1'),\n        value: permission.permissionCode,\n      },\n      {\n        label: this.translate('label2'),\n        value: originalPermission.represented.name,\n      },\n      { label: this.translate('label3'), value: DateUtils.dateFormatCz(permission.validFrom) },\n      {\n        label: this.translate('label4'),\n        value: permission.validTo ? DateUtils.dateFormatCz(permission.validTo) : this.translate('item8.validWithoutEnd'),\n      },\n      {\n        label: this.translate('label5'),\n        value: permission.name,\n      },\n      {\n        label: this.translate('label6'),\n        value: permission.permissionDescription,\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() public validationService: ValidationService\n  ) {\n    super('mandate-overview');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  @action.bound\n  reset() {}\n\n  translate = translate('mandateDelegation', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('mandateDelegation')\nexport default class TemplateSelectionModel {\n  @observable templateCode = '';\n  @observable checkbox = false;\n  @observable group = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction, when } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from '../../../../services/ValidationService';\nimport TemplateSelectionModel from './TemplateSelectionModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SharedDataService from '../SharedDataService';\nimport { SelectOption } from '@cendis/cedr-components';\nimport {\n  Domain_Contracts_Enums_Mandates_MandateType,\n  Domain_Contracts_Enums_Mandates_ObjectSpecificType,\n  Mandates_WebApi_Responses_TemplateResponse,\n} from 'src/data/mandates/api';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\n\n@Service()\nexport default class TemplateSelectionService extends WizardStepService {\n  @observable model = new TemplateSelectionModel();\n  @observable private templatesResponse: Array<Mandates_WebApi_Responses_TemplateResponse> = [];\n\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get disableNextStep() {\n    return this.model.templateCode === '' || !this.model.checkbox;\n  }\n\n  @computed\n  get isVehicleObjectSpecific() {\n    if (!this.model.templateCode) return false;\n    const template = this.templatesResponse.find((code) => code.code === this.model.templateCode);\n\n    return (\n      template &&\n      template.isObjectSpecific &&\n      template.objectSpecificTypes?.includes(Domain_Contracts_Enums_Mandates_ObjectSpecificType.VEHICLE)\n    );\n  }\n\n  @computed\n  get document() {\n    return this.sharedDataService.document;\n  }\n\n  @computed\n  get selectOptions(): Array<SelectOption<string> & { permissionDescription: string | null | undefined }> {\n    const permission = this.sharedDataService.permission;\n\n    if (permission === undefined) return [];\n    return [\n      {\n        key: permission.permissionCode ?? '',\n        label: permission.name ?? '',\n        value: permission.templateCode ?? '',\n        permissionDescription: permission.permissionDescription,\n      },\n    ];\n  }\n\n  @action.bound\n  unCheck() {\n    this.model.checkbox = false;\n  }\n\n  @computed\n  get selectedOption() {\n    runInAction(() => {\n      this.model.group =\n        this.templatesResponse.find((template) => template.code === this.model.templateCode)?.group ?? '';\n    });\n    return this.selectOptions.find((option) => option.value === this.model.templateCode);\n  }\n\n  @computed\n  get summaryData() {\n    const selectedOption = this.selectedOption;\n\n    return [\n      {\n        label: this.translate('item8.templateCode'),\n        value: selectedOption?.label,\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private apiService: ApiService,\n    @Inject() public sharedDataService: SharedDataService\n  ) {\n    super('delegation-template');\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(stepNumber: number) {\n    this._step = stepNumber;\n    await this.loadTemplateOptions();\n    await when(() => this.selectOptions.length > 0);\n    runInAction(() => (this.model.templateCode = this.selectOptions[0].value));\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new TemplateSelectionModel();\n    this.templatesResponse = [];\n    this.stopActivityWatcher();\n  }\n\n  @Watch<TemplateSelectionService>((s) => s.busyWatcher)\n  @action.bound\n  public async loadTemplateOptions() {\n    const explicitTemplates =\n      await this.apiService.mandatesApi.management.getPdApiMandatesV1ManagementTemplates(\n        Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT,\n        true\n      );\n\n    runInAction(() => {\n      this.templatesResponse = explicitTemplates;\n    });\n  }\n\n  protected activityWatchValue() {\n    return [this.model.templateCode, this.model.checkbox] as const;\n  }\n\n  translate = translate('mandateDelegation', this);\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Validators } from 'src/data/validators/registry';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\nimport { getDatePickerDefaultValues } from 'src/utils/BrowserUtils';\nimport Container from 'typedi';\nimport ValidityService from './ValidityService';\n\n@AddTranslationKey('mandateDelegation')\nexport default class ValidityModel {\n  @observable validityLimit = ValidityCodesEnum.VALIDITY_FROM_PARENT_MANDATE;\n\n  @observable startWithEnd = '';\n  @observable end = '';\n  @observable startWithoutEnd = '';\n\n  @computed\n  get parentMandateValidFrom() {\n    const validityService = Container.get(ValidityService);\n    const permission = validityService.sharedDataService.permission;\n\n    if (!permission) return '';\n    return permission.validFrom;\n  }\n\n  @computed\n  get parentMandateValidTo() {\n    const validityService = Container.get(ValidityService);\n    const permission = validityService.sharedDataService.permission;\n\n    if (!permission || !permission.validTo) return '';\n    return permission.validTo;\n  }\n\n  constructor() {\n    makeObservable(this);\n    this.resetValues();\n  }\n\n  @action.bound\n  resetValues() {\n    const defaults = getDatePickerDefaultValues();\n    this.startWithEnd = defaults?.today ?? '';\n    this.end = defaults?.tomorrow ?? '';\n    this.startWithoutEnd = defaults?.today ?? '';\n  }\n}\n\nexport const ValidityModelValidators: ValidationDescriptor<ValidityModel, Validators> = {\n  startWithEnd: {\n    pastDate: {\n      message: 'startDate',\n    },\n    rangeDate: {\n      message: 'endDate',\n      options: {\n        validFrom: (t: ValidityModel) => t.startWithEnd,\n        validTo: (t: ValidityModel) => t.end,\n      },\n    },\n    parentMandateRangeDate: {\n      message: 'dateParentMandate',\n      options: {\n        validFrom: (t: ValidityModel) => t.parentMandateValidFrom,\n        validTo: (t: ValidityModel) => t.parentMandateValidTo,\n      },\n    },\n  },\n  end: {\n    dateAfterToday: {\n      message: 'endDateBeforeTomorrow',\n    },\n    rangeDate: {\n      message: 'endDate2',\n      options: {\n        validFrom: (t: ValidityModel) => t.startWithEnd,\n        validTo: (t: ValidityModel) => t.end,\n      },\n    },\n    parentMandateRangeDate: {\n      message: 'dateParentMandate',\n      options: {\n        validFrom: (t: ValidityModel) => t.parentMandateValidFrom,\n        validTo: (t: ValidityModel) => t.parentMandateValidTo,\n      },\n    },\n  },\n  startWithoutEnd: {\n    pastDate: {\n      message: 'startDate',\n    },\n    parentMandateRangeDate: {\n      message: 'dateParentMandate',\n      options: {\n        validFrom: (t: ValidityModel) => t.parentMandateValidFrom,\n        validTo: (t: ValidityModel) => t.parentMandateValidTo,\n      },\n    },\n  },\n};\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationService from '../../../../services/ValidationService';\nimport ValidityModel, { ValidityModelValidators } from './ValidityModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\nimport SharedDataService from '../SharedDataService';\nimport DateUtils from 'src/utils/DateUtils';\nimport { ValidationState } from '@cendis/cedr-framework/dist/validation/ValidationContext';\n\n@Service()\nexport default class ValidityService extends WizardStepService {\n  @observable model = new ValidityModel();\n\n  @computed\n  get originalValidityOption() {\n    return [{ id: ValidityCodesEnum.VALIDITY_FROM_PARENT_MANDATE, label: this.translate('item7.option-0') }];\n  }\n  @computed\n  get validityWithEndOption() {\n    return [{ id: ValidityCodesEnum.VALIDITY_WITH_END, label: this.translate('item7.option-1') }];\n  }\n  @computed\n  get validityWithoutEndOption() {\n    return [{ id: ValidityCodesEnum.VALIDITY_WITHOUT_END, label: this.translate('item7.option-2') }];\n  }\n\n  @computed\n  get displayOptionWithoutEnd() {\n    if (this.sharedDataService.permission?.validTo) return false;\n\n    return true;\n  }\n\n  @computed\n  get originalValidityData() {\n    return [\n      {\n        label: this.translate('item8.validFrom'),\n        value: DateUtils.dateFormatCz(this.originalStartOrToday),\n      },\n      {\n        label: this.translate('item8.validTo'),\n        value: this.originalEnd\n          ? DateUtils.dateFormatCz(this.originalEnd)\n          : this.translate('item8.validWithoutEnd'),\n      },\n    ];\n  }\n\n  @computed\n  get originalStartOrToday() {\n    const permission = this.sharedDataService.permission;\n\n    const today = new Date(Date.now());\n\n    if (permission === undefined) return today.toISOString().split('T')[0];\n\n    const originalStart = new Date(permission.validFrom);\n\n    if (originalStart > today) {\n      return permission.validFrom;\n    } else {\n      return today.toISOString().split('T')[0];\n    }\n  }\n\n  @computed\n  get originalEnd() {\n    return this.sharedDataService.permission?.validTo;\n  }\n\n  @computed\n  get minStartValue() {\n    return this.originalStartOrToday;\n  }\n\n  @computed\n  get minEndValue() {\n    if (this.model.startWithEnd !== '') {\n      const selectedStartDateUTC = new Date(this.model.startWithEnd);\n      const now = new Date();\n      const tomorrowUTC = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() + 1));\n\n      if (selectedStartDateUTC >= tomorrowUTC) {\n        return this.model.startWithEnd;\n      }\n    }\n\n    return DateUtils.toRequestString(new Date(Date.now() + 86400000));\n  }\n\n  @computed\n  get maxEndValue() {\n    const permission = this.sharedDataService.permission;\n\n    if (permission === undefined || !permission.validTo) return undefined;\n\n    return new Date(permission.validTo).toISOString().split('T')[0];\n  }\n\n  @computed\n  get disableNextStep() {\n    switch (this.model.validityLimit) {\n      case ValidityCodesEnum.VALIDITY_WITH_END:\n        return this.isInputWithEndValid === false || this.model.startWithEnd === '' || this.model.end === '';\n      case ValidityCodesEnum.VALIDITY_WITHOUT_END:\n        return this.isInputWithoutEndValid === false || this.model.startWithoutEnd === '';\n      case ValidityCodesEnum.VALIDITY_FROM_PARENT_MANDATE:\n      default:\n        return false;\n    }\n  }\n\n  @computed\n  get isInputWithEndValid() {\n    const startValidationState = this.validation.getValidation(this.model).getProperty('startWithEnd').state;\n    const endValidationState = this.validation.getValidation(this.model).getProperty('end').state;\n\n    return startValidationState === ValidationState.valid && endValidationState === ValidationState.valid;\n  }\n\n  @computed\n  get isInputWithoutEndValid() {\n    const startWithEndValidationState = this.validation\n      .getValidation(this.model)\n      .getProperty('startWithEnd').state;\n\n    return startWithEndValidationState === ValidationState.valid;\n  }\n\n  @computed\n  get selectedValidity() {\n    let validity: {\n      validFrom: string | null;\n      validTo: string | null | undefined;\n    } = {\n      validFrom: '',\n      validTo: null,\n    };\n\n    switch (this.model.validityLimit) {\n      case ValidityCodesEnum.VALIDITY_FROM_PARENT_MANDATE:\n        validity = {\n          validFrom: null,\n          validTo: null,\n        };\n        break;\n      case ValidityCodesEnum.VALIDITY_WITH_END:\n        validity = {\n          validFrom: this.model.startWithEnd,\n          validTo: this.model.end,\n        };\n        break;\n      case ValidityCodesEnum.VALIDITY_WITHOUT_END:\n        validity = {\n          validFrom: this.model.startWithoutEnd,\n          validTo: null,\n        };\n        break;\n    }\n\n    return validity;\n  }\n\n  @computed\n  get summaryData() {\n    if (this.model.validityLimit === ValidityCodesEnum.VALIDITY_FROM_PARENT_MANDATE) {\n      return this.originalValidityData;\n    }\n\n    return [\n      {\n        label: this.translate('item8.validFrom'),\n        value: this.selectedValidity.validFrom\n          ? DateUtils.dateFormatCz(this.selectedValidity.validFrom)\n          : DateUtils.dateFormatCz(this.originalStartOrToday),\n      },\n      {\n        label: this.translate('item8.validTo'),\n        value: this.selectedValidity.validTo\n          ? DateUtils.dateFormatCz(this.selectedValidity.validTo)\n          : this.translate('item8.validWithoutEnd'),\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public sharedDataService: SharedDataService\n  ) {\n    super('delegation-validity');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n\n    this.validation.attachDescriptor(this.model, ValidityModelValidators);\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new ValidityModel();\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  resetModelValuesAndValidate() {\n    this.model.resetValues();\n    this.updateModelValidationState();\n  }\n\n  @action.bound\n  updateModelValidationState() {\n    this.validation.validateObject(this.model);\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.end,\n      this.model.validityLimit,\n      this.model.startWithEnd,\n      this.model.startWithoutEnd,\n      this.model.parentMandateValidFrom,\n      this.model.parentMandateValidTo,\n    ] as const;\n  }\n\n  translate = translate('mandateDelegation', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport ApiService from 'src/services/ApiService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport ValidationService from '../../../services/ValidationService';\nimport MandateOverviewService from './01_MandateOverview/MandateOverviewService';\nimport TemplateSelectionService from './02_TemplateSelection/TemplateSelectionService';\nimport { WizardContext } from '@cendis/cedr-components';\nimport RepresentedEntityService from './03_RepresentedEntity/RepresentedEntityService';\nimport RepresentativeIdentificationService from './04_RepresentativeIdentification/RepresentativeIdentificationService';\nimport TransferAgreementService from './05_Transfer/TransferAgreementService';\nimport ValidityService from './06_Validity/ValidityService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { DummyNavigator, type Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport {\n  Mandates_WebApi_Requests_AifoIdIdentificationRequest,\n  Mandates_WebApi_Requests_IdentificationNumberRequest,\n  Mandates_WebApi_Requests_TransferMandateRequest,\n} from 'src/data/mandates/api';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\nimport ObtainedCompleteScreenViewModel from '../obtainedMandates/completeScreen/ObtainedCompleteScreenViewModel';\nimport { MandatesRedirectType } from 'src/enums/MandatesRedirectType';\nimport SharedDataService from './SharedDataService';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\nimport ErrorService from 'src/services/ErrorService';\nimport VehicleSelectionService from '../shared/services/VehicleSelectionService';\nimport AuthService from 'src/services/AuthService';\nimport EnvUtils from 'src/utils/EnvUtils';\n\n@Service()\nexport default class ApplicationService {\n  @observable summaryPromptVisible = false;\n\n  @computed\n  get summaryPromptName() {\n    if (this.representativeIdentificationService.model.representativePersonType === MandatePersonType.FO) {\n      return `${this.representativeIdentificationService.identifiedPerson?.firstName} ${this.representativeIdentificationService.identifiedPerson?.surname}`;\n    } else {\n      return this.representativeIdentificationService.identifiedCompanyName;\n    }\n  }\n\n  @computed\n  get selectedVehiclesForSummary() {\n    const obtainedVehicles = this.sharedDataService.obtainedMandateDetailService.selectedVehicles;\n    if (obtainedVehicles && obtainedVehicles.length > 0) {\n      const selected = obtainedVehicles.filter((v) => v.selected);\n      if (selected.length > 0 && this.vehicleSelectionService.selectedVehicles.length !== selected.length) {\n        this.vehicleSelectionService.selectedVehicles = selected;\n      }\n      return selected;\n    }\n    return [];\n  }\n\n  busyWatcher = new BusyWatcher();\n  wizardContext = new WizardContext();\n  private navigator: Navigator = DummyNavigator;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public sharedDataService: SharedDataService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public mandateOverviewService: MandateOverviewService,\n    @Inject() public templateSelectionService: TemplateSelectionService,\n    @Inject() public vehicleSelectionService: VehicleSelectionService,\n    @Inject() public representedEntityService: RepresentedEntityService,\n    @Inject() public representativeIdentificationService: RepresentativeIdentificationService,\n    @Inject() public transferAgreementService: TransferAgreementService,\n    @Inject() public validityService: ValidityService,\n    @Inject() private navigationGuardService: NavigationGuardService,\n    @Inject() private errorService: ErrorService,\n    @Inject() private authService: AuthService\n  ) {\n    makeObservable(this);\n  }\n\n  @computed\n  get hasVehiclesSelection() {\n    return EnvUtils.isRsvUnloadedVehiclesEnabled && this.templateSelectionService.isVehicleObjectSpecific;\n  }\n\n  @action.bound\n  async init(aifoIdOrIco: string, permissionCode: string, navigator: Navigator) {\n    const enabled = EnvUtils.isRsvUnloadedVehiclesEnabled;\n    this.navigator = navigator;\n    this.sharedDataService.init(aifoIdOrIco, permissionCode);\n    this.validationService.init();\n    this.mandateOverviewService.init(1);\n    if (enabled) {\n      await this.templateSelectionService.init(2);\n    }\n    const withVehicleSelection = enabled && this.hasVehiclesSelection;\n    this.vehicleSelectionService.init(withVehicleSelection ? 3 : 2, true, aifoIdOrIco, permissionCode);\n    this.representedEntityService.init(withVehicleSelection ? 4 : 3);\n    this.representativeIdentificationService.init(withVehicleSelection ? 5 : 4);\n    this.transferAgreementService.init(withVehicleSelection ? 6 : 5);\n    this.validityService.init(withVehicleSelection ? 7 : 6);\n  }\n\n  @action.bound\n  reset() {\n    this.wizardContext = new WizardContext();\n    this.summaryPromptVisible = false;\n\n    this.sharedDataService.reset();\n    this.validationService.reset();\n    this.mandateOverviewService.reset();\n    this.templateSelectionService.reset();\n    this.representedEntityService.reset();\n    this.representativeIdentificationService.reset();\n    this.transferAgreementService.reset();\n    this.validityService.reset();\n    this.navigationGuardService.stopGuarding();\n    this.vehicleSelectionService.reset();\n    this.vehicleSelectionService.unloadVehicles();\n  }\n\n  @action.bound\n  continueAction = async () => {\n    this.authService.continueActivity();\n  };\n\n  @action.bound\n  closePrompt() {\n    this.summaryPromptVisible = false;\n  }\n\n  @action.bound\n  openPrompt() {\n    this.summaryPromptVisible = true;\n  }\n\n  @action.bound\n  onBeforeNextSummaryStep() {\n    this.openPrompt();\n    return false;\n  }\n\n  @Watch<ApplicationService>((s) => s.busyWatcher)\n  @action.bound\n  async transferMandate() {\n    try {\n      const permissionCode = this.sharedDataService.permissionCode;\n\n      const identification:\n        | Mandates_WebApi_Requests_AifoIdIdentificationRequest\n        | Mandates_WebApi_Requests_IdentificationNumberRequest =\n        this.representativeIdentificationService.model.representativePersonType === MandatePersonType.PO\n          ? {\n              $type: 'PO',\n              identificationNumber: this.representativeIdentificationService.model.identificationNumber,\n            }\n          : { $type: 'FO', aifoId: this.representativeIdentificationService.identifiedPerson?.aifoId ?? '' };\n\n      var objectSpecific =\n        this.vehicleSelectionService.objectSpecificPermissions ?? this.sharedDataService.objectSpecifics;\n\n      const requestBody: Mandates_WebApi_Requests_TransferMandateRequest = {\n        identification: identification,\n        isTransferable: this.transferAgreementService.model.transferable,\n        validFrom: this.validityService.selectedValidity.validFrom,\n        validTo: this.validityService.selectedValidity.validTo,\n        validityFromSource:\n          this.validityService.model.validityLimit === ValidityCodesEnum.VALIDITY_FROM_PARENT_MANDATE,\n        objectSpecificPermissions: objectSpecific,\n      };\n\n      const delegateMandate =\n        await this.apiService.mandatesApi.management.postPdApiMandatesV1ManagementObtainedMandatesTransfer(\n          permissionCode,\n          requestBody\n        );\n      this.navigationGuardService.stopGuarding();\n      this.navToCompleteScreen(delegateMandate.code);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'mandates - mandateDelegation - ApplicationService',\n        'transferMandate - apiService.mandatesApi.management.postPdApiMandatesV1ManagementObtainedMandatesTransfer'\n      );\n      this.closePrompt();\n      throw e;\n    }\n  }\n\n  @action.bound\n  navToCompleteScreen(delegatedPermissionCode: string) {\n    this.navigator(ObtainedCompleteScreenViewModel, {\n      isRedirectedTo: MandatesRedirectType.DELEGATE,\n      permissionCode: delegatedPermissionCode,\n    }).go();\n  }\n\n  @action.bound\n  startGuarding() {\n    this.navigationGuardService.startGuarding();\n  }\n\n  translate = translate('mandateDelegation', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport MandateOverviewService from './MandateOverviewService';\nimport { Message, Skeleton, WizardItem } from '@cendis/cedr-components';\nimport Table from '@components/gov4/layout/Table';\nimport { WizardStepListener } from 'src/app/driver_ng/components/WizardStepListener/WizardStepListener';\n\ntype MandateOverviewWizardStepProps = {\n  mandateOverviewService: MandateOverviewService;\n  continueAction?: () => void;\n};\n\nconst MandateOverviewWizardStep = observer(\n  ({ mandateOverviewService, continueAction }: MandateOverviewWizardStepProps) => {\n    const { translate, step, disableNextStep, error, isDetailReady, tableData } = mandateOverviewService;\n\n    return (\n      <>\n        <WizardStepListener onStepChange={continueAction} />\n        <WizardItem label={translate('item1.header')} step={step} disableNextStep={disableNextStep}>\n          {error ? (\n            <Message\n              message={translate('item1.notFound')}\n              className=\"mt-4\"\n              icon=\"components/exclamation-triangle-fill\"\n              color={'error'}\n            />\n          ) : isDetailReady === false ? (\n            <Skeleton height=\"200px\" />\n          ) : (\n            <>\n              <p className=\"mt-2 mb-4\">{translate('item1.info1')}</p>\n\n              <Table data={tableData} firstColumnMaxWidth={30} testId=\"mandates-table\" />\n            </>\n          )}\n        </WizardItem>\n      </>\n    );\n  }\n);\n\nexport default MandateOverviewWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport { Button, Checkbox, Message, Select, SelectOption } from '@cendis/cedr-components';\nimport TemplateSelectionModel from './TemplateSelectionModel';\n\ntype TemplateSelectProps = {\n  model: TemplateSelectionModel;\n  fullUrl?: string;\n  selectOptions: SelectOption<unknown>[];\n  selectedOption?: (SelectOption<string> & { permissionDescription: string | null | undefined }) | undefined;\n  formattedDocumentInfo: string;\n};\n\nconst TemplateSelect = observer(\n  ({ model, selectOptions, selectedOption, fullUrl, formattedDocumentInfo }: TemplateSelectProps) => {\n    return (\n      <div className=\"ms-5\">\n        <Select\n          target={model}\n          property={'templateCode'}\n          options={selectOptions}\n          required\n          className=\"mw-330\"\n        />\n        {model.templateCode !== '' && selectedOption?.permissionDescription && (\n          <Message message={selectedOption.permissionDescription} className=\"mt-4\" />\n        )}\n        {document && model.templateCode && model.templateCode.trim() !== '' && (\n          <Button\n            className=\"thin-text mt-2\"\n            size=\"m\"\n            type=\"link\"\n            iconStart=\"components/box-arrow-up-right\"\n            href={fullUrl}\n            target=\"_blank\"\n            testId=\"template-document-button\"\n          >\n            {formattedDocumentInfo}\n          </Button>\n        )}\n\n        {model.templateCode && model.templateCode.trim() !== '' && (\n          <Checkbox className=\"mt-3\" required size=\"s\" target={model} property={'checkbox'} />\n        )}\n      </div>\n    );\n  }\n);\n\nexport default TemplateSelect;\n","import { observer } from 'mobx-react-lite';\nimport TemplateSelectionService from './TemplateSelectionService';\nimport { Message, Radio, Skeleton, WizardItem } from '@cendis/cedr-components';\nimport { getFullUrl } from '../../../../utils/PdfBaseUrl';\nimport { formatDocumentInfo } from '../../../../utils/FormatDocumentInfo';\nimport ApplicationService from '../ApplicationService';\nimport TemplateSelect from './TemplateSelect';\nimport { Domain_Contracts_Enums_Mandates_MandateGroup } from 'src/data/mandates/api';\n\ntype TemplateSelectionWizardStepProps = {\n  templateSelectionService: TemplateSelectionService;\n  applicationService: ApplicationService;\n};\n\nconst TemplateSelectionWizardStep = observer(\n  ({ templateSelectionService, applicationService }: TemplateSelectionWizardStepProps) => {\n    const { translate, disableNextStep, step, model, selectOptions, selectedOption, document, busyWatcher } =\n      templateSelectionService;\n\n    const fullUrl = getFullUrl(document?.uriPath);\n\n    const formattedDocumentInfo = formatDocumentInfo(document, translate);\n    const option1 = [\n      { id: Domain_Contracts_Enums_Mandates_MandateGroup.VEHICLE, label: translate('item2.option-vehicle') },\n    ];\n    const option2 = [\n      { id: Domain_Contracts_Enums_Mandates_MandateGroup.DRIVER, label: translate('item2.option-driver') },\n    ];\n    const option3 = [\n      { id: Domain_Contracts_Enums_Mandates_MandateGroup.CREDO, label: translate('item2.option-credo') },\n    ];\n\n    return (\n      <WizardItem\n        label={translate('item2.header')}\n        step={step}\n        disableNextStep={disableNextStep}\n        onActiveStep={() => applicationService.startGuarding()}\n      >\n        {busyWatcher.isBusy ? (\n          <Skeleton height=\"200px\" />\n        ) : (\n          <>\n            <p className=\"\">{translate('item2.info1')}</p>\n            <Message message={translate('item2.info2')} className=\"mt-4 mb-4\" />\n            <Radio\n              disabled\n              options={option1}\n              target={model}\n              property={'group'}\n              orientation=\"vertical\"\n              gapSize=\"s\"\n            />\n            {model.group === Domain_Contracts_Enums_Mandates_MandateGroup.VEHICLE && (\n              <>\n                <TemplateSelect\n                  model={model}\n                  selectOptions={selectOptions}\n                  selectedOption={selectedOption}\n                  fullUrl={fullUrl}\n                  formattedDocumentInfo={formattedDocumentInfo}\n                />\n                <br />\n              </>\n            )}\n            <Radio\n              disabled\n              options={option2}\n              target={model}\n              property={'group'}\n              orientation=\"vertical\"\n              gapSize=\"s\"\n            />\n            {model.group === Domain_Contracts_Enums_Mandates_MandateGroup.DRIVER && (\n              <>\n                <TemplateSelect\n                  model={model}\n                  selectOptions={selectOptions}\n                  selectedOption={selectedOption}\n                  fullUrl={fullUrl}\n                  formattedDocumentInfo={formattedDocumentInfo}\n                />\n                <br />\n              </>\n            )}\n            <Radio\n              disabled\n              options={option3}\n              target={model}\n              property={'group'}\n              orientation=\"vertical\"\n              gapSize=\"s\"\n            />\n            {model.group === Domain_Contracts_Enums_Mandates_MandateGroup.CREDO && (\n              <TemplateSelect\n                model={model}\n                selectOptions={selectOptions}\n                selectedOption={selectedOption}\n                fullUrl={fullUrl}\n                formattedDocumentInfo={formattedDocumentInfo}\n              />\n            )}\n          </>\n        )}\n      </WizardItem>\n    );\n  }\n);\n\nexport default TemplateSelectionWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport ValidityService from './ValidityService';\nimport { Input, Message, Radio, WizardItem } from '@cendis/cedr-components';\nimport Table from '@components/gov4/layout/Table';\nimport { ValidityCodesEnum } from 'src/enums/NewMandate';\n\ntype ValidityWizardStepProps = {\n  validityService: ValidityService;\n};\n\nconst ValidityWizardStep = observer(({ validityService }: ValidityWizardStepProps) => {\n  const {\n    translate,\n    step,\n    originalValidityOption,\n    validityWithEndOption,\n    validityWithoutEndOption,\n    model,\n    resetModelValuesAndValidate,\n    updateModelValidationState,\n    minStartValue,\n    minEndValue,\n    maxEndValue,\n    originalValidityData,\n    disableNextStep,\n    displayOptionWithoutEnd,\n  } = validityService;\n\n  return (\n    <WizardItem label={translate('item7.header')} step={step} disableNextStep={disableNextStep}>\n      <Message message={translate('item7.text')} className=\"mt-2 mb-3\" />\n\n      <Radio\n        options={originalValidityOption}\n        target={model}\n        property={'validityLimit'}\n        orientation=\"vertical\"\n        onChange={resetModelValuesAndValidate}\n        gapSize=\"s\"\n      />\n      {model.validityLimit === ValidityCodesEnum.VALIDITY_FROM_PARENT_MANDATE && (\n        <div className=\"ms-4 mt-2 mb-3 ps-3\">\n          <Table data={originalValidityData} firstColumnMaxWidth={30} testId=\"validity-limit-table\" />\n        </div>\n      )}\n\n      <Radio\n        options={validityWithEndOption}\n        target={model}\n        property={'validityLimit'}\n        orientation=\"vertical\"\n        onChange={resetModelValuesAndValidate}\n        className=\"mt-2\"\n        gapSize=\"s\"\n      />\n      {model.validityLimit === ValidityCodesEnum.VALIDITY_WITH_END && (\n        <div className=\"d-flex ms-4 mt-2 mb-3 flex-row flex-wrap gap-4 ps-3\">\n          <Input\n            type=\"date\"\n            target={model}\n            property={'startWithEnd'}\n            label={translate('item7.startOfValidity')}\n            required={true}\n            min={minStartValue}\n            max={maxEndValue}\n            className=\"mw-input-224 mw-280 flex-grow-1\"\n            onChange={updateModelValidationState}\n          />\n\n          <Input\n            type=\"date\"\n            target={model}\n            property={'end'}\n            label={translate('item7.endOfValidity')}\n            required={true}\n            min={minEndValue}\n            max={maxEndValue}\n            className=\"mw-input-224 mw-280 flex-grow-1\"\n            onChange={updateModelValidationState}\n          />\n        </div>\n      )}\n\n      {/* OPTION WITH UNLIMITED END displayed only if original duration allows it */}\n      {displayOptionWithoutEnd && (\n        <>\n          <Radio\n            options={validityWithoutEndOption}\n            target={model}\n            property={'validityLimit'}\n            orientation=\"vertical\"\n            className=\"mt-2\"\n            onChange={resetModelValuesAndValidate}\n            gapSize=\"s\"\n          />\n          {model.validityLimit === ValidityCodesEnum.VALIDITY_WITHOUT_END && (\n            <div className=\"ms-4 mt-2 mb-3 ps-3\">\n              <Input\n                target={model}\n                property={'startWithoutEnd'}\n                label={translate('item7.startOfValidity')}\n                type=\"date\"\n                required\n                min={minStartValue}\n                className=\"mw-input-224 mw-280 flex-grow-1\"\n              />\n\n              <Message message={translate('item7.infoValidity')} className=\"mt-4\" />\n            </div>\n          )}\n        </>\n      )}\n    </WizardItem>\n  );\n});\n\nexport default ValidityWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport ApplicationService from '../ApplicationService';\nimport { Button, Dialog, useWizardContext, WizardItem } from '@cendis/cedr-components';\nimport WizardStepSummary from '../../shared/components/WizardStepSummary';\nimport SelectedVehicleTable from '../../shared/components/SelectedVehicleTable';\nimport { VehiclesSelectionType } from 'src/enums/VehiclesSelectionTypes';\n\ntype SummaryWizardStepProps = {\n  applicationService: ApplicationService;\n};\n\nconst SummaryWizardStep = observer(({ applicationService }: SummaryWizardStepProps) => {\n  const wizardContext = useWizardContext();\n  const rsvEnabled = applicationService.hasVehiclesSelection;\n\n  applicationService.selectedVehiclesForSummary;\n\n  const {\n    translate,\n    onBeforeNextSummaryStep,\n    summaryPromptVisible,\n    closePrompt,\n    transferMandate,\n    busyWatcher,\n    summaryPromptName,\n  } = applicationService;\n\n  return (\n    <WizardItem\n      label={translate('item6.header')}\n      step={rsvEnabled ? wizardContext.lastStep : wizardContext.lastStep - 1}\n      onBeforeNextStep={onBeforeNextSummaryStep}\n    >\n      {/* TEMPLATE SELECTION */}\n      <WizardStepSummary\n        title={translate('item2.header')}\n        returnToStep={2}\n        data={applicationService.templateSelectionService.summaryData}\n      />\n\n      {/* VEHICLES SELECTION */}\n      {rsvEnabled && (\n        <WizardStepSummary title={translate('summaryCars')} returnToStep={3}>\n          {applicationService.vehicleSelectionService.model.vehiclesSelectionType ===\n          VehiclesSelectionType.ALL ? (\n            <p className=\"mt-3\">{translate('allVehicles')}</p>\n          ) : (\n            <SelectedVehicleTable\n              vehicleSelectionService={applicationService.vehicleSelectionService}\n              withActions={false}\n            />\n          )}\n        </WizardStepSummary>\n      )}\n\n      {/* REPRESENTED */}\n      <WizardStepSummary\n        title={translate('item3.header')}\n        returnToStep={rsvEnabled ? 4 : 3}\n        data={applicationService.representedEntityService.summaryData}\n      />\n\n      {/* REPRESENTATIVE IDENTIFICATION */}\n      <WizardStepSummary\n        title={translate('item4.header')}\n        returnToStep={rsvEnabled ? 5 : 4}\n        data={applicationService.representativeIdentificationService.summaryData}\n      />\n\n      {/* TRANSFERABLE */}\n      <WizardStepSummary\n        title={translate('item5.header')}\n        returnToStep={rsvEnabled ? 6 : 5}\n        data={applicationService.transferAgreementService.summaryData}\n      />\n\n      {/* VALIDITY */}\n      <WizardStepSummary\n        title={translate('item7.header')}\n        returnToStep={rsvEnabled ? 7 : 6}\n        data={applicationService.validityService.summaryData}\n        noSeparator\n      />\n\n      {/* PROMPT */}\n      <Dialog\n        headline={translate('prompt.title')}\n        isVisible={summaryPromptVisible}\n        onClose={closePrompt}\n        testId=\"delegation-mandate-dialog\"\n        bottomChildren={\n          <>\n            {/* CANCEL */}\n            <Button type=\"base\" onClick={closePrompt} testId=\"delegation-mandate-no\">\n              {translate('prompt.no')}\n            </Button>\n\n            {/* CONFIRM */}\n            <Button\n              color=\"success\"\n              onClick={transferMandate}\n              loading={busyWatcher.isBusy}\n              testId=\"delegation-mandate-yes\"\n            >\n              {translate('prompt.yes')}\n            </Button>\n          </>\n        }\n      >\n        <p>\n          {translate('prompt.info1')}\n          <strong className=\"fw-bold\">: {summaryPromptName}</strong>\n        </p>\n        <p>{translate('prompt.info2')}</p>\n      </Dialog>\n    </WizardItem>\n  );\n});\n\nexport default SummaryWizardStep;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport { ScreenContext, Typography, Wizard } from '@cendis/cedr-components';\nimport Container from '@components/gov4/layout/Container';\nimport MandateDelegationViewModel from './MandateDelegationViewModel';\nimport { MandateViewFaq } from '../MandateViewFaq';\nimport MandateOverviewWizardStep from './01_MandateOverview/MandateOverviewWizardStep';\nimport TemplateSelectionWizardStep from './02_TemplateSelection/TemplateSelectionWizardStep';\nimport RepresentedEntityWizardStep from './03_RepresentedEntity/RepresentedEntityWizardStep';\nimport RepresentativeIdentificationWizardStep from './04_RepresentativeIdentification/RepresentativeIdentificationWizardStep';\nimport TransferAgreementWizardStep from './05_Transfer/TransferAgreementWizardStep';\nimport ValidityWizardStep from './06_Validity/ValidityWizardStep';\nimport SummaryWizardStep from './07_Summary/SummaryWizardStep';\nimport VehicleSelectionWizardStep from '../shared/components/VehicleSelectionWizardStep';\n\nconst MandateDelegationView: View<MandateDelegationViewModel> = observer(({ vm }) => {\n  const { translate, translateFaq } = vm;\n\n  return (\n    <Container className=\"view-mandates\">\n      <ScreenContext value={vm}>\n        <div className=\"gov-container__options_mandates mw-900\">\n          <Typography type=\"headline\" component={'h1'} size=\"xl\" fontWeight={300} className=\"mb-3\">\n            {translate('title')}\n          </Typography>\n          <Typography color={{ color: 'neutral', saturation: 500 }} className=\"mb-4\">\n            {translate('info')}\n          </Typography>\n          <div>\n            <Wizard wizardContext={vm.applicationService.wizardContext}>\n              {/* SECTION 1 */}\n              <MandateOverviewWizardStep\n                mandateOverviewService={vm.applicationService.mandateOverviewService}\n                continueAction={vm.applicationService.continueAction}\n              />\n\n              {/* SECTION 2 */}\n              <TemplateSelectionWizardStep\n                applicationService={vm.applicationService}\n                templateSelectionService={vm.applicationService.templateSelectionService}\n              />\n\n              {vm.applicationService.hasVehiclesSelection && (\n                <>\n                  {/* STEP 3 */}\n                  <VehicleSelectionWizardStep\n                    vehicleSelectionService={vm.applicationService.vehicleSelectionService}\n                    isVehicleObjectSpecific={\n                      vm.applicationService.templateSelectionService.isVehicleObjectSpecific\n                    }\n                    obtainedMandateDetailService={\n                      vm.applicationService.sharedDataService.obtainedMandateDetailService\n                    }\n                    permissionCode={vm.applicationService.sharedDataService.permissionCode}\n                    unknownObjectsAvailable={false}\n                  />\n                </>\n              )}\n\n              {/* SECTION 4 */}\n              <RepresentedEntityWizardStep\n                representedEntityService={vm.applicationService.representedEntityService}\n              />\n\n              {/* SECTION 5 */}\n              <RepresentativeIdentificationWizardStep\n                representativeIdentificationService={\n                  vm.applicationService.representativeIdentificationService\n                }\n              />\n\n              {/* SECTION 6 */}\n              <TransferAgreementWizardStep\n                transferAgreementService={vm.applicationService.transferAgreementService}\n              />\n\n              {/* SECTION 7 */}\n              <ValidityWizardStep validityService={vm.applicationService.validityService} />\n\n              {/* SECTION 8 */}\n              <SummaryWizardStep applicationService={vm.applicationService} />\n            </Wizard>\n\n            {/* FAQ */}\n            <div className=\"mandates-section-container\">\n              <div className=\"mandates-faq-container\">\n                <MandateViewFaq translate={translateFaq} />\n              </div>\n            </div>\n          </div>\n        </div>\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default MandateDelegationView;\n","import { Inject, Service } from 'typedi';\nimport { computed, makeObservable, observable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from './ApplicationService';\nimport MandateDelegationView from './MandateDelegationView';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\n\n@AddDefaultView(MandateDelegationView)\n@Service()\nexport default class MandateDelegationViewModel extends BaseScreen {\n  @observable permissionCode: string = '';\n  @observable entityID: string = '';\n\n  @computed\n  get validation() {\n    return this.applicationService.validationService.validation;\n  }\n\n  get pathNode(): string {\n    return 'entity-/entityID/-delegation-/permissionCode/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { permissionCode, entityID } = params;\n\n    this.permissionCode = permissionCode;\n    this.entityID = entityID;\n  }\n\n  notifyNavigation() {\n    this.applicationService.init(this.entityID, this.permissionCode, this.navigator);\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  translateFaq = translate('mandatesView', this);\n  translate = translate('mandateDelegation', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('allSelectedVehicle')\nexport default class AllVehiclesSelectedModel {\n  @observable selected: boolean = true;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport {\n  Mandates_WebApi_Responses_ObtainedMandateDetailResponse,\n  Mandates_WebApi_Responses_VehicleSpecificPermissionResponse,\n} from 'src/data/mandates/api';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport ApiService from 'src/services/ApiService';\nimport { Inject, Service } from 'typedi';\nimport FilterSortPaginationContext from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContext';\nimport SelectedVehicleModel from '../shared/models/SelectedVehicleModel';\nimport AllVehiclesSelectedModel from '../shared/models/AllVehiclesSelectedModel';\n\n@Service()\nexport default class ObtainedMandateDetailService {\n  @observable queryPermissionCode?: string = undefined;\n  @observable obtainedMandateDetail: Mandates_WebApi_Responses_ObtainedMandateDetailResponse | undefined =\n    undefined;\n  @observable selectedVehicles: SelectedVehicleModel[] | null = null;\n  @observable allVehiclesSelected: AllVehiclesSelectedModel = new AllVehiclesSelectedModel();\n  private lastEntityId = '';\n\n  selectedVehiclesTableContext = new FilterSortPaginationContext<SelectedVehicleModel>();\n\n  @computed\n  get isPdUsable() {\n    if (!this.obtainedMandateDetail) return false;\n\n    return this.obtainedMandateDetail.mandates?.some((mandate) => mandate.pdUsable === true);\n  }\n\n  @computed\n  get selectedVehiclesCount() {\n    if (!this.selectedVehicles) return 0;\n\n    return this.selectedVehicles.filter((v) => v.selected).length;\n  }\n\n  @computed\n  get noMandateError() {\n    if (this.queryPermissionCode) {\n      const mandate = this.obtainedMandateDetail?.mandates?.find(\n        (mandate) => mandate.operationPermissionCode === this.queryPermissionCode\n      );\n      return !mandate;\n    }\n\n    return (\n      !this.obtainedMandateDetail ||\n      (this.obtainedMandateDetail &&\n        Array.isArray(this.obtainedMandateDetail.mandates) &&\n        this.obtainedMandateDetail.mandates.length === 0)\n    );\n  }\n\n  constructor(@Inject() private apiService: ApiService) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  reset() {\n    this.obtainedMandateDetail = undefined;\n    this.selectedVehicles = null;\n    this.allVehiclesSelected = new AllVehiclesSelectedModel();\n    this.lastEntityId = '';\n  }\n\n  @action.bound\n  async getDetail(personType: MandatePersonType, aifoIdOrIco: string) {\n    if (this.obtainedMandateDetail && this.lastEntityId === aifoIdOrIco) return this.obtainedMandateDetail;\n\n    runInAction(() => {\n      this.obtainedMandateDetail = undefined;\n      this.lastEntityId = aifoIdOrIco;\n    });\n\n    const response =\n      await this.apiService.mandatesApi.management.getPdApiMandatesV1ManagementObtainedMandatesDetail(\n        personType === MandatePersonType.FO ? aifoIdOrIco : undefined,\n        personType === MandatePersonType.PO ? aifoIdOrIco : undefined\n      );\n\n    runInAction(() => {\n      this.obtainedMandateDetail = response;\n      this.lastEntityId = aifoIdOrIco;\n    });\n    return response;\n  }\n\n  @action.bound\n  toggleSelectAllVehicles() {\n    this.selectedVehicles?.forEach((v) => (v.selected = this.allVehiclesSelected.selected));\n  }\n\n  @action.bound\n  checkAllVehiclesSelected() {\n    if (this.selectedVehiclesCount === this.selectedVehicles?.length) {\n      this.allVehiclesSelected.selected = true;\n    }\n    if (this.selectedVehiclesCount === 0) {\n      this.allVehiclesSelected.selected = false;\n    }\n  }\n\n  mapVehicleDataToModel(\n    data: Mandates_WebApi_Responses_VehicleSpecificPermissionResponse\n  ): SelectedVehicleModel {\n    const model = new SelectedVehicleModel();\n    model.id = data.vehicleId?.toString() || '';\n    model.name = `${data.manufacturer || ''} ${data.commercialDesignation || ''}`;\n    model.vin = data.vin || '';\n    model.rz = data.rz || '';\n    model.pcv = data.vehicleId?.toString() || '';\n    model.commercialDesignation = data.commercialDesignation || '';\n    model.manufacturer = data.manufacturer || '';\n    model.selected = true;\n    return model;\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { Button, Message, Typography } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport {\n  Mandates_WebApi_Responses_IdentificationNumberResponse,\n  Mandates_WebApi_Responses_ObtainedMandateDetailResponse,\n} from 'src/data/mandates/api';\nimport DateUtils from 'src/utils/DateUtils';\nimport MandatesService from 'src/services/MandatesService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport './ObtainedMandateEntityInfo.scss';\nimport LabelValueFlexBox from '@components/gov4/layout/LabelValueFlexBox';\n\ntype EntityInfoProps = {\n  detail: Mandates_WebApi_Responses_ObtainedMandateDetailResponse | undefined;\n  mandatesService: MandatesService;\n  aifoIdOrIco: string;\n  isPdUsable: boolean;\n  translate: Translator;\n};\n\nconst ObtainedMandateEntityInfo = observer(\n  ({ detail, mandatesService, aifoIdOrIco, translate, isPdUsable }: EntityInfoProps) => {\n    if (!detail || !detail.mandates || detail.mandates?.length === 0) return null;\n\n    const entity = detail.mandates[0].represented;\n    const isPO = 'identificationNumber' in entity.identity;\n\n    return (\n      <>\n        <Typography\n          type=\"headline\"\n          component={'h1'}\n          size=\"xl\"\n          fontWeight={300}\n          className=\"mb-4\"\n          data-testid=\"obtained-mandate-entity-name\"\n        >\n          {entity.name}\n        </Typography>\n\n        <div className=\"entity-info\" data-testid=\"obtained-mandate-entity-info\">\n          <div className=\"button-next-to-info\">\n            <div className=\"info-wrapper\">\n              <LabelValueFlexBox\n                data={\n                  isPO\n                    ? [\n                        {\n                          label: translate('identificationNumber'),\n                          value: (entity.identity as Mandates_WebApi_Responses_IdentificationNumberResponse)\n                            .identificationNumber,\n                        },\n                      ]\n                    : [\n                        {\n                          label: translate('documentTypeAndNumber'),\n                          value: entity.document?.number\n                            ? `${entity.document.type} ${entity.document.number}`\n                            : '-',\n                        },\n                        {\n                          label: translate('birthDate'),\n                          value: DateUtils.dateFormatCz(entity.birthDate),\n                        },\n                        {\n                          label: translate('address'),\n                          value: entity.address,\n                        },\n                      ]\n                }\n              />\n            </div>\n            {isPdUsable && (\n              <div>\n                <Button\n                  className=\"expand-for-sm-screen\"\n                  text={translate('change-mandate')}\n                  testId=\"mandate-change-button\"\n                  onClick={() =>\n                    mandatesService.changeMandates(\n                      aifoIdOrIco,\n                      isPO ? MandatePersonType.PO : MandatePersonType.FO\n                    )\n                  }\n                />\n              </div>\n            )}\n          </div>\n\n          <Message className=\"mt-4\">{translate('on-mandate-change')}</Message>\n        </div>\n      </>\n    );\n  }\n);\n\nexport default ObtainedMandateEntityInfo;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport {\n  Mandates_WebApi_Responses_EntityResponse,\n  Mandates_WebApi_Responses_MandateDetailResponse,\n} from 'src/data/mandates/api';\nimport DateUtils from 'src/utils/DateUtils';\nimport { Button } from '@cendis/cedr-components';\nimport Separator from '@components/gov4/separator/Separator';\n\ntype ObtainedMandateChildProps = {\n  childMandate: Mandates_WebApi_Responses_MandateDetailResponse;\n  transferredToEntity: Mandates_WebApi_Responses_EntityResponse;\n  entityID: string;\n  translate: Translator;\n  navToGrantedMandate: (aifoIdOrIco: string) => void;\n  testId: string;\n};\n\nconst ObtainedMandateChild = observer(\n  ({\n    childMandate,\n    transferredToEntity,\n    entityID,\n    translate,\n    navToGrantedMandate,\n    testId,\n  }: ObtainedMandateChildProps) => {\n    return (\n      <>\n        <div className=\"mandate-info-wrapper\">\n          {/* TRANSFERRED TO */}\n          <div className=\"full-row\">\n            <span>{translate('transferredTo')}: </span>\n            <span className=\"bold\" data-testid=\"transferred-entity-name\">\n              {transferredToEntity.name}\n            </span>\n          </div>\n\n          {/* TRANSFER VALIDITY */}\n          <div>\n            <span>{translate('transferValidity')}: </span>\n            <span className=\"bold\" data-testid=\"transfer-validity\">\n              {translate('from')} {DateUtils.dateFormatCz(childMandate.validFrom)} {translate('to')}{' '}\n              {childMandate.validTo\n                ? DateUtils.dateFormatCz(childMandate.validTo)\n                : translate('unlimitedValidTo')}\n            </span>\n          </div>\n\n          {/* LINK FOR THE MANDATE GRANTED BY THE TRANSFER  */}\n          <Button\n            type=\"link\"\n            className={testId}\n            text={translate('transferred-granted-mandate')}\n            onClick={() => navToGrantedMandate(entityID)}\n            testId=\"transferred-granted-mandate\"\n          />\n        </div>\n        <Separator className=\"light\" />\n      </>\n    );\n  }\n);\n\nexport default ObtainedMandateChild;\n","import { observer } from 'mobx-react-lite';\nimport './ObtainedMandate.scss';\nimport { Button, LegacyTooltip, Tag, Typography } from '@cendis/cedr-components';\nimport Separator from '@components/gov4/separator/Separator';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DateUtils from 'src/utils/DateUtils';\nimport { Mandates_WebApi_Responses_MandateDetailResponse } from 'src/data/mandates/api/models/Mandates_WebApi_Responses_MandateDetailResponse';\nimport {\n  Domain_Contracts_Enums_Mandates_MandateType,\n  Mandates_WebApi_Responses_VehicleSpecificPermissionResponse,\n  type Mandates_WebApi_Responses_TemplateDocumentResposne,\n} from 'src/data/mandates/api';\nimport { TypeUtils } from 'src/utils/TypeUtils';\nimport ObtainedMandateChild from './ObtainedMandateChild';\nimport { getFullUrl } from '../../../../utils/PdfBaseUrl';\nimport { formatDocumentInfo } from '../../../../utils/FormatDocumentInfo';\nimport BasicCarIcon from '@components/icons/BasicCarIcon';\nimport FilterSortPaginationContext from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContext';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\n\ntype ObtainedMandateProps = {\n  mandate: Mandates_WebApi_Responses_MandateDetailResponse;\n  displayedPermissionCode: string;\n  navToMandateTransfer: (entityID: string, permissionCode: string) => void;\n  openCancelModal: (permissionCode: string, mainPermissionCode: string) => void;\n  translate: Translator;\n  translateTable: Translator;\n  navToGrantedMandate: (entityID: string) => void;\n  entityID: string;\n  document: Mandates_WebApi_Responses_TemplateDocumentResposne | undefined;\n  downloadVehiclesListCSV: (mandate: Mandates_WebApi_Responses_MandateDetailResponse) => void;\n  testId: string;\n  canBeDeleted: boolean;\n};\n\nconst ObtainedMandate = observer(\n  ({\n    mandate,\n    displayedPermissionCode,\n    navToMandateTransfer,\n    navToGrantedMandate,\n    openCancelModal,\n    entityID,\n    translate,\n    translateTable,\n    document,\n    downloadVehiclesListCSV,\n    testId,\n    canBeDeleted,\n  }: ObtainedMandateProps) => {\n    let childMandates =\n      mandate.childs && mandate.childs.length > 0\n        ? mandate.childs!.map((child) => {\n            return {\n              mandate: child,\n              entity: child.representing,\n              entityID: TypeUtils.entityIdFromIdentity(child.representing.identity),\n            };\n          })\n        : undefined;\n\n    const isTransferable = mandate.parentMandate?.isTransferable ?? mandate.isTransferable;\n\n    const isTemplateValid = mandate.parentMandate?.isTemplateValid ?? mandate.isTemplateValid;\n\n    const objectSpecificPermissions =\n      mandate.parentMandate?.objectSpecificPermissions ?? mandate.objectSpecificPermissions;\n\n    const parent = mandate.parentMandate\n      ? {\n          mandate: mandate.parentMandate,\n          entity: mandate.parentMandate.represented,\n          entityID: TypeUtils.entityIdFromIdentity(mandate.parentMandate.represented.identity),\n        }\n      : undefined;\n\n    const fullUrl = getFullUrl(document?.uriPath);\n\n    const formattedDocumentInfo = formatDocumentInfo(document, translate);\n\n    const selectedVehiclesTableContext =\n      new FilterSortPaginationContext<Mandates_WebApi_Responses_VehicleSpecificPermissionResponse>();\n\n    return (\n      <div className=\"mandate-detail\">\n        {/* Tag - if mandate was transferred from another person */}\n        {parent && (\n          <>\n            <Tag color=\"primary\" size=\"s\" className=\"mb-4\" type=\"subtle\" testId=\"entity-name-tag\">\n              <span>{translate('transferredFromChip')}: </span>\n              <span>{parent.entity.name}</span>\n            </Tag>\n          </>\n        )}\n\n        <div className=\"title-chip-wrapper mb-3\">\n          {/* NAME */}\n          <Typography type=\"headline\" component={'h3'} size=\"xs\" className=\"mandate-name\">\n            {mandate.name}\n          </Typography>\n\n          {/* TAG ID */}\n          <Tag color=\"neutral\" size=\"s\" type=\"subtle\" testId=\"permission-code-tag\">\n            <span className=\"bold\">{translate('permissionCode')}: </span>\n            <span>{displayedPermissionCode}</span>\n          </Tag>\n        </div>\n\n        {mandate.permissionDescription && (\n          <Typography className=\"mb-3\">{mandate.permissionDescription}</Typography>\n        )}\n\n        {document?.uriPath && (\n          <Button\n            className=\"thin-text\"\n            size=\"m\"\n            type=\"link\"\n            iconStart=\"components/box-arrow-up-right\"\n            href={fullUrl}\n            target=\"_blank\"\n            testId=\"document-button\"\n          >\n            {formattedDocumentInfo}\n          </Button>\n        )}\n\n        <Separator className=\"light\" />\n        {objectSpecificPermissions?.length! > 0 ? (\n          <div>\n            <div className=\"d-flex align-items-center\">\n              <Typography component=\"span\" fontWeight={700}>\n                {translate('objectSpecifics')}\n              </Typography>\n              <Tag className=\"ms-3\" color=\"primary\" size=\"xs\" type=\"subtle\" testId=\"tag-selected-vehicles\">\n                <BasicCarIcon />\n                {translate('onlySelectedCars')} ({objectSpecificPermissions?.length})\n              </Tag>\n\n              <Button\n                className=\"ms-auto\"\n                color=\"primary\"\n                type=\"outlined\"\n                size=\"s\"\n                iconStart=\"components/download\"\n                testId={`vehicle-list-download-${testId}`}\n                onClick={() => downloadVehiclesListCSV(mandate)}\n              >\n                {translate('downloadList')}\n              </Button>\n            </div>\n            <Typography className=\"mt-3 pt-1 pb-1\">{translate('objectSpecificsInfo')}</Typography>\n\n            <PaginatedTable\n              className=\"mt-3\"\n              data={\n                objectSpecificPermissions as Mandates_WebApi_Responses_VehicleSpecificPermissionResponse[]\n              }\n              filterSortPaginationContext={selectedVehiclesTableContext}\n              pageSize={10}\n              testId={`selected-vehicles-table-${testId}`}\n              row={{\n                key: (x, index) => `${index}-${x.vehicleId}`,\n              }}\n              columns={[\n                {\n                  header: translateTable('vehiclePicker.name'),\n                  value: (x) =>\n                    x.manufacturer\n                      ? x.commercialDesignation\n                        ? `${x.manufacturer} ${x.commercialDesignation}`\n                        : x.manufacturer\n                      : '-',\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.STRING,\n                  },\n                },\n                {\n                  header: translateTable('vehiclePicker.rz'),\n                  value: (x) => (x.rz ? `${x.rz}` : '-'),\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.STRING,\n                  },\n                },\n                {\n                  header: translateTable('vehiclePicker.vin'),\n                  value: (x) => (x.vin ? `${x.vin}` : '-'),\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.STRING,\n                  },\n                },\n                {\n                  header: translateTable('vehiclePicker.pcv'),\n                  headerInfo: translateTable('vehiclePicker.pcvInfo'),\n                  value: (x) => (x.vehicleId ? `${x.vehicleId}` : '-'),\n                  sortOptions: {\n                    sortOrder: SortOrder.NONE,\n                    sortType: SortType.NUMBER,\n                  },\n                },\n              ]}\n            />\n          </div>\n        ) : (\n          <div>\n            <Typography component=\"span\">{translate('objectSpecifics')}</Typography>:{' '}\n            <Typography component=\"span\" fontWeight={700}>\n              {translate('noLimits')}\n            </Typography>\n          </div>\n        )}\n        <Separator className=\"light\" />\n\n        {/* DEFAULT VIEW - if not transferred to/from another person */}\n        {!parent && !childMandates && (\n          <>\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERABLE */}\n              <div>\n                <span>{translate('transferable')}: </span>\n                <span className=\"bold\" data-testid=\"transferable\">\n                  {isTransferable ? translate('yes') : translate('no')}\n                </span>\n              </div>\n\n              {isTransferable && (\n                <LegacyTooltip\n                  tooltipContent={translate('transfer-tooltip')}\n                  hidden={isTemplateValid}\n                  position=\"right\"\n                  testId=\"transfer-tooltip\"\n                >\n                  <Button\n                    type=\"link\"\n                    disabled={!isTemplateValid}\n                    text={translate('transfer-mandate')}\n                    onClick={() => navToMandateTransfer(entityID, mandate.operationPermissionCode!)}\n                    testId={`obtained-mandate-transfer-${testId}`}\n                  />\n                </LegacyTooltip>\n              )}\n            </div>\n\n            <Separator className=\"light\" />\n\n            <div className=\"mandate-info-wrapper\">\n              {/* VALIDITY */}\n              <div>\n                <span>{translate('validity')}: </span>\n                <span className=\"bold\" data-testid=\"validity\">\n                  {translate('from')} {DateUtils.dateFormatCz(mandate.validFrom)} {translate('to')}{' '}\n                  {mandate.validTo ? DateUtils.dateFormatCz(mandate.validTo) : translate('unlimitedValidTo')}\n                </span>\n              </div>\n\n              {/* ACTION BUTTONS */}\n              <div className=\"d-flex buttons-gap flex-wrap\">\n                {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                  <LegacyTooltip\n                    tooltipContent={translate('delete-tooltip')}\n                    hidden={canBeDeleted}\n                    position=\"right\"\n                    testId=\"delete-tooltip\"\n                  >\n                    <Button\n                      type=\"link\"\n                      color=\"error\"\n                      text={translate('cancel-mandate')}\n                      onClick={() =>\n                        openCancelModal(mandate.operationPermissionCode!, mandate.permissionCode!)\n                      }\n                      testId={`obtained-mandate-cancel-${testId}`}\n                      disabled={!canBeDeleted}\n                    />\n                  </LegacyTooltip>\n                )}\n              </div>\n            </div>\n          </>\n        )}\n\n        {/* VIEW if transferred to another person  */}\n        {childMandates && !parent && (\n          <>\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERABLE */}\n              <div>\n                <span>{translate('transferable')}: </span>\n                <span className=\"bold\" data-testid=\"transferable\">\n                  {isTransferable ? translate('yes') : translate('no')}\n                </span>\n              </div>\n\n              {/* TRANSFER ACTION BUTTON */}\n              {isTransferable && (\n                <LegacyTooltip\n                  tooltipContent={translate('transfer-tooltip')}\n                  hidden={isTemplateValid}\n                  position=\"right\"\n                  testId=\"transfer-tooltip\"\n                >\n                  <Button\n                    type=\"link\"\n                    text={translate('transfer-mandate')}\n                    onClick={() => navToMandateTransfer(entityID, mandate.operationPermissionCode!)}\n                    testId={`transfer-mandate-if-is-transferable-${testId}`}\n                  />\n                </LegacyTooltip>\n              )}\n            </div>\n\n            <Separator className=\"light\" />\n\n            {/* TRANSFERRED TO other entities */}\n            {childMandates.map((child) => {\n              return (\n                <ObtainedMandateChild\n                  key={`child-${child.entityID}`}\n                  testId={`child-${child.entityID}`}\n                  childMandate={child.mandate}\n                  transferredToEntity={child.entity}\n                  entityID={child.entityID}\n                  translate={translate}\n                  navToGrantedMandate={navToGrantedMandate}\n                />\n              );\n            })}\n\n            <div className=\"mandate-info-wrapper\">\n              {/* VALIDITY */}\n              <div>\n                <span>{translate('validity')}: </span>\n                <span className=\"bold\" data-testid=\"validity\">\n                  {translate('from')} {DateUtils.dateFormatCz(mandate.validFrom)} {translate('to')}{' '}\n                  {mandate.validTo ? DateUtils.dateFormatCz(mandate.validTo) : translate('unlimitedValidTo')}\n                </span>\n              </div>\n\n              {/* DELETE BUTTON */}\n              {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                <LegacyTooltip\n                  tooltipContent={translate('delete-tooltip')}\n                  hidden={canBeDeleted}\n                  position=\"right\"\n                  testId=\"delete-tooltip\"\n                >\n                  <Button\n                    type=\"link\"\n                    color=\"error\"\n                    text={translate('cancel-mandate')}\n                    onClick={() => openCancelModal(mandate.operationPermissionCode!, mandate.permissionCode!)}\n                    testId={`cancel-mandate-explicit-${testId}`}\n                    disabled={!canBeDeleted}\n                  />\n                </LegacyTooltip>\n              )}\n            </div>\n          </>\n        )}\n\n        {/* VIEW if transferred from another person  */}\n        {parent && !childMandates && (\n          <>\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERRED FROM */}\n              <div className=\"full-row\">\n                <span>{translate('transferredFrom')}: </span>\n                <span className=\"bold\" data-testid=\"entity-name\">\n                  {parent.entity.name}\n                </span>\n              </div>\n            </div>\n\n            <Separator className=\"light\" />\n\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERABLE */}\n              <div>\n                <span>{translate('transferable')}: </span>\n                <span className=\"bold\" data-testid=\"transferable\">\n                  {isTransferable ? translate('yes') : translate('no')}\n                </span>\n              </div>\n\n              {/* TRANSFER ACTION BUTTON */}\n              {isTransferable && (\n                <LegacyTooltip\n                  tooltipContent={translate('transfer-tooltip')}\n                  hidden={isTemplateValid}\n                  position=\"right\"\n                  testId=\"transfer-tooltip\"\n                >\n                  <Button\n                    type=\"link\"\n                    text={translate('transfer-mandate')}\n                    onClick={() => navToMandateTransfer(entityID, mandate.operationPermissionCode!)}\n                    testId={`transfer-mandate-button-${testId}`}\n                  />\n                </LegacyTooltip>\n              )}\n            </div>\n\n            <Separator className=\"light\" />\n\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFER VALIDITY */}\n              <div>\n                <span>{translate('validity')}: </span>\n                <span className=\"bold\" data-testid=\"validity\">\n                  {translate('from')} {DateUtils.dateFormatCz(parent.mandate?.validFrom)} {translate('to')}{' '}\n                  {parent.mandate?.validTo\n                    ? DateUtils.dateFormatCz(parent.mandate.validTo)\n                    : translate('unlimitedValidTo')}\n                </span>\n              </div>\n\n              {/* END MANDATE MODAL */}\n              {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                <LegacyTooltip\n                  tooltipContent={translate('delete-tooltip')}\n                  hidden={canBeDeleted}\n                  position=\"right\"\n                  testId=\"delete-tooltip\"\n                >\n                  <Button\n                    type=\"link\"\n                    color=\"error\"\n                    text={translate('end-transfer')}\n                    onClick={() => openCancelModal(mandate.operationPermissionCode!, mandate.permissionCode!)}\n                    testId={`end-transfer-mandate-explicit-${testId}`}\n                    disabled={!canBeDeleted}\n                  />\n                </LegacyTooltip>\n              )}\n            </div>\n          </>\n        )}\n\n        {/* VIEW if transferred from another person originally and transferred to another person at the same time  */}\n        {parent && childMandates && (\n          <>\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERRED FROM */}\n              <div className=\"full-row\">\n                <span>{translate('transferredFrom')}: </span>\n                <span className=\"bold\" data-testid=\"entity-name\">\n                  {parent.entity.name}\n                </span>\n              </div>\n            </div>\n\n            <Separator className=\"light\" />\n\n            {/* TRANSFERRED TO other entities */}\n            {childMandates.map((child) => {\n              return (\n                <ObtainedMandateChild\n                  key={`child-${child.entityID}`}\n                  testId={`child-${child.entityID}`}\n                  childMandate={child.mandate}\n                  transferredToEntity={child.entity}\n                  entityID={child.entityID}\n                  translate={translate}\n                  navToGrantedMandate={navToGrantedMandate}\n                />\n              );\n            })}\n\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFERABLE */}\n              <div>\n                <span>{translate('transferable')}: </span>\n                <span className=\"bold\" data-testid=\"transferable\">\n                  {isTransferable ? translate('yes') : translate('no')}\n                </span>\n              </div>\n\n              {/* TRANSFER ACTION BUTTON */}\n              {isTransferable && (\n                <LegacyTooltip\n                  tooltipContent={translate('transfer-tooltip')}\n                  hidden={isTemplateValid}\n                  position=\"right\"\n                  testId=\"transfer-tooltip\"\n                >\n                  <Button\n                    type=\"link\"\n                    text={translate('transfer-mandate')}\n                    onClick={() => navToMandateTransfer(entityID, mandate.operationPermissionCode!)}\n                    testId={`transfer-obtained-mandate-${testId}`}\n                  />\n                </LegacyTooltip>\n              )}\n            </div>\n\n            <Separator className=\"light\" />\n            <div className=\"mandate-info-wrapper\">\n              {/* TRANSFER VALIDITY */}\n              <div>\n                <span>{translate('validity')}: </span>\n                <span className=\"bold\" data-testid=\"validity\">\n                  {translate('from')} {DateUtils.dateFormatCz(parent.mandate?.validFrom)} {translate('to')}{' '}\n                  {parent.mandate?.validTo\n                    ? DateUtils.dateFormatCz(parent.mandate.validTo)\n                    : translate('unlimitedValidTo')}\n                </span>\n              </div>\n\n              {/* END MANDATE MODAL */}\n              {mandate.mandateType === Domain_Contracts_Enums_Mandates_MandateType.EXPLICIT && (\n                <LegacyTooltip\n                  tooltipContent={translate('delete-tooltip')}\n                  hidden={canBeDeleted}\n                  position=\"right\"\n                  testId=\"delete-tooltip\"\n                >\n                  <Button\n                    type=\"link\"\n                    color=\"error\"\n                    text={translate('end-transfer')}\n                    onClick={() => openCancelModal(mandate.operationPermissionCode!, mandate.permissionCode!)}\n                    testId={`end-transfer-explicit-mandate-${testId}`}\n                    disabled={!canBeDeleted}\n                  />\n                </LegacyTooltip>\n              )}\n            </div>\n          </>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default ObtainedMandate;\n","import { observer } from 'mobx-react-lite';\nimport ObtainedMandateDetailViewModel from '../ObtainedMandateDetailViewModel';\nimport { Button, Dialog } from '@cendis/cedr-components';\n\ntype DeleteMandateModalProps = {\n  vm: ObtainedMandateDetailViewModel;\n};\n\nconst ObtainedMandateDeleteModal = observer(({ vm }: DeleteMandateModalProps) => {\n  const { translate } = vm;\n\n  return (\n    <Dialog\n      headline={translate('deleteModal.title')}\n      isVisible={vm.deleteModalVisible}\n      onClose={vm.closeDeleteModal}\n      testId=\"obtained-mandate-delete-dialog\"\n      bottomChildren={\n        <>\n          {/* CANCEL */}\n          <Button type=\"base\" onClick={vm.closeDeleteModal} testId=\"obtained-mandate-delete-dialog-cancel\">\n            {translate('deleteModal.cancel')}\n          </Button>\n\n          {/* CONFIRM */}\n          <Button\n            color=\"error\"\n            loading={vm.deleteBusyWatcher.isBusy}\n            onClick={() => {\n              vm.deleteMandate(vm.selectedPermissionCode);\n            }}\n            testId=\"obtained-mandate-delete-dialog-confirm\"\n          >\n            {translate('deleteModal.confirm')}\n          </Button>\n        </>\n      }\n    >\n      <p>{translate('deleteModal.info')}</p>\n    </Dialog>\n  );\n});\n\nexport default ObtainedMandateDeleteModal;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { Message, ScreenContext, Skeleton, Typography } from '@cendis/cedr-components';\nimport ObtainedMandateDetailViewModel from './ObtainedMandateDetailViewModel';\nimport ObtainedMandateEntityInfo from './components/ObtainedMandateEntityInfo';\nimport ObtainedMandate from './components/ObtainedMandate';\nimport ObtainedMandateDeleteModal from './components/ObtainedMandateDeleteModal';\nimport { MandateViewFaq } from '../MandateViewFaq';\nimport NoMandateFound from '../shared/components/NoMandateFound';\n\nconst ObtainedMandateDetailView: View<ObtainedMandateDetailViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    translateTable,\n    busyWatcher,\n    error,\n    obtainedMandateDetailService,\n    entityID,\n    mandatesService,\n    navToMandateTransfer,\n    translateFaq,\n  } = vm;\n  const { obtainedMandateDetail, isPdUsable, noMandateError } = obtainedMandateDetailService;\n\n  if (noMandateError && !busyWatcher.isBusy) return <NoMandateFound />;\n\n  return (\n    <Container className=\"obtained-mandate-detail-view\">\n      <ScreenContext value={vm}>\n        <div className=\"mw-900\">\n          {/* LOADING */}\n          {busyWatcher.isBusy ? (\n            <Skeleton height=\"200px\" className=\"mt-4\" />\n          ) : error ? (\n            <Message\n              message={error.message}\n              className=\"mt-4\"\n              icon=\"components/exclamation-triangle-fill\"\n              color={error.key}\n            />\n          ) : (\n            <>\n              <ObtainedMandateEntityInfo\n                detail={obtainedMandateDetail}\n                translate={translate}\n                mandatesService={mandatesService}\n                aifoIdOrIco={entityID}\n                isPdUsable={isPdUsable == true}\n              />\n\n              <Typography\n                size=\"s\"\n                type=\"body\"\n                color={{ color: 'neutral', saturation: 500 }}\n                className=\"mt-4 mb-3\"\n              >\n                {translate('obtained-mandates')}:\n              </Typography>\n\n              {obtainedMandateDetail?.mandates?.map((mandate, index) => {\n                return (\n                  <ObtainedMandate\n                    key={mandate.permissionCode}\n                    mandate={mandate}\n                    displayedPermissionCode={mandate.operationPermissionCode!}\n                    translate={translate}\n                    translateTable={translateTable}\n                    navToMandateTransfer={navToMandateTransfer}\n                    navToGrantedMandate={vm.navToGrantedMandate}\n                    openCancelModal={vm.openDeleteModal}\n                    entityID={entityID}\n                    document={mandate.document}\n                    downloadVehiclesListCSV={vm.downloadVehiclesListCsv}\n                    testId={`om-${index}`}\n                    canBeDeleted={vm.canBeDeleted(mandate)}\n                  />\n                );\n              })}\n            </>\n          )}\n\n          {/* FAQ */}\n          <MandateViewFaq translate={translateFaq} />\n\n          {/* DELETE MANDATE MODAL */}\n          <ObtainedMandateDeleteModal vm={vm} />\n        </div>\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default ObtainedMandateDetailView;\n","import { action, makeObservable, observable } from 'mobx';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\nimport { MandatesRedirectType } from 'src/enums/MandatesRedirectType';\nimport ObtainedMandateDetailView from './ObtainedMandateDetailView';\nimport MandatesService from 'src/services/MandatesService';\nimport MandateDelegationViewModel from '../mandateDelegation/MandateDelegationViewModel';\nimport GrantedMandateDetailViewModel from '../grantedMandateDetail/GrantedMandateDetailViewModel';\nimport ObtainedMandateDetailService from './ObtainedMandateDetailService';\nimport { MandatePersonType } from '../../../enums/MandatePersonType';\nimport ObtainedCompleteScreenViewModel from '../obtainedMandates/completeScreen/ObtainedCompleteScreenViewModel';\nimport ErrorPageViewModel from 'src/app/error/errorPage/ErrorPageViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport {\n  Domain_Contracts_Enums_Mandates_MandateType,\n  type Mandates_WebApi_Responses_AifoIdIdentificationResponse,\n  type Mandates_WebApi_Responses_EntityResponse,\n  type Mandates_WebApi_Responses_IdentificationNumberResponse,\n  type Mandates_WebApi_Responses_MandateDetailResponse,\n} from 'src/data/mandates/api';\nimport PdfUtils from 'src/utils/PdfUtils';\nimport AuthService from 'src/services/AuthService';\n\n@AddDefaultView(ObtainedMandateDetailView)\n@Service()\nexport default class ObtainedMandateDetailViewModel extends BaseScreen {\n  @observable entityID = '';\n  @observable selectedPermissionCode = '';\n  @observable mainPermissionCode = '';\n\n  @observable error: { key: 'error' | 'warning'; message: string } | undefined = undefined;\n  @observable deleteModalVisible = false;\n\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  deleteBusyWatcher = new BusyWatcher();\n  downloadVehiclesListCSVBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'obtained-mandate-/entityID/';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get personType(): MandatePersonType {\n    return this.entityID.length > 8 ? MandatePersonType.FO : MandatePersonType.PO;\n  }\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public mandatesService: MandatesService,\n    @Inject() public obtainedMandateDetailService: ObtainedMandateDetailService,\n    @Inject() private errorPageViewModel: ErrorPageViewModel,\n    @Inject() private errorService: ErrorService,\n    @Inject() private authService: AuthService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { entityID } = params;\n    this.entityID = entityID;\n  }\n\n  notifyNavigation() {\n    this.loadObtainedMandateDetail();\n  }\n\n  activate() {\n    const queryParams = new URLSearchParams(window.location.search);\n    this.obtainedMandateDetailService.queryPermissionCode = queryParams.get('permissionCode') ?? undefined;\n  }\n\n  deactivate() {\n    this.reset();\n  }\n\n  @Watch<ObtainedMandateDetailViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async loadObtainedMandateDetail() {\n    try {\n      // DATA FROM API\n      await this.obtainedMandateDetailService.getDetail(this.personType, this.entityID);\n    } catch (e: any) {\n      this.setErrors('error', this.translate('obtainedMandateNotFound'));\n\n      if (e.status === 403) {\n        this.errorService.logCatchError(\n          e,\n          'loadObtainedMandateDetail - mandates - ObtainedMandateDetailViewModel',\n          'loadObtainedMandateDetail - apiService.mandatesApi.management.getPdApiMandatesV1ManagementMandates, status 403'\n        );\n        this.errorPageViewModel.error = e;\n        this.navigator(ErrorPageViewModel).go();\n      } else if (e.status === 404) {\n        this.errorService.logCatchError(\n          e,\n          'loadObtainedMandateDetail - mandates - ObtainedMandateDetailViewModel',\n          'loadObtainedMandateDetail - apiService.mandatesApi.management.getPdApiMandatesV1ManagementMandates, status 404'\n        );\n      } else if (e.status !== 404) {\n        this.errorService.logCatchError(\n          e,\n          'loadObtainedMandateDetail - mandates - ObtainedMandateDetailViewModel',\n          'loadObtainedMandateDetail - apiService.mandatesApi.management.getPdApiMandatesV1ManagementMandates, other error'\n        );\n        throw e;\n      }\n    }\n  }\n\n  @action.bound\n  reset() {\n    this.deleteModalVisible = false;\n    this.error = undefined;\n    this.entityID = '';\n    this.selectedPermissionCode = '';\n    this.mainPermissionCode = '';\n    this.obtainedMandateDetailService.queryPermissionCode = undefined;\n  }\n\n  @Watch<ObtainedMandateDetailViewModel>((s) => s.deleteBusyWatcher)\n  @action.bound\n  async deleteMandate(permissionCode: string) {\n    try {\n      await this.apiService.mandatesApi.management.deletePdApiMandatesV1ManagementMandates(permissionCode);\n\n      this.navigator(ObtainedCompleteScreenViewModel, {\n        permissionCode: permissionCode,\n        isRedirectedTo: MandatesRedirectType.ENTITY,\n      }).go();\n    } catch (e) {\n      this.errorService.logCatchError(\n        e,\n        'deleteMandate - mandates - ObtainedMandateDetailViewModel',\n        'deleteMandate - apiService.mandatesApi.management.deletePdApiMandatesV1ManagementMandates'\n      );\n      this.closeDeleteModal();\n      throw e;\n    }\n  }\n\n  @action.bound\n  openDeleteModal(permissionCode: string, mainPermissionCode: string) {\n    this.selectedPermissionCode = permissionCode;\n    this.mainPermissionCode = mainPermissionCode;\n    this.deleteModalVisible = true;\n  }\n\n  @action.bound\n  closeDeleteModal() {\n    this.selectedPermissionCode = '';\n    this.mainPermissionCode = '';\n    this.deleteModalVisible = false;\n  }\n\n  @action.bound\n  setErrors(key: 'error' | 'warning', message: string) {\n    this.error = { key, message };\n  }\n\n  @action.bound\n  navToMandateTransfer(entityID: string, permissionCode: string) {\n    this.navigator(MandateDelegationViewModel, {\n      entityID: entityID,\n      permissionCode: permissionCode,\n    }).go();\n  }\n\n  @action.bound\n  navToGrantedMandate(entityID: string) {\n    this.navigator(GrantedMandateDetailViewModel, {\n      entityID: entityID,\n    }).go();\n  }\n\n  @action.bound\n  @Watch<ObtainedMandateDetailViewModel>((s) => s.downloadVehiclesListCSVBusyWatcher)\n  async downloadVehiclesListCsv(mandate: Mandates_WebApi_Responses_MandateDetailResponse) {\n    let aifoId, identificationNumber;\n\n    if (mandate.represented.identity.$type === 'FO') {\n      aifoId = (mandate.represented.identity as Mandates_WebApi_Responses_AifoIdIdentificationResponse)\n        .aifoId;\n    } else {\n      identificationNumber = (\n        mandate.represented.identity as Mandates_WebApi_Responses_IdentificationNumberResponse\n      ).identificationNumber;\n    }\n\n    try {\n      const response =\n        await this.apiService.mandatesApi.management.getPdApiMandatesV1ManagementObtainedMandatesDetailVehiclesCsv(\n          aifoId,\n          identificationNumber\n        );\n\n      PdfUtils.downloadBlob(\n        new Blob([response as unknown as string], {\n          type: 'text/csv; charset=utf-8',\n        }),\n        'vehicles list',\n        'csv'\n      );\n    } catch (error) {\n      this.errorService.logCatchError(\n        error,\n        'mandates - obtainedMandateDetail - ObtainedMandateDetailViewModel',\n        'downloadVehiclesListCsv - mandatesVehiclesService.getPdApiEgonV1MandatesVehiclesCsv'\n      );\n    }\n  }\n\n  @action.bound\n  canBeDeleted(mandate: Mandates_WebApi_Responses_MandateDetailResponse) {\n    // Mandate must not be implicit and current user must be either representing or represented entity of the mandate\n    const origin = mandate.parentMandate ?? mandate;\n    if (origin.mandateType === Domain_Contracts_Enums_Mandates_MandateType.IMPLICIT) {\n      return false;\n    }\n\n    // Parties of the mandate itself (e.g. příjemce of a postoupená mandate) or of its origin\n    return [mandate, origin].some(\n      (m) => this.isCurrentEntity(m.representing) || this.isCurrentEntity(m.represented)\n    );\n  }\n\n  @action.bound\n  private isCurrentEntity(input: Mandates_WebApi_Responses_EntityResponse) {\n    let aifoId, identificationNumber;\n\n    const auth = this.authService.getAuth();\n    if (input.identity.$type === 'FO') {\n      aifoId = (input.identity as Mandates_WebApi_Responses_AifoIdIdentificationResponse).aifoId;\n    } else {\n      identificationNumber = (input.identity as Mandates_WebApi_Responses_IdentificationNumberResponse)\n        .identificationNumber;\n    }\n\n    if (auth?.aifo_id === aifoId || auth?.ico === identificationNumber) {\n      return true;\n    }\n    return false;\n  }\n\n  translate = translate('entityDetail', this);\n  translateTable = translate('vehicleSelection', this);\n  translateFaq = translate('mandatesView', this);\n}\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Tile from '@components/gov4/layout/Tile';\nimport { observer } from 'mobx-react-lite';\nimport { MouseEventHandler, useMemo } from 'react';\nimport { MandatesWebApiResponsesObtainedPersonMandateResponse } from 'src/api-data/mandates/apiV2';\nimport { Chip } from '@cendis/cedr-components';\nimport './ObtainedMandatesEntityOverView.scss';\nimport LabelValueFlexBox from '@components/gov4/layout/LabelValueFlexBox';\nimport ChipsArray from '@components/gov4/layout/ChipsArray';\nimport TagsArray from '@components/gov4/layout/TagsArray';\n\nexport type EntityOverviewDisplayedValues = {\n  displayedValues: {\n    name: string;\n    type: string;\n    icoOrBirthDate: string;\n    address: string;\n    documentTypeNumber: string;\n  };\n};\n\nexport type EntityOverviewData = MandatesWebApiResponsesObtainedPersonMandateResponse &\n  EntityOverviewDisplayedValues;\n\ntype EntityOverviewProps = {\n  entity: EntityOverviewData;\n  onClick?: MouseEventHandler;\n  translate: Translator;\n  className?: string;\n};\n\nconst ObtainedMandatesEntityOverView = observer(\n  ({ entity, onClick, translate, className }: EntityOverviewProps) => {\n    const isPO = 'identificationNumber' in entity.identity;\n    const birthDateOrIcoLabel = isPO ? translate('ico') : translate('birthDate');\n    const addressLabel = isPO ? translate('PO-address') : translate('address');\n\n    const testId = useMemo(() => {\n      if ('identificationNumber' in entity.identity) return String(entity.identity.identificationNumber);\n      if ('aifoId' in entity.identity) return entity.identity.aifoId;\n      return entity.displayedValues.name;\n    }, [entity]);\n\n    return (\n      <Tile\n        title={entity.displayedValues.name}\n        onClick={onClick}\n        additionalText={translate('detail')}\n        testId={testId}\n      >\n        <LabelValueFlexBox\n          data={\n            isPO\n              ? [\n                  {\n                    label: birthDateOrIcoLabel,\n                    value: entity.displayedValues.icoOrBirthDate,\n                  },\n                ]\n              : [\n                  {\n                    label: translate('entityType'),\n                    value: entity.displayedValues.documentTypeNumber,\n                  },\n                  {\n                    label: birthDateOrIcoLabel,\n                    value: entity.displayedValues.icoOrBirthDate,\n                  },\n                  {\n                    label: addressLabel,\n                    value: entity.displayedValues.address,\n                  },\n                ]\n          }\n        />\n\n        <TagsArray\n          className=\"mt-3\"\n          label={translate('chipLabelText')}\n          tagValues={entity.templates.map((template) => {\n            return {\n              key: template.code,\n              value: template.name,\n            };\n          })}\n        />\n      </Tile>\n    );\n  }\n);\n\nexport default ObtainedMandatesEntityOverView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type RepresentedEntitiesViewModel from './ObtainedMandatesViewModel';\nimport Container from '@components/gov4/layout/Container';\nimport {\n  Accordion,\n  AccordionItem,\n  Button,\n  Dialog,\n  Empty,\n  Message,\n  MultiSelectList,\n  Pagination,\n  Radio,\n  ScreenContext,\n  Search,\n  Skeleton,\n  Typography,\n} from '@cendis/cedr-components';\nimport './ObtainedMandatesView.scss';\nimport ObtainedMandatesEntityOverView from './components/ObtainedMandatesEntityOverView';\nimport { useRef } from 'react';\nimport { TypeUtils } from '../../../utils/TypeUtils';\n\nconst ObtainedMandatesView: View<RepresentedEntitiesViewModel> = observer(({ vm }) => {\n  const { translate, model, busyWatcher, entities, mandatesLimited } = vm;\n\n  const containerRef = useRef<HTMLDivElement>(null);\n\n  const handlePageChange = (pageIndex: number) => {\n    vm.setPage(pageIndex);\n    // 0 timeout used to prevent rendering issues when Pagination arrow button clicked\n    setTimeout(() => {\n      containerRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }, 0);\n  };\n\n  return (\n    <Container className=\"represented-entities-view\">\n      <ScreenContext value={vm}>\n        <div className=\"mw-900\">\n          {/* TITLE */}\n          <Typography type=\"headline\" component={'h1'} fontWeight={300} className=\"driverng-title mt-4\">\n            {translate('title')}\n          </Typography>\n\n          <Typography color={{ color: 'neutral', saturation: 500 }} className=\"mb-4\">\n            {translate('more-info-text')}\n          </Typography>\n\n          {/* NOT ALL MANDATES COULD BE LISTED */}\n          {!busyWatcher.isBusy && mandatesLimited && (\n            <Message\n              color=\"warning\"\n              icon=\"components/lightbulb-fill\"\n              className=\"mb-4\"\n              id=\"obtained-mandates-limited\"\n            >\n              <strong>{translate('limited-warning')}</strong> {translate('limited-warning-detail')}\n            </Message>\n          )}\n\n          <div className=\"represented-entities-list\" ref={containerRef}>\n            <div className=\"mb-4 px-4\">\n              {/* INPUT and BUTTONS */}\n              <div className=\"d-flex align-items-center flex-row flex-wrap gap-4\">\n                {/* SEARCH */}\n                <Search\n                  target={model}\n                  property={'search'}\n                  className=\"flex-grow-1\"\n                  buttonText={translate('search')}\n                  placeholder={'input-search-term'}\n                  autoComplete=\"off\"\n                  onButtonClick={vm.confirmSearchTerm}\n                  onEnterPress={vm.confirmSearchTerm}\n                  cancelButtonProps={\n                    model.search.length > 0\n                      ? {\n                          onClick: vm.cancelSearchTerm,\n                          testId: 'cancel-search-term',\n                        }\n                      : undefined\n                  }\n                />\n\n                {/* SORT */}\n                <Button\n                  text={translate('sort.title')}\n                  type=\"outlined\"\n                  onClick={vm.openSortModal}\n                  testId=\"open-sort-modal\"\n                />\n              </div>\n\n              {/* SELECTED SEARCH TERMS */}\n              {model.searchTerms.length > 0 && (\n                <MultiSelectList target={model} property={'searchTerms'} className=\"mt-4\" />\n              )}\n\n              {/* LOADING */}\n              {busyWatcher.isBusy && <Skeleton height=\"200px\" className=\"mt-4\" />}\n\n              {/* EMPTY LIST */}\n              {!busyWatcher.isBusy && entities.length === 0 && (\n                <Empty\n                  className=\"mt-4\"\n                  size=\"l\"\n                  icon=\"colored/empty-file\"\n                  title={translate('nothing-found')}\n                  subtitle={translate('no-entity-match')}\n                />\n              )}\n            </div>\n\n            <div>\n              {/* ENTITIES LIST */}\n              {!busyWatcher.isBusy &&\n                entities.length > 0 &&\n                entities.map((entity) => {\n                  const key = TypeUtils.isPOIdentity(entity.identity)\n                    ? entity.identity.identificationNumber\n                    : TypeUtils.isFOIdentity(entity.identity)\n                      ? entity.identity.aifoId\n                      : 'unknown';\n\n                  return (\n                    <ObtainedMandatesEntityOverView\n                      key={`mandate-overview-${key}`}\n                      entity={entity}\n                      translate={translate}\n                      onClick={() => vm.handleEntityClick(entity)}\n                    />\n                  );\n                })}\n            </div>\n\n            {/* PAGINATION */}\n            {vm.lastPageIndex > 0 && (\n              <Pagination\n                className=\"mt-4 px-4\"\n                currentPageIndex={vm.currentPageIndex}\n                lastPageIndex={vm.lastPageIndex}\n                setPage={handlePageChange}\n                loading={busyWatcher.isBusy}\n              />\n            )}\n          </div>\n\n          {/* SORT MODAL */}\n          <Dialog\n            headline={translate('sort.title')}\n            isVisible={vm.sortModalVisible}\n            onClose={vm.closeAndCancelSortModal}\n            testId=\"sort-modal\"\n          >\n            {/* RADIO OPTIONS */}\n            <Radio\n              target={vm.sortModel}\n              property={'sortingOrder'}\n              options={vm.sortingOptions}\n              className=\"mb-4\"\n              gapSize=\"s\"\n            />\n\n            {/* SORT MODAL BUTTONS */}\n            <div className=\"d-flex flex-row gap-4\">\n              <Button\n                color=\"error\"\n                type=\"outlined\"\n                onClick={vm.closeAndCancelSortModal}\n                testId=\"close-sort-modal\"\n              >\n                {translate('cancel')}\n              </Button>\n\n              {/* CONFIRM SORT */}\n              <Button onClick={vm.closeAndConfirmSortModal} testId=\"close-confirm-modal\">\n                {translate('sort.title')}\n              </Button>\n            </div>\n          </Dialog>\n\n          {/* BOTTOM ACCORDION */}\n          <Typography type=\"headline\" component={'h2'} size=\"l\" fontWeight={300} className=\"mt-5 mb-4\">\n            {translate('faq.title')}\n          </Typography>\n\n          <Accordion noBorder size=\"l\">\n            <AccordionItem header={translate('faq.header1')} id=\"header1\" size=\"l\">\n              <p>{translate('faq.text1-1')}</p>\n              <p>{translate('faq.text1-2')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header2')} id=\"header2\" size=\"l\">\n              <p>{translate('faq.text2-1')}</p>\n              <p>{translate('faq.text2-2')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header3')} id=\"header3\" size=\"l\">\n              <p>{translate('faq.text3')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header4')} id=\"header4\" size=\"l\">\n              <p>{translate('faq.text4')}</p>\n            </AccordionItem>\n            <AccordionItem header={translate('faq.header5')} id=\"header5\" size=\"l\">\n              <p>{translate('faq.text5-1')}</p>\n              <p>{translate('faq.text5-2')}</p>\n            </AccordionItem>\n          </Accordion>\n        </div>\n      </ScreenContext>\n    </Container>\n  );\n});\n\nexport default ObtainedMandatesView;\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\nexport enum EntitiesSortOptions {\n  DEFAULT = 'default',\n  NAME_ASCENDING = 'name_ascending',\n  NAME_DESCENDING = 'name_descending',\n}\n\nexport interface IEntitiesSort {\n  sortingOrder: EntitiesSortOptions;\n}\n\n@AddTranslationKey('your-key')\nexport default class ObtainedMandatesSortEntitiesModel implements IEntitiesSort {\n  @observable sortingOrder: EntitiesSortOptions = EntitiesSortOptions.DEFAULT;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { EntitiesSortOptions, IEntitiesSort } from './ObtainedMandatesSortEntitiesModel';\n\nexport enum EntitiesFilter {\n  ALL = 'ALL',\n  FO = 'FO',\n  PO = 'PO',\n}\n\n@AddTranslationKey('represented-entities')\nexport default class ObtainedMandatesRepresentedEntitiesModel implements IEntitiesSort {\n  // search input controls\n  @observable search = '';\n  @observable searchTerms: Array<string> = [];\n  // chip select\n  @observable entitiesFilter: EntitiesFilter = EntitiesFilter.ALL;\n  // sorting\n  @observable sortingOrder: EntitiesSortOptions = EntitiesSortOptions.DEFAULT;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ObtainedMandatesView from './ObtainedMandatesView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ObtainedMandatesRepresentedEntitiesModel, {\n  EntitiesFilter,\n} from './models/ObtainedMandatesRepresentedEntitiesModel';\nimport ObtainedMandatesSortEntitiesModel, {\n  EntitiesSortOptions,\n} from './models/ObtainedMandatesSortEntitiesModel';\nimport { RadioOption } from '@cendis/cedr-components';\nimport {\n  DomainContractsEnumsMandatesMandatesStatus,\n  type MandatesWebApiResponsesObtainedPersonMandateResponse,\n  type MandatesWebApiResponsesV2ObtainedPersonMandatesResponse,\n} from 'src/api-data/mandates/apiV2';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from 'src/services/ApiService';\nimport type { EntityOverviewData } from './components/ObtainedMandatesEntityOverView';\nimport SearchUtils from 'src/utils/SearchUtils';\nimport SortUtils, { SortOrder, SortType } from 'src/utils/SortUtils';\nimport DateUtils from 'src/utils/DateUtils';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ObtainedMandateDetailViewModel from '../obtainedMandateDetail/ObtainedMandateDetailViewModel';\nimport MandateDelegationViewModel from '../mandateDelegation/MandateDelegationViewModel';\nimport ObtainedCompleteScreenViewModel from './completeScreen/ObtainedCompleteScreenViewModel';\nimport ObtainedMandateDetailService from '../obtainedMandateDetail/ObtainedMandateDetailService';\nimport { TypeUtils } from '../../../utils/TypeUtils';\n\n@AddDefaultView(ObtainedMandatesView)\n@AddChildrenView()\n@Service()\nexport default class ObtainedMandatesViewModel extends BaseScreen {\n  private pageSize = 10;\n  validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n\n  model = new ObtainedMandatesRepresentedEntitiesModel();\n  sortModel = new ObtainedMandatesSortEntitiesModel();\n\n  @observable currentPageIndex = 0;\n  @observable entitiesResponse: MandatesWebApiResponsesV2ObtainedPersonMandatesResponse = {\n    mandates: [],\n    status: DomainContractsEnumsMandatesMandatesStatus.COMPLETE,\n  };\n  @observable sortModalVisible = false;\n\n  get pathNode(): string {\n    return 'obtained-mandates';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed\n  get entitiesOverviewData(): EntityOverviewData[] {\n    return this.assignDisplayedValues(this.entitiesResponse.mandates);\n  }\n\n  // REZA passes at most 1000 mandates, so the list above that limit is incomplete\n  @computed\n  get mandatesLimited() {\n    return this.entitiesResponse.status === DomainContractsEnumsMandatesMandatesStatus.LIMITED;\n  }\n\n  @computed\n  get filteredEntities() {\n    switch (this.model.entitiesFilter) {\n      case EntitiesFilter.FO:\n        return this.entitiesOverviewData.filter((entity) => 'aifoId' in entity.identity);\n      case EntitiesFilter.PO:\n        return this.entitiesOverviewData.filter((entity) => 'identificationNumber' in entity.identity);\n      default:\n        return this.entitiesOverviewData;\n    }\n  }\n\n  @computed\n  get filteredSortedEntities() {\n    switch (this.model.sortingOrder) {\n      case EntitiesSortOptions.NAME_ASCENDING:\n        return SortUtils.sort(\n          this.filteredEntities,\n          (x) => x.displayedValues.name,\n          SortUtils[SortType.STRING],\n          SortOrder.ASCENDING\n        );\n      case EntitiesSortOptions.NAME_DESCENDING:\n        return SortUtils.sort(\n          this.filteredEntities,\n          (x) => x.displayedValues.name,\n          SortUtils[SortType.STRING],\n          SortOrder.DESCENDING\n        );\n      case EntitiesSortOptions.DEFAULT:\n      default:\n        return [...this.filteredEntities];\n    }\n  }\n\n  @computed\n  get filteredSortedSearchedEntities() {\n    return SearchUtils.search(this.model.searchTerms, this.filteredSortedEntities, {\n      // only search through displayed values\n      selector: (item) => item.displayedValues,\n      recursive: true,\n    });\n  }\n\n  @computed\n  get paginatedEntities() {\n    if (this.filteredSortedSearchedEntities.length <= this.pageSize) {\n      return this.filteredSortedSearchedEntities;\n    }\n\n    return this.filteredSortedSearchedEntities.slice(\n      this.currentPageIndex * this.pageSize,\n      (this.currentPageIndex + 1) * this.pageSize\n    );\n  }\n\n  @computed\n  get entities() {\n    return this.paginatedEntities;\n  }\n\n  @computed\n  get lastPageIndex() {\n    return Math.ceil(this.filteredSortedSearchedEntities.length / this.pageSize) - 1;\n  }\n\n  @computed\n  get sortingOptions(): RadioOption[] {\n    const options: RadioOption[] = [];\n\n    Object.values(EntitiesSortOptions).forEach((option) => {\n      options.push({\n        id: option,\n        label: this.translate(`sort.${option}`),\n      });\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public obtainedMandateDetailViewModel: ObtainedMandateDetailViewModel,\n    @Inject() public mandateDelegationViewModel: MandateDelegationViewModel,\n    @Inject() private obtainedMandateDetailService: ObtainedMandateDetailService,\n    @Inject() public obtainedCompleteScreenViewModel: ObtainedCompleteScreenViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(obtainedMandateDetailViewModel);\n    this.children.push(mandateDelegationViewModel);\n    this.children.push(obtainedCompleteScreenViewModel);\n\n    reaction(\n      () => this.filteredSortedSearchedEntities,\n      () => runInAction(() => (this.currentPageIndex = 0))\n    );\n  }\n\n  notifyNavigation() {\n    this.obtainedMandateDetailService.reset();\n\n    this.loadEntities();\n  }\n\n  deactivate() {\n    this.reset();\n  }\n\n  @action.bound\n  reset() {\n    this.model = new ObtainedMandatesRepresentedEntitiesModel();\n    this.sortModel = new ObtainedMandatesSortEntitiesModel();\n\n    this.currentPageIndex = 0;\n    this.entitiesResponse = {\n      mandates: [],\n      status: DomainContractsEnumsMandatesMandatesStatus.COMPLETE,\n    };\n    this.sortModalVisible = false;\n  }\n\n  @action.bound\n  handleEntityClick(entity: EntityOverviewData) {\n    if (TypeUtils.isFOIdentity(entity.identity)) {\n      this.navDetail(entity.identity.aifoId, undefined);\n    } else if (TypeUtils.isPOIdentity(entity.identity)) {\n      this.navDetail(undefined, entity.identity.identificationNumber);\n    }\n    setTimeout(() => {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth',\n      });\n    }, 0);\n  }\n\n  @Watch<ObtainedMandatesViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async loadEntities() {\n    const response =\n      await this.apiService.OAMandatesApiV2.management.pdApiMandatesV2ManagementObtainedPersonMandatesGet();\n\n    runInAction(() => {\n      this.entitiesResponse = response;\n    });\n  }\n\n  private assignDisplayedValues(\n    entities: MandatesWebApiResponsesObtainedPersonMandateResponse[]\n  ): EntityOverviewData[] {\n    const entitiesWithDisplayedData = entities.map((entity, order) => {\n      return {\n        ...entity,\n        displayedValues: {\n          name: entity.name,\n          type:\n            'identificationNumber' in entity.identity ? this.translate('PO-type') : this.translate('FO-type'),\n          icoOrBirthDate:\n            'identificationNumber' in entity.identity\n              ? String(entity.identity.identificationNumber)\n              : DateUtils.dateFormatCz(entity.birthDate),\n          address: entity.address,\n          templates: entity.templates.map((template) => template.name),\n          documentTypeNumber: entity.document?.number\n            ? `${entity.document?.type} ${entity.document?.number}`\n            : '-',\n        },\n      };\n    });\n\n    return entitiesWithDisplayedData;\n  }\n\n  @action.bound\n  cancelSearchTerm() {\n    this.model.search = '';\n  }\n\n  @action.bound\n  confirmSearchTerm() {\n    const searchTerm = this.model.search.trim();\n\n    if (searchTerm.length === 0) return;\n\n    this.model.search = '';\n    this.model.searchTerms = [...this.model.searchTerms, searchTerm];\n  }\n\n  @action.bound\n  setPage(pageIndex: number) {\n    this.currentPageIndex = pageIndex;\n  }\n\n  @action.bound\n  openSortModal() {\n    this.sortModalVisible = true;\n  }\n\n  @action.bound\n  closeAndCancelSortModal() {\n    this.sortModalVisible = false;\n    // reset modal values to values before user closed the modal\n    this.cancelSortModal();\n  }\n\n  @action.bound\n  closeAndConfirmSortModal() {\n    this.sortModalVisible = false;\n    this.confirmSortModal();\n  }\n\n  @action.bound\n  cancelSortModal() {\n    this.sortModel.sortingOrder = this.model.sortingOrder;\n  }\n\n  @action.bound\n  confirmSortModal() {\n    this.model.sortingOrder = this.sortModel.sortingOrder;\n  }\n\n  @action.bound\n  navDetail(aifoId: string | undefined, identificationNumber: string | undefined) {\n    if (!aifoId && !identificationNumber) return;\n    const entityID = aifoId || identificationNumber;\n\n    if (entityID) {\n      this.navigator(ObtainedMandateDetailViewModel, {\n        entityID: entityID,\n      }).go();\n    }\n  }\n\n  translate = translate('obtainedMandates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '@components/gov4/layout/Container';\nimport { ScreenContext } from '@cendis/cedr-components';\nimport CompleteScreen from '@components/gov4/completeScreen/CompleteScreen';\nimport ObtainedCompleteScreenViewModel from './ObtainedCompleteScreenViewModel';\nimport CompleteFaq from '../../completeScreen/components/CompleteFaq';\nimport { MandatesRedirectType } from 'src/enums/MandatesRedirectType';\n\nconst ObtainedCompleteScreenView: View<ObtainedCompleteScreenViewModel> = observer(({ vm }) => {\n  const { translate, translateDelegateSuccess, isRedirectedTo } = vm;\n\n  if (isRedirectedTo === MandatesRedirectType.DELEGATE) {\n    return (\n      <Container className=\"represented-entities-view\">\n        <ScreenContext value={vm}>\n          <CompleteScreen\n            mandateId={vm.permissionCode}\n            onClick={vm.navToMandatesList}\n            title={translateDelegateSuccess('title')}\n            subtitle={translateDelegateSuccess('info')}\n            mandateText={translateDelegateSuccess('mandateId')}\n            buttonText={translateDelegateSuccess('btnText')}\n            govIcon=\"complex/queue\"\n            variant=\"success\"\n          />\n          <CompleteFaq translate={translate} onNavigateToNotification={vm.navToMandatesList} />\n        </ScreenContext>\n      </Container>\n    );\n  } else if (isRedirectedTo === MandatesRedirectType.ENTITY) {\n    return (\n      <Container className=\"represented-entities-view\">\n        <ScreenContext value={vm}>\n          <CompleteScreen\n            mandateId={vm.permissionCode}\n            onClick={vm.navToObtainedMandates}\n            title={translate('refusedScreen.title')}\n            subtitle={translate('refusedScreen.info')}\n            mandateText={translate('refusedScreen.mandateId')}\n            buttonText={translate('refusedScreen.btnText')}\n            govIcon=\"complex/queue\"\n            variant=\"warning\"\n          />\n          <CompleteFaq translate={translate} onNavigateToNotification={vm.navToNotification} />\n        </ScreenContext>\n      </Container>\n    );\n  } else {\n    return null;\n  }\n});\n\nexport default ObtainedCompleteScreenView;\n","import { action, makeObservable } from 'mobx';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\n//import ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from 'src/services/ApiService';\nimport ObtainedCompleteScreenView from './ObtainedCompleteScreenView';\nimport { MandatesRedirectType } from 'src/enums/MandatesRedirectType';\nimport NotificationViewModel from '../../../notificationAndContact/NotificationViewModel';\n\n@AddDefaultView(ObtainedCompleteScreenView)\n@Service()\nexport default class ObtainedCompleteScreenViewModel extends BaseScreen {\n  //validation = new ValidationContext();\n  busyWatcher = new BusyWatcher();\n  isRedirectedTo: MandatesRedirectType | undefined = undefined;\n  permissionCode: string = '';\n\n  get pathNode(): string {\n    return '/isRedirectedTo/-complete-/permissionCode/';\n  }\n\n  get title(): string {\n    if (this.isRedirectedTo === MandatesRedirectType.DELEGATE) {\n      return this.translate('delegateMandateSuccess.metaTitle');\n    } else if (this.isRedirectedTo === MandatesRedirectType.ENTITY) {\n      document.title = this.translate('cancel-mandate-title');\n      return this.translate('cancel-mandate-title');\n    } else {\n      return this.translate('delegateMandateSuccess.metaTitle');\n    }\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { permissionCode, isRedirectedTo } = params;\n\n    this.permissionCode = permissionCode;\n    if (isRedirectedTo && this.isValidMandatesRedirectType(isRedirectedTo)) {\n      this.isRedirectedTo = isRedirectedTo;\n    } else {\n      this.isRedirectedTo = undefined;\n    }\n  }\n\n  private isValidMandatesRedirectType(value: string): value is MandatesRedirectType {\n    return Object.values(MandatesRedirectType).includes(value as MandatesRedirectType);\n  }\n\n  deactivate() {\n    this.reset();\n  }\n  activate() {\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  }\n\n  @action.bound\n  reset() {\n    this.permissionCode = '';\n    this.isRedirectedTo = undefined;\n  }\n\n  @action.bound\n  navToMandatesList() {\n    this.navigator('../../granted-mandates').go();\n  }\n\n  @action.bound\n  navToObtainedMandates() {\n    this.navigator('..').go();\n  }\n  @action.bound\n  navToNotification() {\n    this.navigator(NotificationViewModel).go();\n  }\n\n  translate = translate('entityDetail', this);\n  translateDelegateSuccess = translate('entityDetail.delegateMandateSuccess', this);\n}\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport './NoMandateFound.scss';\nimport useTranslate from '@cendis/cedr-framework/dist/hooks/useTranslate';\nimport useNavigate from '@cendis/cedr-framework/dist/hooks/useNavigate';\nimport { Button, Typography } from '@cendis/cedr-components';\nimport HomeViewModel from 'src/app/home/HomeViewModel';\nimport IconWithGradientBackground from '@components/gov4/icons/IconWithGradientBackground';\n\ntype NoMandateFoundProps = {\n  className?: string;\n};\n\nconst NoMandateFound = observer(({ className }: NoMandateFoundProps) => {\n  const translate = useTranslate('shared');\n  const mandatesTranslate = useTranslate('mandates');\n  const navigate = useNavigate();\n  return (\n    <div className={getClassName('no-mandate-found', 'css-reset', className)}>\n      {/* DESKTOP ICON SIZE*/}\n      <IconWithGradientBackground\n        iconName=\"colored/empty-file\"\n        className=\"empty-icon d-xs-none d-sm-flex\"\n        iconSize={48}\n        backgroundSize={96}\n      />\n\n      {/* MOBILE ICON SIZE*/}\n      <IconWithGradientBackground\n        iconName=\"colored/empty-file\"\n        className=\"empty-icon d-xs-flex d-sm-none\"\n        iconSize={40}\n        backgroundSize={80}\n      />\n\n      <Typography type=\"headline\" size=\"xl\" component={'h1'} className=\"title\">\n        {mandatesTranslate('cannot-show-detail')}\n      </Typography>\n\n      <Typography type=\"headline\" size=\"l\" component={'h2'} className=\"subtitle\">\n        {translate('what-happened')}\n      </Typography>\n      <Typography className=\"description\">{mandatesTranslate('mandate-ended-or-not-started')}</Typography>\n\n      <Button onClick={() => navigate(HomeViewModel)} testId=\"no-mandate-found-back-home\">\n        {translate('back-to-homepage')}\n      </Button>\n    </div>\n  );\n});\n\nexport default NoMandateFound;\n","import { observer } from 'mobx-react-lite';\nimport RepresentativeIdentificationService from '../services/RepresentativeIdentificationService';\nimport { Input, Message, Radio, ScreenContext, Search, Select, WizardItem } from '@cendis/cedr-components';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport { runInAction } from 'mobx';\n\ntype RepresentativeIdentificationWizardStepProps = {\n  representativeIdentificationService: RepresentativeIdentificationService;\n};\n\nconst RepresentativeIdentificationWizardStep = observer(\n  ({ representativeIdentificationService }: RepresentativeIdentificationWizardStepProps) => {\n    const {\n      model,\n      translate,\n      step,\n      disableNextStep,\n      onBeforeNextStep,\n      personTypeOptions,\n      documentTypeOptions,\n      resetOptionPo,\n      resetOptionFo,\n      error,\n      searchPo,\n      searchBusyWatcher,\n      clearSearchPo,\n      identifiedCompanyName,\n    } = representativeIdentificationService;\n\n    return (\n      <ScreenContext value={representativeIdentificationService}>\n        <WizardItem\n          label={translate('item3.header')}\n          step={step}\n          controlledButtonText={translate(model.representativePersonType === MandatePersonType.FO ? 'button' : 'button-continue')}\n          onBeforeNextStep={onBeforeNextStep}\n          disableNextStep={disableNextStep}\n        >\n          <p className=\"mt-4 mb-4\">{translate('item3.text')}</p>\n\n          <Radio\n            options={personTypeOptions}\n            target={model}\n            property={'representativePersonType'}\n            orientation=\"horizontal\"\n            onChange={model.representativePersonType === MandatePersonType.FO ? resetOptionPo : resetOptionFo}\n            gapSize=\"m\"\n          />\n\n          {model.representativePersonType === MandatePersonType.FO && (\n            <div className=\"mw-330\">\n              <Input\n                target={model}\n                property={'firstName'}\n                label={translate('first-name')}\n                placeholder=\"item3.input-label-1\"\n                required\n                className=\"mt-4\"\n                onBlur={() => {\n                  runInAction(() => {\n                    if (model.firstName) {\n                      model.firstName = model.firstName.trim();\n                    }\n                  });\n                }}\n              />\n              <Input\n                target={model}\n                property={'lastName'}\n                label={translate('last-name')}\n                placeholder=\"item3.input-label-2\"\n                required\n                className=\"mt-4\"\n                onBlur={() => {\n                  runInAction(() => {\n                    if (model.lastName) {\n                      model.lastName = model.lastName.trim();\n                    }\n                  });\n                }}\n              />\n              <Select\n                target={model}\n                property={'documentType'}\n                options={documentTypeOptions}\n                required\n                className=\"mw-330 mt-4\"\n                label={translate('type')}\n                defaultOptionMessage={translate('item3.input-label-3')}\n              />\n              <Input\n                target={model}\n                property={'documentNumber'}\n                label={translate('number')}\n                placeholder=\"item3.input-label-4\"\n                required\n                className=\"mt-4\"\n                onBlur={() => {\n                  runInAction(() => {\n                    if (model.documentNumber) {\n                      model.documentNumber = model.documentNumber.trim();\n                    }\n                  });\n                }}\n              />\n            </div>\n          )}\n\n          {model.representativePersonType === MandatePersonType.PO && (\n            <>\n              <Search\n                className=\"mt-4 mw-330\"\n                property={'identificationNumber'}\n                target={model}\n                buttonText={translate('button-find')}\n                placeholder=\"item3.ico-label\"\n                onButtonClick={searchPo}\n                onEnterPress={searchPo}\n                loading={searchBusyWatcher.isBusy}\n                disabled={searchBusyWatcher.isBusy}\n                required={true}\n                hideLabel={true}\n                cancelButtonProps={\n                  model.identificationNumber.length > 0\n                    ? {\n                        onClick: clearSearchPo,\n                        testId: 'mandate-person-search',\n                      }\n                    : undefined\n                }\n              />\n\n              {identifiedCompanyName && (\n                <p className=\"mt-4\">\n                  {translate('mandateNameFoundText1')} <strong className=\"fw-bold\">{identifiedCompanyName}.</strong>{' '}\n                  {translate('mandateNameFoundText2')}\n                </p>\n              )}\n            </>\n          )}\n\n          {error && <Message message={error} className=\"mt-4\" icon=\"components/exclamation-triangle-fill\" color={'error'} />}\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default RepresentativeIdentificationWizardStep;\n","import { ScreenContext, Skeleton, WizardItem } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport RepresentedEntityService from '../services/RepresentedEntityService';\nimport Table from '@components/gov4/layout/Table';\n\ntype RepresentedEntityWizardStepProps = {\n  representedEntityService: RepresentedEntityService;\n};\n\nconst RepresentedEntityWizardStep = observer(\n  ({ representedEntityService }: RepresentedEntityWizardStepProps) => {\n    const { translate, step, disableNextStep, busyWatcher, userTableData } = representedEntityService;\n\n    return (\n      <ScreenContext value={representedEntityService}>\n        <WizardItem\n          onActiveStep={() => representedEntityService.startGuarding()}\n          label={translate('item2.header')}\n          step={step}\n          disableNextStep={disableNextStep}\n        >\n          <>\n            {busyWatcher.isBusy ? (\n              <Skeleton height=\"200px\" />\n            ) : (\n              <>\n                <p className=\"mb-3\">\n                  {translate('item2.text')}\n                  &nbsp;\n                  <a\n                    data-testid=\"represented-entity-link\"\n                    href=\"https://portalobcana.gov.cz/\"\n                    target=\"_blank\"\n                    className=\"fw-bold\"\n                  >\n                    {translate('item2.link')}\n                  </a>\n                  .\n                </p>\n                <Table data={userTableData} firstColumnMaxWidth={30} testId=\"user-data\" />\n              </>\n            )}\n          </>\n        </WizardItem>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default RepresentedEntityWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport VehicleSelectionService from '../services/VehicleSelectionService';\nimport { Button } from '@cendis/cedr-components';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport './VehiclePicker.scss';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\n\nexport type SelectedVehicleTableProps = {\n  vehicleSelectionService: VehicleSelectionService;\n  withActions?: boolean;\n};\n\nconst SelectedVehicleTable = observer(\n  ({ vehicleSelectionService, withActions }: SelectedVehicleTableProps) => {\n    const {\n      selectedVehicles,\n      removeVehicle,\n      clearSelectedVehicles,\n      translate,\n      selectedVehiclesTableContext,\n    } = vehicleSelectionService;\n\n    return (\n      <>\n        {selectedVehicles.length > 0 && (\n          <PaginatedTable\n            className=\"mt-3\"\n            data={selectedVehicles}\n            filterSortPaginationContext={selectedVehiclesTableContext}\n            pageSize={10}\n            testId=\"selected-vehicles-table\"\n            row={{\n              key: (x, index) => `${index}-${x.id}`,\n            }}\n            columns={[\n              {\n                header: translate('vehiclePicker.name'),\n                value: (x) => (x.name ? `${x.name}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.STRING,\n                },\n              },\n              {\n                header: translate('vehiclePicker.rz'),\n                value: (x) => (x.rz ? `${x.rz}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.STRING,\n                },\n              },\n              {\n                header: translate('vehiclePicker.vin'),\n                value: (x) => (x.vin ? `${x.vin}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.STRING,\n                },\n              },\n              {\n                header: translate('vehiclePicker.pcv'),\n                headerInfo: translate('vehiclePicker.pcvInfo'),\n                value: (x) => (x.pcv ? `${x.pcv}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.NUMBER,\n                },\n              },\n              {\n                header: (\n                  <div className=\"w-100\">\n                    {withActions && (\n                      <Button\n                        size=\"xs\"\n                        type=\"base\"\n                        color=\"error\"\n                        className=\"d-block d-sm-none float-end\"\n                        onClick={() => clearSelectedVehicles()}\n                        testId=\"vehicle-picker-remove-button-all\"\n                        iconStart=\"components/x-lg\"\n                      >\n                        {translate('vehiclePicker.remove-all')}\n                      </Button>\n                    )}\n                  </div>\n                ),\n                value: (x, index) => (\n                  <div className=\"d-flex justify-content-end table-actions w-100\">\n                    {withActions && (\n                      <>\n                        <Button\n                          size=\"xs\"\n                          type=\"base\"\n                          color=\"error\"\n                          className=\"d-none d-sm-block\"\n                          onClick={() => removeVehicle(x.id ?? 0)}\n                          testId={`vehicle-picker-remove-button-${index}`}\n                          iconStart=\"components/x-lg\"\n                        >\n                          {translate('vehiclePicker.remove')}\n                        </Button>\n                        <Button\n                          size=\"s\"\n                          color=\"error\"\n                          type=\"base\"\n                          className=\"d-block d-sm-none\"\n                          onClick={() => {\n                            removeVehicle(x.id ?? 0);\n                          }}\n                          testId={`vehicle-picker-remove-button-${index}`}\n                          iconStart=\"components/x-lg\"\n                        >\n                          {translate('vehiclePicker.remove')}\n                        </Button>\n                      </>\n                    )}\n                  </div>\n                ),\n              },\n            ]}\n          />\n        )}\n      </>\n    );\n  }\n);\n\nexport default SelectedVehicleTable;\n","import { Checkbox, Message, ScreenContext, WizardItem } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport TransferAgreementService from '../services/TransferAgreementService';\n\ntype TransferAgreementWizardStepProps = {\n  transferAgreementService: TransferAgreementService;\n};\n\nconst TransferAgreementWizardStep = observer(({ transferAgreementService }: TransferAgreementWizardStepProps) => {\n  const { translate, step, model } = transferAgreementService;\n\n  return (\n    <ScreenContext value={transferAgreementService}>\n      <WizardItem label={translate('item4.header')} step={step} controlledButtonText={translate('button-continue')}>\n        <Message color=\"warning\" icon=\"components/info-circle-fill\">\n          {translate('item4.text1')} <br />\n          <br />\n          <strong className=\"fw-bold\">{translate('item4.text2Bold')}</strong> {translate('item4.text2')}\n        </Message>\n\n        <Checkbox className=\"mt-4\" target={model} property={'transferable'} label={translate('item4.check-label')} />\n      </WizardItem>\n    </ScreenContext>\n  );\n});\n\nexport default TransferAgreementWizardStep;\n","import { observer } from 'mobx-react-lite';\nimport VehicleSelectionService from '../services/VehicleSelectionService';\nimport VehicleSearch from '@components/shared/VehicleSearch/VehicleSearch';\nimport { Button, LegacyTooltip, Message, Typography } from '@cendis/cedr-components';\nimport CarTile from 'src/app/components/CarTile/CarTile';\nimport PlusIcon from '@components/shared/VehicleSearch/PlusIcon';\nimport './VehiclePicker.scss';\nimport LoaderBox from '@components/layout/LoaderBox';\nimport SelectedVehicleTable from './SelectedVehicleTable';\n\nexport type VehiclePickerProps = {\n  vehicleSelectionService: VehicleSelectionService;\n  permissionCode?: string;\n  unknownObjectsAvailable: boolean;\n};\n\nconst VehiclePicker = observer(\n  ({ vehicleSelectionService, permissionCode, unknownObjectsAvailable }: VehiclePickerProps) => {\n    const {\n      selectedVehicles,\n      searchResults,\n      addVehicle,\n      translate,\n      searchModel,\n      MAX_SELECTED_VEHICLES,\n      isBusy,\n      vehiclesCount,\n      vehiclesShown,\n      searchVehicle,\n      searchIsVin,\n      showNotFound,\n      resultsOrigin,\n      addVehiclesToResults,\n    } = vehicleSelectionService;\n\n    return (\n      <div className={'vehiclePicker'}>\n        <VehicleSearch\n          search={() => searchVehicle(unknownObjectsAvailable, permissionCode)}\n          translate={translate}\n          model={searchModel}\n        />\n\n        {isBusy ? (\n          <LoaderBox type=\"box-small\" />\n        ) : (\n          <>\n            {searchResults.length > 1 && resultsOrigin === 'search' && (\n              <Message color=\"warning\" icon=\"components/info-circle-fill\" className=\"mt-3\">\n                <div className=\"d-flex justify-content-between\">\n                  {translate('vehicleSearch.more-vehicles')}\n                </div>\n              </Message>\n            )}\n\n            {showNotFound && searchIsVin && unknownObjectsAvailable && searchResults.length !== 0 && (\n              <Message color=\"warning\" icon=\"components/info-circle-fill\" className=\"mt-3\">\n                <div className=\"d-flex justify-content-between\">\n                  {translate('vehicleSearch.not-found-vin')}\n                </div>\n              </Message>\n            )}\n\n            {showNotFound && (!searchIsVin || !unknownObjectsAvailable) && (\n              <Message color=\"error\" icon=\"components/exclamation-triangle-fill\" className=\"mt-3\">\n                <div className=\"d-flex justify-content-between\">{translate('vehicleSearch.not-found')}</div>\n              </Message>\n            )}\n\n            {vehiclesCount > 0 && vehiclesCount <= MAX_SELECTED_VEHICLES && !vehiclesShown && (\n              <Message className=\"mt-3\" icon=\"components/lightbulb-fill\">\n                <div className=\"d-flex justify-content-between\">\n                  {translate('vehicleSearch.all-vehicles')}&nbsp;\n                  <Button\n                    testId=\"vehicle-search-all-vehicles-button\"\n                    onClick={addVehiclesToResults}\n                    className=\"me-2\"\n                    size=\"m\"\n                    type=\"outlined\"\n                    text={translate('vehicleSearch.all-vehicles-button')}\n                  />\n                </div>\n              </Message>\n            )}\n          </>\n        )}\n\n        <div className=\"vehiclePicker__search-results mt-3\">\n          {searchResults.length > 0 &&\n            searchResults.map((vehicle) => (\n              <CarTile\n                data={{\n                  id: vehicle.id?.toString() ?? '',\n                  header: `${vehicle.name || translate('vehicleSearch.unknown-vehicle')} - ${vehicle.rz}`,\n                  values: [\n                    { label: translate('vehicleSearch.vin'), value: vehicle.vin },\n                    { label: translate('vehicleSearch.pcv'), value: vehicle.pcv },\n                  ],\n                }}\n                button={\n                  !vehicle.selected ? (\n                    <LegacyTooltip\n                      tooltipContent={translate('vehicleSearch.disable-tooltip')}\n                      position=\"top\"\n                      hidden={selectedVehicles.length < MAX_SELECTED_VEHICLES}\n                      className=\"tooltip\"\n                      testId=\"vehicle-search-disable-tooltip\"\n                    >\n                      <Button\n                        testId=\"vehicle-search-select-1\"\n                        size=\"m\"\n                        type=\"outlined\"\n                        color=\"primary\"\n                        onClick={() => addVehicle(vehicle)}\n                        disabled={selectedVehicles.length >= MAX_SELECTED_VEHICLES}\n                      >\n                        <PlusIcon />\n                        {translate('vehicleSearch.add-vehicle')}\n                      </Button>\n                    </LegacyTooltip>\n                  ) : undefined\n                }\n                testId=\"vehicle-search-result-1\"\n              />\n            ))}\n        </div>\n        <Typography component=\"span\" size=\"l\" type=\"body\" bold className=\"d-sm-block mt-3 mb-3\">\n          {`${translate('vehiclePicker.selectedVehicles')} (${selectedVehicles.length})`}\n        </Typography>\n\n        {selectedVehicles.length >= MAX_SELECTED_VEHICLES && (\n          <Message color=\"warning\" icon=\"components/info-circle-fill\" className=\"mt-3\">\n            <div className=\"d-flex justify-content-between\">{`${translate('vehicleSearch.max-selected-vehicles')} (${MAX_SELECTED_VEHICLES}).`}</div>\n          </Message>\n        )}\n\n        <SelectedVehicleTable vehicleSelectionService={vehicleSelectionService} withActions={true} />\n      </div>\n    );\n  }\n);\n\nexport default VehiclePicker;\n","import { observer } from 'mobx-react-lite';\nimport PaginatedTable from '@components/gov4/paginatedTable/PaginatedTable';\nimport './VehiclePicker.scss';\nimport { SortOrder, SortType } from 'src/utils/SortUtils';\nimport ObtainedMandateDetailService from '../../obtainedMandateDetail/ObtainedMandateDetailService';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Checkbox } from '@cendis/cedr-components';\nimport './ObtainedVehicleTable.scss';\n\nexport type ObtainedVehicleTableProps = {\n  obtainedMandateDetailService: ObtainedMandateDetailService;\n  withActions?: boolean;\n  translate: Translator;\n};\n\nconst ObtainedVehicleTable = observer(\n  ({ obtainedMandateDetailService, withActions, translate }: ObtainedVehicleTableProps) => {\n    const {\n      selectedVehicles,\n      selectedVehiclesTableContext,\n      allVehiclesSelected,\n      selectedVehiclesCount,\n      checkAllVehiclesSelected,\n      toggleSelectAllVehicles,\n    } = obtainedMandateDetailService;\n\n    return (\n      <>\n        {selectedVehicles && selectedVehicles.length > 0 && (\n          <PaginatedTable\n            className=\"obtainedVehicleTable mt-3\"\n            data={selectedVehicles}\n            filterSortPaginationContext={selectedVehiclesTableContext}\n            pageSize={10}\n            testId=\"obtained-vehicles-table\"\n            row={{\n              key: (x, index) => `${index}-${x.id}`,\n            }}\n            columns={[\n              {\n                header: translate('vehiclePicker.name'),\n                value: (x) => (x.name ? `${x.name}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.STRING,\n                },\n              },\n              {\n                header: translate('vehiclePicker.rz'),\n                value: (x) => (x.rz ? `${x.rz}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.STRING,\n                },\n              },\n              {\n                header: translate('vehiclePicker.vin'),\n                value: (x) => (x.vin ? `${x.vin}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.STRING,\n                },\n              },\n              {\n                header: translate('vehiclePicker.pcv'),\n                headerInfo: translate('vehiclePicker.pcvInfo'),\n                value: (x) => (x.pcv ? `${x.pcv}` : '-'),\n                sortOptions: {\n                  sortOrder: SortOrder.NONE,\n                  sortType: SortType.NUMBER,\n                },\n              },\n              {\n                header: (\n                  <div className=\"w-100\">\n                    {withActions && (\n                      <>\n                        <Checkbox\n                          target={allVehiclesSelected}\n                          className=\"d-block d-sm-none float-end me-3\"\n                          indeterminate={\n                            selectedVehicles.length > selectedVehiclesCount && selectedVehiclesCount > 0\n                          }\n                          property=\"selected\"\n                          onChange={toggleSelectAllVehicles}\n                          hideLabel\n                        />\n                      </>\n                    )}\n                  </div>\n                ),\n                value: (x) => (\n                  <div className=\"d-flex justify-content-end table-actions w-100\">\n                    {withActions && (\n                      <>\n                        <Checkbox\n                          target={x}\n                          property=\"selected\"\n                          onChange={checkAllVehiclesSelected}\n                          hideLabel\n                        />\n                      </>\n                    )}\n                  </div>\n                ),\n              },\n            ]}\n          />\n        )}\n      </>\n    );\n  }\n);\n\nexport default ObtainedVehicleTable;\n","import { observer } from 'mobx-react-lite';\nimport { Radio, Typography, WizardItem } from '@cendis/cedr-components';\nimport VehicleSelectionService from '../services/VehicleSelectionService';\nimport { VehiclesSelectionType } from 'src/enums/VehiclesSelectionTypes';\nimport './VehicleSelectionWizardStep.scss';\nimport VehiclePicker from './VehiclePicker';\nimport ObtainedMandateDetailService from '../../obtainedMandateDetail/ObtainedMandateDetailService';\nimport ObtainedVehicleTable from './ObtainedVehicleTable';\nimport LoaderBox from '@components/layout/LoaderBox';\n\ntype VehicleSelectionWizardStepProps = {\n  vehicleSelectionService: VehicleSelectionService;\n  obtainedMandateDetailService?: ObtainedMandateDetailService;\n  isVehicleObjectSpecific?: boolean;\n  permissionCode?: string;\n  unknownObjectsAvailable: boolean;\n};\n\nconst VehicleSelectionWizardStep = observer(\n  ({\n    vehicleSelectionService,\n    isVehicleObjectSpecific,\n    obtainedMandateDetailService,\n    permissionCode,\n    unknownObjectsAvailable,\n  }: VehicleSelectionWizardStepProps) => {\n    const {\n      translate,\n      step,\n      disableNextStep,\n      model,\n      vehicleSelectionAllOption,\n      vehicleSelectionSelectedOption,\n      initialVehiclesLoading,\n    } = vehicleSelectionService;\n\n    const obtained = obtainedMandateDetailService !== undefined;\n\n    const getDisableNextStep = () => {\n      if (obtainedMandateDetailService && obtainedMandateDetailService.selectedVehicles !== null) {\n        return obtainedMandateDetailService.selectedVehiclesCount === 0;\n      }\n\n      return disableNextStep;\n    };\n\n    return (\n      <WizardItem\n        label={translate('vehicleSelection.header')}\n        step={step}\n        disableNextStep={getDisableNextStep()}\n        disabledButtonTooltip={translate('vehicleSelection.disabledButtonTooltip')}\n        useLegacyTooltip={true}\n      >\n        <p className=\"mb-4\">{translate(`vehicleSelection.${obtained ? 'obtained' : 'new'}.info`)}</p>\n        <div>\n          <Radio\n            gapSize=\"s\"\n            options={vehicleSelectionAllOption}\n            target={model}\n            property={'vehiclesSelectionType'}\n            orientation=\"vertical\"\n          />\n        </div>\n        {isVehicleObjectSpecific && (\n          <div>\n            <Radio\n              gapSize=\"s\"\n              options={vehicleSelectionSelectedOption}\n              target={model}\n              property={'vehiclesSelectionType'}\n              orientation=\"vertical\"\n            />\n            {model.vehiclesSelectionType === VehiclesSelectionType.SELECTED && (\n              <div className=\"vehiclesSelection\">\n                {obtainedMandateDetailService && obtainedMandateDetailService.selectedVehicles !== null ? (\n                  <>\n                    <Typography className=\"my-3\">\n                      {translate('vehicleSelection.selectedInfo3')}{' '}\n                      <span className=\"bold\">{translate('vehicleSelection.selectedInfo4')}</span>{' '}\n                      {translate('vehicleSelection.selectedInfo5')}\n                    </Typography>\n                    <ObtainedVehicleTable\n                      obtainedMandateDetailService={obtainedMandateDetailService}\n                      translate={translate}\n                      withActions={true}\n                    />\n                  </>\n                ) : initialVehiclesLoading ? (\n                  <div className=\"my-3\">\n                    <LoaderBox type=\"box-small\" />\n                  </div>\n                ) : (\n                  <>\n                    <Typography className=\"my-3\">\n                      {translate('vehicleSelection.selectedInfo')}{' '}\n                      <span className=\"bold\">{translate('vehicleSelection.selectedInfo2')}</span>\n                    </Typography>\n                    <VehiclePicker\n                      vehicleSelectionService={vehicleSelectionService}\n                      permissionCode={permissionCode}\n                      unknownObjectsAvailable={unknownObjectsAvailable}\n                    />\n                  </>\n                )}\n              </div>\n            )}\n          </div>\n        )}\n      </WizardItem>\n    );\n  }\n);\n\nexport default VehicleSelectionWizardStep;\n","import { Button, useWizardContext } from '@cendis/cedr-components';\nimport Paragraphs from '@components/gov4/layout/Paragraphs';\nimport Separator from '@components/gov4/separator/Separator';\nimport { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './WizardStepSummary.scss';\n\ntype WizardStepSummaryProps = {\n  title: string;\n  data?: Array<{ label: ReactNode; value: ReactNode }>;\n  returnToStep?: number;\n  buttonText?: string;\n  noSeparator?: boolean;\n  children?: ReactNode;\n};\n\nconst WizardStepSummary = observer(\n  ({ title, data, returnToStep, noSeparator = false, buttonText, children }: WizardStepSummaryProps) => {\n    const wizardContext = useWizardContext();\n\n    return (\n      <>\n        <div className=\"d-flex wizard-step-summary flex-wrap gap-2\">\n          <h3 className=\"summary-title gov-text--xl me-3 mt-1\">{title}</h3>\n          {returnToStep && (\n            <Button\n              text={buttonText ? buttonText : 'Vrátit se k úpravě'}\n              onClick={() => wizardContext.setActiveStep(returnToStep)}\n              type=\"outlined\"\n              testId={`mandates-back-to-edit-${returnToStep}`}\n            />\n          )}\n        </div>\n\n        {data && <Paragraphs data={data} className=\"mt-3\" />}\n\n        {children}\n\n        {!noSeparator && <Separator className=\"dark my-4\" />}\n      </>\n    );\n  }\n);\n\nexport default WizardStepSummary;\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('selectedVehicle')\nexport default class SelectedVehicleModel {\n  @observable id: string = '';\n  @observable name: string = '';\n  @observable vin: string = '';\n  @observable rz: string = '';\n  @observable pcv: string = '';\n  @observable manufacturer: string = '';\n  @observable commercialDesignation: string = '';\n  @observable selected: boolean = true;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport { Domain_Contracts_Enums_PersonDocumentType } from 'src/data/egon/api';\n\n@AddTranslationKey('newMandate')\nexport default class RepresentativeIdentificationModel {\n  @observable representativePersonType = MandatePersonType.FO;\n\n  @observable firstName = '';\n  @observable lastName = '';\n  @observable documentType: Domain_Contracts_Enums_PersonDocumentType | '' = '';\n  @observable documentNumber = '';\n\n  @observable identificationNumber = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction, when } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RepresentativeIdentificationModel from '../models/RepresentativeIdentificationModel';\nimport { RadioOption, SelectOption } from '@cendis/cedr-components';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport { Domain_Contracts_Enums_PersonDocumentType } from 'src/data/egon/api';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from 'src/services/ApiService';\nimport {\n  Mandates_WebApi_Requests_PersonQueryRequest,\n  Mandates_WebApi_Responses_CompanyNameResponse,\n  Mandates_WebApi_Responses_PersonResponse,\n} from 'src/data/mandates/api';\nimport { UserService } from 'src/services/UserService';\nimport MandatesService from 'src/services/MandatesService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ValidationService from '../../../../services/ValidationService';\nimport StringFormatUtils from 'src/utils/StringFormatUtils';\nimport { ErrorType } from 'src/enums/ErrorType';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\nexport default class RepresentativeIdentificationService extends WizardStepService {\n  @observable model = new RepresentativeIdentificationModel();\n\n  @observable private identifiedCompanyResponse: Mandates_WebApi_Responses_CompanyNameResponse | undefined =\n    undefined;\n  @observable private identifiedPersonResponse: Array<Mandates_WebApi_Responses_PersonResponse> = [];\n  @observable private disableInput = false;\n  @observable error = '';\n\n  searchBusyWatcher = new BusyWatcher();\n\n  @computed\n  get identifiedPerson() {\n    if (this.identifiedPersonResponse.length > 0) {\n      return this.identifiedPersonResponse[0];\n    } else {\n      return undefined;\n    }\n  }\n\n  @computed\n  get identifiedCompanyName() {\n    if (this.identifiedCompanyResponse) {\n      return this.identifiedCompanyResponse.name;\n    } else {\n      return undefined;\n    }\n  }\n\n  @computed\n  get disableNextStep() {\n    if (this.model.representativePersonType === MandatePersonType.FO) {\n      if (this.disableInput) return true;\n      const { firstName, lastName, documentType, documentNumber } = this.model;\n      return [firstName, lastName, documentType, documentNumber].some((value) => value === '');\n    } else {\n      return this.identifiedCompanyName === undefined;\n    }\n  }\n\n  @computed\n  get isIdentifiedUserSameAsLoggedInUser() {\n    const identifiedPersonType = this.model.representativePersonType;\n    const loggedUserPersonType = this.mandatesService.personType;\n\n    if (\n      identifiedPersonType === MandatePersonType.FO &&\n      loggedUserPersonType === MandatePersonType.FO &&\n      this.userService.personalInfo\n    ) {\n      const { firstname, surname, dayOfBirth } = this.userService.personalInfo;\n\n      if (this.identifiedPerson === undefined) return false;\n\n      if (\n        this.identifiedPerson.firstName === firstname &&\n        this.identifiedPerson.surname === surname &&\n        this.identifiedPerson.birthDate === dayOfBirth\n      ) {\n        return true;\n      }\n    } else if (\n      identifiedPersonType === MandatePersonType.PO &&\n      loggedUserPersonType === MandatePersonType.PO &&\n      this.userService.entrepreneurInfo\n    ) {\n      if (this.model.identificationNumber === this.userService.entrepreneurInfo.identificationNumber) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  @computed\n  get personTypeOptions(): RadioOption[] {\n    return [\n      { id: MandatePersonType.FO, label: this.translate('item3.select-1') },\n      { id: MandatePersonType.PO, label: this.translate('item3.select-2') },\n    ];\n  }\n\n  @computed\n  get documentTypeOptions(): SelectOption<Domain_Contracts_Enums_PersonDocumentType | ''>[] {\n    return [\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.ID,\n        label: this.translate('identification.ID'),\n        value: Domain_Contracts_Enums_PersonDocumentType.ID,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.OP,\n        label: this.translate('identification.OP'),\n        value: Domain_Contracts_Enums_PersonDocumentType.OP,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.P,\n        label: this.translate('identification.P'),\n        value: Domain_Contracts_Enums_PersonDocumentType.P,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.CA,\n        label: this.translate('identification.CA'),\n        value: Domain_Contracts_Enums_PersonDocumentType.CA,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.IR,\n        label: this.translate('identification.IR'),\n        value: Domain_Contracts_Enums_PersonDocumentType.IR,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.VS,\n        label: this.translate('identification.VS'),\n        value: Domain_Contracts_Enums_PersonDocumentType.VS,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.PS,\n        label: this.translate('identification.PS'),\n        value: Domain_Contracts_Enums_PersonDocumentType.PS,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.IX,\n        label: this.translate('identification.IX'),\n        value: Domain_Contracts_Enums_PersonDocumentType.IX,\n      },\n      {\n        key: Domain_Contracts_Enums_PersonDocumentType.IE,\n        label: this.translate('identification.IE'),\n        value: Domain_Contracts_Enums_PersonDocumentType.IE,\n      },\n    ];\n  }\n\n  @computed\n  get summaryData() {\n    if (this.model.representativePersonType === MandatePersonType.FO) {\n      return [\n        {\n          label: this.translate('first-name'),\n          value: StringFormatUtils.capitalizeFirstLetter(this.model.firstName.toLowerCase() ?? ''),\n        },\n        {\n          label: this.translate('last-name'),\n          value: StringFormatUtils.capitalizeFirstLetter(this.model.lastName.toLowerCase() ?? ''),\n        },\n        {\n          label: this.translate('type'),\n          value: this.model.documentType ? this.translate('identification.' + this.model.documentType) : '',\n        },\n        { label: this.translate('number'), value: this.model.documentNumber },\n      ];\n    } else {\n      return [\n        { label: this.translate('name-po'), value: this.identifiedCompanyName },\n        { label: this.translate('ico'), value: this.model.identificationNumber },\n      ];\n    }\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public userService: UserService,\n    @Inject() public mandatesService: MandatesService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super('representative-identification');\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(stepNumber: number) {\n    this._step = stepNumber;\n    await this.userService.initUserData();\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  setStep(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  @action.bound\n  reset() {\n    this.model = new RepresentativeIdentificationModel();\n    this.error = '';\n    this.identifiedCompanyResponse = undefined;\n    this.identifiedPersonResponse = [];\n    this.disableInput = false;\n    this.stopActivityWatcher();\n  }\n\n  @action.bound\n  async onBeforeNextStep(): Promise<boolean> {\n    if (this.model.representativePersonType === MandatePersonType.FO) {\n      const personFound = await this.searchPerson();\n\n      if (!personFound) this.handlePersonNotFound();\n\n      return personFound;\n    } else if (this.model.representativePersonType === MandatePersonType.PO) {\n      if (!this.isIdentifiedUserSameAsLoggedInUser && this.identifiedCompanyName !== undefined) {\n        return true;\n      } else {\n        return false;\n      }\n    } else {\n      return false;\n    }\n  }\n\n  @Watch<RepresentativeIdentificationService>((s) => s.searchBusyWatcher)\n  @action.bound\n  async searchPerson(): Promise<boolean> {\n    if (this.model.documentType === '') return false;\n\n    try {\n      const requestBody: Mandates_WebApi_Requests_PersonQueryRequest = {\n        firstName: this.model.firstName,\n        surname: this.model.lastName,\n        document: {\n          number: this.model.documentNumber,\n          type: this.model.documentType,\n        },\n      };\n\n      const personResponse =\n        await this.apiService.mandatesApi.identification.postPdApiMandatesV1GetPerson(requestBody);\n\n      if (personResponse.length === 0) {\n        runInAction(() => {\n          this.identifiedPersonResponse = [];\n          this.error = this.translate('item3.error-message');\n        });\n\n        return false;\n      }\n\n      runInAction(() => {\n        this.identifiedPersonResponse = personResponse;\n        this.error = '';\n      });\n\n      if (this.isIdentifiedUserSameAsLoggedInUser) {\n        runInAction(() => {\n          this.identifiedPersonResponse = [];\n          this.error = this.translate('item3.error-message-same-person');\n        });\n        return false;\n      }\n\n      return true;\n    } catch (e: any) {\n      runInAction(() => {\n        this.identifiedPersonResponse = [];\n        if (\n          e?.body?.type === ErrorType.ROB_PERSON_AGE_INVALID ||\n          e?.body?.type === ErrorType.ROB_PERSON_INCOMPETENT\n        ) {\n          this.errorService.logCatchError(\n            e,\n            'searchPerson - mandates - RepresentativeIdentificationService',\n            'searchPerson - apiService.mandatesApi.identification.postPdApiMandatesV1GetPerson, ErrorType.ROB_PERSON_AGE_INVALID or ErrorType.ROB_PERSON_INCOMPETENT'\n          );\n          this.error = this.translate('item3.error-message-restricted-person');\n        } else {\n          this.errorService.logCatchError(\n            e,\n            'searchPerson - mandates - RepresentativeIdentificationService',\n            'searchPerson - apiService.mandatesApi.identification.postPdApiMandatesV1GetPerson, other error'\n          );\n          this.error = this.translate('item3.error-message');\n        }\n      });\n      return false;\n    }\n  }\n\n  @Watch<RepresentativeIdentificationService>((s) => s.searchBusyWatcher)\n  @action.bound\n  async searchPo() {\n    const searchString = this.model.identificationNumber.trim();\n    if (searchString.length === 0) return;\n\n    try {\n      const companyResponse =\n        await this.apiService.mandatesApi.identification.getPdApiMandatesV1Company(searchString);\n\n      runInAction(() => {\n        this.identifiedCompanyResponse = companyResponse;\n        this.error = '';\n      });\n\n      if (this.isIdentifiedUserSameAsLoggedInUser) {\n        runInAction(() => {\n          this.identifiedCompanyResponse = undefined;\n          this.error = this.translate('item3.error-message-same-company');\n        });\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'searchPo - mandates - RepresentativeIdentificationService',\n        'searchPo - apiService.mandatesApi.identification.getPdApiMandatesV1Company'\n      );\n      runInAction(() => {\n        this.identifiedCompanyResponse = undefined;\n        this.error = this.translate('errorIcoNotFound');\n      });\n    }\n  }\n\n  @action.bound\n  resetOptionPo() {\n    this.error = '';\n    this.model.identificationNumber = '';\n    this.identifiedCompanyResponse = undefined;\n  }\n\n  @action.bound\n  resetOptionFo() {\n    this.error = '';\n    this.model.firstName = '';\n    this.model.lastName = '';\n    this.model.documentType = '';\n    this.model.documentNumber = '';\n    this.identifiedPersonResponse = [];\n  }\n\n  @action.bound\n  clearSearchPo = () => {\n    this.model.identificationNumber = '';\n    this.identifiedCompanyResponse = undefined;\n    this.error = '';\n  };\n\n  @action.bound\n  private handlePersonNotFound() {\n    const oldValues = { ...this.model };\n\n    this.disableInput = true;\n\n    when(\n      () =>\n        this.model.firstName !== oldValues.firstName ||\n        this.model.lastName !== oldValues.lastName ||\n        this.model.documentType !== oldValues.documentType ||\n        this.model.documentNumber !== oldValues.documentNumber,\n      () => runInAction(() => (this.disableInput = false))\n    );\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.documentNumber,\n      this.model.documentType,\n      this.model.firstName,\n      this.model.lastName,\n      this.model.identificationNumber,\n      this.model.representativePersonType,\n    ] as const;\n  }\n\n  translate = translate('newMandate', this);\n}\n","import { action, computed, makeObservable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { UserService } from 'src/services/UserService';\nimport MandatesService from 'src/services/MandatesService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport StringFormatUtils from 'src/utils/StringFormatUtils';\nimport ValidationService from '../../../../services/ValidationService';\nimport NavigationGuardService from 'src/services/NavigationGuardService';\n\n@Service()\nexport default class RepresentedEntityService extends WizardStepService {\n  busyWatcher = new BusyWatcher();\n\n  @computed\n  get userTableData() {\n    if (this.mandatesService.personType === MandatePersonType.FO && this.userService.personalInfo) {\n      return [\n        {\n          label: this.translate('first-name'),\n          value: StringFormatUtils.capitalizeFirstLetter(\n            this.userService.personalInfo.firstname?.toLowerCase() ?? ''\n          ),\n        },\n        {\n          label: this.translate('last-name'),\n          value: StringFormatUtils.capitalizeFirstLetter(\n            this.userService.personalInfo.surname?.toLowerCase() ?? ''\n          ),\n        },\n\n        {\n          label: this.translate('type'),\n          value: this.userService.FirstDocumentOfSortedInfo.documentType\n            ? this.translate(`identification.${this.userService.FirstDocumentOfSortedInfo.documentType}`)\n            : '-',\n        },\n        {\n          label: this.translate('number'),\n          value: this.userService.FirstDocumentOfSortedInfo.documentNumber\n            ? this.userService.FirstDocumentOfSortedInfo.documentNumber\n            : '-',\n        },\n      ];\n    } else if (\n      this.mandatesService.personType === MandatePersonType.PO &&\n      this.userService.entrepreneurInfo\n    ) {\n      return [\n        { label: this.translate('name-po'), value: this.userService.entrepreneurInfo?.companyName },\n        { label: this.translate('ico'), value: this.userService.entrepreneurInfo?.identificationNumber },\n      ];\n    } else {\n      return [];\n    }\n  }\n\n  @computed\n  get disableNextStep() {\n    return this.userTableData.length === 0;\n  }\n\n  @computed\n  get summaryData() {\n    return this.userTableData;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private userService: UserService,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() public validationService: ValidationService,\n    @Inject() private navigationGuardService: NavigationGuardService\n  ) {\n    super('represented-entity');\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init(stepNumber: number) {\n    this._step = stepNumber;\n    await this.waitForUserInfo();\n  }\n\n  @action.bound\n  setStep(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  startGuarding() {\n    this.navigationGuardService.startGuarding();\n  }\n\n  @action.bound\n  reset() {}\n\n  @Watch<RepresentedEntityService>((s) => s.busyWatcher)\n  @action.bound\n  private async waitForUserInfo() {\n    await this.userService.initUserData();\n  }\n\n  translate = translate('newMandate', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('newMandate')\nexport default class TransferAgreementModel {\n  @observable transferable = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport TransferAgreementModel from '../models/TransferAgreementModel';\nimport ValidationService from '../../../../services/ValidationService';\n\n@Service()\nexport default class TransferAgreementService extends WizardStepService {\n  @observable model = new TransferAgreementModel();\n\n  @computed\n  get summaryData() {\n    return [\n      {\n        label: this.translate('item4.transfer'),\n        value: this.model.transferable ? this.translate('item4.yes') : this.translate('item4.no'),\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public validationService: ValidationService\n  ) {\n    super('transfer-agreement');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number) {\n    this._step = stepNumber;\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  setStep(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  @action.bound\n  reset() {\n    this.model = new TransferAgreementModel();\n    this.stopActivityWatcher();\n  }\n\n  protected activityWatchValue() {\n    return [this.model.transferable] as const;\n  }\n\n  translate = translate('newMandate', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { VehiclesSelectionType } from 'src/enums/VehiclesSelectionTypes';\n\n@AddTranslationKey('newMandate')\nexport default class VehicleSelectionModel {\n  @observable vehiclesSelectionType = VehiclesSelectionType.ALL;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { Inject, Service } from 'typedi';\nimport WizardStepService from '../../../../services/WizardStepService';\nimport ApiService from 'src/services/ApiService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ValidationService from '../../../../services/ValidationService';\nimport VehicleSelectionModel from '../models/VehicleSelectionModel';\nimport { RadioOption } from '@cendis/cedr-components';\nimport { VehiclesSelectionType } from 'src/enums/VehiclesSelectionTypes';\nimport VehicleSearchModel from 'src/app/vehicle/components/VehicleSearch/VehicleSearchModel';\nimport FilterSortPaginationContext from '@components/gov4/filterSortPaginationContext/FilterSortPaginationContext';\nimport VehicleRegisterService from 'src/services/vehicle/VehicleRegisterService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport {\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleBasicResponse,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentsResponse,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse,\n} from 'src/data/egon/apiV2';\nimport SelectedVehicleModel from '../models/SelectedVehicleModel';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport type { EgonServiceBusWebApiResponsesV2VehiclesVehicleBasicResponse } from 'src/api-data/egon/apiV2/models';\n\n@Service()\nexport default class VehicleSelectionService extends WizardStepService {\n  @observable model = new VehicleSelectionModel();\n  @observable searchModel = new VehicleSearchModel();\n  @observable searchResults: SelectedVehicleModel[] = [];\n  @observable selectedVehicles: SelectedVehicleModel[] = [];\n  @observable vehiclesShown: boolean = false;\n  @observable showNotFound: boolean = false;\n  @observable resultsOrigin: 'search' | 'list' = 'search';\n  @observable obtained: boolean = false;\n\n  selectedVehiclesTableContext = new FilterSortPaginationContext<SelectedVehicleModel>();\n\n  MAX_SELECTED_VEHICLES = 10;\n\n  searchVehicleBusyWatcher = new BusyWatcher();\n\n  @computed\n  get disableNextStep() {\n    return (\n      this.model.vehiclesSelectionType === null ||\n      (this.model.vehiclesSelectionType === VehiclesSelectionType.SELECTED &&\n        (this.selectedVehicles.length === 0 || this.selectedVehicles.length > this.MAX_SELECTED_VEHICLES))\n    );\n  }\n\n  @computed\n  get objectSpecificPermissions() {\n    return this.model.vehiclesSelectionType === VehiclesSelectionType.SELECTED\n      ? this.selectedVehicles.map((v) => ({\n          $type: 'vehicle',\n          vehicleId: v.id === v.vin ? null : Number(v.id),\n          vin: v.vin,\n          rz: v.rz,\n          manufacturer: v.manufacturer,\n          commercialDesignation: v.commercialDesignation,\n        }))\n      : null;\n  }\n\n  @computed\n  get vehiclesCount() {\n    return this.vehicleRegisterService.vehiclesCount;\n  }\n\n  @computed\n  get isBusy() {\n    return (\n      this.vehicleRegisterService.vehiclesLoadingBusyWatcher.isBusy || this.searchVehicleBusyWatcher.isBusy\n    );\n  }\n\n  @computed\n  get initialVehiclesLoading() {\n    return this.vehicleRegisterService.vehiclesLoadingBusyWatcher.isBusy;\n  }\n\n  @computed\n  get searchIsVin() {\n    return /^[A-HJ-NPR-Z0-9]{17}$/i.test(this.searchModel.lastSearchedText);\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private apiService: ApiService,\n    @Inject() public validationService: ValidationService,\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() public authorizationService: AuthorizationService\n  ) {\n    super('new-mandate-vehicle');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(stepNumber: number, obtained?: boolean, aifoIdOrIco?: string, permissionCode?: string) {\n    this._step = stepNumber;\n    this.searchModel = new VehicleSearchModel();\n    this.vehicleRegisterService.init(aifoIdOrIco, permissionCode, true, true);\n    this.obtained = obtained ?? false;\n    this.startActivityWatcher();\n  }\n\n  @action.bound\n  setStep(stepNumber: number) {\n    this._step = stepNumber;\n  }\n\n  @action.bound\n  reset(stopActivityWatcher = true) {\n    this.model = new VehicleSelectionModel();\n    this.searchModel = new VehicleSearchModel();\n    this.searchResults = [];\n    this.selectedVehicles = [];\n    this.showNotFound = false;\n    this.vehiclesShown = false;\n    if (stopActivityWatcher) {\n      this.stopActivityWatcher();\n    }\n  }\n\n  @action.bound\n  unloadVehicles() {\n    this.vehicleRegisterService.reset();\n  }\n\n  @action.bound\n  addVehicle(vehicle: SelectedVehicleModel) {\n    this.selectedVehicles.push(vehicle);\n    this.searchResults = this.searchResults.filter((v) => v.id !== vehicle.id);\n  }\n\n  private isVehicleComplete(vehicle: SelectedVehicleModel): boolean {\n    return (\n      !!vehicle.commercialDesignation &&\n      !!vehicle.manufacturer &&\n      !!vehicle.rz &&\n      !!vehicle.pcv &&\n      !!vehicle.name\n    );\n  }\n\n  @action.bound\n  removeVehicle(vehicleId: string) {\n    const removedVehicle = this.selectedVehicles.find((v) => v.id === vehicleId);\n    if (!removedVehicle) {\n      return;\n    }\n\n    this.selectedVehicles = this.selectedVehicles.filter((v) => v.id !== vehicleId);\n\n    if (this.isVehicleComplete(removedVehicle)) {\n      this.searchResults = [...this.searchResults, removedVehicle];\n    }\n  }\n\n  @action.bound\n  clearSelectedVehicles() {\n    const removedVehicles = this.selectedVehicles;\n\n    this.selectedVehicles = [];\n\n    this.searchResults = [...this.searchResults, ...removedVehicles.filter((v) => this.isVehicleComplete(v))];\n  }\n\n  get vehicleSelectionAllOption(): RadioOption[] {\n    return [\n      {\n        id: VehiclesSelectionType.ALL,\n        label: this.translate(`vehicleSelectionOption.${this.obtained ? 'obtained' : 'new'}.all`),\n      },\n    ];\n  }\n\n  get vehicleSelectionSelectedOption(): RadioOption[] {\n    return [\n      {\n        id: VehiclesSelectionType.SELECTED,\n        label: this.translate(`vehicleSelectionOption.${this.obtained ? 'obtained' : 'new'}.selected`),\n      },\n    ];\n  }\n\n  @action.bound\n  addVehiclesToResults() {\n    const vehiclesToAdd = this.vehicleRegisterService.vehicles.get(0);\n    if (vehiclesToAdd) {\n      runInAction(() => {\n        this.resultsOrigin = 'list';\n        this.selectedVehicles = vehiclesToAdd.map((v) => this.mapVehicleDetailToBasic(v));\n        this.vehiclesShown = true;\n      });\n    }\n  }\n\n  @action.bound\n  async searchVehicle(unknownObjectsAvailable: boolean, permissionCode?: string) {\n    this.searchModel.text = this.searchModel.text.trim();\n\n    runInAction(() => {\n      this.searchModel.lastSearchedText = this.searchModel.text;\n      this.showNotFound = false;\n      this.searchResults = [];\n    });\n    if (this.searchModel.text) {\n      await this.getSearchedVehicles(unknownObjectsAvailable, permissionCode);\n    }\n  }\n\n  @Watch<VehicleSelectionService>((s) => s.searchVehicleBusyWatcher)\n  @action.bound\n  private async getSearchedVehicles(unknownObjectsAvailable: boolean, permissionCode?: string) {\n    const searchedItem = this.searchModel.text;\n    const result = await Promise.all([\n      this.findVehicleByVin(searchedItem, permissionCode),\n      this.findLicencePlate(searchedItem, permissionCode),\n    ]);\n\n    const data = result[0].concat(result[1]);\n\n    //push extra allowedSections to authorizationService\n    const extraSections = data?.[0]?.allowedSections;\n    this.authorizationService.extendAllowedSections(extraSections);\n\n    runInAction(() => {\n      this.searchResults = data.map((vehicle) => this.mapVehicleDetailToBasic(vehicle));\n      this.resultsOrigin = 'search';\n    });\n\n    if (this.searchResults.length === 0) {\n      runInAction(() => (this.showNotFound = true));\n    }\n\n    if (this.searchIsVin && unknownObjectsAvailable && this.searchResults.length === 0) {\n      runInAction(\n        () =>\n          (this.searchResults = [\n            {\n              id: this.searchModel.text,\n              name: '',\n              vin: this.searchModel.text,\n              pcv: '',\n              rz: '',\n              selected: this.selectedVehicles.some((v) => v.id === this.searchModel.text) || false,\n              manufacturer: '',\n              commercialDesignation: '',\n            },\n          ])\n      );\n    }\n  }\n\n  async findVehicleByVin(\n    searchedItem: string,\n    permissionCode?: string\n  ): Promise<EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse[]> {\n    return await this.apiService.egonApiV2.vehicles\n      .getPdApiEgonV2VehiclesByVin(searchedItem, permissionCode, true, true)\n      .catch((e) => {\n        if (e.status < 500) {\n          return [];\n        } else {\n          throw e;\n        }\n      });\n  }\n\n  async findLicencePlate(\n    text: string,\n    permissionCode?: string\n  ): Promise<EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse[]> {\n    if (text.length < 5 || text.length > 8) {\n      return [];\n    }\n    return await this.apiService.egonApiV2.vehicles\n      .getPdApiEgonV2VehiclesByLicencePlate(text, permissionCode, true, true)\n      .catch((e) => {\n        if (e.status < 500) {\n          return [];\n        } else {\n          throw e;\n        }\n      });\n  }\n\n  mapVehicleDetailToBasic(\n    detail:\n      | EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse\n      | EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleBasicResponse\n      | EgonServiceBusWebApiResponsesV2VehiclesVehicleBasicResponse\n  ): SelectedVehicleModel {\n    const data = new SelectedVehicleModel();\n\n    if ('information' in detail) {\n      data.id = detail.information.mainInformation.id?.toString() ?? '';\n      data.name = `${detail.information.mainInformation.manufacturer ?? ''} ${detail.information.mainInformation.commercialDesignation ?? ''}`;\n      data.vin = detail.information.mainInformation?.vin ?? '';\n      data.pcv = detail.information.mainInformation?.id?.toString() ?? '';\n      data.manufacturer = detail.information.mainInformation?.manufacturer ?? '';\n      data.commercialDesignation = detail.information.mainInformation?.commercialDesignation ?? '';\n      data.rz =\n        detail.documents.find(\n          (document: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentsResponse) =>\n            document.rzs.filter((rzs) => rzs.actual)\n        )?.rzs[0]?.number ?? '';\n      data.selected =\n        this.selectedVehicles.some((v) => v.id === detail.information.mainInformation.id?.toString()) ||\n        false;\n    }\n\n    if ('mainInformation' in detail) {\n      data.id = detail.mainInformation.id?.toString() ?? '';\n      data.name = `${detail.mainInformation.manufacturer ?? ''} ${detail.mainInformation.commercialDesignation ?? ''}`;\n      data.vin = detail.mainInformation?.vin ?? '';\n      data.rz = detail.rzs?.[0]?.number ?? '';\n      data.pcv = detail.mainInformation?.id?.toString() ?? '';\n      data.manufacturer = detail.mainInformation.manufacturer ?? '';\n      data.commercialDesignation = detail.mainInformation.commercialDesignation ?? '';\n      data.selected =\n        this.selectedVehicles.some((v) => v.id === detail.mainInformation.id?.toString()) || false;\n    }\n\n    return data;\n  }\n\n  protected activityWatchValue() {\n    return [\n      this.model.vehiclesSelectionType,\n      this.searchModel.text,\n      this.searchModel.lastSearchedText,\n      this.searchResults,\n      this.selectedVehicles,\n    ] as const;\n  }\n\n  translate = translate('vehicleSelection', this);\n}\n","import React, { useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport Input from '../../components/shared/StandaloneInput';\nimport './NotificationsView.scss';\n\nexport type SearchProps = {\n  searchItem: (value: string) => void;\n};\n\nconst NotificationSearchView = observer(({ searchItem }: SearchProps) => {\n  const [searchTermEmpty, setSearchTermEmpty] = useState(true);\n\n  const filterBySearchTerm = (e: React.ChangeEvent<HTMLInputElement>) => {\n    setSearchTermEmpty(!e.target.value);\n    searchItem(e.target.value.toLowerCase());\n  };\n\n  return (\n    <div className=\"notification-input-group\">\n      <Input\n        id=\"notifications-filter\"\n        checkEmpty={searchTermEmpty}\n        onChange={filterBySearchTerm}\n        labelPlaceholder={'Hledat v názvu'}\n        className=\"notification-input me-2 flex-grow-1\"\n      />\n      <button data-testid=\"search-button\" className=\"notification-input-icon\">\n        <i className=\"fa fa-search fa-2x\"></i>\n      </button>\n    </div>\n  );\n});\n\nexport default NotificationSearchView;\n","import { observer } from 'mobx-react-lite';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport './NotificationsView.scss';\n\ntype NotificationsLoaderProps = {\n  isBusy: boolean;\n};\n\nconst NotificationsLoader = observer(({ isBusy }: NotificationsLoaderProps) => {\n  if (!isBusy) return null;\n\n  return (\n    <div className={'notification-loader'}>\n      <div className=\"sg-loaders__item sg-loaders__item--blue\">\n        <div className={getClassName('gov-loader', false && 'gov-loader--inversed')}>\n          <span>&nbsp;</span>\n          <span>&nbsp;</span>\n          <span>&nbsp;</span>\n        </div>\n      </div>\n    </div>\n  );\n});\n\nexport default NotificationsLoader;\n","import dateUtils from '../../../utils/DateUtils';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ninterface Notification {\n  title: string | null | undefined;\n  received?: string;\n  isRead: boolean;\n  onClick: () => void;\n  isActive: boolean;\n  newText: string;\n}\n\nexport const Notification = ({ title, received, onClick, isActive, isRead, newText }: Notification) => {\n  const classNames = getClassName('notification', isActive && 'active');\n\n  return (\n    <div onClick={onClick} className={classNames}>\n      <div className=\"notification-info\">\n        <span>{dateUtils.dateFormatCz(received)}</span>\n        {!isRead && <div className=\"notification-unread\">{newText}</div>}\n      </div>\n      <h3 className=\"notification-title\">{title}</h3>\n      <hr />\n    </div>\n  );\n};\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport dateUtils from '../../../utils/DateUtils';\nimport MarkdownContent from '@form/MarkdownContent';\nimport NotificationDetailEntity from 'src/data/entities/notification/NotificationDetailEntity';\nimport { Button } from '@cendis/cedr-components';\nimport './NotificationDetail.scss';\n\ninterface NotificationDetail {\n  notification: NotificationDetailEntity;\n  translate: Translator;\n}\n\nfunction renderContent(content: string | null | undefined) {\n  if (content && /<[^>]+>/.test(content)) {\n    return <div dangerouslySetInnerHTML={{ __html: content }} />;\n  }\n\n  return <MarkdownContent content={content || ''} className=\"markdown-content\" checkInternalLinks />;\n}\n\nexport const NotificationDetail = ({ notification, translate }: NotificationDetail) => {\n  const title = notification.heading;\n  const received = notification.received;\n  const isRead = !!notification.isRead;\n  const content = notification.content;\n  const link = notification.link;\n  const linkText = notification.linkText;\n\n  const isInternalLink = (url: string): boolean => {\n    try {\n      const linkUrl = new URL(url, window.location.href);\n      return linkUrl.hostname === window.location.hostname;\n    } catch {\n      return false;\n    }\n  };\n\n  const target = link && isInternalLink(link) ? '_self' : '_blank';\n\n  return (\n    <div className=\"notification-detail\">\n      <h3 className=\"notification-title\">{title}</h3>\n      <div className=\"notification-body\">\n        <div className=\"notification-date-info\">{dateUtils.dateFormatCz(received)}</div>\n        <div className=\"notification-status\">\n          {translate('status')}:&nbsp;\n          {isRead ? (\n            <span>{translate('readNotification')}</span>\n          ) : (\n            <span className=\"notification-unread\">{translate('newNotification')}</span>\n          )}\n        </div>\n        <div className=\"notification-content\">{content && renderContent(content)}</div>\n        {link && (\n          <div className=\"css-reset markdown-content mt-4\">\n            <Button\n              type=\"link\"\n              iconEnd=\"components/chevron-right\"\n              size=\"m\"\n              target={target}\n              href={link}\n              testId=\"notification-more-info\"\n            >\n              <p>{linkText ?? translate('moreInfo')}</p>\n            </Button>\n          </div>\n        )}\n      </div>\n    </div>\n  );\n};\n","import Button from '../../../components/shared/Button/Button';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ninterface NotificationNoData {\n  translate: Translator;\n  backAction: () => void;\n}\n\nexport const NotificationNoData = ({ translate, backAction }: NotificationNoData) => {\n  return (\n    <>\n      <div className=\"notification-detail\">\n        <div className=\"notification-body\">\n          <div className=\"notification-content\">{translate('noData')}</div>\n        </div>\n      </div>\n    </>\n  );\n};\n","import { useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type NotificationsViewModel from './NotificationsViewModel';\nimport Container from '../../components/layout/Container';\nimport './NotificationsView.scss';\nimport NotificationSearchView from './NotificationSearchView';\nimport Button from '../../components/shared/Button/Button';\nimport NotificationsLoader from './NotificationsLoader';\nimport LoaderBox from '../../components/layout/LoaderBox';\nimport { Notification } from './components/Notification';\nimport { NotificationDetail } from './components/NotificationDetail';\nimport { NotificationNoData } from './components/NotificationNoData';\n\nconst NotificationsView: View<NotificationsViewModel> = observer(({ vm }) => {\n  let { translate, notificationService, busyWatcher, navToHome } = vm;\n\n  const [isMobile, setIsMobile] = useState(false);\n\n  const {\n    loadBusyWatcher,\n    mandatesService,\n    notifications,\n    currentNotifications,\n    activeNotification,\n    findNotification,\n    unselectNotification,\n  } = notificationService;\n\n  const isLoading = loadBusyWatcher.isBusy || mandatesService.initBusyWatcher.isBusy;\n  const noNotifications = !(notifications || currentNotifications);\n  const noActiveAndCurrentNotifications = !activeNotification && currentNotifications.length === 0;\n\n  return (\n    <Container className=\"notifications\">\n      <h1>{translate('title')}</h1>\n      {isLoading ? (\n        <LoaderBox type=\"box\" />\n      ) : noNotifications ? (\n        <p>{translate('noData')}</p>\n      ) : (\n        <div className=\"row gx-0\">\n          <div className=\"col-md-4\">\n            <NotificationSearchView\n              searchItem={(e) => {\n                findNotification(e);\n              }}\n            />\n            <div className=\"active-items-desktop\">\n              <NotificationsLoader isBusy={busyWatcher.isBusy} />\n              {currentNotifications?.map((item, i) => (\n                <Notification\n                  key={item.id || i}\n                  title={item.heading}\n                  received={item.received}\n                  onClick={() => {\n                    item.id && notificationService.setActive(item.id);\n                    window.scrollTo({ top: 0, behavior: 'smooth' });\n                  }}\n                  newText={translate('newNotification')}\n                  isRead={!!item.isRead}\n                  isActive={activeNotification?.id == item.id}\n                />\n              ))}\n              {currentNotifications.length >= 5 && (\n                <div className=\"mt-3\">\n                  <Button testId=\"back-button\" onClick={navToHome} text={translate('back')} outlined />\n                </div>\n              )}\n            </div>\n            {!isMobile && (\n              <div className=\"active-items-mobile\">\n                <NotificationsLoader isBusy={busyWatcher.isBusy} />\n                <div className=\"mb-3\">\n                  <Button testId=\"back-button-2\" onClick={navToHome} text={translate('back')} outlined />\n                </div>\n                {currentNotifications?.map((item, i) => (\n                  <Notification\n                    key={item.id || i}\n                    title={item.heading}\n                    received={item.received}\n                    onClick={() => {\n                      setIsMobile(true);\n                      item.id && notificationService.setActive(item.id);\n                    }}\n                    newText={translate('newNotification')}\n                    isRead={!!item.isRead}\n                    isActive={activeNotification?.id == item.id}\n                  />\n                ))}\n                {currentNotifications.length >= 5 && (\n                  <div className=\"mt-3\">\n                    <Button testId=\"back-button-3\" onClick={navToHome} text={translate('back')} outlined />\n                  </div>\n                )}\n              </div>\n            )}\n          </div>\n          <div className=\"col-md-8\">\n            <div className=\"active-notification-desktop\">\n              {activeNotification ? (\n                <NotificationDetail notification={activeNotification} translate={translate} />\n              ) : (\n                <>\n                  {currentNotifications.length === 0 && (\n                    <NotificationNoData translate={translate} backAction={navToHome} />\n                  )}\n                </>\n              )}\n            </div>\n            {isMobile && activeNotification && (\n              <div className=\"active-notification-mobile\">\n                <div className=\"mb-3\">\n                  <Button\n                    testId=\"back-button-4\"\n                    onClick={() => {\n                      unselectNotification();\n                      setIsMobile(false);\n                    }}\n                    text={translate('back')}\n                    outlined\n                  />\n                </div>\n                <NotificationDetail notification={activeNotification} translate={translate} />\n              </div>\n            )}\n            {noActiveAndCurrentNotifications && (\n              <div className=\"notification-no-data\">\n                <NotificationNoData translate={translate} backAction={navToHome} />\n              </div>\n            )}\n          </div>\n        </div>\n      )}\n    </Container>\n  );\n});\n\nexport default NotificationsView;\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type NotificationsViewModel from './NotificationsViewModel';\nimport LoaderBox from '../../components/layout/LoaderBox';\n\nconst NotificationsViewLoading: View<NotificationsViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <>\n      <div className=\"gov-container view-driver \">\n        <div className=\"gov-container__content driver\">\n          <h1>{translate('title')}</h1>\n          <div className=\"row\">\n            <div className=\"col-md-6\">\n              <LoaderBox type=\"box\"></LoaderBox>\n            </div>\n            <div className=\"col-md-6\">\n              <LoaderBox type=\"box\"></LoaderBox>\n            </div>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default NotificationsViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable } from 'mobx';\nimport NotificationsView from './NotificationsView';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport NotificationsViewLoading from './NotificationsViewLoading';\nimport NotificationService from '../../services/NotificationService';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport HomeViewModel from '../home/HomeViewModel';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\n\n@AddDefaultView(NotificationsView)\n@AddConditionalView(NotificationsViewLoading, (vm) => vm.busyWatcher.isBusy && !vm.notificationService.firstNotificationsFetched)\n@Service()\nexport default class NotificationsViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'notifications';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public notificationService: NotificationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  deactivate() {\n    this.notificationService.activeNotification = undefined;\n  }\n\n  activate() {\n    this.notificationService.resetAnimation();\n  }\n\n  @action.bound\n  navToHome() {\n    if (window.history.length > 1) {\n      window.history.back();\n    } else {\n      this.navigator(HomeViewModel).go();\n    }\n  }\n\n  @Watch<NotificationsViewModel>((s) => s.busyWatcher)\n  async notifyNavigation(): Promise<void> {\n    await this.notificationService.forceInit();\n\n    const params = parseQueryParams(window.location.search);\n\n    if (params.id) {\n      this.notificationService.setActive(Number(params.id));\n    }\n  }\n\n  translate = translate('notificationList', this);\n}\n","import React from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type AccessibilityStatementViewModel from './AccessibilityStatementViewModel';\nimport { observer } from 'mobx-react-lite';\nimport './AccessibilityStatementView.scss';\n\nconst AccessibilityStatementView: View<AccessibilityStatementViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <>\n      <div className=\"gov-container view-accessibility-statement with-footer view-page-accessibility\">\n        <div className=\"gov-container__content align-content-center\">\n          <h1>{translate('title')}</h1>\n          <div className=\"gov-content-block\">\n            <p>\n              Ministerstvo dopravy se zavazuje ke zpřístupnění svých internetových stránek&nbsp;\n              <a data-testid=\"doprava-link\" href=\"https://doprava.gov.cz/\">\n                https://doprava.gov.cz/\n              </a>\n              , v&nbsp;souladu se zákonem č.&nbsp;99/2019&nbsp;Sb., o přístupnosti internetových stránek a\n              mobilních aplikací a o změně zákona č.&nbsp;365/2000 Sb., o informačních systémech veřejné\n              správy a o změně některých dalších zákonů, ve znění pozdějších předpisů, který provádí Směrnici\n              Evropského parlamentu a Rady (EU) 2016/2102 ze dne 26. října 2016, o přístupnosti internetových\n              stránek a mobilních aplikací.\n            </p>\n            <p>\n              Toto prohlášení o&nbsp;přístupnosti se vztahuje na&nbsp;internetové stránky&nbsp;\n              <a data-testid=\"doprava-link2\" href=\"https://doprava.gov.cz/\">\n                https://doprava.gov.cz/\n              </a>\n            </p>\n            <p>\n              <strong>Stav souladu</strong>\n              <br />\n              Tyto internetové stránky jsou plně v&nbsp;souladu se zákonem č.&nbsp;99/2019&nbsp;Sb.,\n              o&nbsp;přístupnosti internetových stránek a mobilních aplikací a o změně zákona č.&nbsp;365/2000\n              Sb., o&nbsp;informačních systémech veřejné správy a o změně některých dalších zákonů, ve znění\n              pozdějších předpisů.\n            </p>\n            <p>\n              <strong>Podporované webové prohlížeče</strong>\n              <br />\n              Optimální zobrazení a práci umožňují tyto webové prohlížeče v nejnovějších verzích:\n            </p>\n            <p>Pro desktop: Google Chrome, Mozilla Firefox, Microsoft&nbsp;Edge, Safari</p>\n            <p>Pro mobilní zařízení: Google Chrome, Safari</p>\n            <p>\n              <strong>Vypracování tohoto prohlášení o&nbsp;přístupnosti</strong>\n              <br />\n              Prohlášení o přístupnosti bylo vypracováno dne 28. 11. 2022.\n            </p>\n            <p>Prohlášení bylo revidováno dne 29. 11. 2022.</p>\n            <p>\n              <strong>Zpětná vazba a&nbsp;kontaktní údaje</strong>\n              <br />\n              Stále pracujeme na tom, aby tyto stránky byly bez problémů přístupné všem uživatelům. Pokud\n              narazíte na jakýkoli problém, dejte nám prosím vědět. Pro sdělení námětů, postřehů či informací\n              o problémech se zobrazováním těchto stránek prosím využijte e-mail&nbsp;\n              <a data-testid=\"email-link\" href=\"mailto:podpora@doprava.gov.cz\">\n                podpora@doprava.gov.cz\n              </a>\n              .\n            </p>\n            <p>\n              <strong>Postupy pro prosazování práva</strong>\n              <br />\n              V případě neuspokojivé odpovědi na oznámení nebo žádost zaslanou v souladu s čl. 7 odst. 1 písm.\n              b) směrnice o přístupnosti internetových stránek a mobilních aplikací kontaktujte příslušný\n              orgán pro prosazování práva:\n              <br />\n              <br />\n              Ministerstvo vnitra\n              <br />\n              odbor eGovernmentu\n              <br />\n              náměstí Hrdinů 1634/3\n              <br />\n              Praha 4, 140 21 &nbsp;\n              <br />\n              e-mail:&nbsp;\n              <a data-testid=\"email-link2\" href=\"mailto:pristupnost@mvcr.cz\">\n                pristupnost@mvcr.cz\n              </a>\n            </p>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default AccessibilityStatementView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport AccessibilityStatementView from './AccessibilityStatementView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../breadcrumbs/types';\n\n@AllowAnonymous()\n@AddDefaultView(AccessibilityStatementView)\n@Service()\nexport default class AccessibilityStatementViewModel extends BaseScreen implements BreadcrumbScreen {\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'accessibility-statement';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(@Inject() public localization: LocalizationService) {\n    super();\n  }\n\n  translate = translate('page.accessibility-statement', this);\n  translateFooter = translate('footer', this);\n}\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport AccordionItem from '../../../components/shared/AccordionItem/AccordionItem';\n\nexport type FaqAccordionItemProps = {\n  translate: Translator;\n  itemNum: number;\n};\n\nconst renderContent = (content: string) => {\n  return <div dangerouslySetInnerHTML={{ __html: content }} />;\n};\n\nconst FaqAccordionItem = observer(({ translate, itemNum }: FaqAccordionItemProps) => {\n  const itemNumString = itemNum.toString();\n\n  if (itemNum === 14) {\n    return (\n      <AccordionItem header={translate('item.' + itemNumString + '.header')} id={itemNumString}>\n        <>\n          <div>{renderContent(translate('item.' + itemNumString + '.body'))}</div>\n          <ol>\n            <li>{translate(`item.${itemNumString}.row1`)}</li>\n            <li>\n              {translate(`item.${itemNumString}.row2`)}\n              <ul>\n                <li>\n                  {translate(`item.${itemNumString}.row21`)}\n                  <ul>\n                    <li>{translate(`item.${itemNumString}.row211`)}</li>\n                    <li>{translate(`item.${itemNumString}.row212`)}</li>\n                    <li>{translate(`item.${itemNumString}.row213`)}</li>\n                  </ul>\n                </li>\n                <li>{translate(`item.${itemNumString}.row22`)}</li>\n              </ul>\n            </li>\n          </ol>\n          <p>{translate(`item.${itemNumString}.row3`)}</p>\n        </>\n      </AccordionItem>\n    );\n  }\n\n  return (\n    <AccordionItem header={translate('item.' + itemNumString + '.header')} id={itemNumString}>\n      <p>{renderContent(translate('item.' + itemNumString + '.body'))}</p>\n    </AccordionItem>\n  );\n});\n\nexport default FaqAccordionItem;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type FaqViewModel from './FaqViewModel';\nimport { observer } from 'mobx-react-lite';\nimport Accordion from '../../components/shared/Accordion/Accordion';\nimport FaqAccordionItem from './components/FaqAccordionItem';\nimport './FaqView.scss';\n\nconst FaqView: View<FaqViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  let items = [];\n  for (let i = 2; i <= vm.numberOfFaq; i++) {\n    // 1 nebereme - uz nemame datovky\n    if (i === 2)\n      items.push(\n        <h2 key=\"title-drivers\" className=\"mt-2 mb-2\">\n          {translate('titleDrivers')}\n        </h2>\n      );\n    if (i === 9)\n      items.push(\n        <h2 key=\"title-vehicles\" className=\"mt-4 mb-2\">\n          {translate('titleVehicles')}\n        </h2>\n      );\n    items.push(<FaqAccordionItem key={`faq-item-${i}`} translate={translate} itemNum={i} />);\n  }\n\n  return (\n    <>\n      <div className=\"gov-container view-page-faq with-footer\">\n        <div className=\"gov-container__content align-content-center\">\n          <h1>{translate('title')}</h1>\n          <Accordion>{items}</Accordion>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default FaqView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport FaqView from './FaqView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../security';\n\n@AllowAnonymous()\n@AddDefaultView(FaqView)\n@Service()\nexport default class FaqViewModel extends BaseScreen {\n  numberOfFaq = 24;\n\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'faq';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(@Inject() public localization: LocalizationService) {\n    super();\n  }\n\n  translate = translate('faq', this);\n  translateFooter = translate('footer', this);\n}\n","import React from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ProcessingPersonalDataViewModel from './ProcessingPersonalDataViewModel';\nimport { observer } from 'mobx-react-lite';\nimport './ProcessingPersonalDataView.scss';\n\nconst ProcessingPersonalDataView: View<ProcessingPersonalDataViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <>\n      <div className=\"gov-container view-processing-personal-data with-footer view-page-personal-data\">\n        <div className=\"gov-container__content align-content-center\">\n          <h1>{translate('title')}</h1>\n          <h2>{translate('title-user')}</h2>\n          <div className=\"gov-content-block\">\n            <p>\n              V souladu se zásadou transparentnosti je Ministerstvo dopravy jako správce povinen informovat\n              subjekt údajů o zpracování osobních údajů, které se tohoto subjektu údajů týkají. Informační\n              povinnost podle čl. 13 Obecného nařízení Evropského parlamentu a Rady (EU) 2016/679 ze dne 27.\n              dubna 2016 o ochraně fyzických osob v souvislosti se zpracováním osobních údajů a o volném\n              pohybu těchtoúdajůa o zrušení směrnice 95/46/ES (dále Obecné nařízení) má správce v případě, že\n              osobní údaje získal přímo od subjektu údajů, tedy subjekt údajů své osobní údaje tomuto správci\n              přímo poskytl nebo sdělil.\n            </p>\n            <p>\n              Ministerstvo dopravy podává informace o zpracování osobních údajů osob, jejichž osobní údaje\n              jsou využívány v informačním systému Portálu Dopravy. Tyto informace jsou zpracovávány na\n              základěplnění zákonné povinnosti.\n            </p>\n            <p>\n              Využijete-li prostřednictvím Portálu dopravy služby v oblasti plavby dostupné po přihlášení v\n              sekci „Plavba“, předává Ministerstvo dopravy poskytnuté osobní údaje Státní plavební správě,\n              která je zapisuje do registrů vedených podle zákona č. 114/1995 Sb., o vnitrozemské plavbě. Pro\n              toto navazující zpracování ve svých registrech vystupuje Státní plavební správa jako samostatný\n              správce, který určuje jeho účely a prostředky nezávisle na Ministerstvu dopravy. Podrobnosti viz\n              řádek „Předání Státní plavební správě“ v tabulce níže.\n            </p>\n            <p>\n              Tato informace o zpracování osobních údajů může být v budoucnu na základě legislativních či\n              provozních potřeb měněna. O případné změně Vás, pokud to bude možné, budeme informovat. Aktuální\n              podobu informace naleznete vždy na našich webových stránkách{' '}\n              <a data-testid=\"doprava-link\" href=\"https://doprava.gov.cz/processing-personal-data\">\n                https://doprava.gov.cz/processing-personal-data\n              </a>\n            </p>\n            <div className=\"gov-table-cover\">\n              <table>\n                <tr>\n                  <td colSpan={3}>\n                    <b>Portál dopravy – informace dle článku 13 Obecného nařízení</b>\n                  </td>\n                </tr>\n                <tr>\n                  <td>\n                    <b>Informace o správci</b>\n                  </td>\n                  <td>\n                    <b>Ministerstvo dopravy</b>\n                    <br />\n                    <span>IČO - 66003008</span>\n                  </td>\n                  <td>\n                    <span>Adresa: nábřeží Ludvíka </span>\n                    <br />\n                    <span>Svobody 1222/12</span>\n                    <br />\n                    <span>110 15 Praha 1</span>\n                    <br />\n                    <span>telefon: 225 131 111</span>\n                    <br />\n                    <span>ID datové schránky: n75aau3</span>\n                    <br />\n                    <span>\n                      email:{' '}\n                      <a data-testid=\"posta-link\" href=\"mailto:posta@mdcr.cz\">\n                        posta@mdcr.cz\n                      </a>\n                    </span>\n                    <br />\n                    <span>\n                      Web:{' '}\n                      <a data-testid=\"mdcr-link\" target=\"_blank\" href=\"https://www.mdcr.cz\">\n                        www.mdcr.cz\n                      </a>{' '}\n                    </span>\n                  </td>\n                </tr>\n                <tr>\n                  <td></td>\n                  <td>Pověřenec pro ochranu osobních údajů</td>\n                  <td>\n                    <a data-testid=\"poverenec-link\" href=\"mailto:poverenec@mdcr.cz\">\n                      poverenec@mdcr.cz\n                    </a>\n                  </td>\n                </tr>\n                <tr>\n                  <td>\n                    <b>Zpracování osobních údajů</b>\n                  </td>\n                  <td>\n                    Zdroj osobních údajů\n                    <ul>\n                      <li>subjekt údajů</li>\n                    </ul>\n                  </td>\n                  <td></td>\n                </tr>\n                <tr>\n                  <td></td>\n                  <td>\n                    Účel zpracování:\n                    <ul>\n                      <li>\n                        přístup k informacím veřejných orgánů a komunikaci s veřejnými orgány (zákona č.\n                        365/2000 Sb., o informačních systémech veřejné správy, zákona č. 111/2009 Sb. o\n                        základních registrech.\n                      </li>\n                      <li>\n                        § 4 zákona č. 56/2001 Sb. o podmínkách provozu vozidel na pozemních komunikacích a o\n                        změně zákona č. 168/1999 Sb., o pojištění odpovědnosti za škodu způsobenou provozem\n                        vozidla a o změně některých souvisejících zákonů (zákon o pojištění odpovědnosti z\n                        provozu vozidla), ve znění zákona č. 307/1999 Sb.\n                      </li>\n                      <li>\n                        zákona č. 361/2000 Sb. o provozu na pozemních komunikacích a o změnách některých\n                        zákonů\n                      </li>\n                      <li>\n                        vyhlášky č. 31/2001 Sb. Ministerstva dopravy a spojů o řidičských průkazech a o\n                        registru řidičů.\n                      </li>\n\n                      <li>evidenci právního zastoupení fyzických a právnických osob, </li>\n                      <li>\n                        umožnění zmocněncům přistupovat k vybraným službám Portálu dopravy jménem\n                        zmocnitele,{' '}\n                      </li>\n                      <li>\n                        zajištění právní jistoty a auditní dohledatelnosti úkonů prováděných zmocněncem.{' '}\n                      </li>\n                      <li>\n                        Vyřízení žádosti o vydání dokladů (řidičský průkaz, karta do digitálního\n                        tachografu),{' '}\n                      </li>\n                      <li>\n                        Zajištění úhrady správního poplatku online (např. Kartou, Apple Pay, Google Pay),{' '}\n                      </li>\n                      <li>Doručení vydaného dokladu prostřednictvím služby Balíkovna (box České pošty), </li>\n                      <li>\n                        Evidence průběhu řízení, platby a doručení za účelem zpětné kontroly a\n                        ověřitelnosti.{' '}\n                      </li>\n                    </ul>\n                  </td>\n                  <td></td>\n                </tr>\n                <tr>\n                  <td></td>\n                  <td>\n                    Právní základ zpracování:\n                    <ul>\n                      <li>Plnění právní povinnosti dle čl. 6 odst. 1 písm. c) Obecného nařízení.</li>\n\n                      <li>Vedení záznamů o zastupování</li>\n                      <li>Ověření identity osob</li>\n                      <li>Logování a bezpečnostní monitoring</li>\n                      <li>Vyřízení žádosti a vydání dokladu</li>\n                      <li>Evidence platby a doručení</li>\n                      <li>Evidence stavu platby, ID boxu a metadat</li>\n                    </ul>\n                  </td>\n                  <td className=\"cl-items\">\n                    <p>Čl.13 odst. 1 písm. c)</p>\n                    <p>Čl. 6 odst. 1 písm. e)</p>\n                    <p>Čl. 6 odst. 1 písm. c)</p>\n                    <p>Čl. 6 odst. 1 písm. f)</p>\n                    <p>Čl. 6 odst. 1 písm. C)</p>\n                    <p>Čl. 6 odst. 1 písm. E)</p>\n                    <p>Čl. 6 odst. 1 písm. F)</p>\n                  </td>\n                </tr>\n                <tr>\n                  <td></td>\n                  <td>\n                    Doba uložení:\n                    <ul>\n                      <li>Osobní údaje jsou zpracovávány po dobu využívání služby uživatelem.</li>\n                      <li>\n                        Logy jsou uchovávány dle požadavků zákona č.181/2014 o kybernetické bezpečnosti a\n                        souvisejících právních předpisu.\n                      </li>\n                    </ul>\n                  </td>\n                  <td>Čl.13 odst. 2 písm. a)</td>\n                </tr>\n                <tr>\n                  <td></td>\n                  <td>\n                    Máte povinnost osobní údaje poskytnout?:\n                    <ul>\n                      <li>Ano, pokud chcete využívat služeb Portálu dopravy</li>\n                    </ul>\n                  </td>\n                  <td>Čl.13 odst. 2 písm. e)</td>\n                </tr>\n\n                <tr>\n                  <td>\n                    <b>Kategorie zpracovávaných údajů</b>\n                  </td>\n                  <td>\n                    <ul>\n                      <li>\n                        Identifikační údaje: jméno, příjmení, datum narození, rodné číslo (v rozsahu dle\n                        zákona), IČO{' '}\n                      </li>\n                      <li>Kontaktní údaje: e-mail, telefon, ID balíkovny (v případě uvedení) </li>\n                      <li>Údaje o vztahu zastoupení: rozsah zmocnění, časová platnost, typ úkonů </li>\n                      <li>\n                        Technické a auditní údaje: IP adresa, čas přístupu, identifikátor zařízení, typ\n                        operace{' '}\n                      </li>\n                      <li>Údaje o platbě</li>\n                    </ul>\n                  </td>\n                  <td></td>\n                </tr>\n\n                <tr>\n                  <td>\n                    <b>Příjemci osobních údajů</b>\n                  </td>\n                  <td>\n                    V rámci české republiky:\n                    <ul>\n                      <li>\n                        Oprávnění pracovníci správce a jeho smluvních zpracovatelů (např. provozovatelé\n                        Portálu dopravy, vývojáři IS){' '}\n                      </li>\n                      <li>\n                        Orgány veřejné moci, pokud tak stanoví zákon (např. správní orgány v dopravních\n                        agendách){' '}\n                      </li>\n                      <li>\n                        Subjekty využívající registr zastupování (např. zmocněnec přistupující jménem\n                        zmocnitele)\n                      </li>\n                      <li>Česká pošta, s.p. – jako provozovatel služby Balíkovna, </li>\n                      <li>\n                        Státní tiskárna cenin, s. p. – jako zpracovatel zapojený do navazujícího procesu\n                        výroby, personalizace, kompletace a přípravy k předání nebo doručení řidičských\n                        průkazů, řidičských průkazů s vyznačenou profesní způsobilostí a karet řidiče do\n                        digitálního tachografu; Portál dopravy nepředává osobní údaje Státní tiskárně cenin,\n                        s. p. přímo, ale elektronická žádost je nejprve předána do příslušného cílového\n                        systému, zejména CRŘ nebo ISDT, který předává pouze podklady nezbytné pro výrobu,\n                        personalizaci a doručení příslušného dokladu.\n                      </li>\n                      <li>Poskytovatelé platebních bran</li>\n                      <li>\n                        Státní plavební správa – u služeb v oblasti plavby dostupných po přihlášení do portálu\n                        v sekci „Plavba“; nevystupuje jako zpracovatel, ale jako samostatný správce pro\n                        zpracování ve svých registrech (viz řádek „Předání Státní plavební správě“){' '}\n                      </li>\n                    </ul>\n                  </td>\n                  <td>Čl.13 odst. 1 písm. e)</td>\n                </tr>\n\n                <tr>\n                  <td></td>\n                  <td>\n                    Mezinárodní spolupráce či třetí země:\n                    <ul>\n                      <li>\n                        Ministerstvo dopravy nepředává osobní údaje mezinárodním organizacím či do třetích\n                        zemí.\n                      </li>\n                    </ul>\n                  </td>\n                  <td>Čl.13 odst. 1 písm. e)</td>\n                </tr>\n\n                <tr>\n                  <td>\n                    <b>Předání Státní plavební správě </b>\n                  </td>\n                  <td>\n                    <p>\n                      Využijete-li prostřednictvím Portálu dopravy služby v oblasti plavby, předává\n                      Ministerstvo dopravy vámi poskytnuté osobní údaje Státní plavební správě, která je\n                      zapisuje do registrů vedených podle zákona č. 114/1995 Sb., o vnitrozemské plavbě.\n                    </p>\n                    <p> Identifikační údaje Státní plavební správy jako samostatného správce: </p>\n                    <ul>\n                      <li>Státní plavební správa</li>\n                      <li>sídlem Jankovcova 4, 170 04 Praha 7</li>\n                      <li>IČO 00003352</li>\n                    </ul>\n                    <p>\n                      Okamžikem předání a zápisu do těchto registrů se správcem osobních údajů pro dané\n                      zpracování stává Státní plavební správa, která určuje jeho účely a prostředky samostatně\n                      na základě zákona. Ministerstvo dopravy odpovídá za zpracování spojené s provozem\n                      Portálu dopravy a s předáním údajů; za následné zpracování ve svých registrech odpovídá\n                      Státní plavební správa jako samostatný správce.\n                    </p>\n                    <p>\n                      Podrobné informace o zpracování osobních údajů v registrech Státní plavební správy,\n                      včetně účelů, doby uchování a způsobu uplatnění vašich práv, naleznete v informaci o\n                      zpracování osobních údajů Státní plavební správy: <br />\n                      <a href=\"https://sps.gov.cz/organizace/gdpr\" target=\"_blank\">\n                        https://sps.gov.cz/organizace/gdpr\n                      </a>\n                    </p>\n                  </td>\n                  <td>\n                    <p>Čl. 13 odst. 1 písm. e)</p>\n                    <p>Čl. 4 odst. 7 (samostatný správce)</p>\n                  </td>\n                </tr>\n\n                <tr>\n                  <td>\n                    <b>Doba uchování údajů</b>\n                  </td>\n                  <td>Údaje o platbě a doručení</td>\n                  <td>5 let (správní audit, účetnictví) </td>\n                </tr>\n\n                <tr>\n                  <td></td>\n                  <td>Technická metadata a logy</td>\n                  <td>3 roky (bezpečnostní audit a troubleshooting) </td>\n                </tr>\n\n                <tr>\n                  <td></td>\n                  <td>Metadata případu (např. JSON o průběhu řízení)</td>\n                  <td>5 let od ukončení správního řízení </td>\n                </tr>\n\n                <tr>\n                  <td>\n                    <b>Vaše práva</b>\n                  </td>\n                  <td>\n                    Ohledně Vašich osobních údajů máte právo práv od Ministerstva dopravy požadovat:\n                    <ul>\n                      <li>přístup k nim (článek 15 Obecného nařízení)</li>\n                      <li>jejich opravu (článek 16 Obecného nařízení)</li>\n                      <li>jejich výmaz (článek 17 Obecného nařízení)</li>\n                      <li>omezení jejich zpracování (článek 18 Obecného nařízení)</li>\n                      <li>vznést námitku proti zpracování (čl. 21 – u oprávněného zájmu)</li>\n                      <li>\n                        podat stížnost u dozorového úřadu: <br />\n                        Úřad pro ochranu osobních údajů,{' '}\n                        <a data-testid=\"uoou-link\" target=\"_blank\" href=\"https://www.uoou.cz\">\n                          www.uoou.cz\n                        </a>\n                      </li>\n                    </ul>\n                  </td>\n                  <td>Čl.13 odst. 2 písm. b)</td>\n                </tr>\n                <tr>\n                  <td>\n                    <b>Automatizované rozhodování / profilování </b>\n                  </td>\n                  <td>\n                    V rámci služby <b>nedochází k automatizovanému rozhodování ani profilování</b> dle čl. 22\n                    GDPR.\n                  </td>\n                  <td></td>\n                </tr>\n                <tr>\n                  <td></td>\n                  <td>\n                    Máte právo podat stížnost u Úřadu pro ochranu osobních údajů jako dozorového orgánu.{' '}\n                    <br />\n                    IČ: 70837627 <br />\n                    Adresa: Pplk. Sochora 27, 170 00 Praha 7 <br />\n                    E-mail:{' '}\n                    <a data-testid=\"posta-link\" href=\"mailto:posta@uoou.cz\">\n                      posta@uoou.cz\n                    </a>{' '}\n                    <br />\n                  </td>\n                  <td>Čl.13 odst. 2 písm. d)</td>\n                </tr>\n              </table>\n            </div>\n          </div>\n          <h2 id=\"cookies\" className=\"mt-5\">\n            {translate('title-cookie')}\n          </h2>\n          <div className=\"gov-content-block\">\n            <p>\n              Pro správnou funkci stránek je někdy nezbytné umístit malé datové soubory, označované jako\n              cookies, na vaše zařízení.\n            </p>\n            <p>\n              <strong>Co jsou cookies? </strong>\n            </p>\n            <p>\n              Cookies jsou malé textové soubory, které internetové stránky ukládají na váš počítač nebo\n              mobilní zařízení v okamžiku, kdy tyto stránky začnete využívat. Stránky si tak na určitou dobu\n              zapamatují vaše preference a úkony, které jste na nich provedli (např. přihlašovací údaje,\n              jazyk, velikost písma a jiné zobrazovací preference), takže tyto údaje pak nemusíte zadávat\n              znovu a přeskakovat z jedné stránky na druhou.\n            </p>\n            <div className=\"gov-table-cover\">\n              <table>\n                <tr>\n                  <th>Název</th>\n                  <th>Doporučení</th>\n                  <th>Expirace</th>\n                  <th>Kdo má přístup k informacím</th>\n                  <th>Popis</th>\n                  <th>Kategorie</th>\n                </tr>\n                <tr>\n                  <td>\n                    ai_user\n                    <br />\n                    ai_session\n                  </td>\n                  <td>Možné blokovat</td>\n                  <td>1 rok</td>\n                  <td>\n                    doprava.gov.cz\n                    <br />\n                    Microsoft Azure\n                  </td>\n                  <td>\n                    Slouží ke shromažďování statistických údajů o využití webových stránek. Cookie ukládá\n                    jedinečný anonymní identifikátor pro rozpoznávání uživatelů při opakovaných návštěvách.\n                  </td>\n                  <td>Statistické a výkonnostní</td>\n                </tr>\n                <tr>\n                  <td>_pk_id*</td>\n                  <td>Možné blokovat</td>\n                  <td>13 měsíců</td>\n                  <td>\n                    doprava.gov.cz\n                    <br />\n                    Matomo\n                  </td>\n                  <td>Uložení unikátního user ID.</td>\n                  <td>Statistické a výkonnostní</td>\n                </tr>\n                <tr>\n                  <td>_pk_ses*</td>\n                  <td>Možné blokovat</td>\n                  <td>Session</td>\n                  <td>\n                    doprava.gov.cz\n                    <br />\n                    Matomo\n                  </td>\n                  <td>Uložení unikátního session ID.</td>\n                  <td>Statistické a výkonnostní</td>\n                </tr>\n                <tr>\n                  <td>mtm_consent_removed</td>\n                  <td>Nedoporučujeme blokovat</td>\n                  <td>2 roky</td>\n                  <td>\n                    doprava.gov.cz\n                    <br />\n                    Matomo\n                  </td>\n                  <td>Pamatuje si odhlášení z analyzování webových stránek.</td>\n                  <td>Nezbytné funkční</td>\n                </tr>\n                <tr>\n                  <td>MATOMO_SESSID</td>\n                  <td>Nedoporučujeme blokovat</td>\n                  <td>14 dní</td>\n                  <td>\n                    doprava.gov.cz\n                    <br />\n                    Matomo\n                  </td>\n                  <td>\n                    Slouží k zabezpečení formuláře pro odhlašování z analýzy webových stránek. Neobsahuje\n                    žádné osobní údaje.\n                  </td>\n                  <td>Nezbytné funkční</td>\n                </tr>\n              </table>\n            </div>\n            <p>\n              Používáme cookies třetích stran, které nám pomáhají vylepšovat nebo propagovat Portál dopravy.\n              Zároveň těmto stranám v žádném případě neodesíláme obsah prohlížených stránek. Stejně tak není\n              technicky možná identifikace konkrétního uživatele Portálu dopravy skrze jakoukoli cookie třetí\n              strany.\n            </p>\n            <ul>\n              <li>\n                Application insights (název cookies: ai_user, ai_session) slouží ke shromažďování\n                statistických údajů o využívání webových stránek. Cookie ukládá jedinečný identifikátor pro\n                rozpoznávání uživatelů při opakovaných návštěvách (\n                <a\n                  data-testid=\"application-insights-link\"\n                  href=\"https://docs.microsoft.com/cs-cz/azure/azure-monitor/app/app-insights-overview\"\n                  target=\"_blank\"\n                >\n                  popis fungování Application insights\n                </a>\n                ).\n              </li>\n              <li>\n                Matomo pro analýzu návštěvnosti. Více o Matomo cookies se můžete dozvědět{' '}\n                <a data-testid=\"matomo-link\" href=\"https://matomo.org/faq/general/faq_146/\" target=\"_blank\">\n                  na webu Matomo\n                </a>\n                .\n              </li>\n            </ul>\n          </div>\n          <h2 id=\"use-matomo\" className=\"mt-5\">\n            {translate('title-matomo')}\n          </h2>\n          <div className=\"gov-content-block\">\n            <p>\n              V souvislosti s vaším používáním služeb Portálu dopravy mohou být sbírány informace o vašem\n              použití Portálu.\n            </p>\n            <p>\n              V případě, že tento web navštívíte, uložíme si: web, ze kterého jste nás navštívili, části\n              Portálu, které navštívíte, datum a dobu trvání vaší návštěvy, vaši anonymizovanou IP adresu,\n              informace ze zařízení (typ zařízení, operační systém, rozlišení obrazovky, jazyk, země, ve které\n              se nacházíte, a typ webového prohlížeče) použitého při návštěvě, a další analytická data. Tyto\n              údaje o používání zpracováváme v Matomo Analytics pro statistické účely, abychom zlepšili naše\n              stránky a abychom znemožnili jakékoli zneužití.\n            </p>\n          </div>\n          <h2 id=\"cookies-settings\" className=\"mt-5\">\n            {translate('title-cookie-settings')}\n          </h2>\n          <div className=\"gov-content-block\">\n            <p>\n              Při vašich návštěvách webů z domény gov.cz používáme níže uvedené typy cookies. Vy nám udělujete\n              souhlas k použitím všech, nebo jen vybraných typů. Vaše dříve udělené souhlasy zde můžete\n              upravit.\n            </p>\n            <p>\n              <button\n                data-testid=\"cookie-settings-button\"\n                className=\"gov-button gov-button--primary\"\n                onClick={() => vm?.cookieService.setDetailVisible(true)}\n              >\n                {translate('button-cookie-settings')}\n              </button>\n            </p>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default ProcessingPersonalDataView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ProcessingPersonalDataView from './ProcessingPersonalDataView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../breadcrumbs/types';\nimport CookieService from '../../services/CookieService';\n\n@AllowAnonymous()\n@AddDefaultView(ProcessingPersonalDataView)\n@Service()\nexport default class ProcessingPersonalDataViewModel extends BaseScreen implements BreadcrumbScreen {\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'processing-personal-data';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public cookieService: CookieService\n  ) {\n    super();\n  }\n\n  translate = translate('page.processing-personal-data', this);\n  translateFooter = translate('footer', this);\n}\n","import React from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SupportViewModel from './SupportViewModel';\nimport { observer } from 'mobx-react-lite';\nimport './SupportView.scss';\nimport CardLink from '../../components/navigation/CardLink';\nimport Envelope from '../../components/layout/Envelope';\n\nconst SupportView: View<SupportViewModel> = observer(({ vm }) => {\n  const { translate, navSupportForm, isAuthed } = vm;\n\n  return (\n    <>\n      <div className=\"gov-container view-page-support with-footer\">\n        <div className=\"gov-container__content align-content-center\">\n          <h1>{translate('title')}</h1>\n\n          <div className=\"row\">\n            <div className=\"col-md-6 mb-4\">\n              <Envelope>\n                <div className=\"row\">\n                  <h2>{translate('contacts')}</h2>\n                  <div className=\"col-sm-6\">\n                    <div className=\"full-line\">\n                      <small>{translate('title-tel')}</small>\n                      <br />\n                      <p>\n                        <a data-testid=\"support-tel\" href={'tel:' + translate('tel')}>\n                          {translate('tel')}\n                        </a>\n                      </p>\n                    </div>\n                    <div className=\"full-line\">\n                      <small>{translate('title-email')}</small>\n                      <br />\n                      <p>\n                        <a data-testid=\"support-email\" href={'mailto:' + translate('email')}>\n                          {translate('email')}\n                        </a>\n                      </p>\n                    </div>\n                  </div>\n                  <div className=\"col-sm-6\">\n                    <div className=\"full-line\">\n                      <small>{translate('title-2')}</small>\n                      <br />\n                      <p>\n                        <span className=\"text-uppercase\">{translate('days')}</span> {translate('hours')}\n                      </p>\n                    </div>\n                  </div>\n                </div>\n              </Envelope>\n            </div>\n\n            <div className=\"col-md-6 mb-4\">\n              {isAuthed && (\n                <CardLink\n                  name={translate('request')}\n                  link={navSupportForm}\n                  text={translate('request-text')}\n                  testId=\"support-form\"\n                />\n              )}\n            </div>\n          </div>\n          <h1>{translate('title-providers')}</h1>\n          <div className=\"row\">\n            <div className=\"col-md-6 mb-4\">\n              <Envelope>\n                <div className=\"row\">\n                  <h2 className=\"mb-2\">{translate('providers.md')}</h2>\n                  <div className=\"full-line\">\n                    {translate('providers.md-address-row1')}\n                    <br />\n                    {translate('providers.md-address-row2')}\n                    <br />\n                    {translate('providers.md-ico')}\n                  </div>\n                </div>\n                <br />\n                <div className=\"row\">\n                  <h2 className=\"mb-2\">{translate('providers.sps')}</h2>\n                  <div className=\"full-line\">\n                    {translate('providers.sps-address-row1')}\n                    <br />\n                    {translate('providers.sps-address-row2')}\n                    <br />\n                    {translate('providers.sps-ico')}\n                  </div>\n                </div>\n              </Envelope>\n            </div>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default SupportView;\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SupportView from './SupportView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../security';\nimport SupportFormViewModel from './supportForm/SupportFormViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport AuthService from '../../services/AuthService';\n\n@AllowAnonymous()\n@AddDefaultView(SupportView)\n@AddChildrenView()\n@Service()\nexport default class SupportViewModel extends BaseScreen {\n  @observable isAuthed: boolean = false;\n\n  get pathNode(): string {\n    return 'support';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public authService: AuthService,\n    @Inject() private supportFormVM: SupportFormViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(supportFormVM);\n  }\n\n  @action.bound\n  activate() {\n    const auth = this.authService.getAuth();\n    if (auth) {\n      this.isAuthed = true;\n    }\n  }\n\n  @computed get navSupportForm() {\n    return this.navigator(SupportFormViewModel);\n  }\n\n  translate = translate('support', this);\n  translateFooter = translate('footer', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type TariffChargesViewModel from './TariffChargesViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport TariffCharges from '../components/TariffCharges/TariffCharges';\nimport { SectionContainer } from '@components/sidebar/NavigationContext';\n\nconst TariffChargesView: View<TariffChargesViewModel> = observer(({ vm }) => {\n  return (\n    <SectionContainer>\n      <TariffCharges translate={vm.translate} />\n    </SectionContainer>\n  );\n});\n\nexport default TariffChargesView;\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport TariffChargesView from './TariffChargesView';\nimport { AllowAnonymous } from '../security';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\n\n@AllowAnonymous()\n@AddDefaultView(TariffChargesView)\n@Service()\nexport default class TariffChargesViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'tariff-charges';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(@Inject() public localization: LocalizationService) {\n    super();\n    makeObservable(this);\n  }\n\n  translate = translate('tariff-charges', this);\n  translateFooter = translate('footer', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SupportFormViewModel from './SupportFormViewModel';\nimport { observer } from 'mobx-react-lite';\nimport Input from '../../../components/form/Input';\nimport ScreenContext from '../../../components/ScreenContext';\nimport Textarea from '../../../components/form/Textarea';\nimport DragAndDropFile from '../../../components/form/DragAndDropFile/DragAndDropFile';\nimport React, { useState } from 'react';\nimport ErrorMessage from '../../../components/form/ErrorMessage';\nimport LoaderBox from '../../../components/layout/LoaderBox';\nimport './SupportFormView.scss';\nimport Button from '../../../components/shared/Button/Button';\nimport ButtonLoader from '../../../components/loader/ButtonLoader';\n\nconst fileSize = 10485760; // 10MB in binary Bytes\nconst SupportFormView: View<SupportFormViewModel> = observer(({ vm }) => {\n  const {\n    busyWatcherSend,\n    busyWatcher,\n    sendForm,\n    translate,\n    supportFormModel,\n    validationsFired,\n    setFile,\n    unsetFiles,\n    files,\n    isLoading,\n  } = vm;\n  const [filesSize, setFilesSize] = useState(0);\n\n  const handleFile = (file: File | FileList, description: string) => {\n    setFile(file, description);\n  };\n\n  const handleSetFileSize = (size: number) => {\n    setFilesSize((prevState) => prevState + size);\n  };\n\n  const handleRemoveFile = (fileName: string) => {\n    unsetFiles(fileName);\n  };\n\n  const isSizeAllowed = (): boolean => {\n    let size = files.reduce((prev, curr) => prev + curr.file.size, 0);\n\n    return size < fileSize;\n  };\n\n  return (\n    <>\n      <div className=\"gov-container support-form\">\n        <ScreenContext value={vm}>\n          <div className=\"row\">\n            <div className=\"col-sm-2 col-md-3 col-lg-4 col-1\"></div>\n            <div className=\"form-envelope col-sm-8 col-md-6 col-lg-4 col-10\">\n              <h1 className=\"py-3\">{translate('title')}</h1>\n              {isLoading ? (\n                <LoaderBox type=\"box-small\" />\n              ) : (\n                <>\n                  <Input target={supportFormModel} property={'subject'} maxLength={50} />\n                  <Textarea target={supportFormModel} property={'description'} maxLength={2000} />\n                </>\n              )}\n\n              <DragAndDropFile\n                files={files.filter((file) => file.description)}\n                filesLabel={translate('dragAndDrop.files-label')}\n                handleFile={handleFile}\n                handleRemoveFile={handleRemoveFile}\n                key={0}\n                id={0}\n                label={translate('dragAndDrop.add-attachment')}\n                buttonLabel={translate('dragAndDrop.attachment-button')}\n                infoLabel={translate('dragAndDrop.drag-attachment')}\n                formats={'doc,docx,png,pdf,jpg,jpeg,tif,tiff,zip'.split(',')}\n                isMandatory={false}\n                validationsFired={validationsFired}\n                allowedFileSize={fileSize}\n                fileTypeError={translate('dragAndDrop.format-error')}\n                fileSizeError={translate('dragAndDrop.size-error')}\n                isMultiple={false}\n                filesSize={filesSize}\n                setFilesSize={handleSetFileSize}\n                generalTranslate={translate}\n              />\n              {!isSizeAllowed() && (\n                <ErrorMessage className=\"align-items-center mt-4\">\n                  {translate('file.sizes-error')}\n                </ErrorMessage>\n              )}\n\n              <h3>{translate('contact-info')}</h3>\n              {busyWatcher.isBusy ? (\n                <LoaderBox type=\"box-small\" />\n              ) : (\n                <>\n                  <Input target={supportFormModel} property={'email'} />\n                  <Input target={supportFormModel} property={'phone'} />\n                </>\n              )}\n              <p className=\"notice mb-2\">{translate('notice')}</p>\n              <p className=\"notice\">{translate('notice2')}</p>\n              <div className=\"d-flex justify-content-end\">\n                {busyWatcher.isBusy || busyWatcherSend.isBusy ? (\n                  <ButtonLoader classes=\"gov-button gov-button gov-button--primary-outlined gov-button--normal\" />\n                ) : (\n                  <Button testId=\"send-button\" onClick={sendForm} text={translate('send')} />\n                )}\n              </div>\n            </div>\n            <div className=\"col-sm-2 col-md-3 col-lg-4 col-1\"></div>\n          </div>\n        </ScreenContext>\n      </div>\n    </>\n  );\n});\n\nexport default SupportFormView;\n","import React from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SupportFormSuccessViewModel from './SupportFormSuccessViewModel';\nimport { observer } from 'mobx-react-lite';\nimport Envelope from '../../../components/layout/Envelope';\nimport SuccessMessage from '../../../components/form/SuccessMessage';\nimport Container from '../../../components/layout/Container';\nimport InfoBox from '../../../components/shared/InfoBox/InfoBox';\nimport Button from '../../../components/shared/Button/Button';\n\nconst SupportFormSuccessView: View<SupportFormSuccessViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <Envelope>\n        {vm?.requestId ? (\n          <SuccessMessage\n            text={translate('titleRequestId').replace('{requestId}', vm?.requestId.toString())}\n          />\n        ) : (\n          <SuccessMessage text={translate('title')} />\n        )}\n        <InfoBox>\n          <p>\n            {translate('info')}\n            <br />\n            {translate('info2')}\n          </p>\n        </InfoBox>\n        <div className=\"u-align--right mt-4\">\n          <Button\n            testId=\"nav-to-support-button\"\n            onClick={() => vm?.navToSupport()}\n            text={translate('buttonText')}\n          />\n        </div>\n      </Envelope>\n    </Container>\n  );\n});\n\nexport default SupportFormSuccessView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SupportFormSuccessView from './SupportFormSuccessView';\nimport { Inject, Service } from 'typedi';\nimport { makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport type { BreadcrumbScreen, BreadcrumbControl } from '../../breadcrumbs/types';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport SupportViewModel from '../SupportViewModel';\n\n@AddDefaultView(SupportFormSuccessView)\n@Service()\nexport default class SupportFormSuccessViewModel extends BaseScreen implements BreadcrumbScreen {\n  @observable requestId?: number;\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  get pathNode(): string {\n    return '/requestId/-success';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(@Inject() public localization: LocalizationService) {\n    super();\n    makeObservable(this);\n  }\n\n  async acceptNavigationParams(params: PathParams) {\n    const { requestId } = params;\n    if (requestId) {\n      this.requestId = Number(requestId);\n    }\n  }\n\n  navToSupport() {\n    this.navigator(SupportViewModel).go();\n  }\n\n  translate = translate('support.form.success', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SupportFormView from './SupportFormView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport SupportFormModel, { SupportFormValidators } from '../../../data/entities/support/SupportFormModel';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport SupportFormSuccessViewModel from './SupportFormSuccessViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ApiService from 'src/services/ApiService';\n\n@AddDefaultView(SupportFormView)\n@AddChildrenView()\n@Service()\nexport default class SupportFormViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  busyWatcherSend = new BusyWatcher();\n  @observable validation = new ValidationContext();\n  @observable isLoading = true;\n  @observable supportFormModel = new SupportFormModel();\n  @observable validationsFired = false;\n  @observable files: { file: File; description: string }[] = [];\n  @observable fileNames: string[] | undefined = [];\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private supportFormSuccessViewModel: SupportFormSuccessViewModel,\n    @Inject() private apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(this.supportFormSuccessViewModel);\n    this.validation.attachDescriptor(this.supportFormModel, SupportFormValidators);\n  }\n\n  @action\n  deactivate() {\n    this.supportFormModel.description = '';\n    this.supportFormModel.content = undefined;\n    this.supportFormModel.subject = '';\n    this.fileNames = [];\n    this.files = [];\n  }\n\n  @Watch<SupportFormViewModel>((s) => s.busyWatcher)\n  async notifyNavigation() {\n    const person = await this.apiService.egonApi.user.getPdApiEgonV1UserContactInfo(false);\n    const queryParams = new URLSearchParams(window.location.search);\n    const subject = queryParams.get('subject');\n    const text = queryParams.get('text');\n\n    runInAction(() => {\n      this.supportFormModel.email = person?.email ?? '';\n      this.supportFormModel.phone = person?.phone ?? '';\n      this.supportFormModel.subject = subject ?? '';\n      this.supportFormModel.description = text ? text.replace(/\\[\\[NL\\]\\]/g, '\\n') : '';\n    });\n\n    this.isLoading = false;\n  }\n\n  @action.bound\n  setFile(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      const index = this.files.findIndex((item) => item.description === description);\n\n      if (index >= 0) {\n        this.files.splice(index, 1);\n        this.fileNames?.splice(index, 1);\n      }\n\n      this.files?.push({ file, description });\n      this.fileNames?.push(file.name);\n      this.supportFormModel.content = file;\n    }\n  }\n\n  @action.bound\n  unsetFiles(fileName: string) {\n    this.supportFormModel.content = undefined;\n    const index = this.files.findIndex((item) => item.file.name === fileName);\n    if (index >= 0) this.files.splice(index, 1);\n  }\n\n  @action.bound\n  async sendForm() {\n    if (this.validation.validateObject(this.supportFormModel)) {\n      const data = await this.sendFormData();\n\n      if (data) {\n        this.navigator(SupportFormSuccessViewModel, { requestId: data.id }).go();\n      } else {\n        throw Error('Send Error');\n      }\n    }\n  }\n\n  @Watch<SupportFormViewModel>((s) => s.busyWatcherSend)\n  async sendFormData() {\n    const formData = this.getMapFormData();\n    const data = this.apiService.supportApi.supports.postPdApiSupportV1Support(formData);\n    this.deactivate();\n    return data;\n  }\n\n  private getMapFormData(): {\n    Email: string;\n    PhoneNumber?: string;\n    Subject: string;\n    Description: string;\n    Content?: Blob;\n  } {\n    return {\n      Email: this.supportFormModel.email,\n      Subject: this.supportFormModel.subject,\n      Description: this.addMetadataToDescription(this.supportFormModel.description),\n      PhoneNumber: this.supportFormModel.phone || undefined,\n      Content: this.supportFormModel.content || undefined,\n    };\n  }\n\n  private addMetadataToDescription(description: string) {\n    description += '\\n';\n    description += '-------------' + '\\n';\n    description += 'userAgent:' + window.navigator.userAgent + '\\n';\n    description += 'platform:' + window.navigator.platform + '\\n';\n    description += 'language:' + window.navigator.language + '\\n';\n\n    return description;\n  }\n\n  translate = translate('support.form', this);\n  translateFooter = translate('footer', this);\n}\n","import React from 'react';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport './TaxiCard.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\nexport type TaxiCardProps = {\n  text?: string;\n  name: string;\n  icon: string;\n  route: IRoute;\n  isActive?: boolean;\n};\n\nconst TaxiCard = ({ text, name, icon, route, isActive }: TaxiCardProps) => {\n  const isActiveClass = isActive ? 'isActive' : '';\n\n  return (\n    <div className=\"acard component-navigation-taxicard\">\n      <a\n        data-testid=\"taxi-card\"\n        className={getClassName('taxi-card', isActiveClass)}\n        href={route.getLinkLocation()}\n        onClick={(e) => {\n          e.preventDefault();\n          route.go();\n        }}\n        aria-label={text}\n      >\n        <img className=\"icon\" src={icon} alt={name} />\n        <div>\n          <h2>{name}</h2>\n          {text && <p>{text}</p>}\n        </div>\n        <img className=\"chevron\" src=\"site-public/img/icon/taxi-chevron.svg\" />\n      </a>\n    </div>\n  );\n};\n\nexport default TaxiCard;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type TaxiViewModel from './TaxiViewModel';\nimport { observer } from 'mobx-react-lite';\nimport Container from '@components/layout/Container';\nimport TaxiCard from './components/TaxiCard';\nimport './TaxiView.scss';\nimport ScreenContext from '@components/ScreenContext';\nimport Accordion from '@components/shared/Accordion/Accordion';\nimport AccordionItem from '@components/shared/AccordionItem/AccordionItem';\nimport useRoute from '@cendis/cedr-framework/dist/hooks/useRoute';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\n\nconst TaxiView: View<TaxiViewModel> = observer(({ vm }) => {\n  const { translate, navFaq, navVehicleVerification, navLicenseVerification } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container wide className=\"taxi view-processing-personal-data with-footer view-page-personal-data\">\n        <div className=\"row\">\n          <h1 className=\"mb-4\">{translate('title')}</h1>\n\n          {/*  LEFT COLUMN */}\n          <div className=\"taxicard-container col-md-5 mb-4\">\n            <div className=\"mb-4\">\n              <TaxiCard\n                name={translate('vehicle-verification.title')}\n                text={translate('vehicle-verification.text')}\n                icon=\"site-public/img/icon/taxi-car.svg\"\n                route={navVehicleVerification}\n                isActive={vm.child === vm.taxiVehicleVerificationViewModel}\n              />\n            </div>\n            <div>\n              <TaxiCard\n                name={translate('license-verification.title')}\n                text={translate('license-verification.text')}\n                icon=\"site-public/img/icon/taxi-license.svg\"\n                route={navLicenseVerification}\n                isActive={vm.child === vm.taxiLicenseVerificationViewModel}\n              />\n            </div>\n          </div>\n\n          {/*  RIGHT COLUMN */}\n          <div className=\"col-md-7\">\n            <div className=\"gov-content-block taxi-form\">\n              <div className=\"mb-4\">\n                {vm.child === vm.taxiGeneralVerificationViewModel && <RenderModel vm={vm.child} />}\n                {vm.child === vm.taxiVehicleVerificationViewModel && <RenderModel vm={vm.child} />}\n                {vm.child === vm.taxiLicenseVerificationViewModel && <RenderModel vm={vm.child} />}\n              </div>\n\n              <p className=\"database-info\">{translate('database-info')}</p>\n            </div>\n\n            {/* FAQ */}\n            <div className=\"gov-content-block\">\n              <div className=\"taxi-faq-container\">\n                <h3 className=\"mb-4\">{translate('faq.title')}</h3>\n                <Accordion>\n                  {vm.child === vm.taxiGeneralVerificationViewModel && (\n                    <AccordionItem header={translate('faq.header1')} id=\"1\">\n                      <p>{translate('faq.info1')}</p>\n                    </AccordionItem>\n                  )}\n                  {vm.child !== vm.taxiLicenseVerificationViewModel && (\n                    <AccordionItem header={translate('faq.header2')} id=\"2\">\n                      <p>{translate('faq.info2')}</p>\n                    </AccordionItem>\n                  )}\n                  <AccordionItem header={translate('faq.header3')} id=\"3\">\n                    <p>{translate('faq.info3')}</p>\n                  </AccordionItem>\n                  {vm.child === vm.taxiLicenseVerificationViewModel && (\n                    <AccordionItem header={translate('faq.header2')} id=\"2\">\n                      <p>{translate('faq.info2')}</p>\n                    </AccordionItem>\n                  )}\n                  <AccordionItem header={translate('faq.header4')} id=\"3\">\n                    <p>{translate('faq.info4')}</p>\n                  </AccordionItem>\n                  <AccordionItem header={translate('faq.header5')} id=\"3\">\n                    <p>{translate('faq.info5')}</p>\n                    <p>\n                      <a\n                        data-testid=\"taxi-technical-documentation-link\"\n                        onClick={vm.supportDocumentService.getTaxiTechnicDocument}\n                        target=\"_blank\"\n                      >\n                        {translate('api-technical-documentation-name')}\n                      </a>\n                    </p>\n                  </AccordionItem>\n                  {vm.child !== vm.taxiGeneralVerificationViewModel && (\n                    <AccordionItem header={translate('faq.header1')} id=\"1\">\n                      <p>{translate('faq.info1')}</p>\n                    </AccordionItem>\n                  )}\n                </Accordion>\n                <div className=\"taxi-faq-button\">\n                  <button data-testid=\"faq-button\" onClick={useRoute(navFaq)}>\n                    {translate('faq.button')}\n                  </button>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default TaxiView;\n","import { makeAutoObservable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../data/validators/registry';\n\n@AddTranslationKey('taxi')\nexport default class TaxiFormModel {\n  code: string = '';\n  intermediaryCheck: boolean = false;\n  ico: string = '';\n\n  constructor() {\n    makeAutoObservable(this);\n  }\n}\n\nexport const TaxiFormModelValidators: ValidationDescriptor<TaxiFormModel, Validators> = {\n  code: {\n    required: {\n      message: 'code.required',\n    }\n  },\n  ico: {\n    required: {\n      message: 'ico.required',\n      options: {\n        if: (t: TaxiFormModel) => t.intermediaryCheck,\n      },\n    },\n    ico: {\n      message: 'ico.icoValidation'\n    }\n  },\n}","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport TaxiFormModel from './models/TaxiFormModel';\nimport ApiService from 'src/services/ApiService';\nimport type {\n  CheckVehicleRegistrationRequest,\n  CheckVehicleRegistrationResponse,\n  CheckDriverCardValidityRequest,\n  CheckDriverCardValidityResponse,\n} from 'src/data/rpsd/taxi';\nimport { AbstractResponse, ECheckVehicleRegistrationResult } from 'src/data/rpsd/taxi';\nimport type { VehicleRegistrationsResponse } from 'src/api-data/rpsd/taxi/models';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport SessionService from 'src/services/SessionService';\nimport { TAXI_RESULTS } from 'src/constants/SessionStorageKeys';\n\n@Service()\nexport default class ApplicationService {\n  @observable formModel: TaxiFormModel = new TaxiFormModel();\n  @observable apiData: CheckVehicleRegistrationResponse | CheckDriverCardValidityResponse = {};\n\n  constructor(\n    @Inject() private apiService: ApiService,\n    @Inject() public sessionService: SessionService\n  ) {\n    makeObservable(this);\n  }\n\n  // TAXI RESULTS EXPORT CSV FILE LOGIC\n  formatTimestamp = (timestamp: string): string => {\n    const date = new Date(timestamp);\n    return date.toLocaleString('sv-SE').replace(' ', '-').replace(/:/g, '-');\n  };\n\n  convertToCSV = (\n    data: CheckVehicleRegistrationResponse | CheckDriverCardValidityResponse,\n    translate: Translator\n  ) => {\n    const headers =\n      'registrationPlates' in data\n        ? ['RZ', 'Výsledek', 'Zpráva', 'Datum a čas']\n        : ['Průkaz', 'Výsledek', 'Zpráva', 'Datum a čas'];\n\n    let rows = undefined;\n\n    if ('registrationPlates' in data) {\n      rows = data.registrationPlates?.map((plate: any) => [\n        plate.registrationPlate,\n        plate.result,\n        translate(`export-results.vehicle.${plate.result.toLowerCase()}`),\n        data.timestamp\n          ? new Date(data.timestamp).toLocaleString('sv-SE', { timeZoneName: 'short' }).replace(' ', ' ')\n          : '',\n      ]);\n    }\n\n    if ('driverCards' in data) {\n      rows = data.driverCards?.map((card: any) => [\n        card.cardNumber,\n        card.result,\n        translate(`export-results.license.${card.result.toLowerCase()}`),\n        data.timestamp\n          ? new Date(data.timestamp).toLocaleString('sv-SE', { timeZoneName: 'short' }).replace(' ', ' ')\n          : '',\n      ]);\n    }\n\n    let csvContent = '';\n    csvContent += headers.join(';') + '\\n';\n    rows?.forEach((rowArray: any) => {\n      csvContent += rowArray.join(';') + '\\n';\n    });\n\n    return csvContent;\n  };\n\n  @action.bound\n  handleExportClick = (\n    vehicleApiData: CheckVehicleRegistrationResponse | undefined,\n    licenseApiData: CheckDriverCardValidityResponse | undefined,\n    translate: Translator\n  ) => {\n    let csvContent = '';\n    let timestamp = '';\n    let fileName = '';\n\n    if (vehicleApiData) {\n      csvContent = this.convertToCSV(vehicleApiData, translate);\n      timestamp = vehicleApiData.timestamp\n        ? this.formatTimestamp(vehicleApiData.timestamp)\n        : 'unknown-timestamp';\n      fileName = `${timestamp}-registrationPlates.csv`;\n    } else if (licenseApiData) {\n      csvContent = this.convertToCSV(licenseApiData, translate);\n      timestamp = licenseApiData.timestamp\n        ? this.formatTimestamp(licenseApiData.timestamp)\n        : 'unknown-timestamp';\n      fileName = `${timestamp}-driverCards.csv`;\n    }\n\n    if (csvContent) {\n      const universalBOM = '\\uFEFF';\n      const encodedUri = encodeURIComponent(universalBOM + csvContent);\n      const link = document.createElement('a');\n      link.setAttribute('href', 'data:text/csv; charset=utf-8,' + encodedUri);\n      link.setAttribute('download', fileName);\n      document.body.appendChild(link);\n\n      link.click();\n      document.body.removeChild(link);\n    }\n  };\n\n  // valid registration plate: 5 to 8 characters, at least one digit, no G, Q or W letters\n  @action.bound\n  isValidRegistrationPlate = (code: string) => {\n    return code.length >= 5 && code.length <= 8 && /\\d/.test(code) && !/[GQW]/i.test(code);\n  };\n\n  // valid licence number: only digits, at most 6 digits\n  @action.bound\n  isValidLicenseNumber = (code: string) => {\n    return /^\\d+$/.test(code) && parseInt(code, 10) >= 1 && parseInt(code, 10) <= 999999;\n  };\n\n  @action.bound\n  handleSessionStorage = () => {\n    const storageResult = this.sessionService.get(TAXI_RESULTS);\n    if (storageResult) {\n      const parsedResults = JSON.parse(storageResult);\n      this.formModel.code = parsedResults.codes;\n      this.formModel.intermediaryCheck = parsedResults.intermediaryCheck;\n      this.formModel.ico = parsedResults.ico;\n      this.apiData = parsedResults.apiData;\n    } else {\n      const results = {\n        apiData: this.apiData,\n        codes: this.formModel.code,\n        intermediaryCheck: this.formModel.intermediaryCheck,\n        ico: this.formModel.ico,\n      };\n      this.sessionService.set(TAXI_RESULTS, JSON.stringify(results));\n    }\n  };\n\n  @action.bound\n  reset() {\n    this.formModel = new TaxiFormModel();\n  }\n\n  private mapVehicleRegistrationResponse(\n    data: VehicleRegistrationsResponse | null | undefined,\n    ico?: string\n  ): CheckVehicleRegistrationResponse {\n    const status = Object.values(AbstractResponse.status).find((value) => value === String(data?.status));\n\n    return {\n      ico,\n      timestamp: data?.timestamp,\n      dataValidAsOf: data?.dataValidAsOf,\n      status,\n      statusMessagesCs: data?.statusMessagesCs,\n      statusMessagesEn: data?.statusMessagesEn,\n      registrationPlates: data?.data?.map((item) => ({\n        registrationPlate: item.rZ,\n        result: Object.values(ECheckVehicleRegistrationResult).find((value) => value === String(item.result)),\n      })),\n    };\n  }\n\n  @action.bound\n  async getData(request: CheckVehicleRegistrationRequest | CheckDriverCardValidityRequest) {\n    if ('registrationPlates' in request) {\n      const data = await this.apiService.rpsdTaxi.pVodnApi.checkVehicleRegistrationPost(request);\n      runInAction(() => {\n        this.apiData = data;\n      });\n    } else if ('cardNumbers' in request) {\n      const data = await this.apiService.rpsdTaxi.pVodnApi.checkDriverCardValidityRequestPost(request);\n      runInAction(() => {\n        this.apiData = data;\n      });\n    }\n  }\n}\n","import { useEffect } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport Button from '@components/shared/Button/Button';\nimport Checkbox from '@components/form/Checkbox';\nimport Textarea from '@components/form/Textarea';\nimport Input from '@components/form/Input';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport TaxiFormModel from '../models/TaxiFormModel';\nimport './TaxiVerificationForm.scss';\nimport Alert from '@components/shared/Alert/Alert';\n\ninterface Props {\n  name: 'general' | 'vehicle' | 'license';\n  model: TaxiFormModel;\n  message?: string;\n  onButtonClick: () => void;\n  translate: Translator;\n}\n\nconst TaxiVerificationForm = observer(({ name, model, message, onButtonClick, translate }: Props) => {\n  const textareaID = `${name}-verification-textarea`;\n  const checkboxID = `${name}-verification-checkbox`;\n  const inputID = `${name}-verification-input`;\n\n  useEffect(() => {\n    if (!model.intermediaryCheck) {\n      model.ico = '';\n    }\n  }, [model.intermediaryCheck, model]);\n\n  return (\n    <div className=\"taxi-verificationForm\">\n      {name === 'general' && (\n        <>\n          <div className=\"d-lg-none form-input\">\n            <Input target={model} property={'code'} id={inputID} label={translate('input-label-mobile')} />\n            <Button testId=\"verify-button-code\" onClick={onButtonClick} text={translate('button-verify')} />\n          </div>\n\n          <div className=\"d-none d-lg-flex form-input\">\n            <Input target={model} property={'code'} id={inputID} label={translate('input-label')} />\n            <Button testId=\"verify-button-code-2\" onClick={onButtonClick} text={translate('button-verify')} />\n          </div>\n        </>\n      )}\n\n      {name !== 'general' && (\n        <>\n          <div className=\"d-lg-none form-input\">\n            <Textarea\n              target={model}\n              property={'code'}\n              id={textareaID}\n              className=\"me-2 flex-grow-1\"\n              label={translate('textarea-label-mobile')}\n            />\n            <Button testId=\"verify-button-code-3\" onClick={onButtonClick} text={translate('button-verify')} />\n          </div>\n\n          <div className=\"d-none d-lg-flex form-input\">\n            <Textarea\n              target={model}\n              property={'code'}\n              id={textareaID}\n              className=\"me-2 flex-grow-1\"\n              label={translate('textarea-label')}\n            />\n            <Button testId=\"verify-button-code-4\" onClick={onButtonClick} text={translate('button-verify')} />\n          </div>\n        </>\n      )}\n\n      {/* error message */}\n      {message && (\n        <div className=\"taxi-alert mt-3\">\n          <Alert className=\"pe-3\">\n            <p className={name !== 'general' ? 'mb-2' : ''}>\n              {translate(`${name}-verification.validationCondition`)}\n            </p>\n            {name !== 'general' && <p>{message}</p>}\n          </Alert>\n        </div>\n      )}\n\n      {/* ICO */}\n      <Checkbox target={model} property={'intermediaryCheck'} id={checkboxID} />\n      {model.intermediaryCheck && (\n        <div className=\"ico-input\">\n          <Input target={model} property={'ico'} id={inputID} />\n        </div>\n      )}\n    </div>\n  );\n});\n\nexport default TaxiVerificationForm;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport TaxiGeneralVerificationViewModel from './TaxiGeneralVerificationViewModel';\nimport ScreenContext from '../../../../components/ScreenContext';\nimport TaxiVerificationForm from '../components/TaxiVerificationForm';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\n\nconst TaxiGeneralVerificationView: View<TaxiGeneralVerificationViewModel> = observer(({ vm }) => {\n  const { translate, handleButtonClick, taxiGeneralConfirmationViewModel, infoMessage } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <h3 className=\"mb-3\">{translate('general-verification.title')}</h3>\n      <TaxiVerificationForm\n        name=\"general\"\n        model={vm.applicationService.formModel}\n        message={infoMessage}\n        translate={translate}\n        onButtonClick={handleButtonClick}\n      />\n      {vm.child === taxiGeneralConfirmationViewModel && <RenderModel vm={vm.child} />}\n    </ScreenContext>\n  );\n});\n\nexport default TaxiGeneralVerificationView;\n","import './TaxiResult.scss';\nimport { ECheckDriverCardValidityResult } from 'src/data/rpsd/taxi/models/ECheckDriverCardValidityResult';\n\nexport type TaxiResultProps = {\n  icon: string;\n  code: string | undefined;\n  resultText: string;\n  result: string | undefined;\n};\n\nconst TaxiResult = ({ icon, code, resultText, result }: TaxiResultProps) => {\n  let resultColorClass = '';\n  if (result === ECheckDriverCardValidityResult.VALID) {\n    resultColorClass = 'result-positive';\n  } else if (result === ECheckDriverCardValidityResult.NOT_VALID) {\n    resultColorClass = 'result-negative';\n  } else {\n    resultColorClass = 'result-other';\n  }\n\n  return (\n    <div className=\"taxi-result\">\n      <img className=\"icon\" src={icon} alt=\"icon\" />\n      <p>{code}</p>\n      <div className={`result-button ${resultColorClass}`}>\n        <p className=\"result-text\">{resultText}</p>\n      </div>\n    </div>\n  );\n};\n\nexport default TaxiResult;\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport TaxiResult from './TaxiResult';\nimport { CheckVehicleRegistrationResponse, CheckDriverCardValidityResponse } from 'src/data/rpsd/taxi';\nimport ApplicationService from '../ApplicationService';\nimport './TaxiConfirmationView.scss';\nimport Alert from '@components/shared/Alert/Alert';\n\ninterface Props {\n  vehicleApiData?: CheckVehicleRegistrationResponse;\n  licenseApiData?: CheckDriverCardValidityResponse;\n  translate: Translator;\n  applicationService: ApplicationService;\n}\n\nconst TaxiConfirmationView = observer(\n  ({ vehicleApiData, licenseApiData, applicationService, translate }: Props) => {\n    return (\n      <div className=\"taxi-confirmation mt-4\">\n        {/* RESULTS */}\n        <div>\n          {/* ICO error message */}\n          {((vehicleApiData?.status && vehicleApiData.status !== 'OK') ||\n            (licenseApiData?.status && licenseApiData.status !== 'OK')) &&\n            (vehicleApiData?.ico || licenseApiData?.ico) && (\n              <div className=\"taxi-alert mb-4\">\n                <Alert message={translate('ico-error')} />\n              </div>\n            )}\n\n          {vehicleApiData &&\n            vehicleApiData.registrationPlates?.map((singleData, index) => (\n              <div className=\"mb-3\">\n                <TaxiResult\n                  key={index}\n                  icon=\"site-public/img/icon/taxi-result-vehicle.svg\"\n                  code={singleData.registrationPlate}\n                  resultText={translate(\n                    `vehicle-verification.confirmation.${singleData.result?.toLowerCase()}`\n                  )}\n                  result={singleData.result}\n                />\n              </div>\n            ))}\n          {licenseApiData &&\n            licenseApiData.driverCards?.map((singleData, index) => (\n              <div className=\"mb-3\">\n                <TaxiResult\n                  key={index}\n                  icon=\"site-public/img/icon/taxi-result-license.svg\"\n                  code={singleData.cardNumber}\n                  resultText={translate(\n                    `license-verification.confirmation.${singleData.result?.toLowerCase()}`\n                  )}\n                  result={singleData.result}\n                />\n              </div>\n            ))}\n        </div>\n\n        {/* BUTTON FOR EXPORTING RESULTS */}\n        <button\n          data-testid=\"export-results-button\"\n          className=\"export-results-button mt-4 mb-3\"\n          onClick={() => applicationService.handleExportClick(vehicleApiData, licenseApiData, translate)}\n        >\n          <img className=\"icon\" src=\"site-public/img/icon/taxi-export.svg\" alt=\"icon\" />\n          {translate('export-button')}\n        </button>\n      </div>\n    );\n  }\n);\n\nexport default TaxiConfirmationView;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport TaxiGeneralConfirmationViewModel from './TaxiGeneralConfirmationViewModel';\nimport TaxiConfirmationView from '../components/TaxiConfirmationView';\nimport ScreenContext from '../../../../components/ScreenContext';\nimport { CheckDriverCardValidityResponse, CheckVehicleRegistrationResponse } from 'src/data/rpsd/taxi';\n\nconst TaxiGeneralConfirmationView: View<TaxiGeneralConfirmationViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  const apiData = vm.applicationService.apiData;\n\n  const isVehicleRegistrationResponse = (\n    data: CheckVehicleRegistrationResponse | CheckDriverCardValidityResponse\n  ): data is CheckVehicleRegistrationResponse => {\n    return 'registrationPlates' in data;\n  };\n\n  const isDriverCardValidityResponse = (\n    data: CheckVehicleRegistrationResponse | CheckDriverCardValidityResponse\n  ): data is CheckDriverCardValidityResponse => {\n    return 'driverCards' in data;\n  };\n\n  const dataProps = isVehicleRegistrationResponse(apiData)\n    ? { vehicleApiData: apiData }\n    : isDriverCardValidityResponse(apiData)\n      ? { licenseApiData: apiData }\n      : {};\n\n  return (\n    <ScreenContext value={vm}>\n      <TaxiConfirmationView {...dataProps} applicationService={vm.applicationService} translate={translate} />\n    </ScreenContext>\n  );\n});\n\nexport default TaxiGeneralConfirmationView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport TaxiGeneralConfirmationView from './TaxiGeneralConfirmationView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../../../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../../../breadcrumbs/types';\nimport CookieService from '../../../../services/CookieService';\nimport { makeObservable } from 'mobx';\nimport ApplicationService from '../ApplicationService';\n\n@AllowAnonymous()\n@AddDefaultView(TaxiGeneralConfirmationView)\n@Service()\nexport default class TaxiGeneralConfirmationViewModel extends BaseScreen implements BreadcrumbScreen {\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('results-title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public cookieService: CookieService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.handleSessionStorage();\n  }\n\n  translate = translate('taxi', this);\n  translateFooter = translate('footer', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../../../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../../../breadcrumbs/types';\nimport { TaxiFormModelValidators } from '../models/TaxiFormModel';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport { action, makeObservable, observable } from 'mobx';\nimport ApplicationService from '../ApplicationService';\nimport TaxiGeneralVerificationView from './TaxiGeneralVerificationView';\nimport SessionService from 'src/services/SessionService';\nimport { TAXI_RESULTS } from 'src/constants/SessionStorageKeys';\nimport TaxiGeneralConfirmationViewModel from '../confirmation/TaxiGeneralConfirmationViewModel';\nimport { CheckDriverCardValidityRequest, CheckVehicleRegistrationRequest } from 'src/data/rpsd/taxi';\n\n@AllowAnonymous()\n@AddDefaultView(TaxiGeneralVerificationView)\n@Service()\nexport default class TaxiGeneralVerificationViewModel extends BaseScreen implements BreadcrumbScreen {\n  validation = new ValidationContext();\n  codeValid = true;\n  @observable infoMessage = '';\n  @observable code = '';\n  @observable name = '';\n  @observable request = {} as CheckVehicleRegistrationRequest | CheckDriverCardValidityRequest;\n\n  @action.bound\n  codeValidate() {\n    this.code = this.applicationService.formModel.code.replace(/[^\\w]/g, '').trim();\n\n    if (this.applicationService.isValidLicenseNumber(this.code)) {\n      this.name = 'license';\n      this.infoMessage = '';\n      this.codeValid = true;\n    } else if (this.applicationService.isValidRegistrationPlate(this.code)) {\n      this.name = 'vehicle';\n      this.infoMessage = '';\n      this.codeValid = true;\n    } else {\n      this.name = 'general';\n      this.infoMessage = this.translate(`general-verification.validationCondition`);\n      this.codeValid = false;\n    }\n\n    return this.infoMessage;\n  }\n\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'general';\n  }\n\n  get title(): string {\n    return this.translate('vehicle-verification.title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n    hideInNavigation: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public sessionService: SessionService,\n    @Inject() public taxiGeneralConfirmationViewModel: TaxiGeneralConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(taxiGeneralConfirmationViewModel);\n  }\n\n  @action.bound\n  async handleButtonClick() {\n    this.sessionService.remove(TAXI_RESULTS);\n    if (this.child) {\n      this.navigator(TaxiGeneralVerificationViewModel).go();\n    }\n    this.codeValidate();\n    const valid = this.validation.validateObject(this.applicationService.formModel) && this.codeValid;\n    if (valid) {\n      this.infoMessage = '';\n      const { ico } = this.applicationService.formModel;\n      if (this.name === 'vehicle') {\n        this.request = {\n          registrationPlates: [this.code],\n          ...(ico && { ico: ico }),\n        };\n      }\n      if (this.name === 'license') {\n        this.request = {\n          cardNumbers: [this.code],\n          ...(ico && { ico: ico }),\n        };\n      }\n      await this.applicationService.getData(this.request);\n      this.navigator(TaxiGeneralConfirmationViewModel).go();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n    this.infoMessage = '';\n    this.sessionService.remove(TAXI_RESULTS);\n  }\n\n  activate() {\n    this.validation.attachDescriptor(this.applicationService.formModel, TaxiFormModelValidators);\n  }\n\n  translate = translate('taxi', this);\n  translateFooter = translate('footer', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport TaxiVehicleVerificationViewModel from './TaxiVehicleVerificationViewModel';\nimport ScreenContext from '../../../../components/ScreenContext';\nimport TaxiVerificationForm from '../components/TaxiVerificationForm';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\n\nconst TaxiVehicleVerificationView: View<TaxiVehicleVerificationViewModel> = observer(({ vm }) => {\n  const { translate, handleButtonClick, infoMessage, taxiVehicleConfirmationViewModel } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <h3 className=\"mb-3\">\n        {translate(\n          vm.child === taxiVehicleConfirmationViewModel\n            ? 'vehicle-verification.confirmation.title'\n            : 'vehicle-verification.title'\n        )}\n      </h3>\n      <TaxiVerificationForm\n        name=\"vehicle\"\n        model={vm.applicationService.formModel}\n        message={infoMessage}\n        translate={translate}\n        onButtonClick={handleButtonClick}\n      />\n      {vm.child === taxiVehicleConfirmationViewModel && <RenderModel vm={vm.child} />}\n    </ScreenContext>\n  );\n});\n\nexport default TaxiVehicleVerificationView;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport TaxiVehicleConfirmationViewModel from './TaxiVehicleConfirmationViewModel';\nimport ScreenContext from '../../../../components/ScreenContext';\nimport TaxiConfirmationView from '../components/TaxiConfirmationView';\n\nconst TaxiVehicleConfirmationView: View<TaxiVehicleConfirmationViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <TaxiConfirmationView\n        vehicleApiData={vm.applicationService.apiData}\n        applicationService={vm.applicationService}\n        translate={translate}\n      />\n    </ScreenContext>\n  );\n});\n\nexport default TaxiVehicleConfirmationView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../../../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../../../breadcrumbs/types';\nimport CookieService from '../../../../services/CookieService';\nimport { makeObservable } from 'mobx';\nimport ApplicationService from '../ApplicationService';\nimport TaxiVehicleConfirmationView from './TaxiVehicleConfirmationView';\n\n@AllowAnonymous()\n@AddDefaultView(TaxiVehicleConfirmationView)\n@Service()\nexport default class TaxiVehicleConfirmationViewModel extends BaseScreen implements BreadcrumbScreen {\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('results-title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public cookieService: CookieService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.handleSessionStorage();\n  }\n\n  translate = translate('taxi', this);\n  translateFooter = translate('footer', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport TaxiVehicleVerificationView from './TaxiVehicleVerificationView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from 'src/app/security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from 'src/app/breadcrumbs/types';\nimport { TaxiFormModelValidators } from '../models/TaxiFormModel';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport { action, makeObservable, observable } from 'mobx';\nimport ApplicationService from '../ApplicationService';\nimport TaxiVehicleConfirmationViewModel from '../confirmation/TaxiVehicleConfirmationViewModel';\nimport SessionService from 'src/services/SessionService';\nimport { TAXI_RESULTS } from 'src/constants/SessionStorageKeys';\n\n@AllowAnonymous()\n@AddDefaultView(TaxiVehicleVerificationView)\n@Service()\nexport default class TaxiVehicleVerificationViewModel extends BaseScreen implements BreadcrumbScreen {\n  validation = new ValidationContext();\n  registrationPlateValid = true;\n  @observable infoMessage = '';\n  @observable codes = [''];\n\n  registrationPlateValidate() {\n    this.codes = this.applicationService.formModel.code\n      .replace(/[^\\w;\\n,]/g, '')\n      .split(/;|\\n|,/)\n      .map((code) => code.trim())\n      .filter((code) => code !== '');\n    const invalidCodes: string[] = [];\n    const validCodes: string[] = [];\n    this.codes.forEach((code) => {\n      if (this.applicationService.isValidRegistrationPlate(code)) {\n        validCodes.push(code);\n      } else {\n        invalidCodes.push(code);\n      }\n    });\n\n    this.applicationService.formModel.code = this.codes.join('\\n');\n\n    if (invalidCodes.length > 0) {\n      this.infoMessage = `${this.translate('vehicle-verification.infoMessage')} ${invalidCodes.join(', ')}\\n`;\n      this.registrationPlateValid = false;\n    } else {\n      this.registrationPlateValid = true;\n    }\n    return this.infoMessage;\n  }\n\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'vehicle';\n  }\n\n  get title(): string {\n    return this.translate('vehicle-verification.title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public taxiVehicleConfirmationViewModel: TaxiVehicleConfirmationViewModel,\n    @Inject() public sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(taxiVehicleConfirmationViewModel);\n  }\n\n  @action.bound\n  async handleButtonClick() {\n    this.sessionService.remove(TAXI_RESULTS);\n    if (this.child) {\n      this.navigator(TaxiVehicleVerificationViewModel).go();\n    }\n    this.registrationPlateValidate();\n    const valid =\n      this.validation.validateObject(this.applicationService.formModel) && this.registrationPlateValid;\n    if (valid) {\n      this.infoMessage = '';\n      const { ico } = this.applicationService.formModel;\n      const request = {\n        registrationPlates: this.codes,\n        ...(ico && { ico: ico }),\n      };\n      await this.applicationService.getData(request);\n      this.navigator(TaxiVehicleConfirmationViewModel).go();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n    this.infoMessage = '';\n    this.sessionService.remove(TAXI_RESULTS);\n  }\n\n  activate() {\n    this.validation.attachDescriptor(this.applicationService.formModel, TaxiFormModelValidators);\n  }\n\n  translate = translate('taxi', this);\n  translateFooter = translate('footer', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport TaxiLicenseVerificationViewModel from './TaxiLicenseVerificationViewModel';\nimport ScreenContext from '../../../../components/ScreenContext';\nimport TaxiVerificationForm from '../components/TaxiVerificationForm';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\n\nconst TaxiLicenseVerificationView: View<TaxiLicenseVerificationViewModel> = observer(({ vm }) => {\n  const { translate, handleButtonClick, taxiLicenseConfirmationViewModel, infoMessage } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <h3 className=\"mb-3\">\n        {translate(\n          vm.child === taxiLicenseConfirmationViewModel\n            ? 'license-verification.confirmation.title'\n            : 'license-verification.title'\n        )}\n      </h3>\n      <TaxiVerificationForm\n        name=\"license\"\n        model={vm.applicationService.formModel}\n        message={infoMessage}\n        translate={translate}\n        onButtonClick={handleButtonClick}\n      />\n      {vm.child === taxiLicenseConfirmationViewModel && <RenderModel vm={vm.child} />}\n    </ScreenContext>\n  );\n});\n\nexport default TaxiLicenseVerificationView;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport TaxiLicenseConfirmationViewModel from './TaxiLicenseConfirmationViewModel';\nimport ScreenContext from '../../../../components/ScreenContext';\nimport TaxiConfirmationView from '../components/TaxiConfirmationView';\n\nconst TaxiLicenseConfirmationView: View<TaxiLicenseConfirmationViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <TaxiConfirmationView\n        licenseApiData={vm.applicationService.apiData}\n        applicationService={vm.applicationService}\n        translate={translate}\n      />\n    </ScreenContext>\n  );\n});\n\nexport default TaxiLicenseConfirmationView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport TaxiLicenseConfirmationView from './TaxiLicenseConfirmationView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../../../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../../../breadcrumbs/types';\nimport CookieService from '../../../../services/CookieService';\nimport { makeObservable } from 'mobx';\nimport ApplicationService from '../ApplicationService';\n\n@AllowAnonymous()\n@AddDefaultView(TaxiLicenseConfirmationView)\n@Service()\nexport default class TaxiLicenseConfirmationViewModel extends BaseScreen implements BreadcrumbScreen {\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('results-title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public cookieService: CookieService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.handleSessionStorage();\n  }\n\n  translate = translate('taxi', this);\n  translateFooter = translate('footer', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport TaxiLicenseVerificationView from './TaxiLicenseVerificationView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from 'src/app/security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from 'src/app/breadcrumbs/types';\nimport { TaxiFormModelValidators } from '../models/TaxiFormModel';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport { action, makeObservable, observable } from 'mobx';\nimport ApplicationService from '../ApplicationService';\nimport TaxiLicenseConfirmationViewModel from '../confirmation/TaxiLicenseConfirmationViewModel';\nimport SessionService from 'src/services/SessionService';\nimport { TAXI_RESULTS } from 'src/constants/SessionStorageKeys';\n\n@AllowAnonymous()\n@AddDefaultView(TaxiLicenseVerificationView)\n@Service()\nexport default class TaxiLicenseVerificationViewModel extends BaseScreen implements BreadcrumbScreen {\n  validation = new ValidationContext();\n  licenseValid = true;\n  @observable infoMessage = '';\n  @observable codes = [''];\n\n  licenseValidate() {\n    this.codes = this.applicationService.formModel.code\n      .replace(/[^\\w;\\n,]/g, '')\n      .split(/;|\\n|,/)\n      .map((code) => code.trim())\n      .filter((code) => code !== '');\n\n    const invalidCodes: string[] = [];\n    const validCodes: string[] = [];\n\n    this.codes.forEach((code) => {\n      if (this.applicationService.isValidLicenseNumber(code)) {\n        validCodes.push(code);\n      } else {\n        invalidCodes.push(code);\n      }\n    });\n    this.applicationService.formModel.code = this.codes.join('\\n');\n    if (invalidCodes.length > 0) {\n      this.infoMessage = `${this.translate('license-verification.infoMessage')} ${invalidCodes.join(', ')}\\n`;\n      this.licenseValid = false;\n    } else {\n      this.licenseValid = true;\n    }\n\n    return this.infoMessage;\n  }\n\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'license';\n  }\n\n  get title(): string {\n    return this.translate('license-verification.title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public taxiLicenseConfirmationViewModel: TaxiLicenseConfirmationViewModel,\n    @Inject() public sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(taxiLicenseConfirmationViewModel);\n  }\n\n  @action.bound\n  async handleButtonClick() {\n    this.sessionService.remove(TAXI_RESULTS);\n    if (this.child) {\n      this.navigator(TaxiLicenseVerificationViewModel).go();\n    }\n    this.licenseValidate();\n    const valid = this.validation.validateObject(this.applicationService.formModel) && this.licenseValid;\n    if (valid) {\n      this.infoMessage = '';\n      const { ico } = this.applicationService.formModel;\n      const request = {\n        cardNumbers: this.codes,\n        ...(ico && { ico: ico }),\n      };\n      await this.applicationService.getData(request);\n      this.navigator(TaxiLicenseConfirmationViewModel).go();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n    this.infoMessage = '';\n    this.sessionService.remove(TAXI_RESULTS);\n  }\n\n  activate() {\n    this.validation.attachDescriptor(this.applicationService.formModel, TaxiFormModelValidators);\n  }\n\n  translate = translate('taxi', this);\n  translateFooter = translate('footer', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport TaxiView from './TaxiView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../../security';\nimport type { BreadcrumbControl, BreadcrumbScreen } from '../../breadcrumbs/types';\nimport CookieService from '../../../services/CookieService';\nimport { computed, makeObservable } from 'mobx';\nimport TaxiGeneralVerificationViewModel from './verification/TaxiGeneralVerificationViewModel';\nimport TaxiVehicleVerificationViewModel from './verification/TaxiVehicleVerificationViewModel';\nimport TaxiLicenseVerificationViewModel from './verification/TaxiLicenseVerificationViewModel';\nimport ApplicationService from './ApplicationService';\nimport FaqViewModel from '../FaqViewModel';\nimport SupportDocumentService from 'src/services/SupportDocumentService';\n\n@AllowAnonymous()\n@AddDefaultView(TaxiView)\n@Service()\nexport default class TaxiViewModel extends BaseScreen implements BreadcrumbScreen {\n  /**\n   * Nastavuje url adresu\n   */\n  get pathNode(): string {\n    return 'verification-taxi';\n  }\n\n  get title(): string {\n    return this.translate('naming');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: false,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public cookieService: CookieService,\n    @Inject() public taxiGeneralVerificationViewModel: TaxiGeneralVerificationViewModel,\n    @Inject() public taxiVehicleVerificationViewModel: TaxiVehicleVerificationViewModel,\n    @Inject() public taxiLicenseVerificationViewModel: TaxiLicenseVerificationViewModel,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public supportDocumentService: SupportDocumentService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(taxiGeneralVerificationViewModel);\n    this.children.push(taxiVehicleVerificationViewModel);\n    this.children.push(taxiLicenseVerificationViewModel);\n  }\n\n  @computed get navGeneralVerification() {\n    return this.navigator(TaxiGeneralVerificationViewModel);\n  }\n\n  @computed get navVehicleVerification() {\n    return this.navigator(TaxiVehicleVerificationViewModel);\n  }\n\n  @computed get navLicenseVerification() {\n    return this.navigator(TaxiLicenseVerificationViewModel);\n  }\n\n  @computed get navFaq() {\n    return this.navigator(FaqViewModel);\n  }\n\n  notifyNavigation() {\n    this.navigator(TaxiGeneralVerificationViewModel).go();\n  }\n\n  translate = translate('taxi', this);\n  translateFooter = translate('footer', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport dateUtils from '../../../utils/DateUtils';\nimport './DateHighlite.scss';\n\nexport type DateHighlightProps = {\n  date?: Date | string | null;\n};\n\nconst DateHighlight = observer(({ date }: DateHighlightProps) => {\n  return (\n    <span className=\"component-ship-date-highlight\">\n      {date ? (\n        <>\n          {!dateUtils.isMoreThenNow(date) ? (\n            <span className=\"date-highlight\">{dateUtils.dateFormatCz(date)}</span>\n          ) : (\n            <span>{dateUtils.dateFormatCz(date)}</span>\n          )}\n        </>\n      ) : (\n        <span>-</span>\n      )}\n    </span>\n  );\n});\n\nexport default DateHighlight;\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport dateUtils from '../../../utils/DateUtils';\nimport type BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LoaderBox from '../../../components/layout/LoaderBox';\nimport DateHighlight from './DateHighlite';\nimport { Sps_WebApi_Models_Responses_DocumentResponse } from 'src/data/sps/api';\n\nexport type HomeDocumentsProps = {\n  documents?: Array<Sps_WebApi_Models_Responses_DocumentResponse>;\n  busy: BusyWatcher;\n  translate: Translator;\n};\n\nconst HomeDocuments = observer(({ documents, busy, translate }: HomeDocumentsProps) => {\n  if (busy.isBusy) {\n    return (\n      <>\n        <LoaderBox type=\"box-small\" />\n      </>\n    );\n  }\n\n  return (\n    <>\n      {documents?.length ? (\n        <table className=\"gov-table gov-table--tablet-block width-20\">\n          <thead>\n            <tr>\n              <th>{translate('documents-list.table.number')}</th>\n              <th>{translate('documents-list.table.type')}</th>\n              <th>{translate('documents-list.table.issued')}</th>\n              <th>{translate('documents-list.table.validTo')}</th>\n              <th>{translate('documents-list.table.invalidFrom')}</th>\n            </tr>\n          </thead>\n          <tbody className=\"gov-table__body\">\n            {documents.map((item, i) => {\n              return (\n                <tr key={i}>\n                  <td data-title={translate('documents-list.table.number')}>{item.cardNumber}</td>\n                  <td data-title={translate('documents-list.table.type')}>{item.cardName}</td>\n                  <td data-title={translate('documents-list.table.issued')}>\n                    {dateUtils.dateFormatCz(item.issuedOn)}\n                  </td>\n                  <td data-title={translate('documents-list.table.validTo')}>\n                    <DateHighlight date={item.validTo} />\n                  </td>\n                  <td data-title={translate('documents-list.table.invalidFrom')}>\n                    <DateHighlight date={item.invalidFrom} />\n                  </td>\n                </tr>\n              );\n            })}\n          </tbody>\n        </table>\n      ) : (\n        <p>{translate('documents-list.noData')}</p>\n      )}\n    </>\n  );\n});\n\nexport default HomeDocuments;\n","import { observer } from 'mobx-react-lite';\nimport './DateHighlite.scss';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\nexport type ShipOwnershipProps = {\n  data: number;\n  translate: Translator;\n};\n\nconst ShipOwnership = observer(({ data, translate }: ShipOwnershipProps) => {\n  return (\n    <>\n      {data == 0 ? (\n        <>{translate('vessel-list.operator')}</>\n      ) : (\n        <>\n          {data}% {translate('vessel-list.owner')}\n        </>\n      )}\n    </>\n  );\n});\n\nexport default ShipOwnership;\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LoaderBox from '../../../components/layout/LoaderBox';\nimport DateHighlight from './DateHighlite';\nimport ShipOwnership from './ShipOwnership';\nimport { Sps_WebApi_Models_Responses_VesselResponse } from 'src/data/sps/api';\n\nexport type HomeVesselsProps = {\n  vessels?: Array<Sps_WebApi_Models_Responses_VesselResponse>;\n  busy: BusyWatcher;\n  translate: Translator;\n};\n\nconst HomeVessels = observer(({ vessels, busy, translate }: HomeVesselsProps) => {\n  if (busy.isBusy) {\n    return <LoaderBox type=\"box-small\" />;\n  }\n\n  return (\n    <>\n      {vessels?.length ? (\n        <table className=\"gov-table gov-table--tablet-block width-20 mb-4\">\n          <thead>\n            <tr>\n              <th>{translate('vessel-list.table.number')}</th>\n              <th>{translate('vessel-list.table.name')}</th>\n              <th>{translate('vessel-list.table.type')}</th>\n              <th>{translate('vessel-list.table.date')}</th>\n              <th>{translate('vessel-list.table.ownership')}</th>\n            </tr>\n          </thead>\n          <tbody className=\"gov-table__body\">\n            {vessels.map((item, i) => {\n              return (\n                <tr key={i}>\n                  <td data-title={translate('vessel-list.table.number')}>{item.registerNumber}</td>\n                  <td data-title={translate('vessel-list.table.name')}>{item.name}</td>\n                  <td data-title={translate('vessel-list.table.type')}>{item.type}</td>\n                  <td data-title={translate('vessel-list.table.date')}>\n                    <DateHighlight date={item.documentValidTo} />\n                  </td>\n                  <td data-title={translate('vessel-list.table.ownership')}>\n                    <ShipOwnership data={item.ownershipPercentage ?? 0} translate={translate} />\n                  </td>\n                </tr>\n              );\n            })}\n          </tbody>\n        </table>\n      ) : (\n        <p>{translate('vessel-list.noData')}</p>\n      )}\n    </>\n  );\n});\n\nexport default HomeVessels;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ShipViewModel from './ShipViewModel';\nimport { observer } from 'mobx-react-lite';\nimport CardLink from '../../components/navigation/CardLink';\nimport ShipIcon from '../../components/icons/ShipIcon';\nimport Container from '../../components/layout/Container';\nimport './ShipView.scss';\nimport HomeDocuments from './components/HomeDocuments';\nimport HomeVessels from './components/HomeVessels';\nimport LoaderBox from '../../components/layout/LoaderBox';\n\nconst ShipView: View<ShipViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    navReplacementCertificate,\n    navNewCertificate,\n    navValidityExtension,\n    navVesselRegistration,\n    navDataChangeVessel,\n    navExamCertificate,\n    navExchangeCertificate,\n    navMachinistQualification,\n    navExchangeSwimmingBook,\n    navAdnExamCertificate,\n    navAdnRenewalCertificate,\n    navBuyerAuthorizationBySeller,\n    navExtensionAndChanges,\n    navDuplicateVesselCertificate,\n    navChangeOwnerOrOperator,\n    navRemovalFromRegistry,\n    documents,\n    vessels,\n    isFo,\n    userService,\n  } = vm;\n\n  return (\n    <>\n      <Container className=\"view-ship\">\n        <h1>\n          <ShipIcon />\n          {translate('title')}\n        </h1>\n\n        <p>{translate('description')}</p>\n\n        {isFo && (\n          <div>\n            <h2>{translate('certificates.title')}</h2>\n            <div className=\"row gx-0 gy-md-4 gy-0 mt-2 mb-4\">\n              <div className=\"col-md-4\">\n                <CardLink\n                  name={translate('certificates.replacement-certificate.title')}\n                  link={navReplacementCertificate}\n                  testId=\"replacement-cert\"\n                />\n              </div>\n              <div className=\"col-md-4\">\n                <CardLink\n                  name={translate('certificates.new-certificate.title')}\n                  link={navNewCertificate}\n                  testId=\"new-certificate\"\n                />\n              </div>\n              <>\n                <div className=\"col-md-4\">\n                  <CardLink\n                    name={translate('certificates.exchange-certificate.title')}\n                    link={navExchangeCertificate}\n                    testId=\"exchange-cert\"\n                  />\n                </div>\n                <div className=\"col-md-4\">\n                  <CardLink\n                    name={translate('certificates.crew-eu-issuance-certificate.title')}\n                    link={vm.navCrewEuIssuance}\n                    testId=\"crew-eu\"\n                  />\n                </div>\n                <div className=\"col-md-4\">\n                  {userService.busyWatcherPersonalInfo.isBusy ? (\n                    <LoaderBox type=\"box-full\" />\n                  ) : (\n                    <CardLink\n                      name={translate('certificates.exam-certificate.home-title')}\n                      link={navExamCertificate}\n                      disabled={!userService.isUserAdult}\n                      testId=\"exam-cert\"\n                    />\n                  )}\n                </div>\n              </>\n              <>\n                <div className=\"col-md-4\">\n                  {userService.busyWatcherPersonalInfo.isBusy ? (\n                    <LoaderBox type=\"box-full\" />\n                  ) : (\n                    <CardLink\n                      name={translate('certificates.adn-exam-certificate.home-title')}\n                      link={navAdnExamCertificate}\n                      disabled={!userService.isUserAdult}\n                      testId=\"adn-exam-certificate\"\n                    />\n                  )}\n                </div>\n                <div className=\"col-md-4\">\n                  {userService.busyWatcherPersonalInfo.isBusy ? (\n                    <LoaderBox type=\"box-full\" />\n                  ) : (\n                    <CardLink\n                      name={translate('certificates.adn-renewal-certificate.home-title')}\n                      link={navAdnRenewalCertificate}\n                      disabled={!userService.isUserAdult}\n                      testId=\"adn-renewal-certificate\"\n                    />\n                  )}\n                </div>\n                <div className=\"col-md-4\">\n                  <CardLink\n                    name={translate('certificates.swimming-book.title')}\n                    link={navExchangeSwimmingBook}\n                    testId=\"swimming-book\"\n                  />\n                </div>\n                <div className=\"col-md-4\">\n                  {userService.busyWatcherPersonalInfo.isBusy ? (\n                    <LoaderBox type=\"box-full\" />\n                  ) : (\n                    <CardLink\n                      name={translate('certificates.machinist-qualification.title')}\n                      link={navMachinistQualification}\n                      disabled={!userService.isUserAdult}\n                      testId=\"machinist-qualification\"\n                    />\n                  )}\n                </div>\n              </>\n            </div>\n          </div>\n        )}\n\n        <div>\n          <h2>{translate('vessels.title')}</h2>\n          <div className=\"row gx-0 gy-md-4 gy-0 mt-2 mb-4\">\n            <div className=\"col-md-4\">\n              <CardLink\n                name={translate('certificates.extension-validity.title')}\n                link={navValidityExtension}\n                testId=\"extension-validity\"\n              />\n            </div>\n            <div className=\"col-md-4\">\n              <CardLink\n                name={translate('vessels.new-vessel.title')}\n                link={navVesselRegistration}\n                testId=\"new-vessel\"\n              />\n            </div>\n            <div className=\"col-md-4\">\n              <CardLink\n                name={translate('vessels.data-change-vessel.title')}\n                link={navDataChangeVessel}\n                testId=\"change-vessel\"\n              />\n            </div>\n            <>\n              <div className=\"col-md-4\">\n                <CardLink\n                  name={translate('vessels.change-owner-or-operator.title')}\n                  link={navChangeOwnerOrOperator}\n                  testId=\"change-owner-or-operator\"\n                />\n              </div>\n              <div className=\"col-md-4\">\n                <CardLink\n                  name={translate('certificates.buyer-authorization-by-seller.home-title')}\n                  link={navBuyerAuthorizationBySeller}\n                  testId=\"buyer-authorization-by-seller\"\n                />\n              </div>\n              <div className=\"col-md-4\">\n                <CardLink\n                  name={translate('certificates.extension-and-changes.title')}\n                  link={navExtensionAndChanges}\n                  testId=\"extension-and-changes\"\n                />\n              </div>\n\n              <div className=\"col-md-4\">\n                <CardLink\n                  name={translate('certificates.duplicate-vessel-certificate.home-title')}\n                  link={navDuplicateVesselCertificate}\n                  testId=\"duplicate-vessel-certificate\"\n                />\n              </div>\n\n              <div className=\"col-md-4\">\n                <CardLink\n                  name={translate('vessels.removalFromRegistry.title')}\n                  link={navRemovalFromRegistry}\n                  testId=\"removalFromRegistry\"\n                />\n              </div>\n            </>\n          </div>\n        </div>\n\n        <div>\n          {isFo && (\n            <>\n              <h2>{translate('documents-list.title')}</h2>\n              <HomeDocuments busy={vm?.busyWatcher} translate={translate} documents={documents} />\n\n              <div className=\"mb-4\"></div>\n            </>\n          )}\n          <h2>{translate('vessel-list.title')}</h2>\n          <HomeVessels busy={vm?.busyWatcher} translate={translate} vessels={vessels} />\n        </div>\n      </Container>\n    </>\n  );\n});\n\nexport default ShipView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport Container from '../../../../components/layout/Container';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n    </Container>\n  );\n});\n\nexport default ConfirmationView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport './PaymentDoneView.scss';\n\nconst PaymentDoneView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const { translate, referenceNumber, examAddress, getPdf, getZip, pdfBusyWatcher, zipBusyWatcher } = vm;\n\n  return (\n    <div className=\"payment-done-view\">\n      <Container>\n        <Envelope>\n          <p className=\"pd-success-message d-flex align-items-center\">\n            <span className=\"gov-icon gov-icon--check success-message-check\"></span> {translate('title')}:{' '}\n            {referenceNumber}\n          </p>\n\n          <p>{translate('what-next')}</p>\n          <ul>\n            <li>{translate('success-messages.ship')}</li>\n            <li>{translate('success-messages.changes')}</li>\n            <li>\n              {translate('success-messages.new-certificate')} <b>{examAddress}</b>\n            </li>\n            <li>{translate('success-messages.pickup')}</li>\n            <li>{translate('success-messages.original-certificate')}</li>\n            <li>{translate('success-messages.additional-changes')}</li>\n          </ul>\n\n          <div>\n            <Button\n              testId=\"download-pdf-button\"\n              onClick={getPdf}\n              isBusy={pdfBusyWatcher.isBusy}\n              text={translate('download-pdf')}\n              size=\"small\"\n              outlined\n              rightMargin\n            />\n            <Button\n              testId=\"download-zip-button\"\n              onClick={getZip}\n              isBusy={zipBusyWatcher.isBusy}\n              text={translate('download-zip')}\n              size=\"small\"\n              outlined\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default PaymentDoneView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport InfoPanel from '../../../../../../components/shared/InfoPanel/InfoPanel';\nimport Button from '../../../../../../components/shared/Button/Button';\n\nconst PaymentRejectedView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const { translate, backToShips } = vm;\n\n  return (\n    <div className=\"payment-rejected-view\">\n      <Container>\n        <Envelope>\n          <InfoPanel message={translate('payment-rejected')} type=\"error\" />\n          <div className=\"pt-3 pb-5 text-center\">\n            <Button testId=\"back-button\" onClick={backToShips} text={translate('back-to-ships')} />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default PaymentRejectedView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\n\nconst PaymentWaitingView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const { description } = vm;\n\n  return (\n    <div className=\"payment-waiting-view\">\n      <Container>\n        <div className=\"text-center\">{description}</div>\n        <div className=\"summary-loader text-center\">\n          <div className=\"sg-loaders__item sg-loaders__item--blue\">\n            <div className=\"gov-loader\">\n              <span>&nbsp;</span>\n              <span>&nbsp;</span>\n              <span>&nbsp;</span>\n            </div>\n          </div>\n        </div>\n      </Container>\n    </div>\n  );\n});\n\nexport default PaymentWaitingView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport './PaymentDoneView.scss';\n\nconst NewPaymentDoneView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    referenceNumber,\n    examAddress,\n    examDate,\n    getZip,\n    getPdf,\n    zipBusyWatcher,\n    pdfBusyWatcher,\n  } = vm;\n\n  return (\n    <div className=\"payment-done-view\">\n      <Container>\n        <Envelope>\n          <p className=\"pd-success-message d-flex align-items-center\">\n            <span className=\"gov-icon gov-icon--check success-message-check\"></span> {translate('title')}:{' '}\n            {referenceNumber}\n          </p>\n\n          <ul>\n            <li>\n              {translate('success-messages.address')}: <b>{examAddress}</b>\n            </li>\n            <li>\n              {translate('success-messages.date-time')}: <b>{examDate}</b>\n            </li>\n            <li>{translate('success-messages.additional-changes-replacement')}</li>\n            <li className=\"fw-bold\">{translate('success-messages.info-message')}</li>\n          </ul>\n\n          <div>\n            <Button\n              testId=\"download-pdf-button\"\n              onClick={getPdf}\n              isBusy={pdfBusyWatcher.isBusy}\n              text={translate('download-pdf')}\n              size=\"small\"\n              outlined\n              rightMargin\n            />\n            <Button\n              testId=\"download-zip-button\"\n              onClick={getZip}\n              isBusy={zipBusyWatcher.isBusy}\n              text={translate('download-zip')}\n              size=\"small\"\n              outlined\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default NewPaymentDoneView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport './PaymentDoneView.scss';\nimport MarkdownContent from '../../../../../../components/form/MarkdownContent';\n\nconst ReplacementPaymentDoneView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    referenceNumber,\n    certificate,\n    reason,\n    branch,\n    getPdf,\n    pdfBusyWatcher,\n    getZip,\n    zipBusyWatcher,\n  } = vm;\n\n  return (\n    <div className=\"payment-done-view\">\n      <Container>\n        <Envelope>\n          <p className=\"pd-success-message d-flex align-items-center\">\n            <span className=\"gov-icon gov-icon--check success-message-check\"></span> {translate('title')}:{' '}\n            {referenceNumber}\n          </p>\n\n          <ul>\n            <li>\n              {translate('success-messages.certificate')}: <b>{certificate}</b>\n            </li>\n            <li>\n              {translate('success-messages.reason')}: <b>{reason}</b>\n            </li>\n            <li>\n              {translate('success-messages.branch')}: <b>{branch}</b>\n            </li>\n            <li>{translate('success-messages.additional-changes-replacement')}</li>\n            <li>\n              <MarkdownContent\n                content={translate('success-messages.certificate-ready').replace(\n                  '{link}',\n                  'https://vydane-prukazy.plavebniurad.cz/index.asp'\n                )}\n              />\n            </li>\n            <li>{translate('success-messages.original-certificate-replacement')}</li>\n            <li>{translate('success-messages.pickup-replacement')}</li>\n          </ul>\n\n          <div>\n            <Button\n              testId=\"download-pdf-button\"\n              onClick={getPdf}\n              isBusy={pdfBusyWatcher.isBusy}\n              text={translate('download-pdf')}\n              size=\"small\"\n              outlined\n              rightMargin\n            />\n            <Button\n              testId=\"download-zip-button\"\n              onClick={getZip}\n              isBusy={zipBusyWatcher.isBusy}\n              text={translate('download-zip-no-attachment')}\n              size=\"small\"\n              outlined\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default ReplacementPaymentDoneView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport './PaymentDoneView.scss';\nimport { PickupMethods } from 'src/services/ship/ExtensionValidityService';\n\nconst ExtensionPaymentDoneView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    referenceNumber,\n    boat,\n    pin,\n    pickup,\n    branch,\n    getPdf,\n    getZip,\n    pdfBusyWatcher,\n    zipBusyWatcher,\n  } = vm;\n\n  return (\n    <div className=\"payment-done-view\">\n      <Container>\n        <Envelope>\n          <p className=\"pd-success-message d-flex align-items-center\">\n            <span className=\"gov-icon gov-icon--check success-message-check\"></span> {translate('title')}:{' '}\n            {referenceNumber}\n          </p>\n\n          <ul>\n            <li>\n              {translate('success-messages.boat')}: <b>{boat}</b>\n            </li>\n            <li>\n              {translate('success-messages.pin')}: <b>{pin}</b>\n            </li>\n            <li>{translate('success-messages.original-certificates-required')}</li>\n            {pickup === PickupMethods.Pickup ? (\n              <>\n                {branch ? (\n                  <li>{translate('success-messages.pickup-extension').replace('{branch}', branch)}</li>\n                ) : (\n                  <li>\n                    {translate('success-messages.pickup-extension').replace(\n                      '{branch}',\n                      translate('success-messages.branch-default')\n                    )}\n                  </li>\n                )}\n                <li>\n                  <b>{translate('success-messages.bring-existing')}</b>\n                </li>\n                <li>{translate('success-messages.additional-pickup-extension')}</li>\n              </>\n            ) : (\n              <>\n                <li>\n                  <b>{translate('success-messages.bring-existing')}</b>\n                </li>\n                <li>{translate('success-messages.post-extension')}</li>\n                <li>{translate('success-messages.additional-post-extension')}</li>\n              </>\n            )}\n          </ul>\n\n          <div>\n            <Button\n              testId=\"download-pdf-button\"\n              onClick={getPdf}\n              isBusy={pdfBusyWatcher.isBusy}\n              text={translate('download-pdf')}\n              size=\"small\"\n              outlined\n              rightMargin\n            />\n            <Button\n              testId=\"download-zip-button\"\n              onClick={getZip}\n              isBusy={zipBusyWatcher.isBusy}\n              text={translate('download-zip')}\n              size=\"small\"\n              outlined\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default ExtensionPaymentDoneView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport './PaymentDoneView.scss';\n\nconst ChangesPaymentDoneView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const { translate, referenceNumber, boat, pickup, getPdf, getZip, branch, zipBusyWatcher, pdfBusyWatcher } =\n    vm;\n\n  return (\n    <div className=\"payment-done-view\">\n      <Container>\n        <Envelope>\n          <p className=\"pd-success-message d-flex align-items-center\">\n            <span className=\"gov-icon gov-icon--check success-message-check\"></span> {translate('title')}:{' '}\n            {referenceNumber}\n          </p>\n\n          <ul>\n            <li>\n              {translate('success-messages.ship')}: <b>{boat}</b>\n            </li>\n            <li>{translate('success-messages.changes')}</li>\n            {pickup &&\n            pickup.toLowerCase().includes(translate('success-messages.delivery-note').toLowerCase()) ? (\n              <li>{translate('success-messages.delivery-pickup')}</li>\n            ) : (\n              <>\n                {branch ? (\n                  <li>{translate('success-messages.sps-pickup').replace('{branch}', branch)}</li>\n                ) : (\n                  <li>\n                    {translate('success-messages.sps-pickup').replace(\n                      '{branch}',\n                      translate('success-messages.branch-default')\n                    )}\n                  </li>\n                )}\n              </>\n            )}\n            <li>\n              <b>{translate('success-messages.original-certificate')}</b>\n            </li>\n            <li>{translate('success-messages.additional-changes')}</li>\n          </ul>\n\n          <div>\n            <Button\n              testId=\"download-pdf-button\"\n              onClick={getPdf}\n              isBusy={pdfBusyWatcher.isBusy}\n              text={translate('download-pdf')}\n              size=\"small\"\n              outlined\n              rightMargin\n            />\n            <Button\n              testId=\"download-zip-button\"\n              onClick={getZip}\n              isBusy={zipBusyWatcher.isBusy}\n              text={translate('download-zip')}\n              size=\"small\"\n              outlined\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default ChangesPaymentDoneView;\n","import { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport './PaymentDoneView.scss';\n\nconst VesselRegistrationPaymentDoneView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    referenceNumber,\n    devices,\n    branch,\n    getPdf,\n    getZip,\n    pickup,\n    pdfBusyWatcher,\n    zipBusyWatcher,\n  } = vm;\n\n  return (\n    <div className=\"payment-done-view\">\n      <Container>\n        <Envelope>\n          <p className=\"pd-success-message d-flex align-items-center\">\n            <span className=\"gov-icon gov-icon--check success-message-check\"></span> {translate('title')}:{' '}\n            {referenceNumber}\n          </p>\n\n          <ul>\n            <li>{translate('success-messages.will-be-registered')}</li>\n            <li>{translate('success-messages.technical-review-date')}</li>\n            {devices ? (\n              <li>\n                {translate('success-messages.devices-certificates-needed').replace('{devices}', devices)}\n              </li>\n            ) : (\n              <></>\n            )}\n            <li>{translate('success-messages.detail-changes')}</li>\n            {pickup &&\n            pickup.toLowerCase().includes(translate('success-messages.delivery-note').toLowerCase()) ? (\n              <li>{translate('success-messages.delivery-pickup')}</li>\n            ) : (\n              <>\n                {branch ? (\n                  <li>{translate('success-messages.sps-pickup').replace('{branch}', branch)}</li>\n                ) : (\n                  <li>\n                    {translate('success-messages.sps-pickup').replace(\n                      '{branch}',\n                      translate('success-messages.branch-default')\n                    )}\n                  </li>\n                )}\n              </>\n            )}\n            <li>{translate('success-messages.additional-changes')}</li>\n          </ul>\n\n          <div>\n            <Button\n              testId=\"download-pdf-button\"\n              onClick={getPdf}\n              isBusy={pdfBusyWatcher.isBusy}\n              text={translate('download-pdf')}\n              size=\"small\"\n              outlined\n              rightMargin\n            />\n            <Button\n              testId=\"download-zip-button\"\n              onClick={getZip}\n              isBusy={zipBusyWatcher.isBusy}\n              text={translate('download-zip')}\n              size=\"small\"\n              outlined\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default VesselRegistrationPaymentDoneView;\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type PaymentDoneViewModel from './PaymentDoneViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport InfoPanel from '../../../../../../components/shared/InfoPanel/InfoPanel';\nimport Button from '../../../../../../components/shared/Button/Button';\n\nconst PaymentFailedView: View<PaymentDoneViewModel> = observer(({ vm }) => {\n  const { translate, backToShips } = vm;\n\n  return (\n    <div className=\"payment-rejected-view\">\n      <Container>\n        <Envelope>\n          <InfoPanel message={translate('payment-failed')} type=\"error\" />\n          <div className=\"pb-5 text-center pt-3\">\n            <Button testId=\"back-button\" onClick={backToShips} text={translate('back-to-ships')} />\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default PaymentFailedView;\n","import { Inject, Service } from 'typedi';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport PaymentDoneView from './PaymentDoneView';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentRejectedView from './PaymentRejectedView';\nimport PaymentWaitingView from './PaymentWaitingView';\nimport ShipServiceAbstract from '../../../../../../services/ship/ShipServiceAbstract';\nimport type { ReplacementCertificateSummaryType } from '../../../../../../data/entities/ship/ReplacementCertificate/FormDataEntity';\nimport type { NewCertificateSummaryType } from '../../../../../../data/entities/ship/NewCertificate/FormDataEntity';\nimport NewPaymentDoneView from './NewPaymentDoneView';\nimport ShipDownloadService from '../../../../../../services/ship/ShipDownloadService';\nimport type { ExtensionValiditySummaryType } from '../../../../../../data/entities/ship/ExtensionValidity/FormDataEntity';\nimport ReplacementPaymentDoneView from './ReplacementPaymentDoneView';\nimport ExtensionPaymentDoneView from './ExtensionPaymentDoneView';\nimport ChangesPaymentDoneView from './ChangesPaymentDoneView';\nimport type { ChangesCertificateSummaryType } from '../../../../../../data/entities/ship/ChangesCertificate/FormDataEntity';\nimport VesselRegistrationPaymentDoneView from './VesselRegistrationPaymentDoneView';\nimport type { VesselRegistrationSummaryType } from '../../../../../../data/entities/ship/VesselRegistration/FormDataEntity';\nimport PaymentFailedView from './PaymentFailedView';\nimport ShipViewModel from '../../../../ShipViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport PaymentStatusEntity from '../../../../../../data/entities/ship/payment/PaymentStatusEntity';\nimport PDFApplicationEntity from '../../../../../../data/entities/ship/documents/PDFApplicationEntity';\nimport ZIPApplicationEntity from '../../../../../../data/entities/ship/documents/ZIPApplicationEntity';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\nenum PaymentStatuses {\n  WAITING_FOR_PAYMENT = 'WAITING_FOR_PAYMENT',\n  CANCELED = 'CANCELED',\n  REJECTED = 'REJECTED',\n  FAIL = 'FAIL',\n  DONE = 'DONE',\n}\n\n@AddDefaultView(PaymentDoneView)\n// @AddConditionalView(PaymentErrorView, vm => !vm.hasReferenceNumber)\n@AddConditionalView(NewPaymentDoneView, (vm) => vm.serviceId === 111 && vm.paymentStatus === PaymentStatuses.DONE)\n@AddConditionalView(ReplacementPaymentDoneView, (vm) => vm.serviceId === 191 && vm.paymentStatus === PaymentStatuses.DONE)\n@AddConditionalView(ExtensionPaymentDoneView, (vm) => vm.serviceId === 201 && vm.paymentStatus === PaymentStatuses.DONE)\n@AddConditionalView(ChangesPaymentDoneView, (vm) => vm.serviceId === 202 && vm.paymentStatus === PaymentStatuses.DONE)\n@AddConditionalView(VesselRegistrationPaymentDoneView, (vm) => vm.serviceId === 203 && vm.paymentStatus === PaymentStatuses.DONE)\n@AddConditionalView(PaymentWaitingView, (vm) => vm.paymentStatus === PaymentStatuses.WAITING_FOR_PAYMENT)\n@AddConditionalView(PaymentRejectedView, (vm) => vm.paymentStatus === PaymentStatuses.CANCELED)\n@AddConditionalView(\n  PaymentFailedView,\n  (vm) => vm.paymentStatus === PaymentStatuses.REJECTED || vm.paymentStatus === PaymentStatuses.FAIL\n)\n@Service()\nexport default class PaymentDoneViewModel extends OldSpsBaseScreen {\n  @observable pdfBusyWatcher = new BusyWatcher();\n  @observable zipBusyWatcher = new BusyWatcher();\n  @observable applicationShown: boolean = false;\n  @observable notFound: boolean = false;\n  @observable referenceNumber: string | null = '';\n  @observable pdf: string | undefined;\n  @observable zip: string | undefined;\n  @observable paymentStatus: PaymentStatuses = PaymentStatuses.WAITING_FOR_PAYMENT;\n  @observable description: string | undefined = 'Probíhá ověření platby';\n  @observable retryGetStatus: boolean = true;\n  @observable serviceId: number | undefined = undefined;\n  certificate: string | undefined = undefined;\n  branch: string | undefined = undefined;\n  reason: string | undefined = undefined;\n  examAddress: string | undefined = '';\n  examDate: string | undefined = '';\n  boat: string | undefined = '';\n  pin: string | undefined = '';\n  pickup: string | undefined = '';\n  devices: string | undefined = '';\n  paymentInterval: ReturnType<typeof setInterval> | undefined;\n  newSummary: NewCertificateSummaryType | undefined;\n  replacementSummary: ReplacementCertificateSummaryType | undefined;\n  extensionSummary: ExtensionValiditySummaryType | undefined;\n  vesselRegistrationSummary: VesselRegistrationSummaryType | undefined;\n  changesSummary: ChangesCertificateSummaryType | undefined;\n\n  get pathNode(): string {\n    return '/serviceId/';\n  }\n\n  get title(): string {\n    return this.getTitle();\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ShipServiceAbstract,\n    @Inject() private shipDownloadService: ShipDownloadService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PaymentDoneViewModel);\n    makeObservable(this);\n  }\n\n  async activate() {\n    if (!this.shipService.formData) {\n      this.shipService.loadShipData();\n    }\n\n    if (this.shipService.formData) {\n      runInAction(() => {\n        this.serviceId = this.shipService.formData.serviceId;\n      });\n    } else {\n      return this.navigator('/ship').go();\n    }\n\n    if (this.shipService.formData.serviceId === 111) {\n      this.newSummary = this.shipService.formData.summary;\n    } else if (this.shipService.formData.serviceId === 191) {\n      this.replacementSummary = this.shipService.formData.summary;\n    } else if (this.shipService.formData.serviceId === 201) {\n      this.extensionSummary = this.shipService.formData.summary;\n    } else if (this.shipService.formData.serviceId === 202) {\n      this.changesSummary = this.shipService.formData.summary;\n    } else if (this.shipService.formData.serviceId === 203) {\n      this.vesselRegistrationSummary = this.shipService.formData.summary;\n    }\n\n    await this.getPaymentStatus();\n\n    this.paymentInterval = setInterval(async () => {\n      if (this.retryGetStatus) {\n        await this.getPaymentStatus();\n      }\n    }, 5000);\n  }\n\n  deactivate() {\n    clearInterval(this.paymentInterval);\n    this.shipService.resetFormData();\n    this.errorMessage = '';\n  }\n\n  async getPaymentStatus() {\n    let paymentStatus: PaymentStatusEntity | undefined;\n\n    try {\n      paymentStatus = await this.shipService.getV2PaymentStatus();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - NewCertificate PaymentDoneViewModel',\n        'getPaymentStatus - shipService.getV2PaymentStatus'\n      );\n      clearInterval(this.paymentInterval);\n      this.handleError(e);\n    }\n\n    if (paymentStatus?.status === PaymentStatuses.WAITING_FOR_PAYMENT) {\n      this.setPaymentInfo(PaymentStatuses.WAITING_FOR_PAYMENT, paymentStatus.description);\n    } else if (\n      paymentStatus?.status === PaymentStatuses.CANCELED ||\n      paymentStatus?.status === PaymentStatuses.REJECTED ||\n      paymentStatus?.status === PaymentStatuses.FAIL\n    ) {\n      this.setPaymentInfo(paymentStatus.status, paymentStatus.description);\n      clearInterval(this.paymentInterval);\n      await this.shipService.deleteV2Form();\n    } else if (paymentStatus?.status === PaymentStatuses.DONE) {\n      this.setPaymentInfo(PaymentStatuses.DONE, paymentStatus.description, paymentStatus.referenceNumber);\n      if (this.serviceId === 111 && this.newSummary) {\n        this.examAddress = this.newSummary.examAddress;\n        this.examDate = this.newSummary.examDate;\n      } else if (this.serviceId === 191 && this.replacementSummary) {\n        this.certificate = this.replacementSummary.certificate;\n        this.reason = this.replacementSummary.reason;\n        this.branch = this.replacementSummary.branch;\n      } else if (this.serviceId === 201 && this.extensionSummary) {\n        this.boat = `${this.extensionSummary.boat?.number}, ${this.extensionSummary.boat?.name}, ${this.extensionSummary.boat?.type}`;\n        this.pin = this.extensionSummary.pin;\n        this.pickup = this.extensionSummary.pickupMethod;\n        this.branch = this.extensionSummary.branch;\n      } else if (this.serviceId === 202 && this.changesSummary) {\n        this.boat = this.changesSummary.boat;\n        this.pickup = this.changesSummary.pickup;\n        this.branch = this.changesSummary.issuingBranch;\n      } else if (this.serviceId === 203 && this.vesselRegistrationSummary) {\n        this.devices = this.vesselRegistrationSummary.devices?.join(', ');\n        this.branch = this.vesselRegistrationSummary.branch;\n        this.pickup = this.vesselRegistrationSummary.pickup;\n      }\n\n      runInAction(() => {\n        this.retryGetStatus = false;\n      });\n      clearInterval(this.paymentInterval);\n    }\n  }\n\n  @Watch<PaymentDoneViewModel>((s) => s.pdfBusyWatcher)\n  @action.bound\n  async getPdf() {\n    let pdf: PDFApplicationEntity | undefined;\n\n    try {\n      pdf = await this.shipService.getV2Pdf();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - NewCertificate PaymentDoneViewModel', 'getPdf - shipService.getV2Pdf');\n      this.handleError(e);\n    }\n\n    runInAction(() => {\n      if (pdf) {\n        this.pdf = pdf.data;\n        this.shipDownloadService.download(this.pdf, false);\n      }\n    });\n  }\n\n  @Watch<PaymentDoneViewModel>((s) => s.zipBusyWatcher)\n  @action.bound\n  async getZip() {\n    let zip: ZIPApplicationEntity | undefined;\n\n    try {\n      zip = await this.shipService.getV2Zip();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - NewCertificate PaymentDoneViewModel', 'getZip - shipService.getV2Zip');\n      this.handleError(e);\n    }\n\n    runInAction(() => {\n      if (zip) {\n        this.zip = zip.data;\n        this.shipDownloadService.download(this.zip, true);\n      }\n    });\n  }\n\n  @action.bound\n  backToShips() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  translate = translate('ship.certificates.payment-done', this);\n\n  private setPaymentInfo(status: PaymentStatuses, description: string, referenceNumber: string | null = null) {\n    runInAction(() => {\n      this.paymentStatus = status;\n      this.description = description;\n      this.referenceNumber = referenceNumber;\n    });\n  }\n\n  private getTitle(): string {\n    if (this.serviceId === 111) {\n      return this.translate('title-new-certificate');\n    } else if (this.serviceId === 191) {\n      return this.translate('title-replacement-certificate');\n    } else if (this.serviceId === 201) {\n      return this.translate('title-extension-validity');\n    } else if (this.serviceId === 202) {\n      return this.translate('title-changes-certificate');\n    } else if (this.serviceId === 203) {\n      return this.translate('title-vessel-registration');\n    } else {\n      return '';\n    }\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport ExamModel from '../Models/ExamModel';\n\ntype ExamConfirmationProps = {\n  exam: ExamModel;\n  isExamRequired: boolean;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst ExamConfirmation = observer(\n  ({ exam, isExamRequired, generalTranslate, className }: ExamConfirmationProps) => {\n    if (!isExamRequired) return <Typography>{generalTranslate('confirmation.examNotRequired')}</Typography>;\n\n    return (\n      <div className={getClassName('mb-4', className)}>\n        <Typography>\n          {generalTranslate('confirmation.examAddress') + ': '}\n          <b>{exam.address}</b>\n        </Typography>\n\n        <Typography>\n          {generalTranslate('confirmation.examDateTime') + ': '}\n          <b>{exam.date + ' ' + generalTranslate('confirmation.in') + ' ' + exam.time}</b>\n        </Typography>\n      </div>\n    );\n  }\n);\n\nexport default ExamConfirmation;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationViewModel from './ConfirmationViewModel';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ExamConfirmation from '../../shared/ConfirmationPage/ExamConfirmation';\nimport ConfirmedBranch from '../../shared/ConfirmationPage/ConfirmedBranch';\nimport ApplicationStatusLink from '../../shared/ConfirmationPage/ApplicationStatusLink';\nimport RelatedLicenses from '../../shared/Application/Summary/RelatedLicenses';\nimport OldLicenses from '../../shared/ConfirmationPage/OldLicences';\nimport AlertMessage from '../../shared/ConfirmationPage/AlertMessage';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { applicationService, downloadPdf, downloadPdfBusyWatcher, downloadZip, downloadZipBusyWatcher, generalTranslate } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <ExamConfirmation\n        exam={applicationService.examService.exam}\n        isExamRequired={applicationService.examService.isExamRequired(applicationService.reasonService.selectedReason.reasonId)}\n        generalTranslate={generalTranslate}\n      />\n\n      <RelatedLicenses\n        newLicenses={applicationService.otherLicenseService.newOtherLicenses}\n        generalTranslate={generalTranslate}\n      />\n\n      <ConfirmedBranch branch={applicationService.branchName} generalTranslate={generalTranslate} />\n\n      <ApplicationStatusLink generalTranslate={generalTranslate} />\n\n      <OldLicenses oldLicense={applicationService.otherLicenseService.oldOtherLicenses} generalTranslate={generalTranslate} />\n\n      <ChangeNotification generalTranslate={generalTranslate} />\n\n      <AlertMessage generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport ConfirmationView from './ConfirmationView';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentWaitingView from '../../shared/PaymentStatusScreen/PaymentWaitingView';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@AddConditionalView(\n  PaymentWaitingView,\n  (vm) => vm.paymentStatus === '' || vm.paymentStatus === SpsPaymentStatus.WAITING_FOR_PAYMENT\n)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(6);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      this.applicationService.paymentService.startPaymentStatusInterval(this, true, false);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeOldForNewCertificate ConfirmationViewModel',\n        'activate - applicationService.init, applicationService.paymentService.startPaymentStatusInterval'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.exam-certificate.confirmation', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ExamConfirmation from '../../shared/ConfirmationPage/ExamConfirmation';\nimport AlertMessage from '../../shared/ConfirmationPage/AlertMessage';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { applicationService, downloadPdf, downloadPdfBusyWatcher, downloadZip, downloadZipBusyWatcher, generalTranslate } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <ExamConfirmation exam={applicationService.examService.exam} isExamRequired={true} generalTranslate={generalTranslate} />\n      <ChangeNotification generalTranslate={generalTranslate} />\n      <AlertMessage generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentWaitingView from '../../shared/PaymentStatusScreen/PaymentWaitingView';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@AddConditionalView(\n  PaymentWaitingView,\n  (vm) => vm.paymentStatus === '' || vm.paymentStatus === SpsPaymentStatus.WAITING_FOR_PAYMENT\n)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('machinist-qualification.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      this.applicationService.paymentService.startPaymentStatusInterval(this, true, false);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - MachinistQualification ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    // TODO: download pdf\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    // TODO: download zip\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.machinist-qualification.confirmation', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport BoatInspectionService from '../Service/BoatInspectionService';\n\ntype ConfirmationTechnicalInspectionProps = {\n  boatInspectionService: BoatInspectionService;\n  generalTranslate: Translator;\n};\n\nconst ConfirmationTechnicalInspection = observer(\n  ({ boatInspectionService, generalTranslate }: ConfirmationTechnicalInspectionProps) => {\n    return (\n      <>\n        {Number(boatInspectionService.boatInspectionModel.pin) !== 0 && (\n          <Typography>\n            {generalTranslate('summary.technical-inspection.pin')}: <b>{boatInspectionService.boatInspectionModel.pin}</b>\n          </Typography>\n        )}\n      </>\n    );\n  }\n);\n\nexport default ConfirmationTechnicalInspection;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport BoatInfoService from '../Service/BoatInfoService';\n\ntype ConfirmationUtzProps = {\n  boatInfoService: BoatInfoService;\n  generalTranslate: Translator;\n};\n\nconst ConfirmationUtz = observer(({ boatInfoService, generalTranslate }: ConfirmationUtzProps) => {\n  const selectedIds = boatInfoService.boatInfoModel.devices;\n  const selectedDescriptions = boatInfoService.boatInfoModel.deviceDescriptions.filter((device) =>\n    selectedIds.includes(device.id)\n  );\n\n  return (\n    <>\n      {boatInfoService.boatInfoModel.devices.length > 0 && (\n        <>\n          <Typography>{generalTranslate('summary.utz')}:&#32;</Typography>\n          <ul>\n            {selectedDescriptions.map((device, index) => {\n              if (device.description) {\n                return (\n                  <Typography component={'li'} key={index}>\n                    {device.description}\n                  </Typography>\n                );\n              }\n              return null;\n            })}\n          </ul>\n        </>\n      )}\n    </>\n  );\n});\n\nexport default ConfirmationUtz;\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ConfirmationBoat from '../../shared/ConfirmationPage/ConfirmationBoat';\nimport ConfirmationTechnicalInspection from '../../shared/ConfirmationPage/ConfirmationTechnicalInspection';\nimport ConfirmationUtz from '../../shared/ConfirmationPage/ConfirmationUtz';\nimport ConfirmationPickupAndBranch from '../../shared/ConfirmationPage/ConfirmationPickupAndBranch';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const {\n    applicationService,\n    downloadPdf,\n    downloadPdfBusyWatcher,\n    downloadZip,\n    downloadZipBusyWatcher,\n    generalTranslate,\n    translate,\n  } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <ConfirmationBoat\n        actionText={translate('boat-title')}\n        boat={applicationService.boatsService.selectedBoat}\n        generalTranslate={generalTranslate}\n      />\n      <ConfirmationTechnicalInspection\n        boatInspectionService={applicationService.boatInspectionService}\n        generalTranslate={generalTranslate}\n      />\n      <ConfirmationUtz boatInfoService={applicationService.boatInfoService} generalTranslate={generalTranslate} />\n\n      <ConfirmationPickupAndBranch\n        generalTranslate={generalTranslate}\n        pickupId={applicationService.pickupDocumentsService.selectedPickup.pickupId}\n      />\n\n      <ChangeNotification generalTranslate={generalTranslate} updateText={translate('change-notification')} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentWaitingView from '../../shared/PaymentStatusScreen/PaymentWaitingView';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@AddConditionalView(\n  PaymentWaitingView,\n  (vm) => vm.paymentStatus === '' || vm.paymentStatus === SpsPaymentStatus.WAITING_FOR_PAYMENT\n)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(9);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      this.applicationService.paymentService.startPaymentStatusInterval(this, true, false);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges ConfirmationViewModel',\n        'activate - applicationService.init, applicationService.paymentService.startPaymentStatusInterval'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    // TODO: download pdf\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    // TODO: download zip\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.confirmation', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport ConfirmationBoat from '../../shared/ConfirmationPage/ConfirmationBoat';\nimport ConfirmationPickupAndBranch from '../../shared/ConfirmationPage/ConfirmationPickupAndBranch';\nimport CertificateReturn from '../../shared/ConfirmationPage/CertificateReturn';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const {\n    applicationService,\n    downloadPdf,\n    downloadPdfBusyWatcher,\n    downloadZip,\n    downloadZipBusyWatcher,\n    generalTranslate,\n  } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber ?? ''}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <ConfirmationBoat\n        actionText={generalTranslate('confirmation.boatChangeOwner')}\n        generalTranslate={generalTranslate}\n        boat={applicationService.boatService.selectedBoat}\n      />\n      <ConfirmationPickupAndBranch\n        generalTranslate={generalTranslate}\n        pickupId={applicationService.pickupDocumentsService.selectedPickup.pickupId}\n        branch={applicationService.branchService.selectedBranch.branch}\n        itemText={generalTranslate('duplicate-vessel-certificate.confirmation.itemText')}\n      />\n      <CertificateReturn generalTranslate={generalTranslate} />\n      <Typography>{generalTranslate('confirmation.change-notification-pl')}</Typography>\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentWaitingView from '../../shared/PaymentStatusScreen/PaymentWaitingView';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@AddConditionalView(\n  PaymentWaitingView,\n  (vm) => vm.paymentStatus === '' || vm.paymentStatus === SpsPaymentStatus.WAITING_FOR_PAYMENT\n)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('change-owner-or-operator.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(6);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n      this.applicationService.paymentService.startPaymentStatusInterval(this, true, false);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    // TODO: download zip\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.confirmation', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ConfirmationBoat from '../../shared/ConfirmationPage/ConfirmationBoat';\nimport ConfirmationPickupAndBranch from '../../shared/ConfirmationPage/ConfirmationPickupAndBranch';\nimport CertificateReturn from '../../shared/ConfirmationPage/CertificateReturn';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const {\n    applicationService,\n    downloadPdf,\n    downloadZip,\n    downloadPdfBusyWatcher,\n    downloadZipBusyWatcher,\n    generalTranslate,\n    translate,\n  } = vm;\n\n  return (\n    <ConfirmationPage\n      applicationNumber={applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      hasAttachmentToDownload={applicationService.hasAttachmentToDownload}\n    >\n      <ConfirmationBoat\n        actionText={translate('info1')}\n        generalTranslate={generalTranslate}\n        boat={applicationService.boatsService.selectedBoat}\n      />\n      <ConfirmationPickupAndBranch\n        generalTranslate={generalTranslate}\n        pickupId={applicationService.pickupDocumentsService.selectedPickup.pickupId}\n        branch={applicationService.branchService.selectedBranch.branch}\n        itemText={translate('itemText')}\n      />\n      <CertificateReturn generalTranslate={generalTranslate} />\n      <ChangeNotification generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentWaitingView from '../../shared/PaymentStatusScreen/PaymentWaitingView';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@AddConditionalView(\n  PaymentWaitingView,\n  (vm) => vm.paymentStatus === '' || vm.paymentStatus === SpsPaymentStatus.WAITING_FOR_PAYMENT\n)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('removalFromRegistry.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      this.applicationService.paymentService.startPaymentStatusInterval(this, true, false);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - RemovalFromRegistry ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    // TODO: download pdf\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    // TODO: download zip\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.removalFromRegistry.confirmation', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { makeObservable, observable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ConfirmationView from './ConfirmationView';\nimport PaymentDoneViewModel from '../NewCertificate/Steps/PaymentDone/PaymentDoneViewModel';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\nimport ShipServiceAbstract from '../../../../services/ship/ShipServiceAbstract';\nimport type { BreadcrumbControl } from '../../../breadcrumbs/types';\nimport ConfirmationViewModel121 from '../ExamCertificate/06_Confirmation/ConfirmationViewModel';\nimport ConfirmationViewModel141 from '../AdnExamCertificate/06_Confirmation/ConfirmationViewModel';\nimport ConfirmationViewModel142 from '../AdnRenewalCertificate/05_Confirmation/ConfirmationViewModel';\nimport ConfirmationViewModel143 from '../MachinistQualification/05_Confirmation/ConfirmationViewModel';\nimport ConfirmationViewModel204 from '../ExtensionAndChanges/09_Confirmation/ConfirmationViewModel';\nimport ConfirmationViewModel205 from '../ChangeOwnerOrOperator/06_Confirmation/ConfirmationViewModel';\nimport ConfirmationViewModel207 from '../RemovalFromRegistry/04_Confirmation/ConfirmationViewModel';\nimport { Domain_Contracts_Enums_SpsServiceId } from '../../../../data/sps/api';\n\n@AddDefaultView(ConfirmationView)\n@AddChildrenView()\n@Service()\nexport default class ConfirmationViewModel extends BaseScreen {\n  @observable notFound: boolean = false;\n\n  get pathNode(): string {\n    return 'payment-done';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private paymentDoneViewModel: PaymentDoneViewModel,\n    @Inject() private shipService: ShipServiceAbstract\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(paymentDoneViewModel);\n  }\n\n  notifyNavigation() {\n    let serviceId: number | string | undefined;\n    serviceId = parseQueryParams(window.location.search).serviceId;\n\n    // redirect for new SPS forms\n    switch (serviceId) {\n      case Domain_Contracts_Enums_SpsServiceId.ID121:\n        this.navigator(ConfirmationViewModel121).go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID141:\n        this.navigator(ConfirmationViewModel141).go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID142:\n        this.navigator(ConfirmationViewModel142).go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID143:\n        this.navigator(ConfirmationViewModel143).go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID204:\n        this.navigator(ConfirmationViewModel204).go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID205:\n        this.navigator(ConfirmationViewModel205).go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID207:\n        this.navigator(ConfirmationViewModel207).go();\n        return;\n    }\n\n    // redirect for old SPS forms updated to .NET V2 endpoints\n    this.shipService.loadShipData();\n    switch (serviceId) {\n      case Domain_Contracts_Enums_SpsServiceId.ID111:\n        this.navigator('./111').go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID191:\n        this.navigator('./191').go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID201:\n        this.navigator('./201').go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID202:\n        this.navigator('./202').go();\n        return;\n      case Domain_Contracts_Enums_SpsServiceId.ID203:\n        this.navigator('./203').go();\n        return;\n    }\n\n    // redirect for old SPS forms\n    serviceId = Number(serviceId);\n\n    if (!serviceId && this.shipService.formData) {\n      if (this.shipService.formData.serviceId && this.shipService.formData.requestId !== '') {\n        serviceId = this.shipService.formData.serviceId;\n      } else {\n        serviceId = undefined;\n      }\n    }\n\n    if (serviceId) {\n      this.navigator(`./${serviceId}`).go();\n    } else {\n      this.navigator('../').go();\n    }\n  }\n\n  translate = translate('ship.certificates.new-certificate.introduction', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ApplicationService from './ApplicationService';\nimport RequestViewModel from './02_Request/RequestViewModel';\nimport AttachmentsViewModel from './03_Attachments/AttachmentsViewModel';\nimport SummaryViewModel from './04_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './05_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractExchangeCertificateViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'exchange-certificate';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private requestViewModel: RequestViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(requestViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.abstract-view', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ApplicationService from './ApplicationService';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport AttachmentsViewModel from './02_Attachments/AttachmentsViewModel';\nimport ExamDateViewModel from './03_ExamDate/ExamDateViewModel';\nimport SummaryViewModel from './04_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './05_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractMachinistQualificationViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'machinist-qualification';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private examDateViewModel: ExamDateViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(examDateViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.machinist-qualification', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationService from './ApplicationService';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport PersonInfoViewModel from './01_PersonInfo/PersonInfoViewModel';\nimport RequestInfoViewModel from './02_RequestInfo/RequestInfoViewModel';\nimport AttachmentsViewModel from './03_Attachments/AttachmentsViewModel';\nimport ExamDateViewModel from './04_ExamDate/ExamDateViewModel';\nimport SummaryViewModel from './05_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './06_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractExamCertificateViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'exam-certificate';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personInfoViewModel: PersonInfoViewModel,\n    @Inject() private requestInfoViewModel: RequestInfoViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private examDateViewModel: ExamDateViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personInfoViewModel);\n    this.children.push(requestInfoViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(examDateViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.exam-certificate.abstract-view', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ApplicationService from './ApplicationService';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport RequestViewModel from './02_Request/RequestViewModel';\nimport FormDataViewModel from './03_FormData/FormDataViewModel';\nimport AttachmentsViewModel from './04_Attachments/AttachmentsViewModel';\nimport SummaryViewModel from './05_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './06_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractCrewEuIssuanceViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'crew-eu-issuance-certificate';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private requestViewModel: RequestViewModel,\n    @Inject() private formDataViewModel: FormDataViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(requestViewModel);\n    this.children.push(formDataViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.abstract-view', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ApplicationService from './ApplicationService';\nimport BuyerViewModel from './03_Buyer/BuyerViewModel';\nimport SelectBoatChangeTypeViewModel from './02_SelectBoatChangeType/SelectBoatChangeTypeViewModel';\nimport SummaryViewModel from './04_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './05_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractBuyerAuthorizationBySellerViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'buyer-authorization-by-seller';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private selectBoatChangeTypeViewModel: SelectBoatChangeTypeViewModel,\n    @Inject() private buyerViewModel: BuyerViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(selectBoatChangeTypeViewModel);\n    this.children.push(buyerViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.vessels.buyer-authorization-by-seller.abstract-view', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationService from './ApplicationService';\nimport IntroViewModel from './00_Intro/ChangeOwnerOrOperatorIntroViewModel';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport RequestViewModel from './02_Request/RequestViewModel';\nimport AttachmentsViewModel from './03_Attachments/AttachmentsViewModel';\nimport BranchViewModel from './04_Branch/BranchViewModel';\nimport SummaryViewModel from './05_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './06_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractChangeOwnerOrOperatorViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'change-owner-or-operator';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private requestViewModel: RequestViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private branchViewModel: BranchViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(requestViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(branchViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.abstract-view', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ApplicationService from './ApplicationService';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport RequestViewModel from './02_Request/RequestViewModel';\nimport SummaryViewModel from './03_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './04_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractRemovalFromRegistryViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'removal-from-registry';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private requestViewModel: RequestViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(requestViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.removalFromRegistry', this);\n}\n","import { Inject, Service } from 'typedi';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationService from './ApplicationService';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport PersonInfoViewModel from './01_PersonInfo/PersonInfoViewModel';\nimport ShipSelectionViewModel from './02_ShipSelection/ShipSelectionViewModel';\nimport UtzDevicesViewModel from './03_UtzDevices/UtzDevicesViewModel';\nimport TypeOfChangeViewModel from './04_TypeOfChange/TypeOfChangeViewModel';\nimport AttachmentsViewModel from './05_Attachments/AttachmentsViewModel';\nimport TechnicalInspectionViewModel from './06_TechnicalInspection/TechnicalInspectionViewModel';\nimport LicensePickupViewModel from './07_LicensePickup/LicensePickupViewModel';\nimport SummaryViewModel from './08_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './09_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class ExtensionAndChangesViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'extension-and-changes';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personInfoViewModel: PersonInfoViewModel,\n    @Inject() private shipSelectionViewModel: ShipSelectionViewModel,\n    @Inject() private utzDevicesViewModel: UtzDevicesViewModel,\n    @Inject() private typeOfChangeViewModel: TypeOfChangeViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private technicalInspectionViewModel: TechnicalInspectionViewModel,\n    @Inject() private licensePickupViewModel: LicensePickupViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personInfoViewModel);\n    this.children.push(shipSelectionViewModel);\n    this.children.push(utzDevicesViewModel);\n    this.children.push(typeOfChangeViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(technicalInspectionViewModel);\n    this.children.push(licensePickupViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.abstract-view', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ApplicationService from './ApplicationService';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport RequestViewModel from './02_Request/RequestViewModel';\nimport SummaryViewModel from './03_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './04_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractDuplicateVesselCertificateViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'duplicate-vessel-certificate';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private requestViewModel: RequestViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(requestViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.abstract-view', this);\n}\n","import { makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ApplicationService from './ApplicationService';\nimport PersonalInfoViewModel from './01_PersonalInfo/PersonalInfoViewModel';\nimport RequestViewModel from './02_Request/RequestViewModel';\nimport AttachmentsViewModel from './03_Attachments/AttachmentsViewModel';\nimport SummaryViewModel from './04_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './05_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractExchangeSwimmingBookViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'swimming-book';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personalInfoViewModel: PersonalInfoViewModel,\n    @Inject() private requestViewModel: RequestViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personalInfoViewModel);\n    this.children.push(requestViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.swimming-book.abstract-view', this);\n}\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ShipView from './ShipView';\nimport { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport './ShipView.scss';\nimport ReplacementCertificateViewModel from './applications/ReplacementCertificate/ReplacementCertificateViewModel';\nimport NewCertificateViewModel from './applications/NewCertificate/NewCertificateViewModel';\nimport ExtensionValidityCertificateViewModel from './applications/ExtensionValidityCertificate/ExtensionValidityCertificateViewModel';\nimport ConfirmationViewModel from './applications/Confirmation/ConfirmationViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ChangesCertificateViewModel from './applications/ChangesCertificate/ChangesCertificateViewModel';\nimport VesselRegistrationViewModel from './applications/VesselRegistration/VesselRegistrationViewModel';\nimport AuthService from '../../services/AuthService';\nimport AbstractExchangeCertificateViewModel from './applications/ExchangeOldForNewCertificate/AbstractExchangeCertificateViewModel';\nimport AbstractMachinistQualificationViewModel from './applications/MachinistQualification/AbstractMachinistQualificationViewModel';\nimport AbstractExamCertificateViewModel from './applications/ExamCertificate/AbstractExamCertificateViewModel';\nimport AbstractAdnExamCertificateViewModel from './applications/AdnExamCertificate/AbstractAdnExamCertificateViewModel';\nimport AbstractCrewEuIssuanceCertificateViewModel from './applications/CrewEuIssuanceCertificate/AbstractCrewEuIssuanceCertificateViewModel';\nimport AbstractAdnRenewalCertificateViewModel from './applications/AdnRenewalCertificate/AbstractAdnRenewalCertificateViewModel';\nimport AbstractBuyerAuthorizationBySellerViewModel from './applications/BuyerAuthorizationBySeller/AbstractBuyerAuthorizationBySellerViewModel';\nimport AbstractChangeOwnerOrOperatorViewModel from './applications/ChangeOwnerOrOperator/AbstractChangeOwnerOrOperatorViewModel';\nimport AbstractRemovalFromRegistryViewModel from './applications/RemovalFromRegistry/AbstractRemovalFromRegistryViewModel';\nimport ApiService from '../../services/ApiService';\nimport ExtensionAndChangesViewModel from './applications/ExtensionAndChanges/ExtensionAndChangesViewModel';\nimport MandatesService from '../../services/MandatesService';\nimport { MandatePersonType } from '../../enums/MandatePersonType';\nimport AbstractDuplicateVesselCertificateViewModel from './applications/DuplicateVesselCertificate/AbstractDuplicateVesselCertificateViewModel';\nimport AbstractExchangeSwimmingBookViewModel from './applications/ExchangeSwimmingBook/AbstractExchangeSwimmingBookViewModel';\nimport ExchangeOldForNewCertificateIntroViewModel from './applications/ExchangeOldForNewCertificate/00_Intro/IntroViewModel';\nimport ExamCertificateIntroViewModel from './applications/ExamCertificate/00_Intro/IntroViewModel';\nimport AdnExamCertificateIntroViewModel from './applications/AdnExamCertificate/00_Intro/IntroViewModel';\nimport AdnRenewalCertificateIntroViewModel from './applications/AdnRenewalCertificate/00_Intro/IntroViewModel';\nimport ExchangeSwimmingBookIntroViewModel from './applications/ExchangeSwimmingBook/00_Intro/IntroViewModel';\nimport DuplicateVesselCertificateIntroViewModel from './applications/DuplicateVesselCertificate/00_Intro/IntroViewModel';\nimport ChangeOwnerOrOperatorIntroViewModel from './applications/ChangeOwnerOrOperator/00_Intro/ChangeOwnerOrOperatorIntroViewModel';\nimport ExtensionAndChangesIntroViewModel from './applications/ExtensionAndChanges/00_Intro/IntroViewModel';\nimport BuyerAuthorizationBySellerIntroViewModel from './applications/BuyerAuthorizationBySeller/00_Intro/IntroViewModel';\nimport MachinistQualificationIntroViewModel from './applications/MachinistQualification/00_Intro/IntroViewModel';\nimport RemovalFromRegistryIntroViewModel from './applications/RemovalFromRegistry/00_Intro/IntroViewModel';\nimport CrewEuIssuanceCertificateIntroViewModel from './applications/CrewEuIssuanceCertificate/00_Intro/IntroViewModel';\nimport {\n  Sps_WebApi_Models_Responses_DocumentResponse,\n  Sps_WebApi_Models_Responses_VesselResponse,\n} from '../../data/sps/api';\nimport { UserService } from '../../services/UserService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ShipView)\n@AddChildrenView()\n@Service()\nexport default class ShipViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  @observable vessels?: Array<Sps_WebApi_Models_Responses_VesselResponse> = undefined;\n  @observable documents?: Array<Sps_WebApi_Models_Responses_DocumentResponse> = undefined;\n\n  get pathNode(): string {\n    return 'ship';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public abstractChangeOwnerOrOperatorViewModel: AbstractChangeOwnerOrOperatorViewModel,\n    @Inject() public replacementCertificateViewModel: ReplacementCertificateViewModel,\n    @Inject() public newCertificateViewModel: NewCertificateViewModel,\n    @Inject() public extensionValidityCertificateViewModel: ExtensionValidityCertificateViewModel,\n    @Inject() public changesCertificateViewModel: ChangesCertificateViewModel,\n    @Inject() public vesselRegistrationViewModel: VesselRegistrationViewModel,\n    @Inject() public confirmationViewModel: ConfirmationViewModel,\n    @Inject() private authService: AuthService,\n    @Inject() public abstractExchangeCertificateViewModel: AbstractExchangeCertificateViewModel,\n    @Inject() public abstractExchangeSwimmingBookViewModel: AbstractExchangeSwimmingBookViewModel,\n    @Inject() public abstractExamCertificateViewModel: AbstractExamCertificateViewModel,\n    @Inject() public abstractAdnExamCertificateViewModel: AbstractAdnExamCertificateViewModel,\n    @Inject() public abstractCrewEuIssuanceCertificateViewModel: AbstractCrewEuIssuanceCertificateViewModel,\n    @Inject() public abstractAdnRenewalCertificateViewModel: AbstractAdnRenewalCertificateViewModel,\n    @Inject() public extensionAndChangesViewModel: ExtensionAndChangesViewModel,\n    @Inject() public abstractBuyerAuthorizationBySellerViewModel: AbstractBuyerAuthorizationBySellerViewModel,\n    @Inject() public abstractDuplicateVesselCertificateViewModel: AbstractDuplicateVesselCertificateViewModel,\n    @Inject() public abstractMachinistQualificationViewModel: AbstractMachinistQualificationViewModel,\n    @Inject() public abstractRemovalFromRegistryViewModel: AbstractRemovalFromRegistryViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private apiService: ApiService,\n    @Inject() public userService: UserService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(replacementCertificateViewModel);\n    this.children.push(newCertificateViewModel);\n    this.children.push(extensionValidityCertificateViewModel);\n    this.children.push(changesCertificateViewModel);\n    this.children.push(confirmationViewModel);\n    this.children.push(vesselRegistrationViewModel);\n    this.children.push(abstractExchangeCertificateViewModel);\n    this.children.push(abstractMachinistQualificationViewModel);\n    this.children.push(abstractExchangeSwimmingBookViewModel);\n    this.children.push(abstractExamCertificateViewModel);\n    this.children.push(abstractAdnExamCertificateViewModel);\n    this.children.push(abstractAdnRenewalCertificateViewModel);\n    this.children.push(abstractBuyerAuthorizationBySellerViewModel);\n    this.children.push(abstractChangeOwnerOrOperatorViewModel);\n    this.children.push(extensionAndChangesViewModel);\n    this.children.push(abstractDuplicateVesselCertificateViewModel);\n    this.children.push(abstractCrewEuIssuanceCertificateViewModel);\n    this.children.push(abstractRemovalFromRegistryViewModel);\n  }\n\n  async notifyNavigation(): Promise<void> {\n    this.resetVessels();\n    await this.getData();\n  }\n\n  @computed get navReplacementCertificate() {\n    return this.navigator(ReplacementCertificateViewModel);\n  }\n\n  @computed get navNewCertificate() {\n    return this.navigator(NewCertificateViewModel);\n  }\n\n  @computed get navValidityExtension() {\n    return this.navigator(ExtensionValidityCertificateViewModel);\n  }\n\n  @computed get navVesselRegistration() {\n    return this.navigator(VesselRegistrationViewModel);\n  }\n\n  @computed get navExchangeSwimmingBook() {\n    return this.navigator(ExchangeSwimmingBookIntroViewModel);\n  }\n\n  @computed get navDataChangeVessel() {\n    return this.navigator(ChangesCertificateViewModel);\n  }\n\n  @computed get navExchangeCertificate() {\n    return this.navigator(ExchangeOldForNewCertificateIntroViewModel);\n  }\n\n  @computed get navMachinistQualification() {\n    return this.navigator(MachinistQualificationIntroViewModel);\n  }\n\n  @computed get navExamCertificate() {\n    return this.navigator(ExamCertificateIntroViewModel);\n  }\n\n  @computed get navAdnExamCertificate() {\n    return this.navigator(AdnExamCertificateIntroViewModel);\n  }\n\n  @computed get navCrewEuIssuance() {\n    return this.navigator(CrewEuIssuanceCertificateIntroViewModel);\n  }\n\n  @computed get navAdnRenewalCertificate() {\n    return this.navigator(AdnRenewalCertificateIntroViewModel);\n  }\n\n  @computed get navBuyerAuthorizationBySeller() {\n    return this.navigator(BuyerAuthorizationBySellerIntroViewModel);\n  }\n\n  @computed get navChangeOwnerOrOperator() {\n    return this.navigator(ChangeOwnerOrOperatorIntroViewModel);\n  }\n\n  @computed get navExtensionAndChanges() {\n    return this.navigator(ExtensionAndChangesIntroViewModel);\n  }\n\n  @computed get isFo() {\n    return this.mandatesService.personType === MandatePersonType.FO;\n  }\n\n  @computed get navDuplicateVesselCertificate() {\n    return this.navigator(DuplicateVesselCertificateIntroViewModel);\n  }\n\n  @computed get navRemovalFromRegistry() {\n    return this.navigator(RemovalFromRegistryIntroViewModel);\n  }\n\n  deactivate() {\n    this.resetVessels();\n  }\n\n  @action.bound\n  resetVessels() {\n    runInAction(() => {\n      this.documents = undefined;\n      this.vessels = undefined;\n    });\n  }\n\n  @Watch<ShipViewModel>((s) => s.busyWatcher)\n  async getData() {\n    if (this.vessels == undefined && this.documents == undefined) {\n      try {\n        //TODO: Implement new API for fetching vessel data\n        const response = await this.apiService.OASpsApi.sps.pdApiSps2V2VesselGet();\n        runInAction(() => {\n          this.vessels = response?.vessels.sort(this.compare);\n          this.documents = response?.documents;\n        });\n      } catch (e: any) {\n        this.errorService.logCatchError(e, 'ShipViewModel', 'getData - failed to fetch vessels');\n      }\n    }\n  }\n\n  translate = translate('ship', this);\n  engineTranslate = translate('ship.certificates.changes-certificate.type-of-change', this);\n\n  private compare(\n    a: Sps_WebApi_Models_Responses_VesselResponse,\n    b: Sps_WebApi_Models_Responses_VesselResponse\n  ) {\n    if (a.registerNumber < b.registerNumber) {\n      return -2;\n    }\n    if (a.registerNumber > b.registerNumber) {\n      return 2;\n    }\n\n    if (a.registerNumber == b.registerNumber) {\n      if (a.ownershipPercentage && b.ownershipPercentage && a.ownershipPercentage > b.ownershipPercentage) {\n        return 1;\n      } else {\n        return -1;\n      }\n    }\n\n    return 0;\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[\n        translate('steps.step-one'),\n        translate('steps.step-two'),\n        translate('steps.step-three'),\n        translate('steps.step-four'),\n      ]}\n      navToForm={navNextStep}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      navBack={navBack}\n    />\n  );\n});\n\nexport default IntroView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport { action, makeObservable, observable } from 'mobx';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonInfoViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - AdnExamCertificate IntroViewModel', 'navNextStep - applicationService.init');\n      this.handleError(e);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport PersonInfoViewModel from './PersonInfoViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonInfoView: View<PersonInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonInfoView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport PersonInfoView from './PersonInfoView';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport EligibilitiesViewModel from '../02_Eligibilities/EligibilitiesViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonInfoView)\n@Service()\nexport default class PersonInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'person-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(PersonInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnExamCertificate PersonInfoViewModel',\n        'activate - applicationService.personService.getPerson, applicationService.personService.getCitizenships, applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(EligibilitiesViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.person-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport EligibilitiesViewModel from './EligibilitiesViewModel';\nimport EligibilitySelection from '../../shared/Application/EligibilitySelection';\n\nconst EligibilitiesView: View<EligibilitiesViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <EligibilitySelection\n        title={translate('title')}\n        eligibilityService={applicationService.eligibilityService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default EligibilitiesView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport EligibilitiesView from './EligibilitiesView';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(EligibilitiesView)\n@Service()\nexport default class EligibilitiesViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'eligibilities';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(EligibilitiesViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<EligibilitiesViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.eligibilityService.getEligibilities();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnExamCertificate EligibilitiesViewModel',\n        'activate - applicationService.eligibilityService.getEligibilities, applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonInfoViewModel).go();\n  }\n\n  @Watch<EligibilitiesViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.eligibilityService.validate()) {\n      this.applicationService.eligibilityService.saveToSessionStorage();\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.eligibilities', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport Attachments from '../../shared/Application/Attachments';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate, translate } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n        title={generalTranslate('requiredAttachments')}\n      />\n\n      {!activateBusyWatcher.isBusy && (\n        <Typography variant=\"caption\" className=\"italic\">\n          {translate('attachments-note')}\n        </Typography>\n      )}\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport EligibilitiesViewModel from '../02_Eligibilities/EligibilitiesViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsView from './AttachmentsView';\nimport ExamDateViewModel from '../04_Exam/ExamDateViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport AbstractAdnExamCertificateViewModel from '../AbstractAdnExamCertificateViewModel';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    if (this.applicationService.eligibilityService.selectedEligibilityId === '') {\n      this.navigator(AbstractAdnExamCertificateViewModel).go();\n      return;\n    }\n\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequiredAttachments({\n        eligibilities: this.applicationService.eligibilityService.selectedEligibilitiesRequestString,\n      });\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnExamCertificate AttachmentsViewModel',\n        'activate - applicationService.attachmentsService.getRequiredAttachments, applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(EligibilitiesViewModel).go();\n  }\n\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n\n      this.navigator(ExamDateViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ExamDateViewModel from './ExamDateViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport ExamSelection from '../../shared/Application/ExamSelection';\n\nconst ExamDateView: View<ExamDateViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || !!applicationService.examService.dateError}\n    >\n      <ExamSelection\n        examService={applicationService.examService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default ExamDateView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ExamDateView from './ExamDateView';\nimport SummaryViewModel from '../05_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ExamDateView)\n@Service()\nexport default class ExamDateViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'exam-date';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(ExamDateViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<ExamDateViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([this.applicationService.examService.getPlaces(), this.applicationService.examService.getRestrictions()]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnExamCertificate ExamDateViewModel',\n        'activate - applicationService.examService.getPlaces, applicationService.examService.getRestrictions'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.examService.validate()) {\n      this.applicationService.examService.saveToSessionStorage();\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.exam-date', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SummaryViewModel from './SummaryViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonalInfoSummary from '../../shared/Application/Summary/PersonalInfoSummary';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport ExamSummary from '../../shared/Application/Summary/ExamSummary';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport PaymentInfoBox from '../../shared/Application/Summary/PaymentInfoBox';\nimport SelectedEligibility from '../../shared/Application/Summary/SelectedEligibility';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n    >\n      <PersonalInfoSummary\n        person={applicationService.personService.person}\n        citizenShip={applicationService.personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.requestInfoTitle')}>\n        <SelectedEligibility eligibilityService={applicationService.eligibilityService} generalTranslate={generalTranslate} />\n      </SummarySection>\n\n      <ExamSummary examService={applicationService.examService} isExamRequired={true} generalTranslate={generalTranslate} />\n\n      <AttachmentsSummary files={applicationService.attachmentsService.files} generalTranslate={generalTranslate} />\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n\n      <PaymentInfoBox\n        amount={applicationService.paymentService.payment.amount}\n        isBusy={activateBusyWatcher.isBusy}\n        generalTranslate={generalTranslate}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ExamDateViewModel from '../04_Exam/ExamDateViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryView from './SummaryView';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authService: AuthService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.paymentService.getPayment();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnExamCertificate SummaryViewModel',\n        'activate - applicationService.paymentService.getPayment, applicationService.init'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ExamDateViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.applicationService.postForm();\n\n      // redirect to CSOB if no error\n      window.location.replace(this.applicationService.paymentService.payment.url);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnExamCertificate SummaryViewModel',\n        'navNext - authService.refreshCurrentToken, applicationService.postForm'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.summary', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport ExamService from '../Service/ExamService';\nimport EligibilityService from '../Service/EligibilityService';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\ntype ConfirmedEligibilityWithExamProps = {\n  eligibilityService: EligibilityService;\n  examService: ExamService;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst ConfirmedEligibilityWithExam = observer(\n  ({ eligibilityService, examService, generalTranslate, className }: ConfirmedEligibilityWithExamProps) => {\n    return (\n      <div className={getClassName('mb-4', className)}>\n        <Typography>\n          {generalTranslate('confirmation.eligibilityExamStart') + ' '}\n          <b>{eligibilityService.selectedEligibilitiesString + ', '}</b>\n\n          {generalTranslate('confirmation.eligibilityExamAddress') + ': '}\n          <b>{examService.exam.address}</b>\n        </Typography>\n\n        <Typography>\n          {generalTranslate('confirmation.examDateTime') + ': '}\n          <b>{examService.exam.date + ' ' + generalTranslate('confirmation.in') + ' ' + examService.exam.time}</b>\n        </Typography>\n\n        <Typography className=\"bold mt-4 mb-4\">{generalTranslate('confirmation.eligibilityExamNote')}</Typography>\n      </div>\n    );\n  }\n);\n\nexport default ConfirmedEligibilityWithExam;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationViewModel from './ConfirmationViewModel';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ConfirmedEligibilityWithExam from '../../shared/ConfirmationPage/ConfirmedEligibilityWithExam';\nimport AlertMessage from '../../shared/ConfirmationPage/AlertMessage';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const {\n    applicationService,\n    downloadPdf,\n    downloadPdfBusyWatcher,\n    downloadZip,\n    downloadZipBusyWatcher,\n    generalTranslate,\n  } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <ConfirmedEligibilityWithExam\n        eligibilityService={applicationService.eligibilityService}\n        examService={applicationService.examService}\n        generalTranslate={generalTranslate}\n      />\n\n      <ChangeNotification generalTranslate={generalTranslate} />\n\n      <AlertMessage generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentWaitingView from '../../shared/PaymentStatusScreen/PaymentWaitingView';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@AddConditionalView(\n  PaymentWaitingView,\n  (vm) => vm.paymentStatus === '' || vm.paymentStatus === SpsPaymentStatus.WAITING_FOR_PAYMENT\n)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(6);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      this.applicationService.paymentService.startPaymentStatusInterval(this, true, false);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnExamCertificate ConfirmationViewModel',\n        'activate - applicationService.paymentService.startPaymentStatusInterval, a'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.confirmation', this);\n}\n","import { Inject, Service } from 'typedi';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationService from './ApplicationService';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport PersonInfoViewModel from './01_PersonInfo/PersonInfoViewModel';\nimport EligibilitiesViewModel from './02_Eligibilities/EligibilitiesViewModel';\nimport AttachmentsViewModel from './03_Attachments/AttachmentsViewModel';\nimport ExamDateViewModel from './04_Exam/ExamDateViewModel';\nimport SummaryViewModel from './05_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './06_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractAdnExamCertificateViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'adn-exam-certificate';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personInfoViewModel: PersonInfoViewModel,\n    @Inject() private eligibilitiesViewModel: EligibilitiesViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private examDateViewModel: ExamDateViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personInfoViewModel);\n    this.children.push(eligibilitiesViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(examDateViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.adn-exam-certificate.abstract-view', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const AdnExamCertificateSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'person-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'eligibilities',\n  },\n  {\n    stepNumber: 3,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 4,\n    title: 'exam-date',\n  },\n  {\n    stepNumber: 5,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport ValidationService from '../shared/Service/ValidationService';\nimport FormDataService from '../shared/Service/FormDataService';\nimport StepsService from '../shared/Service/StepsService';\nimport PersonService from '../shared/Service/PersonService';\nimport { AdnExamCertificateSteps } from './AdnExamCertificateStepsData';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport ExamService from '../shared/Service/ExamService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport EligibilityService from '../shared/Service/EligibilityService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\nimport ApiService from '../../../../services/ApiService';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID141;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public eligibilityService: EligibilityService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public examService: ExamService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() private apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(AdnExamCertificateSteps);\n    this.personService.init();\n    this.eligibilityService.init(false);\n    this.attachmentsService.init();\n    this.examService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.eligibilityService.reset();\n    this.attachmentsService.reset();\n    this.examService.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover141> = {\n      RelationId: this.formDataService.formData.relationId,\n      Person: this.personService.person.requestPersonString,\n      ContactAddress: JSON.stringify(this.personService.person.contactAddress),\n      LicenceId: this.eligibilityService.licence.licenceId,\n      Eligibilities: this.eligibilityService.selectedEligibilitiesRequestString,\n      ExamPlaceId: this.examService.exam.placeId,\n      ExamId: this.examService.exam.dateId,\n      RestrictionId: this.examService.exam.restrictionId,\n      RestrictionNote: this.examService.exam.note === '' ? undefined : this.examService.exam.note,\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    // POST request\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover141(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[\n        translate('steps.step-one'),\n        translate('steps.step-two'),\n        translate('steps.step-three'),\n        translate('steps.step-four'),\n      ]}\n      navToForm={navNextStep}\n      navBack={navBack}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    />\n  );\n});\n\nexport default IntroView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroView from './IntroView';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-renewal-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonInfoViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - AdnRenewalCertificate IntroViewModel', 'navNextStep - applicationService.init');\n      this.handleError(e);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.adn-renewal-certificate.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport PersonInfoViewModel from './PersonInfoViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonInfoView: View<PersonInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonInfoView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport PersonInfoView from './PersonInfoView';\nimport RequestInfoViewModel from '../02_RequestInfo/RequestInfoViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonInfoView)\n@Service()\nexport default class PersonInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'person-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-renewal-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(PersonInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnRenewalCertificate PersonInfoViewModel',\n        'activate - applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestInfoViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.adn-renewal-certificate.person-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport RequestInfoViewModel from './RequestInfoViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport BranchSelection from '../../shared/Application/BranchSelection';\nimport EligibilitySelection from '../../shared/Application/EligibilitySelection';\n\nconst RequestInfoView: View<RequestInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <EligibilitySelection\n        title={translate('eligibility-selection-title')}\n        eligibilityService={applicationService.eligibilityService}\n        isBusy={activateBusyWatcher.isBusy}\n        className=\"pb-5\"\n      />\n\n      <BranchSelection\n        title={generalTranslate('branch-selection-title')}\n        branchService={applicationService.branchService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default RequestInfoView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestInfoView from './RequestInfoView';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestInfoView)\n@Service()\nexport default class RequestInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'request-info';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-renewal-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(RequestInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.eligibilityService.getEligibilities(),\n        this.applicationService.branchService.getBranches(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnRenewalCertificate RequestInfoViewModel',\n        'activate - applicationService.branchService.getBranches, applicationService.eligibilityService.getEligibilities'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonInfoViewModel).go();\n  }\n\n  @Watch<RequestInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [this.applicationService.branchService.validate(), this.applicationService.eligibilityService.validate()];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.eligibilityService.saveToSessionStorage();\n\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.adn-renewal-certificate.request-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n        title={generalTranslate('requiredAttachments')}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport RequestInfoViewModel from '../02_RequestInfo/RequestInfoViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsView from './AttachmentsView';\nimport SummaryViewModel from '../04_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\nimport AbstractAdnRenewalCertificateViewModel from '../AbstractAdnRenewalCertificateViewModel';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-renewal-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    if (this.applicationService.eligibilityService.selectedEligibilityId === '') {\n      this.navigator(AbstractAdnRenewalCertificateViewModel).go();\n      return;\n    }\n\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequiredAttachments({\n        eligibilities: this.applicationService.eligibilityService.selectedEligibilitiesRequestString,\n      });\n      this.applicationService.attachmentsService.initialized = true;\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnRenewalCertificate AttachmentsViewModel',\n        'activate - applicationService.attachmentsService.getRequiredAttachments, applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestInfoViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.adn-renewal-certificate.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SummaryViewModel from './SummaryViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonalInfoSummary from '../../shared/Application/Summary/PersonalInfoSummary';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport PaymentInfoBox from '../../shared/Application/Summary/PaymentInfoBox';\nimport SelectedBranch from '../../shared/Application/Summary/SelectedBranch';\nimport SelectedEligibility from '../../shared/Application/Summary/SelectedEligibility';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n    translate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n    >\n      <PersonalInfoSummary\n        person={applicationService.personService.person}\n        citizenShip={applicationService.personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.licencesTitle')}>\n        <SelectedEligibility eligibilityService={applicationService.eligibilityService} generalTranslate={generalTranslate} />\n        <SelectedBranch branch={applicationService.branchService.selectedBranch.branch} generalTranslate={generalTranslate} />\n      </SummarySection>\n\n      <AttachmentsSummary files={applicationService.attachmentsService.files} generalTranslate={generalTranslate} />\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n\n      <PaymentInfoBox\n        amount={applicationService.paymentService.payment.amount}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n        paymentInfo={translate('paymentInfo')}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryView from './SummaryView';\nimport ConfirmationViewModel from '../05_Confirmation/ConfirmationViewModel';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-renewal-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authService: AuthService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.paymentService.getPayment();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnRenewalCertificate SummaryViewModel',\n        'activate - applicationService.paymentService.getPayment'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.applicationService.postForm();\n\n      // redirect to CSOB if no error\n      window.location.replace(this.applicationService.paymentService.payment.url);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnRenewalCertificate SummaryViewModel',\n        'navNext - applicationService.postForm, authService.refreshCurrentToken'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.adn-renewal-certificate.summary', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport EligibilityService from '../Service/EligibilityService';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype ConfirmedEligibilityProps = {\n  eligibilityService: EligibilityService;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst ConfirmedEligibility = observer(({ eligibilityService, generalTranslate, className }: ConfirmedEligibilityProps) => {\n  return (\n    <>\n      <Typography className={getClassName(className)}>\n        {generalTranslate('confirmation.eligibilityStart')}&#32;\n        <b>{generalTranslate('confirmation.eligibilityMiddle')}</b>&#32;\n        {generalTranslate('confirmation.eligibilityEnd')}&#32;\n        <b>{eligibilityService.selectedEligibilitiesString}</b>.\n      </Typography>\n\n      <Typography className={getClassName(className, 'bold')}>\n        {generalTranslate('confirmation.eligibilityAttachmentNote')}\n      </Typography>\n    </>\n  );\n});\n\nexport default ConfirmedEligibility;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype OldAdnCertificateNoteProps = {\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst OldAdnCertificateNote = observer(({ generalTranslate, className }: OldAdnCertificateNoteProps) => {\n  return (\n    <Typography className={getClassName(className, 'bold')}>{generalTranslate('confirmation.oldAdnCertificateNote')}</Typography>\n  );\n});\n\nexport default OldAdnCertificateNote;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationViewModel from './ConfirmationViewModel';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ConfirmedBranch from '../../shared/ConfirmationPage/ConfirmedBranch';\nimport ApplicationStatusLink from '../../shared/ConfirmationPage/ApplicationStatusLink';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ConfirmedEligibility from '../../shared/ConfirmationPage/ConfirmedEligibility';\nimport OldAdnCertificateNote from '../../shared/ConfirmationPage/OldAdnCertificateNote';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { applicationService, downloadPdf, downloadPdfBusyWatcher, downloadZip, downloadZipBusyWatcher, generalTranslate } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <ConfirmedEligibility eligibilityService={applicationService.eligibilityService} generalTranslate={generalTranslate} />\n\n      <ConfirmedBranch\n        branch={applicationService.branchService.selectedBranch.branch}\n        singular\n        generalTranslate={generalTranslate}\n      />\n\n      <ApplicationStatusLink generalTranslate={generalTranslate} singular />\n\n      <OldAdnCertificateNote generalTranslate={generalTranslate} />\n\n      <ChangeNotification generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PaymentWaitingView from '../../shared/PaymentStatusScreen/PaymentWaitingView';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@AddConditionalView(\n  PaymentWaitingView,\n  (vm) => vm.paymentStatus === '' || vm.paymentStatus === SpsPaymentStatus.WAITING_FOR_PAYMENT\n)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('adn-renewal-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      this.applicationService.paymentService.startPaymentStatusInterval(this, true, false);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - AdnRenewalCertificate ConfirmationViewModel',\n        'activate - applicationService.paymentService.startPaymentStatusInterval'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.adn-renewal-certificate.confirmation', this);\n}\n","import { Inject, Service } from 'typedi';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationService from './ApplicationService';\nimport IntroViewModel from './00_Intro/IntroViewModel';\nimport PersonInfoViewModel from './01_PersonInfo/PersonInfoViewModel';\nimport RequestInfoViewModel from './02_RequestInfo/RequestInfoViewModel';\nimport AttachmentsViewModel from './03_Attachments/AttachmentsViewModel';\nimport SummaryViewModel from './04_Summary/SummaryViewModel';\nimport ConfirmationViewModel from './05_Confirmation/ConfirmationViewModel';\n\n@AddInvisibleView()\n@AddChildrenView()\n@Service()\nexport default class AbstractAdnRenewalCertificateViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'adn-renewal-certificate';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introViewModel: IntroViewModel,\n    @Inject() private personInfoViewModel: PersonInfoViewModel,\n    @Inject() private requestInfoViewModel: RequestInfoViewModel,\n    @Inject() private attachmentsViewModel: AttachmentsViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introViewModel);\n    this.children.push(personInfoViewModel);\n    this.children.push(requestInfoViewModel);\n    this.children.push(attachmentsViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToIntro();\n  }\n\n  activate() {}\n\n  deactivate() {}\n\n  redirectToIntro() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  translate = translate('ship.certificates.adn-renewal-certificate.abstract-view', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const AdnRenewalCertificateSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'person-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'request-info',\n  },\n  {\n    stepNumber: 3,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 4,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Inject, Service } from 'typedi';\nimport ValidationService from '../shared/Service/ValidationService';\nimport FormDataService from '../shared/Service/FormDataService';\nimport StepsService from '../shared/Service/StepsService';\nimport PersonService from '../shared/Service/PersonService';\nimport { AdnRenewalCertificateSteps } from './AdnRenewalCertificateStepsData';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport BranchService from '../shared/Service/BranchService';\nimport EligibilityService from '../shared/Service/EligibilityService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\nimport ApiService from '../../../../services/ApiService';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID142;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public eligibilityService: EligibilityService,\n    @Inject() public branchService: BranchService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() private apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(AdnRenewalCertificateSteps);\n    this.personService.init();\n    this.eligibilityService.init(true);\n    this.branchService.init();\n    this.attachmentsService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.eligibilityService.reset();\n    this.branchService.reset();\n    this.attachmentsService.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover142> = {\n      ReleasePlaceId: Number(this.branchService.selectedBranch.branchId),\n      LicenceId: this.eligibilityService.licence.licenceId,\n      Eligibilities: this.eligibilityService.selectedEligibilitiesRequestString,\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      Person: this.personService.getPersonString,\n      ContactAddress: this.personService.getEntityContactString,\n      RelationId: this.formDataService.formData.relationId,\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    // POST request\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover142(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type ChangesCertificateStepsViewModel from './ChangesCertificateStepsViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Steps from '../components/Steps';\n\nconst ChangesCertificateStepsView: View<ChangesCertificateStepsViewModel> = observer(({ vm }) => {\n  const { translate, changesCertificateTranslate, activeStep, steps } = vm;\n\n  return (\n    <div>\n      <h1>{changesCertificateTranslate('title')}</h1>\n      <Steps steps={steps} vm={vm} activeStep={activeStep} translate={translate} />\n    </div>\n  );\n});\n\nexport default ChangesCertificateStepsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ChangesCertificateStepsView from './ChangesCertificateStepsView';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport StepsViewModel from '../StepsViewModel';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { FormStateKeys } from '../../../../../data/entities/ship/types/FormState';\nimport ChangesCertificateService from '../../../../../services/ship/ChangesCertificateService';\n\n@AddDefaultView(ChangesCertificateStepsView)\n@AddChildrenView()\n@Service()\nexport default class ChangesCertificateStepsViewModel extends StepsViewModel {\n  @observable applicationShown: boolean = false;\n  @observable notFound: boolean = false;\n\n  @observable steps = [\n    {\n      stepNumber: 1,\n      title: 'personal-info',\n      key: 'hasPersonalInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 2,\n      title: 'ship-selection',\n      key: 'hasShipSelection',\n      disabled: true,\n    },\n    {\n      stepNumber: 3,\n      title: 'type-of-change',\n      key: 'hasTypeOfChange',\n      disabled: true,\n    },\n    { stepNumber: 4, title: 'required-attachments', disabled: true },\n    { stepNumber: 5, title: 'summary', disabled: true },\n  ];\n\n  get pathNode(): string {\n    return '';\n  }\n\n  get title(): string {\n    return this.changesCertificateTranslate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ChangesCertificateService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get activeStep() {\n    return this.shipService.step;\n  }\n\n  @action.bound changeStep(stepNumber: number, visitedStep: FormStateKeys) {\n    this.shipService.changeStep(stepNumber, visitedStep);\n  }\n\n  translate = translate('ship.certificates.steps', this);\n  changesCertificateTranslate = translate('ship.certificates.changes-certificate', this);\n}\n","import { Service } from 'typedi';\nimport { makeObservable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\n\n// @AddDefaultView(StepsView)\n@Service()\nexport default class StepsViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'personal-info';\n  }\n\n  constructor() {\n    super();\n    makeObservable(this);\n  }\n}\n","import './Steps.scss';\nimport type NewCertificateStepsViewModel from '../NewCertificateStepsViewModel';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type ReplacementCertificateStepsViewModel from '../ReplacementCertificateSteps/ReplacementCertificateStepsViewModel';\nimport type ExtensionValidityStepsViewModel from '../ExtensionValiditySteps/ExtensionValidityStepsViewModel';\nimport type ChangesCertificateStepsViewModel from '../ChangesCertificateSteps/ChangesCertificateStepsViewModel';\nimport type VesselRegistrationStepsViewModel from '../VesselRegistrationSteps/VesselRegistrationStepsViewModel';\nimport type OwnerOrOperatorChangedViewSellerStepsViewModel from '../../../../vehicle/applicationsDigi/OwnerOrOperatorChangedView/seller/steps/OwnerOrOperatorChangedViewSellerStepsViewModel';\n\ntype StepsProps = {\n  steps: { stepNumber: number; title: string; disabled: boolean }[];\n  vm:\n    | NewCertificateStepsViewModel\n    | ReplacementCertificateStepsViewModel\n    | ExtensionValidityStepsViewModel\n    | ChangesCertificateStepsViewModel\n    | VesselRegistrationStepsViewModel\n    | OwnerOrOperatorChangedViewSellerStepsViewModel;\n  activeStep: number;\n  translate: Translator;\n};\n\nconst Steps = ({ steps, activeStep, translate }: StepsProps) => {\n  return (\n    <div className=\"d-flex items-scroll\">\n      {steps.map((item) => (\n        <div key={item.stepNumber} className={`ship-step ${activeStep === item.stepNumber ? 'active' : ''}`}>\n          {item.stepNumber}. <br />\n          <span className={`step-name ${activeStep === item.stepNumber ? '' : 'not-active'}`}>\n            {translate(item.title)}\n          </span>\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default Steps;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[translate('steps.step-one')]}\n      navToForm={navNextStep}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      navBack={navBack}\n    />\n  );\n});\n\nexport default IntroView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(\n        err,\n        'ship - BuyerAuthorizationBySeller IntroViewModel',\n        'navNextStep - applicationService.init'\n      );\n      this.handleError(err);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.buyer-authorization-by-seller.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport RequestViewModel from '../02_SelectBoatChangeType/SelectBoatChangeTypeViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('buyer-authorization-by-seller.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - BuyerAuthorizationBySeller PersonalInfoViewModel',\n        'activate - applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.buyer-authorization-by-seller.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport ChangeTypeSelection from '../../shared/Application/ChangeTypeSelection';\nimport SelectBoatChangeTypeViewModel from './SelectBoatChangeTypeViewModel';\nimport BoatSelection from '../../shared/Application/BoatSelection';\n\nconst SelectBoatChangeTypeView: View<SelectBoatChangeTypeViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      {/* BOAT SELECTION */}\n      <BoatSelection\n        title={translate('boat-selection')}\n        boatsService={applicationService.boatsService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      {/* CHANGE TYPE SELECTION */}\n      <ChangeTypeSelection\n        title={translate('change-type-selection')}\n        changeTypeService={applicationService.changeTypeService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default SelectBoatChangeTypeView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestView from './SelectBoatChangeTypeView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BuyerViewModel from '../03_Buyer/BuyerViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestView)\n@Service()\nexport default class SelectBoatChangeTypeViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'select-boat-change-type';\n  }\n\n  get title(): string {\n    return this.generalTranslate('buyer-authorization-by-seller.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(SelectBoatChangeTypeViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<SelectBoatChangeTypeViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.boatsService.getBoats(),\n        this.applicationService.changeTypeService.getChangeTypes(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - BuyerAuthorizationBySeller SelectBoatChangeTypeViewModel',\n        'activate - applicationService.boatsService.getBoats, applicationService.changeTypeService.getChangeTypes'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @Watch<SelectBoatChangeTypeViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [this.applicationService.boatsService.validate(), this.applicationService.changeTypeService.validate()];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.boatsService.saveToSessionStorage();\n      this.applicationService.changeTypeService.saveToSessionStorage();\n      this.navigator(BuyerViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.buyer-authorization-by-seller.select-boat-change-type', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport BuyerService from '../Service/BuyerService';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport PersonOrCompanyInfo from './PersonOrCompanyInfo';\n\ntype BuyerIdentificationProps = {\n  service: BuyerService;\n  isBusy: boolean;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst BuyerIdentification = observer(\n  ({ service, isBusy, generalTranslate, className }: BuyerIdentificationProps) => {\n    return (\n      <div className={className}>\n        {/* Disable PO buyer */}\n        {/* <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n        {generalTranslate('buyer-authorization-by-seller.buyer.title')}\n      </Typography> */}\n\n        {/* <RadioGroup target={service} property={'personType'} options={service.personTypeOptions} /> */}\n\n        <PersonOrCompanyInfo\n          service={service}\n          generalTranslate={generalTranslate}\n          isBusy={isBusy}\n          disableDeliveryAddress\n          splitName\n        />\n      </div>\n    );\n  }\n);\n\nexport default BuyerIdentification;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport BuyerViewModel from './BuyerViewModel';\nimport BuyerIdentification from '../../shared/Application/BuyerIdentification';\n\nconst BuyerView: View<BuyerViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <BuyerIdentification\n        service={applicationService.buyerService}\n        generalTranslate={generalTranslate}\n        isBusy={false}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default BuyerView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport BuyerView from './BuyerView';\nimport SelectBoatChangeTypeViewModel from '../02_SelectBoatChangeType/SelectBoatChangeTypeViewModel';\nimport SummaryViewModel from '../04_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(BuyerView)\n@Service()\nexport default class BuyerViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'buyer';\n  }\n\n  get title(): string {\n    return this.generalTranslate('buyer-authorization-by-seller.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(BuyerViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<BuyerViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - BuyerAuthorizationBySeller BuyerViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(SelectBoatChangeTypeViewModel).go();\n  }\n\n  @Watch<BuyerViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.applicationService.buyerService.validate()) return;\n\n    this.applicationService.buyerService.saveToSessionStorage();\n\n    try {\n      await this.applicationService.buyerService.identifyBuyer();\n      await this.applicationService.buyerService.loadBuyerInfo();\n      this.applicationService.buyerService.saveToSessionStorage();\n      this.navigator(SummaryViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - BuyerAuthorizationBySeller BuyerViewModel',\n        'navNext - applicationService.buyerService.identifyBuyer, applicationService.buyerService.loadBuyerInfo'\n      );\n      this.handleError(e, true);\n    }\n  }\n\n  translate = translate('ship.certificates.buyer-authorization-by-seller.buyer', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\nimport BoatsService from '../../Service/BoatService';\nimport ChangeTypeService from '../../Service/ChangeTypeService';\n\ntype BoatAndChangeTypeSummaryProps = {\n  boatsService?: BoatsService;\n  changeTypeService: ChangeTypeService;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst BoatAndChangeTypeSummary = observer(\n  ({ boatsService, changeTypeService, generalTranslate, className }: BoatAndChangeTypeSummaryProps) => {\n    return (\n      <SummarySection title={generalTranslate('summary.boats.title')} className={className}>\n        <Typography>\n          {generalTranslate('summary.boats.name')}:&#32;\n          <b>{boatsService?.selectedBoat.number}</b>, {boatsService?.selectedBoat.name}, {boatsService?.selectedBoat.type}\n        </Typography>\n\n        {changeTypeService && (\n          <Typography>\n            {generalTranslate('summary.change-type.description')}:&#32;\n            <b className=\"capitalize-first-letter\">{changeTypeService?.selectedChangeType.description}</b>\n          </Typography>\n        )}\n      </SummarySection>\n    );\n  }\n);\n\nexport default BoatAndChangeTypeSummary;\n","import { observer } from 'mobx-react-lite';\nimport BuyerService from '../../Service/BuyerService';\nimport SummarySection from './SummarySection';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport { getInlineAddress } from 'src/utils/AddressUtils';\n\ntype BuyerInfoSummaryProps = {\n  buyerService: BuyerService;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst BuyerInfoSummary = observer(({ buyerService, generalTranslate, className }: BuyerInfoSummaryProps) => {\n  return (\n    <SummarySection title={generalTranslate(`summary.buyer.title`)} className={className}>\n      {buyerService.personType === MandatePersonType.FO ? (\n        <>\n          {/* BUYER PERSON INFO */}\n          <Typography>\n            {generalTranslate('fullName')}:&#32;\n            <b>\n              {buyerService.buyerPersonInfo?.person.name} {buyerService.buyerPersonInfo?.person.surname}\n            </b>\n          </Typography>\n\n          <Typography>\n            {generalTranslate('birthDate')}:&#32;\n            <b>{buyerService.buyerPersonInfo?.person.birthdate}</b>\n          </Typography>\n\n          <Typography>\n            {generalTranslate('birthPlace')}:&#32;\n            <b>{buyerService.buyerPersonInfo?.person.birthplace}</b>\n          </Typography>\n\n          {/* CONTACT */}\n          <Typography>\n            {generalTranslate('email')}:&#32;\n            <b>{buyerService.buyerPersonInfo?.person.email}</b>\n          </Typography>\n\n          <Typography>\n            {generalTranslate('address')}:&#32;\n            <b>\n              {getInlineAddress(\n                buyerService.buyerPersonInfo?.contactAddress?.city,\n                null,\n                buyerService.buyerPersonInfo?.contactAddress?.street,\n                buyerService.buyerPersonInfo?.contactAddress?.houseNumber,\n                buyerService.buyerPersonInfo?.contactAddress?.referenceNumber,\n                buyerService.buyerPersonInfo?.contactAddress?.postcode\n              )}\n            </b>\n          </Typography>\n        </>\n      ) : (\n        <>\n          {/* BUYER COMPANY INFO */}\n          <Typography>\n            {generalTranslate('ico')}:&#32;\n            <b>{buyerService.buyerCompanyInfo?.company.ico}</b>\n          </Typography>\n\n          {/* CONTACT */}\n          <Typography>\n            {generalTranslate('email')}:&#32;\n            <b>{buyerService.buyerCompanyInfo?.company.email}</b>\n          </Typography>\n        </>\n      )}\n    </SummarySection>\n  );\n});\n\nexport default BuyerInfoSummary;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SummaryViewModel from './SummaryViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport BoatAndChangeTypeSummary from '../../shared/Application/Summary/BoatAndChangeTypeSummary';\nimport PersonalOrCompanyInfoSummary from '../../shared/Application/Summary/PersonalOrCompanyInfoSummary';\nimport BuyerInfoSummary from '../../shared/Application/Summary/BuyerInfoSummary';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n      zeroPayment={true}\n    >\n      <PersonalOrCompanyInfoSummary\n        personService={applicationService.personService}\n        generalTranslate={generalTranslate}\n      />\n\n      <BoatAndChangeTypeSummary\n        boatsService={applicationService.boatsService}\n        changeTypeService={applicationService.changeTypeService}\n        generalTranslate={generalTranslate}\n      />\n\n      <BuyerInfoSummary buyerService={applicationService.buyerService} generalTranslate={generalTranslate} />\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport SummaryView from './SummaryView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BuyerViewModel from '../03_Buyer/BuyerViewModel';\nimport ConfirmationViewModel from '../05_Confirmation/ConfirmationViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('buyer-authorization-by-seller.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - BuyerAuthorizationBySeller SummaryViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(BuyerViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    try {\n      await this.applicationService.postForm();\n\n      await this.applicationService.paymentService.postPaymentStatus(false, false);\n      this.navigator(ConfirmationViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - BuyerAuthorizationBySeller SummaryViewModel',\n        'navNext - applicationService.postForm, applicationService.paymentService.postPaymentStatus'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.buyer-authorization-by-seller.summary', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationViewModel from './ConfirmationViewModel';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const {\n    applicationService,\n    downloadPdf,\n    downloadZip,\n    downloadPdfBusyWatcher,\n    downloadZipBusyWatcher,\n    generalTranslate,\n    translate,\n  } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      hasAttachmentToDownload={false}\n    >\n      {/* BOAT TO BE SOLD */}\n      <Typography>{`${translate('info-1')} ${applicationService.boatsService.selectedBoat.boat}`}</Typography>\n\n      {/* POWER OF ATTORNEY for CHANGE TYPE */}\n      <Typography>\n        {translate('info-2')}&#32;\n        <Typography component=\"span\" className=\"bold\">\n          {translate('info-3')}\n        </Typography>\n        &#32;\n        <Typography component=\"span\" className=\"bold\">\n          {applicationService.changeTypeService.selectedChangeType.description}\n        </Typography>\n        &#32;\n        {translate('info-4')}\n      </Typography>\n\n      {/* BUYER PERSON or COMPANY */}\n      <Typography>\n        {applicationService.buyerService.personType === MandatePersonType.FO ? (\n          <>\n            {applicationService.buyerService.person.surname}&#32;\n            {applicationService.buyerService.person.name}\n            {', '}\n            {translate('info-5')}&#32;\n            {applicationService.buyerService.person.birthdate}&#32;\n            {applicationService.buyerService.person.birthplace}\n            {', '}\n            {translate('info-6')}&#32;\n            {applicationService.buyerService.person.contactAddress.street}&#32;\n            {applicationService.buyerService.person.contactAddress.houseReferenceNumber}\n            {`, `}\n            {applicationService.buyerService.person.contactAddress.postcode}&#32;\n            {applicationService.buyerService.person.contactAddress.city}\n          </>\n        ) : (\n          <>\n            {translate('info-13')}\n            {`: `}\n            {applicationService.buyerService.company.ico}\n          </>\n        )}\n        .\n      </Typography>\n\n      {/* BUYER MAIL */}\n      <Typography>{`${translate('info-7')} ${\n        applicationService.buyerService.personType === MandatePersonType.FO\n          ? applicationService.buyerService.person.email\n          : applicationService.buyerService.company.email\n      }.`}</Typography>\n\n      {/* FORM FOR BUYER */}\n      <Typography>{translate('info-8')}</Typography>\n\n      {/* DOK-PL NOTE */}\n      <Typography>\n        {translate('info-9')}&#32;\n        <Typography component=\"span\" className=\"bold\">\n          {translate('info-10')}&#32;\n        </Typography>\n        {translate('info-11')}&#32;\n        <Typography component=\"span\" className=\"bold\">\n          {translate('info-12')}\n        </Typography>\n      </Typography>\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport ConfirmationView from './ConfirmationView';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('buyer-authorization-by-seller.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - BuyerAuthorizationBySeller ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.buyer-authorization-by-seller.confirmation', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const BuyerAuthorizationBySellerSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'personal-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'select-boat-change-type',\n  },\n  {\n    stepNumber: 3,\n    title: 'buyer',\n  },\n  {\n    stepNumber: 4,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport FormDataService from '../shared/Service/FormDataService';\nimport PersonService from '../shared/Service/PersonService';\nimport { BuyerAuthorizationBySellerSteps } from './BuyerAuthorizationBySellerStepsData';\nimport StepsService from '../shared/Service/StepsService';\nimport ValidationService from '../shared/Service/ValidationService';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from '../../../../data/sps/api';\nimport ChangeTypeService from '../shared/Service/ChangeTypeService';\nimport BuyerService from '../shared/Service/BuyerService';\nimport BoatsService from '../shared/Service/BoatService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID281;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public boatsService: BoatsService,\n    @Inject() public changeTypeService: ChangeTypeService,\n    @Inject() public buyerService: BuyerService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(BuyerAuthorizationBySellerSteps);\n    this.personService.init();\n    this.boatsService.init();\n    this.changeTypeService.init();\n    this.buyerService.init();\n    this.downloadFileService.init();\n    this.paymentService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.boatsService.reset();\n    this.changeTypeService.reset();\n    this.buyerService.reset();\n    this.downloadFileService.reset();\n    this.paymentService.reset();\n\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const commonRequestBody:\n      | Omit<\n          HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover281BuyerPerson>,\n          'BuyerPerson'\n        >\n      | Omit<\n          HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover281BuyerCompany>,\n          'BuyerCompanyIco'\n        > = {\n      RelationId: this.formDataService.formData.relationId,\n      BoatId: this.boatsService.selectedBoat.boatId,\n      ChangeTypeId: this.changeTypeService.selectedChangeType.id,\n      Person: this.personService.getPersonString,\n      Company: this.personService.getCompanyString,\n      ContactAddress: this.personService.getEntityContactString,\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    if (this.buyerService.personType === MandatePersonType.FO) {\n      const requestBodyFO: HandoverFormData<\n        typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover281BuyerPerson\n      > = {\n        ...commonRequestBody,\n        BuyerPerson: this.buyerService.HandoverBuyerPersonString,\n      };\n\n      return this.apiService.spsApi.sps.postPdApiSps2V2Handover281BuyerPerson(requestBodyFO);\n    } else if (this.buyerService.personType === MandatePersonType.PO) {\n      const requestBodyPO: HandoverFormData<\n        typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover281BuyerCompany\n      > = {\n        ...commonRequestBody,\n        BuyerCompanyIco: this.buyerService.HandoverBuyerCompanyIco,\n        BuyerEmail: this.buyerService.HandoverBuyerCompanyEmail,\n        CompanyId: this.buyerService.buyerId ?? '',\n      };\n\n      return this.apiService.spsApi.sps.postPdApiSps2V2Handover281BuyerCompany(requestBodyPO);\n    }\n  }\n\n  async deleteForm() {}\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ChangeOwnerOrOperatorIntroViewModel from './ChangeOwnerOrOperatorIntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst ChangeOwnerOrOperatorIntroView: View<ChangeOwnerOrOperatorIntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, navBack, nextStepBusyWatcher, translate, generalTranslate } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[\n        translate('steps.step-one'),\n        translate('steps.step-two'),\n        translate('steps.step-three'),\n        translate('steps.step-four'),\n      ]}\n      navToForm={navNextStep}\n      navBack={navBack}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    />\n  );\n});\n\nexport default ChangeOwnerOrOperatorIntroView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ChangeOwnerOrOperatorIntroView from './ChangeOwnerOrOperatorIntroView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ShipViewModel from '../../../ShipViewModel';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ChangeOwnerOrOperatorIntroView)\n@Service()\nexport default class ChangeOwnerOrOperatorIntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ChangeOwnerOrOperatorIntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @Watch<ChangeOwnerOrOperatorIntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator ChangeOwnerOrOperatorIntroViewModel',\n        'navNextStep - applicationService.init'\n      );\n      this.handleError(e);\n      return;\n    }\n  }\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroViewModel from '../00_Intro/ChangeOwnerOrOperatorIntroViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport { ApiError } from '../../../../../data/sps/api';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('change-owner-or-operator.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator PersonalInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type RequestViewModel from './RequestViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport ChangeTypeSelection from '../../shared/Application/ChangeTypeSelection';\n\nconst RequestView: View<RequestViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    translate,\n    generalTranslate,\n    activateBusyWatcher,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || !vm.allowContinue}\n    >\n      {/* ASSIGNEE TYPE */}\n      <div className={'mb-4'}>\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n          {translate('assignee-type-selection')}\n        </Typography>\n\n        {activateBusyWatcher.isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <RadioGroup\n            target={vm.applicationService.assigneeTypeService.selectedAssigneeType}\n            property={'assigneeId'}\n            options={vm.applicationService.assigneeTypeService.assigneeTypeOptions}\n            htmlLabel\n            onChange={() => vm.selectDefaultAfterAssigneeTypeChange()}\n            testId=\"assignee-type-select\"\n          />\n        )}\n      </div>\n\n      {/* BOAT SELECT */}\n      <div className={'mb-4'}>\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n          {translate('boat-selection')}\n        </Typography>\n\n        {activateBusyWatcher.isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <RadioGroup\n            target={vm.applicationService.boatService.selectedBoat}\n            property={'boatId'}\n            htmlLabel\n            options={\n              vm.isBuyer\n                ? vm.applicationService.boatService.boatBuyersOptions\n                : vm.applicationService.boatService.boatSellersOptions\n            }\n            testId=\"boat-id\"\n          />\n        )}\n      </div>\n\n      {/* CHANGE TYPE */}\n      <ChangeTypeSelection\n        changeTypeService={vm.applicationService.changeTypeService}\n        isBusy={activateBusyWatcher.isBusy}\n        title={translate('change-type-selection')}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default RequestView;\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestView from './RequestView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestView)\n@Service()\nexport default class RequestViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'request';\n  }\n\n  get title(): string {\n    return this.generalTranslate('change-owner-or-operator.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequestViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.changeTypeService.getChangeTypes(),\n        this.applicationService.boatService.getBoats(),\n        this.applicationService.assigneeTypeService.getAssigneeTypes(),\n      ]);\n\n      this.applicationService.boatService.selectDefaultSellerOrBuyerBoat(this.isBuyer);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator RequestViewModel',\n        'activate - applicationService.init, applicationService.changeTypeService.getChangeTypes, applicationService.boatService.getBoats, applicationService.assigneeTypeService.getAssigneeTypes'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @computed\n  get isBuyer() {\n    return this.applicationService.assigneeTypeService.selectedAssigneeType.description.includes('kupující');\n  }\n\n  @computed\n  get isSeller() {\n    return this.applicationService.assigneeTypeService.selectedAssigneeType.description.includes('prodávající');\n  }\n\n  @computed\n  get allowContinue() {\n    return (\n      (this.isBuyer && this.applicationService.boatService.boatBuyersOptions.length > 0) ||\n      (this.isSeller && this.applicationService.boatService.boatSellersOptions.length > 0)\n    );\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @action.bound\n  selectDefaultAfterAssigneeTypeChange() {\n    setTimeout(() => {\n      this.applicationService.boatService.selectDefaultSellerOrBuyerBoat(this.isBuyer);\n    }, 0);\n  }\n\n  @Watch<RequestViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [this.applicationService.boatService.validate(), this.applicationService.changeTypeService.validate()];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.boatService.saveToSessionStorage();\n      this.applicationService.changeTypeService.saveToSessionStorage();\n      this.applicationService.assigneeTypeService.saveToSessionStorage();\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.extradition-request', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        title={generalTranslate('requiredAttachments')}\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport AttachmentsView from './AttachmentsView';\nimport BranchViewModel from '../04_Branch/BranchViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('change-owner-or-operator.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequiredAttachments({\n        changeTypeId: this.applicationService.changeTypeService.selectedChangeType.id,\n      });\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator AttachmentsViewModel',\n        'activate - applicationService.init, applicationService.attachmentsService.getRequiredAttachments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n      this.navigator(BranchViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type BranchViewModel from './BranchViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport BranchSelection from '../../shared/Application/BranchSelection';\nimport PickupSelection from '../../shared/Application/PickupSelection';\n\nconst BranchView: View<BranchViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      {/* BRANCH SELECTION */}\n      <BranchSelection\n        title={translate('branch-selection')}\n        branchService={applicationService.branchService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      {/* PICKUP SELECTION */}\n      <PickupSelection\n        title={translate('pickup-selection')}\n        pickupService={applicationService.pickupDocumentsService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default BranchView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BranchView from './BranchView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryViewModel from '../05_Summary/SummaryViewModel';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(BranchView)\n@Service()\nexport default class BranchViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'branch';\n  }\n\n  get title(): string {\n    return this.generalTranslate('change-owner-or-operator.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(BranchViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<BranchViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      // redirect to attachments if F5 pressed\n      if (!this.applicationService.attachmentsService.validate()) {\n        this.navigator(AttachmentsViewModel).go();\n      }\n\n      await Promise.all([\n        this.applicationService.branchService.getBranches(),\n        this.applicationService.pickupDocumentsService.getPickupDocuments(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator BranchViewModel',\n        'activate - applicationService.init, applicationService.branchService.getBranches, applicationService.pickupDocumentsService.getPickupDocuments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<BranchViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [\n      this.applicationService.branchService.validate(),\n      this.applicationService.pickupDocumentsService.validate(),\n    ];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.pickupDocumentsService.saveToSessionStorage();\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.branch', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport SummaryViewModel from './SummaryViewModel';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport PaymentInfoBox from '../../shared/Application/Summary/PaymentInfoBox';\nimport PersonalOrCompanyInfoSummary from '../../shared/Application/Summary/PersonalOrCompanyInfoSummary';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n    translate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n    >\n      <PersonalOrCompanyInfoSummary\n        personService={applicationService.personService}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={translate('boat')}>\n        <Typography>\n          <b>{applicationService.boatService.selectedBoat.boat}</b>\n        </Typography>\n        <Typography>\n          {translate('relation')}:&#32;\n          <b>{applicationService.assigneeTypeService.selectedAssigneeType.description}</b>\n        </Typography>\n        <Typography>\n          {translate('change-type')}:&#32;\n          <b>{applicationService.changeTypeService.selectedChangeType.description}</b>\n        </Typography>\n        <Typography>\n          {translate('pickup')}:&#32;\n          <b>{applicationService.pickupDocumentsService.selectedPickup.pickup}</b>\n        </Typography>\n        <Typography>\n          {translate('branch')}:&#32;\n          <b>{applicationService.branchService.selectedBranch.branch}</b>\n        </Typography>\n      </SummarySection>\n\n      <AttachmentsSummary\n        files={applicationService.attachmentsService.files}\n        generalTranslate={generalTranslate}\n      />\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n\n      <PaymentInfoBox\n        amount={applicationService.paymentService.payment.amount}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport SummaryView from './SummaryView';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport BranchViewModel from '../04_Branch/BranchViewModel';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('change-owner-or-operator.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n      await this.applicationService.paymentService.getPayment();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator SummaryViewModel',\n        'activate - applicationService.init, applicationService.paymentService.getPayment'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(BranchViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.applicationService.postForm();\n\n      // redirect to CSOB if no error\n      window.location.replace(this.applicationService.paymentService.payment.url);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangeOwnerOrOperator SummaryViewModel',\n        'navNext - authService.refreshCurrentToken, applicationService.postForm'\n      );\n      this.handleError(e, true);\n    }\n  }\n\n  translate = translate('ship.certificates.change-owner-or-operator.summary', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const ChangeOwnerOrOperatorSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'person-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'select-boat-change-type',\n  },\n  {\n    stepNumber: 3,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 4,\n    title: 'branch-and-expedition',\n  },\n  {\n    stepNumber: 5,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\n\n@AddTranslationKey('applications.ship')\nexport default class AssigneeTypeModel {\n  @observable assigneeId = '';\n  @observable description = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<AssigneeTypeModel>) {\n    this.assigneeId = data.assigneeId ?? this.assigneeId;\n    this.description = data.description ?? this.description;\n  }\n}\n\nexport const ChangeTypeValidators: ValidationDescriptor<AssigneeTypeModel, Validators> = {\n  assigneeId: {\n    required: {\n      message: 'assigneeId.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport SessionService from '../../../../../services/SessionService';\nimport SpsService from './SpsService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\nimport { Sps_WebApi_Models_Responses_CodebookGuidItemResponse } from 'src/data/sps/api';\nimport { ChangeTypeValidators } from '../Models/ChangeTypeModel';\nimport AssigneeTypeModel from '../Models/AssigneeTypeModel';\n\n@Service()\nexport default class AssigneeTypeService extends SpsService {\n  @observable selectedAssigneeType = new AssigneeTypeModel();\n  @observable assigneeTypes: Sps_WebApi_Models_Responses_CodebookGuidItemResponse[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get assigneeTypeOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.assigneeTypes.forEach((option) => {\n      if (option.description && option.id) {\n        options.push({\n          id: option.id.toString(),\n          label: option.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('assigneeType-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.selectedAssigneeType, ChangeTypeValidators);\n\n    // change change type when ID changed\n    this.dispose.push(\n      reaction(\n        () => this.selectedAssigneeType.assigneeId,\n        () => this.updateAssigneeType()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.selectedAssigneeType = new AssigneeTypeModel();\n    this.assigneeTypes = [];\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return this.validation.validateObject(this.selectedAssigneeType);\n  }\n\n  async getAssigneeTypes() {\n    if (this.assigneeTypeOptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2AssigneeType(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.assigneeTypes) return;\n\n      this.assigneeTypes = response.assigneeTypes;\n\n      if (!this.selectedAssigneeType.assigneeId && this.assigneeTypeOptions.length > 0)\n        this.selectedAssigneeType.assigneeId = this.assigneeTypeOptions[0].id;\n    });\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const changeType = this.sessionService.get(this.sessionStorageKey);\n\n    if (!changeType) return;\n\n    const data = JSON.parse(changeType);\n\n    this.selectedAssigneeType.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.selectedAssigneeType));\n  }\n\n  @action.bound\n  private updateAssigneeType() {\n    const changeTypeOption = this.assigneeTypeOptions.find(\n      (option) => option.id === this.selectedAssigneeType.assigneeId\n    );\n\n    if (changeTypeOption === undefined) return;\n\n    this.selectedAssigneeType.description = changeTypeOption.label;\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { action, makeObservable, observable } from 'mobx';\nimport ValidationService from '../shared/Service/ValidationService';\nimport FormDataService from '../shared/Service/FormDataService';\nimport StepsService from '../shared/Service/StepsService';\nimport { ChangeOwnerOrOperatorSteps } from './ChangeOwnerOrOperatorSteps';\nimport PersonService from '../shared/Service/PersonService';\nimport BranchService from '../shared/Service/BranchService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport ChangeTypeService from '../shared/Service/ChangeTypeService';\nimport BoatService from '../shared/Service/BoatService';\nimport PickupDocumentsService from '../shared/Service/PickupDocumentsService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\nimport AssigneeTypeService from '../shared/Service/AssigneeTypeService';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID205;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public branchService: BranchService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public changeTypeService: ChangeTypeService,\n    @Inject() public boatService: BoatService,\n    @Inject() public pickupDocumentsService: PickupDocumentsService,\n    @Inject() private apiService: ApiService,\n    @Inject() public assigneeTypeService: AssigneeTypeService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(ChangeOwnerOrOperatorSteps);\n    this.personService.init();\n    this.branchService.init();\n    this.attachmentsService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n    this.changeTypeService.init();\n    this.boatService.init();\n    this.pickupDocumentsService.init();\n    this.assigneeTypeService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.branchService.reset();\n    this.attachmentsService.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.changeTypeService.reset();\n    this.boatService.reset();\n    this.pickupDocumentsService.reset();\n    this.assigneeTypeService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover205> = {\n      BoatId: this.boatService.selectedBoat.boatId,\n      PickupId: this.pickupDocumentsService.selectedPickup.pickupId,\n      ChangeTypeId: this.changeTypeService.selectedChangeType.id,\n      RelationId: this.formDataService.formData.relationId,\n      ReleasePlaceId: Number.parseInt(this.branchService.selectedBranch.branchId),\n      Person: this.personService.getPersonString,\n      Firma: this.personService.getCompanyString,\n      ContactAddress: this.personService.getEntityContactString,\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    // POST request\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover205(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ChangesCertificateViewModel from './ChangesCertificateViewModel';\nimport Container from '../../../../components/layout/Container';\n\nconst ChangesCertificateView: View<ChangesCertificateViewModel> = observer(({ vm }) => {\n  const { translate, navPersonalInfo, busyWatcher, goBack } = vm;\n\n  return (\n    <Container className=\"changes-certificate\">\n      <h1>{translate('title')}</h1>\n      <div>\n        <p>{translate('description')}</p>\n        <h2 className=\"h3size\">{translate('steps.title')}</h2>\n        <ol>\n          <li>{translate('steps.step-one')}</li>\n          <li>{translate('steps.step-two')}</li>\n          <li>{translate('steps.step-three')}</li>\n          <li>{translate('steps.step-four')}</li>\n        </ol>\n      </div>\n      <div className=\"d-flex justify-content-between\">\n        <button\n          data-testid=\"back-button\"\n          className=\"gov-button gov-button--primary-outlined\"\n          onClick={() => goBack()}\n        >\n          {translate('back')}\n        </button>\n        <button\n          data-testid=\"fill-in-application-button\"\n          disabled={busyWatcher.isBusy}\n          className=\"gov-button gov-button--primary ms-2\"\n          onClick={navPersonalInfo}\n        >\n          {busyWatcher.isBusy ? (\n            <div className=\"summary-loader\">\n              <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                <div className=\"gov-loader gov-loader--inversed\">\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                </div>\n              </div>\n            </div>\n          ) : (\n            translate('fill-in-application').toUpperCase()\n          )}\n        </button>\n      </div>\n    </Container>\n  );\n});\n\nexport default ChangesCertificateView;\n","import { observer } from 'mobx-react-lite';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type BoatSelectionViewModel from './BoatSelectionViewModel';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport Container from '../../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\n\nconst BoatSelectionView: View<BoatSelectionViewModel> = observer(({ vm }) => {\n  const {\n    generalTranslate,\n    translate,\n    goBack,\n    goNext,\n    boatOptions,\n    pickupOptions,\n    boatSelectionData,\n    changesCertificateStepsViewModel,\n    isLoading,\n  } = vm;\n\n  return (\n    <div className=\"ship-selection-view\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={changesCertificateStepsViewModel} />\n            {isLoading ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              boatSelectionData && (\n                <>\n                  <Fieldset className=\"col-sm-8 col-md-6 col-12\" wide>\n                    <h2 className=\"h3size mb-4\">{translate('boat-selection')}</h2>\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={boatSelectionData}\n                      property=\"boatId\"\n                      options={boatOptions}\n                      testId=\"boatd-id\"\n                    />\n                    <h2 className=\"h3size mb-4\">{translate('pickup-selection')}</h2>\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={boatSelectionData}\n                      property=\"pickupId\"\n                      options={pickupOptions}\n                      testId=\"pickup-id\"\n                    />\n                  </Fieldset>\n                </>\n              )\n            )}\n          </Envelope>\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading}\n              onClick={goNext}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default BoatSelectionView;\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('applications.ship.ship-selection')\nexport default class BoatModel {\n  @observable boatId = '';\n  @observable pickupId = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(boatId: string, pickupId: string): BoatModel {\n    const model = new BoatModel();\n\n    model.boatId = boatId;\n    model.pickupId = pickupId;\n\n    return model;\n  }\n}\n\nexport const BoatModelValidators: ValidationDescriptor<BoatModel, Validators> = {\n  boatId: {\n    required: {\n      message: 'boatId.required',\n    },\n  },\n  pickupId: {\n    required: {\n      message: 'pickupId.required',\n    },\n  },\n};\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BoatSelectionView from './BoatSelectionView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ChangesCertificateStepsViewModel from '../../../ApplicationSteps/ChangesCertificateSteps/ChangesCertificateStepsViewModel';\nimport ChangesCertificateService from '../../../../../../services/ship/ChangesCertificateService';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type { RadioGroupOption } from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport BoatModel, { BoatModelValidators } from './BoatSelectionModel';\nimport ErrorEntity, { isError } from '../../../../../../data/entities/ship/errors/ErrorEntity';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport ShipErrorView from '../../../shared/ShipErrorView/ShipErrorView';\nimport ShipViewModel from '../../../../ShipViewModel';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(BoatSelectionView)\n@AddConditionalView(ShipErrorView, (vm) => vm.notFound)\n@Service()\nexport default class BoatSelectionViewModel extends OldSpsBaseScreen {\n  @observable isLoading = false;\n  @observable boatOptions: RadioGroupOption[] = [];\n  @observable pickupOptions: RadioGroupOption[] = [];\n  @observable boatSelectionData: BoatModel = new BoatModel();\n  @observable notFound: boolean = false;\n  @observable error: ErrorEntity | undefined = undefined;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ChangesCertificateService,\n    @Inject() public changesCertificateStepsViewModel: ChangesCertificateStepsViewModel,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(BoatSelectionViewModel);\n    makeObservable(this);\n    this.shipService.validation.attachDescriptor(this.boatSelectionData, BoatModelValidators);\n  }\n\n  get pathNode(): string {\n    return 'ship-selection';\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(2, FormStateKeys.VisitedShipSelection);\n  }\n\n  @action.bound\n  async activate() {\n    await this.loadData();\n    const hasVisited = this.shipService.formState?.visitedShipSelection;\n    if (hasVisited && !this.shipService.validation.validateObject(this.boatSelectionData)) {\n      runInAction(() => {\n        this.shipService.validation.clear();\n      });\n    }\n  }\n\n  deactivate() {\n    this.notFound = false;\n    this.error = undefined;\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  goBack() {\n    this.saveData();\n    this.navigator('../personal-info').go();\n  }\n\n  @action.bound\n  goNext() {\n    this.saveData();\n    if (this.shipService.validation.validateObject(this.boatSelectionData)) {\n      this.navigator('../type-of-change').go();\n    }\n  }\n\n  translate = translate('ship.certificates.changes-certificate.ship-selection', this);\n  generalTranslate = translate('ship.certificates', this);\n\n  private saveData() {\n    let boat: RadioGroupOption | undefined;\n    let pickup: RadioGroupOption | undefined;\n\n    boat = this.boatOptions.find((boat) => boat.id === this.boatSelectionData.boatId);\n    pickup = this.pickupOptions.find((pickup) => pickup.id === this.boatSelectionData.pickupId);\n\n    let boatLabel = boat ? boat.label : '';\n    let pickupLabel = pickup ? pickup.label : '';\n\n    this.shipService.setBoatSelectionData(this.boatSelectionData, boatLabel, pickupLabel);\n  }\n\n  private async loadData() {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    await this.loadBoats();\n    await this.loadPickups();\n    const boatData = this.shipService.getBoatSelectionData();\n\n    runInAction(() => {\n      this.boatSelectionData.boatId = boatData.boatId;\n      this.boatSelectionData.pickupId = boatData.pickupId;\n      this.isLoading = false;\n    });\n  }\n\n  @action.bound toggleNotFound() {\n    this.notFound = !this.notFound;\n  }\n\n  private async loadBoats() {\n    if (this.boatOptions.length < 1) {\n      try {\n        const boatsResponse = await this.shipService.getV2Boats();\n        let boatOptions: RadioGroupOption[] = [];\n\n        if (boatsResponse?.boats) {\n          boatOptions = boatsResponse?.boats.map((boat) => ({\n            id: boat.id,\n            label: `${boat.number}, ${boat.name}, ${boat.type}`,\n          }));\n        }\n\n        runInAction(() => {\n          if (boatOptions.length > 0) {\n            this.boatOptions = boatOptions;\n          }\n        });\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ChangesCertificate BoatSelectionViewModel',\n          'loadBoats - shipService.getV2Boats'\n        );\n        this.handleError(e);\n      }\n    }\n  }\n\n  private async loadPickups() {\n    if (this.pickupOptions.length < 1) {\n      try {\n        const pickups = await this.shipService.getV2Pickups();\n        let pickupOptions: RadioGroupOption[] = [];\n\n        if (pickups?.methods) {\n          pickupOptions = pickups?.methods.map((pickup) => ({ id: pickup.id, label: pickup.description }));\n        }\n\n        runInAction(() => {\n          if (pickupOptions.length > 0) {\n            this.pickupOptions = pickupOptions;\n          }\n        });\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ChangesCertificate BoatSelectionViewModel',\n          'loadPickups - shipService.getV2Pickups'\n        );\n        this.handleError(e);\n      }\n    }\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type RequiredAttachmentsViewModel from './RequiredAttachmentsViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport DragAndDropFile from '../../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport { useState } from 'react';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst RequiredAttachmentsView: View<RequiredAttachmentsViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    goBack,\n    goNext,\n    generalTranslate,\n    attachments,\n    files,\n    setFiles,\n    unsetFiles,\n    validationsFired,\n    isLoading,\n  } = vm;\n  const [filesSize, setFilesSize] = useState(0);\n\n  const handleSetFileSize = (size: number) => {\n    setFilesSize((prevState) => prevState + size);\n  };\n\n  const isSizeAllowed = (): boolean => {\n    const size = files.reduce((prev, curr) => prev + curr.file.size, 0);\n\n    if (attachments) {\n      return size < attachments.maxSize * 1024;\n    } else {\n      return true;\n    }\n  };\n\n  const handleFile = (file: File | FileList, description: string, isMultiple?: boolean) => {\n    setFiles(file, description, isMultiple);\n  };\n\n  const handleRemoveFile = (fileName: string, description: string) => {\n    unsetFiles(fileName, description);\n  };\n\n  const handleNextClick = () => {\n    goNext();\n  };\n\n  return (\n    <div className=\"required-attachments-view\">\n      <Container>\n        <Envelope>\n          <RenderModel vm={vm?.changesCertificateStepsViewModel} />\n\n          {isLoading ? (\n            <div>\n              <LoaderBox type=\"box\" />\n            </div>\n          ) : (\n            <div>\n              <Typography variant=\"h4\" component={'h4'} className=\"mt-3\">\n                {generalTranslate('requiredAttachments')}\n              </Typography>\n              {attachments &&\n                attachments.attachments &&\n                attachments.attachments.map((item, index) => (\n                  <DragAndDropFile\n                    files={files.filter((file) => file.description === item.description)}\n                    filesLabel={translate('file.files-label')}\n                    handleFile={handleFile}\n                    handleRemoveFile={(fileName) => handleRemoveFile(fileName, item.description)}\n                    key={index}\n                    id={index}\n                    label={item.description}\n                    sublabel={item.comment}\n                    infoLabel={translate('file.info')}\n                    buttonLabel={translate('file.button')}\n                    formats={attachments.allowedTypes.split(',')}\n                    isMandatory={item.mandatory}\n                    validationsFired={validationsFired}\n                    allowedFileSize={attachments.maxSize * 1024}\n                    fileTypeError={translate('file.format-error')}\n                    fileSizeError={translate('file.size-error')}\n                    isMultiple={item.description === translate('other-attachments')}\n                    filesSize={filesSize}\n                    setFilesSize={handleSetFileSize}\n                    generalTranslate={generalTranslate}\n                    hideMaxSize={true}\n                  />\n                ))}\n            </div>\n          )}\n\n          {!isSizeAllowed() && (\n            <ErrorMessage className=\"align-items-center mt-4\">{translate('file.sizes-error')}</ErrorMessage>\n          )}\n\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading || !isSizeAllowed()}\n              onClick={handleNextClick}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default RequiredAttachmentsView;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequiredAttachmentsView from './RequiredAttachmentsView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ChangesCertificateStepsViewModel from '../../../ApplicationSteps/ChangesCertificateSteps/ChangesCertificateStepsViewModel';\nimport ChangesCertificateService from '../../../../../../services/ship/ChangesCertificateService';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type LicencesEntity from '../../../../../../data/entities/ship/licences/LicencesEntity';\nimport NewCertificateViewModel from '../../../NewCertificate/NewCertificateViewModel';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequiredAttachmentsView)\n@Service()\nexport default class RequiredAttachmentsViewModel extends OldSpsBaseScreen {\n  @observable isLoading = false;\n  @observable attachments: LicencesEntity | undefined = undefined;\n  @observable files: { file: File; description: string }[] = [];\n  @observable fileNames: string[] | undefined = [];\n  @observable validationsFired = false;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ChangesCertificateService,\n    @Inject() public changesCertificateStepsViewModel: ChangesCertificateStepsViewModel,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequiredAttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(4, FormStateKeys.VisitedAttachments);\n  }\n\n  @action.bound\n  async activate() {\n    const hasVisited = this.shipService.formState?.visitedAttachments;\n    const licencesChanged = this.shipService.formState?.hasLicencesChanged;\n\n    if ((hasVisited && licencesChanged) || (!hasVisited && !licencesChanged) || !this.attachments) {\n      this.setIsLoading(true);\n      this.resetFiles();\n      await this.getAttachments();\n      this.setIsLoading(false);\n      this.shipService.toggleFalseAndSave(FormStateKeys.HasLicencesChanged);\n    }\n\n    if (!this.attachments?.attachments) {\n      this.navigator(NewCertificateViewModel).go();\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator('../type-of-change').go();\n  }\n\n  @action.bound\n  goNext() {\n    let hasMandatoryFiles = true;\n    let mandatoryFilesCount = 0;\n    this.attachments?.attachments.map((item) => {\n      if (item.mandatory) {\n        mandatoryFilesCount += 1;\n        const file = this.files.find((file) => file.description === item.description);\n        if (!file) hasMandatoryFiles = false;\n      }\n    });\n\n    if (mandatoryFilesCount === 0) {\n      hasMandatoryFiles = true;\n    }\n\n    if (hasMandatoryFiles) {\n      if (this.files && this.fileNames) {\n        this.shipService.setRequiredAttachments(this.files, mandatoryFilesCount);\n      }\n      return this.navigator('../summary').go();\n    } else {\n      runInAction(() => {\n        this.validationsFired = true;\n      });\n    }\n  }\n\n  setIsLoading(setTo: boolean) {\n    runInAction(() => {\n      this.isLoading = setTo;\n    });\n  }\n\n  resetFiles() {\n    runInAction(() => {\n      this.files = [];\n    });\n  }\n\n  @action.bound\n  setFiles(file: File | FileList, description: string, isMultiple: boolean = false) {\n    if (file instanceof File && !isMultiple) {\n      const index = this.files.findIndex((item) => item.description === description);\n\n      if (index >= 0) {\n        this.files.splice(index, 1);\n        this.fileNames?.splice(index, 1);\n      }\n\n      this.files?.push({ file, description });\n      this.fileNames?.push(file.name);\n    } else if (file instanceof FileList && isMultiple) {\n      for (let i = 0; i < file.length; i++) {\n        this.files?.push({ file: file[i], description });\n        this.fileNames?.push(file[i].name);\n      }\n    }\n  }\n\n  @action.bound\n  unsetFiles(fileName: string, description: string) {\n    const index = this.files.findIndex((item) => item.file.name === fileName && item.description === description);\n    if (index >= 0) this.files.splice(index, 1);\n  }\n\n  generalTranslate = translate('ship.certificates', this);\n  translate = translate('ship.certificates.changes-certificate.required-attachments', this);\n\n  private async getAttachments() {\n    try {\n      let licences = await this.shipService.getV2AttachmentsData();\n      if (licences) {\n        runInAction(() => {\n          this.attachments = licences;\n        });\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangesCertificate RequiredAttachmentsViewModel',\n        'getAttachments - shipService.getV2AttachmentsData'\n      );\n      this.handleError(e);\n    }\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './EngineTablePlain.scss';\nimport type EngineModel from '../../applications/ChangesCertificate/Steps/TypeOfChange/EngineModel';\n\ntype EngineTablePropsPlain = {\n  engines: EngineModel[];\n  tableData: string[];\n  enginePurposes: { id: string; description: string }[] | undefined;\n  engineChangeTypes: { id: string; description: string }[] | undefined;\n  translate: Translator;\n};\n\nexport const EngineTablePlain = observer(\n  ({ engines, translate, tableData, enginePurposes, engineChangeTypes }: EngineTablePropsPlain) => {\n    const enginePurpose = (engine: EngineModel, isPurpose = true): { id: string; description: string } => {\n      let data;\n\n      if (isPurpose) {\n        data = enginePurposes?.find((item) => item.id === engine.purpose);\n      } else {\n        data = engineChangeTypes?.find((item) => item.id === engine.change_type);\n      }\n\n      if (data) {\n        return data;\n      } else if (!isPurpose) {\n        return { id: '', description: translate('noChange') };\n      } else {\n        return { id: '', description: '' };\n      }\n    };\n\n    return (\n      <div className=\"engine-table\">\n        <table>\n          <thead>\n            <tr>\n              {tableData.map((item, index) => (\n                <td key={index}>{index === 0 ? '' : item}</td>\n              ))}\n            </tr>\n          </thead>\n          <tbody>\n            {engines.map((engine) => {\n              return (\n                <tr key={engine.serial_number}>\n                  <td>\n                    {translate('engine')} {engine.serial_number}\n                  </td>\n                  <td>{engine.performance}</td>\n                  <td>{engine.weight}</td>\n                  <td>{engine.manufacturer}</td>\n                  <td>{engine.identification}</td>\n                  <td>{engine.production_number}</td>\n                  <td>{engine.manufacture_year}</td>\n                  <td>{enginePurpose(engine).description}</td>\n                  <td>{enginePurpose(engine, false).description}</td>\n                </tr>\n              );\n            })}\n          </tbody>\n        </table>\n      </div>\n    );\n  }\n);\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryViewModel from './SummaryViewModel';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport Container from '../../../../../../components/layout/Container';\nimport { PersonInfoSummaryBlock } from '../../../shared/PersonInfoSummaryBlock';\nimport { EngineTablePlain } from '../../../../components/EngineTablePlain/EngineTablePlain';\nimport React, { useState } from 'react';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    changesCertificateStepsViewModel,\n    errorMessages,\n    formData,\n    summary,\n    submitDisabled,\n    paymentData,\n    isLoading,\n    enginesChanged,\n    personType,\n  } = vm;\n\n  const [checked, setChecked] = useState(false);\n  const [tempPersonType, setTempPersonType] = useState(personType);\n\n  return (\n    <div className=\"ship-selection-view\">\n      <Container>\n        <Envelope>\n          <RenderModel vm={changesCertificateStepsViewModel} />\n\n          {isLoading ? (\n            <div>\n              <LoaderBox type=\"box\" />\n            </div>\n          ) : (\n            <div>\n              <PersonInfoSummaryBlock\n                translate={generalTranslate}\n                personSummary={summary.personalInfo}\n                wantDeliveryAddress={formData.wantDeliveryAddress}\n                personType={tempPersonType}\n              />\n\n              <div className=\"summary-block\">\n                <h3>{translate('title')}</h3>\n                <div className=\"summary-block-item\">\n                  <div>\n                    <b>{summary.boat}</b>\n                  </div>\n                </div>\n                <div className=\"summary-block-item\">\n                  <div>\n                    {translate('delivery-method')}: <b>{summary.pickup}</b>\n                  </div>\n                </div>\n                <div className=\"summary-block-item\">\n                  <div>\n                    {translate('issuing-branch')}: <b>{`${translate('sps')} - ${summary.issuingBranch}`}</b>\n                  </div>\n                </div>\n              </div>\n\n              {formData.engines.length > 0 &&\n                enginesChanged &&\n                summary.engineTableData &&\n                summary.engines && (\n                  <div className=\"summary-block\">\n                    <h3>{translate('engine-changes')}</h3>\n                    <div className=\"summary-block-item\">\n                      <EngineTablePlain\n                        engines={summary.engines}\n                        tableData={summary.engineTableData}\n                        translate={translate}\n                        enginePurposes={summary.enginePurposes}\n                        engineChangeTypes={summary.engineChangeTypes}\n                      />\n                    </div>\n                  </div>\n                )}\n\n              {summary.purposeChange && (\n                <div className=\"summary-block\">\n                  <h3>{translate('purpose-change')}</h3>\n                  <div className=\"summary-block-item\">\n                    <div>\n                      {translate('ship-purpose')}: <b>{summary.purposeChange}</b>\n                    </div>\n                  </div>\n                </div>\n              )}\n\n              {summary.otherChange && (\n                <div className=\"summary-block\">\n                  <h3>{translate('other-change')}</h3>\n                  <div className=\"summary-block-item\">\n                    <div>\n                      <b>{summary.otherChange}</b>\n                    </div>\n                  </div>\n                </div>\n              )}\n\n              <div className=\"summary-block\">\n                <h3>{translate('attachmentsTitle')}</h3>\n                {formData.summary.attachments &&\n                  formData.summary.attachments.map((attachment, index) => (\n                    <p key={`${attachment}-${index}`}>\n                      <b>{attachment}</b>\n                    </p>\n                  ))}\n              </div>\n\n              <div className=\"gov-form-control gov-form-control--custom\">\n                <ul className=\"gov-form-group\">\n                  <li className=\"gov-form-group__item\">\n                    <input\n                      id={'1'}\n                      type=\"checkbox\"\n                      className=\"gov-form-control__checkbox\"\n                      checked={checked}\n                      value={'1'}\n                      onChange={() => setChecked(!checked)}\n                    />\n                    <label htmlFor={'1'} className=\"gov-form-control__label\">\n                      {translate('consent')}\n                    </label>\n                    <span className=\"gov-form-control__indicator\" />\n                  </li>\n                </ul>\n              </div>\n\n              {paymentData && (\n                <InfoBox\n                  content={translate('payment-info')\n                    .replace('{paymentMessage}', paymentData.description)\n                    .replace('{paymentAmount}', paymentData.amount)}\n                />\n              )}\n\n              {errorMessages && (\n                <ErrorMessage className=\"mt-4\">\n                  {errorMessages.map((error) => (\n                    <span key={error} className=\"d-block\">\n                      {error}\n                    </span>\n                  ))}\n                </ErrorMessage>\n              )}\n            </div>\n          )}\n        </Envelope>\n\n        <div className=\"d-flex justify-content-between mt-4\">\n          <button\n            data-testid=\"back-button\"\n            className=\"gov-button gov-button--primary-outlined\"\n            onClick={() => goBack()}\n          >\n            {generalTranslate('back')}\n          </button>\n          <button\n            data-testid=\"next-button\"\n            disabled={!checked || submitDisabled || !!errorMessages}\n            className=\"gov-button gov-button--primary ms-2\"\n            onClick={goNext}\n          >\n            {submitDisabled ? (\n              <div className=\"summary-loader\">\n                <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                  <div className=\"gov-loader gov-loader--inversed\">\n                    <span>&nbsp;</span>\n                    <span>&nbsp;</span>\n                    <span>&nbsp;</span>\n                  </div>\n                </div>\n              </div>\n            ) : (\n              generalTranslate('submit')\n            )}\n          </button>\n        </div>\n      </Container>\n    </div>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummaryView from './SummaryView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ChangesCertificateStepsViewModel from '../../../ApplicationSteps/ChangesCertificateSteps/ChangesCertificateStepsViewModel';\nimport ChangesCertificateService from '../../../../../../services/ship/ChangesCertificateService';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type { ChangesCertificateErrorKeys, ShipRequestErrorKeys } from '../../../../../../data/entities/ship/form/FormEntity';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport MandatesService from '../../../../../../services/MandatesService';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\ntype ErrorKeys = ShipRequestErrorKeys | ChangesCertificateErrorKeys;\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends OldSpsBaseScreen {\n  @observable submitDisabled: boolean = false;\n  @observable errorMessages: string[] | undefined = undefined;\n  @observable isLoading = false;\n  @observable paymentData: { amount: string; url: string; payId: string; description: string } | undefined = undefined;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ChangesCertificateService,\n    @Inject() public changesCertificateStepsViewModel: ChangesCertificateStepsViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get personType(): MandatePersonType {\n    return this.mandatesService.personType;\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(5, FormStateKeys.VisitedSummary);\n  }\n\n  async activate() {\n    try {\n      if (!this.shipService.isInitialized) await this.shipService.initialization();\n\n      if (!this.shipService.hasAllRequiredFiles()) {\n        this.goBack();\n        return;\n      }\n\n      await this.getPayment();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangesCertificate SummaryViewModel',\n        'activate - shipService.getV2PaymentUrl, shipService.initialization'\n      );\n      this.handleError(e);\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.errorMessages = undefined;\n      this.errorMessage = '';\n      this.submitDisabled = false;\n    });\n  }\n\n  get formData() {\n    return this.shipService.formData;\n  }\n\n  get summary() {\n    return this.shipService.formData.summary;\n  }\n\n  get enginesChanged() {\n    return this.shipService.formState && this.shipService.formState[FormStateKeys.HasEnginesChanged];\n  }\n\n  @action.bound\n  async getPayment() {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    const paymentEntity = await this.shipService.getV2PaymentUrl();\n\n    if (paymentEntity) {\n      runInAction(() => {\n        this.paymentData = paymentEntity?.payment;\n      });\n    }\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator('../required-attachments').go();\n  }\n\n  @action.bound\n  async goNext() {\n    this.submitDisabled = true;\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.shipService.sendFormData();\n\n      if (this.paymentData) {\n        this.shipService.setPayment(this.paymentData.payId, this.paymentData.amount);\n        this.shipService.saveShipData();\n        window.location.replace(this.paymentData.url);\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangesCertificate SummaryViewModel',\n        'goNext - authService.refreshCurrentToken, shipService.sendFormData'\n      );\n      this.handleError(e);\n    }\n    runInAction(() => {\n      this.submitDisabled = false;\n    });\n  }\n\n  translate = translate('ship.certificates.changes-certificate.summary', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ChangesCertificateView from './ChangesCertificateView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ChangesCertificateService from '../../../../services/ship/ChangesCertificateService';\nimport PersonalInfoViewModel from '../NewCertificate/Steps/PersonalInfo/PersonalInfoViewModel';\nimport ChangesCertificateStepsViewModel from '../ApplicationSteps/ChangesCertificateSteps/ChangesCertificateStepsViewModel';\nimport BoatSelectionViewModel from './Steps/BoatSelection/BoatSelectionViewModel';\nimport TypeOfChangeViewModel, { initialEnginesData } from './Steps/TypeOfChange/TypeOfChangeViewModel';\nimport RequiredAttachmentsViewModel from './Steps/RequiredAttachments/RequiredAttachmentsViewModel';\nimport SummaryViewModel from './Steps/Summary/SummaryViewModel';\nimport ShipViewModel from '../../ShipViewModel';\nimport MandatesService from '../../../../services/MandatesService';\nimport { MandatePersonType } from '../../../../enums/MandatePersonType';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport OldSpsBaseScreen from '../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ChangesCertificateView)\n@AddChildrenView()\n@Service()\nexport default class ChangesCertificateViewModel extends OldSpsBaseScreen {\n  public personalInfoViewModel: PersonalInfoViewModel | undefined;\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'changes-certificate';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ChangesCertificateService,\n    @Inject() private applicationStepsViewModel: ChangesCertificateStepsViewModel,\n    @Inject() private shipSelectionViewModel: BoatSelectionViewModel,\n    @Inject() private typeOfChangeViewModel: TypeOfChangeViewModel,\n    @Inject() private requiredAttachmentsViewModel: RequiredAttachmentsViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ChangesCertificateViewModel);\n    this.personalInfoViewModel = new PersonalInfoViewModel(\n      this.localization,\n      this.shipService,\n      applicationStepsViewModel,\n      this.mandatesService,\n      this.errorService,\n      'ship-selection'\n    );\n    makeObservable(this);\n    this.children.push(this.personalInfoViewModel);\n    this.children.push(shipSelectionViewModel);\n    this.children.push(typeOfChangeViewModel);\n    this.children.push(requiredAttachmentsViewModel);\n    this.children.push(summaryViewModel);\n  }\n\n  async activate() {\n    this.shipService.clearSeasonChangeData();\n    this.shipService.unsetRequestEntity();\n    await this.shipService.loadShipData();\n  }\n\n  notifyNavigation() {\n    this.shipService.resetFormData();\n    this.shipSelectionViewModel.boatOptions = [];\n    this.shipSelectionViewModel.pickupOptions = [];\n    this.typeOfChangeViewModel.changeOptions = undefined;\n    this.typeOfChangeViewModel.tableData = undefined;\n    this.typeOfChangeViewModel.enginesData = initialEnginesData;\n    this.personalInfoViewModel?.reset();\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<ChangesCertificateViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async navPersonalInfo() {\n    const personType = this.mandatesService.personType;\n\n    if (personType === MandatePersonType.FO) {\n      try {\n        await this.shipService.initialization();\n        return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ChangesCertificate ChangesCertificateViewModel',\n          'navPersonalInfo - shipService.initialization, MandatePersonType.FO'\n        );\n        this.handleError(e);\n      }\n    } else if (personType === MandatePersonType.PO) {\n      try {\n        await this.shipService.initialization();\n        return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ChangesCertificate ChangesCertificateViewModel',\n          'navPersonalInfo - shipService.initialization, MandatePersonType.PO'\n        );\n        this.handleError(e);\n      }\n    }\n  }\n\n  translate = translate('ship.certificates.changes-certificate.introduction', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from 'src/data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport {\n  Sps_WebApi_Models_Requests_BoatEngineRequest,\n  Sps_WebApi_Models_Responses_BoatEngineDetailResponse,\n} from 'src/data/sps/api';\nimport { EngineChangeTypes } from 'src/enums/EngineChangeTypes';\nimport { EnginePurposeTypes } from 'src/enums/EnginePurposeTypes';\n\n@AddTranslationKey('applications.ship.type-of-change')\nexport default class EngineModel {\n  @observable serial_number = '';\n  @observable manufacture_year = '';\n  @observable performance = '';\n  @observable weight = '';\n  @observable manufacturer = '';\n  @observable identification = '';\n  @observable production_number = '';\n  @observable purpose = '';\n  @observable change_type = '';\n  @observable is_change_type_invalid = false;\n\n  // PD-4867: some engine values are required\n  // required: serial_number, performance, identification, production_number, purpose, change_type\n  // optional properties cannot be empty strings\n  static getRequestEngineObject(engine: EngineModel): Sps_WebApi_Models_Requests_BoatEngineRequest & {\n    serial_number: number;\n    performance: string;\n    identification: string;\n    production_number: string;\n    purpose: string;\n    change_type: string;\n  } {\n    return {\n      serial_number: Number(engine.serial_number),\n      performance: engine.performance,\n      identification: engine.identification,\n      production_number: engine.production_number,\n      purpose: engine.purpose,\n      change_type: engine.change_type,\n      weight: engine.weight.length === 0 ? undefined : engine.weight,\n      manufacturer: engine.manufacturer.length === 0 ? undefined : engine.manufacturer,\n      manufacture_year: engine.manufacture_year.length === 0 ? undefined : engine.manufacture_year,\n    };\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static isEmpty(engine: EngineModel) {\n    let isEmpty = true;\n\n    const checkEmptyProperties: Array<keyof typeof engine> = [\n      'performance',\n      'weight',\n      'manufacturer',\n      'identification',\n      'production_number',\n      'manufacture_year',\n    ];\n\n    for (const prop of checkEmptyProperties) {\n      if (engine[prop] !== '') {\n        isEmpty = false;\n        break;\n      }\n    }\n\n    return isEmpty;\n  }\n\n  public static isAddEngine(engine: EngineModel) {\n    return engine.change_type !== '36e0ee2e-19aa-4207-aa59-1251af37f567';\n  }\n\n  public static isChangeTypeNoChange(engine: EngineModel) {\n    return engine.change_type === 'cc5c2aa9-dcda-4c77-be18-20549ad3968b';\n  }\n\n  public static mapData(\n    serial_number: string,\n    performance: string,\n    weight: string,\n    manufacturer: string,\n    identification: string,\n    production_number: string,\n    manufacture_year: string,\n    purpose: string,\n    change_type: string\n  ): EngineModel {\n    const model = new EngineModel();\n\n    model.serial_number = serial_number;\n    model.performance = performance;\n    model.weight = weight;\n    model.manufacturer = manufacturer;\n    model.identification = identification;\n    model.production_number = production_number;\n    model.manufacture_year = manufacture_year;\n    model.purpose = purpose;\n    model.change_type = change_type;\n\n    return model;\n  }\n\n  public static mapV2Data(response: Sps_WebApi_Models_Responses_BoatEngineDetailResponse) {\n    const model = new EngineModel();\n\n    model.serial_number = response.serialNumber ?? '';\n    model.performance = response.performance ?? '';\n    model.weight = response.weight ?? '';\n    model.manufacturer = response.manufacturer ?? '';\n    model.identification = response.identification ?? '';\n    model.production_number = response.production_number ?? '';\n    model.manufacture_year = response.manufacture_year ?? '';\n    model.purpose = response.purpose ?? EnginePurposeTypes.PURPOSE_MAIN;\n    model.change_type = response.change_type ?? EngineChangeTypes.UNCHANGED_ENGINE;\n\n    return model;\n  }\n}\n\nexport const EngineModelValidators: ValidationDescriptor<EngineModel, Validators> = {\n  manufacture_year: {\n    year: {\n      message: 'year.format',\n    },\n  },\n  performance: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) =>\n          !EngineModel.isEmpty(t) || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  identification: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) =>\n          !EngineModel.isEmpty(t) || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  production_number: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) =>\n          !EngineModel.isEmpty(t) || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  purpose: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) =>\n          !EngineModel.isEmpty(t) || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  change_type: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) => t.is_change_type_invalid,\n      },\n    },\n  },\n};\n","import { observer } from 'mobx-react-lite';\nimport { runInAction } from 'mobx';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './EngineTable.scss';\nimport type { OnlyProperty } from '@cendis/cedr-framework/dist/types';\nimport PlainInput from '../../../../components/form/PlainInput';\nimport EngineTableSelect from './EngineTableSelect';\nimport type EngineModel from '../../applications/ChangesCertificate/Steps/TypeOfChange/EngineModel';\nimport { useScreenContext } from '../../../../components/ScreenContext';\nimport type { SelectOption } from '../../../../components/form/Select/Select';\n\ntype EngineTableProps = {\n  engines: EngineModel[];\n  tableData: string[];\n  enginePurposes: SelectOption<string>[] | undefined;\n  engineChangeTypes: SelectOption<string>[] | undefined;\n  translate: Translator;\n};\n\nexport const EngineTable = observer(({ engines, translate, tableData, enginePurposes, engineChangeTypes }: EngineTableProps) => {\n  const { validation } = useScreenContext();\n  if (!validation) throw Error('Input component requires validation passed through a ScreenContext provider.');\n\n  const handleSelect = (\n    e: React.ChangeEvent<HTMLSelectElement>,\n    target: EngineModel,\n    property: OnlyProperty<EngineModel, string>\n  ) => {\n    runInAction(() => {\n      target[property] = e.target.value;\n    });\n    validation.validateObject(target);\n  };\n\n  return (\n    <div className=\"engine-table-changes\">\n      <table>\n        <thead>\n          <tr>\n            {tableData.map((item, index) => (\n              <td key={index}>{index === 0 ? '' : item}</td>\n            ))}\n          </tr>\n        </thead>\n        <tbody>\n          {engines.map((engine) => {\n            return (\n              <tr key={engine.serial_number}>\n                <td>\n                  {translate('engine-change-table.engine')} {engine.serial_number}\n                </td>\n                <td>\n                  <PlainInput type={'text'} maxLength={20} target={engine} property={'performance'} />\n                </td>\n                <td>\n                  <PlainInput type={'text'} maxLength={20} target={engine} property={'weight'} />\n                </td>\n                <td>\n                  <PlainInput type={'text'} maxLength={20} target={engine} property={'manufacturer'} />\n                </td>\n                <td>\n                  <PlainInput type={'text'} maxLength={20} target={engine} property={'identification'} />\n                </td>\n                <td>\n                  <PlainInput type={'text'} maxLength={20} target={engine} property={'production_number'} />\n                </td>\n                <td>\n                  <PlainInput type={'text'} target={engine} property={'manufacture_year'} />\n                </td>\n                {enginePurposes && (\n                  <td>\n                    <EngineTableSelect options={enginePurposes} target={engine} property={'purpose'} />\n                  </td>\n                )}\n                {engineChangeTypes && (\n                  <td>\n                    <EngineTableSelect options={engineChangeTypes} target={engine} property={'change_type'} />\n                  </td>\n                )}\n              </tr>\n            );\n          })}\n        </tbody>\n      </table>\n    </div>\n  );\n});\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { observer } from 'mobx-react-lite';\nimport { EngineTable } from '../../../../../components/EngineTable/EngineTable';\nimport type { EngineInfoEntity } from '../../../../../../../data/entities/ship/enginesInfo/EngineInfoEntity';\nimport type { EnginesData } from '../TypeOfChangeViewModel';\n\ntype EngineChangesProps = {\n  enginesData: EnginesData;\n  handleChange: (e: React.ChangeEvent<HTMLInputElement>, typeOfChange: string) => void;\n  item: { id: string; checked: boolean; enabled: boolean; description: string };\n  tableData: EngineInfoEntity | undefined;\n  translate: Translator;\n};\n\nconst EngineChanges = observer(({ enginesData, handleChange, item, tableData, translate }: EngineChangesProps) => {\n  const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    enginesData.changes.enginesChange.changeId = item.id;\n    handleChange(e, 'hello');\n  };\n\n  return (\n    <li className=\"gov-form-group__item\">\n      <input\n        id={item.id}\n        type=\"checkbox\"\n        className=\"gov-form-control__checkbox\"\n        checked={item.checked}\n        value={item.id}\n        onChange={onChange}\n        disabled={!item.enabled}\n      />\n      <label htmlFor={item.id} className=\"gov-form-control__label\">\n        {item.description}\n      </label>\n      <span className=\"gov-form-control__indicator\" />\n      <div className={`${item.checked ? 'd-block change-content' : 'd-none'}`}>\n        {tableData && (\n          <EngineTable\n            translate={translate}\n            tableData={tableData.engines.map((item) => item.description)}\n            enginePurposes={tableData.engine_purposes}\n            engineChangeTypes={tableData.engine_change_types}\n            engines={enginesData.engines}\n          />\n        )}\n      </div>\n    </li>\n  );\n});\n\nexport default EngineChanges;\n","import Fieldset from '../../../../../../../components/form/Fieldset';\nimport { observer } from 'mobx-react-lite';\nimport type BoatPurposeChangeModel from '../BoatPurposeChangeModel';\nimport RadioGroup from '../../../../../../../components/form/RadioGroup/RadioGroup';\n\ntype BoatPurposeChangeProps = {\n  boatPurposeChange: BoatPurposeChangeModel;\n  handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n  handleRadioChange: () => void;\n  item: { id: string; checked: boolean; enabled: boolean; description: string };\n  label: string;\n  options: { id: string; label: string }[];\n};\n\nconst BoatPurposeChange = observer(\n  ({ boatPurposeChange, handleChange, handleRadioChange, item, label, options }: BoatPurposeChangeProps) => {\n    return (\n      <li className=\"gov-form-group__item\">\n        <input\n          id={item.id}\n          type=\"checkbox\"\n          className=\"gov-form-control__checkbox\"\n          checked={item.checked}\n          value={item.id}\n          onChange={handleChange}\n          disabled={!item.enabled}\n        />\n        <label htmlFor={item.id} className=\"gov-form-control__label\">\n          {item.description}\n        </label>\n\n        <span className=\"gov-form-control__indicator\" />\n        <div className={`${item.checked ? 'd-block change-content' : 'd-none'}`}>\n          <Fieldset className=\"col-sm-8 col-md-6 col-12\" wide>\n            <h2 className=\"h3size mb-4\">{label}</h2>\n            {boatPurposeChange && (\n              <RadioGroup\n                className=\"mb-4\"\n                target={boatPurposeChange}\n                property=\"valueId\"\n                options={options}\n                onChange={handleRadioChange}\n                testId=\"boat-purpose-change-value-id\"\n              />\n            )}\n          </Fieldset>\n        </div>\n      </li>\n    );\n  }\n);\n\nexport default BoatPurposeChange;\n","import { observer } from 'mobx-react-lite';\nimport Textarea from '../../../../../../../components/form/Textarea';\nimport type OtherBoatChangeModel from '../OtherBoatChangeModel';\n\ntype OtherBoatChangeProps = {\n  item: { id: string; checked: boolean; enabled: boolean; description: string };\n  handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n  otherBoatChange: OtherBoatChangeModel;\n  hint: string;\n};\n\nconst OtherBoatChange = observer(({ item, handleChange, otherBoatChange, hint }: OtherBoatChangeProps) => {\n  return (\n    <li className=\"gov-form-group__item\">\n      <input\n        id={item.id}\n        type=\"checkbox\"\n        className=\"gov-form-control__checkbox\"\n        checked={item.checked}\n        value={item.id}\n        onChange={handleChange}\n        disabled={!item.enabled}\n      />\n      <label htmlFor={item.id} className=\"gov-form-control__label\">\n        {item.description}\n      </label>\n      <span className=\"gov-form-control__indicator\" />\n      <div className={`${item.checked ? 'd-block change-content' : 'd-none'}`}>\n        <Textarea target={otherBoatChange} thin property=\"value\" />\n        <p className=\"textarea-hint\">{hint}</p>\n      </div>\n    </li>\n  );\n});\n\nexport default OtherBoatChange;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type TypeOfChangeViewModel from './TypeOfChangeViewModel';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport Container from '../../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport EngineChanges from './components/EngineChanges';\nimport BoatPurposeChange from './components/BoatPurposeChange';\nimport OtherBoatChange from './components/OtherBoatChange';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport InfoPanel from '../../../../../../components/shared/InfoPanel/InfoPanel';\nimport './TypeOfChangeView.scss';\nimport { BOAT_PURPOSE_CHANGE, ChangeIds, ENGINES_CHANGE, OTHER_BOAT_CHANGE } from './TypeOfChangeViewModel';\n\nconst TypeOfChangeView: View<TypeOfChangeViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    setChanges,\n    changeOptions,\n    changesCertificateStepsViewModel,\n    tableData,\n    enginesData,\n    isLoading,\n    error,\n    isFormStateChanged,\n    setOtherChanges,\n  } = vm;\n\n  const handleChange = (e: React.ChangeEvent<HTMLInputElement>, typeOfChange: string) => {\n    const licId = e.target.value;\n    setChanges(licId, typeOfChange);\n  };\n  const handleRadioChange = () => {\n    setOtherChanges();\n  };\n\n  const renderChanges = () => {\n    if (changeOptions) {\n      const engineChanges = changeOptions.change_types.find((item) => item.id === ChangeIds.ENGINE_CHANGES);\n      const boatPurposeChanges = changeOptions.change_types.find(\n        (item) => item.id === ChangeIds.BOAT_PURPOSE_CHANGE\n      );\n      const otherBoatChanges = changeOptions.change_types.find(\n        (item) => item.id === ChangeIds.OTHER_BOAT_CHANGE\n      );\n      const purposeOptions =\n        (tableData &&\n          tableData.boat_change_purposes.map((purpose) => ({\n            id: purpose.id,\n            label: purpose.description,\n          }))) ||\n        [];\n\n      if (engineChanges && boatPurposeChanges && otherBoatChanges) {\n        return (\n          <ul className=\"gov-form-group\">\n            <EngineChanges\n              enginesData={enginesData}\n              handleChange={(e) => handleChange(e, ENGINES_CHANGE)}\n              item={engineChanges}\n              tableData={tableData}\n              translate={translate}\n            />\n            <BoatPurposeChange\n              boatPurposeChange={enginesData.changes.boatPurposeChange}\n              handleChange={(e) => handleChange(e, BOAT_PURPOSE_CHANGE)}\n              handleRadioChange={() => handleRadioChange()}\n              item={boatPurposeChanges}\n              label={translate('pick-purpose')}\n              options={purposeOptions}\n            />\n            <OtherBoatChange\n              item={otherBoatChanges}\n              handleChange={(e) => handleChange(e, OTHER_BOAT_CHANGE)}\n              otherBoatChange={enginesData.changes.otherBoatChange}\n              hint={translate('other-change-hint')}\n            />\n          </ul>\n        );\n      }\n    }\n  };\n\n  return (\n    <div className=\"ship-selection-view\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={changesCertificateStepsViewModel} />\n\n            {isLoading ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              <div>\n                <div className=\"doc-checkbox-block\">\n                  <h2 className=\"h3size\">{translate('title')}</h2>\n                  <div className=\"gov-form-control gov-form-control--custom\">{renderChanges()}</div>\n                </div>\n              </div>\n            )}\n\n            {error && <InfoPanel message={error} type=\"error\" />}\n          </Envelope>\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading || !isFormStateChanged}\n              onClick={goNext}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default TypeOfChangeView;\n","import type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { observable } from 'mobx';\n\n@AddTranslationKey('applications.ship.boat-purpose-change')\nexport default class BoatPurposeChangeModel {\n  @observable changeId: string = '';\n  @observable valueId: string = '';\n  @observable description: string = '';\n  @observable type: string = '';\n  @observable isChecked = false;\n\n  public static mapData(\n    changeId: string,\n    valueId: string,\n    description: string,\n    type: string,\n    isChecked: boolean = false\n  ): BoatPurposeChangeModel {\n    const model = new BoatPurposeChangeModel();\n\n    model.changeId = changeId;\n    model.valueId = valueId;\n    model.description = description;\n    model.type = type;\n    model.isChecked = isChecked;\n\n    return model;\n  }\n}\n\nexport const BoatPurposeChangeValidators: ValidationDescriptor<BoatPurposeChangeModel, Validators> = {\n  changeId: {\n    required: {\n      message: 'changeId.required',\n    },\n  },\n  valueId: {\n    required: {\n      message: 'valueId.required',\n    },\n  },\n  description: {\n    required: {\n      message: 'description.required',\n    },\n  },\n};\n","import type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { observable } from 'mobx';\n\n@AddTranslationKey('applications.ship.boat-purpose-change')\nexport default class OtherBoatChangeModel {\n  @observable changeId: string = '';\n  @observable value: string = '';\n  @observable description: string = '';\n  @observable type: string = '';\n  @observable isChecked = false;\n\n  public static mapData(\n    changeId: string,\n    value: string,\n    description: string,\n    type: string,\n    isChecked: boolean = false\n  ): OtherBoatChangeModel {\n    const model = new OtherBoatChangeModel();\n\n    model.changeId = changeId;\n    model.value = value;\n    model.description = description;\n    model.type = type;\n    model.isChecked = isChecked;\n\n    return model;\n  }\n}\n\nexport const OtherBoatChangeValidators: ValidationDescriptor<OtherBoatChangeModel, Validators> = {\n  value: {\n    required: {\n      message: 'value.required',\n    },\n  },\n};\n","import {makeObservable, observable} from \"mobx\";\n\nexport default class EnginesChangeModel {\n  @observable changeId: string = ''\n  @observable isChecked = false\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(\n    changeId: string,\n    isChecked: boolean\n  ): EnginesChangeModel {\n    const model = new EnginesChangeModel()\n\n    model.changeId = changeId\n    model.isChecked = isChecked\n\n    return model\n  }\n}\n","import { action, makeObservable, observable, runInAction, toJS } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport TypeOfChangeView from './TypeOfChangeView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ChangesCertificateStepsViewModel from '../../../ApplicationSteps/ChangesCertificateSteps/ChangesCertificateStepsViewModel';\nimport ChangesCertificateService from '../../../../../../services/ship/ChangesCertificateService';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type ChangeEntity from '../../../../../../data/entities/ship/changes/ChangeEntity';\nimport type {\n  EngineChanges,\n  EngineInfoEntity,\n} from '../../../../../../data/entities/ship/enginesInfo/EngineInfoEntity';\nimport EngineModel, { EngineModelValidators } from './EngineModel';\nimport BoatPurposeChangeModel, { BoatPurposeChangeValidators } from './BoatPurposeChangeModel';\nimport OtherBoatChangeModel, { OtherBoatChangeValidators } from './OtherBoatChangeModel';\nimport EnginesChangeModel from './EnginesChangeModel';\nimport { EngineChangeTypes } from 'src/enums/EngineChangeTypes';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\nexport const ENGINES_CHANGE = 'enginesChange';\nexport const BOAT_PURPOSE_CHANGE = 'boatPurposeChange';\nexport const OTHER_BOAT_CHANGE = 'otherBoatChange';\n\nexport enum ChangeIds {\n  ENGINE_CHANGES = 'ed15e857-7fad-4b3e-8af9-a94d231aced9',\n  BOAT_PURPOSE_CHANGE = '6836a661-79a6-454c-bbae-33eeee90ce4d',\n  OTHER_BOAT_CHANGE = '822b8319-374b-4c43-99bb-b475b9d0d46f',\n}\n\nexport type EnginesData = {\n  changes: EngineChanges;\n  engines: EngineModel[];\n};\n\nexport const initialEnginesData = {\n  changes: {\n    enginesChange: new EnginesChangeModel(),\n    boatPurposeChange: new BoatPurposeChangeModel(),\n    otherBoatChange: new OtherBoatChangeModel(),\n  },\n  engines: [],\n};\n\n@AddDefaultView(TypeOfChangeView)\n@Service()\nexport default class TypeOfChangeViewModel extends OldSpsBaseScreen {\n  enginesDataCache: string = '';\n  @observable isLoading = false;\n  @observable changeOptions: ChangeEntity | undefined = undefined;\n  @observable tableData: EngineInfoEntity | undefined = undefined;\n  @observable error: string | undefined = undefined;\n  @observable enginesData: EnginesData = initialEnginesData;\n  @observable otherChanges: boolean = false;\n  @observable addChangeRow: boolean = false;\n  initialEngines: EngineModel[] | undefined = undefined;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ChangesCertificateService,\n    @Inject() public changesCertificateStepsViewModel: ChangesCertificateStepsViewModel,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(TypeOfChangeViewModel);\n    makeObservable(this);\n  }\n\n  get pathNode(): string {\n    return 'type-of-change';\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(3, FormStateKeys.VisitedTypeOfChange);\n  }\n\n  async activate() {\n    await this.loadData();\n\n    this.shipService.validation.attachDescriptor(\n      this.enginesData.changes.boatPurposeChange,\n      BoatPurposeChangeValidators\n    );\n    this.shipService.validation.attachDescriptor(\n      this.enginesData.changes.otherBoatChange,\n      OtherBoatChangeValidators\n    );\n  }\n\n  deactivate() {\n    this.error = undefined;\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  setChanges(changeId: string, typeOfChange: string) {\n    this.shipService.toggleAndSave(FormStateKeys.HasLicencesChanged);\n    runInAction(() => {\n      this.changeOptions?.change_types.map((change) => {\n        // toggle checkbox\n        if (change.id === changeId) {\n          change.checked = !change.checked;\n\n          let engineElement: keyof typeof this.enginesData.changes;\n\n          for (engineElement in this.enginesData.changes) {\n            if (engineElement === 'enginesChange' && typeOfChange === 'enginesChange') {\n              this.enginesData.changes[engineElement].isChecked = change.checked;\n              this.enginesData.changes[engineElement].changeId = change.id;\n              this.enginesData.changes[engineElement].isChecked = change.checked;\n              this.enginesData.changes[engineElement].changeId = change.id;\n            } else if (engineElement === 'boatPurposeChange' && typeOfChange === 'boatPurposeChange') {\n              this.enginesData.changes[engineElement].isChecked = change.checked;\n              this.enginesData.changes[engineElement].description = change.description;\n              this.enginesData.changes[engineElement].changeId = change.id;\n              this.enginesData.changes[engineElement].type = 'option';\n              if (change.checked === true) {\n                this.otherChanges = false;\n              }\n            } else if (engineElement === 'otherBoatChange' && typeOfChange === 'otherBoatChange') {\n              this.enginesData.changes[engineElement].isChecked = change.checked;\n              this.enginesData.changes[engineElement].description = change.description;\n              this.enginesData.changes[engineElement].changeId = change.id;\n              this.enginesData.changes[engineElement].type = 'text';\n              if (change.checked === true) {\n                this.otherChanges = true;\n              }\n            }\n          }\n        }\n      });\n    });\n  }\n\n  @action.bound\n  setOtherChanges() {\n    this.otherChanges = true;\n  }\n\n  @action.bound\n  async goBack() {\n    await this.saveData();\n    this.navigator('../ship-selection').go();\n  }\n\n  @action.bound\n  async goNext() {\n    const enginesChanged = JSON.stringify(this.initialEngines) !== JSON.stringify(this.enginesData.engines);\n    if (\n      enginesChanged &&\n      this.shipService.formState &&\n      !this.shipService.formState[FormStateKeys.HasEnginesChanged]\n    ) {\n      this.shipService.toggleAndSave(FormStateKeys.HasEnginesChanged);\n    }\n    if (this.runValidations()) {\n      await this.saveData();\n      this.navigator('../required-attachments').go();\n    }\n  }\n\n  get isFormStateChanged() {\n    return (\n      JSON.stringify(this.initialEngines) !== JSON.stringify(this.enginesData.engines) || this.otherChanges\n    );\n  }\n\n  get isEngineChangedValidly() {\n    if (this.initialEngines !== undefined) {\n      let result = true;\n      // @ts-ignore\n      this.enginesData.engines.forEach((item, index) => {\n        item.is_change_type_invalid = false;\n        const oldEngine = this.initialEngines![index];\n        // cc5c2aa9-dcda-4c77-be18-20549ad3968b = no change\n\n        if (\n          (!item.change_type || item.change_type === 'cc5c2aa9-dcda-4c77-be18-20549ad3968b') &&\n          (oldEngine.change_type !== item.change_type ||\n            oldEngine.performance !== item.performance ||\n            oldEngine.weight !== item.weight ||\n            oldEngine.manufacturer !== item.manufacturer ||\n            oldEngine.identification !== item.identification ||\n            oldEngine.production_number !== item.production_number ||\n            oldEngine.manufacture_year !== item.manufacture_year ||\n            oldEngine.purpose !== item.purpose)\n        ) {\n          item.is_change_type_invalid = true;\n\n          result = false;\n        } else if (\n          (item.change_type != '' && oldEngine.change_type !== item.change_type) ||\n          (item.performance != '' && oldEngine.performance !== item.performance) ||\n          (item.weight != '' && oldEngine.weight !== item.weight) ||\n          (item.manufacture_year != '' && oldEngine.manufacture_year !== item.manufacture_year) ||\n          (item.manufacturer != '' && oldEngine.manufacturer !== item.manufacturer) ||\n          (item.identification != '' && oldEngine.identification !== item.identification) ||\n          (item.production_number != '' && oldEngine.production_number !== item.production_number) ||\n          (item.purpose != '' && oldEngine.purpose !== item.purpose)\n        ) {\n          item.is_change_type_invalid = false;\n          this.addChangeRow = true;\n\n          result = true;\n        }\n      });\n      return result;\n    }\n  }\n\n  translate = translate('ship.certificates.changes-certificate.type-of-change', this);\n  generalTranslate = translate('ship.certificates', this);\n\n  private async saveData() {\n    if (this.tableData) {\n      this.shipService.setTypeOfChangeData(\n        this.enginesData.changes,\n        this.enginesData.engines,\n        this.tableData\n      );\n    }\n  }\n\n  private async loadData() {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    // load possible changes from API\n    await this.loadChanges();\n    // load vehicle engines info + add empty engine options (total of 6)\n    await this.loadEnginesInfo();\n    // load changes from Session Storage\n    this.loadChangesFromSession();\n\n    this.attachDescriptorsToEngines();\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  private loadChangesFromSession() {\n    if (this.shipService.formData.changes.length < 1) {\n      runInAction(() => {\n        this.enginesData.changes.enginesChange = EnginesChangeModel.mapData('', false);\n        this.enginesData.changes.boatPurposeChange = BoatPurposeChangeModel.mapData('', '', '', '', false);\n        this.enginesData.changes.otherBoatChange = OtherBoatChangeModel.mapData('', '', '', '', false);\n        this.changeOptions?.change_types.map((ch) => (ch.checked = false));\n      });\n    } else {\n      const changes = this.shipService.formData.changes;\n\n      changes.map((change) => {\n        switch (change.changeId) {\n          case ChangeIds.ENGINE_CHANGES:\n            runInAction(() => {\n              this.enginesData.changes.enginesChange.changeId = change.changeId ?? '';\n              this.enginesData.changes.enginesChange.isChecked = change.isChecked;\n              let engineChange = this.changeOptions?.change_types.find((item) => item.id === change.changeId);\n              if (engineChange) {\n                engineChange.checked = change.isChecked;\n              }\n            });\n            break;\n          case ChangeIds.BOAT_PURPOSE_CHANGE:\n            runInAction(() => {\n              this.enginesData.changes.boatPurposeChange = BoatPurposeChangeModel.mapData(\n                change.changeId ?? '',\n                change.valueId ?? '',\n                change.description ?? '',\n                change.type ?? '',\n                change.isChecked\n              );\n              let boatChange = this.changeOptions?.change_types.find((item) => item.id === change.changeId);\n              if (boatChange) {\n                boatChange.checked = change.isChecked;\n              }\n            });\n            break;\n          case ChangeIds.OTHER_BOAT_CHANGE:\n            runInAction(() => {\n              this.enginesData.changes.otherBoatChange = OtherBoatChangeModel.mapData(\n                change.changeId ?? '',\n                change.value ?? '',\n                change.description ?? '',\n                change.type ?? '',\n                change.isChecked\n              );\n              let otherChange = this.changeOptions?.change_types.find((item) => item.id === change.changeId);\n              if (otherChange) {\n                otherChange.checked = change.isChecked;\n              }\n            });\n            break;\n          default:\n            break;\n        }\n      });\n    }\n  }\n\n  private async loadChanges() {\n    if (!this.changeOptions) {\n      try {\n        const changes = await this.shipService.getV2Changes();\n\n        runInAction(() => {\n          if (changes) {\n            this.changeOptions = changes;\n          }\n        });\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ChangesCertificate TypeOfChangeViewModel',\n          'loadChanges - shipService.getV2Changes'\n        );\n        this.handleError(e);\n      }\n    }\n  }\n\n  private async loadEnginesInfo() {\n    try {\n      const sessionEngines = this.shipService.formData.engines;\n\n      if (!this.tableData || !this.enginesData || this.enginesData.engines.length === 0) {\n        const engineInfo = await this.shipService.getV2EnginesInfo();\n        let tempEngines: EngineModel[];\n\n        if (engineInfo) {\n          if (sessionEngines.length < 1) {\n            tempEngines = [...engineInfo.boat_engines];\n          } else {\n            tempEngines = sessionEngines;\n          }\n\n          tempEngines.map((engine, order) => {\n            if (engine.purpose === '') {\n              engine.purpose = engineInfo.engine_purposes[0].key;\n            }\n            if (engine.change_type === '') {\n              engine.change_type = engineInfo.engine_change_types[0].key;\n            }\n            if (engine.serial_number === '') {\n              engine.serial_number = (order + 1).toString();\n            }\n          });\n\n          engineInfo.engine_purposes = engineInfo.engine_purposes.map((purpose) => {\n            return {\n              ...purpose,\n              label: purpose.description,\n              key: purpose.id,\n              value: purpose.id,\n            };\n          });\n\n          engineInfo.engine_change_types = engineInfo.engine_change_types.map((changeType) => {\n            return {\n              ...changeType,\n              label: changeType.description,\n              key: changeType.id,\n              value: changeType.id,\n            };\n          });\n\n          const myEnginesLength = tempEngines.length;\n\n          for (let i = myEnginesLength + 1; i < 7; i++) {\n            tempEngines.push(\n              EngineModel.mapData(\n                String(i),\n                '',\n                '',\n                '',\n                '',\n                '',\n                '',\n                engineInfo.engine_purposes[0].key,\n                engineInfo.engine_change_types[0].key\n              )\n            );\n          }\n        }\n\n        runInAction(() => {\n          if (engineInfo) {\n            this.tableData = engineInfo;\n            this.enginesData.engines = tempEngines;\n            this.initialEngines = tempEngines.map((e) => {\n              return { ...e };\n            });\n          }\n        });\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ChangesCertificate TypeOfChangeViewModel',\n        'loadEnginesInfo - shipService.getV2EnginesInfo'\n      );\n      this.handleError(e);\n    }\n  }\n\n  private attachDescriptorsToEngines() {\n    this.enginesData.engines.map((engine) => {\n      this.shipService.validation.attachDescriptor(engine, EngineModelValidators);\n    });\n  }\n\n  private runValidations(): boolean {\n    if (this.enginesDataCache !== JSON.stringify(this.enginesData)) {\n      this.shipService.toggleAndSave(FormStateKeys.HasLicencesChanged);\n    }\n\n    let isValid = true;\n    this.error = undefined;\n    const enginesChange = this.enginesData.changes.enginesChange;\n    const purposeChange = this.enginesData.changes.boatPurposeChange as BoatPurposeChangeModel;\n    const otherChange = this.enginesData.changes.otherBoatChange;\n\n    if (\n      (!enginesChange.isChecked && !purposeChange.isChecked && !otherChange.isChecked) ||\n      (enginesChange.isChecked && !this.isEngineChangedValidly)\n    ) {\n      isValid = false;\n      runInAction(() => {\n        this.error = this.translate('no-change-picked');\n      });\n    }\n\n    // there is at least one change checked\n    // if it is engines change\n\n    if (enginesChange.isChecked) {\n      const validationArray = this.enginesData.engines.map((engine) => {\n        return this.shipService.validation.validateObject(engine);\n      });\n      isValid = isValid && !validationArray.includes(false);\n    }\n\n    // if it is purposeChange\n    if (purposeChange.isChecked && purposeChange.changeId) {\n      const valid = this.shipService.validation.validateObject(purposeChange);\n      if (!valid) {\n        isValid = false;\n      }\n    } else {\n      purposeChange.changeId = '';\n      purposeChange.valueId = '';\n    }\n\n    // if it is otherChange\n    if (otherChange.changeId && otherChange.isChecked) {\n      const valid = this.shipService.validation.validateObject(otherChange);\n      if (!valid) {\n        isValid = false;\n      }\n    } else {\n      otherChange.changeId = '';\n      otherChange.value = '';\n    }\n\n    if (isValid) {\n      runInAction(() => {\n        this.error = undefined;\n      });\n      if (!enginesChange.isChecked) {\n        runInAction(() => {\n          this.enginesData.engines = [];\n          this.enginesData.changes.enginesChange.changeId = '';\n        });\n      }\n    }\n\n    return isValid;\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, navBack, nextStepBusyWatcher, translate, generalTranslate } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[translate('steps.step-one'), translate('steps.step-two')]}\n      navToForm={navNextStep}\n      navBack={navBack}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    />\n  );\n});\n\nexport default IntroView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(\n        err,\n        'ship - CrewEuIssuanceCertificate IntroViewModel',\n        'navNextStep - applicationService.init'\n      );\n      this.handleError(err);\n      return;\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport { ApiError } from '../../../../../data/sps/api';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('crew-eu-issuance-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - CrewEuIssuanceCertificate PersonalInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type RequestViewModel from './RequestViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport LicenceSelection from '../../shared/Application/LicenceSelection';\nimport BranchSelection from '../../shared/Application/BranchSelection';\n\nconst RequestView: View<RequestViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      {/* LICENCE SELECTION */}\n      <LicenceSelection\n        title={translate('licence-selection')}\n        licenceService={applicationService.licenceService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      {/* BRANCH SELECTION */}\n      <BranchSelection\n        title={translate('branch-selection')}\n        branchService={applicationService.branchService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default RequestView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestView from './RequestView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../04_Attachments/AttachmentsViewModel';\nimport FormDataViewModel from '../03_FormData/FormDataViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestView)\n@Service()\nexport default class RequestViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'extradition-request';\n  }\n\n  get title(): string {\n    return this.generalTranslate('crew-eu-issuance-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequestViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.licenceService.getPersonLicences(),\n        this.applicationService.branchService.getBranches(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - CrewEuIssuanceCertificate RequestViewModel',\n        'activate - applicationService.init, applicationService.licenceService.getPersonLicences, applicationService.branchService.getBranches'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @Watch<RequestViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [this.applicationService.branchService.validate(), this.applicationService.licenceService.validate()];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.licenceService.saveToSessionStorage();\n      this.navigator(FormDataViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.extradition-request', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport FormDataViewModel from './FormDataViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport ReasonSelection from '../../shared/Application/ReasonSelection';\n\nconst FormDataView: View<FormDataViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate, translate } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <ReasonSelection\n        title={translate('request-reason-selection')}\n        reasonService={applicationService.reasonService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default FormDataView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport FormDataView from './FormDataView';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport AttachmentsViewModel from '../04_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(FormDataView)\n@Service()\nexport default class FormDataViewModel extends SpsBaseScreen {\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'form-data';\n  }\n\n  get title(): string {\n    return this.generalTranslate('crew-eu-issuance-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(FormDataViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<FormDataViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.reasonService.getReasons(this.applicationService.licenceService.selectedLicence.licenceId),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - CrewEuIssuanceCertificate FormDataViewModel',\n        'activate - applicationService.init, applicationService.reasonService.getReasons'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestViewModel).go();\n  }\n\n  @Watch<FormDataViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.reasonService.validate()) {\n      this.applicationService.reasonService.saveToSessionStorage();\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.form-data', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        title={generalTranslate('requiredAttachments')}\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n      {Object.entries(applicationService.attachmentsService.files).length > 2 && (\n        <p>{vm.translate('practice-message')}</p>\n      )}\n      <p>{vm.translate('attachment-message')}</p>\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport SummaryViewModel from '../05_Summary/SummaryViewModel';\nimport AttachmentsView from './AttachmentsView';\nimport FormDataViewModel from '../03_FormData/FormDataViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('crew-eu-issuance-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequiredAttachments({\n        licenceId: this.applicationService.licenceService.selectedLicence.licenceId,\n        requestReasonId: this.applicationService.reasonService.selectedReason.reasonId,\n      });\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - CrewEuIssuanceCertificate AttachmentsViewModel',\n        'activate - applicationService.init, applicationService.attachmentsService.getRequiredAttachments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(FormDataViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    this.applicationService.attachmentsService.saveToSessionStorage();\n    if (this.applicationService.attachmentsService.validate()) {\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport SummaryViewModel from './SummaryViewModel';\nimport PersonalInfoSummary from '../../shared/Application/Summary/PersonalInfoSummary';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport SelectedLicence from '../../shared/Application/Summary/SelectedLicence';\nimport ReasonSummary from '../../shared/Application/Summary/ReasonSummary';\nimport SelectedBranch from '../../shared/Application/Summary/SelectedBranch';\nimport PaymentInfo from '../../shared/Application/Summary/PaymentInfo';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n      zeroPayment={true}\n    >\n      <PersonalInfoSummary\n        person={applicationService.personService.person}\n        citizenShip={applicationService.personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.requestInfoTitle')}>\n        <SelectedLicence\n          licence={applicationService.licenceService.selectedLicence.licence}\n          title={generalTranslate('summary.current-aptitude')}\n        />\n        <SelectedLicence\n          licence={applicationService.otherLicence.newOtherLicenses ? applicationService.otherLicence.newOtherLicenses[0] : ''}\n          title={generalTranslate('summary.new-aptitude')}\n        />\n\n        <ReasonSummary reason={applicationService.reasonService.selectedReason.reason} generalTranslate={generalTranslate} />\n\n        <SelectedBranch branch={applicationService.branchService.selectedBranch.branch} generalTranslate={generalTranslate} />\n\n        <PaymentInfo amount={applicationService.paymentService.payment.amount} generalTranslate={generalTranslate} />\n      </SummarySection>\n\n      <AttachmentsSummary files={applicationService.attachmentsService.files} generalTranslate={generalTranslate} />\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../04_Attachments/AttachmentsViewModel';\nimport SummaryView from './SummaryView';\nimport ConfirmationViewModel from '../06_Confirmation/ConfirmationViewModel';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('crew-eu-issuance-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n      await this.applicationService.otherLicence.getOtherPersonLicenses(\n        undefined,\n        this.applicationService.licenceService.selectedLicence.licenceId\n      );\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - CrewEuIssuanceCertificate SummaryViewModel',\n        'activate - applicationService.init, applicationService.otherLicence.getOtherPersonLicenses'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.validation.validateObject(this.confirmSummaryModel)) return;\n\n    try {\n      await this.applicationService.postForm();\n\n      await this.applicationService.paymentService.postPaymentStatus(false, false);\n\n      this.navigator(ConfirmationViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - CrewEuIssuanceCertificate SummaryViewModel',\n        'navNext - applicationService.postForm, applicationService.paymentService.postPaymentStatus'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.summary', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ConfirmedBranch from '../../shared/ConfirmationPage/ConfirmedBranch';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport ApplicationStatusLink from '../../shared/ConfirmationPage/ApplicationStatusLink';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const {\n    applicationService,\n    downloadPdf,\n    downloadPdfBusyWatcher,\n    downloadZip,\n    downloadZipBusyWatcher,\n    generalTranslate,\n    translate,\n  } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber ?? ''}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <Typography className=\"mt-4 mb-1\">\n        {translate('new-book-1')} <b>{translate('new-book-2')}</b> {translate('new-book-3')}{' '}\n        <b>\n          {' '}\n          {applicationService.otherLicence.newOtherLicenses ? applicationService.otherLicence.newOtherLicenses[0] + '.' : ''}{' '}\n        </b>\n      </Typography>\n\n      <ConfirmedBranch\n        branch={applicationService.branchService.selectedBranch.branch}\n        generalTranslate={generalTranslate}\n        singular\n      />\n\n      <ApplicationStatusLink generalTranslate={generalTranslate} singular />\n\n      <Typography className=\"mb-1 bold\">{translate('old-book')}</Typography>\n\n      <ChangeNotification generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('crew-eu-issuance-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(6);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - CrewEuIssuanceCertificate ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.crew-eu-issuance-certificate.confirmation', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const CrewEuIssuanceSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'personal-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'request-and-place',\n  },\n  {\n    stepNumber: 3,\n    title: 'form-data',\n  },\n  {\n    stepNumber: 4,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 5,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport FormDataService from '../shared/Service/FormDataService';\nimport PersonService from '../shared/Service/PersonService';\nimport BranchService from '../shared/Service/BranchService';\nimport LicenceService from '../shared/Service/LicenceService';\nimport { CrewEuIssuanceSteps } from './CrewEuIssuanceCertificateStepsData';\nimport StepsService from '../shared/Service/StepsService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport ValidationService from '../shared/Service/ValidationService';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport ReasonService from '../shared/Service/ReasonService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\nimport OtherLicenseService from '../shared/Service/OtherLicenseService';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID131;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public licenceService: LicenceService,\n    @Inject() public otherLicence: OtherLicenseService,\n    @Inject() public branchService: BranchService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public reasonService: ReasonService,\n    @Inject() private apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(CrewEuIssuanceSteps);\n    this.personService.init();\n    this.licenceService.init();\n    this.branchService.init();\n    this.attachmentsService.init();\n    this.otherLicence.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n    this.reasonService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.licenceService.reset();\n    this.branchService.reset();\n    this.attachmentsService.reset();\n    this.otherLicence.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.reasonService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover131> = {\n      LicenceId: this.licenceService.selectedLicence.licenceId,\n      ReasonId: this.reasonService.selectedReason.reasonId,\n      RelationId: this.formDataService.formData.relationId,\n      ReleasePlaceId: Number.parseInt(this.branchService.selectedBranch.branchId),\n      Person: this.personService.person.requestPersonString,\n      ContactAddress: JSON.stringify(this.personService.person.contactAddress),\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    // POST request\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover131(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[translate('steps.step-one'), translate('steps.step-two')]}\n      navToForm={navNextStep}\n      navBack={navBack}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    />\n  );\n});\n\nexport default IntroView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(\n        err,\n        'ship - DuplicateVesselCertificate IntroViewModel',\n        'navNextStep - applicationService.init'\n      );\n      this.handleError(err);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.duplicate-vessel-certificate.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport { ApiError } from '../../../../../data/sps/api';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('duplicate-vessel-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      if (this.applicationService.formDataService.formData.personType === 'FO') {\n        await Promise.all([\n          this.applicationService.personService.getPerson(),\n          this.applicationService.personService.getCitizenships(),\n        ]);\n      } else {\n        await this.applicationService.personService.getPerson();\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - DuplicateVesselCertificate PersonalInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.duplicate-vessel-certificate.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type RequestViewModel from './RequestViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport BranchSelection from '../../shared/Application/BranchSelection';\nimport PickupSelection from '../../shared/Application/PickupSelection';\nimport ReasonSelection from '../../shared/Application/ReasonSelection';\nimport BoatSelection from '../../shared/Application/BoatSelection';\n\nconst RequestView: View<RequestViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <BoatSelection\n        title={translate('ship-selection')}\n        boatsService={applicationService.boatsService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      <ReasonSelection\n        title={translate('reason-selection')}\n        reasonService={applicationService.reasonService}\n        isBusy={activateBusyWatcher.isBusy}\n        className=\"mt-5\"\n      />\n\n      {/* BRANCH SELECTION */}\n      <BranchSelection\n        title={translate('branch-selection')}\n        branchService={applicationService.branchService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      <PickupSelection\n        title={translate('pickup-selection')}\n        pickupService={applicationService.pickupDocumentsService}\n        isBusy={activateBusyWatcher.isBusy}\n        className=\"mt-5\"\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default RequestView;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestView from './RequestView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryViewModel from '../03_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestView)\n@Service()\nexport default class RequestViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'extradition-request';\n  }\n\n  get title(): string {\n    return this.generalTranslate('duplicate-vessel-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequestViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.reasonService.getReasons(),\n        this.applicationService.branchService.getBranches(),\n        this.applicationService.pickupDocumentsService.getPickupDocuments(),\n        this.applicationService.boatsService.getBoats(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - DuplicateVesselCertificate RequestViewModel',\n        'activate - applicationService.init, applicationService.reasonService.getReasons, applicationService.branchService.getBranches, applicationService.pickupDocumentsService.getPickupDocuments, applicationService.boatsService.getBoats'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @Watch<RequestViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [\n      this.applicationService.branchService.validate(),\n      this.applicationService.pickupDocumentsService.validate(),\n      this.applicationService.boatsService.validate(),\n      this.applicationService.reasonService.validate(),\n    ];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.pickupDocumentsService.saveToSessionStorage();\n      this.applicationService.boatsService.saveToSessionStorage();\n      this.applicationService.reasonService.saveToSessionStorage();\n\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.duplicate-vessel-certificate.extradition-request', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\ntype SelectedReasonProps = {\n  reason: string;\n  generalTranslate: Translator;\n};\n\nconst SelectedReason = observer(({ reason, generalTranslate }: SelectedReasonProps) => {\n  return (\n    <Typography>\n      {generalTranslate('summary.selectedReason')}:&#32;\n      <b>{reason}</b>\n    </Typography>\n  );\n});\n\nexport default SelectedReason;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport SummaryViewModel from './SummaryViewModel';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport SelectedBranch from '../../shared/Application/Summary/SelectedBranch';\nimport SelectedBoat from '../../shared/Application/Summary/SelectedBoat';\nimport SelectedPickup from '../../shared/Application/Summary/SelectedPickup';\nimport SelectedReason from '../../shared/Application/Summary/SelectedReason';\nimport PersonalOrCompanyInfoSummary from '../../shared/Application/Summary/PersonalOrCompanyInfoSummary';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n      zeroPayment={applicationService.zeroPayment}\n    >\n      <PersonalOrCompanyInfoSummary\n        personService={applicationService.personService}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.BoatsTitle')}>\n        <SelectedBoat boat={applicationService.boatsService.selectedBoat} />\n\n        <SelectedReason\n          reason={applicationService.reasonService.selectedReason.reason}\n          generalTranslate={generalTranslate}\n        />\n\n        <SelectedBranch\n          branch={applicationService.branchService.selectedBranch.branch}\n          generalTranslate={generalTranslate}\n        />\n\n        <SelectedPickup\n          pickup={applicationService.pickupDocumentsService.selectedPickup.pickup}\n          infoText={generalTranslate('summary.selectedPickup')}\n        />\n      </SummarySection>\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport SummaryView from './SummaryView';\n//import ConfirmationViewModel from '../05_Confirmation/ConfirmationViewModel';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport ConfirmationViewModel from '../04_Confirmation/ConfirmationViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('duplicate-vessel-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - DuplicateVesselCertificate SummaryViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.boatsService.validate() || !this.applicationService.pickupDocumentsService.validate()) {\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.applicationService.postForm();\n\n      await this.applicationService.paymentService.postPaymentStatus(false, false);\n\n      this.navigator(ConfirmationViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - DuplicateVesselCertificate SummaryViewModel',\n        'navNext - applicationService.postForm, applicationService.paymentService.postPaymentStatus'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.swimming-book.summary', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport ConfirmationBoat from '../../shared/ConfirmationPage/ConfirmationBoat';\nimport ConfirmationPickupAndBranch from '../../shared/ConfirmationPage/ConfirmationPickupAndBranch';\nimport CertificateReturn from '../../shared/ConfirmationPage/CertificateReturn';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { applicationService, downloadPdf, downloadZip, downloadPdfBusyWatcher, downloadZipBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      hasAttachmentToDownload={false}\n    >\n      <ConfirmationBoat\n        actionText={generalTranslate('confirmation.boatCertificate')}\n        generalTranslate={generalTranslate}\n        boat={applicationService.boatsService.selectedBoat}\n      />\n      <ConfirmationPickupAndBranch\n        generalTranslate={generalTranslate}\n        pickupId={applicationService.pickupDocumentsService.selectedPickup.pickupId}\n        branch={applicationService.branchService.selectedBranch.branch}\n        itemText={generalTranslate('duplicate-vessel-certificate.confirmation.itemText')}\n      />\n      <CertificateReturn generalTranslate={generalTranslate} />\n\n      <ChangeNotification generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('duplicate-vessel-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - DuplicateVesselCertificate ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.swimming-book.confirmation', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const DuplicateVesselCertificateSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'personal-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'Vessel and reason',\n  },\n  {\n    stepNumber: 3,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport FormDataService from '../shared/Service/FormDataService';\nimport PersonService from '../shared/Service/PersonService';\nimport BranchService from '../shared/Service/BranchService';\nimport PickupDocumentsService from '../shared/Service/PickupDocumentsService';\nimport { DuplicateVesselCertificateSteps } from './DuplicateVesselCertificateStepsData';\nimport StepsService from '../shared/Service/StepsService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport ValidationService from '../shared/Service/ValidationService';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport ReasonService from '../shared/Service/ReasonService';\nimport BoatsService from '../shared/Service/BoatService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID291;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public pickupDocumentsService: PickupDocumentsService,\n    @Inject() public reasonService: ReasonService,\n    @Inject() public branchService: BranchService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public boatsService: BoatsService,\n    @Inject() public apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(DuplicateVesselCertificateSteps);\n    this.personService.init();\n    this.pickupDocumentsService.init();\n    this.reasonService.init();\n    this.branchService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n    this.boatsService.init();\n\n    this.zeroPayment = true;\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.pickupDocumentsService.reset();\n    this.reasonService.reset();\n    this.branchService.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.boatsService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover291> = {\n      RelationId: this.formDataService.formData.relationId,\n      BoatId: this.boatsService.selectedBoat.boatId,\n      ReleaseReasonId: this.reasonService.selectedReason.reasonId,\n      ReleasePlaceId: Number(this.branchService.selectedBranch.branchId),\n      PickupId: this.pickupDocumentsService.selectedPickup.pickupId,\n      Person: this.personService.getPersonString,\n      Firma: this.personService.getCompanyString,\n      ContactAddress: this.personService.getEntityContactString,\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover291(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[\n        translate('steps.step-one'),\n        translate('steps.step-two'),\n        translate('steps.step-three'),\n        translate('steps.step-four'),\n      ]}\n      navToForm={navNextStep}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      navBack={navBack}\n    />\n  );\n});\n\nexport default IntroView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonInfoViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - ExamCertificate IntroViewModel', 'navNextStep - applicationService.init');\n      this.handleError(e);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.exam-certificate.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport PersonInfoViewModel from './PersonInfoViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonInfoView: View<PersonInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonInfoView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport PersonInfoView from './PersonInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestInfoViewModel from '../02_RequestInfo/RequestInfoViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonInfoView)\n@Service()\nexport default class PersonInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'person-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExamCertificate PersonInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestInfoViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.exam-certificate.person-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport RequestInfoViewModel from './RequestInfoViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport BranchSelection from '../../shared/Application/BranchSelection';\nimport ReasonSelection from '../../shared/Application/ReasonSelection';\nimport './RequestInfo.scss';\n\nconst RequestInfoView: View<RequestInfoViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    translate,\n    generalTranslate,\n    activateBusyWatcher,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <div className=\"request-info-wrap\">\n        {/* REASON SELECTION */}\n        <ReasonSelection\n          title={translate('reason-selection')}\n          reasonService={applicationService.reasonService}\n          isBusy={activateBusyWatcher.isBusy}\n        />\n\n        {/* BRANCH SELECTION */}\n        <BranchSelection\n          title={translate('branch-selection')}\n          branchService={applicationService.branchService}\n          isBusy={activateBusyWatcher.isBusy}\n        />\n      </div>\n    </ApplicationStep>\n  );\n});\n\nexport default RequestInfoView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestInfoView from './RequestInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestInfoView)\n@Service()\nexport default class RequestInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'request-info';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequestInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.branchService.getBranches(),\n        this.applicationService.reasonService.getReasons(),\n        this.applicationService.reasonService.getAdditionalDescriptions(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExamCertificate RequestInfoViewModel',\n        'activate - applicationService.init, applicationService.branchService.getBranches, applicationService.reasonService.getReasons, applicationService.reasonService.getAdditionalDescriptions'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonInfoViewModel).go();\n  }\n\n  @Watch<RequestInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [this.applicationService.branchService.validate(), this.applicationService.reasonService.validate()];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.reasonService.saveToSessionStorage();\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.exam-certificate.request-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n        title={generalTranslate('requiredAttachments')}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport AttachmentsView from './AttachmentsView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport RequestInfoViewModel from '../02_RequestInfo/RequestInfoViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ExamDateViewModel from '../04_ExamDate/ExamDateViewModel';\nimport SummaryViewModel from '../05_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequiredAttachments({\n        requestReasonId: this.applicationService.reasonService.selectedReason.reasonId,\n      });\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExamCertificate AttachmentsViewModel',\n        'activate - applicationService.init, applicationService.attachmentsService.getRequiredAttachments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestInfoViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n\n      // exam step is displayed only for reasons 1, 3 and 7\n      if (this.applicationService.examService.isExamRequired(this.applicationService.reasonService.selectedReason.reasonId)) {\n        this.navigator(ExamDateViewModel).go();\n      } else {\n        this.navigator(SummaryViewModel).go();\n      }\n    }\n  }\n\n  translate = translate('ship.certificates.exam-certificate.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ExamDateViewModel from './ExamDateViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport ExamSelection from '../../shared/Application/ExamSelection';\n\nconst ExamDateView: View<ExamDateViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || !!applicationService.examService.dateError}\n    >\n      <ExamSelection\n        examService={applicationService.examService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default ExamDateView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ExamDateView from './ExamDateView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryViewModel from '../05_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ExamDateView)\n@Service()\nexport default class ExamDateViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'exam-date';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ExamDateViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<ExamDateViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([this.applicationService.examService.getPlaces(), this.applicationService.examService.getRestrictions()]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExamCertificate ExamDateViewModel',\n        'activate - applicationService.init, applicationService.examService.getPlaces, applicationService.examService.getRestrictions'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<ExamDateViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.examService.validate()) {\n      this.applicationService.examService.saveToSessionStorage();\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.exam-certificate.exam-date', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\ntype ExamBranchNoteProps = {\n  generalTranslate: Translator;\n};\n\nconst ExamBranchNote = observer(({ generalTranslate }: ExamBranchNoteProps) => {\n  return <Typography className=\"fst-italic\">{generalTranslate('summary.examBranchNote')}</Typography>;\n});\n\nexport default ExamBranchNote;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SummaryViewModel from './SummaryViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonalInfoSummary from '../../shared/Application/Summary/PersonalInfoSummary';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport ExamSummary from '../../shared/Application/Summary/ExamSummary';\nimport PaymentInfoBox from '../../shared/Application/Summary/PaymentInfoBox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport ReasonSummary from '../../shared/Application/Summary/ReasonSummary';\nimport SelectedBranch from '../../shared/Application/Summary/SelectedBranch';\nimport ExamBranchNote from '../../shared/Application/Summary/ExamBranchNote';\nimport RelatedLicenses from '../../shared/Application/Summary/RelatedLicenses';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n    >\n      <PersonalInfoSummary\n        person={applicationService.personService.person}\n        citizenShip={applicationService.personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.requestInfoTitle')}>\n        <ReasonSummary reason={applicationService.reasonService.selectedReason.reason} generalTranslate={generalTranslate} />\n        <SelectedBranch branch={applicationService.branchService.selectedBranch.branch} generalTranslate={generalTranslate} />\n        {applicationService.examService.isExamRequired(applicationService.reasonService.selectedReason.reasonId) && (\n          <ExamBranchNote generalTranslate={generalTranslate} />\n        )}\n      </SummarySection>\n\n      <ExamSummary\n        examService={applicationService.examService}\n        isExamRequired={applicationService.examService.isExamRequired(applicationService.reasonService.selectedReason.reasonId)}\n        generalTranslate={generalTranslate}\n      />\n\n      <div className=\"mb-5\">\n        <RelatedLicenses\n          newLicenses={applicationService.otherLicenseService.newOtherLicenses}\n          generalTranslate={generalTranslate}\n          isBusy={activateBusyWatcher.isBusy}\n        />\n      </div>\n\n      <AttachmentsSummary files={applicationService.attachmentsService.files} generalTranslate={generalTranslate} />\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n\n      <PaymentInfoBox\n        amount={applicationService.paymentService.payment.amount}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport SummaryView from './SummaryView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ExamDateViewModel from '../04_ExamDate/ExamDateViewModel';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport RedirectConfirmationViewModel from '../../Confirmation/ConfirmationViewModel';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exam-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.otherLicenseService.getOtherPersonLicenses(\n          this.applicationService.reasonService.selectedReason.reasonId\n        ),\n        this.applicationService.paymentService.getPayment(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExamCertificate SummaryViewModel',\n        'activate - applicationService.init, applicationService.otherLicenseService.getOtherPersonLicenses, applicationService.paymentService.getPayment'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    // exam displayed only for reasons 1, 3 and 7\n    if (this.applicationService.examService.isExamRequired(this.applicationService.reasonService.selectedReason.reasonId)) {\n      this.navigator(ExamDateViewModel).go();\n    } else {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.otherLicenseService.saveToSessionStorage();\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.applicationService.postForm();\n\n      // redirect to CSOB if no error\n      window.location.replace(this.applicationService.paymentService.payment.url);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExamCertificate SummaryViewModel',\n        'navNext - authService.refreshCurrentToken, applicationService.postForm'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.exam-certificate.summary', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const ExamCertificateSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'person-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'request-info',\n  },\n  {\n    stepNumber: 3,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 4,\n    title: 'exam-date',\n  },\n  {\n    stepNumber: 5,\n    title: 'summary',\n  },\n];\n","import { Inject, Service } from 'typedi';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport ValidationService from '../shared/Service/ValidationService';\nimport FormDataService from '../shared/Service/FormDataService';\nimport StepsService from '../shared/Service/StepsService';\nimport { ExamCertificateSteps } from './ExamCertificateStepsData';\nimport PersonService from '../shared/Service/PersonService';\nimport BranchService from '../shared/Service/BranchService';\nimport ReasonService from '../shared/Service/ReasonService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport ExamService from '../shared/Service/ExamService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport { Domain_Contracts_Enums_SpsServiceId } from '../../../../data/sps/api';\nimport ApiService from '../../../../services/ApiService';\nimport OtherLicenseService from '../shared/Service/OtherLicenseService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\nimport SessionService from 'src/services/SessionService';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID121;\n  @observable protected initialized = false;\n\n  @computed\n  get branchName() {\n    const responseBranchName = this.sessionService.getString('sps121ResponseBranchName');\n    return responseBranchName.length > 0 ? responseBranchName : this.branchService.selectedBranch.branch;\n  }\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public reasonService: ReasonService,\n    @Inject() public branchService: BranchService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public examService: ExamService,\n    @Inject() public otherLicenseService: OtherLicenseService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public apiService: ApiService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(ExamCertificateSteps);\n    this.personService.init();\n    this.reasonService.init();\n    this.branchService.init();\n    this.attachmentsService.init();\n    this.examService.init();\n    this.otherLicenseService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.reasonService.reset();\n    this.branchService.reset();\n    this.attachmentsService.reset();\n    this.examService.reset();\n    this.otherLicenseService.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.sessionService.remove('sps121ResponseBranchName');\n    this.initialized = false;\n  }\n\n  async postForm() {\n    let requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover121> = {\n      RelationId: this.formDataService.formData.relationId,\n      Person: this.personService.person.requestPersonString,\n      ContactAddress: JSON.stringify(this.personService.person.contactAddress),\n      ReleasePlaceId: Number(this.branchService.selectedBranch.branchId),\n      RequestReasonId: this.reasonService.selectedReason.reasonId,\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    // exam required only for reasons 1, 3 and 7\n    if (this.examService.isExamRequired(this.reasonService.selectedReason.reasonId)) {\n      requestBody = {\n        ...requestBody,\n        ExamId: this.examService.exam.dateId,\n        ExamPlaceId: this.examService.exam.placeId,\n        RestrictionId: this.examService.exam.restrictionId,\n        RestrictionNote: this.examService.exam.note === '' ? undefined : this.examService.exam.note,\n      };\n    }\n\n    // POST request\n    const response = await this.apiService.spsApi.sps.postPdApiSps2V2Handover121(requestBody);\n    if (response.branchName) {\n      this.sessionService.set('sps121ResponseBranchName', response.branchName);\n    }\n    return response;\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[translate('steps.step-one'), translate('steps.step-two')]}\n      navToForm={navNextStep}\n      navBack={navBack}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    />\n  );\n});\n\nexport default IntroView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(\n        err,\n        'ship - ExchangeOldForNewCertificate IntroViewModel',\n        'navNextStep - applicationService.init'\n      );\n      this.handleError(err);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport { ApiError } from '../../../../../data/sps/api';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exchange-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeOldForNewCertificate PersonalInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type RequestViewModel from './RequestViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport LicenceSelection from '../../shared/Application/LicenceSelection';\nimport BranchSelection from '../../shared/Application/BranchSelection';\n\nconst RequestView: View<RequestViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      {/* LICENCE SELECTION */}\n      <LicenceSelection\n        title={translate('licence-selection')}\n        licenceService={applicationService.licenceService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      {/* BRANCH SELECTION */}\n      <BranchSelection\n        title={translate('branch-selection')}\n        branchService={applicationService.branchService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default RequestView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestView from './RequestView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestView)\n@Service()\nexport default class RequestViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'extradition-request';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exchange-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequestViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.licenceService.getPersonLicences(),\n        this.applicationService.branchService.getBranches(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeOldForNewCertificate RequestViewModel',\n        'activate - applicationService.init, applicationService.licenceService.getPersonLicences, applicationService.branchService.getBranches'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @Watch<RequestViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [this.applicationService.branchService.validate(), this.applicationService.licenceService.validate()];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.licenceService.saveToSessionStorage();\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.extradition-request', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        title={generalTranslate('requiredAttachments')}\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport SummaryViewModel from '../04_Summary/SummaryViewModel';\nimport AttachmentsView from './AttachmentsView';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exchange-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequiredAttachments();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeOldForNewCertificate AttachmentsViewModel',\n        'activate - applicationService.init, applicationService.attachmentsService.getRequiredAttachments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport SummaryViewModel from './SummaryViewModel';\nimport PersonalInfoSummary from '../../shared/Application/Summary/PersonalInfoSummary';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport SelectedLicence from '../../shared/Application/Summary/SelectedLicence';\nimport RelatedLicenses from '../../shared/Application/Summary/RelatedLicenses';\nimport SelectedBranch from '../../shared/Application/Summary/SelectedBranch';\nimport PaymentInfo from '../../shared/Application/Summary/PaymentInfo';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n      zeroPayment={applicationService.zeroPayment}\n    >\n      <PersonalInfoSummary\n        person={applicationService.personService.person}\n        citizenShip={applicationService.personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.licencesTitle')}>\n        <SelectedLicence\n          licence={applicationService.licenceService.selectedLicence.licence}\n          title={generalTranslate('summary.current-licence')}\n        />\n\n        <RelatedLicenses\n          generalTranslate={generalTranslate}\n          newLicenses={applicationService.otherLicenseService.newOtherLicenses}\n          isBusy={activateBusyWatcher.isBusy}\n        />\n\n        <SelectedBranch branch={applicationService.branchService.selectedBranch.branch} generalTranslate={generalTranslate} />\n\n        <PaymentInfo amount={applicationService.paymentService.payment.amount} generalTranslate={generalTranslate} />\n      </SummarySection>\n\n      <AttachmentsSummary files={applicationService.attachmentsService.files} generalTranslate={generalTranslate} />\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport SummaryView from './SummaryView';\nimport ConfirmationViewModel from '../05_Confirmation/ConfirmationViewModel';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exchange-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.otherLicenseService.getOtherPersonLicenses();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeOldForNewCertificate SummaryViewModel',\n        'activate - applicationService.init, applicationService.otherLicenseService.getOtherPersonLicenses'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.otherLicenseService.saveToSessionStorage();\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.applicationService.postForm();\n\n      await this.applicationService.paymentService.postPaymentStatus(false, false);\n\n      this.navigator(ConfirmationViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeOldForNewCertificate SummaryViewModel',\n        'navNext - applicationService.postForm, applicationService.paymentService.postPaymentStatus'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.summary', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\nimport RelatedLicenses from '../../shared/Application/Summary/RelatedLicenses';\nimport ConfirmedBranch from '../../shared/ConfirmationPage/ConfirmedBranch';\nimport ApplicationStatusLink from '../../shared/ConfirmationPage/ApplicationStatusLink';\nimport OldLicenses from '../../shared/ConfirmationPage/OldLicences';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { applicationService, downloadPdf, downloadPdfBusyWatcher, downloadZip, downloadZipBusyWatcher, generalTranslate } = vm;\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber ?? ''}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <RelatedLicenses\n        newLicenses={applicationService.otherLicenseService.newOtherLicenses}\n        generalTranslate={generalTranslate}\n      />\n\n      <ConfirmedBranch branch={applicationService.branchService.selectedBranch.branch} generalTranslate={generalTranslate} />\n\n      <ApplicationStatusLink generalTranslate={generalTranslate} />\n\n      <OldLicenses generalTranslate={generalTranslate} oldLicense={vm.applicationService.otherLicenseService.oldOtherLicenses} />\n\n      <ChangeNotification generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('exchange-certificate.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeOldForNewCertificate ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.exchange-certificate.confirmation', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const ExchangeCertificateSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'personal-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'extradition-request',\n  },\n  {\n    stepNumber: 3,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 4,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport FormDataService from '../shared/Service/FormDataService';\nimport PersonService from '../shared/Service/PersonService';\nimport BranchService from '../shared/Service/BranchService';\nimport LicenceService from '../shared/Service/LicenceService';\nimport { ExchangeCertificateSteps } from './ExchangeCertificateStepsData';\nimport StepsService from '../shared/Service/StepsService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport ValidationService from '../shared/Service/ValidationService';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport OtherLicenseService from '../shared/Service/OtherLicenseService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID122;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public licenceService: LicenceService,\n    @Inject() public otherLicenseService: OtherLicenseService,\n    @Inject() public branchService: BranchService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(ExchangeCertificateSteps);\n    this.personService.init();\n    this.licenceService.init();\n    this.otherLicenseService.init();\n    this.branchService.init();\n    this.attachmentsService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n\n    this.zeroPayment = true;\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.licenceService.reset();\n    this.otherLicenseService.reset();\n    this.branchService.reset();\n    this.attachmentsService.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover122> = {\n      RelationId: this.formDataService.formData.relationId,\n      LicenceId: this.licenceService.selectedLicence.licenceId,\n      ReleasePlaceId: Number.parseInt(this.branchService.selectedBranch.branchId),\n      Person: this.personService.person.requestPersonString,\n      ContactAddress: JSON.stringify(this.personService.person.contactAddress),\n      // obsolete: no ids needed, but property is required\n      OtherLicences: JSON.stringify(['00000000-0000-0000-0000-000000000000']),\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    // POST request\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover122(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      description2={translate('description2')}\n      steps={[\n        translate('steps.step-one'),\n        translate('steps.step-two'),\n        translate('steps.step-three'),\n        translate('steps.step-four'),\n      ]}\n      navToForm={navNextStep}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      navBack={navBack}\n    />\n  );\n});\n\nexport default IntroView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  activate() {}\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(err, 'ship - RemovalFromRegistry IntroViewModel', 'navNextStep - applicationService.init');\n      this.handleError(err);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.swimming-book.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('swimming-book.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeSwimmingBook PersonalInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.swimming-book.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport RequestViewModel from './RequestViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport LicenceSelection from '../../shared/Application/LicenceSelection';\nimport BranchSelection from '../../shared/Application/BranchSelection';\n\nconst RequestView: View<RequestViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      {/* LICENCE SELECTION */}\n      <LicenceSelection\n        title={translate('licence-selection')}\n        licenceService={applicationService.licenceService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      {/* BRANCH SELECTION */}\n      <BranchSelection\n        title={translate('branch-selection')}\n        branchService={applicationService.branchService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default RequestView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestView from './RequestView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestView)\n@Service()\nexport default class RequestViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'extradition-request';\n  }\n\n  get title(): string {\n    return this.generalTranslate('swimming-book.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequestViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.licenceService.getPersonLicences(),\n        this.applicationService.branchService.getBranches(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeSwimmingBook RequestViewModel',\n        'activate - applicationService.init, applicationService.licenceService.getPersonLicences, applicationService.branchService.getBranches'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @Watch<RequestViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [this.applicationService.branchService.validate(), this.applicationService.licenceService.validate()];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.licenceService.saveToSessionStorage();\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.swimming-book.extradition-request', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        title={generalTranslate('requiredAttachments')}\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport SummaryViewModel from '../04_Summary/SummaryViewModel';\nimport AttachmentsView from './AttachmentsView';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('swimming-book.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequiredAttachments();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeSwimmingBook AttachmentsViewModel',\n        'activate - applicationService.init, applicationService.attachmentsService.getRequiredAttachments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.swimming-book.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport SummaryViewModel from './SummaryViewModel';\nimport PersonalInfoSummary from '../../shared/Application/Summary/PersonalInfoSummary';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport ReasonSummary from '../../shared/Application/Summary/ReasonSummary';\nimport SelectedBranch from '../../shared/Application/Summary/SelectedBranch';\nimport PaymentInfo from '../../shared/Application/Summary/PaymentInfo';\nimport RelatedLicenses from '../../shared/Application/Summary/RelatedLicenses';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n    translate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n      zeroPayment={applicationService.zeroPayment}\n    >\n      <PersonalInfoSummary\n        person={applicationService.personService.person}\n        citizenShip={applicationService.personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.requestInfoTitle')}>\n        <ReasonSummary\n          reason={`${translate('licenceSelection')}: <b>${applicationService.licenceService.selectedLicence.licence}</b>`}\n          generalTranslate={generalTranslate}\n        />\n        <RelatedLicenses\n          generalTranslate={generalTranslate}\n          newLicenses={applicationService.otherLicenseService.newOtherLicenses}\n          header={`${translate('headerText1')} ${translate('headerText2')} ${translate('headerText3')}`}\n          isBusy={activateBusyWatcher.isBusy}\n        />\n        <SelectedBranch\n          branch={applicationService.branchService.selectedBranch.branch}\n          generalTranslate={generalTranslate}\n        />\n        <PaymentInfo\n          amount={applicationService.paymentService.payment.amount}\n          generalTranslate={generalTranslate}\n        />\n      </SummarySection>\n\n      <AttachmentsSummary\n        files={applicationService.attachmentsService.files}\n        generalTranslate={generalTranslate}\n      />\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsViewModel from '../03_Attachments/AttachmentsViewModel';\nimport SummaryView from './SummaryView';\nimport ConfirmationViewModel from '../05_Confirmation/ConfirmationViewModel';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('swimming-book.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.otherLicenseService.getOtherPersonLicenses();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeSwimmingBook SummaryViewModel',\n        'activate - applicationService.init, applicationService.otherLicenseService.getOtherPersonLicenses'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.otherLicenseService.saveToSessionStorage();\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.applicationService.postForm();\n\n      await this.applicationService.paymentService.postPaymentStatus(false, false);\n\n      this.navigator(ConfirmationViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExchangeSwimmingBook SummaryViewModel',\n        'navNext - applicationService.postForm, applicationService.paymentService.postPaymentStatus'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.swimming-book.summary', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ConfirmationPage from '../../shared/ConfirmationPage/ConfirmationPage';\n//import RelatedLicenses from '../components/RelatedLicenses';\nimport RelatedLicenses from '../../shared/Application/Summary/RelatedLicenses';\nimport ConfirmedBranch from '../../shared/ConfirmationPage/ConfirmedBranch';\nimport ApplicationStatusLink from '../../shared/ConfirmationPage/ApplicationStatusLink';\nimport OldLicenses from '../../shared/ConfirmationPage/OldLicences';\nimport ChangeNotification from '../../shared/ConfirmationPage/ChangeNotification';\nimport { ReactHTMLElement, ReactNode } from 'react';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const {\n    applicationService,\n    downloadPdf,\n    downloadPdfBusyWatcher,\n    downloadZip,\n    downloadZipBusyWatcher,\n    generalTranslate,\n    translate,\n  } = vm;\n\n  const BoldText: React.FC<{ children: React.ReactNode }> = ({ children }) => <strong>{children}</strong>;\n\n  const header = (\n    <>\n      {translate('headerText1')}\n      <BoldText> {translate('headerText2')} </BoldText>\n      {translate('headerText3')}\n    </>\n  );\n\n  return (\n    <ConfirmationPage\n      applicationNumber={vm.applicationService.paymentService.payment.referenceNumber}\n      downloadPdf={downloadPdf}\n      downloadZip={downloadZip}\n      isPdfBusy={downloadPdfBusyWatcher.isBusy}\n      isZipBusy={downloadZipBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    >\n      <RelatedLicenses\n        generalTranslate={generalTranslate}\n        newLicenses={applicationService.otherLicenseService.newOtherLicenses}\n        header={header}\n      />\n      <ConfirmedBranch branch={applicationService.branchService.selectedBranch.branch} generalTranslate={generalTranslate} />\n      <ApplicationStatusLink generalTranslate={generalTranslate} />\n      <OldLicenses generalTranslate={generalTranslate} oldLicense={vm.applicationService.otherLicenseService.oldOtherLicenses} />\n      <ChangeNotification generalTranslate={generalTranslate} />\n    </ConfirmationPage>\n  );\n});\n\nexport default ConfirmationView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ConfirmationView)\n@Service()\nexport default class ConfirmationViewModel extends SpsBaseScreen {\n  @observable downloadPdfBusyWatcher = new BusyWatcher();\n  @observable downloadZipBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.generalTranslate('swimming-book.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ConfirmationViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges ConfirmationViewModel',\n        'activate - applicationService.init'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadPdfBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    await this.applicationService.downloadFileService.downloadPdf().catch((e: any) => this.handleError(e));\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadZipBusyWatcher)\n  @action.bound\n  async downloadZip() {\n    await this.applicationService.downloadFileService.downloadZip().catch((e: any) => this.handleError(e));\n  }\n\n  translate = translate('ship.certificates.swimming-book.confirmation', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const ExchangeSwimmingBookSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'personal-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'extradition-request',\n  },\n  {\n    stepNumber: 3,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 4,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport FormDataService from '../shared/Service/FormDataService';\nimport PersonService from '../shared/Service/PersonService';\nimport BranchService from '../shared/Service/BranchService';\nimport LicenceService from '../shared/Service/LicenceService';\nimport { ExchangeSwimmingBookSteps } from './ExchangeSwimmingBookSteps';\nimport StepsService from '../shared/Service/StepsService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport ValidationService from '../shared/Service/ValidationService';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport OtherLicenseService from '../shared/Service/OtherLicenseService';\nimport ReasonService from '../shared/Service/ReasonService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID132;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public licenceService: LicenceService,\n    @Inject() public branchService: BranchService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public otherLicenseService: OtherLicenseService,\n    @Inject() public reasonService: ReasonService,\n    @Inject() public apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(ExchangeSwimmingBookSteps);\n    this.personService.init();\n    this.licenceService.init();\n    this.otherLicenseService.init();\n    this.branchService.init();\n    this.attachmentsService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n    this.reasonService.init();\n\n    this.zeroPayment = true;\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.licenceService.reset();\n    this.otherLicenseService.reset();\n    this.branchService.reset();\n    this.attachmentsService.reset();\n    this.paymentService.reset();\n    this.downloadFileService.reset();\n    this.reasonService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover132> = {\n      RelationId: this.formDataService.formData.relationId,\n      LicenceId: this.licenceService.selectedLicence.licenceId,\n      ReleasePlaceId: Number.parseInt(this.branchService.selectedBranch.branchId),\n      Person: this.personService.person.requestPersonString,\n      ContactAddress: JSON.stringify(this.personService.person.contactAddress),\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover132(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[\n        translate('steps.step-one'),\n        translate('steps.step-two'),\n        translate('steps.step-three'),\n        translate('steps.step-four'),\n      ]}\n      navToForm={navNextStep}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      navBack={navBack}\n    />\n  );\n});\n\nexport default IntroView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport { action, makeObservable, observable } from 'mobx';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonInfoViewModel).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - ExtensionAndChanges IntroViewModel', 'navNextStep - applicationService.init');\n      this.handleError(e);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport PersonInfoViewModel from './PersonInfoViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonInfoView: View<PersonInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonInfoView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport PersonInfoView from './PersonInfoView';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport CertificationViewModel from '../02_ShipSelection/ShipSelectionViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonInfoView)\n@Service()\nexport default class PersonInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'person-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges PersonInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(CertificationViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.person-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport ShipSelectionViewModel from './ShipSelectionViewModel';\nimport BoatSelection from '../../shared/Application/BoatSelection';\n\nconst ShipSelectionView: View<ShipSelectionViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      {/* SHIP SELECTION */}\n      <BoatSelection\n        title={translate('title')}\n        boatsService={applicationService.boatsService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default ShipSelectionView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport PersonInfoViewModel from '../01_PersonInfo/PersonInfoViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ShipSelectionView from './ShipSelectionView';\nimport UtzDevicesViewModel from '../03_UtzDevices/UtzDevicesViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ShipSelectionView)\n@Service()\nexport default class ShipSelectionViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'ship-selection';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(ShipSelectionViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<ShipSelectionViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([this.applicationService.boatsService.getBoats()]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges ShipSelectionViewModel',\n        'activate - applicationService.init, applicationService.boatsService.getBoats'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonInfoViewModel).go();\n  }\n\n  @Watch<ShipSelectionViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validation = this.applicationService.boatsService.validate();\n    if (validation) {\n      this.applicationService.boatsService.saveToSessionStorage();\n\n      this.navigator(UtzDevicesViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.ship-selection', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport CheckboxGroup from '../../../../../components/form/CheckboxGroup/CheckboxGroup';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport BoatInfoService from '../Service/BoatInfoService';\n\ntype BoatInfoSelectionProps = {\n  cabinTitle: string;\n  devicesTitle: string;\n  boatInfoService: BoatInfoService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst BoatInfoSelection = observer(\n  ({ cabinTitle, devicesTitle, boatInfoService, isBusy, className }: BoatInfoSelectionProps) => {\n    return (\n      <>\n        <div className={getClassName('mb-5', className)}>\n          <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n            {devicesTitle}\n          </Typography>\n\n          {isBusy ? (\n            <LoaderBox type={'middle-full'} />\n          ) : (\n            <div>\n              <CheckboxGroup\n                testId=\"devices\"\n                target={boatInfoService.boatInfoModel}\n                data={boatInfoService.devicesOptions}\n                property=\"devices\"\n              />\n            </div>\n          )}\n        </div>\n        <div className={getClassName('mb-5', className)}>\n          <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n            {cabinTitle}\n          </Typography>\n\n          {isBusy ? (\n            <LoaderBox type={'middle-full'} />\n          ) : (\n            <div>\n              <CheckboxGroup\n                testId=\"cabin\"\n                target={boatInfoService.boatInfoModel}\n                data={boatInfoService.cabinOptions}\n                property=\"cabin\"\n              />\n            </div>\n          )}\n        </div>\n      </>\n    );\n  }\n);\n\nexport default BoatInfoSelection;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport UtzDevicesViewModel from './UtzDevicesViewModel';\nimport BoatInfoSelection from '../../shared/Application/BoatInfoSelection';\n\nconst UtzDevicesView: View<UtzDevicesViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <BoatInfoSelection\n        cabinTitle={translate('cabin-title')}\n        devicesTitle={translate('devices-title')}\n        boatInfoService={applicationService.boatInfoService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default UtzDevicesView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport UtzDevicesView from './UtzDevicesView';\nimport ShipSelectionViewModel from '../02_ShipSelection/ShipSelectionViewModel';\nimport TypeOfChangeViewModel from '../04_TypeOfChange/TypeOfChangeViewModel';\nimport BoatInfoService from '../../shared/Service/BoatInfoService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(UtzDevicesView)\n@Service()\nexport default class UtzDevicesViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'utz-devices';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(UtzDevicesViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<UtzDevicesViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n      await this.applicationService.boatInfoService.getBoatInfo();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges UtzDevicesViewModel',\n        'activate - applicationService.init, applicationService.boatInfoService.getBoatInfo'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipSelectionViewModel).go();\n  }\n\n  @Watch<UtzDevicesViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    //TODO: navigate to 4rd step\n    this.applicationService.boatInfoService.saveToSessionStorage();\n    this.navigator(TypeOfChangeViewModel).go();\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.utz-devices', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport PlainInput from '../../../../../components/form/PlainInput';\nimport EngineTableSelect from '../../../components/EngineTable/EngineTableSelect';\nimport { SelectOption } from '../../../../../components/form/Select/Select';\nimport EngineModel from '../Models/EngineModel';\n\ntype EngineChangesProps = {\n  engines: EngineModel[];\n  enginePurposes: SelectOption<string>[] | undefined;\n  engineChangeTypes: SelectOption<string>[] | undefined;\n  translate: Translator;\n  className?: string;\n};\n\nconst EngineChanges = observer(({ engines, translate, className, enginePurposes, engineChangeTypes }: EngineChangesProps) => {\n  return (\n    <div>\n      <div className=\"engine-table-changes\">\n        <table>\n          <thead>\n            <tr>\n              <td></td>\n              <td>{translate('engine-change-table.power')}</td>\n              <td>{translate('engine-change-table.weight')}</td>\n              <td>{translate('engine-change-table.manufacture-mark')}</td>\n              <td>{translate('engine-change-table.type-mark')}</td>\n              <td>{translate('engine-change-table.production-number')}</td>\n              <td>{translate('engine-change-table.production-year')}</td>\n              <td>{translate('engine-change-table.engine-purpose')}</td>\n              <td>{translate('engine-change-table.change-type')}</td>\n            </tr>\n          </thead>\n          <tbody>\n            {engines.map((engine) => {\n              return (\n                <tr key={engine.serialNumber}>\n                  <td>\n                    {translate('engine-change-table.engine')} {engine.serialNumber}\n                  </td>\n                  <td>\n                    <PlainInput type={'text'} maxLength={20} target={engine} property={'performance'} />\n                  </td>\n                  <td>\n                    <PlainInput type={'text'} maxLength={20} target={engine} property={'weight'} />\n                  </td>\n                  <td>\n                    <PlainInput type={'text'} maxLength={20} target={engine} property={'manufacturer'} />\n                  </td>\n                  <td>\n                    <PlainInput type={'text'} maxLength={20} target={engine} property={'identification'} />\n                  </td>\n                  <td>\n                    <PlainInput type={'text'} maxLength={20} target={engine} property={'production_number'} />\n                  </td>\n                  <td>\n                    <PlainInput type={'text'} target={engine} property={'manufacture_year'} />\n                  </td>\n                  {enginePurposes && (\n                    <td>\n                      <EngineTableSelect options={enginePurposes} target={engine} property={'purpose'} />\n                    </td>\n                  )}\n                  {engineChangeTypes && (\n                    <td>\n                      <EngineTableSelect options={engineChangeTypes} target={engine} property={'change_type'} />\n                    </td>\n                  )}\n                </tr>\n              );\n            })}\n          </tbody>\n        </table>\n      </div>\n    </div>\n  );\n});\n\nexport default EngineChanges;\n","import { observer } from 'mobx-react-lite';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport BoatChangesService from '../Service/BoatChangesService';\nimport Checkbox from '../../../../../components/form/Checkbox';\nimport { ChangeIds } from '../../../../../enums/ChangeIds';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport Textarea from '../../../../../components/form/Textarea';\nimport { trace } from 'console';\nimport EngineChanges from './EngineChanges';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport InfoPanel from '../../../../../components/shared/InfoPanel/InfoPanel';\n\ntype TypeOfChangesProps = {\n  title: string;\n  purposeTitle: string;\n  otherChangeHint: string;\n  boatChangesService: BoatChangesService;\n  isBusy: boolean;\n  translate: Translator;\n  className?: string;\n};\n\ntype OtherTextProps = {\n  otherText: string;\n};\n\nconst OtherTextComponet: React.FC<OtherTextProps> = ({ otherText }) => {\n  return otherText ? <p className=\"textarea-hint\">{otherText}</p> : null;\n};\n\nconst TypeOfChanges = observer(\n  ({\n    title,\n    purposeTitle,\n    otherChangeHint,\n    boatChangesService,\n    isBusy,\n    translate,\n    className,\n  }: TypeOfChangesProps) => {\n    return (\n      <div className={getClassName('mb-5', className)}>\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n          {title}\n        </Typography>\n        {isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <>\n            <ul className=\"gov-form-group\">\n              <li className=\"gov-form-group__item\">\n                <Checkbox\n                  label={boatChangesService.changes[ChangeIds.ENGINE_CHANGES].description}\n                  id=\"engineChanges\"\n                  target={boatChangesService.changes[ChangeIds.ENGINE_CHANGES]}\n                  property=\"checked\"\n                />\n\n                <div\n                  className={`${\n                    boatChangesService.changes[ChangeIds.ENGINE_CHANGES].checked\n                      ? 'd-block change-content'\n                      : 'd-none'\n                    }`}\n                >\n                  <EngineChanges\n                    engines={boatChangesService.changes[ChangeIds.ENGINE_CHANGES].engines}\n                    enginePurposes={boatChangesService.changes[ChangeIds.ENGINE_CHANGES].enginePurposes}\n                    engineChangeTypes={boatChangesService.changes[ChangeIds.ENGINE_CHANGES].enginesChangeType}\n                    translate={translate}\n                  />\n                </div>\n              </li>\n\n              <li className=\"gov-form-group__item\">\n                <Checkbox\n                  label={boatChangesService.changes[ChangeIds.BOAT_PURPOSE_CHANGE].description}\n                  id=\"purposeChanges\"\n                  target={boatChangesService.changes[ChangeIds.BOAT_PURPOSE_CHANGE]}\n                  property=\"checked\"\n                />\n\n                <div\n                  className={`${\n                    boatChangesService.changes[ChangeIds.BOAT_PURPOSE_CHANGE].checked\n                      ? 'd-block change-content'\n                      : 'd-none'\n                    }`}\n                >\n                  <Typography variant=\"h4\" component={'h4'} className=\"mb-3\">\n                    {purposeTitle}\n                  </Typography>\n                  <RadioGroup\n                    target={boatChangesService.changes[ChangeIds.BOAT_PURPOSE_CHANGE]}\n                    property={'selectedOptionId'}\n                    options={boatChangesService.purposesOptions}\n                    testId=\"purpose\"\n                  />\n                </div>\n              </li>\n\n              <li className=\"gov-form-group__item\">\n                <Checkbox\n                  label={boatChangesService.changes[ChangeIds.OTHER_BOAT_CHANGE].description}\n                  id=\"otherChanges\"\n                  target={boatChangesService.changes[ChangeIds.OTHER_BOAT_CHANGE]}\n                  property=\"checked\"\n                />\n\n                <div\n                  className={`${\n                    boatChangesService.changes[ChangeIds.OTHER_BOAT_CHANGE].checked\n                      ? 'd-block change-content'\n                      : 'd-none'\n                    }`}\n                >\n                  <Textarea\n                    target={boatChangesService.changes[ChangeIds.OTHER_BOAT_CHANGE]}\n                    thin\n                    property=\"textValue\"\n                  />\n                  {boatChangesService.otherChangesText.length > 0 &&\n                    boatChangesService.otherChangesText.map((hintText, i) => (\n                      <div key={i}>\n                        <OtherTextComponet otherText={hintText} />\n                      </div>\n                    ))}\n                </div>\n              </li>\n            </ul>\n            {boatChangesService.showEngineError &&\n              boatChangesService.changes[ChangeIds.ENGINE_CHANGES].checked === true && (\n                <InfoPanel message={translate('engine-error')} type=\"error\" />\n              )}\n          </>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default TypeOfChanges;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport TypeOfChangeViewModel from './TypeOfChangeViewModel';\nimport TypeOfChanges from '../../shared/Application/TypeOfChanges';\n\nconst TypeOfChangeView: View<TypeOfChangeViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={applicationService.boatChangesService.isNextStepInValid}\n    >\n      <TypeOfChanges\n        title={translate('sub-title')}\n        boatChangesService={applicationService.boatChangesService}\n        isBusy={activateBusyWatcher.isBusy}\n        purposeTitle={translate('purpose-title')}\n        otherChangeHint={translate('other-change-hint')}\n        translate={translate}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default TypeOfChangeView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport TypeOfChangeView from './TypeOfChangeView';\nimport AttachmentsViewModel from '../05_Attachments/AttachmentsViewModel';\nimport UtzDevicesViewModel from '../03_UtzDevices/UtzDevicesViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(TypeOfChangeView)\n@Service()\nexport default class TypeOfChangeViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'type-of-change';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(TypeOfChangeViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<TypeOfChangeViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.boatChangesService.getBoatChanges(),\n        this.applicationService.boatChangesService.getBoatEngines(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges TypeOfChangeViewModel',\n        'activate - applicationService.init, applicationService.boatChangesService.getBoatChanges, applicationService.boatChangesService.getBoatEngines'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(UtzDevicesViewModel).go();\n  }\n\n  @Watch<TypeOfChangeViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validation = this.applicationService.boatChangesService.validate();\n\n    if (validation) {\n      this.applicationService.boatChangesService.saveToSessionStorage();\n\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.type-of-change', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        title={generalTranslate('requiredAttachments')}\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsView from './AttachmentsView';\nimport TechnicalInspectionViewModel from '../06_TechnicalInspection/TechnicalInspectionViewModel';\nimport { ChangeIds } from '../../../../../enums/ChangeIds';\nimport TypeOfChangeViewModel from '../04_TypeOfChange/TypeOfChangeViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(5);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.attachmentsService.getRequestedAttachments({\n        deviceIds: this.applicationService.boatInfoService.boatInfoModel.devices,\n        changes: this.applicationService.boatChangesService.changes.toChangesArray(),\n        engines: this.applicationService.boatChangesService.changes[ChangeIds.ENGINE_CHANGES].checked\n          ? this.applicationService.boatChangesService.changes.toEnginesArray()\n          : null,\n      });\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges AttachmentsViewModel',\n        'activate - applicationService.init, applicationService.attachmentsService.getRequestedAttachments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(TypeOfChangeViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n      this.navigator(TechnicalInspectionViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport './TechnicalInspectionSelection.scss';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport BoatInspectionService from '../Service/BoatInspectionService';\nimport CheckboxGroup from '../../../../../components/form/CheckboxGroup/CheckboxGroup';\nimport Input from '../../../../../components/form/Input';\n\ntype TechnicalInspectionProps = {\n  title: string;\n  boatInspectionService: BoatInspectionService;\n  isBusy: boolean;\n  translate: Translator;\n  className?: string;\n};\n\nconst TechnicalInspectionSelection = observer(\n  ({ title, boatInspectionService, isBusy, translate, className }: TechnicalInspectionProps) => {\n    return (\n      <div className={getClassName('technical-inspection mb-5', className)}>\n        <Typography variant=\"h3\" component={'h3'} className=\"mb-4\">\n          {translate('title')}\n        </Typography>\n        <Typography>\n          {translate('info-text')} <br />\n          <br />\n          <a data-testid=\"info-text-link\" href={translate('info-text-link')}>\n            {translate('info-text-link')}\n          </a>\n        </Typography>\n\n        {isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <>\n            <Typography variant=\"h4\" component={'h3'} className=\"mt-4 mb-2\">\n              {translate('code-of-inspection-title')}\n            </Typography>\n\n            <Input\n              target={boatInspectionService.boatInspectionModel}\n              property=\"pin\"\n              type=\"number\"\n              //label={translate('code-of-inspection-more')}\n              label={''}\n              placeholder={'code-of-inspection-more'}\n              maxLength={4}\n              min={4}\n              disabled={boatInspectionService.boatInspectionModel.checkbox.length > 0}\n            />\n\n            <CheckboxGroup\n              testId=\"technical-inspection\"\n              target={boatInspectionService.boatInspectionModel}\n              data={boatInspectionService.inspectionOptions}\n              property=\"checkbox\"\n            />\n          </>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default TechnicalInspectionSelection;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport TechnicalInspectionViewModel from './TechnicalInspectionViewModel';\nimport TechnicalInspectionSelection from '../../shared/Application/TechnicalInspectionSelection';\n\nconst TechnicalInspectionView: View<TechnicalInspectionViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={applicationService.boatInspectionService.isNextStepInValid}\n    >\n      <TechnicalInspectionSelection\n        title={translate('title')}\n        boatInspectionService={applicationService.boatInspectionService}\n        isBusy={activateBusyWatcher.isBusy}\n        translate={translate}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default TechnicalInspectionView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport TechnicalInspectionView from './TechnicalInspectionView';\nimport LicensePickupViewModel from '../07_LicensePickup/LicensePickupViewModel';\nimport AttachmentsViewModel from '../05_Attachments/AttachmentsViewModel';\nimport type { Sps_WebApi_Models_Responses_BoatInspectionCheckResponse } from '../../../../../data/sps/api';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(TechnicalInspectionView)\n@Service()\nexport default class TechnicalInspectionViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable pinIsValid: Sps_WebApi_Models_Responses_BoatInspectionCheckResponse = {};\n\n  get pathNode(): string {\n    return 'technical-inspection';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(TechnicalInspectionViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(6);\n  }\n\n  @Watch<TechnicalInspectionViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n      await this.applicationService.boatInspectionService.getBoatInspection();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges TechnicalInspectionViewModel',\n        'activate - applicationService.init, applicationService.boatInspectionService.getBoatInspection'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<TechnicalInspectionViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    try {\n      const validation = this.applicationService.boatInspectionService.validate();\n\n      if (validation) {\n        this.pinIsValid = await this.applicationService.boatInspectionService.validatePin();\n\n        if (this.pinIsValid.validation?.status === false) {\n          throw new Error('Invalid PIN');\n        }\n\n        this.applicationService.boatInspectionService.saveToSessionStorage();\n        this.navigator(LicensePickupViewModel).go();\n      }\n    } catch (e: any) {\n      if (this.pinIsValid.validation?.description) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ExtensionAndChanges TechnicalInspectionViewModel',\n          'navNext - applicationService.boatInspectionService.validatePin, this.pinIsValid.validation.description'\n        );\n        this.handleError(e, true, this.pinIsValid.validation.description);\n      } else {\n        this.errorService.logCatchError(\n          e,\n          'ship - ExtensionAndChanges TechnicalInspectionViewModel',\n          'navNext - applicationService.boatInspectionService.validatePin, no description'\n        );\n        this.handleError(e, false);\n      }\n    }\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.technical-inspection', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type LicensePickupViewModel from './LicensePickupViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PickupSelection from '../../shared/Application/PickupSelection';\n\nconst LicensePickupView: View<LicensePickupViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PickupSelection\n        title={translate('pickup-selection')}\n        pickupService={applicationService.pickupDocumentsService}\n        isBusy={activateBusyWatcher.isBusy}\n        className=\"mt-5\"\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default LicensePickupView;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LicensePickupView from './LicensePickupView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\n\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport TechnicalInspectionViewModel from '../06_TechnicalInspection/TechnicalInspectionViewModel';\nimport SummaryViewModel from '../08_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(LicensePickupView)\n@Service()\nexport default class LicensePickupViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'license-pickup';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(LicensePickupViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(7);\n  }\n\n  @Watch<LicensePickupViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.pickupDocumentsService.getPickupDocuments();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges LicensePickupViewModel',\n        'activate - applicationService.init, applicationService.pickupDocumentsService.getPickupDocuments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(TechnicalInspectionViewModel).go();\n  }\n\n  @Watch<LicensePickupViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    //TODO next step\n    this.applicationService.pickupDocumentsService.saveToSessionStorage();\n    this.navigator(SummaryViewModel).go();\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.license-pickup', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\nimport BoatChangesService from '../../Service/BoatChangesService';\n\nimport { ChangeIds } from '../../../../../../enums/ChangeIds';\nimport EngineModel from '../../Models/EngineModel';\nimport { EngineChangeTypes } from '../../../../../../enums/EngineChangeTypes';\nimport { SelectOption } from '../../../../../../components/form/Select/Select';\n\ntype EngineChangesSummaryProps = {\n  engineChanges: EngineModel[];\n  enginePurposes: SelectOption<string>[] | undefined;\n  enginesChangeType: SelectOption<string>[] | undefined;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst EngineChangesSummary = observer(\n  ({ engineChanges, enginePurposes, enginesChangeType, generalTranslate, className }: EngineChangesSummaryProps) => {\n    const enginePurposesWithIdAndDescription = enginePurposes as Array<\n      SelectOption<string> & { id: string; description: string }\n    >;\n    const engineChangeTypeWithIdAndDescription = enginesChangeType as Array<\n      SelectOption<string> & { id: string; description: string }\n    >;\n\n    const engineRow: EngineModel[] = [];\n    engineChanges.forEach((engine) => {\n      const changeType = engine.change_type;\n\n      if (engine.performance !== '' || engine.identification !== '' || engine.production_number !== '') {\n        if (changeType === '') engine.change_type = EngineChangeTypes.UNCHANGED_ENGINE;\n        engineRow.push(engine);\n      }\n    });\n\n    return (\n      <>\n        <Typography variant=\"h4\" component={'h3'} className=\"mt-5 mb-2\">\n          <b>{generalTranslate('summary.type-of-change.engine-change.title')}</b>\n        </Typography>\n\n        <div className=\"engine-table-changes\">\n          <table>\n            <thead>\n              <tr>\n                <td></td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.power')}</td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.weight')}</td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.manufacture-mark')}</td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.type-mark')}</td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.production-number')}</td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.production-year')}</td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.engine-purpose')}</td>\n                <td>{generalTranslate('summary.type-of-change.engine-change.change-type')}</td>\n              </tr>\n            </thead>\n            <tbody>\n              {engineRow.map((engine) => {\n                const enginePurpose = enginePurposesWithIdAndDescription.find((purpose) => purpose.id === engine.purpose);\n                const engineChangeType = engineChangeTypeWithIdAndDescription.find(\n                  (changeType) => changeType.id === engine.change_type\n                );\n\n                return (\n                  <tr key={engine.serialNumber}>\n                    <td>\n                      {generalTranslate('summary.type-of-change.engine-change.engine')} {engine.serialNumber}\n                    </td>\n                    <td>{engine.performance}</td>\n                    <td>{engine.weight}</td>\n                    <td>{engine.manufacturer}</td>\n                    <td>{engine.identification}</td>\n                    <td>{engine.production_number}</td>\n                    <td>{engine.manufacture_year}</td>\n                    <td>{enginePurpose && enginePurpose.description}</td>\n                    <td>{engineChangeType && engineChangeType.description}</td>\n                  </tr>\n                );\n              })}\n            </tbody>\n          </table>\n        </div>\n      </>\n    );\n  }\n);\n\nexport default EngineChangesSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\nimport BoatChangesService from '../../Service/BoatChangesService';\n\nimport { ChangeIds } from '../../../../../../enums/ChangeIds';\n\ntype PurposeChangeSummaryProps = {\n  purposeChange: string;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst PurposeChangeSummary = observer(({ purposeChange, generalTranslate, className }: PurposeChangeSummaryProps) => {\n  return (\n    <>\n      <Typography variant=\"h4\" component={'h3'} className=\"mt-5 mb-2\">\n        <b>{generalTranslate('summary.type-of-change.purpose-change.title')}</b>\n      </Typography>\n      <Typography>\n        {generalTranslate('summary.type-of-change.purpose-change.type')}: <b>{purposeChange}</b>\n      </Typography>\n    </>\n  );\n});\n\nexport default PurposeChangeSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\nimport BoatChangesService from '../../Service/BoatChangesService';\n\nimport { ChangeIds } from '../../../../../../enums/ChangeIds';\n\ntype OtherChangesSummaryProps = {\n  otherChange: string;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst OtherChangesSummary = observer(({ otherChange, generalTranslate, className }: OtherChangesSummaryProps) => {\n  return (\n    <>\n      <Typography variant=\"h4\" component={'h3'} className=\"mt-5 mb-2\">\n        <b>{generalTranslate('summary.type-of-change.other-change.title')}</b>\n      </Typography>\n      <Typography>\n        <b>{otherChange}</b>\n      </Typography>\n    </>\n  );\n});\n\nexport default OtherChangesSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\nimport BoatChangesService from '../../Service/BoatChangesService';\n\nimport { ChangeIds } from '../../../../../../enums/ChangeIds';\nimport EngineChangesSummary from './EngineChangesSummary';\nimport PurposeChangeSummary from './PurposeChangeSummary';\nimport OtherChangesSummary from './OtherChangesSummary';\n\ntype TypeOfChangeSummaryProps = {\n  boatChangesService: BoatChangesService;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst TypeOfChangeSummary = observer(({ boatChangesService, generalTranslate, className }: TypeOfChangeSummaryProps) => {\n  return (\n    <>\n      {boatChangesService.changes[ChangeIds.ENGINE_CHANGES].checked === true && (\n        <EngineChangesSummary\n          engineChanges={boatChangesService.changes[ChangeIds.ENGINE_CHANGES].engines}\n          enginePurposes={boatChangesService.changes[ChangeIds.ENGINE_CHANGES].enginePurposes}\n          enginesChangeType={boatChangesService.changes[ChangeIds.ENGINE_CHANGES].enginesChangeType}\n          generalTranslate={generalTranslate}\n        />\n      )}\n\n      {boatChangesService.changes[ChangeIds.BOAT_PURPOSE_CHANGE].checked === true && (\n        <PurposeChangeSummary\n          purposeChange={boatChangesService.changes[ChangeIds.BOAT_PURPOSE_CHANGE].selectedOptionLabel}\n          generalTranslate={generalTranslate}\n        />\n      )}\n\n      {boatChangesService.changes[ChangeIds.OTHER_BOAT_CHANGE].checked === true && (\n        <OtherChangesSummary\n          otherChange={boatChangesService.changes[ChangeIds.OTHER_BOAT_CHANGE].textValue}\n          generalTranslate={generalTranslate}\n        />\n      )}\n    </>\n  );\n});\n\nexport default TypeOfChangeSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport BoatInspectionService from '../../Service/BoatInspectionService';\n\ntype TechnicalInspectionSummaryProps = {\n  boatInspectionService: BoatInspectionService;\n  generalTranslate: Translator;\n};\n\nconst TechnicalInspectionSummary = observer(({ boatInspectionService, generalTranslate }: TechnicalInspectionSummaryProps) => {\n  return (\n    <>\n      <Typography variant=\"h4\" component={'h3'} className=\"mt-5 mb-2\">\n        <b>{generalTranslate('summary.technical-inspection.title')}</b>\n      </Typography>\n      {boatInspectionService.boatInspectionModel.checkbox.length > 0 ? (\n        <Typography>{generalTranslate('summary.technical-inspection.postponed')}</Typography>\n      ) : (\n        <Typography>{boatInspectionService.boatInspectionModel.pin}</Typography>\n      )}\n    </>\n  );\n});\n\nexport default TechnicalInspectionSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport BoatInfoService from '../../Service/BoatInfoService';\n\ntype SelectedUtzAndCabinProps = {\n  boatInfoService: BoatInfoService;\n  generalTranslate: Translator;\n};\n\nconst SelectedUtzAndCabin = observer(({ boatInfoService, generalTranslate }: SelectedUtzAndCabinProps) => {\n  const selectedIds = boatInfoService.boatInfoModel.devices;\n  const selectedDescriptions = boatInfoService.boatInfoModel.deviceDescriptions.filter((device) =>\n    selectedIds.includes(device.id)\n  );\n\n  return (\n    <>\n      {boatInfoService.boatInfoModel.devices.length > 0 && (\n        <Typography>\n          {generalTranslate('summary.isDevices')}:&#32;\n          {selectedDescriptions.map((device, index) => {\n            if (device.description) {\n              return (\n                <b key={index}>\n                  {index > 0 && index < boatInfoService.boatInfoModel.devices.length && ', '}\n                  {device.description}\n                  {index === boatInfoService.boatInfoModel.devices.length - 1 && '.'}\n                </b>\n              );\n            }\n            return null;\n          })}\n        </Typography>\n      )}\n      {boatInfoService.boatInfoModel.cabin.length > 0 && (\n        <Typography>\n          {generalTranslate('summary.isCabin')}:&#32;\n          <b>{generalTranslate('summary.cabinYes')}</b>\n        </Typography>\n      )}\n    </>\n  );\n});\n\nexport default SelectedUtzAndCabin;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport BoatInspectionService from '../../Service/BoatInspectionService';\n\ntype SelectedBranchAndTechnicalInspectionProps = {\n  inspectionService: BoatInspectionService;\n  branch: string;\n  generalTranslate: Translator;\n};\n\nconst SelectedBranchAndTechnicalInspection = observer(\n  ({ inspectionService, branch, generalTranslate }: SelectedBranchAndTechnicalInspectionProps) => {\n    let selectedBranch;\n    if (\n      inspectionService.boatInspectionModel.validation?.status === true &&\n      inspectionService.boatInspectionModel.validation?.description\n    ) {\n      selectedBranch = inspectionService.boatInspectionModel.validation?.description;\n    } else {\n      selectedBranch = branch;\n    }\n\n    return (\n      <Typography>\n        {generalTranslate('summary.selectedBranch')}:&#32;\n        <b>{selectedBranch}</b>\n      </Typography>\n    );\n  }\n);\n\nexport default SelectedBranchAndTechnicalInspection;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SummaryViewModel from './SummaryViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport PaymentInfoBox from '../../shared/Application/Summary/PaymentInfoBox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport TypeOfChangeSummary from '../../shared/Application/Summary/TypeOfChangeSummary';\nimport SelectedBoat from '../../shared/Application/Summary/SelectedBoat';\nimport SelectedPickup from '../../shared/Application/Summary/SelectedPickup';\nimport { SpsPickupDocumentIds } from 'src/enums/SpsPickupDocumentIds';\nimport TechnicalInspectionSummary from '../../shared/Application/Summary/TechnicalInspectionSummary';\nimport PersonalOrCompanyInfoSummary from '../../shared/Application/Summary/PersonalOrCompanyInfoSummary';\nimport SelectedUtzAndCabin from '../../shared/Application/Summary/SelectedUtzAndCabin';\nimport SelectedBranchAndTechnicalInspection from '../../shared/Application/Summary/SelectedBranchAndTechnicalInspection';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  let pickupMethod = generalTranslate('summary.pickup-method.personal');\n  if (\n    applicationService.pickupDocumentsService.selectedPickup.pickupId === SpsPickupDocumentIds.PICKUP_POST\n  ) {\n    pickupMethod = generalTranslate('summary.pickup-method.post');\n  }\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n    >\n      <PersonalOrCompanyInfoSummary\n        personService={applicationService.personService}\n        generalTranslate={generalTranslate}\n      />\n\n      <SummarySection title={generalTranslate('summary.boats.title')} className=\"sps-summary-section-w-100\">\n        <SelectedBoat boat={applicationService.boatsService.selectedBoat} />\n\n        <SelectedUtzAndCabin\n          boatInfoService={applicationService.boatInfoService}\n          generalTranslate={generalTranslate}\n        />\n\n        <SelectedPickup pickup={pickupMethod} infoText={generalTranslate('summary.pickup-method.title')} />\n\n        <SelectedBranchAndTechnicalInspection\n          inspectionService={applicationService.boatInspectionService}\n          branch={applicationService.boatChangesService.branch.branch}\n          generalTranslate={generalTranslate}\n        />\n\n        <TypeOfChangeSummary\n          boatChangesService={applicationService.boatChangesService}\n          generalTranslate={generalTranslate}\n        />\n\n        <TechnicalInspectionSummary\n          boatInspectionService={applicationService.boatInspectionService}\n          generalTranslate={generalTranslate}\n        />\n      </SummarySection>\n\n      <AttachmentsSummary\n        files={applicationService.attachmentsService.files}\n        generalTranslate={generalTranslate}\n      />\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n      <PaymentInfoBox\n        amount={applicationService.paymentService.payment.amount}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport SummaryView from './SummaryView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\n\nimport LicensePickupViewModel from '../07_LicensePickup/LicensePickupViewModel';\nimport AttachmentsViewModel from '../05_Attachments/AttachmentsViewModel';\nimport { Sps_WebApi_Models_Requests_PaymentWithFeeListRequest } from '../../../../../data/sps/api';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('extension-and-changes.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(8);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      const requestBody: Sps_WebApi_Models_Requests_PaymentWithFeeListRequest = {\n        relationId: this.applicationService.formDataService.formData.relationId,\n        cabinId: this.applicationService.boatInfoService.boatInfoModel.cabinId,\n        boatId: this.applicationService.boatsService.selectedBoat.boatId,\n        devices: this.applicationService.boatInfoService.boatInfoModel.deviceIds,\n      };\n\n      await this.applicationService.paymentService.getPayment204(requestBody);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges SummaryViewModel',\n        'activate - applicationService.init, applicationService.paymentService.getPayment204'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(LicensePickupViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.applicationService.postForm();\n\n      // redirect to CSOB if no error\n      window.location.replace(this.applicationService.paymentService.payment.url);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionAndChanges SummaryViewModel',\n        'navNext - authService.refreshCurrentToken, applicationService.postForm'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.extension-and-changes.summary', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const ExtensionAndChangesSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'person-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'ship-selection',\n  },\n  {\n    stepNumber: 3,\n    title: 'utz-devices',\n  },\n  {\n    stepNumber: 4,\n    title: 'type-of-change',\n  },\n  {\n    stepNumber: 5,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 6,\n    title: 'technical-inspection',\n  },\n  {\n    stepNumber: 7,\n    title: 'license-pickup',\n  },\n  {\n    stepNumber: 8,\n    title: 'summary',\n  },\n];\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from 'src/data/validators/registry';\n\nexport type DeviceObject = {\n  id: string;\n  description: string;\n};\n\n@AddTranslationKey('applications.ship')\nexport default class BoatInfoModel {\n  @observable devices: string[] = [];\n  @observable cabin: string[] = [];\n  @observable deviceDescriptions: DeviceObject[] = [];\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @computed\n  get cabinId(): string | undefined {\n    return this.cabin.length > 0 ? this.cabin[0] : undefined;\n  }\n\n  @computed\n  get deviceIds(): string[] | undefined {\n    return this.devices.length > 0 ? this.devices : undefined;\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<BoatInfoModel>) {\n    this.devices = data.devices ?? this.devices;\n    this.cabin = data.cabin ?? this.cabin;\n    this.deviceDescriptions = data.deviceDescriptions ?? this.deviceDescriptions;\n  }\n}\n\nexport const BoatModelValidators: ValidationDescriptor<BoatInfoModel, Validators> = {};\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport SessionService from '../../../../../services/SessionService';\nimport SpsService from './SpsService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport BoatInfoModel, { DeviceObject } from '../Models/BoatInfoModel';\nimport type { Sps_WebApi_Models_Responses_BoatInfoResponse } from 'src/data/sps/api';\nimport { CheckboxData } from '@form/CheckboxGroup/CheckboxGroup';\nimport BoatsService from './BoatService';\n\n@Service()\nexport default class BoatInfoService extends SpsService {\n  @observable boatInfo: Sps_WebApi_Models_Responses_BoatInfoResponse = {\n    cabin: null,\n    devices: null,\n  };\n  @observable boatInfoModel = new BoatInfoModel();\n  @observable deviceDescriptions: DeviceObject[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get cabinOptions() {\n    const options: CheckboxData[] = [];\n\n    this.boatInfo.cabin?.forEach((option) => {\n      options.push({\n        key: option.id,\n        value: option.description,\n        checked: option.checked,\n        enabled: option.enabled,\n      });\n    });\n\n    return options;\n  }\n\n  @computed\n  get devicesOptions() {\n    const options: CheckboxData[] = [];\n\n    this.boatInfo.devices?.forEach((option) => {\n      options.push({\n        key: option.id,\n        value: option.description,\n        checked: option.checked,\n        enabled: option.enabled,\n      });\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService,\n    @Inject() protected boatsService: BoatsService\n  ) {\n    super('boat-info-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n    this.boatInfoModel = new BoatInfoModel();\n    this.deviceDescriptions = [];\n\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return true;\n  }\n\n  async getBoatInfo() {\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2BoatInfo(\n      this.boatsService.selectedBoat.boatId,\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.cabin || !response.devices) return;\n\n      this.boatInfo.cabin = response.cabin;\n      this.boatInfo.devices = response.devices;\n\n      this.boatInfoModel.deviceDescriptions = response.devices.map((device) => ({\n        id: device.id,\n        description: device.description,\n      }));\n    });\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const devicesAndCabin = this.sessionService.get(this.sessionStorageKey);\n    if (!devicesAndCabin) return;\n    const data = JSON.parse(devicesAndCabin);\n    this.boatInfoModel.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.boatInfoModel));\n  }\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { EngineChangeTypes } from 'src/enums/EngineChangeTypes';\nimport { EnginePurposeTypes } from 'src/enums/EnginePurposeTypes';\nimport { Sps_WebApi_Models_Requests_BoatEngineRequest } from 'src/data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class EngineModel {\n  @observable performance: string = ''; // výkon\n  @observable weight: string = ''; //hmotnost\n  @observable identification: string = ''; //typové označení\n  @observable production_number: string = ''; // výrobní číslo\n  @observable manufacture_year: string = ''; // rok výroby\n  @observable manufacturer: string = '';\n  @observable serialNumber: string = '';\n  @observable purpose: string = EnginePurposeTypes.PURPOSE_MAIN;\n  @observable change_type: string = EngineChangeTypes.UNCHANGED_ENGINE;\n\n  // purpose and change_type will never be empty:\n  // they have values assigned from select dropdown\n  private checkEmptyProperties: Array<keyof EngineModel> = [\n    'performance',\n    'weight',\n    'manufacturer',\n    'identification',\n    'production_number',\n    'manufacture_year',\n  ];\n\n  @computed\n  get isEmpty() {\n    let isEmpty = true;\n\n    for (const prop of this.checkEmptyProperties) {\n      if (this[prop] !== '') {\n        isEmpty = false;\n        break;\n      }\n    }\n\n    return isEmpty;\n  }\n\n  // PD-4867: some engine values are required\n  // required: serial_number, performance, identification, production_number, purpose, change_type\n  // optional properties cannot be empty strings\n  @computed\n  get requestEngineObject(): Sps_WebApi_Models_Requests_BoatEngineRequest & {\n    serial_number: number;\n    performance: string;\n    identification: string;\n    production_number: string;\n    purpose: string;\n    change_type: string;\n  } {\n    return {\n      serial_number: Number(this.serialNumber),\n      performance: this.performance,\n      identification: this.identification,\n      production_number: this.production_number,\n      purpose: this.purpose,\n      change_type: this.change_type,\n      weight: this.weight.length === 0 ? undefined : this.weight,\n      manufacturer: this.manufacturer.length === 0 ? undefined : this.manufacturer,\n      manufacture_year: this.manufacture_year.length === 0 ? undefined : this.manufacture_year,\n    };\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<EngineModel>) {\n    // this.id = data.id ?? '';\n    this.identification = data.identification ?? '';\n    this.manufacture_year = data.manufacture_year ?? '';\n    this.manufacturer = data.manufacturer ?? '';\n    this.performance = data.performance ?? '';\n    this.production_number = data.production_number ?? '';\n    this.serialNumber = data.serialNumber ?? '';\n    this.weight = data.weight ?? '';\n    this.purpose = data.purpose ?? '';\n    this.change_type = data.change_type ?? '';\n  }\n}\n\nexport const EngineModelValidators: ValidationDescriptor<EngineModel, Validators> = {\n  performance: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) => !t.isEmpty || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  identification: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) => !t.isEmpty || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  production_number: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) => !t.isEmpty || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  manufacture_year: {\n    year: {\n      message: 'year.format',\n    },\n  },\n  purpose: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) => !t.isEmpty || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n  change_type: {\n    required: {\n      message: '',\n      options: {\n        if: (t: EngineModel) => !t.isEmpty || t.change_type !== EngineChangeTypes.UNCHANGED_ENGINE,\n      },\n    },\n  },\n};\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ChangeIds } from 'src/enums/ChangeIds';\nimport EngineModel from './EngineModel';\nimport { SelectOption } from '@form/Select/Select';\nimport type { Sps_WebApi_Models_Responses_CheckBoxResponse } from 'src/data/sps/api';\n\n@AddTranslationKey('applications.ship.boatChanges.EngineChangesModel')\nexport default class EngineChangesModel {\n  @observable checked: boolean = false;\n  @observable description: string = '';\n  @observable enabled: boolean = false;\n  @observable id: string = ChangeIds.ENGINE_CHANGES;\n\n  @observable engines: EngineModel[] = [];\n  @observable enginesChangeType: SelectOption<string>[] | undefined;\n  @observable enginePurposes: SelectOption<string>[] | undefined;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<EngineChangesModel>) {\n    this.checked = data.checked ?? this.checked;\n    this.description = data.description ?? this.description;\n    this.enabled = data.enabled ?? this.enabled;\n\n    this.engines = data.engines\n      ? data.engines.map((engineData) => {\n          const engine = new EngineModel();\n          engine.mapJSONData(engineData);\n          return engine;\n        })\n      : [];\n\n    this.enginesChangeType = data.enginesChangeType ?? this.enginesChangeType;\n    this.enginePurposes = data.enginePurposes ?? this.enginePurposes;\n  }\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_CheckBoxResponse) {\n    this.id = data.id ?? this.id;\n    // this.checked = data.checked ?? this.checked;\n    this.description = data.description ?? this.description;\n    this.enabled = data.enabled ?? this.enabled;\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { ChangeIds } from '../../../../../enums/ChangeIds';\nimport type { Sps_WebApi_Models_Responses_CheckBoxResponse } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship.boatChanges.BoatPurposeChangeModel')\nexport default class BoatPurposeChangeModel {\n  @observable checked: boolean = false;\n  @observable description: string = '';\n  @observable enabled: boolean = false;\n  @observable id: string = ChangeIds.BOAT_PURPOSE_CHANGE;\n\n  @observable selectedOptionId: string = '';\n  @observable selectedOptionLabel: string = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<BoatPurposeChangeModel>) {\n    this.checked = data.checked ?? this.checked;\n    this.description = data.description ?? this.description;\n    this.enabled = data.enabled ?? this.enabled;\n    this.selectedOptionId = data.selectedOptionId ?? this.selectedOptionId;\n    this.selectedOptionLabel = data.selectedOptionLabel ?? this.selectedOptionLabel;\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_CheckBoxResponse) {\n    this.id = data.id ?? this.id;\n    // this.checked = data.checked ?? this.checked;\n    this.description = data.description ?? this.description;\n    this.enabled = data.enabled ?? this.enabled;\n  }\n}\n\nexport const BoatPurposeChangeModelValidators: ValidationDescriptor<BoatPurposeChangeModel, Validators> = {\n  selectedOptionId: {\n    required: {\n      message: 'selectedOptionId.required',\n      options: {\n        if: (t: BoatPurposeChangeModel) => t.checked === true,\n      },\n    },\n  },\n};\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from 'src/data/validators/registry';\nimport { ChangeIds } from 'src/enums/ChangeIds';\nimport type { Sps_WebApi_Models_Responses_CheckBoxResponse } from 'src/data/sps/api';\n\n@AddTranslationKey('applications.ship.boatChanges.OtherBoatChangeModel')\nexport default class OtherBoatChangeModel {\n  @observable checked: boolean = false;\n  @observable description: string = '';\n  @observable enabled: boolean = false;\n  @observable id: string = ChangeIds.OTHER_BOAT_CHANGE;\n  @observable textValue: string = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<OtherBoatChangeModel>) {\n    this.checked = data.checked ?? this.checked;\n    this.description = data.description ?? this.description;\n    this.enabled = data.enabled ?? this.enabled;\n    this.textValue = data.textValue ?? this.textValue;\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_CheckBoxResponse) {\n    this.id = data.id ?? this.id;\n    // this.checked = data.checked ?? this.checked;\n    this.description = data.description ?? this.description;\n    this.enabled = data.enabled ?? this.enabled;\n  }\n}\n\nexport const OtherBoatChangeModelValidators: ValidationDescriptor<OtherBoatChangeModel, Validators> = {\n  textValue: {\n    required: {\n      message: 'textValue.required',\n      options: {\n        if: (t: OtherBoatChangeModel) => t.checked,\n      },\n    },\n  },\n};\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ChangeIds } from '../../ChangesCertificate/Steps/TypeOfChange/TypeOfChangeViewModel';\nimport EngineChangesModel from './EngineChangesModel';\nimport BoatPurposeChangeModel from './BoatPurposeChangeModel';\nimport OtherBoatChangeModel from './OtherBoatChangeModel';\nimport EngineModel from './EngineModel';\nimport {\n  Sps_WebApi_Models_Requests_BoatChangeRequest,\n  Sps_WebApi_Models_Requests_BoatEngineRequest,\n} from '../../../../../data/sps/api';\n\ninterface BoatChangesModelInterface {\n  [ChangeIds.ENGINE_CHANGES]: EngineChangesModel;\n  [ChangeIds.BOAT_PURPOSE_CHANGE]: BoatPurposeChangeModel;\n  [ChangeIds.OTHER_BOAT_CHANGE]: OtherBoatChangeModel;\n}\n\nexport function isChangeIdKey(model: BoatChangesModel, key: keyof any): key is keyof BoatChangesModel {\n  return key in model;\n  //return key in model && key in ChangeIds;\n}\n\nexport function isChangeModel(object: any): object is EngineChangesModel | BoatPurposeChangeModel | OtherBoatChangeModel {\n  return (\n    typeof object === 'object' &&\n    (object instanceof EngineChangesModel || object instanceof BoatPurposeChangeModel || object instanceof OtherBoatChangeModel)\n  );\n}\n\n@AddTranslationKey('applications.ship')\nexport default class BoatChangesModel implements BoatChangesModelInterface {\n  @observable [ChangeIds.ENGINE_CHANGES] = new EngineChangesModel();\n  @observable [ChangeIds.BOAT_PURPOSE_CHANGE] = new BoatPurposeChangeModel();\n  @observable [ChangeIds.OTHER_BOAT_CHANGE] = new OtherBoatChangeModel();\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  toChangesArray() {\n    const changesArray: Array<Sps_WebApi_Models_Requests_BoatChangeRequest> = [];\n\n    for (const changeId in this) {\n      if (Object.prototype.hasOwnProperty.call(this, changeId)) {\n        const change = this[changeId];\n\n        if (\n          change instanceof EngineChangesModel ||\n          change instanceof BoatPurposeChangeModel ||\n          change instanceof OtherBoatChangeModel\n        ) {\n          let changeObject: Sps_WebApi_Models_Requests_BoatChangeRequest = {\n            changeId: change.id,\n          };\n\n          if (change instanceof BoatPurposeChangeModel) {\n            if (change.selectedOptionId) {\n              changeObject.valueId = change.selectedOptionId;\n            }\n            changeObject.description = change.description;\n            //changeObject.type = 'option';\n            //changeObject.value = 'string value';\n          }\n\n          if (change instanceof OtherBoatChangeModel) {\n            // changeObject.valueId = '00000000-0000-0000-0000-000000000000';\n            changeObject.description = change.description;\n            // changeObject.type = 'text';\n            // changeObject.value = 'string value';\n          }\n\n          if (change.checked) {\n            changesArray.push(changeObject);\n          }\n        }\n      }\n    }\n\n    return changesArray;\n  }\n\n  toEnginesArray() {\n    // PD-4867: some engine values are required\n    // required: serial_number, performance, identification, production_number, purpose, change_type\n    const enginesArray: Array<EngineModel['requestEngineObject']> = [];\n\n    const change = this[ChangeIds.ENGINE_CHANGES];\n    const engines = change.engines;\n\n    engines.forEach((engine: EngineModel) => {\n      if (!engine.isEmpty) {\n        enginesArray.push(engine.requestEngineObject);\n      }\n    });\n\n    return enginesArray;\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<BoatChangesModel>) {\n    for (const key in data) {\n      if (isChangeIdKey(this, key)) {\n        const model = this[key];\n        if (isChangeModel(model)) {\n          model.mapJSONData(data[key] as any);\n        }\n      }\n    }\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { action, computed, makeObservable, observable, runInAction, IReactionDisposer, reaction } from 'mobx';\nimport SpsService from './SpsService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport BoatsService from './BoatService';\nimport { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\nimport {\n  Sps_WebApi_Models_Responses_BoatChangePurposeResponse,\n  Sps_WebApi_Models_Responses_BoatEngineDetailResponse,\n  Sps_WebApi_Models_Responses_CheckBoxResponse,\n} from 'src/data/sps/api';\nimport BoatChangesModel from '../Models/BoatChangesModel';\nimport { OtherBoatChangeModelValidators } from '../Models/OtherBoatChangeModel';\nimport BoatPurposeChangeModel, { BoatPurposeChangeModelValidators } from '../Models/BoatPurposeChangeModel';\nimport { ChangeIds } from 'src/enums/ChangeIds';\nimport EngineModel, { EngineModelValidators } from '../Models/EngineModel';\nimport { EngineChangeTypes } from 'src/enums/EngineChangeTypes';\nimport { EnginePurposeTypes } from 'src/enums/EnginePurposeTypes';\nimport BranchModel from '../Models/BranchModel';\n\n@Service()\nexport default class BoatChangesService extends SpsService {\n  @observable boatChanges: Sps_WebApi_Models_Responses_CheckBoxResponse[] = [];\n  @observable boatEngines: Sps_WebApi_Models_Responses_BoatEngineDetailResponse[] = [];\n\n  @observable changes = new BoatChangesModel();\n  @observable otherChangesText: string[] = [];\n  @observable purposes: Sps_WebApi_Models_Responses_BoatChangePurposeResponse[] = [];\n\n  @observable showEngineError = false;\n  @observable branch = new BranchModel();\n\n  private isGetBoatChanges = false;\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get purposesOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.purposes.forEach((purpose) => {\n      if (purpose.id && purpose.description) {\n        options.push({\n          id: purpose.id,\n          label: purpose.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  convertToEngineModels(boatEngines: Sps_WebApi_Models_Responses_BoatEngineDetailResponse[]): EngineModel[] {\n    const engines: EngineModel[] = [];\n    const requireEngines = 6;\n    for (let i = 0; i < requireEngines; i++) {\n      const motor = boatEngines[i] || {};\n      const engine = new EngineModel();\n\n      engine.serialNumber = motor.serialNumber ?? (i + 1).toString();\n      engine.performance = motor.performance ?? '';\n      engine.weight = motor.weight ?? '';\n      engine.manufacturer = motor.manufacturer ?? '';\n      engine.identification = motor.identification ?? '';\n      engine.production_number = motor.production_number ?? '';\n      engine.manufacture_year = motor.manufacture_year ?? '';\n      engine.purpose = motor.purpose ?? EnginePurposeTypes.PURPOSE_MAIN;\n      engine.change_type = motor.change_type ?? EngineChangeTypes.UNCHANGED_ENGINE;\n\n      this.validation.attachDescriptor(engine, EngineModelValidators);\n      engines.push(engine);\n    }\n\n    return engines;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService,\n    @Inject() protected boatsService: BoatsService\n  ) {\n    super('boat-changes-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(\n      this.changes[ChangeIds.OTHER_BOAT_CHANGE],\n      OtherBoatChangeModelValidators\n    );\n    this.validation.attachDescriptor(\n      this.changes[ChangeIds.BOAT_PURPOSE_CHANGE],\n      BoatPurposeChangeModelValidators\n    );\n\n    for (const engine of this.changes[ChangeIds.ENGINE_CHANGES].engines) {\n      this.validation.attachDescriptor(engine, EngineModelValidators);\n    }\n\n    this.dispose.push(\n      reaction(\n        () => this.changes[ChangeIds.BOAT_PURPOSE_CHANGE].selectedOptionId,\n        () => this.updateSelectedOption()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n    this.changes = new BoatChangesModel();\n    this.branch = new BranchModel();\n    this.changes[ChangeIds.BOAT_PURPOSE_CHANGE] = new BoatPurposeChangeModel();\n    this.isGetBoatChanges = false;\n    this.showEngineError = false;\n    this.boatChanges = [];\n    this.boatEngines = [];\n    this.otherChangesText = [];\n    this.purposes = [];\n\n    this.removeFromSessionStorage();\n  }\n\n  engineValidation() {\n    if (!this.changes[ChangeIds.ENGINE_CHANGES].checked) {\n      this.showEngineError = false;\n      return true;\n    }\n\n    const engineValidations: boolean[] = [];\n\n    this.changes[ChangeIds.ENGINE_CHANGES].engines.forEach((engine) => {\n      engineValidations.push(this.validation.validateObject(engine));\n    });\n\n    if (\n      engineValidations.length === this.changes[ChangeIds.ENGINE_CHANGES].engines.length &&\n      engineValidations.every((value) => value)\n    ) {\n      this.showEngineError = false;\n      return true;\n    } else {\n      this.showEngineError = true;\n      return false;\n    }\n  }\n\n  async getBoatChanges() {\n    if (this.isGetBoatChanges) return;\n\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2BoatChanges(\n      this.boatsService.selectedBoat.boatId,\n      this.formDataService.formData.relationId\n    );\n\n    this.isGetBoatChanges = true;\n\n    runInAction(() => {\n      if (!response.boatChanges) return;\n\n      for (const change of response.boatChanges) {\n        const changeId = change.id;\n\n        switch (changeId) {\n          case ChangeIds.ENGINE_CHANGES:\n            this.changes[ChangeIds.ENGINE_CHANGES].mapData(change);\n            break;\n          case ChangeIds.BOAT_PURPOSE_CHANGE:\n            this.changes[ChangeIds.BOAT_PURPOSE_CHANGE].mapData(change);\n            break;\n          case ChangeIds.OTHER_BOAT_CHANGE:\n            this.changes[ChangeIds.OTHER_BOAT_CHANGE].mapData(change);\n            break;\n          default:\n            break;\n        }\n      }\n    });\n  }\n\n  async getBoatEngines() {\n    if (this.boatEngines.length > 0) return;\n\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2BoatEngines(\n      this.boatsService.selectedBoat.boatId,\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.boat_change_purposes) return;\n      this.purposes = response.boat_change_purposes;\n\n      if (response.other_changes && response.other_changes?.length > 0) {\n        response.other_changes.forEach((change) => {\n          if (change.description) {\n            this.otherChangesText.push(change.description);\n          }\n        });\n      }\n\n      if (response.boat_engines) {\n        if (this.changes[ChangeIds.ENGINE_CHANGES].engines.length > 0) return;\n\n        this.boatEngines = response.boat_engines;\n        this.changes[ChangeIds.ENGINE_CHANGES].engines = this.convertToEngineModels(this.boatEngines);\n      }\n      if (response.engine_change_types) {\n        this.changes[ChangeIds.ENGINE_CHANGES].enginesChangeType = response.engine_change_types.map(\n          (purpose) => {\n            return {\n              ...purpose,\n              label: purpose.description ?? '',\n              key: purpose.id,\n              value: purpose.id,\n            };\n          }\n        );\n      }\n      if (response.engine_purposes) {\n        this.changes[ChangeIds.ENGINE_CHANGES].enginePurposes = response.engine_purposes.map((purpose) => {\n          return {\n            ...purpose,\n            label: purpose.description ?? '',\n            key: purpose.id,\n            value: purpose.id,\n          };\n        });\n      }\n      if (response.branch) {\n        this.branch.branch = response.branch.name ?? '';\n        this.branch.branchId = response.branch.id ?? '';\n      }\n    });\n  }\n\n  validate() {\n    const engineValidation = this.engineValidation();\n    const isValid = [\n      engineValidation,\n      this.validation.validateObject(this.changes[ChangeIds.OTHER_BOAT_CHANGE]),\n      this.validation.validateObject(this.changes[ChangeIds.BOAT_PURPOSE_CHANGE]),\n      this.validation.validateObject(this.changes[ChangeIds.ENGINE_CHANGES]),\n    ].every((validationResult) => validationResult);\n\n    return isValid;\n  }\n\n  @computed\n  get isNextStepInValid() {\n    let isInvalid = true;\n\n    if (\n      (this.changes[ChangeIds.OTHER_BOAT_CHANGE].checked &&\n        this.changes[ChangeIds.OTHER_BOAT_CHANGE].textValue !== '') ||\n      (this.changes[ChangeIds.BOAT_PURPOSE_CHANGE].checked &&\n        this.changes[ChangeIds.BOAT_PURPOSE_CHANGE].selectedOptionId) ||\n      (this.changes[ChangeIds.ENGINE_CHANGES].checked &&\n        this.changes[ChangeIds.ENGINE_CHANGES].engines.some((engine) => {\n          if (\n            engine.change_type === EngineChangeTypes.ADD_ENGINE ||\n            engine.change_type === EngineChangeTypes.CHANGE_PURPOSE_ENGINE ||\n            engine.change_type === EngineChangeTypes.REMOVE_ENGINE\n          ) {\n            isInvalid = false;\n          }\n        }))\n    ) {\n      isInvalid = false;\n    }\n\n    return isInvalid;\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const changesData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!changesData) return;\n\n    const data = JSON.parse(changesData) as {\n      changes: BoatChangesModel;\n      branch: BranchModel;\n    };\n\n    this.branch.mapJSONData(data.branch);\n    this.changes.mapJSONData(data.changes);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.changes));\n\n    this.sessionService.set(\n      this.sessionStorageKey,\n      JSON.stringify({\n        changes: this.changes,\n        branch: this.branch,\n      })\n    );\n  }\n\n  @action.bound\n  private updateSelectedOption() {\n    const optId = this.changes[ChangeIds.BOAT_PURPOSE_CHANGE].selectedOptionId;\n\n    const selectedLabel = this.purposes.find((o) => o.id === optId);\n\n    if (selectedLabel?.description) {\n      this.changes[ChangeIds.BOAT_PURPOSE_CHANGE].selectedOptionLabel = selectedLabel.description;\n    }\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { Sps_WebApi_Models_Responses_BoatInspectionCheckValidationResponse } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class BoatInspectionModel {\n  @observable checkbox: string[] = [];\n  @observable pin: string = '';\n  @observable validation: Sps_WebApi_Models_Responses_BoatInspectionCheckValidationResponse | undefined = undefined;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<BoatInspectionModel>) {\n    this.checkbox = data.checkbox ?? this.checkbox;\n    this.pin = data.pin ?? this.pin;\n    this.validation = data.validation ?? this.validation;\n  }\n}\n\nexport const BoatInspectionModelValidators: ValidationDescriptor<BoatInspectionModel, Validators> = {\n  pin: {\n    pin: {\n      message: 'pin.textLenght',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport SessionService from '../../../../../services/SessionService';\nimport SpsService from './SpsService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport BoatService from './BoatService';\nimport { Sps_WebApi_Models_Responses_CheckBoxResponse } from 'src/data/sps/api';\nimport { CheckboxData } from '@form/CheckboxGroup/CheckboxGroup';\nimport BoatInspectionModel, { BoatInspectionModelValidators } from '../Models/BoatInspectionModel';\n\n@Service()\nexport default class BoatInspectionService extends SpsService {\n  @observable inspection: Sps_WebApi_Models_Responses_CheckBoxResponse[] = [];\n  @observable boatInspectionModel = new BoatInspectionModel();\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get inspectionOptions() {\n    const options: CheckboxData[] = [];\n\n    this.inspection.forEach((option) => {\n      options.push({\n        key: option.id,\n        value: option.description,\n        checked: option.checked,\n        enabled: option.enabled,\n      });\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService,\n    @Inject() protected boatService: BoatService\n  ) {\n    super('boat-inspection-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.boatInspectionModel, BoatInspectionModelValidators);\n\n    this.dispose.push(\n      reaction(\n        () => this.boatInspectionModel.checkbox,\n        () => this.updateInspection()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.boatInspectionModel = new BoatInspectionModel();\n    this.inspection = [];\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    const isValid = [this.validation.validateObject(this.boatInspectionModel)].every(\n      (validationResult) => validationResult\n    );\n\n    return isValid;\n  }\n\n  async getBoatInspection() {\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2BoatInspection(\n      this.boatService.selectedBoat.boatId,\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.inspection) return;\n\n      this.inspection = response.inspection;\n    });\n  }\n\n  async validatePin() {\n    const pin = parseInt(this.boatInspectionModel.pin) || 0;\n\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2BoatInspectionCheck(\n      pin,\n      this.boatService.selectedBoat.boatId,\n      this.formDataService.formData.relationId\n    );\n\n    this.boatInspectionModel.validation = response.validation;\n\n    return response;\n  }\n\n  @computed\n  get isNextStepInValid() {\n    let isInvalid = true;\n    if (this.boatInspectionModel.checkbox.length > 0 || this.boatInspectionModel.pin !== '') {\n      isInvalid = false;\n    }\n    return isInvalid;\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const boatInspection = this.sessionService.get(this.sessionStorageKey);\n    if (!boatInspection) return;\n    const data = JSON.parse(boatInspection);\n    this.boatInspectionModel.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.boatInspectionModel));\n  }\n\n  @action.bound\n  private updateInspection() {\n    if (this.boatInspectionModel.checkbox.length > 0) {\n      this.boatInspectionModel.pin = '';\n    }\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport ValidationService from '../shared/Service/ValidationService';\nimport FormDataService from '../shared/Service/FormDataService';\nimport StepsService from '../shared/Service/StepsService';\nimport PersonService from '../shared/Service/PersonService';\nimport BoatsService from '../shared/Service/BoatService';\nimport { ExtensionAndChangesSteps } from './ExtensionAndChangesSteps';\nimport BoatInfoService from '../shared/Service/BoatInfoService';\nimport BoatChangesService from '../shared/Service/BoatChangesService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport BoatInspectionService from '../shared/Service/BoatInspectionService';\nimport PickupDocumentsService from '../shared/Service/PickupDocumentsService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\nimport { ChangeIds } from 'src/enums/ChangeIds';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID204;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public boatsService: BoatsService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public boatInfoService: BoatInfoService,\n    @Inject() public boatChangesService: BoatChangesService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public boatInspectionService: BoatInspectionService,\n    @Inject() public pickupDocumentsService: PickupDocumentsService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(ExtensionAndChangesSteps);\n    this.personService.init();\n    this.boatsService.init();\n    this.boatInfoService.init();\n    this.boatChangesService.init();\n    this.paymentService.init();\n    this.boatInspectionService.init();\n    this.pickupDocumentsService.init();\n    this.attachmentsService.init();\n    this.downloadFileService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.boatsService.reset();\n    this.boatInfoService.reset();\n    this.boatChangesService.reset();\n    this.paymentService.reset();\n    this.boatInspectionService.reset();\n    this.pickupDocumentsService.reset();\n    this.attachmentsService.reset();\n    this.downloadFileService.reset();\n    this.initialized = false;\n  }\n\n  // TODO: create POST and DELETE form methods here\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover204> = {\n      BoatId: this.boatsService.selectedBoat.boatId,\n      CabinId: this.boatInfoService.boatInfoModel.cabinId,\n      PickupId: this.pickupDocumentsService.selectedPickup.pickupId,\n      Pin: Number(this.boatInspectionService.boatInspectionModel.pin),\n      BranchName: this.boatInspectionService.boatInspectionModel.validation?.description\n        ? this.boatInspectionService.boatInspectionModel.validation?.description\n        : '',\n      Firma: this.personService.getCompanyString,\n      Devices: JSON.stringify(this.boatInfoService.boatInfoModel.deviceIds),\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      Changes: JSON.stringify(this.boatChangesService.changes.toChangesArray()),\n      Engines: this.boatChangesService.changes[ChangeIds.ENGINE_CHANGES].checked\n        ? JSON.stringify(this.boatChangesService.changes.toEnginesArray())\n        : undefined,\n      Person: this.personService.getPersonString,\n      ContactAddress: this.personService.getEntityContactString,\n      RelationId: this.formDataService.formData.relationId,\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover204(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../components/layout/Container';\nimport type ExtensionValidityCertificateViewModel from './ExtensionValidityCertificateViewModel';\nimport './ExtensionValidityCertificate.scss';\nimport Alert from '../../../../components/shared/Alert/Alert';\n\nconst ExtensionValidityCertificateView: View<ExtensionValidityCertificateViewModel> = observer(({ vm }) => {\n  const { translate, generalTranslate, navPersonalInfo, busyWatcher, goBack } = vm;\n\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n      <Alert className=\"mb-4\" type=\"warning\" message={translate('warning-technical-review-required')} />\n      <div>\n        <p>{translate('info-block.text')}</p>\n        <h3>{translate('info-block.list.title')}</h3>\n        <ol>\n          <li>{translate('info-block.list.item-1')}</li>\n          <li>{translate('info-block.list.item-2')}</li>\n          <li>{translate('info-block.list.item-3')}</li>\n          <li>{translate('info-block.list.item-4')}</li>\n        </ol>\n      </div>\n      <div className=\"d-flex justify-content-between\">\n        <button\n          data-testid=\"back-button\"\n          className=\"gov-button gov-button--primary-outlined\"\n          onClick={() => goBack()}\n        >\n          {generalTranslate('back')}\n        </button>\n        <button\n          data-testid=\"next-button\"\n          disabled={busyWatcher.isBusy}\n          className=\"gov-button gov-button--primary ms-2\"\n          onClick={navPersonalInfo}\n        >\n          {busyWatcher.isBusy ? (\n            <div className=\"summary-loader\">\n              <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                <div className=\"gov-loader gov-loader--inversed\">\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                </div>\n              </div>\n            </div>\n          ) : (\n            translate('info-block.confirm-button')\n          )}\n        </button>\n      </div>\n    </Container>\n  );\n});\n\nexport default ExtensionValidityCertificateView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ExtensionValidityStepsViewModel from './ExtensionValidityStepsViewModel';\nimport Steps from '../components/Steps';\n\nconst ExtensionValidityStepsView: View<ExtensionValidityStepsViewModel> = observer(({ vm }) => {\n  const { translate, extensionValidityTranslate, activeStep, steps } = vm;\n\n  return (\n    <div>\n      <h1>{extensionValidityTranslate('title')}</h1>\n      <Steps steps={steps} vm={vm} activeStep={activeStep} translate={translate} />\n    </div>\n  );\n});\n\nexport default ExtensionValidityStepsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ExtensionValidityStepsView from './ExtensionValidityStepsView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport StepsViewModel from '../StepsViewModel';\nimport ExtensionValidityService from '../../../../../services/ship/ExtensionValidityService';\nimport type { FormStateKeys } from '../../../../../data/entities/ship/types/FormState';\n\n@AddDefaultView(ExtensionValidityStepsView)\n@AddChildrenView()\n@Service()\nexport default class ExtensionValidityStepsViewModel extends StepsViewModel {\n  @observable applicationShown: boolean = false;\n  @observable notFound: boolean = false;\n  @observable steps = [\n    {\n      stepNumber: 1,\n      title: 'personal-info',\n      key: 'hasPersonalInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 2,\n      title: 'ship-info',\n      key: 'hasShipInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 3,\n      title: 'required-attachments',\n      key: 'hasAttachments',\n      disabled: true,\n    },\n    {\n      stepNumber: 4,\n      title: 'technical-inspection',\n      key: 'hasTechnicalInspection',\n      disabled: true,\n    },\n    {\n      stepNumber: 5,\n      title: 'summary',\n      disabled: true,\n    },\n  ];\n\n  get pathNode(): string {\n    return '';\n  }\n\n  get title(): string {\n    return this.extensionValidityTranslate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject()\n    private extensionValidityService: ExtensionValidityService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get activeStep() {\n    return this.extensionValidityService.step;\n  }\n\n  @action.bound changeStep(stepNumber: number, visitedStep: FormStateKeys) {\n    this.extensionValidityService.changeStep(stepNumber, visitedStep);\n  }\n\n  translate = translate('ship.certificates.steps', this);\n  extensionValidityTranslate = translate('ship.certificates.extension-validity', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ShipInfoViewModel from './ShipInfoViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport './ShipInfoView.scss';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport CheckboxGroup from '../../../../../../components/form/CheckboxGroup/CheckboxGroup';\n\nconst ShipInfoView: View<ShipInfoViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    shipInfo,\n    boatsOptions,\n    devicesOptions,\n    mockDevicesOptions,\n    cabinOptions,\n    mockCabinOptions,\n    cabinEnabled,\n    pickupOptions,\n    mockPickupOptions,\n  } = vm;\n\n  return (\n    <div className=\"extradition-request-view\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={vm?.extensionValidityStepsViewModel} />\n\n            {vm.busyWatcher.isBusy ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              <>\n                <Fieldset wide>\n                  <h3 className=\"mb-4\">{translate('boat')}</h3>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={shipInfo}\n                    property=\"boatId\"\n                    options={boatsOptions}\n                    testId=\"boat-id\"\n                  />\n                  <h3>{translate('devices')}</h3>\n                  {devicesOptions.length !== 0 ? (\n                    <CheckboxGroup\n                      testId=\"devices\"\n                      target={shipInfo}\n                      data={devicesOptions}\n                      property=\"devices\"\n                    />\n                  ) : (\n                    <CheckboxGroup\n                      testId=\"mockDevices\"\n                      target={shipInfo}\n                      data={mockDevicesOptions}\n                      property=\"devices\"\n                    />\n                  )}\n                  <h3 className=\"mb-4\">{translate('cabin')}</h3>\n                  {cabinOptions.length !== 0 ? (\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={shipInfo}\n                      disabled={!cabinEnabled}\n                      property=\"cabinId\"\n                      options={cabinOptions}\n                      testId=\"cabin-id\"\n                    />\n                  ) : (\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={shipInfo}\n                      disabled={!cabinEnabled}\n                      property=\"cabinId\"\n                      options={mockCabinOptions}\n                      testId=\"mockCabin-id\"\n                    />\n                  )}\n                  <h3 className=\"mb-4\">{translate('pickup')}</h3>\n                  {pickupOptions.length !== 0 ? (\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={shipInfo}\n                      property=\"pickupId\"\n                      options={pickupOptions}\n                      testId=\"pickup-id\"\n                    />\n                  ) : (\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={shipInfo}\n                      property=\"pickupId\"\n                      options={mockPickupOptions}\n                      testId=\"mockPickup-id\"\n                    />\n                  )}\n                </Fieldset>\n              </>\n            )}\n\n            <div className=\"d-flex justify-content-between mt-4\">\n              <button\n                data-testid=\"back-button\"\n                className=\"gov-button gov-button--primary-outlined\"\n                onClick={goBack}\n              >\n                {generalTranslate('back')}\n              </button>\n              <button\n                data-testid=\"next-button\"\n                className=\"gov-button gov-button--primary\"\n                disabled={vm.busyWatcher.isBusy}\n                onClick={goNext}\n              >\n                {generalTranslate('next')}\n              </button>\n            </div>\n          </Envelope>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default ShipInfoView;\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('applications.ship.extension-validity.ship-info')\nexport default class ShipInfoModel {\n  @observable boatId = '';\n  @observable devices: string[] = [];\n  @observable cabinId = '';\n  @observable pickupId = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(boatId: string, devices: string[], cabinId: string, pickupId: string): ShipInfoModel {\n    const model = new ShipInfoModel();\n\n    model.boatId = boatId;\n    model.devices = devices;\n    model.cabinId = cabinId;\n    model.pickupId = pickupId;\n\n    return model;\n  }\n}\n\nexport const ShipInfoModelValidators: ValidationDescriptor<ShipInfoModel, Validators> = {\n  boatId: {\n    required: {\n      message: 'boatId.required',\n    },\n  },\n  cabinId: {\n    required: {\n      message: 'cabinId.required',\n    },\n  },\n  pickupId: {\n    required: {\n      message: 'pickupId.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport { action, computed, IReactionDisposer, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport ShipInfoView from './ShipInfoView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ExtensionValidityService, {\n  CabinInitialOptions,\n} from '../../../../../../services/ship/ExtensionValidityService';\nimport ShipInfoModel, { ShipInfoModelValidators } from './ShipInfoModel';\nimport type BoatsEntity from '../../../../../../data/entities/ship/boats/BoatsEntity';\nimport type { RadioGroupOption } from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport ExtensionValidityStepsViewModel from '../../../ApplicationSteps/ExtensionValiditySteps/ExtensionValidityStepsViewModel';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type BoatInfoEntity from '../../../../../../data/entities/ship/BoatInfo/BoatInfoEntity';\nimport type PickupMethodEntity from '../../../../../../data/entities/ship/PickupMethod/PickupMethodEntity';\nimport type { CheckboxData } from '../../../../../../components/form/CheckboxGroup/CheckboxGroup';\nimport type { CabinInfoEntity } from '../../../../../../data/entities/ship/BoatInfo/BoatInfoEntity';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport ErrorEntity, { isError } from '../../../../../../data/entities/ship/errors/ErrorEntity';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport ShipErrorView from '../../../shared/ShipErrorView/ShipErrorView';\nimport ShipViewModel from '../../../../ShipViewModel';\nimport { ApiError } from '../../../../../../data/sps/api';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\nexport enum BoatTypeKeywords {\n  sailBoat = 'plachetnice',\n}\n\n@AddDefaultView(ShipInfoView)\n@AddConditionalView(ShipErrorView, (vm) => vm.notFound)\n@Service()\nexport default class ShipInfoViewModel extends OldSpsBaseScreen {\n  private dispose: IReactionDisposer[] = [];\n  busyWatcher = new BusyWatcher();\n  @observable shipInfo: ShipInfoModel = new ShipInfoModel();\n  @observable boats: BoatsEntity | undefined;\n  @observable boatsOptions: RadioGroupOption[] = [];\n  @observable devicesOptions: CheckboxData[] = [];\n  @observable cabinOptions: RadioGroupOption[] = [];\n  @observable pickupOptions: RadioGroupOption[] = [];\n  @observable boatInfos: { [key: string]: BoatInfoEntity } | undefined = undefined;\n  @observable pickupMethods: { [key: string]: PickupMethodEntity } | undefined = undefined;\n  @observable cabinId: string = CabinInitialOptions.yes;\n  @observable cabinEnabled = true;\n  @observable notFound: boolean = false;\n  @observable error: ErrorEntity | undefined = undefined;\n\n  get pathNode(): string {\n    return 'ship-info';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed get isFillingData(): boolean {\n    return !this.pickupMethods;\n  }\n\n  @computed get cabinInfo(): CabinInfoEntity[] | undefined {\n    if (this.boatInfos) {\n      return this.boatInfos[this.shipInfo.boatId].cabin;\n    }\n  }\n\n  @computed get mockDevicesOptions(): CheckboxData[] {\n    return [\n      {\n        key: 'device-option-1',\n        value: this.translate('device-option-1'),\n      },\n      {\n        key: 'device-option-2',\n        value: this.translate('device-option-2'),\n      },\n      {\n        key: 'device-option-3',\n        value: this.translate('device-option-3'),\n      },\n      {\n        key: 'device-option-4',\n        value: this.translate('device-option-4'),\n      },\n    ];\n  }\n\n  @computed get mockPickupOptions(): RadioGroupOption[] {\n    return [\n      {\n        id: 'pickup-option-1',\n        label: this.translate('pickup-option-1'),\n      },\n      {\n        id: 'pickup-option-2',\n        label: this.translate('pickup-option-2'),\n      },\n    ];\n  }\n\n  @computed get mockCabinOptions(): RadioGroupOption[] {\n    return [\n      {\n        id: CabinInitialOptions.yes,\n        label: this.translate('cabin-yes'),\n      },\n      {\n        id: CabinInitialOptions.no,\n        label: this.translate('cabin-no'),\n      },\n    ];\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public extensionValidityStepsViewModel: ExtensionValidityStepsViewModel,\n    @Inject() private shipService: ExtensionValidityService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ShipInfoViewModel);\n    makeObservable(this);\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  notifyNavigation() {\n    this.shipService.changeStep(2, FormStateKeys.VisitedShipInfo);\n  }\n\n  @Watch<ShipInfoViewModel>((s) => s.busyWatcher)\n  async activate(): Promise<void> {\n    await this.setBoats();\n\n    await Promise.all([this.setDevicesAndCabins(), this.setDocumentPickup()]);\n\n    if (!this.devicesOptions.length || !this.cabinOptions.length || !this.pickupOptions.length) {\n      runInAction(() => {\n        this.devicesOptions = this.mockDevicesOptions;\n        this.cabinOptions = this.mockCabinOptions;\n        this.pickupOptions = this.mockPickupOptions;\n      });\n    }\n\n    this.dispose.push(\n      reaction(\n        () => this.shipInfo.boatId,\n        async (value) => {\n          this.resetPickup();\n          this.resetDevices();\n          this.resetCabin();\n          await this.setDevicesAndCabins();\n          await this.setDocumentPickup();\n        }\n      )\n    );\n\n    this.dispose.push(\n      reaction(\n        () => this.shipInfo.devices,\n        async (value) => {\n          if (!this.isFillingData) {\n            runInAction(() => {\n              if (this.shipInfo.devices !== this.shipService.formData.devices) {\n                if (this.shipService.formState) {\n                  this.shipService.toggleAndSave(FormStateKeys.HasAttachmentsChanged);\n                }\n              }\n            });\n          }\n        }\n      )\n    );\n\n    const tempShipInfo = this.shipService.getShipInfoFormData();\n    let shipInfo: ShipInfoModel | undefined;\n\n    if (tempShipInfo) {\n      runInAction(() => {\n        this.shipInfo = tempShipInfo;\n        shipInfo = {\n          boatId: tempShipInfo.boatId,\n          devices: tempShipInfo.devices,\n          cabinId: tempShipInfo.cabinId,\n          pickupId: tempShipInfo.pickupId,\n        };\n      });\n    } else {\n      shipInfo = this.shipService.getShipInfo();\n    }\n\n    runInAction(() => {\n      if (shipInfo) {\n        this.shipInfo = ShipInfoModel.mapData(\n          shipInfo.boatId,\n          shipInfo.devices,\n          shipInfo.cabinId,\n          shipInfo.pickupId\n        );\n        this.shipService.validation.attachDescriptor(this.shipInfo, ShipInfoModelValidators);\n      }\n    });\n  }\n\n  deactivate() {\n    this.dispose.forEach((d) => d());\n    this.notFound = false;\n    this.error = undefined;\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  resetCabin() {\n    this.shipInfo.cabinId = '';\n  }\n\n  @action.bound\n  resetDevices() {\n    this.shipInfo.devices = [];\n  }\n\n  @action.bound\n  resetPickup() {\n    this.shipInfo.pickupId = '';\n  }\n\n  @action.bound toggleNotFound() {\n    this.notFound = !this.notFound;\n  }\n\n  async setBoats() {\n    if (this.boatsOptions.length !== 0) return;\n\n    let boats: BoatsEntity | undefined;\n    try {\n      let boatsResponse = await this.shipService.getV2Boats();\n\n      if (boatsResponse?.boats) {\n        boats = boatsResponse;\n        runInAction(() => {\n          this.boats = boats;\n          this.boatsOptions = this.mapBoatsToRadioGroupOptions(boats);\n        });\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionValidityCertificate ShipInfoViewModel',\n        'setBoats - shipService.getV2Boats'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action\n  async setDevicesAndCabins() {\n    if (this.boatInfos && Object.keys(this.boatInfos).length !== 0) {\n      this.devicesOptions = this.mapDevicesToCheckboxData();\n      this.setCabinOptions();\n      return;\n    }\n\n    let boatInfos: { [key: string]: BoatInfoEntity } | undefined;\n    if (this.devicesOptions.length === 0) {\n      const boatIds = this.boats?.boats.map((boat) => boat.id);\n      if (boatIds) {\n        try {\n          boatInfos = await this.shipService.getV2BoatInfos(boatIds);\n        } catch (e: any) {\n          this.errorService.logCatchError(\n            e,\n            'ship - ExtensionValidityCertificate ShipInfoViewModel',\n            'setDevicesAndCabins - shipService.getV2BoatInfos, this.devicesOptions.length === 0'\n          );\n          this.handleError(e);\n        }\n      }\n      this.boatInfos = boatInfos;\n    }\n\n    if (boatInfos) {\n      runInAction(() => {\n        this.boatInfos = boatInfos;\n        this.devicesOptions = this.mapDevicesToCheckboxData();\n        this.setCabinOptions();\n      });\n    }\n  }\n\n  @action\n  async setDocumentPickup() {\n    if (!this.pickupMethods) {\n      let pickupMethods: { [key: string]: PickupMethodEntity } | undefined;\n\n      const boatIds = this.boats?.boats.map((boat) => boat.id);\n      if (boatIds) {\n        try {\n          pickupMethods = await this.shipService.getV2PickupMethods(boatIds);\n        } catch (e: any) {\n          this.errorService.logCatchError(\n            e,\n            'ship - ExtensionValidityCertificate ShipInfoViewModel',\n            'setDocumentPickup - shipService.getV2PickupMethods'\n          );\n          this.handleError(e);\n        }\n      }\n      this.pickupMethods = pickupMethods;\n\n      if (pickupMethods) {\n        runInAction(() => {\n          this.pickupMethods = pickupMethods;\n        });\n      }\n    }\n\n    runInAction(() => {\n      this.pickupOptions = this.mapPickupMethodsToRadioGroupOptions();\n    });\n  }\n\n  @action.bound\n  setCabinOptions() {\n    if (!this.boatInfos) {\n      return;\n    }\n    const cabinInfo = this.boatInfos[this.shipInfo.boatId]?.cabin[0];\n    if (!cabinInfo) {\n      return;\n    }\n\n    this.cabinOptions = [\n      {\n        id: cabinInfo.id,\n        label: this.translate('cabin-yes'),\n      },\n      {\n        id: CabinInitialOptions.no,\n        label: this.translate('cabin-no'),\n      },\n    ];\n    const selectedBoat = this.boats?.boats.find((boat) => boat.id === this.shipInfo.boatId);\n    if (!selectedBoat) {\n      return;\n    }\n    if (selectedBoat.type.includes(BoatTypeKeywords.sailBoat)) {\n      this.cabinEnabled = true;\n    } else {\n      this.cabinEnabled = false;\n      this.shipInfo.cabinId = CabinInitialOptions.no;\n      this.shipService.validation.validateProperty(this.shipInfo, 'cabinId');\n    }\n\n    if (cabinInfo.checked) {\n      this.shipInfo.cabinId = cabinInfo.id;\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.saveDataAndProceed('../personal-info');\n  }\n\n  @action.bound\n  goNext() {\n    if (this.shipService.validation.validateObject(this.shipInfo)) {\n      this.saveDataAndProceed('../required-attachments');\n    }\n  }\n\n  private saveDataAndProceed(goToRoute: string) {\n    if (!this.boatInfos) {\n      this.navigator(goToRoute).go();\n      return;\n    }\n    let pickup = undefined;\n    const boatId = this.shipInfo.boatId;\n    if (!boatId) {\n      this.navigator(goToRoute).go();\n      return;\n    }\n\n    const boat = this.boats?.boats.find((boat) => boat.id === boatId);\n    const devices = this.boatInfos[boatId].devices;\n    const cabin = this.boatInfos[boatId].cabin;\n    if (this.pickupMethods) {\n      pickup = this.pickupMethods[boatId];\n    }\n\n    if (boat && devices && cabin) {\n      this.shipService.setShipInfo(this.shipInfo, boat, devices, cabin, pickup);\n      this.navigator(goToRoute).go();\n    }\n  }\n\n  private mapPickupMethodsToRadioGroupOptions(): RadioGroupOption[] {\n    if (!this.boats || !this.pickupMethods) return [];\n    const pickupOptions: RadioGroupOption[] = [];\n    const currentPickupMethods = this.pickupMethods[this.shipInfo.boatId];\n    if (!currentPickupMethods) return [];\n\n    currentPickupMethods.methods.map((method) => {\n      pickupOptions.push({\n        id: method.id,\n        label: method.description,\n      });\n    });\n    return pickupOptions;\n  }\n\n  private mapDevicesToCheckboxData(): CheckboxData[] {\n    if (!this.boats || !this.boatInfos) return [];\n    const devicesOptions: CheckboxData[] = [];\n    const currentBoatInfo = this.boatInfos[this.shipInfo.boatId];\n    if (!currentBoatInfo) return [];\n    const devicesValue: string[] = [];\n    currentBoatInfo.devices.map((device) => {\n      devicesOptions.push({\n        key: device.id,\n        value: device.description,\n      });\n      if (device.checked) {\n        devicesValue.push(device.id);\n      }\n    });\n    this.shipInfo.devices = devicesValue;\n    return devicesOptions;\n  }\n\n  private mapBoatsToRadioGroupOptions(boats: BoatsEntity | undefined): RadioGroupOption[] {\n    if (!boats) return [];\n    const options: RadioGroupOption[] = [];\n    boats.boats.map((boat) => {\n      options.push({\n        id: boat.id,\n        label: `${boat.number}, ${boat.name}, ${boat.type}`,\n      });\n    });\n    return options;\n  }\n\n  translate = translate('ship.certificates.extension-validity.steps.ship-info', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type RequiredAttachmentsViewModel from './RequiredAttachmentsViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport DragAndDropFile from '../../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport './RequiredAttachmentsView.scss';\nimport { useState } from 'react';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport MarkdownContent from '../../../../../../components/form/MarkdownContent';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst RequiredAttachmentsView: View<RequiredAttachmentsViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    goBack,\n    goNext,\n    generalTranslate,\n    attachments,\n    files,\n    setFiles,\n    unsetFiles,\n    validationsFired,\n    isLoading,\n  } = vm;\n  const [filesSize, setFilesSize] = useState(0);\n\n  const handleSetFileSize = (size: number) => {\n    setFilesSize((prevState) => prevState + size);\n  };\n\n  const isSizeAllowed = (): boolean => {\n    const size = files.reduce((prev, curr) => prev + curr.file.size, 0);\n\n    if (attachments) {\n      return size < attachments.maxSize * 1024;\n    } else {\n      return true;\n    }\n  };\n\n  const handleFile = (file: File | FileList, description: string, isMultiple?: boolean) => {\n    setFiles(file, description, isMultiple);\n  };\n\n  const handleRemoveFile = (fileName: string, description: string) => {\n    unsetFiles(fileName, description);\n  };\n\n  const handleNextClick = () => {\n    goNext();\n  };\n\n  return (\n    <div className=\"required-attachments-view\">\n      <Container>\n        <Envelope>\n          <RenderModel vm={vm?.applicationStepsViewModel} />\n\n          {isLoading ? (\n            <div>\n              <LoaderBox type=\"box\" />\n            </div>\n          ) : (\n            <div>\n              <Typography variant=\"h4\" component={'h4'} className=\"mt-3 mb-4\">\n                {generalTranslate('requiredAttachments')}\n              </Typography>\n              <MarkdownContent className=\"info\" content={translate('info')} />\n              {attachments &&\n                attachments.attachments &&\n                attachments.attachments.map((item, index) => (\n                  <DragAndDropFile\n                    files={files.filter((file) => file.description === item.description)}\n                    filesLabel={translate('file.files-label')}\n                    handleFile={handleFile}\n                    handleRemoveFile={(fileName) => handleRemoveFile(fileName, item.description)}\n                    key={index}\n                    id={index}\n                    label={item.description}\n                    sublabel={item.comment}\n                    infoLabel={translate('file.info')}\n                    buttonLabel={translate('file.button')}\n                    formats={attachments.allowedTypes.split(',')}\n                    isMandatory={item.mandatory}\n                    validationsFired={validationsFired}\n                    allowedFileSize={attachments.maxSize * 1024}\n                    fileTypeError={translate('file.format-error')}\n                    fileSizeError={translate('file.size-error')}\n                    isMultiple={item.description === translate('other-attachments')}\n                    filesSize={filesSize}\n                    setFilesSize={handleSetFileSize}\n                    generalTranslate={generalTranslate}\n                    hideMaxSize={true}\n                  />\n                ))}\n            </div>\n          )}\n\n          {!isSizeAllowed() && (\n            <ErrorMessage className=\"align-items-center mt-4\">{translate('file.sizes-error')}</ErrorMessage>\n          )}\n\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading || !isSizeAllowed()}\n              onClick={handleNextClick}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default RequiredAttachmentsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport RequiredAttachmentsView from './RequiredAttachmentsView';\nimport ExtensionValidityService from '../../../../../../services/ship/ExtensionValidityService';\nimport ExtensionValidityStepsViewModel from '../../../ApplicationSteps/ExtensionValiditySteps/ExtensionValidityStepsViewModel';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type BoatAttachmentsEntity from '../../../../../../data/entities/ship/BoatAttachments/BoatAttachmentsEntity';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequiredAttachmentsView)\n@Service()\nexport default class RequiredAttachmentsViewModel extends OldSpsBaseScreen {\n  @observable attachments: BoatAttachmentsEntity | undefined = undefined;\n  @observable files: { file: File; description: string }[] = [];\n  @observable fileNames: string[] | undefined = [];\n  @observable validationsFired = false;\n  @observable isLoading = false;\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ExtensionValidityService,\n    @Inject() public applicationStepsViewModel: ExtensionValidityStepsViewModel,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequiredAttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  notifyNavigation() {\n    this.shipService.changeStep(3, FormStateKeys.VisitedAttachments);\n  }\n\n  async activate(): Promise<void> {\n    const hasVisited = this.shipService.formState?.visitedAttachments;\n    const attachmentsChanged = this.shipService.formState?.hasAttachmentsChanged;\n\n    if ((hasVisited && attachmentsChanged) || (!hasVisited && attachmentsChanged) || !this.attachments) {\n      this.setIsLoading(true);\n      this.resetFiles();\n      try {\n        let attachments = await this.shipService.getV2Attachments();\n        if (attachments) {\n          runInAction(() => {\n            this.attachments = attachments;\n          });\n        }\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ExtensionValidityCertificate RequiredAttachmentsViewModel',\n          'activate - shipService.getV2Attachments'\n        );\n        this.handleError(e);\n      }\n      this.setIsLoading(false);\n      this.shipService.toggleFalseAndSave(FormStateKeys.HasAttachmentsChanged);\n    }\n  }\n\n  @action.bound\n  setFiles(file: File | FileList, description: string, isMultiple: boolean = false) {\n    if (file instanceof File && !isMultiple) {\n      const index = this.files.findIndex((item) => item.description === description);\n\n      if (index >= 0) {\n        this.files.splice(index, 1);\n        this.fileNames?.splice(index, 1);\n      }\n\n      this.files?.push({ file, description });\n      this.fileNames?.push(file.name);\n    } else if (file instanceof FileList && isMultiple) {\n      for (let i = 0; i < file.length; i++) {\n        this.files?.push({ file: file[i], description });\n        this.fileNames?.push(file[i].name);\n      }\n    }\n  }\n\n  @action.bound\n  unsetFiles(fileName: string, description: string) {\n    const index = this.files.findIndex((item) => item.file.name === fileName && item.description === description);\n    if (index >= 0) this.files.splice(index, 1);\n  }\n\n  setIsLoading(setTo: boolean) {\n    runInAction(() => {\n      this.isLoading = setTo;\n    });\n  }\n\n  resetFiles() {\n    runInAction(() => {\n      this.files = [];\n    });\n  }\n\n  @action.bound\n  goNext() {\n    let hasMandatoryFiles = true;\n    let mandatoryFilesCount = 0;\n    this.attachments?.attachments.map((item) => {\n      if (item.mandatory) {\n        mandatoryFilesCount += 1;\n        const file = this.files.find((file) => file.description === item.description);\n        if (!file) hasMandatoryFiles = false;\n      }\n    });\n\n    if (mandatoryFilesCount === 0) {\n      hasMandatoryFiles = true;\n    }\n\n    if (hasMandatoryFiles) {\n      if (this.files && this.fileNames) {\n        this.shipService.setRequiredAttachments(this.files, mandatoryFilesCount);\n      }\n      return this.navigator('../technical-review').go();\n    } else {\n      runInAction(() => {\n        this.validationsFired = true;\n      });\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.shipService.setRequiredAttachments(this.files, -1);\n    this.navigator('../ship-info').go();\n  }\n\n  translate = translate('ship.certificates.extension-validity.steps.required-attachments', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport './TechnicalReviewView.scss';\nimport type TechnicalReviewViewModel from './TechnicalReviewViewModel';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Input from '../../../../../../components/form/Input';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport Toggle from '../../../../../../components/form/Toggle';\nimport ButtonLoader from '../../../../../../components/loader/ButtonLoader';\n\nconst TechnicalReviewView: View<TechnicalReviewViewModel> = observer(({ vm }) => {\n  const { translate, goBack, goNext, generalTranslate, technicalReviewModel, busyWatcher } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <RenderModel vm={vm?.applicationStepsViewModel} />\n          <div className=\"extension-content\">\n            {translate('text')}\n            <a\n              data-testid=\"extension-content-link\"\n              className=\"extension-content-link\"\n              target=\"_blank\"\n              href=\"https://sps.gov.cz/rezervace-tp/\"\n              rel=\"noreferrer\"\n            >\n              {translate('link')}\n            </a>\n            {translate('text-1')}\n            <a\n              data-testid=\"extension-content-link-1\"\n              className=\"extension-content-link\"\n              target=\"_blank\"\n              href=\"https://sps.gov.cz/dok-pl/technicke-prohlidky\"\n              rel=\"noreferrer\"\n            >\n              {translate('link-1')}\n            </a>\n            {translate('text-2')}\n          </div>\n          <div className=\"extension-list-title\">{translate('text-3')}</div>\n          <Fieldset className=\"mb-4\">\n            <Toggle target={technicalReviewModel} property=\"postpone\" />\n            <Input\n              disabled={technicalReviewModel.postpone}\n              maxLength={4}\n              target={technicalReviewModel}\n              property=\"pin\"\n            />\n          </Fieldset>\n\n          <div className=\"tech-review-button-block\">\n            <div className=\"d-flex justify-content-between\">\n              <Button testId=\"back-button\" outlined={true} text={generalTranslate('back')} onClick={goBack} />\n              {busyWatcher.isBusy ? (\n                <ButtonLoader inverse classes=\"gov-button gov-button--primary\" />\n              ) : (\n                <Button testId=\"next-button\" text={generalTranslate('next')} onClick={() => goNext()} />\n              )}\n            </div>\n          </div>\n        </Envelope>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default TechnicalReviewView;\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('applications.ship.extension-validity.technical-review')\nexport default class TechnicalReviewModel {\n  @observable pin = '';\n  @observable postpone = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(pin: string, postpone?: boolean): TechnicalReviewModel {\n    const model = new TechnicalReviewModel();\n\n    model.pin = pin;\n    model.postpone = postpone ?? false;\n    return model;\n  }\n}\n\nexport const TechnicalReviewModelValidators: ValidationDescriptor<TechnicalReviewModel, Validators> = {\n  pin: {\n    required: {\n      message: 'pin.required',\n    },\n    pin: {\n      message: 'pin.format',\n    },\n  },\n};\n\nexport const AlwaysFalseModelValidators: ValidationDescriptor<TechnicalReviewModel, Validators> = {\n  pin: {\n    alwaysFalse: {\n      message: 'false',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport { action, computed, IReactionDisposer, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport TechnicalReviewView from './TechnicalReviewView';\nimport ExtensionValidityService from '../../../../../../services/ship/ExtensionValidityService';\nimport ExtensionValidityStepsViewModel from '../../../ApplicationSteps/ExtensionValiditySteps/ExtensionValidityStepsViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport TechnicalReviewModel, { TechnicalReviewModelValidators } from './TechnicalReviewModel';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\nexport const ZERO = '0';\n\n@AddDefaultView(TechnicalReviewView)\n@Service()\nexport default class TechnicalReviewViewModel extends OldSpsBaseScreen {\n  busyWatcher = new BusyWatcher();\n  disposer: IReactionDisposer | undefined = undefined;\n  @observable technicalReviewModel: TechnicalReviewModel = new TechnicalReviewModel();\n  @observable pinMessage = '';\n\n  get pathNode(): string {\n    return 'technical-review';\n  }\n\n  @computed get alwaysFalseModelValidators(): ValidationDescriptor<TechnicalReviewModel, Validators> {\n    return {\n      pin: {\n        alwaysFalse: {\n          message: this.pinMessage,\n        },\n      },\n    };\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationStepsViewModel: ExtensionValidityStepsViewModel,\n    @Inject() private shipService: ExtensionValidityService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(TechnicalReviewViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(4, FormStateKeys.VisitedTechnicalReview);\n  }\n\n  @Watch<TechnicalReviewViewModel>((s) => s.busyWatcher)\n  async activate(): Promise<void> {\n    try {\n      if (!this.shipService.isInitialized) await this.shipService.initialization();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionValidityCertificate TechnicalReviewViewModel',\n        'activate - shipService.initialization'\n      );\n      this.handleError(e);\n    }\n\n    if (!this.shipService.hasAllRequiredFiles()) {\n      this.goBack();\n      return;\n    } else {\n      runInAction(() => {\n        this.shipService.validation.attachDescriptor(\n          this.technicalReviewModel,\n          TechnicalReviewModelValidators\n        );\n      });\n    }\n\n    this.disposer = reaction(\n      () => this.technicalReviewModel.postpone,\n      (value: boolean) => {\n        if (value) {\n          this.shipService.validation.detachDescriptor(this.technicalReviewModel);\n          this.shipService.validation.validateObject(this.technicalReviewModel);\n        } else {\n          this.shipService.validation.attachDescriptor(\n            this.technicalReviewModel,\n            TechnicalReviewModelValidators\n          );\n        }\n      }\n    );\n  }\n\n  deactivate() {\n    if (this.disposer) {\n      this.disposer();\n    }\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator('../required-attachments').go();\n  }\n\n  @action.bound\n  @Watch<TechnicalReviewViewModel>((s) => s.busyWatcher)\n  async goNext() {\n    if (this.technicalReviewModel.postpone) {\n      const check = await this.shipService.getV2InspectionCheck(ZERO);\n      if (check && check.validation.status) {\n        this.shipService.setTechnicalReview('', check.validation.description); //nechceme ukladat pin\n        this.navigator('../summary').go();\n      }\n      return;\n    }\n    this.shipService.validation.detachDescriptor(this.technicalReviewModel);\n    this.shipService.validation.attachDescriptor(this.technicalReviewModel, TechnicalReviewModelValidators);\n    if (this.shipService.validation.validateProperty(this.technicalReviewModel, 'pin')) {\n      const check = await this.shipService.getV2InspectionCheck(this.technicalReviewModel.pin);\n      if (check) {\n        if (check.validation.status) {\n          this.shipService.setTechnicalReview(this.technicalReviewModel.pin, check.validation.description);\n          this.navigator('../summary').go();\n        } else {\n          this.displayWrongPinMessage(check.validation.description);\n        }\n      }\n    }\n  }\n\n  displayWrongPinMessage(message: string) {\n    runInAction(() => {\n      this.pinMessage = message;\n    });\n\n    this.shipService.validation.attachDescriptor(this.technicalReviewModel, this.alwaysFalseModelValidators);\n    this.shipService.validation.validateProperty(this.technicalReviewModel, 'pin');\n  }\n\n  translate = translate('ship.certificates.extension-validity.steps.technical-review', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import React, { useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryViewModel from './SummaryViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport '../../../shared/SummaryView.scss';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport { PersonInfoSummaryBlock } from '../../../shared/PersonInfoSummaryBlock';\nimport { PickupMethods } from '../../../../../../services/ship/ExtensionValidityService';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    formData,\n    errorMessages,\n    submitDisabled,\n    boat,\n    devices,\n    cabin,\n    pickupMethod,\n    pin,\n    paymentSum,\n    personType,\n    summary,\n  } = vm;\n  const [checked, setChecked] = useState(false);\n  const [tempPersonType, setTempPersonType] = useState(personType);\n\n  return (\n    <Container>\n      <Envelope>\n        <RenderModel vm={vm?.extensionValidityStepsViewModel} />\n\n        <PersonInfoSummaryBlock\n          translate={generalTranslate}\n          personSummary={formData.summary.personalInfo}\n          wantDeliveryAddress={formData.wantDeliveryAddress}\n          personType={tempPersonType}\n        />\n        <h3>{translate('vessel')}</h3>\n        <div className=\"summary-block\">\n          <div className=\"summary-block-standalone-item\">\n            <div>{boat}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('devices')}:</div>\n            <div>{devices.join(', ')}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('cabin')}:</div>\n            <div>{cabin}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('pickup-method')}:</div>\n            <div>{pickupMethod}</div>\n          </div>\n\n          {vm?.summaryObj.pickupMethod == PickupMethods.Pickup && (\n            <div className=\"summary-block-item\">\n              <div>{translate('issuing-branch')}:</div>\n              <div>{summary.branch}</div>\n            </div>\n          )}\n\n          <div className=\"summary-block-item\">\n            <div>{translate('pin')}:</div>\n            <div>{pin}</div>\n          </div>\n        </div>\n\n        <div className=\"summary-block\">\n          <h3>{translate('attachments')}</h3>\n          {formData.summary.attachments &&\n            formData.summary.attachments.map((attachment, index) => (\n              <p key={`${attachment}-${index}`}>\n                <b>{attachment}</b>\n              </p>\n            ))}\n        </div>\n\n        <div className=\"gov-form-control gov-form-control--custom\">\n          <ul className=\"gov-form-group\">\n            <li className=\"gov-form-group__item\">\n              <input\n                id={'1'}\n                type=\"checkbox\"\n                className=\"gov-form-control__checkbox\"\n                checked={checked}\n                value={'1'}\n                onChange={() => setChecked(!checked)}\n              />\n              <label htmlFor={'1'} className=\"gov-form-control__label\">\n                {translate('consent')}\n              </label>\n              <span className=\"gov-form-control__indicator\" />\n            </li>\n          </ul>\n        </div>\n\n        <InfoBox\n          content={\n            paymentSum\n              ? translate('payment-info').replace('{payment}', paymentSum)\n              : translate('payment-loading')\n          }\n        />\n\n        {errorMessages && (\n          <ErrorMessage className=\"mt-4\">\n            {errorMessages.map((error) => (\n              <span key={error} className=\"d-block\">\n                {error}\n              </span>\n            ))}\n          </ErrorMessage>\n        )}\n\n        <div className=\"d-flex justify-content-between mt-4\">\n          <button\n            data-testid=\"back-button\"\n            className=\"gov-button gov-button--primary-outlined\"\n            onClick={goBack}\n          >\n            {generalTranslate('back')}\n          </button>\n          <button\n            data-testid=\"next-button\"\n            disabled={!checked || submitDisabled || !!errorMessages}\n            className=\"gov-button gov-button--primary\"\n            onClick={goNext}\n          >\n            {submitDisabled ? (\n              <div className=\"summary-loader\">\n                <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                  <div className=\"gov-loader gov-loader--inversed\">\n                    <span>&nbsp;</span>\n                    <span>&nbsp;</span>\n                    <span>&nbsp;</span>\n                  </div>\n                </div>\n              </div>\n            ) : (\n              generalTranslate('submit')\n            )}\n          </button>\n        </div>\n      </Envelope>\n    </Container>\n  );\n});\n\nexport default SummaryView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SummaryView from './SummaryView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport type { ExtensionValidityErrorKeys, ShipRequestErrorKeys } from '../../../../../../data/entities/ship/form/FormEntity';\nimport ExtensionValidityService from '../../../../../../services/ship/ExtensionValidityService';\nimport ExtensionValidityStepsViewModel from '../../../ApplicationSteps/ExtensionValiditySteps/ExtensionValidityStepsViewModel';\nimport MandatesService from '../../../../../../services/MandatesService';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport { ApiError } from '../../../../../../data/sps/api';\nimport VerifyBoatInfoEntity from 'src/data/entities/ship/VerifyBoatInfo/VerifyBoatInfoEntity';\nimport { FormStateKeys } from 'src/data/entities/ship/types/FormState';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\ntype ErrorKeys = ShipRequestErrorKeys | ExtensionValidityErrorKeys;\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends OldSpsBaseScreen {\n  @observable submitDisabled: boolean = false;\n  @observable errorMessages: undefined | string[] = undefined;\n  @observable paymentSum?: string = '';\n  @observable verifyModel = new VerifyBoatInfoEntity();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get personType(): MandatePersonType {\n    return this.mandatesService.personType;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ExtensionValidityService,\n    @Inject() public extensionValidityStepsViewModel: ExtensionValidityStepsViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  @computed get summary() {\n    return this.formData.summary;\n  }\n\n  @computed get boat() {\n    return this.summary.boat ? `${this.summary.boat?.number}, ${this.summary.boat?.name}, ${this.summary.boat?.type}` : '';\n  }\n\n  @computed get devices() {\n    return this.summary.devices ? this.summary.devices?.map((device) => device.description) : [];\n  }\n\n  @computed get cabin() {\n    return this.summary.cabin ? this.translate('cabin-yes') : this.translate('cabin-no');\n  }\n\n  @computed get pickupMethod() {\n    return this.summary.pickupMethod;\n  }\n\n  @computed get pin() {\n    return this.summary.pin ?? '';\n  }\n\n  @computed get summaryObj() {\n    return this.summary;\n  }\n\n  get formData() {\n    return this.shipService.formData;\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(5, FormStateKeys.VisitedSummary);\n  }\n\n  async activate() {\n    try {\n      if (!this.shipService.isInitialized) await this.shipService.initialization();\n\n      if (!this.shipService.hasAllRequiredFiles()) {\n        this.goBack();\n        return;\n      }\n\n      const paymentSum = await this.shipService.getV2PaymentSum();\n      const payments: string[] = [];\n\n      paymentSum?.payments.map((payment) => {\n        const paymentString = `${payment.description}: ${payment.sum} Kč`;\n        if (payment.pay) {\n          payments.unshift(paymentString);\n        } else {\n          payments.push(paymentString);\n        }\n      });\n\n      runInAction(() => {\n        this.paymentSum = payments.join(', ');\n        if (paymentSum) this.verifyModel = paymentSum;\n      });\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionValidityCertificate SummaryViewModel',\n        'activate - shipService.getV2PaymentSum'\n      );\n      this.handleError(e);\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.errorMessages = undefined;\n      this.errorMessage = '';\n      this.submitDisabled = false;\n    });\n  }\n\n  @action.bound\n  async goNext() {\n    runInAction(() => {\n      this.submitDisabled = true;\n    });\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.shipService.goToPayment(this.verifyModel);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ExtensionValidityCertificate SummaryViewModel',\n        'goNext - authService.refreshCurrentToken, shipService.goToPayment'\n      );\n      this.handleError(e);\n    }\n\n    runInAction(() => {\n      this.submitDisabled = false;\n    });\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator('../technical-review').go();\n  }\n\n  translate = translate('ship.certificates.extension-validity.steps.summary', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ExtensionValidityCertificateView from './ExtensionValidityCertificateView';\nimport PersonalInfoViewModel from '../NewCertificate/Steps/PersonalInfo/PersonalInfoViewModel';\nimport ExtensionValidityService from '../../../../services/ship/ExtensionValidityService';\nimport ExtensionValidityStepsViewModel from '../ApplicationSteps/ExtensionValiditySteps/ExtensionValidityStepsViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ShipInfoViewModel from './StepsValidity/ShipInfo/ShipInfoViewModel';\nimport RequiredAttachmentsViewModel from './StepsValidity/RequiredAttachments/RequiredAttachmentsViewModel';\nimport TechnicalReviewViewModel from './StepsValidity/TechnicalReview/TechnicalReviewViewModel';\nimport SummaryViewModel from './StepsValidity/Summary/SummaryViewModel';\nimport ShipViewModel from '../../ShipViewModel';\nimport MandatesService from '../../../../services/MandatesService';\nimport { MandatePersonType } from '../../../../enums/MandatePersonType';\nimport OldSpsBaseScreen from '../shared/BaseScreen/OldSpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ExtensionValidityCertificateView)\n@AddChildrenView()\n@Service()\nexport default class ExtensionValidityCertificateViewModel extends OldSpsBaseScreen {\n  public personalInfoViewModel: PersonalInfoViewModel | undefined;\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'extension-validity';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ExtensionValidityService,\n    @Inject() private extensionValidityStepsViewModel: ExtensionValidityStepsViewModel,\n    @Inject() private shipInfoViewModel: ShipInfoViewModel,\n    @Inject() private requiredAttachmentsViewModel: RequiredAttachmentsViewModel,\n    @Inject() private technicalReviewViewModel: TechnicalReviewViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ExtensionValidityCertificateViewModel);\n    this.personalInfoViewModel = new PersonalInfoViewModel(\n      this.localization,\n      this.shipService,\n      extensionValidityStepsViewModel,\n      this.mandatesService,\n      this.errorService,\n      'ship-info'\n    );\n    this.children.push(this.personalInfoViewModel);\n    this.children.push(shipInfoViewModel);\n    this.children.push(requiredAttachmentsViewModel);\n    this.children.push(technicalReviewViewModel);\n    this.children.push(summaryViewModel);\n    makeObservable(this);\n  }\n\n  async activate() {\n    this.shipService.unsetRequestEntity();\n    await this.shipService.loadShipData();\n  }\n\n  notifyNavigation() {\n    this.shipService.resetFormData();\n    this.shipInfoViewModel.boatInfos = undefined;\n    this.shipInfoViewModel.pickupMethods = undefined;\n    this.shipInfoViewModel.boatsOptions = [];\n    this.shipInfoViewModel.devicesOptions = [];\n    this.shipInfoViewModel.cabinOptions = [];\n    this.shipInfoViewModel.pickupOptions = [];\n    this.personalInfoViewModel?.reset();\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<ExtensionValidityCertificateViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async navPersonalInfo() {\n    const personType = this.mandatesService.personType;\n\n    if (personType === MandatePersonType.FO) {\n      try {\n        await this.shipService.initialization();\n        return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ExtensionValidityCertificate PersonalInfoViewModel',\n          'navPersonalInfo - shipService.initialization, personType === MandatePersonType.FO'\n        );\n        this.handleError(e);\n      }\n    } else if (personType === MandatePersonType.PO) {\n      try {\n        await this.shipService.initialization();\n        return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ExtensionValidityCertificate PersonalInfoViewModel',\n          'navPersonalInfo - shipService.initialization, personType === MandatePersonType.PO'\n        );\n        this.handleError(e);\n      }\n    }\n  }\n\n  translate = translate('ship.certificates.extension-validity', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[\n        translate('steps.step-one'),\n        translate('steps.step-two'),\n        translate('steps.step-three'),\n        translate('steps.step-four'),\n      ]}\n      navToForm={navNextStep}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      navBack={navBack}\n    />\n  );\n});\n\nexport default IntroView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  activate() {}\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(\n        err,\n        'ship - MachinistQualification IntroViewModel',\n        'navNextStep - applicationService.init'\n      );\n      this.handleError(err);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.machinist-qualification.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport AttachmentsViewModel from '../02_Attachments/AttachmentsViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('machinist-qualification.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - MachinistQualification PersonalInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.machinist-qualification.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport AttachmentsViewModel from './AttachmentsViewModel';\nimport Attachments from '../../shared/Application/Attachments';\n\nconst AttachmentsView: View<AttachmentsViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || applicationService.attachmentsService.isTotalSizeOverMax}\n    >\n      <Attachments\n        title={generalTranslate('requiredAttachments')}\n        attachmentsService={applicationService.attachmentsService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default AttachmentsView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AttachmentsView from './AttachmentsView';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport ExamDateViewModel from '../03_ExamDate/ExamDateViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(AttachmentsView)\n@Service()\nexport default class AttachmentsViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.generalTranslate('machinist-qualification.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(AttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n      await this.applicationService.attachmentsService.getRequiredAttachments();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - MachinistQualification AttachmentsViewModel',\n        'activate - applicationService.init, applicationService.attachmentsService.getRequiredAttachments'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @Watch<AttachmentsViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.attachmentsService.validate()) {\n      this.applicationService.attachmentsService.saveToSessionStorage();\n      this.navigator(ExamDateViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.machinist-qualification.required-attachments', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ExamDateViewModel from './ExamDateViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport ExamSelection from '../../shared/Application/ExamSelection';\n\nconst ExamDateView: View<ExamDateViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy || !!applicationService.examService.dateError}\n    >\n      <ExamSelection\n        examService={applicationService.examService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default ExamDateView;\n","import { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ExamDateView from './ExamDateView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AttachmentsViewModel from '../02_Attachments/AttachmentsViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryViewModel from '../04_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ExamDateView)\n@Service()\nexport default class ExamDateViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'exam-term';\n  }\n\n  get title(): string {\n    return this.generalTranslate('machinist-qualification.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ExamDateViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<ExamDateViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n      await Promise.all([this.applicationService.examService.getPlaces(), this.applicationService.examService.getRestrictions()]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - MachinistQualification ExamDateViewModel',\n        'activate - applicationService.init, applicationService.examService.getPlaces, applicationService.examService.getRestrictions'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(AttachmentsViewModel).go();\n  }\n\n  @Watch<ExamDateViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.examService.validate()) {\n      this.applicationService.examService.saveToSessionStorage();\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.machinist-qualification.exam-date', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SummaryViewModel from './SummaryViewModel';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonalInfoSummary from '../../shared/Application/Summary/PersonalInfoSummary';\nimport AttachmentsSummary from '../../shared/Application/Summary/AttachmentsSummary';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport ExamSummary from '../../shared/Application/Summary/ExamSummary';\nimport PaymentInfoBox from '../../shared/Application/Summary/PaymentInfoBox';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n    >\n      <PersonalInfoSummary\n        person={applicationService.personService.person}\n        citizenShip={applicationService.personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n\n      <ExamSummary\n        examService={applicationService.examService}\n        isExamRequired={true}\n        generalTranslate={generalTranslate}\n      />\n\n      <AttachmentsSummary\n        files={applicationService.attachmentsService.files}\n        generalTranslate={generalTranslate}\n      />\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n\n      <PaymentInfoBox\n        amount={applicationService.paymentService.payment.amount}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport SummaryView from './SummaryView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ExamDateViewModel from '../03_ExamDate/ExamDateViewModel';\nimport ConfirmationViewModel from '../05_Confirmation/ConfirmationViewModel';\nimport AttachmentsViewModel from '../02_Attachments/AttachmentsViewModel';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('machinist-qualification.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(4);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.paymentService.getPayment();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - MachinistQualification SummaryViewModel',\n        'activate - applicationService.init, applicationService.paymentService.getPayment'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.attachmentsService.validate()) {\n      this.navigator(AttachmentsViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ExamDateViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.applicationService.postForm();\n\n      // redirect to CSOB if no error\n      window.location.replace(this.applicationService.paymentService.payment.url);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - MachinistQualification SummaryViewModel',\n        'navNext - authService.refreshCurrentToken, applicationService.postForm'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.machinist-qualification.summary', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const MachinistQualificationSteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'personal-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'required-attachments',\n  },\n  {\n    stepNumber: 3,\n    title: 'exam-term',\n  },\n  {\n    stepNumber: 4,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport { MachinistQualificationSteps } from './MachinistQualificationStepsData';\nimport StepsService from '../shared/Service/StepsService';\nimport ValidationService from '../shared/Service/ValidationService';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport PersonService from '../shared/Service/PersonService';\nimport FormDataService from '../shared/Service/FormDataService';\nimport AttachmentsService from '../shared/Service/AttachmentsService';\nimport ExamService from '../shared/Service/ExamService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID143;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public attachmentsService: AttachmentsService,\n    @Inject() public examService: ExamService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(MachinistQualificationSteps);\n    this.personService.init();\n    this.attachmentsService.init();\n    this.examService.init();\n    this.downloadFileService.init();\n    this.paymentService.init();\n\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.attachmentsService.reset();\n    this.examService.reset();\n    this.downloadFileService.reset();\n    this.paymentService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover143> = {\n      ExamPlaceId: this.examService.exam.placeId,\n      ExamId: this.examService.exam.dateId,\n      RestrictionId: this.examService.exam.restrictionId,\n      RestrictionNote: this.examService.exam.note,\n      Attachments: this.attachmentsService.filesBlobsWithDescription.map((x) => x.file),\n      AttachmentDescriptions: this.attachmentsService.filesBlobsWithDescription.map((x) => x.description),\n      RelationId: this.formDataService.formData.relationId,\n      Person: this.personService.person.requestPersonString,\n      ContactAddress: JSON.stringify(this.personService.person.contactAddress),\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n    };\n\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover143(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type NewCertificateViewModel from './NewCertificateViewModel';\nimport Container from '../../../../components/layout/Container';\n\nconst NewCertificateView: View<NewCertificateViewModel> = observer(({ vm }) => {\n  const { translate, navPersonalInfo, busyWatcher, goBack } = vm;\n\n  return (\n    <Container className=\"new-certificate\">\n      <h1>{translate('title')}</h1>\n      <div>\n        <p>{translate('description')}</p>\n        <h2 className=\"h3size\">{translate('steps.title')}</h2>\n        <ol>\n          <li>{translate('steps.step-one')}</li>\n          <li>{translate('steps.step-two')}</li>\n          <li>{translate('steps.step-three')}</li>\n          <li>{translate('steps.step-four')}</li>\n        </ol>\n      </div>\n      <div className=\"d-flex justify-content-between\">\n        <button\n          data-testid=\"back-button\"\n          className=\"gov-button gov-button--primary-outlined\"\n          onClick={() => goBack()}\n        >\n          {translate('back')}\n        </button>\n        <button\n          data-testid=\"fill-in-application-button\"\n          disabled={busyWatcher.isBusy}\n          className=\"gov-button gov-button--primary ms-2\"\n          onClick={navPersonalInfo}\n        >\n          {busyWatcher.isBusy ? (\n            <div className=\"summary-loader\">\n              <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                <div className=\"gov-loader gov-loader--inversed\">\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                </div>\n              </div>\n            </div>\n          ) : (\n            translate('fill-in-application').toUpperCase()\n          )}\n        </button>\n      </div>\n    </Container>\n  );\n});\n\nexport default NewCertificateView;\n","import type React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport './DocumentInfoView.scss';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport type DocumentInfoViewModel from './DocumentInfoViewModel';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\n\nconst DocumentInfoView: View<DocumentInfoViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    goNext,\n    generalTranslate,\n    goBack,\n    setLicences,\n    setAreas,\n    setEligibility,\n    isBusy,\n    isLoading,\n    licences,\n    errorMessages,\n  } = vm;\n\n  const licenceChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    const licId = e.target.value;\n    setLicences(licId);\n  };\n\n  const areaChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    const areaId = e.target.value;\n    setAreas(areaId);\n  };\n\n  const eligibilityChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n    const eligId = e.target.value;\n    setEligibility(eligId);\n  };\n\n  return (\n    <div className=\"document-info-view\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={vm?.applicationStepsViewModel} />\n\n            {isBusy ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              <div>\n                <div className=\"doc-checkbox-block\">\n                  <h2 className=\"h3size\">{translate('sections.type.title')}</h2>\n                  {licences &&\n                    licences.licences.map((item) => {\n                      return (\n                        <div\n                          key={item.id}\n                          className={getClassName('gov-form-control gov-form-control--custom')}\n                        >\n                          <ul className=\"gov-form-group\">\n                            <li className=\"gov-form-group__item\">\n                              <input\n                                id={item.id}\n                                type=\"checkbox\"\n                                className=\"gov-form-control__checkbox\"\n                                checked={item.checked}\n                                value={item.id}\n                                onChange={licenceChange}\n                              />\n                              <label htmlFor={item.id} className=\"gov-form-control__label\">\n                                {item.description}\n                              </label>\n                              <span className=\"gov-form-control__indicator\" />\n                            </li>\n                          </ul>\n                        </div>\n                      );\n                    })}\n\n                  <h2 className=\"h3size\">{translate('sections.qualification.title')}</h2>\n                  <>\n                    {licences &&\n                      licences.eligibility.map((item) => {\n                        return (\n                          <div\n                            key={item.id}\n                            className={getClassName(\n                              'gov-form-control gov-form-control--custom',\n                              vm.noEligibility ? 'gov-form-control--error' : ''\n                            )}\n                          >\n                            <ul className=\"gov-form-group\">\n                              <li className=\"gov-form-group__item\">\n                                <input\n                                  id={item.id}\n                                  type=\"checkbox\"\n                                  className=\"gov-form-control__checkbox\"\n                                  checked={item.checked}\n                                  value={item.id}\n                                  onChange={eligibilityChange}\n                                />\n                                <label htmlFor={item.id} className=\"gov-form-control__label\">\n                                  {item.description}\n                                </label>\n                                <span className=\"gov-form-control__indicator\" />\n                              </li>\n                            </ul>\n                          </div>\n                        );\n                      })}\n                    {vm.noEligibility && (\n                      <div className=\"gov-form-control--error\">\n                        <div className=\"gov-form-control__message\">{translate('no-eligibilities')}</div>\n                      </div>\n                    )}\n                  </>\n\n                  <h2 className=\"h3size\">{translate('sections.area.title')}</h2>\n                  {licences &&\n                    licences.areas.map((item) => {\n                      return (\n                        <div\n                          key={item.id}\n                          className={getClassName(\n                            'gov-form-control gov-form-control--custom',\n                            vm.noAreas ? 'gov-form-control--error' : ''\n                          )}\n                        >\n                          <ul className=\"gov-form-group\">\n                            <li className=\"gov-form-group__item\">\n                              <input\n                                id={item.id}\n                                type=\"checkbox\"\n                                disabled={item.disabled}\n                                className=\"gov-form-control__checkbox\"\n                                checked={item.checked}\n                                value={item.id}\n                                onChange={areaChange}\n                              />\n                              <label htmlFor={item.id} className=\"gov-form-control__label\">\n                                {item.description}\n                              </label>\n                              <span className=\"gov-form-control__indicator\" />\n                            </li>\n                          </ul>\n                        </div>\n                      );\n                    })}\n                  {vm.noAreas && (\n                    <div className=\"gov-form-control--error\">\n                      <div className=\"gov-form-control__message\">{translate('no-areas')}</div>\n                    </div>\n                  )}\n                </div>\n              </div>\n            )}\n\n            {errorMessages &&\n              errorMessages.map((message) => <ErrorMessage key={message}>{message}</ErrorMessage>)}\n          </Envelope>\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading}\n              onClick={goNext}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default DocumentInfoView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ExamTermViewModel from './ExamTermViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport Textarea from '../../../../../../components/form/Textarea';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport Select from '../../../../../../components/form/Select/Select';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport InfoPanel from '../../../../../../components/shared/InfoPanel/InfoPanel';\nimport { Message } from '@cendis/cedr-components';\n\nconst ExamTermView: View<ExamTermViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    error,\n    examTerm,\n    datesOptions,\n    placesOptions,\n    disabilitiesOptions,\n    goBack,\n    goNext,\n    isLoading,\n    generalTranslate,\n    datesBusyWatcher,\n    dateError,\n  } = vm;\n\n  return (\n    <div className=\"shipExamTerm\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={vm?.applicationStepsViewModel} />\n            {isLoading ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              examTerm &&\n              placesOptions.length > 0 && (\n                <>\n                  <Fieldset className=\"col-sm-8 col-md-6 col-12\">\n                    <h2 className=\"h3size mb-4\">{translate('select-exam-place')}</h2>\n\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={examTerm}\n                      property=\"place\"\n                      disabled={datesBusyWatcher.isBusy}\n                      options={placesOptions}\n                      testId=\"exam-place\"\n                    />\n\n                    <h2 className=\"h3size mb-4\">{translate('select-exam-date')}</h2>\n                    {!dateError ? (\n                      <Select\n                        className=\"mb-4\"\n                        target={examTerm}\n                        property=\"date\"\n                        options={datesOptions}\n                        testId=\"exam-date\"\n                      />\n                    ) : (\n                      <div className=\"css-reset\">\n                        <Message className=\"mb-4\" icon=\"components/exclamation-triangle-fill\" color=\"error\">\n                          {dateError}\n                        </Message>\n                      </div>\n                    )}\n                    <h2 className=\"h3size mb-4\">{translate('disabilities')}</h2>\n                    <RadioGroup\n                      className=\"mb-4\"\n                      target={examTerm}\n                      property=\"disabilities\"\n                      options={disabilitiesOptions}\n                      testId=\"disabilities\"\n                    />\n                    <Textarea className=\"mb-4\" target={examTerm} property=\"note\" />\n                  </Fieldset>\n                </>\n              )\n            )}\n            {error && placesOptions.length === 0 && <InfoPanel message={error} type=\"error\" />}\n\n            {examTerm.placesFoundError && <InfoPanel message={examTerm.placesFoundError} type=\"error\" />}\n          </Envelope>\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading || !!error || !!dateError}\n              onClick={goNext}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default ExamTermView;\n","import { computed, makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('applications.ship.exam-term')\nexport default class ExamTermModel {\n  @observable place = '';\n  @observable date = '';\n  @observable disabilities = '';\n  @observable note = '';\n  @observable datesFoundError = '';\n  @observable placesFoundError = '';\n\n  @computed\n  get alwaysFalseExamModelValidators(): ValidationDescriptor<ExamTermModel, Validators> {\n    return {\n      date: {\n        alwaysFalse: {\n          message: this.datesFoundError,\n        },\n      },\n    };\n  }\n\n  @computed\n  get alwaysFalsePlaceModelValidators(): ValidationDescriptor<ExamTermModel, Validators> {\n    return {\n      place: {\n        alwaysFalse: {\n          message: this.placesFoundError,\n        },\n      },\n    };\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(place: string, date: string, disabilities: string, note: string): ExamTermModel {\n    const model = new ExamTermModel();\n\n    model.place = place;\n    model.date = date;\n    model.disabilities = disabilities;\n    model.note = note;\n\n    return model;\n  }\n}\n\nexport const ExamTermModelValidators: ValidationDescriptor<ExamTermModel, Validators> = {\n  place: {\n    required: {\n      message: 'place.required',\n    },\n  },\n  date: {\n    required: {\n      message: 'date.required',\n    },\n  },\n  disabilities: {\n    required: {\n      message: 'disabilities.required',\n    },\n  },\n};\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type RequiredAttachmentsViewModel from './RequiredAttachmentsViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport DragAndDropFile from '../../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport './RequiredAttachmentsView.scss';\nimport { useState } from 'react';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst RequiredAttachmentsView: View<RequiredAttachmentsViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    goBack,\n    goNext,\n    generalTranslate,\n    licences,\n    files,\n    setFiles,\n    unsetFiles,\n    validationsFired,\n    isLoading,\n  } = vm;\n  const [filesSize, setFilesSize] = useState(0);\n\n  const handleSetFileSize = (size: number) => {\n    setFilesSize((prevState) => prevState + size);\n  };\n\n  const isSizeAllowed = (): boolean => {\n    const size = files.reduce((prev, curr) => prev + curr.file.size, 0);\n\n    if (licences) {\n      return size < licences.maxSize * 1024;\n    } else {\n      return true;\n    }\n  };\n\n  const handleFile = (file: File | FileList, description: string, isMultiple?: boolean) => {\n    setFiles(file, description, isMultiple);\n  };\n\n  const handleRemoveFile = (fileName: string, description: string) => {\n    unsetFiles(fileName, description);\n  };\n\n  const handleNextClick = () => {\n    goNext();\n  };\n\n  return (\n    <div className=\"required-attachments-view\">\n      <Container>\n        <Envelope>\n          <RenderModel vm={vm?.applicationStepsViewModel} />\n\n          {isLoading ? (\n            <div>\n              <LoaderBox type=\"box\" />\n            </div>\n          ) : (\n            <div>\n              <Typography variant=\"h4\" component={'h4'} className=\"mt-3 mb-4\">\n                {generalTranslate('requiredAttachments')}\n              </Typography>\n              <p className=\"info\">{translate('info')}</p>\n              {licences &&\n                licences.attachments &&\n                licences.attachments.map((item, index) => (\n                  <DragAndDropFile\n                    files={files.filter((file) => file.description === item.description)}\n                    filesLabel={translate('file.files-label')}\n                    handleFile={handleFile}\n                    handleRemoveFile={(fileName) => handleRemoveFile(fileName, item.description)}\n                    key={index}\n                    id={index}\n                    label={item.description}\n                    sublabel={item.comment}\n                    infoLabel={translate('file.info')}\n                    buttonLabel={translate('file.button')}\n                    formats={licences.allowedTypes.split(',')}\n                    isMandatory={item.mandatory}\n                    validationsFired={validationsFired}\n                    allowedFileSize={licences.maxSize * 1024}\n                    fileTypeError={translate('file.format-error')}\n                    fileSizeError={translate('file.size-error')}\n                    isMultiple={item.description === translate('other-attachments')}\n                    filesSize={filesSize}\n                    setFilesSize={handleSetFileSize}\n                    generalTranslate={generalTranslate}\n                    hideMaxSize={true}\n                  />\n                ))}\n            </div>\n          )}\n\n          {!isSizeAllowed() && (\n            <ErrorMessage className=\"align-items-center mt-4\">{translate('file.sizes-error')}</ErrorMessage>\n          )}\n\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading || !isSizeAllowed()}\n              onClick={handleNextClick}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default RequiredAttachmentsView;\n","import { useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryViewModel from './SummaryViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport '../../../shared/SummaryView.scss';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport { PersonInfoSummaryBlock } from '../../../shared/PersonInfoSummaryBlock';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    formData,\n    goBack,\n    goNext,\n    submitDisabled,\n    errorMessages,\n    isLoading,\n    paymentData,\n  } = vm;\n  const [checked, setChecked] = useState(false);\n\n  const mapWithComma = (arr: string[] | undefined) => {\n    if (arr) {\n      return arr.map((item, index) => {\n        if (index === 0) {\n          return item;\n        } else {\n          return `, ${item}`;\n        }\n      });\n    }\n  };\n\n  return (\n    <Container>\n      <Envelope>\n        <RenderModel vm={vm?.applicationStepsViewModel} />\n\n        {isLoading ? (\n          <div>\n            <LoaderBox type=\"box\" />\n          </div>\n        ) : (\n          <div>\n            <PersonInfoSummaryBlock\n              translate={generalTranslate}\n              personSummary={formData.summary.personalInfo}\n              wantDeliveryAddress={formData.wantDeliveryAddress}\n            />\n\n            <div className=\"summary-block\">\n              <h3>{translate('block-2.title')}</h3>\n              <div>\n                <b>{mapWithComma(formData.summary.certificates)}</b>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-2.eligibility')}:</div>\n                <div>{mapWithComma(formData.summary.eligibility)}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-2.area')}:</div>\n                <div>{mapWithComma(formData.summary.areas)}</div>\n              </div>\n            </div>\n\n            <div className=\"summary-block\">\n              <h3>{translate('block-3.title')}</h3>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-3.address')}:</div>\n                <div>{formData.summary.examAddress}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-3.dateAndTime')}:</div>\n                <div>{formData.summary.examDate}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-3.restriction')}:</div>\n                <div>{formData.summary.restriction}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-3.note')}:</div>\n                <div>{formData.summary.note}</div>\n              </div>\n            </div>\n\n            <div className=\"summary-block\">\n              <h3>{translate('block-4.title')}</h3>\n              {formData.summary.attachments &&\n                formData.summary.attachments.map((attachment, index) => (\n                  <p key={`${attachment}-${index}`}>\n                    <b>{attachment}</b>\n                  </p>\n                ))}\n            </div>\n\n            <div className=\"gov-form-control gov-form-control--custom mb-4\">\n              <ul className=\"gov-form-group\">\n                <li className=\"gov-form-group__item\">\n                  <input\n                    id={'1'}\n                    type=\"checkbox\"\n                    className=\"gov-form-control__checkbox\"\n                    checked={checked}\n                    value={'1'}\n                    onChange={() => setChecked(!checked)}\n                  />\n                  <label htmlFor={'1'} className=\"gov-form-control__label\">\n                    {translate('consent')}\n                  </label>\n                  <span className=\"gov-form-control__indicator\" />\n                </li>\n              </ul>\n            </div>\n\n            {paymentData && (\n              <InfoBox content={translate('payment-info').replace('{payment}', paymentData.amount)} />\n            )}\n\n            {errorMessages && (\n              <ErrorMessage className=\"mt-4\">\n                {errorMessages.map((error) => (\n                  <span key={error} className=\"d-block\">\n                    {error}\n                  </span>\n                ))}\n              </ErrorMessage>\n            )}\n          </div>\n        )}\n      </Envelope>\n\n      <div className=\"d-flex justify-content-between mt-4\">\n        <button\n          data-testid=\"back-button\"\n          className=\"gov-button gov-button--primary-outlined\"\n          onClick={() => goBack()}\n        >\n          {generalTranslate('back')}\n        </button>\n        <button\n          data-testid=\"next-button\"\n          disabled={!checked || submitDisabled || !!errorMessages}\n          className=\"gov-button gov-button--primary ms-2\"\n          onClick={goNext}\n        >\n          {submitDisabled ? (\n            <div className=\"summary-loader\">\n              <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                <div className=\"gov-loader gov-loader--inversed\">\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                </div>\n              </div>\n            </div>\n          ) : (\n            generalTranslate('submit')\n          )}\n        </button>\n      </div>\n    </Container>\n  );\n});\n\nexport default SummaryView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type NewCertificateStepsViewModel from './NewCertificateStepsViewModel';\nimport Steps from './components/Steps';\nimport './ApplicationStepsView.scss';\n\nconst NewCertificateStepsView: View<NewCertificateStepsViewModel> = observer(({ vm }) => {\n  const { translate, activeStep, steps } = vm;\n\n  return (\n    <div className=\"ship-application-steps\">\n      <h1 className=\"application-title\">{translate('title')}</h1>\n      <Steps steps={steps} vm={vm} activeStep={activeStep} translate={translate} />\n    </div>\n  );\n});\n\nexport default NewCertificateStepsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport NewCertificateStepsView from './NewCertificateStepsView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ShipService111 from '../../../../services/ship/ShipService111';\nimport StepsViewModel from './StepsViewModel';\nimport { FormStateKeys } from 'src/data/entities/ship/types/FormState';\n\n@AddDefaultView(NewCertificateStepsView)\n@AddChildrenView()\n@Service()\nexport default class NewCertificateStepsViewModel extends StepsViewModel {\n  @observable applicationShown: boolean = false;\n  @observable notFound: boolean = false;\n\n  @observable steps = [\n    {\n      stepNumber: 1,\n      title: 'personal-info.title',\n      key: 'hasPersonalInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 2,\n      title: 'document-info.title',\n      key: 'hasDocumentInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 3,\n      title: 'exam-term.title',\n      key: 'hasExamTermInfo',\n      disabled: true,\n    },\n    { stepNumber: 4, title: 'required-attachments.title', disabled: true },\n    { stepNumber: 5, title: 'summary.title', disabled: true },\n  ];\n\n  get pathNode(): string {\n    return '';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService111: ShipService111\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get activeStep() {\n    return this.shipService111.step;\n  }\n\n  @action.bound changeStep(stepNumber: number, visitedStep: FormStateKeys) {\n    this.shipService111.changeStep(stepNumber, visitedStep);\n  }\n\n  translate = translate('ship.certificates.new-certificate', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction, toJS } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SummaryView from './SummaryView';\nimport ShipService111 from '../../../../../../services/ship/ShipService111';\nimport RequiredAttachmentsViewModel from '../RequiredAttachments/RequiredAttachmentsViewModel';\nimport NewCertificateStepsViewModel from '../../../ApplicationSteps/NewCertificateStepsViewModel';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type { NewCertificateErrorKeys, ShipRequestErrorKeys } from '../../../../../../data/entities/ship/form/FormEntity';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\ntype ErrorKeys = ShipRequestErrorKeys | NewCertificateErrorKeys;\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends OldSpsBaseScreen {\n  @observable submitDisabled: boolean = false;\n  @observable errorMessages: string[] | undefined = undefined;\n  @observable isLoading = false;\n  @observable paymentData: { amount: string; url: string; payId: string } | undefined = undefined;\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ShipService111,\n    @Inject() public applicationStepsViewModel: NewCertificateStepsViewModel,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  @action.bound\n  reset() {\n    this.submitDisabled = false;\n    this.errorMessages = undefined;\n    this.isLoading = false;\n    this.paymentData = undefined;\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  notifyNavigation() {\n    this.shipService.changeStep(5, FormStateKeys.VisitedSummary);\n  }\n\n  async activate() {\n    if (!this.shipService.isInitialized) await this.shipService.initialization();\n\n    if (!this.shipService.hasAllRequiredFiles()) {\n      this.goBack();\n      return;\n    }\n\n    await this.getPayment();\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.errorMessages = undefined;\n      this.errorMessage = '';\n    });\n  }\n\n  @action.bound\n  async getPayment() {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n\n    try {\n      const paymentEntity = await this.shipService.getV2PaymentUrl();\n\n      if (paymentEntity) {\n        runInAction(() => {\n          this.paymentData = paymentEntity?.payment;\n        });\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - NewCertificate SummaryViewModel', 'getPayment - shipService.getV2PaymentUrl');\n      this.handleError(e);\n    }\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  get formData() {\n    return this.shipService.formData;\n  }\n\n  @action.bound\n  async goNext() {\n    this.submitDisabled = true;\n    try {\n      await this.authService.refreshCurrentToken();\n\n      const response = await this.shipService.sendFormData();\n\n      if (response && response.status === 'OK') {\n        if (this.paymentData) {\n          this.shipService.setPayment(this.paymentData.payId, this.paymentData.amount);\n          this.shipService.saveShipData();\n          window.location.replace(this.paymentData.url);\n        }\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - NewCertificate SummaryViewModel',\n        'goNext - authService.refreshCurrentToken, shipService.sendFormData'\n      );\n      this.handleError(e);\n    }\n\n    runInAction(() => {\n      this.submitDisabled = false;\n    });\n  }\n\n  @action.bound\n  goBack() {\n    return this.navigator(RequiredAttachmentsViewModel).go();\n  }\n\n  translate = translate('ship.certificates.new-certificate.summary', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport RequiredAttachmentsView from './RequiredAttachmentsView';\nimport ShipService111 from '../../../../../../services/ship/ShipService111';\nimport type LicencesEntity from '../../../../../../data/entities/ship/licences/LicencesEntity';\nimport ExamTermViewModel from '../ExamTerm/ExamTermViewModel';\nimport SummaryViewModel from '../Summary/SummaryViewModel';\nimport NewCertificateStepsViewModel from '../../../ApplicationSteps/NewCertificateStepsViewModel';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport NewCertificateViewModel from '../../NewCertificateViewModel';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequiredAttachmentsView)\n@Service()\nexport default class RequiredAttachmentsViewModel extends OldSpsBaseScreen {\n  @observable licences: LicencesEntity | undefined = undefined;\n  @observable files: { file: File; description: string }[] = [];\n  @observable fileNames: string[] | undefined = [];\n  @observable validationsFired = false;\n  @observable isLoading = false;\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ShipService111,\n    @Inject() public applicationStepsViewModel: NewCertificateStepsViewModel,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequiredAttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  @action.bound\n  reset() {\n    this.licences = undefined;\n    this.files = [];\n    this.fileNames = [];\n    this.validationsFired = false;\n    this.isLoading = false;\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  notifyNavigation() {\n    this.shipService.changeStep(4, FormStateKeys.VisitedAttachments);\n  }\n\n  async activate(): Promise<void> {\n    const hasVisited = this.shipService.formState?.visitedAttachments;\n    const licencesChanged = this.shipService.formState?.hasLicencesChanged;\n\n    if ((hasVisited && licencesChanged) || (!hasVisited && !licencesChanged) || !this.licences) {\n      this.setIsLoading(true);\n      this.resetFiles();\n      try {\n        let licences = (await this.shipService.getLicenes()) as LicencesEntity;\n        runInAction(() => {\n          this.licences = licences;\n        });\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - NewCertificate RequiredAttachmentsViewModel',\n          'activate - shipService.getLicenes'\n        );\n        this.handleError(e);\n      }\n      this.setIsLoading(false);\n      this.shipService.toggleFalseAndSave(FormStateKeys.HasLicencesChanged);\n    }\n\n    if (!this.licences?.attachments) {\n      this.navigator(NewCertificateViewModel).go();\n    }\n  }\n\n  @action.bound\n  setFiles(file: File | FileList, description: string, isMultiple: boolean = false) {\n    if (file instanceof File && !isMultiple) {\n      const index = this.files.findIndex((item) => item.description === description);\n\n      if (index >= 0) {\n        this.files.splice(index, 1);\n        this.fileNames?.splice(index, 1);\n      }\n\n      this.files?.push({ file, description });\n      this.fileNames?.push(file.name);\n    } else if (file instanceof FileList && isMultiple) {\n      for (let i = 0; i < file.length; i++) {\n        this.files?.push({ file: file[i], description });\n        this.fileNames?.push(file[i].name);\n      }\n    }\n  }\n\n  @action.bound\n  unsetFiles(fileName: string, description: string) {\n    const index = this.files.findIndex((item) => item.file.name === fileName && item.description === description);\n    if (index >= 0) this.files.splice(index, 1);\n  }\n\n  setIsLoading(setTo: boolean) {\n    runInAction(() => {\n      this.isLoading = setTo;\n    });\n  }\n\n  resetFiles() {\n    runInAction(() => {\n      this.files = [];\n    });\n  }\n\n  @action.bound\n  goNext() {\n    let hasMandatoryFiles = true;\n    let mandatoryFilesCount = 0;\n    this.licences?.attachments.map((item) => {\n      if (item.mandatory) {\n        mandatoryFilesCount += 1;\n        const file = this.files.find((file) => file.description === item.description);\n        if (!file) hasMandatoryFiles = false;\n      }\n    });\n\n    if (mandatoryFilesCount === 0) {\n      hasMandatoryFiles = true;\n    }\n\n    if (hasMandatoryFiles) {\n      if (this.files && this.fileNames) {\n        this.shipService.setRequiredAttachments(this.files, mandatoryFilesCount);\n      }\n      return this.navigator(SummaryViewModel).go();\n    } else {\n      runInAction(() => {\n        this.validationsFired = true;\n      });\n    }\n  }\n\n  @action.bound\n  goBack() {\n    return this.navigator(ExamTermViewModel).go();\n  }\n\n  translate = translate('ship.certificates.new-certificate.required-attachments', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, IReactionDisposer, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ExamTermView from './ExamTermView';\nimport ExamTermModel, { ExamTermModelValidators } from './ExamTermModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ShipService111, { type ExamTermFormData } from '../../../../../../services/ship/ShipService111';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport type { RadioGroupOption } from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport type PlaceEntity from '../../../../../../data/entities/ship/places/PlaceEntity';\nimport type DateEntity from '../../../../../../data/entities/ship/dates/DateEntity';\nimport type DisabilitiesEntity from '../../../../../../data/entities/ship/disabilities/DisabilitiesEntity';\nimport type { SelectOption } from '../../../../../../components/form/Select/Select';\nimport DocumentInfoViewModel from '../DocumentInfo/DocumentInfoViewModel';\nimport RequiredAttachmentsViewModel from '../RequiredAttachments/RequiredAttachmentsViewModel';\nimport NewCertificateStepsViewModel from '../../../ApplicationSteps/NewCertificateStepsViewModel';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport { ApiError } from 'src/data/sps/api';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ExamTermView)\n@Service()\nexport default class ExamTermViewModel extends OldSpsBaseScreen {\n  busyWatcher = new BusyWatcher();\n  datesBusyWatcher = new BusyWatcher();\n  disposer: IReactionDisposer | undefined = undefined;\n  @observable examTerm: ExamTermModel = new ExamTermModel();\n  @observable formDataExamTerm: ExamTermFormData | undefined = undefined;\n  @observable examDates: DateEntity | undefined = undefined;\n  @observable examPlaces: PlaceEntity | undefined = undefined;\n  @observable disabilities: DisabilitiesEntity | undefined = undefined;\n  @observable datesOptions: SelectOption<string>[] = [];\n  @observable placesOptions: RadioGroupOption[] = [];\n  @observable disabilitiesOptions: RadioGroupOption[] = [];\n  @observable isLoading = false;\n  @observable error: null | string = null;\n  @observable dateError: null | string = null;\n  @observable lastRelationId = '';\n\n  get pathNode(): string {\n    return 'exam-term';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ShipService111,\n    @Inject() public applicationStepsViewModel: NewCertificateStepsViewModel,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ExamTermViewModel);\n    makeObservable(this);\n    this.shipService.validation.attachDescriptor(this.examTerm, ExamTermModelValidators);\n  }\n\n  @action.bound\n  reset() {\n    this.examTerm = new ExamTermModel();\n    this.shipService.validation.attachDescriptor(this.examTerm, ExamTermModelValidators);\n    this.formDataExamTerm = undefined;\n    this.examDates = undefined;\n    this.examPlaces = undefined;\n    this.disabilities = undefined;\n    this.datesOptions = [];\n    this.placesOptions = [];\n    this.disabilitiesOptions = [];\n    this.isLoading = false;\n    this.error = null;\n    this.lastRelationId = '';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  async notifyNavigation() {\n    this.shipService.changeStep(3, FormStateKeys.VisitedExamTermInfo);\n\n    const force = this.lastRelationId !== this.shipService.relationId;\n    await this.setPlaces(force);\n    await this.setDisabilities(force);\n    runInAction(() => (this.lastRelationId = this.shipService.relationId));\n  }\n\n  @Watch<ExamTermViewModel>((s) => s.busyWatcher)\n  async activate(): Promise<void> {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n\n    if (!this.shipService.formState?.visitedExamTermInfo) {\n      this.resetExamTerm();\n    }\n\n    const tempExamTerm = this.shipService.getExamTermFormData();\n    if (tempExamTerm) {\n      runInAction(() => {\n        this.examTerm = ExamTermModel.mapData(\n          tempExamTerm.placeId,\n          tempExamTerm.dateId,\n          tempExamTerm.restriction.id,\n          tempExamTerm.restriction.comment\n        );\n        this.shipService.validation.attachDescriptor(this.examTerm, ExamTermModelValidators);\n      });\n    }\n\n    if (this.examTerm.date) {\n      await this.setDates(this.examTerm.place);\n    }\n\n    this.disposer = reaction(\n      () => this.examTerm.place,\n      async (value) => {\n        this.examTerm.date = '';\n        await this.setDates(value);\n      }\n    );\n\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  async setPlaces(force: boolean = false) {\n    let places: PlaceEntity | undefined;\n    if (force || this.placesOptions.length === 0) {\n      try {\n        places = await this.shipService.getPlaces();\n      } catch (e) {\n        const res = e as ApiError;\n        if (res?.body?.type === 'SPS_WARN') {\n          this.examTerm.placesFoundError = res?.body?.title;\n          this.shipService.validation.detachDescriptor(this.examTerm);\n          this.shipService.validation.attachDescriptor(\n            this.examTerm,\n            this.examTerm.alwaysFalsePlaceModelValidators\n          );\n          this.shipService.validation.validateProperty(this.examTerm, 'place');\n\n          this.errorService.logCatchError(\n            e,\n            'ship - NewCertificate ExamTermViewModel',\n            'setPlaces - shipService.getPlaces, type: SPS_WARN'\n          );\n        } else {\n          this.errorService.logCatchError(\n            e,\n            'ship - NewCertificate ExamTermViewModel',\n            'setPlaces - shipService.getPlaces, type: other'\n          );\n          throw e;\n        }\n      }\n    }\n\n    runInAction(() => {\n      if (places && places.places) {\n        this.examPlaces = places;\n        this.shipService.validation.detachDescriptor(this.examTerm);\n        this.shipService.validation.attachDescriptor(this.examTerm, ExamTermModelValidators);\n        this.placesOptions = this.mapPlacesToRadioGroupOptions(places);\n        if (places.places.length > 0) {\n          this.examTerm.place = places.places[0].id;\n        }\n      } else if (places?.message) {\n        this.error = places.message;\n      }\n    });\n  }\n\n  async setDisabilities(force: boolean = false) {\n    let disabilities: DisabilitiesEntity | undefined;\n    if (force || !this.disabilities) {\n      try {\n        disabilities = await this.shipService.getDisabilities();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - NewCertificate ExamTermViewModel',\n          'setDisabilities - shipService.getDisabilities'\n        );\n        this.handleError(e);\n      }\n    }\n\n    if (disabilities) {\n      runInAction(() => {\n        this.disabilities = disabilities;\n        this.disabilitiesOptions = this.mapDisabilitiesToRadioGroupOptions(disabilities);\n        this.examTerm.disabilities = this.disabilitiesOptions[0].id;\n      });\n    }\n  }\n\n  @action.bound\n  resetExamTerm() {\n    runInAction(() => {\n      this.examTerm.date = '';\n      this.examTerm.place = '';\n      this.examTerm.note = '';\n      this.datesOptions = [];\n      if (this.disabilitiesOptions.length > 0) {\n        this.examTerm.disabilities = this.disabilitiesOptions[0].id;\n      }\n    });\n  }\n\n  deactivate() {\n    if (this.disposer) {\n      this.disposer();\n    }\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  goBack() {\n    this.saveData();\n    return this.navigator(DocumentInfoViewModel).go();\n  }\n\n  @action.bound\n  goNext() {\n    if (this.shipService.validation.validateObject(this.examTerm)) {\n      this.saveData();\n      return this.navigator(RequiredAttachmentsViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.new-certificate.exam-term', this);\n  generalTranslate = translate('ship.certificates', this);\n\n  private saveData() {\n    const place = this.examPlaces?.places.find((item) => item.id === this.examTerm.place);\n    const date = this.datesOptions.find((item) => item.key === this.examTerm.date);\n    const disabilities = this.disabilitiesOptions.find((item) => item.id === this.examTerm.disabilities);\n\n    if (place && date && disabilities) {\n      this.shipService.setExamTermInfo(this.examTerm, place.address, date.label, disabilities.label);\n    }\n  }\n\n  private mapPlacesToRadioGroupOptions(places: PlaceEntity | undefined): RadioGroupOption[] {\n    if (!places?.places) return [];\n    const options: RadioGroupOption[] = [];\n    places.places.map((place) => {\n      options.push({\n        id: place.id,\n        label: place.description,\n      });\n    });\n    return options;\n  }\n\n  private mapDatesToSelectOptions(dates: DateEntity | undefined): SelectOption<string>[] {\n    if (!dates?.dates) return [];\n    const options: SelectOption<string>[] = [];\n    dates.dates.map((date) => {\n      options.push({\n        key: date.id,\n        label: `${date.date} ${date.time}`,\n        value: date.id,\n      });\n    });\n    return options;\n  }\n\n  private mapDisabilitiesToRadioGroupOptions(\n    disabilities: DisabilitiesEntity | undefined\n  ): RadioGroupOption[] {\n    if (!disabilities) return [];\n    const options: RadioGroupOption[] = [];\n    disabilities.restrictions.map((place) => {\n      options.push({\n        id: place.id,\n        label: place.description,\n      });\n    });\n    return options;\n  }\n\n  @Watch<ExamTermViewModel>((s) => s.datesBusyWatcher)\n  private async setDates(place: string) {\n    this.dateError = null;\n    runInAction(() => {\n      this.datesOptions = [];\n    });\n\n    const dates = await this.shipService.getDates(place).catch((e) => {\n      const res = e as ApiError;\n      if (res?.body?.type === 'SPS_WARN') {\n        this.dateError = res?.body?.title;\n      } else {\n        this.dateError = this.generalTranslate('date-error');\n      }\n    });\n    if (dates) {\n      runInAction(() => {\n        this.examDates = dates;\n        this.shipService.validation.detachDescriptor(this.examTerm);\n        this.shipService.validation.attachDescriptor(this.examTerm, ExamTermModelValidators);\n        this.datesOptions = this.mapDatesToSelectOptions(dates);\n        if (this.examTerm.date === '') {\n          this.examTerm.date = this.datesOptions[0].value;\n        }\n      });\n    }\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport DocumentInfoView from './DocumentInfoView';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport type DocumentInfoEntity from '../../../../../../data/entities/ship/documentInfo/DocumentInfoEntity';\nimport ShipService111 from '../../../../../../services/ship/ShipService111';\nimport ExamTermViewModel from '../ExamTerm/ExamTermViewModel';\nimport NewCertificateStepsViewModel from '../../../ApplicationSteps/NewCertificateStepsViewModel';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport type LicencesEntity from '../../../../../../data/entities/ship/licences/LicencesEntity';\nimport type ErrorMessageEntity from '../../../../../../data/entities/ship/errors/ErrorMessageEntity';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\nexport type Option = {\n  description: string;\n  checked: boolean;\n  id: string;\n  disabled: boolean;\n};\n\nexport type GroupOption = {\n  description: string;\n  checked: boolean;\n  id: string;\n  group: number;\n};\n\nexport type Options = {\n  licences: Option[];\n  areas: Option[];\n  eligibility: GroupOption[];\n};\n\n@AddDefaultView(DocumentInfoView)\n@Service()\nexport default class DocumentInfoViewModel extends OldSpsBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable info: DocumentInfoEntity | undefined = undefined;\n  @observable licences: Options | undefined = undefined;\n  @observable errorMessages: string[] | undefined = undefined;\n  @observable licencesChanged: boolean = true;\n  @observable isLoading: boolean = false;\n  @observable noEligibility: boolean = false;\n  @observable noAreas: boolean = false;\n\n  get pathNode(): string {\n    return 'document-info';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService111: ShipService111,\n    @Inject() public applicationStepsViewModel: NewCertificateStepsViewModel,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(DocumentInfoViewModel);\n    makeObservable(this);\n  }\n\n  @action.bound\n  reset() {\n    this.info = undefined;\n    this.licences = undefined;\n    this.errorMessages = undefined;\n    this.licencesChanged = true;\n    this.isLoading = false;\n    this.noAreas = false;\n    this.noEligibility = false;\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  @computed get isBusy() {\n    return this.busyWatcher.isBusy;\n  }\n\n  notifyNavigation() {\n    this.shipService111.changeStep(2, FormStateKeys.VisitedDocumentInfo);\n  }\n\n  @Watch<DocumentInfoViewModel>((s) => s.busyWatcher)\n  async activate(): Promise<void> {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    if (this.shipService111.formState && !this.shipService111.formState.visitedDocumentInfo) {\n      runInAction(() => {\n        this.licences = this.mapLicencesToSelectOptions(this.licences);\n      });\n    }\n\n    let info: DocumentInfoEntity | undefined = undefined;\n    if (!this.info) {\n      try {\n        info = await this.shipService111.getDocumentInfo();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'ship - NewCertificate DocumentInfoViewModel',\n          'activate - shipService111.getDocumentInfo'\n        );\n        this.handleError(e);\n      }\n    }\n\n    runInAction(() => {\n      if (info) {\n        this.info = info;\n        this.licences = this.mapLicencesToSelectOptions(info);\n      }\n    });\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  @action.bound\n  async setDocumentInfo(\n    documentInfo: {\n      licence: string;\n      area: string | undefined;\n      eligibility: string | string[];\n    }[]\n  ) {\n    const certificates = this.licences?.licences.filter((item) => item.checked).map((item) => item.description);\n    const areas = this.licences?.areas.filter((item) => item.checked).map((item) => item.description);\n    const eligibility = this.licences?.eligibility.filter((item) => item.checked).map((item) => item.description);\n    if (certificates && eligibility && areas) {\n      await this.shipService111.setDocumentInfo(documentInfo, certificates, eligibility, areas);\n    }\n  }\n\n  @action.bound\n  async goNext() {\n    runInAction(() => {\n      this.noEligibility = false;\n      this.noAreas = false;\n    });\n    if (this.licences?.licences[0].checked && this.licences?.eligibility.filter((x) => x.checked).length === 0) {\n      runInAction(() => {\n        this.noEligibility = true;\n      });\n    }\n    if (this.licences?.licences[1].checked && this.licences?.areas.filter((x) => x.checked).length === 0) {\n      runInAction(() => {\n        this.noAreas = true;\n      });\n    }\n    if (this.noAreas || this.noEligibility) {\n      return;\n    }\n\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    const mappedLicences = this.mapLicences();\n    if (mappedLicences) {\n      await this.setDocumentInfo(mappedLicences);\n    }\n\n    let request: LicencesEntity | ErrorMessageEntity | undefined;\n    try {\n      request = await this.shipService111.getLicenes(this.licencesChanged);\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - NewCertificate DocumentInfoViewModel', 'goNext - shipService111.getLicenes');\n      this.handleError(e);\n    }\n    const licences = 'licences';\n\n    runInAction(() => {\n      this.licencesChanged = false;\n    });\n\n    if (request && !request.hasOwnProperty(licences)) {\n      runInAction(() => {\n        this.errorMessages = undefined;\n      });\n      return this.navigator(ExamTermViewModel).go();\n    } else {\n      this.shipService111.resetLicences();\n      runInAction(() => {\n        const messages = request as ErrorMessageEntity;\n        if (messages) {\n          this.errorMessages = messages.licences;\n        }\n      });\n    }\n  }\n\n  @action.bound\n  async goBack() {\n    const mappedLicences = this.mapLicences();\n    if (mappedLicences) {\n      await this.setDocumentInfo(mappedLicences);\n    }\n\n    return this.navigator('../personal-info').go();\n  }\n\n  @action.bound\n  setLicences(licId: string) {\n    runInAction(() => {\n      this.licencesChanged = true;\n      this.shipService111.toggleAndSave(FormStateKeys.HasLicencesChanged);\n      if (this.licences) {\n        this.licences.licences.map((lic) => {\n          if (lic.id === licId) {\n            const newState = !lic.checked;\n            lic.checked = newState;\n            this.checkValidations(lic.id, newState);\n          }\n        });\n      }\n    });\n  }\n\n  @action.bound\n  setAreas(areaId: string) {\n    runInAction(() => {\n      this.licencesChanged = true;\n      this.shipService111.toggleAndSave(FormStateKeys.HasLicencesChanged);\n      if (this.licences) {\n        this.licences.areas.map((area) => {\n          if (area.id === areaId) {\n            area.checked = !area.checked;\n          }\n        });\n      }\n    });\n  }\n\n  @action.bound\n  setEligibility(eligId: string) {\n    runInAction(() => {\n      this.licencesChanged = true;\n      this.shipService111.toggleAndSave(FormStateKeys.HasLicencesChanged);\n      let elig: GroupOption | undefined = undefined;\n      if (this.licences) {\n        elig = this.licences.eligibility.find((item) => item.id === eligId);\n\n        this.licences.eligibility.map((lic) => {\n          if (lic.id === eligId) {\n            lic.checked = !lic.checked;\n          }\n        });\n\n        if (elig && elig.checked) {\n          this.isLoading = false;\n          this.licences.eligibility.map((item) => {\n            if (elig) {\n              if (item.group === elig.group && item.id !== elig.id) {\n                item.checked = false;\n              }\n            }\n          });\n          runInAction(() => {\n            this.errorMessages = undefined;\n          });\n        }\n      }\n    });\n  }\n\n  translate = translate('ship.certificates.new-certificate.document-info', this);\n  generalTranslate = translate('ship.certificates', this);\n\n  private mapLicences = (): { licence: string; area: string | undefined; eligibility: string | string[] }[] | undefined => {\n    if (this.licences) {\n      let mappedLicences: { licence: string; area: string | undefined; eligibility: string | string[] }[] = [];\n      const eligibility = this.licences.eligibility.filter((item) => item.checked).map((filtered) => filtered.id);\n      this.licences.licences.map((item, index) => {\n        if (item.checked && this.licences) {\n          const tempArea = this.licences.areas[index].checked ? this.licences.areas[index].id : undefined;\n          mappedLicences.push({ licence: item.id, area: tempArea, eligibility });\n        }\n      });\n\n      return mappedLicences;\n    }\n  };\n\n  private checkValidations = (licenceID: string, newState: boolean) => {\n    if (this.licences) {\n      if (licenceID === this.licences.licences[0].id) {\n        if (newState && !this.licences.licences[1].checked) {\n          // areas are disabled\n          this.licences.areas.map((item) => {\n            item.disabled = true;\n            item.checked = false;\n          });\n        } else {\n          // other licence is enabled and areas are enabled\n          if (!this.licences.licences[1].checked) {\n            this.licences.licences[1].checked = true;\n            this.licences.areas.map((item) => {\n              item.disabled = false;\n              item.checked = true;\n            });\n          }\n        }\n      } else if (licenceID === this.licences.licences[1].id) {\n        if (newState) {\n          // areas are enabled and checked\n          this.licences.areas.map((item) => {\n            item.disabled = false;\n            item.checked = true;\n          });\n        } else {\n          // areas are disabled and unchecked\n          this.licences.licences[0].checked = true;\n          this.licences.areas.map((item) => {\n            item.disabled = true;\n            item.checked = false;\n          });\n        }\n      }\n    }\n  };\n\n  private mapLicencesToSelectOptions(licences: DocumentInfoEntity | undefined): Options | undefined {\n    if (!licences) return undefined;\n    const options: Options = { licences: [], areas: [], eligibility: [] };\n    let formDataLicences = this.shipService111.getFormDataLicences();\n\n    const initialLicences = [\n      {\n        area: licences.areas[0].id,\n        eligibility: [licences.eligibility[0].id],\n        licence: licences.licences[0].id,\n      },\n      {\n        area: licences.areas[1].id,\n        eligibility: [licences.eligibility[0].id],\n        licence: licences.licences[1].id,\n      },\n    ];\n\n    if (!formDataLicences) {\n      formDataLicences = initialLicences;\n    }\n    let secondLicenceChecked = false;\n\n    licences.licences.map((licence, index) => {\n      let isChecked = true;\n      if (formDataLicences) {\n        isChecked = !!formDataLicences.find((item) => item.licence === licence.id);\n        if (isChecked && index === 1) {\n          secondLicenceChecked = true;\n        }\n      } else {\n        secondLicenceChecked = true;\n      }\n\n      options.licences.push({\n        description: licence.description,\n        id: licence.id,\n        disabled: false,\n        checked: isChecked,\n      });\n    });\n\n    licences.eligibility.map((elig, index) => {\n      let isChecked = index === 0;\n\n      if (formDataLicences) {\n        formDataLicences.map((item) => {\n          isChecked = item.eligibility.includes(elig.id);\n        });\n      }\n\n      let group = 1;\n      if (index > 1) {\n        group = 2;\n      }\n\n      options.eligibility.push({\n        description: elig.description,\n        id: elig.id,\n        group,\n        checked: isChecked,\n      });\n    });\n\n    licences.areas.map((area) => {\n      let isChecked = false;\n      let isDisabled = true;\n\n      if (formDataLicences) {\n        formDataLicences.map((item) => {\n          if (item.area) {\n            if (item.area === area.id) {\n              isChecked = true;\n            }\n          }\n        });\n      } else {\n        isChecked = true;\n      }\n      if (secondLicenceChecked) {\n        isDisabled = false;\n      }\n      options.areas.push({\n        description: area.description,\n        id: area.id,\n        disabled: isDisabled,\n        checked: isChecked,\n      });\n    });\n\n    return options;\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { action, IReactionDisposer, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport NewCertificateView from './NewCertificateView';\nimport PersonalInfoViewModel from './Steps/PersonalInfo/PersonalInfoViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport DocumentInfoViewModel from './Steps/DocumentInfo/DocumentInfoViewModel';\nimport ExamTermViewModel from './Steps/ExamTerm/ExamTermViewModel';\nimport RequiredAttachmentsViewModel from './Steps/RequiredAttachments/RequiredAttachmentsViewModel';\nimport SummaryViewModel from './Steps/Summary/SummaryViewModel';\nimport NewCertificateStepsViewModel from '../ApplicationSteps/NewCertificateStepsViewModel';\nimport ShipService111 from '../../../../services/ship/ShipService111';\nimport ShipViewModel from '../../ShipViewModel';\nimport MandatesService from '../../../../services/MandatesService';\nimport OldSpsBaseScreen from '../shared/BaseScreen/OldSpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(NewCertificateView)\n@AddChildrenView()\n@Service()\nexport default class NewCertificateViewModel extends OldSpsBaseScreen {\n  disposer: IReactionDisposer | undefined = undefined;\n  personalInfoViewModel: PersonalInfoViewModel | undefined = undefined;\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'new-certificate';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ShipService111,\n    @Inject() private documentInfoViewModel: DocumentInfoViewModel,\n    @Inject() private examTermViewModel: ExamTermViewModel,\n    @Inject() private requiredAttachmentsViewModel: RequiredAttachmentsViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private applicationStepsViewModel: NewCertificateStepsViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(NewCertificateViewModel);\n    this.personalInfoViewModel = new PersonalInfoViewModel(\n      this.localization,\n      this.shipService,\n      applicationStepsViewModel,\n      this.mandatesService,\n      this.errorService,\n      'document-info'\n    );\n    makeObservable(this);\n    this.children.push(this.personalInfoViewModel);\n    this.children.push(documentInfoViewModel);\n    this.children.push(examTermViewModel);\n    this.children.push(requiredAttachmentsViewModel);\n    this.children.push(summaryViewModel);\n  }\n\n  async activate() {\n    this.shipService.unsetRequestEntity();\n    await this.shipService.loadShipData();\n  }\n\n  deactivate() {\n    if (this.disposer) {\n      this.disposer();\n    }\n    runInAction(() => {\n      this.errorMessage = '';\n    });\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  notifyNavigation() {\n    runInAction(() => {\n      this.personalInfoViewModel?.reset();\n      this.documentInfoViewModel.reset();\n      this.examTermViewModel.reset();\n      this.requiredAttachmentsViewModel.reset();\n      this.summaryViewModel.reset();\n    });\n    this.shipService.resetFormData();\n  }\n\n  @Watch<NewCertificateViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async navPersonalInfo() {\n    try {\n      await this.shipService.initialization();\n\n      return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - NewCertificate NewCertificateViewModel',\n        'navPersonalInfo - shipService.initialization'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.new-certificate.introduction', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('applications.ship')\nexport default class AddressModel {\n  @observable street = '';\n  @observable houseNumber = '';\n  @observable referenceNumber: string | undefined;\n  @observable city = '';\n  @observable postcode = '';\n  @observable unchangeable: string[] = [];\n  houseRefNum: string | undefined = undefined;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  get houseReferenceNumber() {\n    if (!this.houseRefNum) {\n      if (this.referenceNumber) {\n        this.houseRefNum = this.houseNumber + '/' + this.referenceNumber;\n      } else {\n        this.houseRefNum = this.houseNumber;\n      }\n    }\n    return this.houseRefNum;\n  }\n\n  set houseReferenceNumber(num: string) {\n    if (num.includes('/')) {\n      const [houseNr, referenceNr] = num.split('/');\n      this.houseNumber = houseNr;\n      this.referenceNumber = referenceNr;\n    } else {\n      this.houseNumber = num;\n    }\n    this.houseRefNum = num;\n  }\n\n  get zipNumber() {\n    return this.postcode;\n  }\n\n  set zipNumber(zip: string) {\n    this.postcode = zip\n      .replace(/[^\\dA-Z]/g, '')\n      .replace(/(.{3})/g, '$1 ')\n      .trim();\n  }\n}\n\nexport const AddressModelValidators: ValidationDescriptor<AddressModel, Validators> = {\n  houseReferenceNumber: {\n    required: {\n      message: 'houseReferenceNumber.required',\n    },\n  },\n  city: {\n    required: {\n      message: 'city.required',\n    },\n  },\n  zipNumber: {\n    required: {\n      message: 'zipNumber.required',\n    },\n    zipCode: {\n      message: 'zipNumber.format',\n    },\n  },\n  postcode: {\n    required: {\n      message: 'zipCode.required',\n    },\n    zipCode: {\n      message: 'zipCode.format',\n    },\n  },\n};\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddressModel from './AddressModel';\nimport type ShipPersonAdressEntity from '../../../../../../data/entities/ship/person/ShipPersonAdressEntity';\nimport StringFormatUtils from '../../../../../../utils/StringFormatUtils';\nimport type CompanyModelEntity from '../../../../../../data/entities/ship/person/CompanyEntity';\nimport {\n  Sps_WebApi_Models_Responses_CompanyResponse,\n  Sps_WebApi_Models_Responses_ReadDataAddressResponse,\n} from '../../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class CompanyModel {\n  @observable name: string = '';\n  @observable idFirma: string = '';\n  @observable dataBox: string = '';\n  @observable ico: string = '';\n  @observable telefon: string = '';\n  @observable email: string = '';\n  @observable unchangeable: string[] = [];\n  @observable officeAddress = new AddressModel();\n  @observable wantDeliveryAddress = false;\n  @observable deliveryAddress = new AddressModel();\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  private mapAddress(addressEntity: ShipPersonAdressEntity) {\n    const addressModel = new AddressModel();\n    addressModel.street = addressEntity.street;\n    addressModel.referenceNumber = addressEntity.referenceNumber;\n    addressModel.houseNumber = addressEntity.houseNumber;\n    addressModel.city = addressEntity.city;\n    addressModel.unchangeable = addressEntity.unchangeable;\n    addressModel.postcode = StringFormatUtils.formatZipCode(addressEntity.postcode);\n\n    return addressModel;\n  }\n\n  private mapV2Address(addressResponse: Sps_WebApi_Models_Responses_ReadDataAddressResponse) {\n    const addressModel = new AddressModel();\n    addressModel.street = addressResponse.street ?? '';\n    addressModel.referenceNumber = addressResponse.referenceNumber ?? '';\n    addressModel.houseNumber = addressResponse.houseNumber ?? '';\n    addressModel.city = addressResponse.city ?? '';\n    addressModel.unchangeable = addressResponse.unchangeable ?? [];\n    addressModel.postcode = StringFormatUtils.formatZipCode(addressResponse.postcode ?? '');\n\n    return addressModel;\n  }\n\n  public static mapData(company: CompanyModelEntity): CompanyModel {\n    const model = new CompanyModel();\n\n    if (company.firma) {\n      model.name = company.firma.name;\n      model.idFirma = company.firma.idFirma;\n      model.dataBox = company.firma.dataBox;\n      model.ico = company.firma.ico;\n      model.telefon = company.firma.telefon;\n      model.email = company.firma.email;\n      model.unchangeable = company.firma.unchangeable;\n      model.officeAddress = company.officeAddress ? model.mapAddress(company.officeAddress) : new AddressModel();\n      if (company.deliveryAddress) {\n        model.deliveryAddress = model.mapAddress(company.deliveryAddress);\n      }\n    }\n\n    return model;\n  }\n\n  public static mapV2Data(response: Sps_WebApi_Models_Responses_CompanyResponse) {\n    const model = new CompanyModel();\n\n    if (response.company) {\n      model.name = response.company.name ?? '';\n      model.dataBox = response.company.dataBox ?? '';\n      model.ico = response.company.ico ?? '';\n      model.telefon = response.company.telefon ?? '';\n      model.email = response.company.email ?? '';\n      model.unchangeable = response.company.unchangeable ?? [];\n      model.officeAddress = response.officeAddress ? model.mapV2Address(response.officeAddress) : new AddressModel();\n    }\n\n    return model;\n  }\n}\n\nexport const CompanyModelValidators: ValidationDescriptor<CompanyModel, Validators> = {\n  name: {\n    required: {\n      message: 'name.required',\n    },\n  },\n  ico: {\n    required: {\n      message: 'ico.required',\n    },\n  },\n  dataBox: {\n    dataBox: {\n      message: 'dataBox.format',\n    },\n  },\n  email: {\n    required: {\n      message: 'email.required',\n    },\n    email: {\n      message: 'email.format',\n    },\n  },\n  telefon: {\n    phone: {\n      message: 'phone.format',\n    },\n  },\n};\n","import { makeObservable, observable } from 'mobx';\nimport type ShipPersonAdressEntity from '../../../../../../data/entities/ship/person/ShipPersonAdressEntity';\nimport type ShipPersonEntity from '../../../../../../data/entities/ship/person/ShipPersonEntity';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport AddressModel from './AddressModel';\nimport dateUtils from '../../../../../../utils/DateUtils';\nimport StringFormatUtils from '../../../../../../utils/StringFormatUtils';\nimport {\n  Sps_WebApi_Models_Responses_PersonLoadResponse,\n  Sps_WebApi_Models_Responses_ReadDataAddressResponse,\n} from '../../../../../../data/sps/api';\nimport DateUtils from '../../../../../../utils/DateUtils';\n\n@AddTranslationKey('applications.ship.new-certificate')\nexport default class PersonalInfoModel {\n  @observable name = '';\n  @observable surname = '';\n  @observable titleBefore = '';\n  @observable titleAfter = '';\n  @observable birthdate = '';\n  @observable dataBox = '';\n  @observable birthPlace = '';\n  @observable citizenshipId = '';\n  @observable citizenship = '';\n  @observable email = '';\n  @observable mobil = '';\n  @observable contactAddress = new AddressModel();\n  @observable wantDeliveryAddress = false;\n  @observable deliveryAddress = new AddressModel();\n  @observable unchangeable: string[] = [];\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  private mapAddress(addressEntity: ShipPersonAdressEntity) {\n    const addressModel = new AddressModel();\n    addressModel.street = addressEntity.street;\n    addressModel.referenceNumber = addressEntity.referenceNumber;\n    addressModel.houseNumber = addressEntity.houseNumber;\n    addressModel.city = addressEntity.city;\n    addressModel.unchangeable = addressEntity.unchangeable;\n    addressModel.postcode = StringFormatUtils.formatZipCode(addressEntity.postcode);\n\n    return addressModel;\n  }\n\n  private mapV2Address(addressResponse: Sps_WebApi_Models_Responses_ReadDataAddressResponse) {\n    const addressModel = new AddressModel();\n    addressModel.street = addressResponse.street ?? '';\n    addressModel.referenceNumber = addressResponse.referenceNumber ?? '';\n    addressModel.houseNumber = addressResponse.houseNumber ?? '';\n    addressModel.city = addressResponse.city ?? '';\n    addressModel.unchangeable = addressResponse.unchangeable ?? [];\n    addressModel.postcode = StringFormatUtils.formatZipCode(addressResponse.postcode ?? '');\n\n    return addressModel;\n  }\n\n  public static mapData(person: ShipPersonEntity): PersonalInfoModel {\n    const model = new PersonalInfoModel();\n\n    if (person.person) {\n      model.name = person.person.name;\n      model.surname = person.person.surname;\n      model.titleBefore = person.person.titleBefore;\n      model.titleAfter = person.person.titleAfter;\n      model.birthdate = person.person.birthdate;\n      model.birthPlace = person.person.birthPlace;\n      model.dataBox = person.person.dataBox;\n      model.citizenshipId = person.person.citizenshipId;\n      model.email = person.person.email;\n      model.mobil = person.person.mobil;\n      model.unchangeable = person.person.unchangeable;\n      model.contactAddress = person.contactAddress ? model.mapAddress(person.contactAddress) : new AddressModel();\n      if (person.deliveryAddress) {\n        model.deliveryAddress = model.mapAddress(person.deliveryAddress);\n      }\n    }\n    return model;\n  }\n\n  public static mapV2Data(response: Sps_WebApi_Models_Responses_PersonLoadResponse) {\n    const model = new PersonalInfoModel();\n\n    if (response.person) {\n      model.name = response.person.name ?? '';\n      model.surname = response.person.surname ?? '';\n      model.titleBefore = response.person.titleBefore ?? '';\n      model.titleAfter = response.person.titleAfter ?? '';\n      model.birthdate = DateUtils.czToDate(response.person.birthdate ?? '')\n        .toISOString()\n        .slice(0, 10);\n      model.birthPlace = response.person.birthplace ?? '';\n      model.dataBox = response.person.dataBox ?? '';\n      model.citizenshipId = response.person.citizenshipId ?? '';\n      model.email = response.person.email ?? '';\n      model.mobil = response.person.mobil ?? '';\n      model.unchangeable = response.person.unchangeable ?? [];\n      model.contactAddress = response.contactAddress ? model.mapV2Address(response.contactAddress) : new AddressModel();\n      if (response.deliveryAddress) {\n        model.deliveryAddress = model.mapV2Address(response.deliveryAddress);\n      }\n    }\n\n    return model;\n  }\n\n  get fullName() {\n    return this.name + ' ' + this.surname;\n  }\n\n  get birthdateCZ() {\n    return dateUtils.dateFormatCz(this.birthdate);\n  }\n}\n\nexport const PersonalInfoModelValidators: ValidationDescriptor<PersonalInfoModel, Validators> = {\n  fullName: {\n    required: {\n      message: 'fullName.required',\n    },\n  },\n  birthdate: {\n    required: {\n      message: 'birthDate.required',\n    },\n  },\n  birthPlace: {\n    required: {\n      message: 'birthPlace.required',\n    },\n  },\n  citizenshipId: {\n    required: {\n      message: 'nationality.required',\n    },\n  },\n  dataBox: {\n    dataBox: {\n      message: 'dataBox.format',\n    },\n  },\n  email: {\n    required: {\n      message: 'email.required',\n    },\n    email: {\n      message: 'email.format',\n    },\n  },\n  mobil: {\n    phone: {\n      message: 'phone.format',\n    },\n  },\n  contactAddress: {\n    required: {\n      message: 'contactAddress.required',\n    },\n  },\n  deliveryAddress: {\n    required: {\n      message: 'deliveryAddress.required',\n    },\n  },\n};\n","import { useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport Input from '../../../../../../components/form/Input';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Select from '../../../../../../components/form/Select/Select';\nimport Checkbox from '../../../../../../components/form/Checkbox';\nimport './PersonalInfo.scss';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { translate, person, company, personType, isBusy, nationalities, generalTranslate, goNext, goBack } =\n    vm;\n\n  const [tempPersonType, setTempPersonType] = useState(personType);\n\n  return (\n    <div className=\"ship-personal-info\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={vm?.applicationStepsViewModel} />\n            {isBusy ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              <div>\n                {person && (\n                  <div>\n                    <div className=\"row\">\n                      {tempPersonType === 'FO' && (\n                        <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n                          <h2 className=\"h3size\">{translate('title')}</h2>\n                          <Input\n                            target={person}\n                            property=\"fullName\"\n                            disabled={person.unchangeable.includes('name')}\n                          />\n                          <div className=\"d-flex\">\n                            <Input\n                              target={person}\n                              property=\"titleBefore\"\n                              className=\"me-2\"\n                              disabled={person.unchangeable.includes('titleBefore')}\n                            />\n                            <Input\n                              target={person}\n                              property=\"titleAfter\"\n                              disabled={person.unchangeable.includes('titleAfter')}\n                            />\n                          </div>\n                          <Input\n                            target={person}\n                            property=\"birthdateCZ\"\n                            disabled={person.unchangeable.includes('birthdate')}\n                          />\n                          <Input\n                            target={person}\n                            property=\"dataBox\"\n                            disabled={person.unchangeable.includes('dataBox')}\n                          />\n                          <Input\n                            target={person}\n                            property=\"birthPlace\"\n                            disabled={person.unchangeable.includes('birthplace')}\n                          />\n                          <Select\n                            target={person}\n                            property=\"citizenshipId\"\n                            options={nationalities}\n                            showSelected={true}\n                            disabled={person.unchangeable.includes('citizenshipId')}\n                            testId=\"citizenship-id\"\n                          />\n                          {/*TODO: CZ vychozi*/}\n                          <Input\n                            target={person}\n                            property=\"email\"\n                            disabled={person.unchangeable.includes('email')}\n                          />\n                          <Input\n                            target={person}\n                            property=\"mobil\"\n                            disabled={person.unchangeable.includes('mobil')}\n                          />\n                        </Fieldset>\n                      )}\n                      {tempPersonType === 'PO' && company && (\n                        <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n                          <h2 className=\"h3size\">{translate('titleCompany')}</h2>\n                          <Input\n                            target={company}\n                            property=\"name\"\n                            disabled={company.unchangeable.includes('name')}\n                          />\n                          <Input\n                            target={company}\n                            property=\"ico\"\n                            disabled={company.unchangeable.includes('ico')}\n                          />\n                          <Input\n                            target={company}\n                            property=\"dataBox\"\n                            disabled={company.unchangeable.includes('dataBox')}\n                          />\n                          <Input\n                            target={company}\n                            property=\"email\"\n                            disabled={company.unchangeable.includes('email')}\n                          />\n                          <Input\n                            target={company}\n                            property=\"telefon\"\n                            disabled={company.unchangeable.includes('phone')}\n                          />\n                        </Fieldset>\n                      )}\n                      {tempPersonType === 'FO' ? (\n                        <>\n                          <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n                            <h2 className=\"h3size\">{translate('address')}</h2>\n                            <Input\n                              target={person.contactAddress}\n                              property=\"street\"\n                              disabled={person.contactAddress.unchangeable.includes('street')}\n                            />\n                            <Input\n                              target={person.contactAddress}\n                              property=\"houseReferenceNumber\"\n                              disabled={person.contactAddress.unchangeable.includes('referenceNumber')}\n                            />\n                            <Input\n                              target={person.contactAddress}\n                              property=\"city\"\n                              disabled={person.contactAddress.unchangeable.includes('city')}\n                            />\n                            <Input\n                              target={person.contactAddress}\n                              property=\"postcode\"\n                              disabled={person.contactAddress.unchangeable.includes('postcode')}\n                            />\n                          </Fieldset>\n                          <Checkbox target={person} property=\"wantDeliveryAddress\" />\n                        </>\n                      ) : (\n                        <>\n                          <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n                            <h2 className=\"h3size\">{translate('officeAddress')}</h2>\n                            <Input\n                              target={company.officeAddress}\n                              property=\"street\"\n                              disabled={company.officeAddress.unchangeable.includes('street')}\n                            />\n                            <Input\n                              target={company.officeAddress}\n                              property=\"houseReferenceNumber\"\n                              disabled={company.officeAddress.unchangeable.includes('referenceNumber')}\n                            />\n                            <Input\n                              target={company.officeAddress}\n                              property=\"city\"\n                              disabled={company.officeAddress.unchangeable.includes('city')}\n                            />\n                            <Input\n                              target={company.officeAddress}\n                              property=\"postcode\"\n                              disabled={company.officeAddress.unchangeable.includes('postcode')}\n                            />\n                          </Fieldset>\n                          <Checkbox target={company} property=\"wantDeliveryAddress\" />\n                        </>\n                      )}\n                    </div>\n\n                    {person.wantDeliveryAddress && (\n                      <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n                        <h2 className=\"h3size\">{translate('deliveryAddress')}</h2>\n                        <Input\n                          id=\"deliveryAddressStreet\"\n                          target={person.deliveryAddress}\n                          property=\"street\"\n                          disabled={person.deliveryAddress.unchangeable.includes('street')}\n                        />\n                        <Input\n                          id=\"deliveryAddressDescriptionNumber\"\n                          target={person.deliveryAddress}\n                          property=\"houseReferenceNumber\"\n                          disabled={person.deliveryAddress.unchangeable.includes('referenceNumber')}\n                        />\n                        <Input\n                          id=\"deliveryAddressCity\"\n                          target={person.deliveryAddress}\n                          property=\"city\"\n                          disabled={person.deliveryAddress.unchangeable.includes('city')}\n                        />\n                        <Input\n                          id=\"deliveryAddressZipCode\"\n                          target={person.deliveryAddress}\n                          property=\"postcode\"\n                          disabled={person.deliveryAddress.unchangeable.includes('postcode')}\n                        />\n                      </Fieldset>\n                    )}\n                    {company.wantDeliveryAddress && (\n                      <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n                        <h2 className=\"h3size\">{translate('deliveryAddress')}</h2>\n                        <Input\n                          id=\"deliveryAddressStreet\"\n                          target={company.deliveryAddress}\n                          property=\"street\"\n                          disabled={company.deliveryAddress.unchangeable.includes('street')}\n                        />\n                        <Input\n                          id=\"deliveryAddressDescriptionNumber\"\n                          target={company.deliveryAddress}\n                          property=\"houseReferenceNumber\"\n                          disabled={company.deliveryAddress.unchangeable.includes('referenceNumber')}\n                        />\n                        <Input\n                          id=\"deliveryAddressCity\"\n                          target={company.deliveryAddress}\n                          property=\"city\"\n                          disabled={company.deliveryAddress.unchangeable.includes('city')}\n                        />\n                        <Input\n                          id=\"deliveryAddressZipCode\"\n                          target={company.deliveryAddress}\n                          property=\"postcode\"\n                          disabled={company.deliveryAddress.unchangeable.includes('postcode')}\n                        />\n                      </Fieldset>\n                    )}\n                  </div>\n                )}\n              </div>\n            )}\n          </Envelope>\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={() => goBack()}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isBusy}\n              onClick={() => goNext()}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default PersonalInfoView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, IReactionDisposer, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoModel, { PersonalInfoModelValidators } from './PersonalInfoModel';\nimport type { SelectOption } from '@form/Select/Select';\nimport { AddressModelValidators } from './AddressModel';\nimport type { BreadcrumbControl } from 'src/app/breadcrumbs/types';\nimport { FormStateKeys } from 'src/data/entities/ship/types/FormState';\nimport ShipServiceAbstract from '../../../../../../services/ship/ShipServiceAbstract';\nimport StepsViewModel from '../../../ApplicationSteps/StepsViewModel';\nimport CompanyModel, { CompanyModelValidators } from './CompanyModel';\nimport MandatesService from '../../../../../../services/MandatesService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends OldSpsBaseScreen {\n  protected static path: string = 'personal-info';\n  busyWatcher = new BusyWatcher();\n  @observable person = new PersonalInfoModel();\n  @observable company = new CompanyModel();\n  @observable.shallow nationalities: SelectOption<string>[] = [];\n  disposer: IReactionDisposer | undefined = undefined;\n\n  get pathNode(): string {\n    return PersonalInfoViewModel.path;\n  }\n\n  static get route(): string {\n    return this.path;\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get personType(): MandatePersonType {\n    return this.mandatesService.personType;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    private shipService: ShipServiceAbstract,\n    @Inject() public applicationStepsViewModel: StepsViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private errorService: ErrorService,\n    public goNextRoute: string,\n    public goPreviousRoute?: string\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n    if (this.mandatesService.personType === MandatePersonType.FO) {\n      this.shipService.validation.attachDescriptor(this.person, PersonalInfoModelValidators);\n    } else {\n      this.shipService.validation.attachDescriptor(this.company, CompanyModelValidators);\n    }\n  }\n\n  @action.bound\n  reset() {\n    this.person = new PersonalInfoModel();\n    this.company = new CompanyModel();\n    this.nationalities = [];\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  @Watch<PersonalInfoViewModel>((s) => s.busyWatcher)\n  async activate(): Promise<void> {\n    await this.setupPersonOrCompany();\n    this.shipService.changeStep(1, FormStateKeys.VisitedPersonalInfo);\n\n    let nationalities: SelectOption<string>[] | undefined = undefined;\n    if (this.nationalities.length < 1) {\n      try {\n        nationalities = await this.shipService.getV2Nationalities();\n      } catch (e: unknown) {\n        this.errorService.logCatchError(\n          e,\n          'ship - NewCertificate PersonalInfoViewModel',\n          'activate - shipService.getV2Nationalities'\n        );\n        this.handleError(e);\n      }\n    }\n\n    runInAction(() => {\n      if (nationalities) {\n        this.nationalities = nationalities;\n      }\n    });\n  }\n\n  async setupPersonOrCompany() {\n    if (this.mandatesService.personType === MandatePersonType.FO) {\n      runInAction(() => (this.person = new PersonalInfoModel()));\n\n      let person = this.shipService.loadPersonFromSession();\n\n      if (!person) {\n        try {\n          person = await this.shipService.getV2Person();\n        } catch (e: unknown) {\n          this.errorService.logCatchError(\n            e,\n            'ship - NewCertificate PersonalInfoViewModel',\n            'setupPersonOrCompany - shipService.getV2Person'\n          );\n          this.handleError(e);\n        }\n      }\n\n      runInAction(() => {\n        if (this.person.name.length < 1) {\n          if (person) {\n            this.person = person;\n            this.shipService.validation.attachDescriptor(this.person, PersonalInfoModelValidators);\n\n            if (this.person.contactAddress) {\n              this.shipService.validation.attachDescriptor(\n                this.person.contactAddress,\n                AddressModelValidators\n              );\n            }\n          }\n        }\n      });\n\n      this.disposer = reaction(\n        () => this.person.wantDeliveryAddress,\n        (value) => {\n          if (value) {\n            this.shipService.validation.attachDescriptor(this.person.deliveryAddress, AddressModelValidators);\n          } else {\n            this.shipService.validation.detachDescriptor(this.person.deliveryAddress);\n            this.shipService.validation.validateObject(this.person.deliveryAddress);\n          }\n        }\n      );\n    } else {\n      runInAction(() => (this.company = new CompanyModel()));\n\n      let company = this.shipService.loadCompanyFromSession();\n\n      if (!company) {\n        try {\n          company = await this.shipService.getV2Company();\n        } catch (e: unknown) {\n          this.errorService.logCatchError(\n            e,\n            'ship - NewCertificate PersonalInfoViewModel',\n            'setupPersonOrCompany - shipService.getV2Company'\n          );\n          this.handleError(e);\n        }\n      }\n\n      runInAction(() => {\n        if (this.company.name.length < 1) {\n          if (company) {\n            this.company = company;\n            this.shipService.validation.attachDescriptor(this.company, CompanyModelValidators);\n\n            if (this.company.officeAddress) {\n              this.shipService.validation.attachDescriptor(\n                this.company.officeAddress,\n                AddressModelValidators\n              );\n            }\n          }\n        }\n      });\n\n      this.disposer = reaction(\n        () => this.company.wantDeliveryAddress,\n        (value) => {\n          if (value) {\n            this.shipService.validation.attachDescriptor(\n              this.company.deliveryAddress,\n              AddressModelValidators\n            );\n          } else {\n            this.shipService.validation.detachDescriptor(this.company.deliveryAddress);\n            this.shipService.validation.validateObject(this.company.deliveryAddress);\n          }\n        }\n      );\n    }\n  }\n\n  @computed get isBusy() {\n    return this.busyWatcher.isBusy;\n  }\n\n  deactivate() {\n    if (this.disposer) {\n      this.disposer();\n    }\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  goNext() {\n    let validations: boolean[];\n    const personType = this.mandatesService.personType;\n    if (personType === MandatePersonType.FO) {\n      validations = [\n        this.shipService.validation.validateObject(this.person),\n        this.shipService.validation.validateObject(this.person.contactAddress),\n        this.shipService.validation.validateObject(this.person.deliveryAddress),\n      ];\n    } else {\n      validations = [\n        this.shipService.validation.validateObject(this.company),\n        this.shipService.validation.validateObject(this.company.officeAddress),\n        this.shipService.validation.validateObject(this.company.deliveryAddress),\n      ];\n    }\n\n    if (validations.every((v) => v)) {\n      if (personType === MandatePersonType.FO) {\n        const nationality = this.nationalities.find((item) => item.value === this.person.citizenshipId);\n        const { wantDeliveryAddress, contactAddress, deliveryAddress, ...person } = this.person;\n\n        delete this.person.deliveryAddress.houseRefNum;\n        delete this.person.contactAddress.houseRefNum;\n        this.shipService.setPersonalInfo(\n          {\n            person: person,\n            deliveryAddress: this.person.deliveryAddress,\n            contactAddress: this.person.contactAddress,\n          },\n          wantDeliveryAddress,\n          nationality ? nationality.label : ''\n        );\n      } else {\n        const { wantDeliveryAddress, officeAddress, deliveryAddress, ...company } = this.company;\n\n        delete this.company.deliveryAddress.houseRefNum;\n        delete this.company.officeAddress.houseRefNum;\n        this.shipService.setCompanyInfo(\n          {\n            firma: company,\n            deliveryAddress: this.company.deliveryAddress,\n            officeAddress: this.company.officeAddress,\n          },\n          wantDeliveryAddress\n        );\n      }\n      this.navNext();\n    }\n  }\n\n  @action.bound\n  goBack() {\n    return this.navigator(this.goPreviousRoute ? `../${this.goPreviousRoute}` : '../').go();\n  }\n\n  navNext() {\n    return this.navigator(`../${this.goNextRoute}`).go();\n  }\n\n  translate = translate('ship.certificates.new-certificate.personal-info', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport IntroViewModel from './IntroViewModel';\nimport IntroPage from '../../shared/IntroPage/IntroPage';\n\nconst IntroView: View<IntroViewModel> = observer(({ vm }) => {\n  const { navNextStep, nextStepBusyWatcher, translate, generalTranslate, navBack } = vm;\n\n  return (\n    <IntroPage\n      title={translate('title')}\n      description={translate('description')}\n      steps={[translate('steps.step-one'), translate('steps.step-two'), translate('steps.step-three')]}\n      navToForm={navNextStep}\n      navBack={navBack}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n    />\n  );\n});\n\nexport default IntroView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport IntroView from './IntroView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport ShipViewModel from '../../../ShipViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(IntroView)\n@Service()\nexport default class IntroViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'introduction';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(IntroViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.applicationService.stepsService.changeStep(0);\n  }\n\n  activate() {}\n\n  @action.bound\n  navBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<IntroViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNextStep() {\n    try {\n      await this.applicationService.init();\n      this.navigator(PersonalInfoViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(err, 'ship - RemovalFromRegistry IntroViewModel', 'navNextStep - applicationService.init');\n      this.handleError(err);\n      return;\n    }\n  }\n\n  translate = translate('ship.certificates.removalFromRegistry.introduction', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type PersonalInfoViewModel from './PersonalInfoViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport PersonOrCompanyInfo from '../../shared/Application/PersonOrCompanyInfo';\n\nconst PersonalInfoView: View<PersonalInfoViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, activateBusyWatcher, generalTranslate } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <PersonOrCompanyInfo\n        service={applicationService.personService}\n        generalTranslate={generalTranslate}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default PersonalInfoView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport PersonalInfoView from './PersonalInfoView';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroViewModel from '../00_Intro/IntroViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport { ApiError } from '../../../../../data/sps/api';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(PersonalInfoView)\n@Service()\nexport default class PersonalInfoViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'personal-information';\n  }\n\n  get title(): string {\n    return this.generalTranslate('removalFromRegistry.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(PersonalInfoViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(1);\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.personService.getPerson(),\n        this.applicationService.personService.getCitizenships(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - RemovalFromRegistry PersonalInfoViewModel',\n        'activate - applicationService.init, applicationService.personService.getPerson, applicationService.personService.getCitizenships'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(IntroViewModel).go();\n  }\n\n  @Watch<PersonalInfoViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (this.applicationService.personService.validate()) {\n      this.applicationService.personService.saveToSessionStorage();\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.removalFromRegistry.personal-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type RequestViewModel from './RequestViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport BranchSelection from '../../shared/Application/BranchSelection';\nimport PickupSelection from '../../shared/Application/PickupSelection';\nimport BoatSelection from '../../shared/Application/BoatSelection';\n\nconst RequestView: View<RequestViewModel> = observer(({ vm }) => {\n  const { title, applicationService, navBack, navNext, nextStepBusyWatcher, translate, generalTranslate, activateBusyWatcher } =\n    vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n    >\n      <BoatSelection\n        title={translate('ship-selection')}\n        boatsService={applicationService.boatsService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      <BranchSelection\n        title={translate('branch-selection')}\n        branchService={applicationService.branchService}\n        isBusy={activateBusyWatcher.isBusy}\n      />\n\n      <PickupSelection\n        title={translate('pickup-selection')}\n        pickupService={applicationService.pickupDocumentsService}\n        isBusy={activateBusyWatcher.isBusy}\n        className=\"mt-5\"\n      />\n    </ApplicationStep>\n  );\n});\n\nexport default RequestView;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RequestView from './RequestView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport PersonalInfoViewModel from '../01_PersonalInfo/PersonalInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryViewModel from '../03_Summary/SummaryViewModel';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequestView)\n@Service()\nexport default class RequestViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'removal-request';\n  }\n\n  get title(): string {\n    return this.generalTranslate('removalFromRegistry.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(RequestViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(2);\n  }\n\n  @Watch<RequestViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await Promise.all([\n        this.applicationService.branchService.getBranches(),\n        this.applicationService.pickupDocumentsService.getPickupDocuments(),\n        this.applicationService.boatsService.getBoats(),\n      ]);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - RemovalFromRegistry RequestViewModel',\n        'activate - applicationService.init, applicationService.branchService.getBranches, applicationService.pickupDocumentsService.getPickupDocuments, applicationService.boatsService.getBoats'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(PersonalInfoViewModel).go();\n  }\n\n  @Watch<RequestViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    const validations = [\n      this.applicationService.branchService.validate(),\n      this.applicationService.pickupDocumentsService.validate(),\n      this.applicationService.boatsService.validate(),\n    ];\n\n    if (validations.every((v) => v === true)) {\n      this.applicationService.branchService.saveToSessionStorage();\n      this.applicationService.pickupDocumentsService.saveToSessionStorage();\n      this.applicationService.boatsService.saveToSessionStorage();\n\n      this.navigator(SummaryViewModel).go();\n    }\n  }\n\n  translate = translate('ship.certificates.removalFromRegistry.removalRequest', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ApplicationStep from '../../shared/Application/ApplicationStep';\nimport SummaryViewModel from './SummaryViewModel';\nimport ConfirmationCheckbox from '../../shared/Application/ConfirmationCheckbox';\nimport SummarySection from '../../shared/Application/Summary/SummarySection';\nimport SelectedBranch from '../../shared/Application/Summary/SelectedBranch';\nimport SelectedBoat from '../../shared/Application/Summary/SelectedBoat';\nimport SelectedPickup from '../../shared/Application/Summary/SelectedPickup';\nimport PersonalOrCompanyInfoSummary from '../../shared/Application/Summary/PersonalOrCompanyInfoSummary';\nimport PaymentInfoBox from '../../shared/Application/Summary/PaymentInfoBox';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    title,\n    applicationService,\n    navBack,\n    navNext,\n    nextStepBusyWatcher,\n    activateBusyWatcher,\n    confirmSummaryModel,\n    generalTranslate,\n    translate,\n  } = vm;\n\n  return (\n    <ApplicationStep\n      vm={vm}\n      title={title}\n      stepsService={applicationService.stepsService}\n      navBack={navBack}\n      navNext={navNext}\n      isBusy={nextStepBusyWatcher.isBusy}\n      generalTranslate={generalTranslate}\n      disabled={activateBusyWatcher.isBusy}\n      disableNextStep={!confirmSummaryModel.confirmAndAllow}\n    >\n      <PersonalOrCompanyInfoSummary personService={applicationService.personService} generalTranslate={generalTranslate} />\n\n      <SummarySection title={translate('summary.boatToRemoveTitle')}>\n        <SelectedBoat boat={applicationService.boatsService.selectedBoat} />\n        <SelectedPickup\n          pickup={applicationService.pickupDocumentsService.selectedPickup.pickup}\n          infoText={translate('summary.infoText')}\n        />\n        <SelectedBranch branch={applicationService.branchService.selectedBranch.branch} generalTranslate={generalTranslate} />\n      </SummarySection>\n\n      <ConfirmationCheckbox confirmSummaryModel={confirmSummaryModel} />\n\n      <PaymentInfoBox amount={applicationService.paymentService.payment.amount} generalTranslate={generalTranslate} />\n    </ApplicationStep>\n  );\n});\n\nexport default SummaryView;\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsBaseScreen from '../../shared/BaseScreen/SpsBaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RequestViewModel from '../02_Request/RequestViewModel';\nimport SummaryView from './SummaryView';\nimport ConfirmSummaryModel from '../../shared/Models/ConfirmSummaryModel';\nimport ConfirmationViewModel from '../04_Confirmation/ConfirmationViewModel';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends SpsBaseScreen {\n  @observable nextStepBusyWatcher = new BusyWatcher();\n  @observable activateBusyWatcher = new BusyWatcher();\n  @observable confirmSummaryModel = new ConfirmSummaryModel();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.generalTranslate('removalFromRegistry.title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.stepsService.changeStep(3);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.activateBusyWatcher)\n  @action.bound\n  async activate() {\n    try {\n      await this.applicationService.init();\n\n      await this.applicationService.paymentService.getPayment();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - RemovalFromRegistry SummaryViewModel',\n        'activate - applicationService.init, applicationService.paymentService.getPayment'\n      );\n      this.handleError(e);\n    }\n\n    // redirect to attachments if F5 pressed\n    if (!this.applicationService.boatsService.validate() || !this.applicationService.pickupDocumentsService.validate()) {\n      this.navigator(RequestViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RequestViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((s) => s.nextStepBusyWatcher)\n  @action.bound\n  async navNext() {\n    if (!this.confirmSummaryModel.confirmAndAllow) return;\n\n    this.applicationService.paymentService.saveToSessionStorage();\n\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.applicationService.postForm();\n\n      // redirect to CSOB if no error\n      window.location.replace(this.applicationService.paymentService.payment.url);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - RemovalFromRegistry SummaryViewModel',\n        'navNext - authService.refreshCurrentToken, applicationService.postForm'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.removalFromRegistry', this);\n}\n","import { Step } from '../shared/Application/Steps';\n\nexport const RemovalFromRegistrySteps: Step[] = [\n  {\n    stepNumber: 1,\n    title: 'personal-info',\n  },\n  {\n    stepNumber: 2,\n    title: 'vesselAndOffice',\n  },\n  {\n    stepNumber: 3,\n    title: 'summary',\n  },\n];\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport FormDataService from '../shared/Service/FormDataService';\nimport PersonService from '../shared/Service/PersonService';\nimport BranchService from '../shared/Service/BranchService';\nimport { RemovalFromRegistrySteps } from './RemovalFromRegistryStepsData';\nimport StepsService from '../shared/Service/StepsService';\nimport PaymentService from '../shared/Service/PaymentService';\nimport DownloadFileService from '../shared/Service/DownloadFileService';\nimport ValidationService from '../shared/Service/ValidationService';\nimport SpsApplicationService from '../shared/Service/SpsApplicationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from 'src/data/sps/api';\nimport BoatsService from '../shared/Service/BoatService';\nimport PickupDocumentsService from '../shared/Service/PickupDocumentsService';\nimport ApiService from '../../../../services/ApiService';\nimport { HandoverFormData } from '../shared/Types/HandoverFormData';\n\n@Service()\nexport default class ApplicationService extends SpsApplicationService {\n  @observable protected serviceId = Domain_Contracts_Enums_SpsServiceId.ID207;\n  @observable protected initialized = false;\n\n  constructor(\n    @Inject() public validationService: ValidationService,\n    @Inject() public formDataService: FormDataService,\n    @Inject() public stepsService: StepsService,\n    @Inject() public personService: PersonService,\n    @Inject() public branchService: BranchService,\n    @Inject() public paymentService: PaymentService,\n    @Inject() public downloadFileService: DownloadFileService,\n    @Inject() public boatsService: BoatsService,\n    @Inject() public pickupDocumentsService: PickupDocumentsService,\n    @Inject() public apiService: ApiService\n  ) {\n    super(validationService);\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    if (this.initialized) return;\n\n    this.validationService.init();\n    this.formDataService.init(this.serviceId);\n    this.stepsService.init(RemovalFromRegistrySteps);\n    this.personService.init();\n    this.branchService.init();\n    this.pickupDocumentsService.init();\n    this.boatsService.init();\n    this.paymentService.init();\n    this.downloadFileService.init();\n\n    this.hasAttachmentToDownload = false;\n    // only call POST person if formData were not found in the session storage\n    if (!this.formDataService.formData.requestId || !this.formDataService.formData.relationId) {\n      await this.personService.postPerson();\n    }\n    this.initialized = true;\n  }\n\n  @action.bound\n  reset() {\n    this.validationService.reset();\n    this.formDataService.reset();\n    this.stepsService.reset();\n    this.personService.reset();\n    this.branchService.reset();\n    this.paymentService.reset();\n    this.boatsService.reset();\n    this.pickupDocumentsService.reset();\n    this.downloadFileService.reset();\n    this.initialized = false;\n  }\n\n  async postForm() {\n    const requestBody: HandoverFormData<typeof this.apiService.spsApi.sps.postPdApiSps2V2Handover207> = {\n      ReleasePlaceId: Number.parseInt(this.branchService.selectedBranch.branchId),\n      PickupId: this.pickupDocumentsService.selectedPickup.pickupId,\n      BoatId: this.boatsService.selectedBoat.boatId,\n      Person: this.personService.getPersonString,\n      ContactAddress: this.personService.getEntityContactString,\n      RelationId: this.formDataService.formData.relationId,\n      DeliveryAddress: this.personService.getEntityDeliveryAddress,\n      Firma: this.personService.getCompanyString,\n    };\n    return this.apiService.spsApi.sps.postPdApiSps2V2Handover207(requestBody);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ReplacementCertificateViewModel from './ReplacementCertificateViewModel';\nimport Container from '../../../../components/layout/Container';\n\nconst ReplacementCertificateView: View<ReplacementCertificateViewModel> = observer(({ vm }) => {\n  const { translate, navPersonalInfo, busyWatcher, goBack } = vm;\n\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n      <div>\n        <p>{translate('description')}.</p>\n        <h2 className=\"h3size\">{translate('steps.title')}</h2>\n        <ol>\n          <li>{translate('steps.step-one')}</li>\n          <li>{translate('steps.step-two')}</li>\n          <li>{translate('steps.step-three')}</li>\n        </ol>\n      </div>\n      <div className=\"d-flex justify-content-between\">\n        <button\n          data-testid=\"back-button\"\n          className=\"gov-button gov-button--primary-outlined\"\n          onClick={() => goBack()}\n        >\n          {translate('back')}\n        </button>\n        <button\n          data-testid=\"next-button\"\n          disabled={busyWatcher.isBusy}\n          className=\"gov-button gov-button--primary ms-2\"\n          onClick={navPersonalInfo}\n        >\n          {busyWatcher.isBusy ? (\n            <div className=\"summary-loader\">\n              <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                <div className=\"gov-loader gov-loader--inversed\">\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                </div>\n              </div>\n            </div>\n          ) : (\n            translate('fill-in-application')\n          )}\n        </button>\n      </div>\n    </Container>\n  );\n});\n\nexport default ReplacementCertificateView;\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ReplacementCertificateStepsViewModel from './ReplacementCertificateStepsViewModel';\nimport Steps from '../components/Steps';\n\nconst ReplacementCertificateStepsView: View<ReplacementCertificateStepsViewModel> = observer(({ vm }) => {\n  const { translate, replacementCertificateTranslate, activeStep, steps } = vm;\n\n  return (\n    <div>\n      <h1>{replacementCertificateTranslate('title')}</h1>\n      <Steps steps={steps} vm={vm} activeStep={activeStep} translate={translate} />\n    </div>\n  );\n});\n\nexport default ReplacementCertificateStepsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ReplacementCertificateStepsView from './ReplacementCertificateStepsView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ReplacementCertificateService from '../../../../../services/ship/ReplacementCertificateService';\nimport StepsViewModel from '../StepsViewModel';\nimport { FormStateKeys } from '../../../../../data/entities/ship/types/FormState';\n\n@AddDefaultView(ReplacementCertificateStepsView)\n@AddChildrenView()\n@Service()\nexport default class ReplacementCertificateStepsViewModel extends StepsViewModel {\n  @observable applicationShown: boolean = false;\n  @observable notFound: boolean = false;\n  @observable steps = [\n    {\n      stepNumber: 1,\n      title: 'personal-info',\n      key: 'hasPersonalInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 2,\n      title: 'extradition-request',\n      key: 'hasExtraditionRequest',\n      disabled: true,\n    },\n    {\n      stepNumber: 3,\n      title: 'summary',\n      disabled: true,\n    },\n  ];\n\n  get pathNode(): string {\n    return '';\n  }\n\n  get title(): string {\n    return this.replacementCertificateTranslate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject()\n    private replacementCertificateService: ReplacementCertificateService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get activeStep() {\n    return this.replacementCertificateService.step;\n  }\n\n  @action.bound changeStep(stepNumber: number, visitedStep: FormStateKeys) {\n    this.replacementCertificateService.changeStep(stepNumber, visitedStep);\n  }\n\n  translate = translate('ship.certificates.steps', this);\n  replacementCertificateTranslate = translate('ship.certificates.replacement-certificate', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport Container from '../../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ExtraditionRequestViewModel from './ExtraditionRequestViewModel';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\n\nconst ExtraditionRequestView: View<ExtraditionRequestViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    extraditionRequest,\n    licencesOptions,\n    branchesOptions,\n    reasonsOptions,\n    busyWatcher,\n    replacementCertificateStepsViewModel,\n  } = vm;\n\n  return (\n    <div className=\"extradition-request-view\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={replacementCertificateStepsViewModel} />\n            {busyWatcher.isBusy ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              <>\n                <Fieldset wide>\n                  <h2 className=\"h3size mb-4\">{translate('licence.title')}</h2>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={extraditionRequest}\n                    property=\"licenceId\"\n                    options={licencesOptions}\n                    testId=\"licence-id\"\n                  />\n                  <h2 className=\"h3size mb-4\">{translate('reason.title')}</h2>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={extraditionRequest}\n                    property=\"reasonId\"\n                    options={reasonsOptions}\n                    testId=\"reason-id\"\n                  />\n                  <h2 className=\"h3size mb-4\">{translate('branch.title')}</h2>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={extraditionRequest}\n                    property=\"branchId\"\n                    options={branchesOptions}\n                    testId=\"branch-id\"\n                  />\n                </Fieldset>\n              </>\n            )}\n          </Envelope>\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={busyWatcher.isBusy}\n              onClick={goNext}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default ExtraditionRequestView;\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('applications.ship.extradition-request')\nexport default class ExtraditionRequestModel {\n  @observable licenceId = '';\n  @observable reasonId = '';\n  @observable branchId = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(licenceId: string, branchId: string, reasonId: string): ExtraditionRequestModel {\n    const model = new ExtraditionRequestModel();\n\n    model.licenceId = licenceId;\n    model.branchId = branchId;\n    model.reasonId = reasonId;\n\n    return model;\n  }\n}\n\nexport const ExtraditionRequestModelValidators: ValidationDescriptor<ExtraditionRequestModel, Validators> = {\n  licenceId: {\n    required: {\n      message: 'licence.required',\n    },\n  },\n  reasonId: {\n    required: {\n      message: 'reason.required',\n    },\n  },\n  branchId: {\n    required: {\n      message: 'branch.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport ExtraditionRequestView from './ExtraditionRequestView';\nimport ReplacementCertificateStepsViewModel from '../../../ApplicationSteps/ReplacementCertificateSteps/ReplacementCertificateStepsViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ReplacementCertificateService from '../../../../../../services/ship/ReplacementCertificateService';\nimport ExtraditionRequestModel, { ExtraditionRequestModelValidators } from './ExtraditionRequestModel';\nimport type PersonLicenseEntity from '../../../../../../data/entities/ship/person/PersonLicenseEntity';\nimport type IssueBranchesEntity from '../../../../../../data/entities/ship/issue/IssueBranchesEntity';\nimport type IssueReasonsEntity from '../../../../../../data/entities/ship/issue/IssueReasonsEntity';\nimport type { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\nimport { FormStateKeys } from 'src/data/entities/ship/types/FormState';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ExtraditionRequestView)\n@Service()\nexport default class ExtraditionRequestViewModel extends OldSpsBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable extraditionRequest: ExtraditionRequestModel = new ExtraditionRequestModel();\n  @observable.ref licences: PersonLicenseEntity | undefined;\n  @observable.ref reasons: IssueReasonsEntity | undefined;\n  @observable.ref branches: IssueBranchesEntity | undefined;\n  @observable licencesOptions: RadioGroupOption[] = [];\n  @observable reasonsOptions: RadioGroupOption[] = [];\n  @observable branchesOptions: RadioGroupOption[] = [];\n\n  get pathNode(): string {\n    return 'extradition-request';\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public replacementCertificateStepsViewModel: ReplacementCertificateStepsViewModel,\n    @Inject() private shipService: ReplacementCertificateService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ExtraditionRequestViewModel);\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(2, FormStateKeys.VisitedExtraditionRequestInfo);\n  }\n\n  @Watch<ExtraditionRequestViewModel>((s) => s.busyWatcher)\n  async activate(): Promise<void> {\n    if (this.shipService.formState?.visitedExtraditionRequestInfo) {\n      this.resetExtraditionRequest();\n    }\n\n    const tempExtraditionRequest = this.shipService.getExtraditionRequestFormData();\n    let extraditionRequest: ExtraditionRequestModel | undefined;\n\n    if (tempExtraditionRequest) {\n      runInAction(() => {\n        this.extraditionRequest = tempExtraditionRequest;\n      });\n      extraditionRequest = {\n        licenceId: tempExtraditionRequest.licenceId,\n        branchId: tempExtraditionRequest.branchId,\n        reasonId: tempExtraditionRequest.reasonId,\n      };\n    } else {\n      extraditionRequest = this.shipService.getExtraditionRequest();\n    }\n\n    runInAction(() => {\n      if (extraditionRequest) {\n        this.extraditionRequest = ExtraditionRequestModel.mapData(\n          extraditionRequest.licenceId,\n          extraditionRequest.branchId,\n          extraditionRequest.reasonId\n        );\n        this.shipService.validation.attachDescriptor(\n          this.extraditionRequest,\n          ExtraditionRequestModelValidators\n        );\n      }\n    });\n\n    await this.setLicences();\n    await this.setBranches();\n    await this.setReasons();\n  }\n\n  @action.bound\n  reset() {\n    this.licences = undefined;\n    this.reasons = undefined;\n    this.branches = undefined;\n    this.licencesOptions = [];\n    this.reasonsOptions = [];\n    this.branchesOptions = [];\n  }\n\n  @action.bound\n  resetExtraditionRequest() {\n    runInAction(() => {\n      this.extraditionRequest.reasonId = '';\n      this.extraditionRequest.branchId = '';\n      this.extraditionRequest.licenceId = '';\n    });\n  }\n\n  async setLicences() {\n    let licences: PersonLicenseEntity | undefined;\n    if (this.licencesOptions.length === 0) {\n      try {\n        licences = await this.shipService.getV2PersonLicense();\n      } catch (e: unknown) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ReplacementCertificate ExtraditionRequestViewModel',\n          'setLicences - shipService.getV2PersonLicense'\n        );\n        this.handleError(e);\n      }\n    }\n\n    if (licences) {\n      runInAction(() => {\n        this.licences = licences;\n        this.licencesOptions = this.mapLicencesToRadioGroupOptions(licences);\n      });\n    }\n  }\n\n  async setBranches() {\n    let branches: IssueBranchesEntity | undefined;\n    if (this.branchesOptions.length === 0) {\n      try {\n        branches = await this.shipService.getIssueBranches();\n      } catch (e: unknown) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ReplacementCertificate ExtraditionRequestViewModel',\n          'setBranches - shipService.getIssueBranches'\n        );\n        this.handleError(e);\n      }\n    }\n\n    if (branches) {\n      runInAction(() => {\n        this.branches = branches;\n        this.branchesOptions = this.mapBranchesToRadioGroupOptions(branches);\n      });\n    }\n  }\n\n  async setReasons() {\n    let reasons: IssueReasonsEntity | undefined;\n    if (this.reasonsOptions.length === 0) {\n      try {\n        reasons = await this.shipService.getIssueReasons();\n      } catch (e: unknown) {\n        this.errorService.logCatchError(\n          e,\n          'ship - ReplacementCertificate ExtraditionRequestViewModel',\n          'setReasons - shipService.getIssueReasons'\n        );\n        this.handleError(e);\n      }\n    }\n\n    if (reasons) {\n      runInAction(() => {\n        this.reasons = reasons;\n        this.reasonsOptions = this.mapReasonsToRadioGroupOptions(reasons);\n      });\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.saveData('../personal-info');\n  }\n\n  @action.bound\n  goNext() {\n    if (this.shipService.validation.validateObject(this.extraditionRequest)) {\n      this.saveData('../summary');\n    }\n  }\n\n  translate = translate('ship.certificates.replacement-certificate.extradition-request', this);\n  generalTranslate = translate('ship.certificates', this);\n\n  private saveData(goToRoute: string) {\n    const licence = this.licences?.licences.find((cert) => cert.id === this.extraditionRequest.licenceId);\n    let branch = this.branches?.branches.find((branch) => branch.id === this.extraditionRequest.branchId);\n    let reason = this.reasons?.reasons.find((reason) => reason.id === this.extraditionRequest.reasonId);\n\n    let licenceWithNumber = '';\n\n    if (licence) {\n      licenceWithNumber = `${licence.number} ${licence.description}`;\n    }\n\n    if (!reason) {\n      reason = { id: '', description: '' };\n    }\n\n    if (!branch) {\n      branch = { id: '', description: '' };\n    }\n\n    this.shipService.setExtraditionRequest(\n      this.extraditionRequest,\n      licenceWithNumber,\n      branch.description,\n      reason.description\n    );\n    this.navigator(goToRoute).go();\n  }\n\n  private mapLicencesToRadioGroupOptions(licences: PersonLicenseEntity | undefined): RadioGroupOption[] {\n    if (!licences) return [];\n    const options: RadioGroupOption[] = [];\n    licences.licences.map((licence) => {\n      options.push({\n        id: licence.id,\n        label: `${licence.number} ${licence.description}`,\n      });\n    });\n    return options;\n  }\n\n  private mapBranchesToRadioGroupOptions(branches: IssueBranchesEntity | undefined): RadioGroupOption[] {\n    if (!branches) return [];\n    const options: RadioGroupOption[] = [];\n    branches.branches.map((branch) => {\n      options.push({\n        id: branch.id,\n        label: branch.description,\n      });\n    });\n    return options;\n  }\n\n  private mapReasonsToRadioGroupOptions(reasons: IssueReasonsEntity | undefined): RadioGroupOption[] {\n    if (!reasons) return [];\n    const options: RadioGroupOption[] = [];\n    reasons.reasons.map((reason) => {\n      options.push({\n        id: reason.id,\n        label: reason.description,\n      });\n    });\n    return options;\n  }\n}\n","import { useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryViewModel from './SummaryViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport '../../../shared/SummaryView.scss';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport { PersonInfoSummaryBlock } from '../../../shared/PersonInfoSummaryBlock';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    formData,\n    errorMessages,\n    submitDisabled,\n    isLoading,\n    paymentData,\n  } = vm;\n  const { summary } = formData;\n  const [checked, setChecked] = useState(false);\n\n  return (\n    <Container>\n      <Envelope>\n        <RenderModel vm={vm?.replacementCertificateStepsViewModel} />\n\n        {isLoading ? (\n          <div>\n            <LoaderBox type=\"box\" />\n          </div>\n        ) : (\n          <div>\n            <PersonInfoSummaryBlock\n              translate={generalTranslate}\n              personSummary={formData.summary.personalInfo}\n              wantDeliveryAddress={formData.wantDeliveryAddress}\n            />\n\n            <div className=\"summary-block\">\n              <div className=\"summary-block-item\">\n                <div>{translate('block-2.licence')}:</div>\n                <div>{summary.certificate}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-2.reason')}:</div>\n                <div>{summary.reason}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-2.branch')}:</div>\n                <div>{summary.branch}</div>\n              </div>\n            </div>\n\n            <div className=\"gov-form-control gov-form-control--custom\">\n              <ul className=\"gov-form-group\">\n                <li className=\"gov-form-group__item\">\n                  <input\n                    id={'1'}\n                    type=\"checkbox\"\n                    className=\"gov-form-control__checkbox\"\n                    checked={checked}\n                    value={'1'}\n                    onChange={() => setChecked(!checked)}\n                  />\n                  <label htmlFor={'1'} className=\"gov-form-control__label\">\n                    {translate('consent')}\n                  </label>\n                  <span className=\"gov-form-control__indicator\" />\n                </li>\n              </ul>\n            </div>\n\n            {paymentData && (\n              <InfoBox content={translate('payment-info').replace('{payment}', paymentData.amount)} />\n            )}\n\n            {errorMessages && (\n              <ErrorMessage className=\"mt-4\">\n                {errorMessages.map((error) => (\n                  <span key={error} className=\"d-block\">\n                    {error}\n                  </span>\n                ))}\n              </ErrorMessage>\n            )}\n\n            <div className=\"d-flex justify-content-between mt-4\">\n              <button\n                data-testid=\"back-button\"\n                className=\"gov-button gov-button--primary-outlined\"\n                onClick={goBack}\n              >\n                {generalTranslate('back')}\n              </button>\n              <button\n                data-testid=\"next-button\"\n                disabled={!checked || submitDisabled || !!errorMessages}\n                className=\"gov-button gov-button--primary\"\n                onClick={goNext}\n              >\n                {submitDisabled ? (\n                  <div className=\"summary-loader\">\n                    <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                      <div className=\"gov-loader gov-loader--inversed\">\n                        <span>&nbsp;</span>\n                        <span>&nbsp;</span>\n                        <span>&nbsp;</span>\n                      </div>\n                    </div>\n                  </div>\n                ) : (\n                  generalTranslate('submit')\n                )}\n              </button>\n            </div>\n          </div>\n        )}\n      </Envelope>\n    </Container>\n  );\n});\n\nexport default SummaryView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SummaryView from './SummaryView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport ReplacementCertificateStepsViewModel from '../../../ApplicationSteps/ReplacementCertificateSteps/ReplacementCertificateStepsViewModel';\nimport ReplacementCertificateService from '../../../../../../services/ship/ReplacementCertificateService';\nimport ExtraditionRequestViewModel from '../ExtraditionRequest/ExtraditionRequestViewModel';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type { ReplacementCertificateErrorKeys, ShipRequestErrorKeys } from '../../../../../../data/entities/ship/form/FormEntity';\nimport { ApiError } from '../../../../../../data/sps/api';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\ntype ErrorKeys = ShipRequestErrorKeys | ReplacementCertificateErrorKeys;\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends OldSpsBaseScreen {\n  @observable submitDisabled: boolean = false;\n  @observable errorMessages: undefined | string[] = undefined;\n  @observable isLoading = false;\n  @observable paymentData: { amount: string; url: string; payId: string } | undefined = undefined;\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ReplacementCertificateService,\n    @Inject() public replacementCertificateStepsViewModel: ReplacementCertificateStepsViewModel,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  get formData() {\n    return this.shipService.formData;\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(3, FormStateKeys.VisitedSummary);\n  }\n\n  async activate() {\n    await this.getPayment();\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.errorMessages = undefined;\n      this.errorMessage = '';\n      this.submitDisabled = false;\n    });\n  }\n\n  @action.bound\n  async getPayment() {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    try {\n      const paymentEntity = await this.shipService.getV2PaymentUrl();\n\n      if (paymentEntity) {\n        runInAction(() => {\n          this.paymentData = paymentEntity?.payment;\n        });\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ReplacementCertificate SummaryViewModel',\n        'getPayment - shipService.getV2PaymentUrl'\n      );\n      this.handleError(e);\n    }\n\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  @action.bound\n  async goNext() {\n    runInAction(() => {\n      this.submitDisabled = true;\n    });\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.shipService.goToPayment(this.paymentData);\n      this.submitDisabled = false;\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ReplacementCertificate SummaryViewModel',\n        'goNext - authService.refreshCurrentToken, shipService.goToPayment'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator(ExtraditionRequestViewModel).go();\n  }\n\n  translate = translate('ship.certificates.replacement-certificate.summary', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ReplacementCertificateView from './ReplacementCertificateView';\nimport AddConditionalView from '@cendis/cedr-framework/dist/view/AddConditionalView';\nimport PersonalInfoViewModel from '../NewCertificate/Steps/PersonalInfo/PersonalInfoViewModel';\nimport ReplacementCertificateStepsViewModel from '../ApplicationSteps/ReplacementCertificateSteps/ReplacementCertificateStepsViewModel';\nimport ReplacementCertificateService from '../../../../services/ship/ReplacementCertificateService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ExtraditionRequestViewModel from './Steps/ExtraditionRequest/ExtraditionRequestViewModel';\nimport SummaryViewModel from './Steps/Summary/SummaryViewModel';\nimport ShipViewModel from '../../ShipViewModel';\nimport MandatesService from '../../../../services/MandatesService';\nimport OldSpsBaseScreen from '../shared/BaseScreen/OldSpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(ReplacementCertificateView)\n@AddChildrenView()\n@Service()\nexport default class ReplacementCertificateViewModel extends OldSpsBaseScreen {\n  personalInfoViewModel: PersonalInfoViewModel | undefined = undefined;\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'replacement-certificate';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: ReplacementCertificateService,\n    @Inject() private replacementCertificateStepsViewModel: ReplacementCertificateStepsViewModel,\n    @Inject() private extraditionRequestViewModel: ExtraditionRequestViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ReplacementCertificateViewModel);\n    this.personalInfoViewModel = new PersonalInfoViewModel(\n      this.localization,\n      this.shipService,\n      replacementCertificateStepsViewModel,\n      this.mandatesService,\n      this.errorService,\n      'extradition-request'\n    );\n    this.children.push(this.personalInfoViewModel);\n    this.children.push(extraditionRequestViewModel);\n    this.children.push(summaryViewModel);\n    makeObservable(this);\n  }\n\n  async activate() {\n    this.shipService.unsetRequestEntity();\n    await this.shipService.loadShipData();\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  notifyNavigation() {\n    this.shipService.resetFormData();\n    this.personalInfoViewModel?.reset();\n    this.extraditionRequestViewModel.reset();\n  }\n\n  @Watch<ReplacementCertificateViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async navPersonalInfo() {\n    try {\n      await this.shipService.initialization();\n      return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'ship - ReplacementCertificate ReplacementCertificateViewModel',\n        'navPersonalInfo - shipService.initialization'\n      );\n      this.handleError(e);\n    }\n  }\n\n  translate = translate('ship.certificates.replacement-certificate.introduction', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type VesselRegistrationViewModel from './VesselRegistrationViewModel';\nimport Container from '../../../../components/layout/Container';\n\nconst VesselRegistrationView: View<VesselRegistrationViewModel> = observer(({ vm }) => {\n  const { translate, generalTranslate, navPersonalInfo, busyWatcher, goBack } = vm;\n\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n      <div>\n        <p>{translate('description')}.</p>\n        <h2 className=\"h3size\">{translate('steps.title')}</h2>\n        <ol>\n          <li>{translate('steps.step-one')}</li>\n          <li>{translate('steps.step-two')}</li>\n          <li>{translate('steps.step-three')}</li>\n          <li>{translate('steps.step-four')}</li>\n          <li>{translate('steps.step-five')}</li>\n        </ol>\n      </div>\n      <div className=\"d-flex justify-content-between\">\n        <button\n          data-testid=\"back-button\"\n          className=\"gov-button gov-button--primary-outlined\"\n          onClick={() => goBack()}\n        >\n          {generalTranslate('back')}\n        </button>\n        <button\n          data-testid=\"next-button\"\n          disabled={busyWatcher.isBusy}\n          className=\"gov-button gov-button--primary ms-2\"\n          onClick={navPersonalInfo}\n        >\n          {busyWatcher.isBusy ? (\n            <div className=\"summary-loader\">\n              <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                <div className=\"gov-loader gov-loader--inversed\">\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                  <span>&nbsp;</span>\n                </div>\n              </div>\n            </div>\n          ) : (\n            translate('fill-in-application')\n          )}\n        </button>\n      </div>\n    </Container>\n  );\n});\n\nexport default VesselRegistrationView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type VesselRegistrationStepsViewModel from './VesselRegistrationStepsViewModel';\nimport Steps from '../components/Steps';\n\nconst VesselRegistrationStepsView: View<VesselRegistrationStepsViewModel> = observer(({ vm }) => {\n  const { translate, vesselRegistrationTranslate, activeStep, steps } = vm;\n\n  return (\n    <div>\n      <h1>{vesselRegistrationTranslate('title')}</h1>\n      <Steps steps={steps} vm={vm} activeStep={activeStep} translate={translate} />\n    </div>\n  );\n});\n\nexport default VesselRegistrationStepsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport VesselRegistrationStepsView from './VesselRegistrationStepsView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport VesselRegistrationService from '../../../../../services/ship/VesselRegistrationService';\nimport StepsViewModel from '../StepsViewModel';\nimport { FormStateKeys } from '../../../../../data/entities/ship/types/FormState';\n\n@AddDefaultView(VesselRegistrationStepsView)\n@AddChildrenView()\n@Service()\nexport default class VesselRegistrationStepsViewModel extends StepsViewModel {\n  @observable applicationShown: boolean = false;\n  @observable notFound: boolean = false;\n  @observable steps = [\n    {\n      stepNumber: 1,\n      title: 'personal-info',\n      key: 'hasPersonalInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 2,\n      title: 'ship-info',\n      key: 'hasShipInfo',\n      disabled: true,\n    },\n    {\n      stepNumber: 3,\n      title: 'required-attachments',\n      key: 'hasAttachments',\n      disabled: true,\n    },\n    {\n      stepNumber: 4,\n      title: 'summary',\n      disabled: true,\n    },\n  ];\n\n  get pathNode(): string {\n    return '';\n  }\n\n  get title(): string {\n    return this.vesselRegistrationTranslate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private vesselRegistrationService: VesselRegistrationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get activeStep() {\n    return this.vesselRegistrationService.step;\n  }\n\n  @action.bound changeStep(stepNumber: number, visitedStep: FormStateKeys) {\n    this.vesselRegistrationService.changeStep(stepNumber, visitedStep);\n  }\n\n  translate = translate('ship.certificates.steps', this);\n  vesselRegistrationTranslate = translate('ship.certificates.vessel-registration', this);\n}\n","import React, { useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryViewModel from './SummaryViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport '../../../shared/SummaryView.scss';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport { PersonInfoSummaryBlock } from '../../../shared/PersonInfoSummaryBlock';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    formData,\n    errorMessages,\n    submitDisabled,\n    paymentSum,\n    personType,\n  } = vm;\n  const { boatData, summary } = formData;\n  const [checked, setChecked] = useState(false);\n  const [tempPersonType, setTempPersonType] = useState(personType);\n\n  return (\n    <Container>\n      <Envelope>\n        <RenderModel vm={vm?.vesselRegistrationStepsViewModel} />\n\n        <PersonInfoSummaryBlock\n          translate={generalTranslate}\n          personSummary={formData.summary.personalInfo}\n          wantDeliveryAddress={formData.wantDeliveryAddress}\n          personType={tempPersonType}\n        />\n\n        <div className=\"summary-block\">\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.boat-type')}:</div>\n            <div>{boatData.boatType}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.boat-length')}:</div>\n            <div>{boatData.length ? `${boatData.length} m` : ''}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.boat-width')}:</div>\n            <div>{boatData.width ? `${boatData.width} m` : ''}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.boat-draught')}:</div>\n            <div>{boatData.draught ? `${boatData.draught} m` : ''}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.boat-purposes')}:</div>\n            <div>{boatData.boatPurposes}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.declaration')}:</div>\n            <div>{summary.declaration ? translate('block-2.yes') : translate('block-2.no')}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.ownership')}:</div>\n            <div>{summary.ownership}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.devices')}:</div>\n            <div>{summary.devices?.join(', ')}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.branch')}:</div>\n            <div>{summary.branch}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-2.pickup')}:</div>\n            <div>{summary.pickup}</div>\n          </div>\n        </div>\n\n        <div className=\"summary-block\">\n          <h3>{translate('attachments')}</h3>\n          {formData.summary.attachments &&\n            formData.summary.attachments.map((attachment, index) => (\n              <p key={`${attachment}-${index}`}>\n                <b>{attachment}</b>\n              </p>\n            ))}\n        </div>\n\n        <div className=\"gov-form-control gov-form-control--custom\">\n          <ul className=\"gov-form-group\">\n            <li className=\"gov-form-group__item\">\n              <input\n                id={'1'}\n                type=\"checkbox\"\n                className=\"gov-form-control__checkbox\"\n                checked={checked}\n                value={'1'}\n                onChange={() => setChecked(!checked)}\n              />\n              <label htmlFor={'1'} className=\"gov-form-control__label\">\n                {translate('consent')}\n              </label>\n              <span className=\"gov-form-control__indicator\" />\n            </li>\n          </ul>\n        </div>\n\n        <InfoBox\n          content={\n            paymentSum\n              ? translate('payment-info').replace('{payment}', paymentSum)\n              : translate('payment-loading')\n          }\n        />\n\n        {errorMessages && (\n          <ErrorMessage className=\"mt-4\">\n            {errorMessages.map((error) => (\n              <span key={error} className=\"d-block\">\n                {error}\n              </span>\n            ))}\n          </ErrorMessage>\n        )}\n\n        <div className=\"d-flex justify-content-between mt-4\">\n          <button\n            data-testid=\"back-button\"\n            className=\"gov-button gov-button--primary-outlined\"\n            onClick={goBack}\n          >\n            {generalTranslate('back')}\n          </button>\n          <button\n            data-testid=\"next-button\"\n            disabled={!checked || submitDisabled || !!errorMessages}\n            className=\"gov-button gov-button--primary\"\n            onClick={goNext}\n          >\n            {submitDisabled ? (\n              <div className=\"summary-loader\">\n                <div className=\"sg-loaders__item sg-loaders__item--blue\">\n                  <div className=\"gov-loader gov-loader--inversed\">\n                    <span>&nbsp;</span>\n                    <span>&nbsp;</span>\n                    <span>&nbsp;</span>\n                  </div>\n                </div>\n              </div>\n            ) : (\n              generalTranslate('submit')\n            )}\n          </button>\n        </div>\n      </Envelope>\n    </Container>\n  );\n});\n\nexport default SummaryView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SummaryView from './SummaryView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport type { VesselRegistrationErrorKeys, ShipRequestErrorKeys } from '../../../../../../data/entities/ship/form/FormEntity';\nimport VesselRegistrationStepsViewModel from '../../../ApplicationSteps/VesselRegistrationSteps/VesselRegistrationStepsViewModel';\nimport VesselRegistrationService from '../../../../../../services/ship/VesselRegistrationService';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport MandatesService from '../../../../../../services/MandatesService';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport VerifyBoatInfoEntity from 'src/data/entities/ship/VerifyBoatInfo/VerifyBoatInfoEntity';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport AuthService from 'src/services/AuthService';\nimport ErrorService from 'src/services/ErrorService';\n\ntype ErrorKeys = ShipRequestErrorKeys | VesselRegistrationErrorKeys;\n\n@AddDefaultView(SummaryView)\n@Service()\nexport default class SummaryViewModel extends OldSpsBaseScreen {\n  @observable submitDisabled: boolean = false;\n  @observable errorMessages: undefined | string[] = undefined;\n  @observable paymentSum?: string = '';\n  @observable verifyModel: VerifyBoatInfoEntity = new VerifyBoatInfoEntity();\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get personType(): MandatePersonType {\n    return this.mandatesService.personType;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: VesselRegistrationService,\n    @Inject() public vesselRegistrationStepsViewModel: VesselRegistrationStepsViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private authService: AuthService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(SummaryViewModel);\n    makeObservable(this);\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  get formData() {\n    return this.shipService.formData;\n  }\n\n  notifyNavigation() {\n    this.shipService.changeStep(4, FormStateKeys.VisitedSummary);\n  }\n\n  async activate() {\n    try {\n      if (!this.shipService.isInitialized) await this.shipService.initialization();\n\n      if (!this.shipService.hasAllRequiredFiles()) {\n        this.goBack();\n        return;\n      }\n\n      const paymentSum = await this.shipService.getV2PaymentSum();\n      const payments: string[] = [];\n\n      paymentSum?.payments.map((payment) => {\n        const paymentString = `${payment.description}: ${payment.sum} Kč`;\n        if (payment.pay) {\n          payments.unshift(paymentString);\n        } else {\n          payments.push(paymentString);\n        }\n      });\n\n      runInAction(() => {\n        this.paymentSum = payments.join(', ');\n\n        if (paymentSum) this.verifyModel = paymentSum;\n      });\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'VesselRegistration SummaryViewModel',\n        'activate - shipService.getV2PaymentSum, shipService.initialization'\n      );\n      this.handleError(e);\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.errorMessages = undefined;\n      this.errorMessage = '';\n    });\n  }\n\n  @action.bound\n  async goNext() {\n    runInAction(() => {\n      this.submitDisabled = true;\n    });\n    try {\n      await this.authService.refreshCurrentToken();\n\n      await this.shipService.goToPayment(this.verifyModel);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'VesselRegistration SummaryViewModel',\n        'goNext - shipService.goToPayment, authService.refreshCurrentToken'\n      );\n      this.handleError(e);\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator('../required-attachments').go();\n  }\n\n  translate = translate('ship.certificates.vessel-registration.summary', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ShipInfoViewModel from './ShipInfoViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport './ShipInfoView.scss';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport CheckboxGroup from '../../../../../../components/form/CheckboxGroup/CheckboxGroup';\nimport Input from '../../../../../../components/form/Input';\nimport MarkdownContent from '../../../../../../components/form/MarkdownContent';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\n\nconst ShipInfoView: View<ShipInfoViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    generalTranslate,\n    goBack,\n    goNext,\n    shipInfo,\n    boatPropertiesOptions,\n    pickupOptions,\n    issueBranchesOptions,\n    isLoading,\n    invalidDimensions,\n  } = vm;\n\n  const {\n    boatTypesOptions,\n    utzEquipmentData,\n    boatAuthorityRelationshipOptions,\n    boatPurposesOptions,\n    ceDeclarationData,\n  } = boatPropertiesOptions;\n\n  return (\n    <div className=\"extension-ship-info-view\">\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <RenderModel vm={vm?.vesselRegistrationStepsViewModel} />\n\n            {isLoading ? (\n              <div>\n                <LoaderBox type=\"box\" />\n              </div>\n            ) : (\n              <>\n                <Fieldset wide>\n                  <h3 className=\"mb-4\">{translate('boat')}</h3>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={shipInfo}\n                    property=\"boatTypeId\"\n                    options={boatTypesOptions}\n                    testId=\"boat-type\"\n                  />\n                  <h3 className=\"mb-4\">{translate('boat-dimensions')}</h3>\n                  <div className=\"d-flex flex-column flex-md-row mb-4 flex-wrap\">\n                    <div\n                      className={`d-flex flex-column flex-md-row ${invalidDimensions .map((dim) =>\n                        `invalid--${dim}`) .join(' ')}`}\n                    >\n                      <Input className=\"me-2\" target={shipInfo} property=\"boatLength\" />\n                      <Input className=\"me-2\" target={shipInfo} property=\"boatWidth\" />\n                      <Input className=\"me-2\" target={shipInfo} property=\"boatDraught\" />\n                    </div>\n                    {Boolean(invalidDimensions.length) && (\n                      <InfoPanel type=\"warning\" message={translate('invalid-dimensions')} />\n                    )}\n                  </div>\n                  <h3 className=\"mb-4\">{translate('boat-purpose')}</h3>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={shipInfo}\n                    property=\"boatPurposeId\"\n                    options={boatPurposesOptions}\n                    testId=\"boat-purpose\"\n                  />\n                  <h3>{translate('devices')}</h3>\n                  <CheckboxGroup\n                    target={shipInfo}\n                    property=\"utzEquipment\"\n                    data={utzEquipmentData}\n                    testId=\"shipInfo\"\n                  />\n                  <h3 className=\"mb-4\">{translate('relationship')}</h3>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={shipInfo}\n                    property=\"ownershipId\"\n                    options={boatAuthorityRelationshipOptions}\n                    testId=\"relationship\"\n                  />\n                  <h3 className=\"mb-4\">{translate('ceDeclaration')}</h3>\n                  <CheckboxGroup\n                    className=\"mb-4\"\n                    target={shipInfo}\n                    property=\"declaration\"\n                    data={ceDeclarationData}\n                    testId=\"declaration\"\n                  />\n                  <h3 className=\"mb-4\">{translate('pickup')}</h3>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={shipInfo}\n                    property=\"pickupId\"\n                    options={pickupOptions}\n                    testId=\"pickup-id\"\n                  />\n                  <h3 className=\"mb-4\">{translate('branches')}</h3>\n                  <div className=\"side-text\">\n                    <p className=\"side-text\">{translate('branch-info')}</p>\n                  </div>\n                  <RadioGroup\n                    className=\"mb-4\"\n                    target={shipInfo}\n                    property=\"branchId\"\n                    options={issueBranchesOptions}\n                    testId=\"branch-id\"\n                  />\n                </Fieldset>\n                <MarkdownContent\n                  className=\"side-text\"\n                  content={translate('branch-info-2')\n                    .replace('{link1}', 'https://sps.gov.cz/organizace/uzemni-pusobnost-pobocek')\n                    .replace('{link2}', 'https://sps.gov.cz/dok-pl/technicke-prohlidky')}\n                />\n              </>\n            )}\n\n            <div className=\"d-flex justify-content-between mt-4\">\n              <button\n                data-testid=\"back-button\"\n                className=\"gov-button gov-button--primary-outlined\"\n                onClick={goBack}\n              >\n                {generalTranslate('back')}\n              </button>\n              <button\n                data-testid=\"next-button\"\n                className=\"gov-button gov-button--primary\"\n                disabled={isLoading}\n                onClick={goNext}\n              >\n                {generalTranslate('next')}\n              </button>\n            </div>\n          </Envelope>\n        </Container>\n      </ScreenContext>\n    </div>\n  );\n});\n\nexport default ShipInfoView;\n","import { makeObservable, observable } from 'mobx';\nimport type { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\n\n@AddTranslationKey('applications.ship.vessel-registration.ship-info')\nexport default class ShipInfoModel {\n  @observable boatTypeId = '';\n  @observable boatWidth = '';\n  @observable boatLength = '';\n  @observable boatDraught = '';\n  @observable boatPurposeId = '';\n  @observable utzEquipment: string[] = [];\n  @observable ownershipId = '';\n  @observable declaration: string[] = [];\n  @observable pickupId = '';\n  @observable branchId = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(\n    boatTypeId: string,\n    boatWidth: string,\n    boatLength: string,\n    boatDraught: string,\n    boatPurposeId: string,\n    utzEquipment: string[],\n    ownershipId: string,\n    declaration: string[],\n    pickupId: string,\n    branchId: string\n  ): ShipInfoModel {\n    const model = new ShipInfoModel();\n\n    model.boatTypeId = boatTypeId;\n    model.boatWidth = boatWidth;\n    model.boatLength = boatLength;\n    model.boatDraught = boatDraught;\n    model.boatPurposeId = boatPurposeId;\n    model.utzEquipment = utzEquipment;\n    model.ownershipId = ownershipId;\n    model.declaration = declaration;\n    model.pickupId = pickupId;\n    model.branchId = branchId;\n\n    return model;\n  }\n}\n\nexport const ShipInfoModelValidators: ValidationDescriptor<ShipInfoModel, Validators> = {\n  boatTypeId: {\n    required: {\n      message: 'boatTypeId.required',\n    },\n  },\n  boatWidth: {\n    required: {\n      message: 'boatWidth.required',\n    },\n    decimal: {\n      message: 'boatDimension.format',\n    },\n  },\n  boatLength: {\n    required: {\n      message: 'boatLength.required',\n    },\n    decimal: {\n      message: 'boatDimension.format',\n    },\n  },\n  boatDraught: {\n    required: {\n      message: 'boatDraught.required',\n    },\n    decimal: {\n      message: 'boatDimension.format',\n    },\n  },\n  pickupId: {\n    required: {\n      message: 'pickupId.required',\n    },\n  },\n  boatPurposeId: {\n    required: {\n      message: 'boatPurposeId.required',\n    },\n  },\n  ownershipId: {\n    required: {\n      message: 'ownershipId.required',\n    },\n  },\n  branchId: {\n    required: {\n      message: 'branchId.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport { action, computed, IReactionDisposer, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport ShipInfoView from './ShipInfoView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport VesselRegistrationService from '../../../../../../services/ship/VesselRegistrationService';\nimport ShipInfoModel, { ShipInfoModelValidators } from './ShipInfoModel';\nimport type BoatsEntity from '../../../../../../data/entities/ship/boats/BoatsEntity';\nimport type { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\nimport VesselRegistrationStepsViewModel from '../../../ApplicationSteps/VesselRegistrationSteps/VesselRegistrationStepsViewModel';\nimport { FormStateKeys } from 'src/data/entities/ship/types/FormState';\nimport type PickupMethodEntity from '../../../../../../data/entities/ship/PickupMethod/PickupMethodEntity';\nimport type { CheckboxData } from '@form/CheckboxGroup/CheckboxGroup';\nimport type BoatPropertiesEntity from '../../../../../../data/entities/ship/BoatProperties/BoatPropertiesEntity';\nimport type IssueBranchesEntity from '../../../../../../data/entities/ship/issue/IssueBranchesEntity';\nimport type { BoatSizeEntity } from 'src/data/entities/ship/BoatProperties/BoatPropertiesEntity';\nimport type {\n  CEDeclarationType,\n  VesselRegistrationChangesType,\n} from 'src/data/entities/ship/VesselRegistration/FormDataEntity';\nimport type { BreadcrumbControl } from 'src/app/breadcrumbs/types';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\nexport type BoatPropertiesOptions = {\n  boatTypesOptions: RadioGroupOption[];\n  boatSize?: BoatSizeEntity;\n  boatPurposesOptions: RadioGroupOption[];\n  utzEquipmentData: CheckboxData[];\n  boatAuthorityRelationshipOptions: RadioGroupOption[];\n  ceDeclarationData: CheckboxData[];\n};\n\nconst boatPropertiesOptionsInitialData = {\n  boatTypesOptions: [],\n  boatPurposesOptions: [],\n  utzEquipmentData: [],\n  boatAuthorityRelationshipOptions: [],\n  ceDeclarationData: [],\n};\n\n@AddDefaultView(ShipInfoView)\n@Service()\nexport default class ShipInfoViewModel extends OldSpsBaseScreen {\n  disposer?: IReactionDisposer;\n  busyWatcher = new BusyWatcher();\n  @observable shipInfo: ShipInfoModel = new ShipInfoModel();\n  @observable.ref boats: BoatsEntity | undefined;\n  @observable boatPropertiesOptions: BoatPropertiesOptions = boatPropertiesOptionsInitialData;\n  @observable issueBranchesOptions: RadioGroupOption[] = [];\n  @observable cabinOptions: RadioGroupOption[] = [];\n  @observable pickupOptions: RadioGroupOption[] = [];\n  @observable boatProperties: BoatPropertiesEntity | undefined;\n  @observable issueBranches: IssueBranchesEntity | undefined;\n  @observable pickupMethods: PickupMethodEntity | undefined;\n  @observable lastRelationId = '';\n\n  get pathNode(): string {\n    return 'ship-info';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get isLoading(): boolean {\n    return !this.boatProperties || this.issueBranchesOptions.length === 0 || this.pickupOptions.length === 0;\n  }\n\n  @computed\n  get invalidDimensions(): string[] {\n    const dimensions = [\n      { name: 'boatLength', value: this.shipInfo.boatLength, min: 0.1, max: 20 },\n      { name: 'boatWidth', value: this.shipInfo.boatWidth, min: 0.1, max: 6 },\n      { name: 'boatDraught', value: this.shipInfo.boatDraught, min: 0.1, max: 3 },\n    ];\n\n    return dimensions\n      .filter(({ value, min, max }) => {\n        const num = Number(value);\n        return value !== '' && (isNaN(num) || num < min || num > max);\n      })\n      .map(({ name }) => name);\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public vesselRegistrationStepsViewModel: VesselRegistrationStepsViewModel,\n    @Inject() private shipService: VesselRegistrationService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super(ShipInfoViewModel);\n    makeObservable(this);\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  async notifyNavigation() {\n    this.shipService.changeStep(2, FormStateKeys.VisitedShipInfo);\n    const force = this.lastRelationId !== this.shipService.relationId;\n    await this.setBoatProperties(force);\n    await this.setIssueBranches(force);\n    await this.setDocumentPickup(force);\n    runInAction(() => (this.lastRelationId = this.shipService.relationId));\n  }\n\n  @Watch<ShipInfoViewModel>((s) => s.busyWatcher)\n  async activate(): Promise<void> {\n    const tempShipInfo = this.shipService.getShipInfoFormData();\n    let shipInfo: ShipInfoModel | undefined;\n\n    if (tempShipInfo) {\n      runInAction(() => {\n        this.shipInfo = tempShipInfo;\n      });\n      shipInfo = {\n        boatTypeId: tempShipInfo.boatTypeId,\n        boatWidth: tempShipInfo.boatWidth,\n        boatLength: tempShipInfo.boatLength,\n        boatDraught: tempShipInfo.boatDraught,\n        boatPurposeId: tempShipInfo.boatPurposeId,\n        utzEquipment: tempShipInfo.utzEquipment,\n        ownershipId: tempShipInfo.ownershipId,\n        declaration: tempShipInfo.declaration,\n        pickupId: tempShipInfo.pickupId,\n        branchId: tempShipInfo.branchId,\n      };\n    } else {\n      shipInfo = this.shipService.getShipInfo();\n    }\n\n    runInAction(() => {\n      if (shipInfo) {\n        this.shipInfo = ShipInfoModel.mapData(\n          shipInfo.boatTypeId,\n          shipInfo.boatWidth,\n          shipInfo.boatLength,\n          shipInfo.boatDraught,\n          shipInfo.boatPurposeId,\n          shipInfo.utzEquipment,\n          shipInfo.ownershipId,\n          shipInfo.declaration,\n          shipInfo.pickupId,\n          shipInfo.branchId\n        );\n        this.shipService.validation.attachDescriptor(this.shipInfo, ShipInfoModelValidators);\n      }\n    });\n\n    this.disposer = reaction(\n      () => [\n        this.shipInfo.boatTypeId,\n        this.shipInfo.boatPurposeId,\n        this.shipInfo.branchId,\n        this.shipInfo.declaration,\n        this.shipInfo.ownershipId,\n        this.shipInfo.utzEquipment,\n      ],\n      async () => {\n        this.shipService.toggleAndSave(FormStateKeys.HasAttachmentsChanged);\n      }\n    );\n  }\n\n  deactivate() {\n    if (this.disposer) {\n      this.disposer();\n    }\n    this.errorMessage = '';\n  }\n\n  async setBoatProperties(force: boolean = false) {\n    let boatProperties: BoatPropertiesEntity | undefined;\n    if (\n      force ||\n      (this.boatPropertiesOptions.boatAuthorityRelationshipOptions.length === 0 &&\n        this.boatPropertiesOptions.boatPurposesOptions.length === 0 &&\n        this.boatPropertiesOptions.boatTypesOptions.length === 0 &&\n        this.boatPropertiesOptions.ceDeclarationData.length === 0 &&\n        this.boatPropertiesOptions.utzEquipmentData.length === 0)\n    ) {\n      try {\n        boatProperties = await this.shipService.getV2BoatProperties();\n      } catch (e: unknown) {\n        this.errorService.logCatchError(\n          e,\n          'VesselRegistration ShipInfoViewModel',\n          'setBoatProperties - shipService.getV2BoatProperties'\n        );\n        this.handleError(e);\n      }\n    }\n\n    if (boatProperties) {\n      runInAction(() => {\n        this.boatProperties = boatProperties;\n        this.boatPropertiesOptions = this.mapBoatPropertiesToOptions(boatProperties);\n      });\n    }\n  }\n\n  async setIssueBranches(force: boolean = false) {\n    let issueBranches: IssueBranchesEntity | undefined;\n    if (force || !this.issueBranches || this.issueBranches.branches.length === 0) {\n      try {\n        issueBranches = await this.shipService.getV2IssueBranches();\n      } catch (e: unknown) {\n        this.errorService.logCatchError(\n          e,\n          'VesselRegistration ShipInfoViewModel',\n          'setIssueBranches - shipService.getV2IssueBranches'\n        );\n        this.handleError(e);\n      }\n    }\n\n    if (issueBranches) {\n      runInAction(() => {\n        this.issueBranches = issueBranches;\n        this.issueBranchesOptions = this.mapIssueBranchesToRadioGroupOptions();\n      });\n    }\n  }\n\n  async setDocumentPickup(force: boolean = false) {\n    let pickupMethods: PickupMethodEntity | undefined;\n    if (force || !this.pickupMethods || this.pickupMethods.methods.length === 0) {\n      try {\n        pickupMethods = await this.shipService.getV2BoatDocumentPickup();\n      } catch (e: unknown) {\n        this.errorService.logCatchError(\n          e,\n          'VesselRegistration ShipInfoViewModel',\n          'setDocumentPickup - shipService.getV2BoatDocumentPickup'\n        );\n        this.handleError(e);\n      }\n    }\n\n    if (pickupMethods) {\n      runInAction(() => {\n        this.pickupMethods = pickupMethods;\n        this.pickupOptions = this.mapPickupMethodsToRadioGroupOptions();\n      });\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.saveData('../personal-info');\n  }\n\n  @action.bound\n  goNext() {\n    if (this.shipService.validation.validateObject(this.shipInfo)) {\n      this.saveData('../required-attachments');\n    }\n  }\n\n  private saveData(goToRoute: string) {\n    if (!this.boatProperties) return;\n\n    const boatType = this.boatProperties.boat_types.find(\n      (boatType) => this.shipInfo.boatTypeId === boatType.id\n    );\n    const boatPurpose = this.boatProperties.boat_purposes.find(\n      (boatPurpose) => this.shipInfo.boatPurposeId === boatPurpose.id\n    );\n    const boatAR = this.boatProperties.boat_authority_relationship.find(\n      (ownership) => this.shipInfo.ownershipId === ownership.id\n    );\n\n    const ceDeclaration = this.boatProperties.ce_declaration.filter((declaration) =>\n      this.shipInfo.declaration.includes(declaration.id)\n    );\n    const utz_equipment = this.boatProperties.utz_equipment.filter((equipment) =>\n      this.shipInfo.utzEquipment.includes(equipment.id)\n    );\n\n    const changeBoatType = {\n      changeId: this.boatProperties.changes_list.boat_types,\n      valueId: boatType?.id ?? '',\n      description: boatType?.description ?? '',\n      type: 'option',\n    };\n\n    const changeBoatPurpose = {\n      changeId: this.boatProperties.changes_list.boat_purposes,\n      valueId: boatPurpose?.id ?? '',\n      description: boatPurpose?.description ?? '',\n      type: 'option',\n    };\n\n    const changeBoatAR = {\n      changeId: this.boatProperties.changes_list.boat_authority_relationship,\n      valueId: boatAR?.id ?? '',\n      description: boatAR?.description ?? '',\n      type: 'option',\n    };\n\n    const declarations: CEDeclarationType = [];\n\n    ceDeclaration.forEach((declaration) => {\n      if (!this.boatProperties) return;\n      declarations.push({\n        changeId: this.boatProperties.changes_list.utz_equipment,\n        valueId: declaration.id,\n        description: declaration.description,\n        type: 'checkbox',\n      });\n    });\n\n    const changeUtzEquipments: VesselRegistrationChangesType = [];\n\n    utz_equipment.forEach((equipment) => {\n      if (!this.boatProperties) return;\n      changeUtzEquipments.push({\n        changeId: this.boatProperties.changes_list.utz_equipment,\n        valueId: equipment.id,\n        description: equipment.description,\n        type: 'checkbox',\n      });\n    });\n\n    const changes = [\n      changeBoatType,\n      changeBoatPurpose,\n      changeBoatAR,\n      ...changeUtzEquipments,\n      ...declarations,\n    ];\n\n    const boatData = {\n      boatType: boatType?.description ?? '',\n      boatPurposes: boatPurpose?.description ?? '',\n      length: this.shipInfo.boatLength,\n      width: this.shipInfo.boatWidth,\n      draught: this.shipInfo.boatDraught,\n    };\n\n    const deviceLabels: string[] = [];\n    this.shipInfo.utzEquipment.map((device) =>\n      deviceLabels.push(\n        this.boatProperties?.utz_equipment.find((equipment) => equipment.id === device)?.description ?? ''\n      )\n    );\n\n    const branchLabel = this.issueBranches?.branches.find(\n      (branch) => branch.id === this.shipInfo.branchId\n    )?.description;\n    const pickupLabel = this.pickupMethods?.methods.find(\n      (method) => method.id === this.shipInfo.pickupId\n    )?.description;\n    const ownershipLabel = boatAR?.description;\n\n    this.shipService.setShipInfo(\n      changes,\n      boatData,\n      this.shipInfo.boatTypeId,\n      this.shipInfo.boatWidth.replace('.', ','),\n      this.shipInfo.boatLength.replace('.', ','),\n      this.shipInfo.boatDraught.replace('.', ','),\n      this.shipInfo.boatPurposeId,\n      this.shipInfo.utzEquipment,\n      this.shipInfo.ownershipId,\n      this.shipInfo.declaration,\n      this.shipInfo.pickupId,\n      this.shipInfo.branchId,\n      deviceLabels,\n      branchLabel ?? '',\n      pickupLabel ?? '',\n      ownershipLabel ?? ''\n    );\n    this.navigator(goToRoute).go();\n  }\n\n  private mapPickupMethodsToRadioGroupOptions(): RadioGroupOption[] {\n    if (!this.pickupMethods) return [];\n    const pickupOptions: RadioGroupOption[] = [];\n    this.pickupMethods.methods.map((method) => {\n      pickupOptions.push({\n        id: method.id,\n        label: method.description,\n      });\n    });\n    return pickupOptions;\n  }\n\n  private mapIssueBranchesToRadioGroupOptions(): RadioGroupOption[] {\n    if (!this.issueBranches) return [];\n    const issueBranchesOptions: RadioGroupOption[] = [];\n    this.issueBranches.branches.map((branch) => {\n      issueBranchesOptions.push({\n        id: branch.id,\n        label: branch.description,\n      });\n    });\n    return issueBranchesOptions;\n  }\n\n  private mapBoatPropertiesToOptions(\n    boatProperties: BoatPropertiesEntity | undefined\n  ): BoatPropertiesOptions {\n    if (!boatProperties) return boatPropertiesOptionsInitialData;\n\n    const boatTypesOptions: RadioGroupOption[] = [];\n    boatProperties.boat_types.map((boatType) => {\n      boatTypesOptions.push({\n        id: boatType.id,\n        label: boatType.description,\n      });\n    });\n\n    const boatSize = boatProperties.boat_size;\n\n    const boatPurposesOptions: RadioGroupOption[] = [];\n    boatProperties.boat_purposes.map((boatPurpose) => {\n      boatPurposesOptions.push({\n        id: boatPurpose.id,\n        label: boatPurpose.description,\n      });\n    });\n\n    runInAction(() => {\n      this.shipInfo.boatPurposeId = boatProperties.boat_purposes[0].id;\n    });\n\n    const utzEquipmentData: CheckboxData[] = [];\n    boatProperties.utz_equipment.map((equipment) => {\n      utzEquipmentData.push({\n        key: equipment.id,\n        value: equipment.description,\n        checked: equipment.checked,\n        enabled: equipment.enabled,\n      });\n    });\n\n    const boatAuthorityRelationshipOptions: RadioGroupOption[] = [];\n    boatProperties.boat_authority_relationship.map((relationship) => {\n      boatAuthorityRelationshipOptions.push({\n        id: relationship.id,\n        label: relationship.description,\n      });\n    });\n\n    const ceDeclarationData: CheckboxData[] = [];\n    boatProperties.ce_declaration.map((declaration) => {\n      ceDeclarationData.push({\n        key: declaration.id,\n        value: declaration.description,\n        checked: declaration.checked,\n        enabled: declaration.enabled,\n      });\n    });\n\n    const boatPropertiesOptions = {\n      boatTypesOptions,\n      boatSize,\n      boatPurposesOptions,\n      utzEquipmentData,\n      boatAuthorityRelationshipOptions,\n      ceDeclarationData,\n    };\n\n    return boatPropertiesOptions;\n  }\n\n  translate = translate('ship.certificates.vessel-registration.steps.ship-info', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type RequiredAttachmentsViewModel from './RequiredAttachmentsViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport DragAndDropFile from '../../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport './RequiredAttachmentsView.scss';\nimport { useState } from 'react';\nimport ErrorMessage from '../../../../../../components/form/ErrorMessage';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst RequiredAttachmentsView: View<RequiredAttachmentsViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    goBack,\n    goNext,\n    generalTranslate,\n    attachments,\n    files,\n    setFiles,\n    unsetFiles,\n    validationsFired,\n    isLoading,\n  } = vm;\n  const [filesSize, setFilesSize] = useState(0);\n\n  const handleSetFileSize = (size: number) => {\n    setFilesSize((prevState) => prevState + size);\n  };\n\n  const isSizeAllowed = (): boolean => {\n    const size = files.reduce((prev, curr) => prev + curr.file.size, 0);\n\n    if (attachments) {\n      return size < attachments.maxSize * 1024;\n    } else {\n      return true;\n    }\n  };\n\n  const handleFile = (file: File | FileList, description: string, isMultiple?: boolean) => {\n    setFiles(file, description, isMultiple);\n  };\n\n  const handleRemoveFile = (fileName: string, description: string) => {\n    unsetFiles(fileName, description);\n  };\n\n  const handleNextClick = () => {\n    goNext();\n  };\n\n  return (\n    <div className=\"required-attachments-view\">\n      <Container>\n        <Envelope>\n          <RenderModel vm={vm?.applicationStepsViewModel} />\n\n          {isLoading ? (\n            <div>\n              <LoaderBox type=\"box\" />\n            </div>\n          ) : (\n            <div>\n              <Typography variant=\"h4\" component={'h4'} className=\"mt-3 mb-4\">\n                {generalTranslate('requiredAttachments')}\n              </Typography>\n              {attachments &&\n                attachments.attachments &&\n                attachments.attachments.map((item, index) => (\n                  <DragAndDropFile\n                    files={files.filter((file) => file.description === item.description)}\n                    filesLabel={translate('file.files-label')}\n                    handleFile={handleFile}\n                    handleRemoveFile={(fileName) => handleRemoveFile(fileName, item.description)}\n                    key={index}\n                    id={index}\n                    label={item.description}\n                    sublabel={item.comment}\n                    infoLabel={translate('file.info')}\n                    buttonLabel={translate('file.button')}\n                    formats={attachments.allowedTypes.split(',')}\n                    isMandatory={item.mandatory}\n                    validationsFired={validationsFired}\n                    allowedFileSize={attachments.maxSize * 1024}\n                    fileTypeError={translate('file.format-error')}\n                    fileSizeError={translate('file.size-error')}\n                    isMultiple={item.description === translate('other-attachments')}\n                    filesSize={filesSize}\n                    setFilesSize={handleSetFileSize}\n                    generalTranslate={generalTranslate}\n                    hideMaxSize={true}\n                  />\n                ))}\n            </div>\n          )}\n\n          {!isSizeAllowed() && (\n            <ErrorMessage className=\"align-items-center mt-4\">{translate('file.sizes-error')}</ErrorMessage>\n          )}\n\n          <div className=\"d-flex justify-content-between mt-4\">\n            <button\n              data-testid=\"back-button\"\n              className=\"gov-button gov-button--primary-outlined\"\n              onClick={goBack}\n            >\n              {generalTranslate('back')}\n            </button>\n            <button\n              data-testid=\"next-button\"\n              className=\"gov-button gov-button--primary\"\n              disabled={isLoading || !isSizeAllowed()}\n              onClick={handleNextClick}\n            >\n              {generalTranslate('next')}\n            </button>\n          </div>\n        </Envelope>\n      </Container>\n    </div>\n  );\n});\n\nexport default RequiredAttachmentsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport RequiredAttachmentsView from './RequiredAttachmentsView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport { FormStateKeys } from '../../../../../../data/entities/ship/types/FormState';\nimport type BoatAttachmentsEntity from '../../../../../../data/entities/ship/BoatAttachments/BoatAttachmentsEntity';\nimport VesselRegistrationService from '../../../../../../services/ship/VesselRegistrationService';\nimport VesselRegistrationStepsViewModel from '../../../ApplicationSteps/VesselRegistrationSteps/VesselRegistrationStepsViewModel';\nimport OldSpsBaseScreen from '../../../shared/BaseScreen/OldSpsBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(RequiredAttachmentsView)\n@Service()\nexport default class RequiredAttachmentsViewModel extends OldSpsBaseScreen {\n  @observable attachments: BoatAttachmentsEntity | undefined = undefined;\n  @observable files: { file: File; description: string }[] = [];\n  @observable fileNames: string[] | undefined = [];\n  @observable validationsFired = false;\n  @observable isLoading = false;\n\n  get pathNode(): string {\n    return 'required-attachments';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: VesselRegistrationService,\n    @Inject() public applicationStepsViewModel: VesselRegistrationStepsViewModel,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(RequiredAttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  notifyNavigation() {\n    this.shipService.changeStep(3, FormStateKeys.VisitedAttachments);\n  }\n\n  async activate(): Promise<void> {\n    const hasVisited = this.shipService.formState?.visitedAttachments;\n    const attachmentsChanged = this.shipService.formState?.hasAttachmentsChanged;\n\n    if ((hasVisited && attachmentsChanged) || (!hasVisited && attachmentsChanged) || !this.attachments) {\n      this.setIsLoading(true);\n      this.resetFiles();\n      try {\n        let attachments = await this.shipService.getV2Attachments();\n        if (attachments) {\n          runInAction(() => {\n            this.attachments = attachments;\n          });\n        }\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'VesselRegistration RequiredAttachmentsViewModel',\n          'activate - shipService.getV2Attachments'\n        );\n        this.handleError(e);\n      }\n      this.setIsLoading(false);\n      this.shipService.toggleFalseAndSave(FormStateKeys.HasAttachmentsChanged);\n    }\n  }\n\n  @action.bound\n  setFiles(file: File | FileList, description: string, isMultiple: boolean = false) {\n    if (file instanceof File && !isMultiple) {\n      const index = this.files.findIndex((item) => item.description === description);\n\n      if (index >= 0) {\n        this.files.splice(index, 1);\n        this.fileNames?.splice(index, 1);\n      }\n\n      this.files?.push({ file, description });\n      this.fileNames?.push(file.name);\n    } else if (file instanceof FileList && isMultiple) {\n      for (let i = 0; i < file.length; i++) {\n        this.files?.push({ file: file[i], description });\n        this.fileNames?.push(file[i].name);\n      }\n    }\n  }\n\n  @action.bound\n  unsetFiles(fileName: string, description: string) {\n    const index = this.files.findIndex((item) => item.file.name === fileName && item.description === description);\n    if (index >= 0) this.files.splice(index, 1);\n  }\n\n  setIsLoading(setTo: boolean) {\n    runInAction(() => {\n      this.isLoading = setTo;\n    });\n  }\n\n  resetFiles() {\n    runInAction(() => {\n      this.files = [];\n    });\n  }\n\n  @action.bound\n  goNext() {\n    let hasMandatoryFiles = true;\n    let mandatoryFilesCount = 0;\n    this.attachments?.attachments.map((item) => {\n      if (item.mandatory) {\n        mandatoryFilesCount += 1;\n        const file = this.files.find((file) => file.description === item.description);\n        if (!file) hasMandatoryFiles = false;\n      }\n    });\n\n    if (mandatoryFilesCount === 0) {\n      hasMandatoryFiles = true;\n    }\n\n    if (hasMandatoryFiles) {\n      if (this.files && this.fileNames) {\n        this.shipService.setRequiredAttachments(this.files, mandatoryFilesCount);\n      }\n      return this.navigator('../summary').go();\n    } else {\n      runInAction(() => {\n        this.validationsFired = true;\n      });\n    }\n  }\n\n  @action.bound\n  goBack() {\n    this.shipService.setRequiredAttachments(this.files, -1);\n    return this.navigator('../ship-info').go();\n  }\n\n  translate = translate('ship.certificates.new-certificate.required-attachments', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport VesselRegistrationView from './VesselRegistrationView';\nimport PersonalInfoViewModel from '../NewCertificate/Steps/PersonalInfo/PersonalInfoViewModel';\nimport VesselRegistrationStepsViewModel from '../ApplicationSteps/VesselRegistrationSteps/VesselRegistrationStepsViewModel';\nimport VesselRegistrationService from '../../../../services/ship/VesselRegistrationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport SummaryViewModel from './Steps/Summary/SummaryViewModel';\nimport ShipViewModel from '../../ShipViewModel';\nimport ShipInfoViewModel from './Steps/ShipInfo/ShipInfoViewModel';\nimport RequiredAttachmentsViewModel from './Steps/RequiredAttachments/RequiredAttachmentsViewModel';\nimport MandatesService from '../../../../services/MandatesService';\nimport { MandatePersonType } from '../../../../enums/MandatePersonType';\nimport OldSpsBaseScreen from '../shared/BaseScreen/OldSpsBaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(VesselRegistrationView)\n@AddChildrenView()\n@Service()\nexport default class VesselRegistrationViewModel extends OldSpsBaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'vessel-registration';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipService: VesselRegistrationService,\n    @Inject() private VesselRegistrationStepsViewModel: VesselRegistrationStepsViewModel,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private shipInfoViewModel: ShipInfoViewModel,\n    @Inject() private requiredAttachmentsViewModel: RequiredAttachmentsViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super(VesselRegistrationViewModel);\n    const personalInfoViewModel = new PersonalInfoViewModel(\n      this.localization,\n      this.shipService,\n      VesselRegistrationStepsViewModel,\n      this.mandatesService,\n      this.errorService,\n      'ship-info'\n    );\n    this.children.push(personalInfoViewModel);\n    this.children.push(shipInfoViewModel);\n    this.children.push(summaryViewModel);\n    this.children.push(requiredAttachmentsViewModel);\n    makeObservable(this);\n  }\n\n  async activate() {\n    this.shipService.unsetRequestEntity();\n    await this.shipService.loadShipData();\n  }\n\n  notifyNavigation() {\n    this.shipService.resetFormData();\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator(ShipViewModel).go();\n  }\n\n  @Watch<VesselRegistrationViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async navPersonalInfo() {\n    const personType = this.mandatesService.personType;\n\n    if (personType === MandatePersonType.FO) {\n      try {\n        await this.shipService.initialization();\n        return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'VesselRegistration VesselRegistrationViewModel',\n          'navPersonalInfo - shipService.initialization, MandatePersonType.FO'\n        );\n        this.handleError(e);\n      }\n    } else if (personType === MandatePersonType.PO) {\n      try {\n        await this.shipService.initialization();\n        return this.navigator(`./${PersonalInfoViewModel.route}`).go();\n      } catch (e: any) {\n        this.errorService.logCatchError(\n          e,\n          'VesselRegistration VesselRegistrationViewModel',\n          'navPersonalInfo - shipService.initialization, MandatePersonType.PO'\n        );\n        this.handleError(e);\n      }\n    }\n  }\n\n  translate = translate('ship.certificates.vessel-registration.introduction', this);\n  generalTranslate = translate('ship.certificates', this);\n}\n","import './Steps.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\nexport type Step = { stepNumber: number; title: string };\n\ntype StepsProps = {\n  steps: Step[];\n  activeStep: number;\n  translate: Translator;\n};\n\nconst Steps = ({ steps, activeStep, translate }: StepsProps) => {\n  return (\n    <div className=\"d-flex items-scroll\">\n      {steps.map((item) => (\n        <div key={item.stepNumber} className={`ship-step ${activeStep === item.stepNumber ? 'active' : ''}`}>\n          {item.stepNumber}. <br />\n          <span className={`step-name ${activeStep === item.stepNumber ? '' : 'not-active'}`}>\n            {translate('steps.' + item.title)}\n          </span>\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default Steps;\n","import { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Steps from './Steps';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Button from '../../../../../components/shared/Button/Button';\nimport ScreenContext, { AppScreen } from '../../../../../components/ScreenContext';\nimport StepsService from '../Service/StepsService';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '@components/shared/Typography/Typography';\n\ntype ApplicationStepProps = {\n  vm: AppScreen;\n  title: string;\n  stepsService: StepsService;\n  navBack: () => void;\n  navNext: () => void;\n  isBusy: boolean;\n  generalTranslate: Translator;\n  children: React.ReactNode;\n  disabled: boolean;\n  disableNextStep?: boolean;\n  className?: string;\n  zeroPayment?: boolean;\n};\n\nconst ApplicationStep = observer(\n  ({\n    vm,\n    title,\n    stepsService,\n    navBack,\n    navNext,\n    isBusy,\n    generalTranslate,\n    disabled,\n    disableNextStep,\n    children,\n    className,\n    zeroPayment = false,\n  }: ApplicationStepProps) => {\n    const { steps, activeStep, lastStep } = stepsService;\n\n    return (\n      <ScreenContext value={vm}>\n        <Container className={getClassName(className)}>\n          <Envelope>\n            {/* TITLE */}\n            <Typography variant=\"h2\" component={'h2'} className=\"mb-4\">\n              {title}\n            </Typography>\n\n            {/* STEPS */}\n            <Steps steps={steps} activeStep={activeStep} translate={generalTranslate} />\n\n            {/* STEP CONTENT */}\n            {children}\n          </Envelope>\n\n          {/* NAVIGATION */}\n          <div className=\"d-flex justify-content-between align-items-stretch my-5\">\n            <Button\n              testId=\"back-button\"\n              disabled={disabled}\n              text={generalTranslate('back')}\n              outlined\n              onClick={navBack}\n            />\n\n            <Button\n              testId=\"next-button\"\n              disabled={disabled || disableNextStep}\n              isBusy={isBusy}\n              text={\n                activeStep === lastStep\n                  ? zeroPayment\n                    ? generalTranslate('finish-application-zero-payment')\n                    : generalTranslate('finish-application')\n                  : generalTranslate('next')\n              }\n              onClick={navNext}\n            />\n          </div>\n        </Container>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default ApplicationStep;\n","import { observer } from 'mobx-react-lite';\nimport AttachmentsService from '../Service/AttachmentsService';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport DragAndDropFile from '../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Alert from '../../../../../components/shared/Alert/Alert';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\ntype AttachmentsProps = {\n  attachmentsService: AttachmentsService;\n  generalTranslate: Translator;\n  title?: string;\n  isBusy?: boolean;\n  className?: string;\n};\n\nconst Attachments = observer(({ attachmentsService, generalTranslate, title, isBusy, className }: AttachmentsProps) => {\n  if (isBusy) return <LoaderBox type=\"box\" />;\n  return (\n    <div className={getClassName(className)}>\n      {title && (\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n          {title}\n        </Typography>\n      )}\n\n      {Object.entries(attachmentsService.files).map(([key, fileInfo], index) => {\n        return (\n          <DragAndDropFile\n            key={key}\n            id={index}\n            files={fileInfo.files}\n            filesLabel={fileInfo.isMultiple ? generalTranslate('files.multipleLabel') : generalTranslate('files.label')}\n            handleFile={attachmentsService.setFiles}\n            handleRemoveFile={(fileName) => attachmentsService.unsetFiles(fileInfo.description, fileName)}\n            label={fileInfo.description}\n            sublabel={fileInfo.comment}\n            infoLabel={generalTranslate('files.info-label')}\n            buttonLabel={generalTranslate('files.button')}\n            formats={fileInfo.formats}\n            isMandatory={fileInfo.mandatory}\n            validationsFired={attachmentsService.validationsFired}\n            fileTypeError={generalTranslate('files.format-error')}\n            fileSizeError={generalTranslate('files.size-error')}\n            isMultiple={fileInfo.isMultiple}\n            allowedFileSize={fileInfo.maxSize}\n            filesSize={fileInfo.filesSize}\n            setFilesSize={(size) => attachmentsService.setFilesSize(fileInfo.description, size)}\n            generalTranslate={generalTranslate}\n            hideMaxSize={true}\n          />\n        );\n      })}\n\n      {attachmentsService.isTotalSizeOverMax && <Alert type=\"error\" message={generalTranslate('files.total-size-error')} />}\n    </div>\n  );\n});\n\nexport default Attachments;\n","import { observer } from 'mobx-react-lite';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport BoatsService from '../Service/BoatService';\n\ntype BoatSelectionProps = {\n  title: string;\n  boatsService: BoatsService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst BoatSelection = observer(({ title, boatsService, isBusy, className }: BoatSelectionProps) => {\n  return (\n    <div className={getClassName('mb-5', className)}>\n      <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n        {title}\n      </Typography>\n\n      {isBusy ? (\n        <LoaderBox type={'middle-full'} />\n      ) : (\n        <RadioGroup\n          target={boatsService.selectedBoat}\n          property={'boatId'}\n          options={boatsService.boatOptions}\n          htmlLabel\n          testId=\"boat-id\"\n        />\n      )}\n    </div>\n  );\n});\n\nexport default BoatSelection;\n","import { observer } from 'mobx-react-lite';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport BranchService from '../Service/BranchService';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '@components/shared/Typography/Typography';\n\ntype BranchSelectionProps = {\n  title: string;\n  branchService: BranchService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst BranchSelection = observer(({ title, branchService, isBusy, className }: BranchSelectionProps) => {\n  return (\n    <div className={getClassName('mb-4', className)}>\n      <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n        {title}\n      </Typography>\n\n      {isBusy ? (\n        <LoaderBox type={'middle-full'} />\n      ) : (\n        <RadioGroup\n          target={branchService.selectedBranch}\n          property={'branchId'}\n          options={branchService.branchOptions}\n          testId=\"branch-id\"\n        />\n      )}\n    </div>\n  );\n});\n\nexport default BranchSelection;\n","import { observer } from 'mobx-react-lite';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport ChangeTypeService from '../Service/ChangeTypeService';\n\ntype ChangeTypeSelectionProps = {\n  title: string;\n  changeTypeService: ChangeTypeService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst ChangeTypeSelection = observer(\n  ({ title, changeTypeService, isBusy, className }: ChangeTypeSelectionProps) => {\n    return (\n      <div className={getClassName('mb-4', className)}>\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n          {title}\n        </Typography>\n\n        {isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <RadioGroup\n            target={changeTypeService.selectedChangeType}\n            property={'id'}\n            options={changeTypeService.changeTypeOptions}\n            htmlLabel\n            testId=\"change-type-id\"\n          />\n        )}\n      </div>\n    );\n  }\n);\n\nexport default ChangeTypeSelection;\n","import { observer } from 'mobx-react-lite';\nimport Checkbox from '../../../../../components/form/Checkbox';\nimport ConfirmSummaryModel from '../Models/ConfirmSummaryModel';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype ConfirmationCheckboxProps = {\n  confirmSummaryModel: ConfirmSummaryModel;\n  className?: string;\n};\n\nconst ConfirmationCheckbox = observer(({ confirmSummaryModel, className }: ConfirmationCheckboxProps) => {\n  return (\n    <div className={getClassName(className)}>\n      <Checkbox target={confirmSummaryModel} property=\"confirmAndAllow\" disableVisualError />\n    </div>\n  );\n});\n\nexport default ConfirmationCheckbox;\n","import { observer } from 'mobx-react-lite';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport EligibilityService from '../Service/EligibilityService';\nimport React from 'react';\nimport Checkbox from '../../../../../components/form/Checkbox';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport './EligibilitySelection.scss';\nimport RadioButton from '../../../../../components/form/RadioGroup/RadioButton';\n\ntype EligibilitySelectionProps = {\n  title: string;\n  eligibilityService: EligibilityService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst EligibilitySelection = observer(\n  ({ title, eligibilityService, isBusy, className }: EligibilitySelectionProps) => {\n    return (\n      <div\n        className={getClassName(\n          'eligibility-selection mb-5',\n          eligibilityService.allowMultipleSelection ? 'multiple-selection' : 'singular-selection',\n          className\n        )}\n      >\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n          {title}\n        </Typography>\n\n        {isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <>\n            {Object.values(eligibilityService.eligibilities).map((model, index) => {\n              // hide options where selection is disabled\n              if (eligibilityService.allowMultipleSelection && model.disabledSelection) return null;\n\n              return (\n                <React.Fragment key={model.eligibilityId}>\n                  {/* CHECKBOX for 142 or RADIO BUTTON for 141 */}\n                  {eligibilityService.allowMultipleSelection === true ? (\n                    <Checkbox\n                      target={model}\n                      property={'selected'}\n                      id={`${model.eligibilityId}_checkbox`}\n                      label={model.eligibility}\n                      disabled={model.disabledSelection}\n                    />\n                  ) : (\n                    <RadioButton\n                      target={eligibilityService}\n                      property={'selectedEligibilityId'}\n                      id={model.eligibilityId}\n                      name={model.eligibilityId}\n                      label={model.eligibility}\n                      checked={model.selected}\n                    />\n                  )}\n                  {/* RADIO OPTIONS */}\n                  <div className=\"eligibility-descriptions-block\">\n                    {model.descriptions.length === 0 && null}\n\n                    {model.descriptions.length === 1 && (\n                      <label\n                        className={getClassName(\n                          'gov-form-control__label',\n                          'html-label',\n                          'single-description-eligibility-label',\n                          eligibilityService.allowMultipleSelection && model.disabledOptions\n                            ? 'eligibility-label-disabled'\n                            : null\n                        )}\n                        htmlFor={\n                          eligibilityService.allowMultipleSelection && model.selected\n                            ? `${model.eligibilityId}_checkbox`\n                            : model.eligibilityId\n                        }\n                        dangerouslySetInnerHTML={{\n                          __html: model.descriptions[0].description,\n                        }}\n                      ></label>\n                    )}\n\n                    {model.descriptions.length > 1 && (\n                      <RadioGroup\n                        target={model}\n                        property=\"descriptionId\"\n                        options={model.radioOptions}\n                        htmlLabel\n                        name={`${model.eligibility}_descriptionId`}\n                        disabled={eligibilityService.allowMultipleSelection && model.disabledOptions}\n                        testId=\"desctiption-id\"\n                      />\n                    )}\n                  </div>\n                </React.Fragment>\n              );\n            })}\n          </>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default EligibilitySelection;\n","import { observer } from 'mobx-react-lite';\nimport ExamService from '../Service/ExamService';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport Select from '../../../../../components/form/Select/Select';\nimport Textarea from '../../../../../components/form/Textarea';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport Fieldset from '../../../../../components/form/Fieldset';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { Message } from '@cendis/cedr-components';\n\ntype ExamSelectionProps = {\n  examService: ExamService;\n  generalTranslate: Translator;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst ExamSelection = observer(({ examService, generalTranslate, isBusy, className }: ExamSelectionProps) => {\n  return (\n    <div className={getClassName(className)}>\n      {/* PLACE SELECTION */}\n      <div className=\"mb-4\">\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-3\">\n          {generalTranslate('exam-place')}\n        </Typography>\n\n        {isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <RadioGroup\n            target={examService.exam}\n            property={'placeId'}\n            options={examService.placeOptions}\n            testId=\"place-id\"\n          />\n        )}\n      </div>\n\n      {/* DATE SELECTION */}\n      <div className=\"mb-4\">\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-3\">\n          {generalTranslate('exam-date')}\n        </Typography>\n\n        <Fieldset>\n          {isBusy ? (\n            <LoaderBox type={'middle-full'} />\n          ) : (\n            <>\n              {!examService.dateError ? (\n                <Select\n                  target={examService.exam}\n                  property={'dateId'}\n                  options={examService.dateOptions}\n                  disabled={examService.exam.placeId === '' || examService.datesBusyWatcher.isBusy}\n                  testId=\"date-id\"\n                />\n              ) : (\n                <div className=\"css-reset\">\n                  <Message className=\"mb-4\" icon=\"components/exclamation-triangle-fill\" color=\"error\">\n                    {examService.dateError}\n                  </Message>\n                </div>\n              )}\n            </>\n          )}\n        </Fieldset>\n      </div>\n\n      {/* RESTRICTION SELECTION */}\n      <div className=\"mb-4\">\n        <Typography variant=\"h4\" component={'h4'} className=\"mb-3\">\n          {generalTranslate('exam-restriction')}\n        </Typography>\n\n        {isBusy ? (\n          <LoaderBox type={'middle-full'} />\n        ) : (\n          <>\n            <RadioGroup\n              target={examService.exam}\n              property={'restrictionId'}\n              options={examService.restrictionOptions}\n              testId=\"restriction-id\"\n            />\n            <Textarea target={examService.exam} property={'note'} />\n          </>\n        )}\n      </div>\n    </div>\n  );\n});\n\nexport default ExamSelection;\n","import { observer } from 'mobx-react-lite';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport LicenceService from '../Service/LicenceService';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '@components/shared/Typography/Typography';\n\ntype LicenceSelectionProps = {\n  title: string;\n  licenceService: LicenceService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst LicenceSelection = observer(({ title, licenceService, isBusy, className }: LicenceSelectionProps) => {\n  return (\n    <div className={getClassName('mb-4', className)}>\n      <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n        {title}\n      </Typography>\n\n      {isBusy ? (\n        <LoaderBox type={'middle-full'} />\n      ) : (\n        <RadioGroup\n          target={licenceService.selectedLicence}\n          property={'licenceId'}\n          options={licenceService.licenceOptions}\n          testId=\"licence-id\"\n        />\n      )}\n    </div>\n  );\n});\n\nexport default LicenceSelection;\n","import { observer } from 'mobx-react-lite';\nimport PersonalInfoModel from '../Models/PersonalInfoModel';\nimport Fieldset from '../../../../../components/form/Fieldset';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Checkbox from '../../../../../components/form/Checkbox';\nimport Input from '../../../../../components/form/Input';\nimport Select, { SelectOption } from '../../../../../components/form/Select/Select';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\ntype PersonalInfoProps = {\n  person: PersonalInfoModel;\n  citizenships?: SelectOption<string>[];\n  generalTranslate: Translator;\n  isBusy: boolean;\n  className?: string;\n  isBuyer?: boolean;\n  disableDeliveryAddress?: boolean;\n  splitName?: boolean;\n};\n\nconst PersonalInfo = observer(\n  ({\n    person,\n    citizenships,\n    generalTranslate,\n    isBusy,\n    className,\n    isBuyer,\n    disableDeliveryAddress,\n    splitName,\n  }: PersonalInfoProps) => {\n    if (isBusy) {\n      return <LoaderBox type={'box'} />;\n    }\n\n    return (\n      <div className={getClassName('row', className)}>\n        {/* PERSONAL INFO */}\n        <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n          <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n            {generalTranslate('personal-info')}\n          </Typography>\n\n          {splitName ? (\n            <>\n              <Input target={person} property=\"surname\" disabled={person.unchangeable.includes('surname')} />\n              <Input\n                target={person}\n                property=\"name\"\n                label={generalTranslate('firstname')}\n                disabled={person.unchangeable.includes('name')}\n              />\n            </>\n          ) : (\n            <Input target={person} property=\"fullName\" disabled={person.unchangeable.includes('name')} />\n          )}\n          {!isBuyer && (\n            <div className=\"d-flex\">\n              <Input\n                target={person}\n                property=\"titleBefore\"\n                className=\"me-2\"\n                disabled={person.unchangeable.includes('titleBefore')}\n              />\n              <Input\n                target={person}\n                property=\"titleAfter\"\n                disabled={person.unchangeable.includes('titleAfter')}\n              />\n            </div>\n          )}\n          <Input target={person} property=\"birthdate\" disabled={person.unchangeable.includes('birthdate')} />\n          {!isBuyer && (\n            <Input target={person} property=\"dataBox\" disabled={person.unchangeable.includes('dataBox')} />\n          )}\n          <Input\n            target={person}\n            property=\"birthplace\"\n            disabled={person.unchangeable.includes('birthplace')}\n          />\n\n          {/* CITIZENSHIP */}\n          {citizenships && (\n            <Select\n              target={person}\n              property=\"citizenshipId\"\n              options={citizenships}\n              showSelected={true}\n              disabled={person.unchangeable.includes('citizenshipId')}\n              testId=\"citizenship-id\"\n            />\n          )}\n\n          {/* EMAIL AND PHONE */}\n          <Input target={person} property=\"email\" disabled={person.unchangeable.includes('email')} />\n          {!isBuyer && (\n            <Input target={person} property=\"mobil\" disabled={person.unchangeable.includes('mobil')} />\n          )}\n        </Fieldset>\n\n        {/* ADDRESS */}\n        <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n          <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n            {generalTranslate('address')}\n          </Typography>\n\n          <Input\n            target={person.contactAddress}\n            property=\"street\"\n            disabled={person.contactAddress.unchangeable.includes('street')}\n          />\n          <Input\n            target={person.contactAddress}\n            property=\"houseReferenceNumber\"\n            disabled={\n              person.contactAddress.unchangeable.includes('referenceNumber') ||\n              person.contactAddress.unchangeable.includes('houseNumber')\n            }\n          />\n          <Input\n            target={person.contactAddress}\n            property=\"city\"\n            disabled={person.contactAddress.unchangeable.includes('city')}\n          />\n          <Input\n            target={person.contactAddress}\n            property=\"postcode\"\n            disabled={person.contactAddress.unchangeable.includes('postcode')}\n          />\n        </Fieldset>\n\n        {/* CHECKBOX FOR DELIVERY ADDRESS */}\n        {!disableDeliveryAddress && <Checkbox target={person} property=\"wantDeliveryAddress\" />}\n\n        {/* DELIVERY ADDRESS */}\n        {person.wantDeliveryAddress && !disableDeliveryAddress && (\n          <Fieldset className=\"col-xs-10 col-sm-8 col-md-6 col-12\">\n            <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n              {generalTranslate('deliveryAddress')}\n            </Typography>\n\n            <Input\n              id=\"deliveryAddressStreet\"\n              target={person.deliveryAddress}\n              property=\"street\"\n              disabled={person.deliveryAddress.unchangeable.includes('street')}\n            />\n            <Input\n              id=\"deliveryAddressDescriptionNumber\"\n              target={person.deliveryAddress}\n              property=\"houseReferenceNumber\"\n              disabled={\n                person.deliveryAddress.unchangeable.includes('referenceNumber') ||\n                person.deliveryAddress.unchangeable.includes('houseNumber')\n              }\n            />\n            <Input\n              id=\"deliveryAddressCity\"\n              target={person.deliveryAddress}\n              property=\"city\"\n              disabled={person.deliveryAddress.unchangeable.includes('city')}\n            />\n            <Input\n              id=\"deliveryAddressZipCode\"\n              target={person.deliveryAddress}\n              property=\"postcode\"\n              disabled={person.deliveryAddress.unchangeable.includes('postcode')}\n            />\n          </Fieldset>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default PersonalInfo;\n","import { observer } from 'mobx-react-lite';\nimport CompanyInfoModel from '../Models/CompanyInfoModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Fieldset from '../../../../../components/form/Fieldset';\nimport Input from '../../../../../components/form/Input';\nimport Checkbox from '../../../../../components/form/Checkbox';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\ntype CompanyInfoProps = {\n  company: CompanyInfoModel;\n  generalTranslate: Translator;\n  isBusy: boolean;\n  className?: string;\n  disableDeliveryAddress?: boolean;\n  isBuyer?: boolean;\n};\n\nconst CompanyInfo = observer(\n  ({ company, generalTranslate, isBusy, className, disableDeliveryAddress, isBuyer }: CompanyInfoProps) => {\n    if (isBusy) {\n      return <LoaderBox type={'box'} />;\n    }\n\n    return (\n      <div className={getClassName('row', className)}>\n        {/* COMPANY INFO */}\n        <Fieldset className=\"col-12 col-xs-10 col-sm-8 col-md-6\">\n          <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n            {generalTranslate('titleCompany')}\n          </Typography>\n\n          {!isBuyer && <Input target={company} property=\"name\" disabled={company.unchangeable.includes('name')} />}\n          <Input target={company} property=\"ico\" disabled={company.unchangeable.includes('ico')} />\n          {!isBuyer && <Input target={company} property=\"dataBox\" disabled={company.unchangeable.includes('dataBox')} />}\n          <Input target={company} property=\"email\" disabled={company.unchangeable.includes('email')} />\n          {!isBuyer && <Input target={company} property=\"telefon\" disabled={company.unchangeable.includes('phone')} />}\n        </Fieldset>\n\n        {/* ADDRESS */}\n        {!isBuyer && (\n          <Fieldset className=\"col-12 col-xs-10 col-sm-8 col-md-6\">\n            <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n              {generalTranslate('officeAddress')}\n            </Typography>\n\n            <Input\n              target={company.officeAddress}\n              property=\"street\"\n              disabled={company.officeAddress.unchangeable.includes('street')}\n            />\n            <Input\n              target={company.officeAddress}\n              property=\"houseReferenceNumber\"\n              disabled={\n                company.officeAddress.unchangeable.includes('referenceNumber') ||\n                company.officeAddress.unchangeable.includes('houseNumber')\n              }\n            />\n            <Input\n              target={company.officeAddress}\n              property=\"city\"\n              disabled={company.officeAddress.unchangeable.includes('city')}\n            />\n            <Input\n              target={company.officeAddress}\n              property=\"postcode\"\n              disabled={company.officeAddress.unchangeable.includes('postcode')}\n            />\n          </Fieldset>\n        )}\n\n        {/* CHECKBOX FOR DELIVERY ADDRESS */}\n        {!disableDeliveryAddress && <Checkbox target={company} property=\"wantDeliveryAddress\" />}\n\n        {/* DELIVERY ADDRESS */}\n        {company.wantDeliveryAddress && !disableDeliveryAddress && (\n          <Fieldset className=\"col-12 col-xs-10 col-sm-8 col-md-6\">\n            <Typography variant=\"h4\" component={'h4'} className=\"mb-2\">\n              {generalTranslate('deliveryAddress')}\n            </Typography>\n\n            <Input\n              id=\"deliveryAddressStreet\"\n              target={company.deliveryAddress}\n              property=\"street\"\n              disabled={company.deliveryAddress.unchangeable.includes('street')}\n            />\n            <Input\n              id=\"deliveryAddressDescriptionNumber\"\n              target={company.deliveryAddress}\n              property=\"houseReferenceNumber\"\n              disabled={\n                company.deliveryAddress.unchangeable.includes('referenceNumber') ||\n                company.deliveryAddress.unchangeable.includes('houseNumber')\n              }\n            />\n            <Input\n              id=\"deliveryAddressCity\"\n              target={company.deliveryAddress}\n              property=\"city\"\n              disabled={company.deliveryAddress.unchangeable.includes('city')}\n            />\n            <Input\n              id=\"deliveryAddressZipCode\"\n              target={company.deliveryAddress}\n              property=\"postcode\"\n              disabled={company.deliveryAddress.unchangeable.includes('postcode')}\n            />\n          </Fieldset>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default CompanyInfo;\n","import { observer } from 'mobx-react-lite';\nimport PersonService from '../Service/PersonService';\nimport PersonalInfo from './PersonalInfo';\nimport CompanyInfo from './CompanyInfo';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport BuyerService from '../Service/BuyerService';\n\ntype PersonOrCompanyInfoProps = {\n  service: PersonService | BuyerService;\n  isBusy: boolean;\n  generalTranslate: Translator;\n  className?: string;\n  disableDeliveryAddress?: boolean;\n  splitName?: boolean;\n};\n\nconst PersonOrCompanyInfo = observer(\n  ({ service, isBusy, generalTranslate, className, disableDeliveryAddress, splitName }: PersonOrCompanyInfoProps) => {\n    // COMPANY\n    if (service.personType === 'PO') {\n      return (\n        <CompanyInfo\n          company={service.company}\n          isBusy={isBusy}\n          generalTranslate={generalTranslate}\n          className={className}\n          disableDeliveryAddress={disableDeliveryAddress}\n          isBuyer={service instanceof BuyerService}\n        />\n      );\n    }\n\n    // PERSON\n    return (\n      <PersonalInfo\n        person={service.person}\n        citizenships={service instanceof PersonService ? service.citizenshipsOptions : undefined}\n        isBusy={isBusy}\n        generalTranslate={generalTranslate}\n        className={className}\n        isBuyer={service instanceof BuyerService}\n        disableDeliveryAddress={disableDeliveryAddress}\n        splitName={splitName}\n      />\n    );\n  }\n);\n\nexport default PersonOrCompanyInfo;\n","import { observer } from 'mobx-react-lite';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport PickupDocumentsService from '../Service/PickupDocumentsService';\n\ntype PickupSelectionProps = {\n  title: string;\n  pickupService: PickupDocumentsService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst PickupSelection = observer(({ title, pickupService, isBusy, className }: PickupSelectionProps) => {\n  return (\n    <div className={getClassName('mb-5', className)}>\n      <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n        {title}\n      </Typography>\n\n      {isBusy ? (\n        <LoaderBox type={'middle-full'} />\n      ) : (\n        <RadioGroup\n          target={pickupService.selectedPickup}\n          property={'pickupId'}\n          options={pickupService.pickupOptions}\n          htmlLabel\n          testId=\"pickup-id\"\n        />\n      )}\n    </div>\n  );\n});\n\nexport default PickupSelection;\n","import { observer } from 'mobx-react-lite';\nimport ReasonService from '../Service/ReasonService';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '@components/shared/Typography/Typography';\n\ntype ReasonSelectionProps = {\n  title: string;\n  reasonService: ReasonService;\n  isBusy: boolean;\n  className?: string;\n};\n\nconst ReasonSelection = observer(({ title, reasonService, isBusy, className }: ReasonSelectionProps) => {\n  return (\n    <div className={getClassName('mb-5', className)}>\n      <Typography variant=\"h4\" component={'h4'} className=\"mb-4\">\n        {title}\n      </Typography>\n\n      {isBusy ? (\n        <LoaderBox type={'middle-full'} />\n      ) : (\n        <RadioGroup\n          target={reasonService.selectedReason}\n          property={'reasonId'}\n          options={reasonService.reasonOptions}\n          htmlLabel\n          testId=\"reason-id\"\n        />\n      )}\n\n      <div className=\"mt-4\">\n        {reasonService.descriptions.map((description) => {\n          if (!description.description) return null;\n\n          return (\n            <Typography\n              key={description.id}\n              className=\"mb-4\"\n              variant=\"body1\"\n              dangerouslySetInnerHTML={{ __html: description.description }}\n            />\n          );\n        })}\n      </div>\n    </div>\n  );\n});\n\nexport default ReasonSelection;\n","import { observer } from 'mobx-react-lite';\nimport { FileInfo } from '../../Service/AttachmentsService';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\n\ntype AttachmentsSummaryProps = {\n  files: Record<string, FileInfo>;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst AttachmentsSummary = observer(({ files, generalTranslate, className }: AttachmentsSummaryProps) => {\n  return (\n    <SummarySection title={generalTranslate('summary.attachmentsTitle')} className={className}>\n      {/* fileInfo groups all files with the same description */}\n      {Object.values(files).map((fileInfo) => {\n        {\n          /* there can be multiple files for one description */\n        }\n        return Object.values(fileInfo.files).map((attachment) => {\n          return (\n            <Typography key={attachment.file.name} className=\"bold\">\n              {attachment.file.name}\n            </Typography>\n          );\n        });\n      })}\n    </SummarySection>\n  );\n});\n\nexport default AttachmentsSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ExamService from '../../Service/ExamService';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\n\ntype ExamSummaryProps = {\n  examService: ExamService;\n  isExamRequired: boolean;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst ExamSummary = observer(({ examService, isExamRequired, generalTranslate, className }: ExamSummaryProps) => {\n  if (!isExamRequired)\n    return (\n      <SummarySection title={generalTranslate('summary.exam.title')} className={className}>\n        <Typography>{generalTranslate('summary.exam.notRequired')}</Typography>\n      </SummarySection>\n    );\n\n  return (\n    <SummarySection title={generalTranslate('summary.exam.title')} className={className}>\n      <Typography>\n        {generalTranslate('summary.exam.address')}:&#32;\n        <b>{examService.exam.address}</b>\n      </Typography>\n\n      <Typography>\n        {generalTranslate('summary.exam.dateTime')}:&#32;\n        <b>{examService.exam.date + ' ' + generalTranslate('summary.exam.in') + ' ' + examService.exam.time}</b>\n      </Typography>\n\n      <Typography>\n        {generalTranslate('summary.exam.restriction')}:&#32;\n        <b>{examService.exam.restriction}</b>\n      </Typography>\n\n      <Typography>\n        {generalTranslate('summary.exam.note')}:&#32;\n        <b>{examService.exam.note ? examService.exam.note : '-'}</b>\n      </Typography>\n    </SummarySection>\n  );\n});\n\nexport default ExamSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\ntype PaymentInfoProps = {\n  amount: number;\n  generalTranslate: Translator;\n};\n\nconst PaymentInfo = observer(({ amount, generalTranslate }: PaymentInfoProps) => {\n  return (\n    <Typography>\n      {generalTranslate('summary.payment')}:&#32;\n      <b>{amount.toLocaleString('cs')}&nbsp;Kč</b>\n    </Typography>\n  );\n});\n\nexport default PaymentInfo;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\n\ntype PaymentInfoBoxProps = {\n  generalTranslate: Translator;\n  amount: number;\n  paymentInfo?: string;\n  isBusy?: boolean;\n  className?: string;\n};\n\nconst PaymentInfoBox = observer(({ generalTranslate, amount, isBusy, paymentInfo, className }: PaymentInfoBoxProps) => {\n  if (isBusy) return <LoaderBox type={'middle-full'} />;\n\n  if (amount <= 0) return null;\n\n  return (\n    <InfoBox className={getClassName('align-items-center', className)}>\n      <Typography className=\"mx-1\">\n        {`${generalTranslate('summary.paymentInfoBox')}: ${amount.toLocaleString('cs')},-\\xa0Kč${\n          paymentInfo ? ` - ${paymentInfo}` : ''\n        }.`}\n      </Typography>\n    </InfoBox>\n  );\n});\n\nexport default PaymentInfoBox;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport PersonalInfoModel from '../../Models/PersonalInfoModel';\nimport StringFormatUtils from '../../../../../../utils/StringFormatUtils';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\n\ntype PersonalInfoSummaryProps = {\n  person: PersonalInfoModel;\n  citizenShip?: string;\n  generalTranslate: Translator;\n  className?: string;\n  isBuyer?: boolean;\n};\n\nconst PersonalInfoSummary = observer(\n  ({ person, citizenShip, generalTranslate, className, isBuyer }: PersonalInfoSummaryProps) => {\n    return (\n      <SummarySection title={generalTranslate(`summary.${isBuyer ? 'buyer' : 'person'}.title`)} className={className}>\n        {/* PERSON INFO */}\n        <Typography>\n          {generalTranslate('fullName')}:&#32;\n          <b>{person.fullNameWithTitles}</b>\n        </Typography>\n        <Typography>\n          {generalTranslate('birthDate')}:&#32;\n          <b>{person.birthdate}</b>\n        </Typography>\n        <Typography>\n          {generalTranslate('birthPlace')}:&#32;\n          <b>{person.birthplace}</b>\n        </Typography>\n\n        {/* CITIZENSHIP */}\n        {citizenShip && (\n          <Typography>\n            {generalTranslate('citizenship')}:&#32;\n            <b>{citizenShip}</b>\n          </Typography>\n        )}\n\n        {/* CONTACT */}\n        <Typography>\n          {generalTranslate('email')}:&#32;\n          <b>{person.email}</b>\n        </Typography>\n        {person.mobil && (\n          <Typography>\n            {generalTranslate('mobil')}:&#32;\n            <b>{StringFormatUtils.formatPhoneNumber(person.mobil)}</b>\n          </Typography>\n        )}\n        <Typography>\n          {generalTranslate('address')}:&#32;\n          <b>{person.contactAddress.inlineAddress}</b>\n        </Typography>\n        {person.dataBox && (\n          <Typography>\n            {generalTranslate('dataBox')}:&#32;\n            <b>{person.dataBox}</b>\n          </Typography>\n        )}\n\n        {/* DELIVERY ADDRESS */}\n        {person.wantDeliveryAddress && (\n          <Typography>\n            {generalTranslate('deliveryAddress')}:&#32;\n            <b>{person.deliveryAddress.inlineAddress}</b>\n          </Typography>\n        )}\n      </SummarySection>\n    );\n  }\n);\n\nexport default PersonalInfoSummary;\n","import { observer } from 'mobx-react-lite';\nimport CompanyInfoModel from '../../Models/CompanyInfoModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport StringFormatUtils from '../../../../../../utils/StringFormatUtils';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport SummarySection from './SummarySection';\n\ntype CompanyInfoSummaryProps = {\n  company: CompanyInfoModel;\n  generalTranslate: Translator;\n  className?: string;\n  isBuyer?: boolean;\n};\n\nconst CompanyInfoSummary = observer(({ company, generalTranslate, className, isBuyer }: CompanyInfoSummaryProps) => {\n  return (\n    <SummarySection title={generalTranslate(`summary.${isBuyer ? 'buyer.title' : 'company-title'}`)} className={className}>\n      {/* COMPANY INFO */}\n      <Typography>\n        {generalTranslate('name')}:&#32;\n        <b>{company.name}</b>\n      </Typography>\n      <Typography>\n        {generalTranslate('ico')}:&#32;\n        <b>{company.ico}</b>\n      </Typography>\n\n      {/* CONTACT */}\n      <Typography>\n        {generalTranslate('email')}:&#32;\n        <b>{company.email}</b>\n      </Typography>\n      <Typography>\n        {generalTranslate('phone')}:&#32;\n        <b>{StringFormatUtils.formatPhoneNumber(company.telefon)}</b>\n      </Typography>\n\n      <Typography>\n        {generalTranslate('officeAddress')}:&#32;\n        <b>{company.officeAddress.inlineAddress}</b>\n      </Typography>\n\n      {/* DELIVERY ADDRESS */}\n      {company.wantDeliveryAddress && (\n        <Typography>\n          {generalTranslate('deliveryAddress')}:&#32;\n          <b>{company.deliveryAddress.inlineAddress}</b>\n        </Typography>\n      )}\n    </SummarySection>\n  );\n});\n\nexport default CompanyInfoSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport PersonService from '../../Service/PersonService';\nimport PersonalInfoSummary from './PersonalInfoSummary';\nimport CompanyInfoSummary from './CompanyInfoSummary';\n\ntype PersonalOrCompanyInfoSummaryProps = {\n  personService: PersonService;\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst PersonalOrCompanyInfoSummary = observer(\n  ({ personService, generalTranslate, className }: PersonalOrCompanyInfoSummaryProps) => {\n    // COMPANY\n    if (personService.personType === 'PO') {\n      return (\n        <CompanyInfoSummary\n          company={personService.company}\n          generalTranslate={generalTranslate}\n          className={className}\n        />\n      );\n    }\n\n    // PERSON\n    return (\n      <PersonalInfoSummary\n        person={personService.person}\n        citizenShip={personService.person.citizenship}\n        generalTranslate={generalTranslate}\n      />\n    );\n  }\n);\n\nexport default PersonalOrCompanyInfoSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\ntype ReasonSummaryProps = {\n  reason: string;\n  generalTranslate: Translator;\n};\n\nconst ReasonSummary = observer(({ reason, generalTranslate }: ReasonSummaryProps) => {\n  return (\n    <div className=\"d-flex gap-sm-2 gap-0 flex-sm-nowrap flex-wrap\">\n      <Typography className=\"text-nowrap\">{generalTranslate('summary.reason') + ': '}</Typography>\n      <Typography dangerouslySetInnerHTML={{ __html: reason }} />\n    </div>\n  );\n});\n\nexport default ReasonSummary;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './SummaryStyles.scss';\nimport { ReactNode } from 'react';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\n\ntype RelatedLicensesProps = {\n  newLicenses?: string[];\n  generalTranslate: Translator;\n  header?: ReactNode;\n  isBusy?: boolean;\n};\n\nconst RelatedLicenses = observer(({ generalTranslate, newLicenses, header, isBusy }: RelatedLicensesProps) => {\n  if (isBusy) return <LoaderBox type={'middle-full'} />;\n\n  return (\n    <>\n      {header ? header : <Typography>{generalTranslate('summary.relatedLicenses.header')}</Typography>}\n      {newLicenses && (\n        <ul className=\"sps-summary-relatedLicensesList\">\n          {newLicenses.map((item, i) => (\n            <Typography component={'li'} className=\"bold\" key={`related-licence-${i}`}>\n              {item}\n            </Typography>\n          ))}\n        </ul>\n      )}\n    </>\n  );\n});\n\nexport default RelatedLicenses;\n","import { observer } from 'mobx-react-lite';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport BoatModel from '../../Models/BoatModel';\n\ntype SelectedBoatProps = {\n  boat: BoatModel;\n};\n\nconst SelectedBoat = observer(({ boat }: SelectedBoatProps) => {\n  return (\n    <Typography>\n      <b>\n        {boat.number}, {boat.name}, {boat.type}\n      </b>\n    </Typography>\n  );\n});\n\nexport default SelectedBoat;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\ntype SelectedBranchProps = {\n  branch: string;\n  generalTranslate: Translator;\n};\n\nconst SelectedBranch = observer(({ branch, generalTranslate }: SelectedBranchProps) => {\n  return (\n    <Typography>\n      {generalTranslate('summary.selectedBranch')}:&#32;\n      <b>{branch}</b>\n    </Typography>\n  );\n});\n\nexport default SelectedBranch;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport EligibilityService from '../../Service/EligibilityService';\n\ntype SelectedEligibilityProps = {\n  eligibilityService: EligibilityService;\n  generalTranslate: Translator;\n};\n\nconst SelectedEligibility = observer(({ eligibilityService, generalTranslate }: SelectedEligibilityProps) => {\n  // form 142\n  if (eligibilityService.allowMultipleSelection)\n    return (\n      <Typography>\n        {generalTranslate('summary.selectedEligibility')}:&#32;\n        <strong>{eligibilityService.selectedEligibilitiesString}</strong>\n      </Typography>\n    );\n\n  // form 141\n  return (\n    <>\n      <Typography>\n        {generalTranslate('summary.singularSelectedEligibility')}:&#32;\n        <strong>{eligibilityService.selectedEligibilitiesString}</strong>\n      </Typography>\n\n      <div className=\"d-flex gap-sm-2 gap-0 flex-sm-nowrap flex-wrap\">\n        <Typography className=\"text-nowrap\">{generalTranslate('summary.reason') + ': '}</Typography>\n        <Typography\n          dangerouslySetInnerHTML={{\n            __html: eligibilityService.selectedEligibilityDescription,\n          }}\n        />\n      </div>\n    </>\n  );\n});\n\nexport default SelectedEligibility;\n","import { observer } from 'mobx-react-lite';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\ntype SelectedLicenceProps = {\n  licence: string;\n  title: string;\n};\n\nconst SelectedLicence = observer(({ licence, title }: SelectedLicenceProps) => {\n  return (\n    <Typography>\n      {title}:&#32;\n      <b>{licence}</b>\n    </Typography>\n  );\n});\n\nexport default SelectedLicence;\n","import { observer } from 'mobx-react-lite';\nimport { Typography } from '@components/shared/Typography/Typography';\n\ntype SelectedPickupProps = {\n  pickup: string;\n  infoText: string;\n};\n\nconst SelectedPickup = observer(({ pickup, infoText }: SelectedPickupProps) => {\n  return (\n    <Typography>\n      {infoText}:&#32;\n      <strong>{pickup}</strong>\n    </Typography>\n  );\n});\n\nexport default SelectedPickup;\n","import { observer } from 'mobx-react-lite';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport './SummaryStyles.scss';\n\ntype SummarySectionProps = {\n  title: string;\n  children: React.ReactNode;\n  className?: string;\n};\n\nconst SummarySection = observer(({ title, className, children }: SummarySectionProps) => {\n  return (\n    <div className={getClassName('sps-summary-section', className)}>\n      <Typography variant=\"h4\" component={'h4'} className=\"section-header\">\n        {title}\n      </Typography>\n\n      {children}\n    </div>\n  );\n});\n\nexport default SummarySection;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport { Constructor } from '@cendis/cedr-framework/dist/types';\nimport ViewBank from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { action, computed, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ErrorPageView from '../ErrorPage/ErrorPageView';\nimport { ApiError } from 'src/data/sps/api';\nimport ShipViewModel from 'src/app/ship/ShipViewModel';\nimport type ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport type ShipServiceAbstract from 'src/services/ship/ShipServiceAbstract';\n\nexport default abstract class OldSpsBaseScreen extends BaseScreen {\n  @observable errorMessage = '';\n  @observable continueApplicationAfterError = false;\n\n  public abstract localization: LocalizationService;\n\n  @computed\n  get validation(): ValidationContext {\n    return (this as unknown as { shipService: ShipServiceAbstract }).shipService.validation;\n  }\n\n  constructor(private currentStep: Constructor<OldSpsBaseScreen>) {\n    super();\n    ViewBank.instance.addCondition(currentStep, ErrorPageView, (vm) => vm.errorMessage !== '');\n  }\n\n  deactivate() {\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  handleError(e: unknown, continueApplicationAfterError?: boolean, messageErrorText?: string) {\n    // Optionally continue application after an error occurred\n    if (continueApplicationAfterError) {\n      this.continueApplicationAfterError = true;\n    } else {\n      this.continueApplicationAfterError = false;\n    }\n\n    if (e instanceof ApiError && e.body?.title) {\n      this.setErrorMessage(e.body.title);\n    } else if (e instanceof ApiError && e.body?.message) {\n      this.setErrorMessage(e.body.message);\n    } else {\n      if (messageErrorText) {\n        this.setErrorMessage(messageErrorText);\n      } else {\n        this.setErrorMessage(this.generalTranslate('generalErrorMessage'));\n      }\n    }\n  }\n\n  @action.bound\n  setErrorMessage(message: string) {\n    this.errorMessage = message;\n  }\n\n  @action.bound\n  clearErrorMessage() {\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  navShipHome() {\n    this.errorMessage = '';\n    return this.navigator(ShipViewModel).go();\n  }\n\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { action, computed, observable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport ShipViewModel from '../../../ShipViewModel';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport type { Constructor } from '@cendis/cedr-framework/dist/types';\nimport ViewBank from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ErrorPageView from '../ErrorPage/ErrorPageView';\nimport SpsApplicationService from '../Service/SpsApplicationService';\nimport { ApiError } from '../../../../../data/sps/api';\n\nexport default abstract class SpsBaseScreen extends BaseScreen {\n  @observable errorMessage = '';\n  @observable continueApplicationAfterError = false;\n\n  @computed\n  get validation() {\n    return this.applicationService.validationService.validation;\n  }\n\n  @computed\n  get paymentStatus() {\n    return this.applicationService.paymentService.payment.status;\n  }\n\n  abstract title: string;\n\n  public abstract localization: LocalizationService;\n  public abstract applicationService: SpsApplicationService;\n\n  constructor(private currentStep: Constructor<SpsBaseScreen>) {\n    super();\n    ViewBank.instance.addCondition(currentStep, ErrorPageView, (vm) => vm.errorMessage !== '');\n  }\n\n  deactivate() {\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  handleError(e: ApiError, continueApplicationAfterError?: boolean, messageErrorText?: string) {\n    // Optionally continue application after an error occurred\n    if (continueApplicationAfterError) {\n      this.continueApplicationAfterError = true;\n    } else {\n      this.continueApplicationAfterError = false;\n    }\n\n    if (e.status === 403) {\n      throw e;\n    }\n\n    if (e.body?.title) {\n      this.setErrorMessage(e.body.title);\n    } else if (e.body?.message) {\n      this.setErrorMessage(e.body.message);\n    } else {\n      if (messageErrorText) {\n        this.setErrorMessage(messageErrorText);\n      } else {\n        this.setErrorMessage(this.generalTranslate('generalErrorMessage'));\n      }\n    }\n  }\n\n  @action.bound\n  setErrorMessage(message: string) {\n    this.errorMessage = message;\n  }\n\n  @action.bound\n  clearErrorMessage() {\n    this.errorMessage = '';\n  }\n\n  @action.bound\n  navShipHome() {\n    this.errorMessage = '';\n    return this.navigator(ShipViewModel).go();\n  }\n\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype AlertMessageProps = {\n  generalTranslate: Translator;\n  className?: string;\n};\n\nconst AlertMessage = observer(({ generalTranslate, className }: AlertMessageProps) => {\n  const notificationText = generalTranslate('confirmation.alert-message');\n\n  return (\n    <Typography className={getClassName(className)}>\n      <strong>{notificationText}</strong>\n    </Typography>\n\n  );\n});\n\nexport default AlertMessage;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype ApplicationStatusLinkProps = {\n  generalTranslate: Translator;\n  singular?: boolean;\n  className?: string;\n};\n\nconst ApplicationStatusLink = observer(\n  ({ generalTranslate, singular, className }: ApplicationStatusLinkProps) => {\n    return (\n      <Typography className={getClassName(className)}>\n        {singular\n          ? generalTranslate('confirmation.singular-app-status-link')\n          : generalTranslate('confirmation.app-status-link')}\n        &nbsp;\n        <a\n          data-testid=\"application-status-link\"\n          href=\"https://vydane-prukazy.plavebniurad.cz/index.asp\"\n          target=\"_blank\"\n          rel=\"noreferrer\"\n        >\n          {generalTranslate('confirmation.here')}\n        </a>\n        .\n      </Typography>\n    );\n  }\n);\n\nexport default ApplicationStatusLink;\n","import { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype CertificateReturn = {\n  generalTranslate: Translator;\n};\n\nconst CertificateReturn = ({ generalTranslate }: CertificateReturn) => (\n  <Typography>\n    <strong>\n      {generalTranslate('confirmation.certificateReturn.i1')} {generalTranslate('confirmation.certificateReturn.i2')}{' '}\n      {generalTranslate('confirmation.certificateReturn.i3')}\n    </strong>\n  </Typography>\n);\n\nexport default CertificateReturn;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype ChangeNotificationProps = {\n  generalTranslate: Translator;\n  updateText?: string;\n  className?: string;\n};\n\nconst ChangeNotification = observer(({ generalTranslate, updateText, className }: ChangeNotificationProps) => {\n  let notificationText = generalTranslate('confirmation.change-notification');\n\n  if (updateText) {\n    notificationText = updateText;\n  }\n\n  return <Typography className={getClassName(className)}>{notificationText}</Typography>;\n});\n\nexport default ChangeNotification;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport BoatModel from '../Models/BoatModel';\n\ntype BoatProps = {\n  boat: BoatModel;\n  generalTranslate: Translator;\n  actionText: string;\n};\n\nconst ConfirmationBoat = observer(({ generalTranslate, boat, actionText }: BoatProps) => {\n  return (\n    <>\n      <Typography>\n        {actionText}:{' '}\n        <strong>\n          {boat.number}, {boat.name}, {boat.type}.\n        </strong>\n      </Typography>\n      <Typography>{generalTranslate('confirmation.boatInfoPdf')}</Typography>\n    </>\n  );\n});\n\nexport default ConfirmationBoat;\n","import { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport './ConfirmationPage.scss';\n\ntype ConfirmationPageProps = {\n  applicationNumber: string;\n  downloadPdf: () => void;\n  isPdfBusy: boolean;\n  downloadZip?: () => void;\n  isZipBusy: boolean;\n  generalTranslate: Translator;\n  children: React.ReactNode;\n  hasAttachmentToDownload?: boolean;\n};\n\nconst ConfirmationPage = observer(\n  ({\n    applicationNumber,\n    downloadPdf,\n    isPdfBusy,\n    downloadZip,\n    isZipBusy,\n    generalTranslate,\n    hasAttachmentToDownload = true,\n    children,\n  }: ConfirmationPageProps) => {\n    return (\n      <Container className=\"sps-confirmation-page\">\n        <Envelope>\n          {/* SUCCESS MESSAGE */}\n          {applicationNumber ? (\n            <SuccessMessage\n              text=\"\"\n              authority={generalTranslate('application-success') + ' ' + applicationNumber}\n            />\n          ) : (\n            <SuccessMessage text=\"\" authority={generalTranslate('application-success-short')} />\n          )}\n\n          {/* CONFIRMATION CONTENT */}\n          {children}\n\n          {/* DOWNLOAD BUTTONS */}\n          <div className=\"d-flex justify-content-start align-items-stretch mt-4 gap-2\">\n            <Button\n              testId=\"download-pdf-button\"\n              outlined\n              text={generalTranslate('download-pdf')}\n              onClick={downloadPdf}\n              isBusy={isPdfBusy}\n            />\n\n            {downloadZip && (\n              <Button\n                testId=\"download-zip-button\"\n                outlined\n                text={generalTranslate(\n                  hasAttachmentToDownload ? 'download-zip-with-attachment' : 'download-zip'\n                )}\n                onClick={downloadZip}\n                isBusy={isZipBusy}\n              />\n            )}\n          </div>\n        </Envelope>\n      </Container>\n    );\n  }\n);\n\nexport default ConfirmationPage;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { getPickupOption } from '../../../../../utils/PickupUtils';\nimport { SPS_PICKUP_OPTIONS } from '../../../../../enums/SpsPickupOptions';\n\ntype PickupAndBranchProps = {\n  pickupId: string;\n  branch?: string;\n  generalTranslate: Translator;\n  itemText?: string;\n};\n\nconst ConfirmationPickupAndBranch: React.FC<PickupAndBranchProps> = observer(\n  ({ generalTranslate, pickupId, branch = '', itemText = '' }) => {\n    const pickupOption = getPickupOption(pickupId);\n\n    // is personal pickup\n    if (pickupOption === SPS_PICKUP_OPTIONS.PERSONAL) {\n      if (branch && itemText) {\n        return (\n          <>\n            <Typography>\n              {itemText} {generalTranslate(`confirmation.selectedPersonal.pickupInfo.i2`)}{' '}\n              {generalTranslate(`confirmation.selectedPersonal.pickupInfo.i3`)} - <strong>{branch}</strong>.\n            </Typography>\n            <Typography>{generalTranslate('confirmation.selectedPersonal.pickupOtherPerson')}</Typography>\n          </>\n        );\n      } else {\n        return (\n          <>\n            <Typography>\n              <b>{generalTranslate('confirmation.pickup-text')}</b>\n            </Typography>\n            <Typography>{generalTranslate('confirmation.pickup-personal')}</Typography>\n          </>\n        );\n      }\n    }\n\n    // is post pickup\n    if (pickupOption === SPS_PICKUP_OPTIONS.POST) {\n      if (branch && itemText) {\n        return (\n          <>\n            <Typography>\n              {itemText} {generalTranslate(`confirmation.selectedPost.pickupInfo.i2`)}{' '}\n              <strong>{generalTranslate(`confirmation.selectedPost.pickupInfo.i3`)}</strong>\n            </Typography>\n          </>\n        );\n      } else {\n        return (\n          <>\n            <Typography>\n              <b>{generalTranslate('confirmation.pickup-text')}</b>\n            </Typography>\n            <Typography>{generalTranslate('confirmation.pickup-post')}</Typography>\n          </>\n        );\n      }\n    }\n\n    // is email/undefined pickup\n    if (branch && itemText) {\n      return (\n        <>\n          <Typography>\n            {itemText} {generalTranslate(`confirmation.selectedEmail.pickupInfo.i2`)}{' '}\n            <strong>{generalTranslate(`confirmation.selectedEmail.pickupInfo.i3`)}</strong>.\n          </Typography>\n        </>\n      );\n    } else {\n      return null;\n    }\n  }\n);\n\nexport default ConfirmationPickupAndBranch;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype ConfirmedBranchProps = {\n  branch: string;\n  generalTranslate: Translator;\n  singular?: boolean;\n  className?: string;\n};\n\nconst ConfirmedBranch = observer(({ branch, generalTranslate, singular, className }: ConfirmedBranchProps) => {\n  return (\n    <Typography className={getClassName(className)}>\n      {singular\n        ? `${generalTranslate('confirmation.singularSelectedBranch')}: `\n        : `${generalTranslate('confirmation.selectedBranch')}: `}\n      <b>\n        {generalTranslate('confirmation.spsBranchPrefix')}\n        {branch}.\n      </b>\n    </Typography>\n  );\n});\n\nexport default ConfirmedBranch;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './ConfirmationPage.scss';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\ntype OldLicensesProps = {\n  oldLicense?: string[];\n  generalTranslate: Translator;\n};\n\nconst OldLicenses = observer(({ generalTranslate, oldLicense }: OldLicensesProps) => {\n  return (\n    <>\n      <Typography component={'p'}>{generalTranslate('confirmation.oldLicenses.header')}</Typography>\n      {oldLicense && (\n        <ul className=\"sps-confirmation-oldLicensesList\">\n          {oldLicense.map((item, i) => (\n            <Typography component={'li'} key={`old-licence-${i}`}>\n              {item}\n            </Typography>\n          ))}\n        </ul>\n      )}\n      <Typography className=\"bold\">{generalTranslate('confirmation.oldLicenses.note')}</Typography>\n    </>\n  );\n});\n\nexport default OldLicenses;\n","import { observer } from 'mobx-react-lite';\nimport SpsBaseScreen from '../BaseScreen/SpsBaseScreen';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../components/layout/Container';\nimport Alert from '../../../../../components/shared/Alert/Alert';\nimport MarkdownContent from '../../../../../components/form/MarkdownContent';\nimport Button from '../../../../../components/shared/Button/Button';\nimport OldSpsBaseScreen from '../BaseScreen/OldSpsBaseScreen';\n\nconst ErrorPageView: View<SpsBaseScreen | OldSpsBaseScreen> = observer(({ vm }) => {\n  const { errorMessage, clearErrorMessage, navShipHome, generalTranslate, continueApplicationAfterError } = vm;\n\n  return (\n    <Container>\n      <Alert type=\"error\">\n        <MarkdownContent content={errorMessage} />\n      </Alert>\n\n      <div className=\"d-flex justify-content-center mt-5\">\n        {continueApplicationAfterError ? (\n          <Button testId=\"back-button\" onClick={clearErrorMessage} text={generalTranslate('back-to-application')} />\n        ) : (\n          <Button testId=\"back-button-2\" onClick={navShipHome} text={generalTranslate('back-to-applications')} />\n        )}\n      </div>\n    </Container>\n  );\n});\n\nexport default ErrorPageView;\n","import { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Button from '../../../../../components/shared/Button/Button';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport './IntroPage.scss';\n\ntype IntroPageProps = {\n  title: string;\n  description: string;\n  description2?: string;\n  steps: string[];\n  navToForm: () => void;\n  navBack: () => void;\n  isBusy: boolean;\n  generalTranslate: Translator;\n};\n\nconst IntroPage = observer(\n  ({ title, description, description2, steps, navToForm, isBusy, generalTranslate, navBack }: IntroPageProps) => {\n    return (\n      <Container className=\"sps-intro-page\">\n        {/* TITLE */}\n        <Typography variant=\"h1\" component={'h1'} className=\"mb-4\">\n          {title}\n        </Typography>\n\n        {/* DESCRIPTION */}\n        <Typography>{description}</Typography>\n        {description2 && <Typography className=\"mt-3\">{description2}</Typography>}\n\n        {/* STEPS */}\n        <Typography variant=\"h4\" component={'h4'} className=\"mt-5 mb-4\">\n          {generalTranslate('steps.title')}\n        </Typography>\n\n        <ol className=\"gov-ordered-list\">\n          {steps.map((step, index) => {\n            return (\n              <Typography component={'li'} key={`step_${index}`} className=\"gov-ordered-list__item\">\n                {step}\n              </Typography>\n            );\n          })}\n        </ol>\n\n        {/* NAV BUTTON */}\n        <div className=\"d-flex justify-content-between align-items-center\">\n          <Button testId=\"back-button\" disabled={isBusy} text={generalTranslate('back')} outlined onClick={navBack} />\n          <Button testId=\"continue-button\" isBusy={isBusy} text={generalTranslate('fill-in-application')} onClick={navToForm} />\n        </div>\n      </Container>\n    );\n  }\n);\n\nexport default IntroPage;\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { getInlineAddress } from '../../../../../utils/AddressUtils';\nimport { type Sps_WebApi_Models_Responses_ReadDataAddressResponse } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class AddressModel {\n  @observable street = '';\n  @observable houseNumber = '';\n  @observable referenceNumber: string | undefined;\n  @observable city = '';\n  @observable postcode = '';\n  @observable unchangeable: string[] = [];\n  houseRefNum: string | undefined = undefined;\n\n  get houseReferenceNumber() {\n    if (!this.houseRefNum) {\n      if (this.referenceNumber) {\n        this.houseRefNum = this.houseNumber + '/' + this.referenceNumber;\n      } else {\n        this.houseRefNum = this.houseNumber;\n      }\n    }\n    return this.houseRefNum;\n  }\n\n  set houseReferenceNumber(num: string) {\n    if (num.includes('/')) {\n      const [houseNr, referenceNr] = num.split('/');\n      this.houseNumber = houseNr;\n      this.referenceNumber = referenceNr;\n    } else {\n      this.houseNumber = num;\n    }\n    this.houseRefNum = num;\n  }\n\n  get zipNumber() {\n    return this.postcode;\n  }\n\n  set zipNumber(zip: string) {\n    this.postcode = zip\n      .replace(/[^\\dA-Z]/g, '')\n      .replace(/(.{3})/g, '$1 ')\n      .trim();\n  }\n\n  get inlineAddress() {\n    return getInlineAddress(\n      this.city,\n      null,\n      this.street,\n      this.houseNumber,\n      this.referenceNumber,\n      this.postcode\n    );\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_ReadDataAddressResponse) {\n    this.street = data.street ?? this.street ?? '';\n    this.houseNumber = data.houseNumber ?? this.houseNumber;\n    this.referenceNumber = data.referenceNumber ?? this.referenceNumber;\n    this.city = data.city ?? this.city;\n    this.postcode = data.postcode ?? this.postcode;\n    this.unchangeable = data.unchangeable ?? this.unchangeable;\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<AddressModel>) {\n    this.street = data.street ?? this.street ?? '';\n    this.houseNumber = data.houseNumber ?? this.houseNumber;\n    this.referenceNumber = data.referenceNumber ?? this.referenceNumber;\n    this.city = data.city ?? this.city;\n    this.postcode = data.postcode ?? this.postcode;\n    this.unchangeable = data.unchangeable ?? this.unchangeable;\n    this.houseRefNum = data.houseRefNum ?? this.houseRefNum;\n  }\n\n  @action.bound\n  private updateUnchangeableForEmptyValues() {\n    this.unchangeable = this.unchangeable.filter((prop) => {\n      if (this.hasOwnProperty(prop) && this[prop as keyof AddressModel] === '') {\n        // if empty, remove from unchangeable\n        return false;\n      } else {\n        return true;\n      }\n    });\n  }\n}\n\nexport const AddressModelValidators: ValidationDescriptor<AddressModel, Validators> = {\n  houseReferenceNumber: {\n    required: {\n      message: 'houseReferenceNumber.required',\n    },\n  },\n  city: {\n    required: {\n      message: 'city.required',\n    },\n  },\n  zipNumber: {\n    required: {\n      message: 'zipNumber.required',\n    },\n    zipCode: {\n      message: 'zipNumber.format',\n    },\n  },\n  postcode: {\n    required: {\n      message: 'zipCode.required',\n    },\n    zipCode: {\n      message: 'zipCode.format',\n    },\n  },\n};\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\n\n@AddTranslationKey('applications.ship')\nexport default class BranchModel {\n  @observable branchId = '';\n  @observable branch = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<BranchModel>) {\n    this.branchId = data.branchId ?? this.branchId;\n    this.branch = data.branch ?? this.branch;\n  }\n}\n\nexport const BranchModelValidators: ValidationDescriptor<BranchModel, Validators> = {\n  branchId: {\n    required: {\n      message: 'branchId.required',\n    },\n  },\n};\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\n\n@AddTranslationKey('applications.ship')\nexport default class ChangeTypeModel {\n  @observable id = '';\n  @observable description = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<ChangeTypeModel>) {\n    this.id = data.id ?? this.id;\n    this.description = data.description ?? this.description;\n  }\n}\n\nexport const ChangeTypeValidators: ValidationDescriptor<ChangeTypeModel, Validators> = {\n  id: {\n    required: {\n      message: 'changeTypeId.required',\n    },\n  },\n};\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport AddressModel from './AddressModel';\nimport { type Sps_WebApi_Models_Responses_ReadDataEntrepreneurResponse } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class CompanyInfoModel {\n  @observable name: string = '';\n  @observable idFirma: string = '';\n  @observable dataBox: string = '';\n  @observable ico: string = '';\n  @observable telefon: string = '';\n  @observable email: string = '';\n  @observable unchangeable: string[] = [];\n  @observable officeAddress = new AddressModel();\n  @observable wantDeliveryAddress = false;\n  @observable deliveryAddress = new AddressModel();\n\n  @computed\n  get requestCompanyString(): string {\n    return JSON.stringify({\n      name: this.name,\n      email: this.email,\n      ico: this.ico,\n      telefon: this.telefon.length > 0 ? this.telefon : undefined,\n      databox: this.dataBox.length > 0 ? this.dataBox : undefined,\n    });\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_ReadDataEntrepreneurResponse) {\n    this.name = data.name ?? this.name;\n    this.dataBox = data.dataBox ?? this.dataBox;\n    this.ico = data.ico ?? this.ico;\n    this.telefon = data.telefon ?? this.telefon;\n    this.email = data.email ?? this.email;\n    this.unchangeable = data.unchangeable ?? this.unchangeable;\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<CompanyInfoModel>) {\n    this.name = data.name ?? this.name;\n    this.idFirma = data.idFirma ?? this.idFirma;\n    this.dataBox = data.dataBox ?? this.dataBox;\n    this.ico = data.ico ?? this.ico;\n    this.telefon = data.telefon ?? this.telefon;\n    this.email = data.email ?? this.email;\n    this.unchangeable = data.unchangeable ?? this.unchangeable;\n    this.wantDeliveryAddress = data.wantDeliveryAddress ?? this.wantDeliveryAddress;\n    if (data.officeAddress) this.officeAddress.mapJSONData(data.officeAddress);\n    if (data.deliveryAddress) this.deliveryAddress.mapJSONData(data.deliveryAddress);\n  }\n\n  @action.bound\n  private updateUnchangeableForEmptyValues() {\n    this.unchangeable = this.unchangeable.filter((prop) => {\n      if (this.hasOwnProperty(prop) && this[prop as keyof CompanyInfoModel] === '') {\n        // if empty, remove from unchangeable\n        return false;\n      } else {\n        return true;\n      }\n    });\n  }\n}\n\nexport const CompanyInfoModelValidators: ValidationDescriptor<CompanyInfoModel, Validators> = {\n  name: {\n    required: {\n      message: 'name.required',\n    },\n  },\n  ico: {\n    required: {\n      message: 'ico.required',\n    },\n  },\n  dataBox: {\n    dataBox: {\n      message: 'dataBox.format',\n    },\n  },\n  email: {\n    required: {\n      message: 'email.required',\n    },\n    email: {\n      message: 'email.format',\n    },\n  },\n  telefon: {\n    phone: {\n      message: 'phone.format',\n    },\n  },\n};\n\nexport const BuyerCompanyInfoModelValidators: ValidationDescriptor<CompanyInfoModel, Validators> = {\n  ico: {\n    required: {\n      message: 'ico.required',\n    },\n    ico: {\n      message: 'ico.format',\n    },\n  },\n  email: {\n    required: {\n      message: 'email.required',\n    },\n    email: {\n      message: 'email.format',\n    },\n  },\n};\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('applications.ship')\nexport default class ConfirmSummaryModel {\n  @observable confirmAndAllow = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { type Sps_WebApi_Models_Responses_PersonLicenceResponse } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class LicenceModel {\n  @observable licenceId = '';\n  @observable licence = '';\n  @observable number = '';\n  @observable description = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_PersonLicenceResponse) {\n    this.licenceId = data.id;\n    this.number = data.number;\n    this.description = data.description ?? '';\n    this.licence = `${data.number} ${data.description ?? ''}`;\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<LicenceModel>) {\n    this.licenceId = data.licenceId ?? this.licenceId;\n    this.licence = data.licence ?? this.licence;\n    this.number = data.number ?? this.number;\n    this.description = data.description ?? this.description;\n  }\n}\n\nexport const LicenceModelValidators: ValidationDescriptor<LicenceModel, Validators> = {\n  licenceId: {\n    required: {\n      message: 'licenceId.required',\n    },\n  },\n};\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport AddressModel from './AddressModel';\nimport { type Sps_WebApi_Models_Responses_ReadDataPersonResponse } from '../../../../../data/sps/api';\nimport dateUtils from '../../../../../utils/DateUtils';\n\n@AddTranslationKey('applications.ship')\nexport default class PersonalInfoModel {\n  @observable name = '';\n  @observable surname = '';\n  @observable titleBefore = '';\n  @observable titleAfter = '';\n  @observable birthdate = '';\n  @observable dataBox = '';\n  @observable birthplace = '';\n  @observable citizenshipId = '';\n  @observable citizenship = '';\n  @observable email = '';\n  @observable mobil = '';\n  @observable contactAddress = new AddressModel();\n  @observable wantDeliveryAddress = false;\n  @observable deliveryAddress = new AddressModel();\n  @observable unchangeable: string[] = [];\n\n  get fullName() {\n    if (!this.name && !this.surname) return '';\n    if (!this.name) return this.surname;\n    if (!this.surname) return this.name;\n\n    return this.name + ' ' + this.surname;\n  }\n\n  get fullNameWithTitles() {\n    const titleBefore = this.titleBefore ? this.titleBefore + ' ' : '';\n    const titleAfter = this.titleAfter ? ' ' + this.titleAfter : '';\n\n    return titleBefore + this.fullName + titleAfter;\n  }\n\n  set fullName(value: string) {\n    this.surname = value;\n  }\n\n  @computed\n  get requestPersonString(): string {\n    return JSON.stringify({\n      name: this.name,\n      surname: this.surname,\n      birthdate: dateUtils.czStringToRequestString(this.birthdate),\n      email: this.email,\n      birthPlace: this.birthplace,\n      citizenshipId: this.citizenshipId,\n      titleBefore: this.titleBefore.length > 0 ? this.titleBefore : undefined,\n      titleAfter: this.titleAfter.length > 0 ? this.titleAfter : undefined,\n      mobil: this.mobil.length > 0 ? this.mobil : undefined,\n      databox: this.dataBox.length > 0 ? this.dataBox : undefined,\n    });\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_ReadDataPersonResponse) {\n    this.name = data.name ?? this.name;\n    this.surname = data.surname ?? this.surname;\n    this.titleBefore = data.titleBefore ?? this.titleBefore;\n    this.titleAfter = data.titleAfter ?? this.titleAfter;\n    this.birthdate = data.birthdate ?? this.birthdate;\n    this.dataBox = data.dataBox ?? this.dataBox;\n    this.birthplace = data.birthplace ?? this.birthplace;\n    this.citizenshipId = data.citizenshipId ?? this.citizenshipId;\n    this.email = data.email ?? this.email;\n    this.mobil = data.mobil ?? this.mobil;\n    this.unchangeable = data.unchangeable ?? this.unchangeable;\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<PersonalInfoModel>) {\n    this.name = data.name ?? this.name;\n    this.surname = data.surname ?? this.surname;\n    this.titleBefore = data.titleBefore ?? this.titleBefore;\n    this.titleAfter = data.titleAfter ?? this.titleAfter;\n    this.birthdate = data.birthdate ?? this.birthdate;\n    this.dataBox = data.dataBox ?? this.dataBox;\n    this.birthplace = data.birthplace ?? this.birthplace;\n    this.citizenshipId = data.citizenshipId ?? this.citizenshipId;\n    this.citizenship = data.citizenship ?? this.citizenship;\n    this.email = data.email ?? this.email;\n    this.mobil = data.mobil ?? this.mobil;\n    this.wantDeliveryAddress = data.wantDeliveryAddress ?? false;\n    this.unchangeable = data.unchangeable ?? this.unchangeable;\n\n    if (data.contactAddress) this.contactAddress.mapJSONData(data.contactAddress);\n    if (data.deliveryAddress) this.deliveryAddress.mapJSONData(data.deliveryAddress);\n  }\n\n  @action.bound\n  private updateUnchangeableForEmptyValues() {\n    this.unchangeable = this.unchangeable.filter((prop) => {\n      if (this.hasOwnProperty(prop) && this[prop as keyof PersonalInfoModel] === '') {\n        // if empty, remove from unchangeable\n        return false;\n      } else {\n        return true;\n      }\n    });\n  }\n}\n\nexport const PersonalInfoModelValidators: ValidationDescriptor<PersonalInfoModel, Validators> = {\n  fullName: {\n    required: {\n      message: 'fullName.required',\n    },\n  },\n  birthdate: {\n    required: {\n      message: 'birthDate.required',\n    },\n    birthNumberOrBirthDate: {\n      message: 'birthDate.format',\n    },\n  },\n  birthplace: {\n    required: {\n      message: 'birthplace.required',\n    },\n  },\n  citizenshipId: {\n    required: {\n      message: 'nationality.required',\n    },\n  },\n  dataBox: {\n    dataBox: {\n      message: 'dataBox.format',\n    },\n  },\n  email: {\n    required: {\n      message: 'email.required',\n    },\n    email: {\n      message: 'email.format',\n    },\n  },\n  mobil: {\n    phone: {\n      message: 'phone.format',\n    },\n  },\n};\n\nexport const BuyerInfoModelValidators: ValidationDescriptor<PersonalInfoModel, Validators> = {\n  name: {\n    required: {\n      message: 'firstname.required',\n    },\n  },\n  surname: {\n    required: {\n      message: 'surname.required',\n    },\n  },\n  birthdate: {\n    required: {\n      message: 'birthDate.required',\n    },\n    birthNumberOrBirthDate: {\n      message: 'birthDate.format',\n    },\n  },\n  birthplace: {\n    required: {\n      message: 'birthplace.required',\n    },\n  },\n  dataBox: {\n    dataBox: {\n      message: 'dataBox.format',\n    },\n  },\n  email: {\n    required: {\n      message: 'email.required',\n    },\n    email: {\n      message: 'email.format',\n    },\n  },\n};\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SpsBaseScreen from '../BaseScreen/SpsBaseScreen';\nimport Container from '../../../../../components/layout/Container';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst PaymentWaitingView: View<SpsBaseScreen> = observer(({ vm }) => {\n  const { generalTranslate } = vm;\n\n  return (\n    <Container>\n      {/* MESSAGE */}\n      <Typography className=\"text-center\">{generalTranslate('confirmation.paymentWaiting')}</Typography>\n\n      {/* LOADER */}\n      <div className=\"summary-loader text-center\">\n        <div className=\"sg-loaders__item sg-loaders__item--blue\">\n          <div className=\"gov-loader\">\n            <span>&nbsp;</span>\n            <span>&nbsp;</span>\n            <span>&nbsp;</span>\n          </div>\n        </div>\n      </div>\n    </Container>\n  );\n});\n\nexport default PaymentWaitingView;\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type { CertificatePersonSummaryType } from '../../../../data/entities/ship/shared/CertificateSummaryType';\nimport StringFormatUtils from '../../../../utils/StringFormatUtils';\n\ninterface PersonInfoSummaryBlockProps {\n  translate: Translator;\n  personSummary: CertificatePersonSummaryType | undefined;\n  wantDeliveryAddress: boolean;\n  personType?: 'FO' | 'PO';\n}\n\nexport function PersonInfoSummaryBlock({\n  translate,\n  personSummary,\n  wantDeliveryAddress,\n  personType = 'FO',\n}: PersonInfoSummaryBlockProps) {\n  return (\n    <>\n      {personSummary && (\n        <div className=\"summary-block\">\n          {personType === 'FO' && <h3>{translate('block-1.title')}</h3>}\n          {personType === 'PO' && <h3>{translate('block-1.titleCompany')}</h3>}\n\n          {personType === 'FO' && (\n            <>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.name')}:</div>\n                <div>{personSummary.fullName}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.titleBefore')}:</div>\n                <div>{personSummary.titleBefore}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.titleAfter')}:</div>\n                <div>{personSummary.titleAfter}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.dateBirth')}:</div>\n                <div>{personSummary.dateOfBirth}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.placeBirth')}:</div>\n                <div>{personSummary.placeOfBirth}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.citizenship')}:</div>\n                <div>{personSummary.nationality}</div>\n              </div>\n            </>\n          )}\n          {personType === 'PO' && (\n            <>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.companyName')}:</div>\n                <div>{personSummary.companyName}</div>\n              </div>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.ico')}:</div>\n                <div>{personSummary.ico}</div>\n              </div>\n            </>\n          )}\n          <div className=\"summary-block-item\">\n            <div>{translate('block-1.email')}:</div>\n            <div>{personSummary.email}</div>\n          </div>\n          <div className=\"summary-block-item\">\n            <div>{translate('block-1.phone')}:</div>\n            <div>{personSummary.mobil && StringFormatUtils.formatPhoneNumber(personSummary.mobil)}</div>\n          </div>\n          {personType === 'FO' && (\n            <>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.address')}:</div>\n                <div>{personSummary.address}</div>\n              </div>\n            </>\n          )}\n          {personType === 'PO' && (\n            <>\n              <div className=\"summary-block-item\">\n                <div>{translate('block-1.officeAddress')}:</div>\n                <div>{personSummary.officeAddress}</div>\n              </div>\n            </>\n          )}\n          {wantDeliveryAddress && personSummary.deliveryAddress && (\n            <div className=\"summary-block-item\">\n              <div>{translate('block-1.deliveryAddress')}:</div>\n              <div>{personSummary.deliveryAddress}</div>\n            </div>\n          )}\n          <div className=\"summary-block-item\">\n            <div>{translate('block-1.id')}:</div>\n            <div>{personSummary.databoxId}</div>\n          </div>\n        </div>\n      )}\n    </>\n  );\n}\n","import { Inject, Service } from 'typedi';\nimport SpsService from './SpsService';\nimport FormDataService from './FormDataService';\nimport SessionService from '../../../../../services/SessionService';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport Attachment from '../../../../../model/Attachment';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { Sps_WebApi_Models_Responses_RequestedAttachmentResponse } from '../../../../../data/sps/api';\nimport type { Sps_WebApi_Models_Requests_BoatChangeRequest } from '../../../../../data/sps/api/models/Sps_WebApi_Models_Requests_BoatChangeRequest';\nimport type { Sps_WebApi_Models_Requests_BoatEngineRequest } from '../../../../../data/sps/api/models/Sps_WebApi_Models_Requests_BoatEngineRequest';\nimport { blob } from 'stream/consumers';\nimport { isTemplateExpression } from 'typescript';\n\nexport type FileInfoInit = Sps_WebApi_Models_Responses_RequestedAttachmentResponse & {\n  formats?: string[];\n  maxSize?: number;\n  isMultiple?: boolean;\n};\n\nexport type FileInfo = FileInfoInit & {\n  files: Attachment[];\n  filesSize: number;\n  formats: string[];\n  maxSize: number;\n  isMultiple: boolean;\n};\n\n@Service()\nexport default class AttachmentsService extends SpsService {\n  @observable files: Record<string, FileInfo> = {};\n  @observable validationsFired = false;\n  @observable initialized = false; // if there are no mandatory attachments, forms must go back too\n\n  private maxSize: number = 10 * 1024 * 1024;\n  private allowedTypes = ['doc', 'docx', 'png', 'pdf', 'jpg', 'jpeg', 'tif', 'tiff', 'zip'];\n\n  @computed\n  get totalFileSize() {\n    let total = 0;\n    Object.entries(this.files).forEach(([key, fileInfo]) => {\n      fileInfo.files.forEach((attach) => {\n        total += attach.file.size;\n      });\n    });\n    return total;\n  }\n\n  @computed\n  get isTotalSizeOverMax() {\n    return this.totalFileSize > this.maxSize;\n  }\n\n  @computed\n  get hasAllMandatoryFiles() {\n    let hasAll = true;\n    Object.values(this.files).forEach((fileInfo) => {\n      if (fileInfo.mandatory && fileInfo.files.length === 0) {\n        hasAll = false;\n      }\n    });\n    return hasAll;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('attachments-service');\n    makeObservable(this);\n  }\n\n  init(requiredFiles?: FileInfoInit[]) {\n    this.loadFromSessionStorage();\n    if (requiredFiles) this.updateRequiredFiles(requiredFiles);\n  }\n\n  reset() {\n    this.files = {};\n    this.validationsFired = false;\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    this.validationService.validation.scrolled = false;\n    this.validationsFired = false;\n\n    if (this.hasAllMandatoryFiles && this.initialized) {\n      this.validationsFired = false;\n      return true;\n    } else {\n      this.validationsFired = true;\n      return false;\n    }\n  }\n\n  async getRequestedAttachments(options?: {\n    deviceIds?: Array<string> | null;\n    changes?: Array<Sps_WebApi_Models_Requests_BoatChangeRequest> | null;\n    engines?: Array<Sps_WebApi_Models_Requests_BoatEngineRequest> | null;\n  }) {\n    const response = await this.apiService.spsApi.sps.postPdApiSps2V2GetRequestedAttachmentsBoat({\n      relationId: this.formDataService.formData.relationId,\n      deviceIds: options?.deviceIds ?? null,\n      changes: options?.changes ?? null,\n      engines: options?.engines ?? null,\n    });\n\n    runInAction(() => {\n      this.maxSize = response.maxSize * 1024;\n      this.allowedTypes = response.allowedTypes.split(',');\n      this.updateRequiredFiles(response.attachments);\n      this.initialized = true;\n    });\n  }\n\n  async getRequiredAttachments(options?: {\n    boatId?: string;\n    requestReasonId?: string;\n    deviceIds?: string[];\n    changeTypeId?: string;\n    eligibilities?: string;\n    licenceId?: string;\n  }) {\n    const response = await this.apiService.spsApi.sps.postPdApiSps2V2RequestedAttachments({\n      relationId: this.formDataService.formData.relationId,\n      boatId: options?.boatId ? options.boatId : undefined,\n      requestReasonId: options?.requestReasonId ? options.requestReasonId : undefined,\n      deviceIds: options?.deviceIds ? options.deviceIds : undefined,\n      changeTypeId: options?.changeTypeId ? options.changeTypeId : undefined,\n      eligibilities: options?.eligibilities ? options.eligibilities : undefined,\n      licenceId: options?.licenceId ? options.licenceId : undefined,\n    });\n\n    runInAction(() => {\n      this.maxSize = response.maxSize * 1024;\n      this.allowedTypes = response.allowedTypes.split(',');\n      this.updateRequiredFiles(response.attachments);\n      this.initialized = true;\n    });\n  }\n\n  @action.bound\n  updateRequiredFiles(requiredFiles: FileInfoInit[]) {\n    let newFiles: Record<string, FileInfo> = {};\n\n    requiredFiles.forEach((fileInfo) => {\n      if (fileInfo.description in this.files) {\n        newFiles[fileInfo.description] = this.files[fileInfo.description];\n      } else {\n        newFiles[fileInfo.description] = {\n          ...fileInfo,\n          isMultiple: fileInfo.isMultiple ?? fileInfo.description === 'Další přílohy' ? true : false,\n          maxSize: fileInfo.maxSize ?? this.maxSize,\n          formats: fileInfo.formats ?? this.allowedTypes,\n          files: [],\n          filesSize: 0,\n        };\n      }\n    });\n\n    this.files = newFiles;\n  }\n\n  @action.bound\n  setFiles(file: File | FileList, description: string, isMultiple: boolean = false) {\n    if (file instanceof File && !isMultiple) {\n      this.files[description].files = [{ description, file }];\n    } else if (file instanceof FileList && isMultiple) {\n      for (let i = 0; i < file.length; i++) {\n        this.files[description].files.push({ description, file: file[i] });\n      }\n    }\n  }\n\n  @action.bound\n  unsetFiles(description: string, fileName: string) {\n    this.files[description].files = this.files[description].files.filter((attach) => attach.file.name !== fileName);\n    this.files[description].filesSize = this.files[description].files.reduce((sum, fileInfo) => (sum += fileInfo.file.size), 0);\n  }\n\n  @action.bound\n  setFilesSize(description: string, sizeValue: number) {\n    this.files[description].filesSize += sizeValue;\n  }\n\n  @computed\n  get filesBlobsWithDescription() {\n    let blobs: { file: Blob; description: string }[] = [];\n    Object.values(this.files).forEach((fileInfo) => {\n      return blobs.push(...fileInfo.files.map((item) => ({ file: item.file, description: item.description })));\n    });\n    return blobs;\n  }\n\n  // File attachments will not be saved into the session storage\n  // only information about required files saved\n  protected loadFromSessionStorage() {\n    const files = this.sessionService.get(this.sessionStorageKey);\n\n    if (!files) return;\n\n    const data = JSON.parse(files) as Record<string, FileInfo>;\n\n    this.files = data;\n\n    for (const fileDescription in data) {\n      this.maxSize = data[fileDescription].maxSize;\n      this.allowedTypes = data[fileDescription].formats;\n      return;\n    }\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(\n      this.sessionStorageKey,\n      JSON.stringify(this.files, (key, value) => {\n        switch (key) {\n          case 'files':\n            return [];\n          case 'filesSize':\n            return 0;\n          default:\n            return value;\n        }\n      })\n    );\n  }\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\n\n@AddTranslationKey('applications.ship')\nexport default class BoatModel {\n  @observable boatId: string = '';\n  @observable number: string | null = null;\n  @observable name: string | null = null;\n  @observable type: string | null = null;\n\n  @computed\n  get boat() {\n    const boatInfo: string[] = [];\n\n    if (this.number) boatInfo.push(this.number);\n    if (this.name) boatInfo.push(this.name);\n    if (this.type) boatInfo.push(this.type);\n\n    return boatInfo.join(', ');\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<BoatModel>) {\n    this.boatId = data.boatId ?? this.boatId;\n    this.number = data.number ?? this.number;\n    this.name = data.name ?? this.name;\n    this.type = data.type ?? this.type;\n  }\n}\n\nexport const BoatModelValidators: ValidationDescriptor<BoatModel, Validators> = {\n  boatId: {\n    required: {\n      message: 'boatId.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport SessionService from '../../../../../services/SessionService';\nimport SpsService from './SpsService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\nimport { Sps_WebApi_Models_Responses_BoatResponse } from 'src/data/sps/api';\nimport BoatModel, { BoatModelValidators } from '../Models/BoatModel';\n\n@Service()\nexport default class BoatService extends SpsService {\n  @observable selectedBoat = new BoatModel();\n  @observable boats: Sps_WebApi_Models_Responses_BoatResponse[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get boatOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.boats.forEach((option) => {\n      if (option.boatId) {\n        options.push({\n          id: option.boatId,\n          label: this.boatLabel(option),\n        });\n      }\n    });\n\n    return options;\n  }\n\n  @computed\n  get boatSellersOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.boats.forEach((option) => {\n      if (option.boatId && option.relation === 'prodávající') {\n        options.push({\n          id: option.boatId,\n          label: this.boatLabel(option),\n        });\n      }\n    });\n\n    return options;\n  }\n\n  @computed\n  get boatBuyersOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.boats.forEach((option) => {\n      if (option.boatId && option.relation === 'kupující') {\n        options.push({\n          id: option.boatId,\n          label: this.boatLabel(option),\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('boat-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.selectedBoat, BoatModelValidators);\n\n    // change boat when ID changed\n    this.dispose.push(\n      reaction(\n        () => this.selectedBoat.boatId,\n        () => this.updateBoats()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.selectedBoat = new BoatModel();\n    this.boats = [];\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return this.validation.validateObject(this.selectedBoat);\n  }\n\n  async getBoats() {\n    if (this.boatOptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2PersonBoats(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.boats) return;\n\n      this.boats = response.boats;\n\n      if (!this.selectedBoat.boatId && this.boatOptions.length > 0)\n        this.selectedBoat.boatId = this.boatOptions[0].id;\n    });\n  }\n\n  @action.bound\n  selectDefaultSellerOrBuyerBoat(isBuyer: boolean) {\n    if (isBuyer) {\n      if (this.boatBuyersOptions.length > 0) {\n        this.selectedBoat.boatId = this.boatBuyersOptions[0].id;\n      } else {\n        this.selectedBoat.boatId = '';\n      }\n    } else {\n      if (this.boatSellersOptions.length > 0) {\n        this.selectedBoat.boatId = this.boatSellersOptions[0].id;\n      } else {\n        this.selectedBoat.boatId = '';\n      }\n    }\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const boats = this.sessionService.get(this.sessionStorageKey);\n\n    if (!boats) return;\n\n    const data = JSON.parse(boats);\n\n    this.selectedBoat.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.selectedBoat));\n  }\n\n  @action.bound\n  private updateBoats() {\n    const boat = this.boats.find((boat) => boat.boatId === this.selectedBoat.boatId);\n\n    if (boat === undefined) return;\n\n    this.selectedBoat.name = boat.name || '';\n    this.selectedBoat.type = boat.type || '';\n    this.selectedBoat.number = boat.number || '';\n  }\n\n  private boatLabel(boatInfo: Sps_WebApi_Models_Responses_BoatResponse) {\n    const labelInfo: string[] = [];\n\n    if (boatInfo.number) labelInfo.push(`<strong>${boatInfo.number}</strong>`);\n    if (boatInfo.name) labelInfo.push(boatInfo.name);\n    if (boatInfo.type) labelInfo.push(boatInfo.type);\n\n    if (labelInfo.length === 0) return boatInfo.boatId;\n\n    return labelInfo.join(', ');\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport BranchModel, { BranchModelValidators } from '../Models/BranchModel';\nimport SessionService from '../../../../../services/SessionService';\nimport SpsService from './SpsService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\nimport { Sps_WebApi_Models_Responses_CodebookIntItemResponse } from 'src/data/sps/api';\n\n@Service()\nexport default class BranchService extends SpsService {\n  @observable selectedBranch = new BranchModel();\n  @observable branches: Sps_WebApi_Models_Responses_CodebookIntItemResponse[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get branchOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.branches.forEach((option) => {\n      if (option.description && option.id) {\n        options.push({\n          id: option.id.toString(),\n          label: option.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('branches-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.selectedBranch, BranchModelValidators);\n\n    // change branch when ID changed\n    this.dispose.push(\n      reaction(\n        () => this.selectedBranch.branchId,\n        () => this.updateBranch()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.selectedBranch = new BranchModel();\n    this.branches = [];\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return this.validation.validateObject(this.selectedBranch);\n  }\n\n  async getBranches() {\n    if (this.branchOptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2IssueBranches(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.branches) return;\n\n      this.branches = response.branches;\n\n      if (!this.selectedBranch.branchId && this.branchOptions.length > 0)\n        this.selectedBranch.branchId = this.branchOptions[0].id;\n    });\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const branch = this.sessionService.get(this.sessionStorageKey);\n\n    if (!branch) return;\n\n    const data = JSON.parse(branch);\n\n    this.selectedBranch.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.selectedBranch));\n  }\n\n  @action.bound\n  private updateBranch() {\n    const branchOption = this.branchOptions.find((option) => option.id === this.selectedBranch.branchId);\n\n    if (branchOption === undefined) return;\n\n    this.selectedBranch.branch = branchOption.label;\n  }\n}\n","import { IReactionDisposer, action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport CompanyInfoModel, { BuyerCompanyInfoModelValidators } from '../Models/CompanyInfoModel';\nimport FormDataService from './FormDataService';\nimport SpsService from './SpsService';\nimport SessionService from '../../../../../services/SessionService';\nimport PersonalInfoModel, { BuyerInfoModelValidators } from '../Models/PersonalInfoModel';\nimport ValidationService from './ValidationService';\nimport { AddressModelValidators } from '../Models/AddressModel';\nimport ApiService from '../../../../../services/ApiService';\nimport DateUtils from 'src/utils/DateUtils';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport { RadioGroupOption } from '@components/form/RadioGroup/RadioGroup';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport {\n  Sps_WebApi_Models_Requests_BuyerCompanyRequest,\n  Sps_WebApi_Models_Requests_BuyerPersonRequest,\n  type Sps_WebApi_Models_Responses_CompanyResponse,\n  type Sps_WebApi_Models_Responses_PersonLoadResponse,\n} from 'src/data/sps/api';\n\n@AddTranslationKey('applications.ship.buyer')\n@Service()\nexport default class BuyerService extends SpsService {\n  @observable person = new PersonalInfoModel();\n  @observable company = new CompanyInfoModel();\n  @observable personType = MandatePersonType.FO;\n  @observable buyerId?: string = undefined;\n  @observable buyerPersonInfo?: Sps_WebApi_Models_Responses_PersonLoadResponse = undefined;\n  @observable buyerCompanyInfo?: Sps_WebApi_Models_Responses_CompanyResponse = undefined;\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get BuyerPerson() {\n    const BuyerPerson: Sps_WebApi_Models_Requests_BuyerPersonRequest & { personId?: string } = {\n      firstName: this.person.name,\n      lastName: this.person.surname,\n      birthdate: DateUtils.czStringToRequestString(this.person.birthdate),\n      birthplace: this.person.birthplace,\n      email: this.person.email,\n      address: {\n        street: this.person.contactAddress.street ?? '',\n        houseNumber: this.person.contactAddress.houseNumber,\n        referenceNumber: this.person.contactAddress.referenceNumber,\n        city: this.person.contactAddress.city,\n        postcode: this.person.contactAddress.zipNumber,\n      },\n      personId: this.buyerId,\n    };\n\n    return BuyerPerson;\n  }\n\n  @computed\n  get HandoverBuyerPerson() {\n    const BuyerPerson: Sps_WebApi_Models_Requests_BuyerPersonRequest & { personId?: string } = {\n      firstName: this.buyerPersonInfo?.person.name ?? '',\n      lastName: this.buyerPersonInfo?.person.surname ?? '',\n      birthdate: this.buyerPersonInfo?.person.birthdate\n        ? DateUtils.czStringToRequestString(this.buyerPersonInfo?.person.birthdate)\n        : '',\n      birthplace: this.buyerPersonInfo?.person.birthplace ?? '',\n      email: this.buyerPersonInfo?.person.email ?? '',\n      address: {\n        street: this.buyerPersonInfo?.contactAddress?.street ?? '',\n        houseNumber: this.buyerPersonInfo?.contactAddress?.houseNumber ?? '',\n        referenceNumber: this.buyerPersonInfo?.contactAddress?.referenceNumber ?? undefined,\n        city: this.buyerPersonInfo?.contactAddress?.city ?? '',\n        postcode: this.buyerPersonInfo?.contactAddress?.postcode ?? '',\n      },\n      personId: this.buyerId,\n    };\n\n    return BuyerPerson;\n  }\n\n  @computed\n  get HandoverBuyerPersonString() {\n    return JSON.stringify(this.HandoverBuyerPerson);\n  }\n\n  @computed\n  get BuyerCompany() {\n    const BuyerCompany: Sps_WebApi_Models_Requests_BuyerCompanyRequest = {\n      identificationNumber: this.company.ico,\n      email: this.company.email,\n    };\n\n    return BuyerCompany;\n  }\n\n  @computed\n  get HandoverBuyerCompanyIco(): string {\n    return this.buyerCompanyInfo?.company.ico ?? '';\n  }\n\n  @computed\n  get HandoverBuyerCompanyEmail(): string {\n    return this.buyerCompanyInfo?.company.email ?? '';\n  }\n\n  @computed\n  get personTypeOptions() {\n    const options: RadioGroupOption[] = [\n      {\n        id: MandatePersonType.FO,\n        label: 'Fyzická osoba',\n      },\n      {\n        id: MandatePersonType.PO,\n        label: 'Podnikající fyzická osoba',\n      },\n    ];\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('buyer-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.person, BuyerInfoModelValidators);\n    this.validation.attachDescriptor(this.person.contactAddress, AddressModelValidators);\n    this.validation.attachDescriptor(this.company, BuyerCompanyInfoModelValidators);\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.person = new PersonalInfoModel();\n    this.company = new CompanyInfoModel();\n    this.personType = MandatePersonType.FO;\n    this.buyerId = undefined;\n    this.buyerPersonInfo = undefined;\n    this.buyerCompanyInfo = undefined;\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    const validations: boolean[] = [];\n\n    if (this.personType === MandatePersonType.FO) {\n      validations.push(this.validation.validateObject(this.person));\n      validations.push(this.validation.validateObject(this.person.contactAddress));\n      if (this.person.wantDeliveryAddress)\n        validations.push(this.validation.validateObject(this.person.deliveryAddress));\n    } else if (this.personType === MandatePersonType.PO) {\n      validations.push(this.validation.validateObject(this.company));\n      validations.push(this.validation.validateObject(this.company.officeAddress));\n      if (this.company.wantDeliveryAddress)\n        validations.push(this.validation.validateObject(this.company.deliveryAddress));\n    }\n\n    if (validations.every((v) => v === true)) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  @action.bound\n  async identifyBuyer() {\n    this.buyerId = undefined;\n\n    if (this.personType === MandatePersonType.FO) {\n      const response = await this.apiService.spsApi.identities.postPdApiSps2V2BuyerPerson(\n        this.formDataService.formData.relationId,\n        this.BuyerPerson\n      );\n      runInAction(() => {\n        this.buyerId = response.buyerId;\n      });\n      return response;\n    } else {\n      const response = await this.apiService.spsApi.identities.postPdApiSps2V2BuyerCompany(\n        this.formDataService.formData.relationId,\n        this.BuyerCompany\n      );\n      runInAction(() => {\n        this.buyerId = response.buyerId;\n      });\n      return response;\n    }\n  }\n\n  async loadBuyerInfo() {\n    if (!this.buyerId) return;\n\n    if (this.personType === MandatePersonType.FO) {\n      const response = await this.apiService.spsApi.identities.getPdApiSps2V2BuyerPerson(\n        this.formDataService.formData.relationId,\n        this.buyerId\n      );\n      runInAction(() => {\n        this.buyerPersonInfo = response;\n      });\n    } else {\n      const response = await this.apiService.spsApi.identities.getPdApiSps2V2BuyerCompany(\n        this.formDataService.formData.relationId,\n        this.buyerId\n      );\n      runInAction(() => {\n        this.buyerCompanyInfo = response;\n      });\n    }\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const personData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!personData) return;\n\n    const data = JSON.parse(personData) as {\n      personType: MandatePersonType;\n      person: PersonalInfoModel;\n      company: CompanyInfoModel;\n      buyerId: string | undefined;\n      buyerPersonInfo: Sps_WebApi_Models_Responses_PersonLoadResponse | undefined;\n      buyerCompanyInfo: Sps_WebApi_Models_Responses_CompanyResponse | undefined;\n    };\n\n    this.personType = data.personType;\n    this.person.mapJSONData(data.person);\n    this.company.mapJSONData(data.company);\n    this.buyerId = data.buyerId;\n    this.buyerPersonInfo = data.buyerPersonInfo;\n    this.buyerCompanyInfo = data.buyerCompanyInfo;\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(\n      this.sessionStorageKey,\n      JSON.stringify({\n        personType: this.personType,\n        person: this.person,\n        company: this.company,\n        buyerId: this.buyerId,\n        buyerPersonInfo: this.buyerPersonInfo,\n        buyerCompanyInfo: this.buyerCompanyInfo,\n      })\n    );\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport SessionService from '../../../../../services/SessionService';\nimport SpsService from './SpsService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { RadioGroupOption } from '../../../../../components/form/RadioGroup/RadioGroup';\nimport { Sps_WebApi_Models_Responses_CodebookGuidItemResponse } from '../../../../../data/sps/api';\nimport ChangeTypeModel, { ChangeTypeValidators } from '../Models/ChangeTypeModel';\n\n@Service()\nexport default class ChangeTypeService extends SpsService {\n  @observable selectedChangeType = new ChangeTypeModel();\n  @observable changeTypes: Sps_WebApi_Models_Responses_CodebookGuidItemResponse[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get changeTypeOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.changeTypes.forEach((option) => {\n      if (option.description && option.id) {\n        options.push({\n          id: option.id.toString(),\n          label: option.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('changeType-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.selectedChangeType, ChangeTypeValidators);\n\n    // change change type when ID changed\n    this.dispose.push(\n      reaction(\n        () => this.selectedChangeType.id,\n        () => this.updateChangeType()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.selectedChangeType = new ChangeTypeModel();\n    this.changeTypes = [];\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return this.validation.validateObject(this.selectedChangeType);\n  }\n\n  async getChangeTypes() {\n    if (this.changeTypeOptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2ChangeTypes(this.formDataService.formData.relationId);\n\n    runInAction(() => {\n      if (!response.changeTypes) return;\n\n      this.changeTypes = response.changeTypes;\n\n      if (!this.selectedChangeType.id && this.changeTypeOptions.length > 0)\n        this.selectedChangeType.id = this.changeTypeOptions[0].id;\n    });\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const changeType = this.sessionService.get(this.sessionStorageKey);\n\n    if (!changeType) return;\n\n    const data = JSON.parse(changeType);\n\n    this.selectedChangeType.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.selectedChangeType));\n  }\n\n  @action.bound\n  private updateChangeType() {\n    const changeTypeOption = this.changeTypeOptions.find((option) => option.id === this.selectedChangeType.id);\n\n    if (changeTypeOption === undefined) return;\n\n    this.selectedChangeType.description = changeTypeOption.label;\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport SpsService from './SpsService';\nimport FormDataService from './FormDataService';\nimport SessionService from '../../../../../services/SessionService';\nimport PdfUtils from '../../../../../utils/PdfUtils';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport ZipUtils from '../../../../../utils/ZipUtils';\n\n@Service()\nexport default class DownloadFileService extends SpsService {\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('download-file-service');\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n  }\n\n  reset() {\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return true;\n  }\n\n  async downloadPdf() {\n    await this.getFile('pdf');\n  }\n\n  async downloadZip() {\n    await this.getFile('zip');\n  }\n\n  private async getFile(fileType: 'zip' | 'pdf') {\n    const data = await this.apiService.spsApi.file.getPdApiSps2V2File(\n      fileType,\n      this.formDataService.formData.relationId\n    );\n\n    if (data.data && data.name) {\n      this.downloadFromBase64(data.data, data.name, fileType);\n    }\n  }\n\n  private async downloadFromBase64(base64Data: string, fileName: string, fileType: 'zip' | 'pdf') {\n    if (fileType === 'pdf') {\n      PdfUtils.downloadFromBase64String(base64Data, fileName);\n    } else {\n      ZipUtils.download(base64Data, fileName);\n    }\n  }\n\n  // TODO: will it save anything to session storage?\n  saveToSessionStorage() {}\n  protected loadFromSessionStorage() {}\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { RadioGroupOption } from '../../../../../components/form/RadioGroup/RadioGroup';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { type Sps_WebApi_Models_Responses_EligibilityResponse } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class EligibilityModel {\n  @observable selected = false;\n\n  @observable eligibilityId = '';\n  @observable eligibility = '';\n\n  @observable descriptionId = '';\n  @observable description = '';\n\n  @observable descriptions: { description: string; id: string }[] = [];\n\n  @observable disabledSelection = false;\n  @observable disabledOptions = true;\n\n  @computed\n  get radioOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.descriptions.forEach((item) => {\n      options.push({\n        id: item.id,\n        label: item.description,\n      });\n    });\n\n    return options;\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_EligibilityResponse) {\n    this.eligibilityId = data.id;\n    this.eligibility = data.name;\n\n    this.descriptions = [];\n    data.subEligibility.forEach((item) => {\n      this.descriptions.push({\n        id: item.id.toString(),\n        description: item.description,\n      });\n    });\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<EligibilityModel>) {\n    this.selected = data.selected ?? this.selected;\n    this.eligibilityId = data.eligibilityId ?? this.eligibilityId;\n    this.eligibility = data.eligibility ?? this.eligibility;\n    this.descriptionId = data.descriptionId ?? this.descriptionId;\n    this.description = data.description ?? this.description;\n    this.descriptions = data.descriptions ?? this.descriptions;\n    this.disabledSelection = data.disabledSelection ?? this.disabledSelection;\n    this.disabledOptions = data.disabledOptions ?? this.disabledOptions;\n  }\n}\n\nexport const EligibilityModelValidators: ValidationDescriptor<EligibilityModel, Validators> = {\n  descriptionId: {\n    required: {\n      message: 'descriptionId.required',\n      options: {\n        if: (t: EligibilityModel) => t.selected === true,\n      },\n    },\n  },\n};\n\nexport const NoneEligibilitySelectedValidator: ValidationDescriptor<EligibilityModel, Validators> = {\n  selected: {\n    required: {\n      message: 'noneSelected.alwaysFalse',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport SpsService from './SpsService';\nimport FormDataService from './FormDataService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, when } from 'mobx';\nimport EligibilityModel, { EligibilityModelValidators, NoneEligibilitySelectedValidator } from '../Models/EligibilityModel';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport LicenceModel from '../Models/LicenceModel';\nimport { Sps_WebApi_Models_Responses_EligibilityResponse } from '../../../../../data/sps/api';\n\nexport enum EligibilityNames {\n  DRY_CARGO = 'SUCHÝ NÁKLAD',\n  TANKERS_N = 'TANKERY N',\n  COMBINATION = 'KOMBINACE',\n  TANKERS_C = 'TANKERY C',\n  TANKERS_G = 'TANKERY G',\n}\n\nfunction isEligibilityResponse(object: any): object is Sps_WebApi_Models_Responses_EligibilityResponse {\n  return (\n    typeof object === 'object' &&\n    'id' in object &&\n    typeof object.id === 'string' &&\n    'name' in object &&\n    typeof object.name === 'string' &&\n    'subEligibility' in object &&\n    Array.isArray(object.subEligibility)\n  );\n}\n\n@AddTranslationKey('applications.ship')\n@Service()\nexport default class EligibilityService extends SpsService {\n  @observable licence = new LicenceModel();\n  @observable eligibilities: { [key in EligibilityNames]?: EligibilityModel } = {};\n  // SPS form 141 can only select one, form 142 can select multiple\n  @observable allowMultipleSelection = false;\n  // selectedEligibilityId is only used in the 141 form, where only one eligibility can be selected\n  @computed\n  get selectedEligibilityId() {\n    let id = '';\n\n    Object.values(this.eligibilities).forEach((model) => {\n      if (model.selected) id = model.eligibilityId;\n    });\n\n    return id;\n  }\n\n  set selectedEligibilityId(value: string) {\n    Object.values(this.eligibilities).forEach((model) => {\n      model.selected = model.eligibilityId === value;\n    });\n  }\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get isAnyEligibilitySelected(): boolean {\n    let result = false;\n\n    Object.values(this.eligibilities).forEach((model) => {\n      if (model.selected) result = true;\n    });\n\n    return result;\n  }\n\n  @computed\n  get selectedEligibilitiesString(): string {\n    let stringValue = '';\n\n    Object.values(this.eligibilities).forEach((model, index) => {\n      if (!model.selected) return;\n      stringValue += model.eligibility;\n      stringValue += ', ';\n    });\n\n    stringValue = stringValue.slice(0, -2);\n\n    return stringValue;\n  }\n\n  @computed\n  get selectedModel(): EligibilityModel | null {\n    let selectedModel: EligibilityModel | null = null;\n\n    Object.values(this.eligibilities).forEach((model) => {\n      if (model.selected) selectedModel = model;\n    });\n\n    return selectedModel;\n  }\n\n  @computed\n  get selectedEligibilityDescription(): string {\n    const selectedModel = this.selectedModel;\n\n    if (selectedModel) {\n      return selectedModel.description;\n    } else {\n      return '';\n    }\n  }\n\n  @computed\n  get selectedEligibilitiesRequestString(): string {\n    let selectedEligibilitiesInfo: Array<{ id: string; subEligibilityId: number }> = [];\n\n    Object.values(this.eligibilities).forEach((model) => {\n      if (model.selected)\n        selectedEligibilitiesInfo.push({\n          id: model.eligibilityId,\n          subEligibilityId: Number(model.descriptionId),\n        });\n    });\n\n    return JSON.stringify(selectedEligibilitiesInfo);\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('eligibility-service');\n    makeObservable(this);\n  }\n\n  @action.bound\n  init(allowMultipleSelection: boolean) {\n    this.allowMultipleSelection = allowMultipleSelection;\n\n    this.loadFromSessionStorage();\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.licence = new LicenceModel();\n    this.eligibilities = {};\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    // if eligibility is selected then its descriptionId is required\n    let allSelectedHaveDescriptionId = Object.values(this.eligibilities)\n      .map((model) => this.validation.validateObject(model))\n      .every((val) => val === true);\n\n    // at least one eligibility needs to be selected\n    let atLeastOneEligibilitySelected = this.isAnyEligibilitySelected;\n\n    if (!atLeastOneEligibilitySelected) {\n      this.toggleNoneSelectedValidator();\n      when(\n        () => this.isAnyEligibilitySelected,\n        () => this.toggleNoneSelectedValidator()\n      );\n    }\n\n    return allSelectedHaveDescriptionId && atLeastOneEligibilitySelected;\n  }\n\n  async getEligibilities() {\n    if (Object.values(this.eligibilities).length > 0) return;\n\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2PersonLicences(this.formDataService.formData.relationId);\n\n    if (response.licences.length === 0) return;\n\n    const licenceResponse = response.licences[0];\n    this.licence.mapData(licenceResponse);\n    this.updateEligibilities(licenceResponse.eligibility);\n  }\n\n  @action.bound\n  private updateEligibilities(initArray: Partial<EligibilityModel>[] | Sps_WebApi_Models_Responses_EligibilityResponse[]) {\n    this.eligibilities = {};\n\n    for (const eligibilityInit of initArray) {\n      const newEligibility = new EligibilityModel();\n\n      if (isEligibilityResponse(eligibilityInit)) {\n        // map data from BE response\n        newEligibility.mapData(eligibilityInit);\n      } else {\n        // map data from session storage\n        newEligibility.mapJSONData(eligibilityInit);\n      }\n\n      // parse eligibility name to one of the enum values\n      const enumName = this.modelEnumName(newEligibility.eligibility);\n\n      if (!enumName) break;\n\n      this.eligibilities[enumName] = newEligibility;\n\n      this.createEligibilityReaction(newEligibility);\n      this.validation.attachDescriptor(newEligibility, EligibilityModelValidators);\n    }\n\n    // 0 time timeout used to trigger reactions created in the lines above for the \"selected\" observable change\n    setTimeout(() => this.selectDefault(), 0);\n  }\n\n  @action.bound\n  private selectDefault() {\n    // if any model already selected, do nothing\n    if (this.isAnyEligibilitySelected) return;\n\n    if (this.allowMultipleSelection === false) {\n      // 141: select first eligibility by default\n      for (const model of Object.values(this.eligibilities)) {\n        this.selectedEligibilityId = model.eligibilityId;\n        break;\n      }\n    } else {\n      // 142: select all (non-excluding) eligibilities\n      const dryCargoModel = this.eligibilities[EligibilityNames.DRY_CARGO];\n      const tankersNModel = this.eligibilities[EligibilityNames.TANKERS_N];\n      const combinationModel = this.eligibilities[EligibilityNames.COMBINATION];\n      const tankersCModel = this.eligibilities[EligibilityNames.TANKERS_C];\n      const tankersGModel = this.eligibilities[EligibilityNames.TANKERS_G];\n\n      // always select combination, G and C if present\n      if (combinationModel) combinationModel.selected = true;\n      if (tankersGModel) tankersGModel.selected = true;\n      if (tankersCModel) tankersCModel.selected = true;\n\n      // select tankers N only if there is no combination option\n      if (tankersNModel && !combinationModel) tankersNModel.selected = true;\n\n      // select dry cargo only if no combination option\n      if (dryCargoModel && !combinationModel) dryCargoModel.selected = true;\n    }\n  }\n\n  private createEligibilityReaction(model: EligibilityModel) {\n    // common reactions for 141 and 142 forms\n    this.dispose.push(\n      reaction(\n        () => model.selected,\n        () => this.onSelectedChange(model)\n      ),\n      reaction(\n        () => model.descriptionId,\n        () => this.onDescriptionIdChange(model)\n      )\n    );\n\n    // reactions for 142 form only\n    if (this.allowMultipleSelection) {\n      // selecting combination toggles dry cargo and tankers N\n      if (this.doesModelNameMatchEnumName(model.eligibility, EligibilityNames.COMBINATION)) {\n        this.dispose.push(\n          reaction(\n            () => model.selected,\n            () => this.toggleDryCargoAndTankersN(model)\n          )\n        );\n      }\n\n      // selecting tankers N or combination toggles tankers C and D\n      if (\n        this.doesModelNameMatchEnumName(model.eligibility, EligibilityNames.TANKERS_N) ||\n        this.doesModelNameMatchEnumName(model.eligibility, EligibilityNames.COMBINATION)\n      ) {\n        this.dispose.push(\n          reaction(\n            () => model.selected,\n            () => this.toggleTankersCD(model)\n          )\n        );\n      }\n\n      // tankers N toggle combination\n      if (this.doesModelNameMatchEnumName(model.eligibility, EligibilityNames.TANKERS_N)) {\n        this.dispose.push(\n          reaction(\n            () => model.selected,\n            () => this.toggleCombination(model)\n          )\n        );\n      }\n    }\n  }\n\n  @action.bound\n  private onSelectedChange(model: EligibilityModel) {\n    if (!model.selected) {\n      model.descriptionId = '';\n      model.disabledOptions = true;\n    } else {\n      model.disabledOptions = false;\n\n      if (model.descriptions.length > 0 && model.descriptionId === '') {\n        model.descriptionId = model.descriptions[0].id;\n      }\n    }\n  }\n\n  @action.bound\n  private onDescriptionIdChange(model: EligibilityModel) {\n    // if user clicks on description option and eligibility is not selected\n    if (model.descriptionId !== '' && !model.selected) {\n      model.selected = true;\n      if (!this.allowMultipleSelection) {\n        this.selectedEligibilityId = model.eligibilityId;\n      }\n    }\n\n    // find corresponding description for given ID\n    let descriptionFound = false;\n    for (const descriptionInfo of model.descriptions) {\n      if (descriptionInfo.id === model.descriptionId) {\n        model.description = descriptionInfo.description;\n        descriptionFound = true;\n        break;\n      }\n    }\n\n    if (!descriptionFound) model.description = '';\n  }\n\n  @action.bound\n  private toggleCombination(triggeringModel: EligibilityModel) {\n    const selectCombination = false;\n    const disableCombination = triggeringModel.selected;\n\n    const combinationModel = this.eligibilities[EligibilityNames.COMBINATION];\n    if (combinationModel) {\n      combinationModel.selected = selectCombination;\n      combinationModel.disabledSelection = disableCombination;\n    }\n  }\n\n  @action.bound\n  private toggleDryCargoAndTankersN(triggeringModel: EligibilityModel) {\n    const selectDryAndN = !triggeringModel.selected;\n    const disableDryAndN = triggeringModel.selected;\n\n    const dryCargoModel = this.eligibilities[EligibilityNames.DRY_CARGO];\n    if (dryCargoModel) {\n      dryCargoModel.selected = selectDryAndN;\n      dryCargoModel.disabledSelection = disableDryAndN;\n    }\n\n    const tankersNModel = this.eligibilities[EligibilityNames.TANKERS_N];\n    if (tankersNModel) {\n      tankersNModel.selected = selectDryAndN;\n      tankersNModel.disabledSelection = disableDryAndN;\n    }\n  }\n\n  @action.bound\n  private toggleTankersCD(triggeringModel: EligibilityModel) {\n    // do nothing if  tankers N is the triggering model and combination is selected\n    // combination has priority in toggling C and D\n    if (\n      this.doesModelNameMatchEnumName(triggeringModel.eligibility, EligibilityNames.TANKERS_N) &&\n      this.eligibilities[EligibilityNames.COMBINATION]?.selected === true\n    ) {\n      return;\n    }\n\n    let disableTankersCD = true;\n    let selectTankersCD = false;\n\n    if (triggeringModel.selected) {\n      disableTankersCD = false;\n      selectTankersCD = true;\n    }\n\n    const tankersCModel = this.eligibilities[EligibilityNames.TANKERS_C];\n    if (tankersCModel) {\n      tankersCModel.selected = selectTankersCD;\n      tankersCModel.disabledSelection = disableTankersCD;\n    }\n\n    const tankersGModel = this.eligibilities[EligibilityNames.TANKERS_G];\n    if (tankersGModel) {\n      tankersGModel.selected = selectTankersCD;\n      tankersGModel.disabledSelection = disableTankersCD;\n    }\n  }\n\n  private toggleNoneSelectedValidator() {\n    if (!this.isAnyEligibilitySelected) {\n      Object.values(this.eligibilities).forEach((model) => {\n        this.validation.attachDescriptor(model, NoneEligibilitySelectedValidator);\n        this.validation.validateObject(model);\n      });\n    } else {\n      Object.values(this.eligibilities).forEach((model) => {\n        this.validation.detachDescriptor(model);\n        this.validation.attachDescriptor(model, EligibilityModelValidators);\n      });\n    }\n  }\n\n  // parse string name from SPS to one of the enum values\n  private modelEnumName(eligibilityName: string): EligibilityNames | null {\n    if (eligibilityName === '') return null;\n\n    for (const name of Object.values(EligibilityNames)) {\n      if (name.localeCompare(eligibilityName, 'cs', { sensitivity: 'base' }) === 0) return name;\n    }\n\n    return null;\n  }\n\n  // compare string to one of the enum values\n  private doesModelNameMatchEnumName(modelName: string, enumName: EligibilityNames): boolean {\n    if (modelName.localeCompare(enumName, 'cs', { sensitivity: 'base' }) === 0) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(\n      this.sessionStorageKey,\n      JSON.stringify({\n        licence: this.licence,\n        eligibilities: this.eligibilities,\n      })\n    );\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const eligibilities = this.sessionService.get(this.sessionStorageKey);\n\n    if (!eligibilities) return;\n\n    const data = JSON.parse(eligibilities) as {\n      licence: LicenceModel;\n      eligibilities: { [key in EligibilityNames]?: EligibilityModel };\n    };\n\n    // licence data\n    this.licence.mapJSONData(data.licence);\n\n    // eligibilities data\n    const initArray: Partial<EligibilityModel>[] = [];\n    Object.values(data.eligibilities).forEach((model) => initArray.push(model));\n    this.updateEligibilities(initArray);\n  }\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\n\n@AddTranslationKey('applications.ship')\nexport default class ExamModel {\n  @observable placeId = '';\n  @observable place = '';\n  @observable address = '';\n\n  @observable datesFoundError = '';\n  @observable placesFoundError = '';\n  @observable dateId = '';\n  @observable date = '';\n  @observable time = '';\n\n  @observable restrictionId = '';\n  @observable restriction = '';\n\n  @observable note = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @computed\n  get alwaysFalseExamModelValidators(): ValidationDescriptor<ExamModel, Validators> {\n    return {\n      dateId: {\n        alwaysFalse: {\n          message: this.datesFoundError,\n        },\n      },\n    };\n  }\n\n  @computed\n  get alwaysFalsePlaceModelValidators(): ValidationDescriptor<ExamModel, Validators> {\n    return {\n      placeId: {\n        alwaysFalse: {\n          message: this.placesFoundError,\n        },\n      },\n    };\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<ExamModel>) {\n    this.placeId = data.placeId ?? '';\n    this.place = data.place ?? '';\n    this.address = data.address ?? '';\n    this.dateId = data.dateId ?? '';\n    this.date = data.date ?? '';\n    this.time = data.time ?? '';\n    this.restrictionId = data.restrictionId ?? '';\n    this.restriction = data.restriction ?? '';\n    this.note = data.note ?? '';\n  }\n}\n\nexport const ExamModelValidators: ValidationDescriptor<ExamModel, Validators> = {\n  placeId: {\n    required: {\n      message: 'placeId.required',\n    },\n  },\n  dateId: {\n    required: {\n      message: 'dateId.required',\n    },\n  },\n  restrictionId: {\n    required: {\n      message: 'restrictionId.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport SpsService from './SpsService';\nimport FormDataService from './FormDataService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport ExamModel, { ExamModelValidators } from '../Models/ExamModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApiService from '../../../../../services/ApiService';\nimport {\n  Sps_WebApi_Models_Responses_CodebookGuidItemResponse,\n  Sps_WebApi_Models_Responses_DatesItemResponse,\n  Sps_WebApi_Models_Responses_DatesResponse,\n  Sps_WebApi_Models_Responses_PlacesItemResponse,\n} from '../../../../../data/sps/api';\nimport { RadioGroupOption } from '../../../../../components/form/RadioGroup/RadioGroup';\nimport { SelectOption } from '../../../../../components/form/Select/Select';\nimport { ApiError } from 'src/data/egon/api';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\n\n@Service()\nexport default class ExamService extends SpsService {\n  @observable exam = new ExamModel();\n\n  @observable places: Sps_WebApi_Models_Responses_PlacesItemResponse[] = [];\n  @observable dates: Sps_WebApi_Models_Responses_DatesItemResponse[] = [];\n  @observable restrictions: Sps_WebApi_Models_Responses_CodebookGuidItemResponse[] = [];\n  @observable dateError: null | string = null;\n  @observable datesBusyWatcher = new BusyWatcher();\n\n  // reasonIds that require an exam\n  private examReasonIds = [\n    '630656bb-daf2-4b69-86cd-5d93f4f0bc09',\n    '8e88800e-5be4-42b0-aad1-5cf5e4febc3b',\n    'e5deab18-e628-48f5-9dc6-29cb6a998a4a',\n  ];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get placeOptions() {\n    const options: Array<RadioGroupOption & { address: string }> = [];\n\n    this.places.forEach((place) => {\n      if (place.id && place.description && place.address)\n        options.push({\n          id: place.id,\n          label: place.description,\n          address: place.address,\n        });\n    });\n\n    return options;\n  }\n\n  @computed\n  get dateOptions() {\n    const options: Array<SelectOption<string> & { date: string; time: string }> = [];\n\n    this.dates.forEach((date) => {\n      if (date.id && date.time && date.date)\n        options.push({\n          value: date.id,\n          key: date.id,\n          label: date.date + ' ' + date.time,\n          date: date.date,\n          time: date.time,\n        });\n    });\n\n    return options;\n  }\n\n  @computed\n  get restrictionOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.restrictions.forEach((restriction) => {\n      if (restriction.id && restriction.description) {\n        options.push({\n          id: restriction.id,\n          label: restriction.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService,\n    @Inject() public localization: LocalizationService\n  ) {\n    super('exam-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.exam, ExamModelValidators);\n\n    // if placeId found in the session storage, call GET dates\n    if (this.exam.placeId) this.getDates();\n\n    // change place/date/restriction after their ID change\n    this.dispose.push(\n      reaction(\n        () => this.exam.placeId,\n        () => this.updatePlace()\n      ),\n      reaction(\n        () => this.exam.dateId,\n        () => this.updateDate()\n      ),\n      reaction(\n        () => this.exam.restrictionId,\n        () => this.updateRestriction()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.places = [];\n    this.dates = [];\n    this.restrictions = [];\n\n    this.exam = new ExamModel();\n    this.removeFromSessionStorage();\n  }\n\n  async getPlaces() {\n    if (this.places.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks\n      .getPdApiSps2V2Places(this.formDataService.formData.relationId)\n      .catch((e) => {\n        const res = e as ApiError;\n        if (res?.body?.type === 'SPS_WARN') {\n          this.exam.placesFoundError = res?.body?.title;\n          this.validation.detachDescriptor(this.exam);\n          this.validation.attachDescriptor(this.exam, this.exam.alwaysFalsePlaceModelValidators);\n          this.validation.validateProperty(this.exam, 'placeId');\n        } else {\n          throw e;\n        }\n      });\n\n    if (response) {\n      runInAction(() => {\n        if (!response.places) return;\n\n        this.places = response.places;\n        this.validation.detachDescriptor(this.exam);\n        this.validation.attachDescriptor(this.exam, ExamModelValidators);\n        if (!this.exam.placeId && this.placeOptions.length > 0) this.exam.placeId = this.placeOptions[0].id;\n      });\n    }\n  }\n\n  @Watch<ExamService>((s) => s.datesBusyWatcher)\n  @action.bound\n  async getDates() {\n    this.dateError = null;\n    if (this.exam.placeId === '') return;\n\n    const response = await this.apiService.spsApi.sps\n      .getPdApiSps2V2Dates(this.exam.placeId, this.formDataService.formData.relationId)\n      .catch((e) => {\n        const res = e as ApiError;\n        if (res?.body?.type === 'SPS_WARN') {\n          this.dateError = res?.body?.title;\n        } else {\n          this.dateError = this.generalTranslate('date-error');\n        }\n      });\n\n    if (response) {\n      const data = response as Sps_WebApi_Models_Responses_DatesResponse;\n      runInAction(() => {\n        if (!data.dates) return;\n\n        this.dates = data.dates;\n        this.validation.detachDescriptor(this.exam);\n        this.validation.attachDescriptor(this.exam, ExamModelValidators);\n        if (!this.exam.dateId && this.dateOptions.length > 0) this.exam.dateId = this.dateOptions[0].value;\n      });\n    }\n  }\n\n  async getRestrictions() {\n    if (this.restrictions.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2Restrictions(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.restrictions) return;\n\n      this.restrictions = response.restrictions;\n\n      if (!this.exam.restrictionId && this.restrictionOptions.length > 0)\n        this.exam.restrictionId = this.restrictionOptions[0].id;\n    });\n  }\n\n  validate() {\n    return this.validation.validateObject(this.exam);\n  }\n\n  isExamRequired(reasonId: string): boolean {\n    if (this.examReasonIds.includes(reasonId)) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const exam = this.sessionService.get(this.sessionStorageKey);\n\n    if (!exam) return;\n\n    const data = JSON.parse(exam);\n\n    this.exam.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.exam));\n  }\n\n  @action.bound\n  private updatePlace() {\n    const placeOption = this.placeOptions.find((option) => option.id === this.exam.placeId);\n\n    if (placeOption === undefined) return;\n\n    this.exam.place = placeOption.label;\n    this.exam.address = placeOption.address;\n\n    // call GET dates after place change\n    this.exam.dateId = '';\n    this.exam.date = '';\n    this.dates = [];\n    this.getDates();\n  }\n\n  @action.bound\n  private updateDate() {\n    const dateOption = this.dateOptions.find((option) => option.value === this.exam.dateId);\n\n    if (dateOption === undefined) return;\n\n    this.exam.date = dateOption.date;\n    this.exam.time = dateOption.time;\n  }\n\n  @action.bound\n  private updateRestriction() {\n    const restrictionOption = this.restrictionOptions.find((option) => option.id === this.exam.restrictionId);\n\n    if (restrictionOption === undefined) return;\n\n    this.exam.restriction = restrictionOption.label;\n  }\n\n  generalTranslate = translate('ship.certificates', this);\n}\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Domain_Contracts_Enums_SpsServiceId } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class FormDataModel {\n  @observable serviceId: Domain_Contracts_Enums_SpsServiceId = Domain_Contracts_Enums_SpsServiceId.ID122;\n  @observable personType: 'FO' | 'PO' = 'FO';\n  @observable requestId = '';\n  @observable relationId = '';\n  @observable personId = '';\n  @observable firmaId = '';\n\n  @computed\n  get pfo() {\n    if (this.personType === 'FO') {\n      return false;\n    } else {\n      return true;\n    }\n  }\n\n  @computed\n  get personIdOrFirmaId() {\n    if (this.personType === 'FO') {\n      return this.personId;\n    } else {\n      return this.firmaId;\n    }\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<FormDataModel>) {\n    this.serviceId = data.serviceId ?? this.serviceId;\n    this.personType = data.personType ?? this.personType;\n    this.requestId = data.requestId ?? this.requestId;\n    this.relationId = data.relationId ?? this.relationId;\n    this.personId = data.personId ?? this.personId;\n    this.firmaId = data.firmaId ?? this.firmaId;\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport {\n  Domain_Contracts_Enums_SpsServiceId,\n  Sps_WebApi_Models_Responses_RelationCompanyResponse,\n  Sps_WebApi_Models_Responses_RelationPersonResponse,\n} from '../../../../../data/sps/api';\nimport FormDataModel from '../Models/FormDataModel';\nimport MandatesService from '../../../../../services/MandatesService';\n\n@Service()\nexport default class FormDataService {\n  @observable formData = new FormDataModel();\n\n  private sessionStorageKey = 'form-data-service';\n\n  constructor(\n    @Inject() private sessionService: SessionService,\n    @Inject() private validationService: ValidationService,\n    @Inject() private mandatesService: MandatesService\n  ) {\n    makeObservable(this);\n    this.formData.personType = this.mandatesService.personType;\n  }\n\n  @action.bound\n  init(serviceId: Domain_Contracts_Enums_SpsServiceId) {\n    this.formData.serviceId = serviceId;\n    this.formData.personType = this.mandatesService.personType;\n    this.loadFromSessionStorage();\n  }\n\n  @action.bound\n  reset() {\n    this.formData = new FormDataModel();\n\n    this.removeFromSessionStorage();\n  }\n\n  @action.bound\n  updateFormData(\n    response: Sps_WebApi_Models_Responses_RelationPersonResponse | Sps_WebApi_Models_Responses_RelationCompanyResponse\n  ) {\n    if ('personId' in response) this.formData.personId = response.personId;\n    if ('companyId' in response) this.formData.firmaId = response.companyId;\n\n    this.formData.requestId = response.requestId;\n    this.formData.relationId = response.relationId;\n  }\n\n  @action.bound\n  private loadFromSessionStorage() {\n    const formData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!formData) return;\n\n    const data = JSON.parse(formData);\n\n    this.formData.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.formData));\n  }\n\n  private removeFromSessionStorage() {\n    this.sessionService.remove(this.sessionStorageKey);\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport LicenceModel, { LicenceModelValidators } from '../Models/LicenceModel';\nimport SpsService from './SpsService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { Sps_WebApi_Models_Responses_PersonLicenceResponse } from 'src/data/sps/api';\nimport { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\n\n@Service()\nexport default class LicenceService extends SpsService {\n  @observable selectedLicence = new LicenceModel();\n  @observable licences: Sps_WebApi_Models_Responses_PersonLicenceResponse[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get licenceOptions() {\n    const options: Array<RadioGroupOption & { number: string; desc: string }> = [];\n\n    this.licences.forEach((option) => {\n      if (option.description && option.id) {\n        options.push({\n          id: option.id,\n          label: option.number + ' ' + option.description,\n          number: option.number,\n          desc: option.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('licences-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.selectedLicence, LicenceModelValidators);\n\n    // change licence when ID changed\n    this.dispose.push(\n      reaction(\n        () => this.selectedLicence.licenceId,\n        () => this.updateLicence()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.selectedLicence = new LicenceModel();\n    this.licences = [];\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return this.validation.validateObject(this.selectedLicence);\n  }\n\n  async getPersonLicences() {\n    if (this.licenceOptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2PersonLicences(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.licences) return;\n\n      this.licences = response.licences;\n\n      if (!this.selectedLicence.licenceId && this.licenceOptions.length > 0)\n        this.selectedLicence.licenceId = this.licenceOptions[0].id;\n    });\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const licence = this.sessionService.get(this.sessionStorageKey);\n\n    if (!licence) return;\n\n    const data = JSON.parse(licence);\n\n    this.selectedLicence.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.selectedLicence));\n  }\n\n  @action.bound\n  private updateLicence() {\n    const licenceOption = this.licenceOptions.find((option) => option.id === this.selectedLicence.licenceId);\n\n    if (licenceOption === undefined) return;\n\n    this.selectedLicence.licence = licenceOption.label;\n    this.selectedLicence.number = licenceOption.number;\n    this.selectedLicence.description = licenceOption.desc;\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport SpsService from './SpsService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { type Sps_WebApi_Models_Responses_OtherPersonLicencesResponse } from '../../../../../data/sps/api';\n\n@Service()\nexport default class OtherLicenseService extends SpsService {\n  @observable otherLicense?: Sps_WebApi_Models_Responses_OtherPersonLicencesResponse = undefined;\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('other-licenses-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n  }\n\n  reset() {\n    this.otherLicense = undefined;\n    this.removeFromSessionStorage();\n  }\n\n  validate() {\n    return true;\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const license = this.sessionService.get(this.sessionStorageKey);\n\n    if (!license) return;\n\n    this.otherLicense = JSON.parse(license);\n  }\n\n  saveToSessionStorage() {\n    if (this.otherLicense) {\n      this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.otherLicense));\n    }\n  }\n\n  async getOtherPersonLicenses(requestReasonId?: string, licenceId?: string) {\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2PersonOtherLicences(\n      this.formDataService.formData.relationId,\n      requestReasonId,\n      licenceId\n    );\n\n    runInAction(() => {\n      if (response) this.otherLicense = response;\n    });\n  }\n\n  @computed\n  get newOtherLicenses() {\n    if (!this.otherLicense) {\n      this.loadFromSessionStorage();\n    }\n\n    if (this.otherLicense) {\n      return this.otherLicense.news.map((item) => item.name);\n    }\n  }\n\n  @computed\n  get oldOtherLicenses() {\n    if (!this.otherLicense) {\n      this.loadFromSessionStorage();\n    }\n\n    if (this.otherLicense) {\n      return this.otherLicense.olds.map((item) => item.name);\n    }\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { type Sps_WebApi_Models_Responses_SpsPaymentDetailResponse } from '../../../../../data/sps/api';\n\n@AddTranslationKey('applications.ship')\nexport default class PaymentModel {\n  @observable payId = '';\n  @observable url = '';\n  @observable amount = 0;\n  @observable description = '';\n  @observable status = '';\n  @observable referenceNumber = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapData(data: Sps_WebApi_Models_Responses_SpsPaymentDetailResponse) {\n    this.payId = data.payId ?? this.payId;\n    this.url = data.url ?? this.url;\n    this.amount = data.amount ?? this.amount;\n    this.description = data.description ?? this.description;\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<PaymentModel>) {\n    this.payId = data.payId ?? this.payId;\n    this.url = data.url ?? this.url;\n    this.amount = data.amount ?? this.amount;\n    this.description = data.description ?? this.description;\n    this.status = data.status ?? this.status;\n    this.referenceNumber = data.referenceNumber ?? this.referenceNumber;\n  }\n}\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport SpsService from './SpsService';\nimport FormDataService from './FormDataService';\nimport SessionService from '../../../../../services/SessionService';\nimport PaymentModel from '../Models/PaymentModel';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport {\n  Sps_WebApi_Models_Requests_PaymentStatusRequest,\n  Sps_WebApi_Models_Requests_PaymentWithFeeListRequest,\n} from '../../../../../data/sps/api';\nimport SpsBaseScreen from '../BaseScreen/SpsBaseScreen';\nimport { SpsPaymentStatus } from '../../../../../enums/SpsPaymentStatus';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\nexport default class PaymentService extends SpsService {\n  @observable payment = new PaymentModel();\n\n  private intervalId?: NodeJS.Timeout;\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService,\n    @Inject() protected errorService: ErrorService\n  ) {\n    super('payment-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n  }\n\n  reset() {\n    this.payment = new PaymentModel();\n    this.removeFromSessionStorage();\n    this.stopPaymentStatusInterval();\n  }\n\n  validate() {\n    return true;\n  }\n\n  async getPayment(options?: { dateId?: string; placeId?: string; licenceId?: string; reasonId?: string }) {\n    const response = await this.apiService.spsApi.sps.getPdApiSps2V2Payment(\n      this.formDataService.formData.relationId,\n      options?.dateId,\n      options?.placeId,\n      options?.licenceId,\n      options?.reasonId\n    );\n\n    runInAction(() => {\n      if (response.payment) this.payment.mapData(response.payment);\n    });\n  }\n\n  async getPayment204(requestBody: Sps_WebApi_Models_Requests_PaymentWithFeeListRequest) {\n    const response = await this.apiService.spsApi.sps.postPdApiSps2V2Payment204(requestBody);\n\n    runInAction(() => {\n      if (response.payment) this.payment.mapData(response.payment);\n    });\n  }\n\n  async postPaymentStatus(payment: boolean, force: boolean, options?: { placeId?: string; dateId?: string }) {\n    const requestBody: Sps_WebApi_Models_Requests_PaymentStatusRequest = {\n      relationId: this.formDataService.formData.relationId,\n      placeId: options?.placeId,\n      dateId: options?.dateId,\n      payment: payment\n        ? {\n            payId: this.payment.payId,\n            amount: this.payment.amount.toString(),\n            force: force,\n          }\n        : undefined,\n    };\n\n    const response = await this.apiService.spsApi.sps.postPdApiSps2V2PaymentStatus(requestBody);\n\n    runInAction(() => {\n      this.payment.status = response.status ?? this.payment.status;\n      this.payment.referenceNumber = response.referenceNumber ?? this.payment.referenceNumber;\n      this.payment.description = response.description ?? '';\n    });\n\n    this.saveToSessionStorage();\n  }\n\n  async startPaymentStatusInterval(\n    vm: SpsBaseScreen,\n    payment: boolean,\n    force: boolean,\n    options?: { placeId?: string; dateId?: string }\n  ) {\n    this.stopPaymentStatusInterval();\n\n    await this.checkPaymentStatus(vm, payment, force, options);\n\n    // setup interval only if still waiting\n    if (this.payment.status === '' || this.payment.status === SpsPaymentStatus.WAITING_FOR_PAYMENT) {\n      this.intervalId = setInterval(async () => {\n        await this.checkPaymentStatus(vm, payment, force, options);\n      }, 5000);\n    }\n  }\n\n  stopPaymentStatusInterval() {\n    clearInterval(this.intervalId);\n  }\n\n  private async checkPaymentStatus(\n    vm: SpsBaseScreen,\n    payment: boolean,\n    force: boolean,\n    options?: { placeId?: string; dateId?: string }\n  ) {\n    try {\n      await this.postPaymentStatus(payment, force, options);\n\n      switch (this.payment.status) {\n        case SpsPaymentStatus.FAIL:\n        case SpsPaymentStatus.CANCELED:\n        case SpsPaymentStatus.REJECTED:\n        case SpsPaymentStatus.REVOKED:\n          vm.setErrorMessage(this.payment.description);\n          this.stopPaymentStatusInterval();\n          break;\n        case SpsPaymentStatus.DONE:\n          this.stopPaymentStatusInterval();\n          break;\n        case SpsPaymentStatus.WAITING_FOR_PAYMENT:\n        default:\n          break;\n      }\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'ship - PaymentService', 'checkPaymentStatus - postPaymentStatus');\n      this.stopPaymentStatusInterval();\n      vm.handleError(e);\n    }\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.payment));\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const payment = this.sessionService.get(this.sessionStorageKey);\n\n    if (!payment) return;\n\n    const data = JSON.parse(payment);\n\n    this.payment.mapJSONData(data);\n  }\n}\n","import { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport CompanyInfoModel, { CompanyInfoModelValidators } from '../Models/CompanyInfoModel';\nimport FormDataService from './FormDataService';\nimport SpsService from './SpsService';\nimport SessionService from '../../../../../services/SessionService';\nimport PersonalInfoModel, { PersonalInfoModelValidators } from '../Models/PersonalInfoModel';\nimport ValidationService from './ValidationService';\nimport { AddressModelValidators } from '../Models/AddressModel';\nimport ApiService from '../../../../../services/ApiService';\nimport { SelectOption } from '../../../../../components/form/Select/Select';\nimport {\n  Sps_WebApi_Models_Responses_CodebookGuidItemResponse,\n  Sps_WebApi_Models_Responses_CompanyResponse,\n  Sps_WebApi_Models_Responses_PersonLoadResponse,\n  Sps_WebApi_Models_Responses_RelationCompanyResponse,\n  Sps_WebApi_Models_Responses_RelationPersonResponse,\n} from '../../../../../data/sps/api';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\n\n@Service()\nexport default class PersonService extends SpsService {\n  @observable person = new PersonalInfoModel();\n  @observable company = new CompanyInfoModel();\n  @observable citizenships: Sps_WebApi_Models_Responses_CodebookGuidItemResponse[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n  private fetchedPerson = false;\n\n  @computed\n  get personType() {\n    return this.formDataService.formData.personType;\n  }\n\n  @computed\n  get getEntityContactString() {\n    return this.personType === 'FO'\n      ? JSON.stringify(this.person.contactAddress)\n      : JSON.stringify(this.company.officeAddress);\n  }\n\n  @computed\n  get getEntityDeliveryAddress() {\n    if (this.personType === 'FO' && this.person.wantDeliveryAddress) {\n      return JSON.stringify(this.person.deliveryAddress);\n    } else if (this.personType === 'PO' && this.company.wantDeliveryAddress) {\n      return JSON.stringify(this.company.deliveryAddress);\n    } else {\n      return undefined;\n    }\n  }\n\n  @computed\n  get getPersonString() {\n    return this.personType === 'FO' ? this.person.requestPersonString : undefined;\n  }\n\n  @computed\n  get getCompanyString() {\n    return this.personType === 'PO' ? this.company.requestCompanyString : undefined;\n  }\n\n  @computed\n  get citizenshipsOptions() {\n    const options: SelectOption<string>[] = [];\n\n    this.citizenships.forEach((option) => {\n      if (option.description && option.id) {\n        options.push({\n          key: option.id,\n          label: option.description,\n          value: option.id,\n        });\n      }\n    });\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('person-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    if (this.personType === 'FO') {\n      this.validation.attachDescriptor(this.person, PersonalInfoModelValidators);\n      this.validation.attachDescriptor(this.person.contactAddress, AddressModelValidators);\n    } else if (this.personType === 'PO') {\n      this.validation.attachDescriptor(this.company, CompanyInfoModelValidators);\n      this.validation.attachDescriptor(this.company.officeAddress, AddressModelValidators);\n    }\n\n    this.updateDeliveryAddressValidation();\n\n    this.dispose.push(\n      reaction(\n        () => this.person.wantDeliveryAddress,\n        () => this.updateDeliveryAddressValidation()\n      ),\n      reaction(\n        () => this.company.wantDeliveryAddress,\n        () => this.updateDeliveryAddressValidation()\n      )\n    );\n\n    // change citizenship when citizenshipID select changed\n    this.dispose.push(\n      reaction(\n        () => this.person.citizenshipId,\n        () => this.updatePersonCitizenship()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.person = new PersonalInfoModel();\n    this.citizenships = [];\n    this.company = new CompanyInfoModel();\n    this.removeFromSessionStorage();\n    this.fetchedPerson = false;\n  }\n\n  validate() {\n    const validations: boolean[] = [];\n\n    if (this.personType === 'FO') {\n      validations.push(this.validation.validateObject(this.person));\n      validations.push(this.validation.validateObject(this.person.contactAddress));\n      if (this.person.wantDeliveryAddress)\n        validations.push(this.validation.validateObject(this.person.deliveryAddress));\n    } else if (this.personType === 'PO') {\n      validations.push(this.validation.validateObject(this.company));\n      validations.push(this.validation.validateObject(this.company.officeAddress));\n      if (this.company.wantDeliveryAddress)\n        validations.push(this.validation.validateObject(this.company.deliveryAddress));\n    }\n\n    if (validations.every((v) => v === true)) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  async postPerson() {\n    let response:\n      | Sps_WebApi_Models_Responses_RelationPersonResponse\n      | Sps_WebApi_Models_Responses_RelationCompanyResponse;\n\n    if (this.formDataService.formData.personType === MandatePersonType.FO) {\n      response = await this.apiService.spsApi.relations.postPdApiSps2V2RelationsServicesPersons(\n        this.formDataService.formData.serviceId\n      );\n    } else {\n      response = await this.apiService.spsApi.relations.postPdApiSps2V2RelationsServicesCompanies(\n        this.formDataService.formData.serviceId\n      );\n    }\n\n    runInAction(() => {\n      this.formDataService.updateFormData(response);\n    });\n\n    this.formDataService.saveToSessionStorage();\n  }\n\n  async getPerson() {\n    if (this.fetchedPerson) return;\n\n    let response:\n      | Sps_WebApi_Models_Responses_PersonLoadResponse\n      | Sps_WebApi_Models_Responses_CompanyResponse;\n\n    if (this.formDataService.formData.personType === MandatePersonType.FO) {\n      response = await this.apiService.spsApi.identities.getPdApiSps2V2Persons(\n        this.formDataService.formData.relationId\n      );\n    } else {\n      response = await this.apiService.spsApi.identities.getPdApiSps2V2Companies(\n        this.formDataService.formData.relationId\n      );\n    }\n\n    runInAction(() => {\n      if ('person' in response) {\n        this.person.mapData(response.person);\n        if (response.contactAddress) this.person.contactAddress.mapData(response.contactAddress);\n        if (response.deliveryAddress) this.person.deliveryAddress.mapData(response.deliveryAddress);\n        this.updatePersonCitizenship();\n      }\n\n      if ('company' in response) {\n        this.company.mapData(response.company);\n        if (response.officeAddress) this.company.officeAddress.mapData(response.officeAddress);\n      }\n\n      this.fetchedPerson = true;\n    });\n  }\n\n  async getCitizenships() {\n    if (this.citizenshipsOptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2Citizenships(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (response.states) this.citizenships = response.states;\n      this.updatePersonCitizenship();\n    });\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const personData = this.sessionService.get(this.sessionStorageKey);\n\n    if (!personData) return;\n\n    const data = JSON.parse(personData);\n\n    if (this.personType === 'FO') {\n      this.person.mapJSONData(data);\n    } else {\n      this.company.mapJSONData(data);\n    }\n  }\n\n  saveToSessionStorage() {\n    if (this.personType === 'FO') {\n      this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.person));\n    } else {\n      this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.company));\n    }\n  }\n\n  private updateDeliveryAddressValidation() {\n    if (this.personType === 'FO') {\n      if (this.person.wantDeliveryAddress) {\n        this.validation.attachDescriptor(this.person.deliveryAddress, AddressModelValidators);\n      } else {\n        this.validation.detachDescriptor(this.person.deliveryAddress);\n      }\n    } else if (this.personType === 'PO') {\n      if (this.company.wantDeliveryAddress) {\n        this.validation.attachDescriptor(this.company.deliveryAddress, AddressModelValidators);\n      } else {\n        this.validation.detachDescriptor(this.company.deliveryAddress);\n      }\n    }\n  }\n\n  @action.bound\n  private updatePersonCitizenship() {\n    const citizenshipOption = this.citizenshipsOptions.find(\n      (value) => value.value === this.person.citizenshipId\n    );\n\n    if (citizenshipOption === undefined) return;\n\n    this.person.citizenship = citizenshipOption.label ?? '';\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { SpsPickupIds } from '../../../../../enums/SpsPickupIds';\n\n@AddTranslationKey('applications.ship')\nexport default class PickupModel {\n  @observable pickupId: SpsPickupIds.PICKUP_POST | string = '';\n  @observable pickup = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<PickupModel>) {\n    this.pickupId = data.pickupId ?? this.pickupId;\n    this.pickup = data.pickup ?? this.pickup;\n  }\n}\n\nexport const PickupModelValidators: ValidationDescriptor<PickupModel, Validators> = {\n  pickupId: {\n    required: {\n      message: 'pickupId.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { action, computed, makeObservable, observable, runInAction, IReactionDisposer, reaction } from 'mobx';\nimport SpsService from './SpsService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport ApiService from '../../../../../services/ApiService';\nimport { RadioGroupOption } from '@form/RadioGroup/RadioGroup';\nimport { Sps_WebApi_Models_Responses_CodebookGuidItemResponse } from 'src/data/sps/api';\nimport PickupModel, { PickupModelValidators } from '../Models/PickupModel';\n\n@Service()\nexport default class PickupDocumentsService extends SpsService {\n  @observable methods: Sps_WebApi_Models_Responses_CodebookGuidItemResponse[] = [];\n  @observable selectedPickup = new PickupModel();\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get pickupOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.methods.forEach((option) => {\n      if (option.description && option.id) {\n        options.push({\n          id: option.id.toString(),\n          label: option.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('pickup-documents-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n    this.validation.attachDescriptor(this.selectedPickup, PickupModelValidators);\n\n    // change branch when ID changed\n    this.dispose.push(\n      reaction(\n        () => this.selectedPickup.pickupId,\n        () => this.updatePickup()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.selectedPickup = new PickupModel();\n    this.methods = [];\n    this.removeFromSessionStorage();\n  }\n\n  async getPickupDocuments() {\n    if (this.pickupOptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2BoatDocumentsPickup(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (!response.methods) return;\n\n      this.methods = response.methods;\n\n      if (!this.selectedPickup.pickupId && this.pickupOptions.length > 0)\n        this.selectedPickup.pickupId = this.pickupOptions[0].id;\n    });\n  }\n\n  validate() {\n    return this.validation.validateObject(this.selectedPickup);\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const pickup = this.sessionService.get(this.sessionStorageKey);\n\n    if (!pickup) return;\n\n    const data = JSON.parse(pickup);\n\n    this.selectedPickup.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.selectedPickup));\n  }\n\n  @action.bound\n  private updatePickup() {\n    const pickupOption = this.pickupOptions.find((option) => option.id === this.selectedPickup.pickupId);\n\n    if (pickupOption === undefined) return;\n\n    this.selectedPickup.pickup = pickupOption.label;\n  }\n}\n","import { action, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\n\n@AddTranslationKey('applications.ship')\nexport default class ReasonModel {\n  @observable reasonId = '';\n  @observable reason = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  mapJSONData(data: Partial<ReasonModel>) {\n    this.reasonId = data.reasonId ?? '';\n    this.reason = data.reason ?? '';\n  }\n}\n\nexport const ReasonModelValidators: ValidationDescriptor<ReasonModel, Validators> = {\n  reasonId: {\n    required: {\n      message: 'reasonId.required',\n    },\n  },\n};\n","import { Inject, Service } from 'typedi';\nimport SpsService from './SpsService';\nimport FormDataService from './FormDataService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\nimport { IReactionDisposer, action, computed, makeObservable, observable, reaction, runInAction } from 'mobx';\nimport ReasonModel, { ReasonModelValidators } from '../Models/ReasonModel';\nimport ApiService from '../../../../../services/ApiService';\nimport { Sps_WebApi_Models_Responses_CodebookGuidItemResponse } from '../../../../../data/sps/api';\nimport { RadioGroupOption } from '../../../../../components/form/RadioGroup/RadioGroup';\n\n@Service()\nexport default class ReasonService extends SpsService {\n  @observable selectedReason = new ReasonModel();\n  @observable reasons: Sps_WebApi_Models_Responses_CodebookGuidItemResponse[] = [];\n  @observable descriptions: Sps_WebApi_Models_Responses_CodebookGuidItemResponse[] = [];\n\n  private dispose: IReactionDisposer[] = [];\n\n  @computed\n  get reasonOptions() {\n    const options: RadioGroupOption[] = [];\n\n    this.reasons.forEach((reason) => {\n      if (reason.id && reason.description) {\n        options.push({\n          id: reason.id,\n          label: reason.description,\n        });\n      }\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService,\n    @Inject() protected apiService: ApiService\n  ) {\n    super('reason-service');\n    makeObservable(this);\n  }\n\n  init() {\n    this.loadFromSessionStorage();\n\n    this.validation.attachDescriptor(this.selectedReason, ReasonModelValidators);\n\n    // change branch when ID changed\n    this.dispose.push(\n      reaction(\n        () => this.selectedReason.reasonId,\n        () => this.updateReason()\n      )\n    );\n  }\n\n  reset() {\n    this.dispose.forEach((d) => d());\n    this.dispose = [];\n\n    this.selectedReason = new ReasonModel();\n    this.removeFromSessionStorage();\n    this.reasons = [];\n    this.descriptions = [];\n  }\n\n  async getReasons(licenceId?: string) {\n    if (this.reasons.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2RequestReasons(\n      this.formDataService.formData.relationId,\n      licenceId\n    );\n\n    runInAction(() => {\n      if (!response.reasons) return;\n\n      this.reasons = response.reasons;\n\n      if (!this.selectedReason.reasonId && this.reasonOptions.length > 0) this.selectedReason.reasonId = this.reasonOptions[0].id;\n    });\n  }\n\n  async getAdditionalDescriptions() {\n    if (this.descriptions.length > 0) return;\n\n    const response = await this.apiService.spsApi.codebooks.getPdApiSps2V2AdditionalDescriptions(\n      this.formDataService.formData.relationId\n    );\n\n    runInAction(() => {\n      if (response.descriptions) this.descriptions = response.descriptions;\n    });\n  }\n\n  validate() {\n    return this.validation.validateObject(this.selectedReason);\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const reason = this.sessionService.get(this.sessionStorageKey);\n\n    if (!reason) return;\n\n    const data = JSON.parse(reason);\n\n    this.selectedReason.mapJSONData(data);\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, JSON.stringify(this.selectedReason));\n  }\n\n  @action.bound\n  private updateReason() {\n    const reasonOption = this.reasonOptions.find((option) => option.id === this.selectedReason.reasonId);\n\n    if (reasonOption === undefined) return;\n\n    this.selectedReason.reason = reasonOption.label;\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport ValidationService from './ValidationService';\nimport { Domain_Contracts_Enums_SpsServiceId } from '../../../../../data/sps/api';\nimport PaymentService from './PaymentService';\n\n@Service()\nexport default abstract class SpsApplicationService {\n  protected abstract serviceId: Domain_Contracts_Enums_SpsServiceId;\n  protected abstract initialized: boolean;\n\n  public abstract paymentService: PaymentService;\n  public hasAttachmentToDownload: boolean = true;\n  public zeroPayment: boolean = false;\n\n  constructor(@Inject() public validationService: ValidationService) {}\n\n  abstract init(...args: any[]): void;\n  abstract reset(): void;\n}\n","import FormDataService from './FormDataService';\nimport SessionService from '../../../../../services/SessionService';\nimport { Inject, Service } from 'typedi';\nimport ValidationService from './ValidationService';\n\n@Service()\nexport default abstract class SpsService {\n  protected abstract formDataService: FormDataService;\n  protected abstract sessionService: SessionService;\n  protected abstract validationService: ValidationService;\n\n  get validation() {\n    return this.validationService.validation;\n  }\n\n  constructor(protected sessionStorageKey: string) {}\n\n  abstract init(...args: any[]): void;\n  abstract reset(): void;\n\n  abstract validate(): boolean;\n\n  abstract saveToSessionStorage(): void;\n  protected abstract loadFromSessionStorage(): void;\n  protected removeFromSessionStorage() {\n    this.sessionService.remove(this.sessionStorageKey);\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport FormDataService from './FormDataService';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Step } from '../Application/Steps';\nimport SpsService from './SpsService';\nimport SessionService from '../../../../../services/SessionService';\nimport ValidationService from './ValidationService';\n\n@Service()\nexport default class StepsService extends SpsService {\n  @observable steps: Step[] = [];\n  @observable activeStep: number = 0;\n\n  @computed\n  get lastStep() {\n    return this.findMaxStep(this.steps);\n  }\n\n  constructor(\n    @Inject() protected formDataService: FormDataService,\n    @Inject() protected sessionService: SessionService,\n    @Inject() protected validationService: ValidationService\n  ) {\n    super('steps-service');\n    makeObservable(this);\n  }\n\n  init(steps: Step[]) {\n    this.steps = steps;\n    this.loadFromSessionStorage();\n  }\n\n  reset() {\n    this.activeStep = 0;\n    this.steps = [];\n    this.removeFromSessionStorage();\n  }\n\n  @action.bound\n  changeStep(stepNumber: number) {\n    this.activeStep = stepNumber;\n    this.saveToSessionStorage();\n  }\n\n  private findMaxStep(steps: Step[]) {\n    let maxStep = 0;\n    for (const step of steps) {\n      if (step.stepNumber > maxStep) maxStep = step.stepNumber;\n    }\n    return maxStep;\n  }\n\n  @action.bound\n  protected loadFromSessionStorage() {\n    const value = this.sessionService.get(this.sessionStorageKey);\n\n    if (value && !isNaN(parseInt(value))) {\n      this.activeStep = parseInt(value);\n    }\n  }\n\n  saveToSessionStorage() {\n    this.sessionService.set(this.sessionStorageKey, this.activeStep.toString());\n  }\n\n  validate() {\n    return true;\n  }\n}\n","import { Service } from 'typedi';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport { makeObservable, observable } from 'mobx';\n\n@Service()\nexport default class ValidationService {\n  @observable validation = new ValidationContext();\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  init() {}\n\n  reset() {\n    this.validation = new ValidationContext();\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../components/layout/Container';\nimport MarkdownContent from '../../../../../components/form/MarkdownContent';\nimport Button from '../../../../../components/shared/Button/Button';\nimport type ShipInfoViewModel from '../../ExtensionValidityCertificate/StepsValidity/ShipInfo/ShipInfoViewModel';\nimport type BoatSelectionViewModel from '../../ChangesCertificate/Steps/BoatSelection/BoatSelectionViewModel';\n\nconst ShipErrorView: View<ShipInfoViewModel | BoatSelectionViewModel> = observer(({ vm }) => {\n  const { navShipHome, error, generalTranslate } = vm;\n\n  return (\n    <Container>\n      <div className=\"gov-alert gov-alert--error\">\n        <div className=\"gov-alert__content\">\n          <MarkdownContent\n            content={\n              error\n                ? error.message\n                : generalTranslate('error-info').replace('{link}', 'mailto:elektronicke-podani@sps.gov.cz')\n            }\n          />\n        </div>\n      </div>\n      <div className=\"d-flex justify-content-center mt-5\">\n        <Button\n          testId=\"ship-error-back-to-applications\"\n          onClick={() => navShipHome()}\n          text={generalTranslate('back-to-applications')}\n        />\n      </div>\n    </Container>\n  );\n});\nexport default ShipErrorView;\n","import { observer } from 'mobx-react-lite';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport useOnChange from '@cendis/cedr-framework/dist/hooks/useOnChange';\nimport isError from '../../../../components/form/isError';\nimport type { BaseFormControlProps } from '../../../../components/form/types';\nimport { useScreenContext } from '../../../../components/ScreenContext';\nimport type { SelectOption } from '../../../../components/form/Select/Select';\n\nexport type SelectProps<TModel extends object, TValue, TModelTranslation> = BaseFormControlProps<\n  TModel,\n  TValue,\n  TModelTranslation\n> & {\n  options: SelectOption<TValue>[];\n};\n\nconst EngineTableSelect = observer(function <TModel extends object, TValue, TModelTranslation = object>({\n  options,\n  target,\n  property,\n  disabled,\n  id = property,\n  className,\n}: SelectProps<TModel, TValue, TModelTranslation>) {\n  const { validation } = useScreenContext();\n  if (!validation) throw Error('Select component requires validation passed through a ScreenContext provider.');\n\n  const value = target[property];\n  const onChange = useOnChange(\n    target,\n    property,\n    validation,\n    (evt) => options[(evt.target as HTMLSelectElement).selectedIndex].value\n  );\n\n  const wrapper = getClassName(isError(target, property, validation), className);\n  return (\n    <div className={wrapper}>\n      <select\n        id={id}\n        disabled={disabled || !options.length}\n        onChange={onChange}\n        value={options.find((x) => x.value === value)?.key}\n        aria-disabled=\"false\"\n      >\n        {options.map(({ key, label }) => (\n          <option value={key} key={key}>\n            {label}\n          </option>\n        ))}\n      </select>\n    </div>\n  );\n});\n\nexport default EngineTableSelect;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ShipZipDownloadViewModel from './ShipZipDownloadViewModel';\nimport Container from '../../../../components/layout/Container';\nimport ShipIcon from '../../../../components/icons/ShipIcon';\nimport Button from '../../../../components/shared/Button/Button';\n\nconst ShipZipDownloadView: View<ShipZipDownloadViewModel> = observer(({ vm }) => {\n  const { translate, downloadZip, isLoading } = vm;\n  return (\n    <>\n      <Container className=\"view-ship\">\n        <h1>\n          <ShipIcon />\n          {translate('title')}\n        </h1>\n\n        <Button\n          testId=\"ship-zip-download\"\n          disabled={isLoading}\n          onClick={downloadZip}\n          text={translate('zip-button')}\n        />\n      </Container>\n    </>\n  );\n});\n\nexport default ShipZipDownloadView;\n","import AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport ShipZipDownloadView from './ShipZipDownloadView';\nimport { AllowAnonymous } from '../../../security';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport type { BreadcrumbControl } from '../../../breadcrumbs/types';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport type ShipRequestEntity from '../../../../data/entities/ship/person/ShipRequestEntity';\nimport ShipDownloadService from '../../../../services/ship/ShipDownloadService';\nimport ApiService from '../../../../services/ApiService';\nimport { Domain_Contracts_Enums_SpsServiceId } from '../../../../data/sps/api';\nimport ZIPApplicationEntity from '../../../../data/entities/ship/documents/ZIPApplicationEntity';\n\n@AllowAnonymous()\n@AddDefaultView(ShipZipDownloadView)\n@Service()\nexport default class ShipZipDownloadViewModel extends BaseScreen {\n  shipRequest: ShipRequestEntity | undefined = undefined;\n  shipServiceId?: Domain_Contracts_Enums_SpsServiceId = undefined;\n  @observable zip: string | undefined;\n  @observable isLoading = false;\n\n  get pathNode(): string {\n    return 'zip';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private apiService: ApiService,\n    @Inject() private shipDownloadService: ShipDownloadService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async activate() {\n    const params = parseQueryParams(window.location.search);\n\n    this.shipRequest = {\n      requestId: params.requestId,\n      relationId: params.relationId,\n      serviceId: +params.serviceId,\n    };\n    this.shipServiceId = params.serviceId as keyof Domain_Contracts_Enums_SpsServiceId as Domain_Contracts_Enums_SpsServiceId;\n\n    await this.getZip();\n  }\n\n  @action.bound\n  async downloadZip() {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    await this.getZip();\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  @action.bound\n  async getZip() {\n    // zde se musi pouzivat vsechny parametry protoze uz v redisu nejsou\n    if (this.shipRequest) {\n      const response = await this.apiService.spsApi.file.getPdApiSps2V2File(\n        'zip',\n        this.shipRequest.relationId,\n        this.shipRequest.requestId,\n        this.shipServiceId\n      );\n\n      const zip = ZIPApplicationEntity.mapV2Data(response);\n\n      runInAction(() => {\n        this.zip = zip.data;\n        this.shipDownloadService.download(this.zip, true);\n      });\n    }\n  }\n\n  translate = translate('ship.download', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ShipPdfDownloadViewModel from './ShipPdfDownloadViewModel';\nimport Container from '../../../../components/layout/Container';\nimport ShipIcon from '../../../../components/icons/ShipIcon';\nimport Button from '../../../../components/shared/Button/Button';\n\nconst ShipPdfDownloadView: View<ShipPdfDownloadViewModel> = observer(({ vm }) => {\n  const { translate, downloadPdf, isLoading } = vm;\n  return (\n    <>\n      <Container className=\"view-ship\">\n        <h1>\n          <ShipIcon />\n          {translate('title')}\n        </h1>\n\n        <Button\n          testId=\"ship-pdf-download\"\n          disabled={isLoading}\n          onClick={downloadPdf}\n          text={translate('pdf-button')}\n        />\n      </Container>\n    </>\n  );\n});\n\nexport default ShipPdfDownloadView;\n","import AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport ShipPdfDownloadView from './ShipPdfDownloadView';\nimport { AllowAnonymous } from '../../../security';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport type { BreadcrumbControl } from '../../../breadcrumbs/types';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport type ShipRequestEntity from '../../../../data/entities/ship/person/ShipRequestEntity';\nimport ShipDownloadService from '../../../../services/ship/ShipDownloadService';\nimport { Domain_Contracts_Enums_SpsServiceId } from '../../../../data/sps/api';\nimport PDFApplicationEntity from '../../../../data/entities/ship/documents/PDFApplicationEntity';\nimport ApiService from '../../../../services/ApiService';\n\n@AllowAnonymous()\n@AddDefaultView(ShipPdfDownloadView)\n@Service()\nexport default class ShipPdfDownloadViewModel extends BaseScreen {\n  shipRequest: ShipRequestEntity | undefined = undefined;\n  shipServiceId?: Domain_Contracts_Enums_SpsServiceId = undefined;\n  @observable pdf: string | undefined;\n  @observable isLoading = false;\n\n  get pathNode(): string {\n    return 'pdf';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private shipDownloadService: ShipDownloadService,\n    @Inject() private apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async activate() {\n    const params = parseQueryParams(window.location.search);\n\n    this.shipRequest = {\n      requestId: params.requestId,\n      relationId: params.relationId,\n      serviceId: +params.serviceId,\n    };\n    this.shipServiceId = params.serviceId as keyof Domain_Contracts_Enums_SpsServiceId as Domain_Contracts_Enums_SpsServiceId;\n    await this.getPdf();\n  }\n\n  @action.bound\n  async downloadPdf() {\n    runInAction(() => {\n      this.isLoading = true;\n    });\n    await this.getPdf();\n    runInAction(() => {\n      this.isLoading = false;\n    });\n  }\n\n  @action.bound\n  async getPdf() {\n    // zde se musi pouzivat vsechny parametry protoze uz v redisu nejsou\n    if (this.shipRequest) {\n      const response = await this.apiService.spsApi.file.getPdApiSps2V2File(\n        'pdf',\n        this.shipRequest.relationId,\n        this.shipRequest.requestId,\n        this.shipServiceId\n      );\n\n      const pdf = PDFApplicationEntity.mapV2Data(response);\n\n      runInAction(() => {\n        this.pdf = pdf.data;\n        this.shipDownloadService.download(this.pdf);\n      });\n    }\n  }\n\n  translate = translate('ship.download', this);\n}\n","import { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport { makeObservable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { AllowAnonymous } from '../../security';\nimport type { BreadcrumbControl } from '../../breadcrumbs/types';\nimport ShipZipDownloadViewModel from './zip/ShipZipDownloadViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ShipPdfDownloadViewModel from './pdf/ShipPdfDownloadViewModel';\n\n@AllowAnonymous()\n@AddChildrenView()\n@Service()\nexport default class ShipDownloadViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'download';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideOnPage: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public zipViewModel: ShipZipDownloadViewModel,\n    @Inject() public pdfViewModel: ShipPdfDownloadViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(zipViewModel);\n    this.children.push(pdfViewModel);\n  }\n\n  translate = translate('ship.download', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport type UserViewModel from './UserViewModel';\nimport './UserView.scss';\n\nconst UserView: View<UserViewModel> = observer(({ vm }) => {\n  const { auth } = vm;\n\n  const name = auth?.fullName;\n  return (\n    <>\n      <div className=\"gov-container user-view\">\n        <div className=\"gov-container__content\">\n          <h1>\n            <div className=\"d-flex align-items-center pb-4\">\n              <div>{name}</div>\n            </div>\n          </h1>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default UserView;\n","import React from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport type UserViewModel from './UserViewModel';\nimport LoaderBox from '../../components/layout/LoaderBox';\n\nconst UserViewLoading: View<UserViewModel> = observer(({ vm }) => {\n  return (\n    <div className=\"gov-container user-view\">\n      <div className=\"gov-container__content\">\n        <h1>\n          <div className=\"d-flex align-items-center pb-5\">\n            <LoaderBox type=\"line-h\" />\n          </div>\n        </h1>\n        <LoaderBox type=\"middle-full\" />\n      </div>\n    </div>\n  );\n});\n\nexport default UserViewLoading;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport UserView from './UserView';\nimport { observable, runInAction } from 'mobx';\nimport AuthTokenEntity from '../../data/entities/auth/AuthTokenEntity';\nimport AuthService from '../../services/AuthService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport UserViewLoading from './UserViewLoading';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\n\n@AddDefaultView(UserView)\n@AddBusyView(UserViewLoading)\n@Service()\nexport default class UserViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable auth?: AuthTokenEntity;\n  @observable errMessage?: string = undefined;\n\n  get pathNode(): string {\n    return 'user';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public authService: AuthService\n  ) {\n    super();\n  }\n\n  @Watch<UserViewModel>((s) => s.busyWatcher)\n  async activate() {\n    const auth = this.authService.getAuth();\n    const params = parseQueryParams(window.location.search);\n    const { error } = params;\n\n    runInAction(() => {\n      this.auth = auth;\n      if (error) {\n        this.errMessage = this.getTranslateErr(error);\n      } else {\n        this.errMessage = undefined;\n      }\n    });\n  }\n\n  getTranslateErr(errKey: string) {\n    let err = '';\n    switch (errKey) {\n      case 'DIFFERENT_OWNER':\n        err = this.translate('connect_error_different_owner');\n        break;\n      case 'FO_ALREADY_CONNECTED':\n        err = this.translate('connect_error_already_connected');\n        break;\n      case 'WRONG_DATABOX_TYPE':\n        err = this.translate('connect_error_wrong_type');\n        break;\n      case 'EXT_APP_ERROR':\n        err = this.translate('connect_error_ext_app');\n        break;\n      case 'UNKNOWN_ERROR':\n      default:\n        err = this.translate('connect_error_unknown');\n        break;\n    }\n    return err;\n  }\n\n  translate = translate('user', this);\n}\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type VehicleViewModel from './VehicleViewModel';\nimport { observer } from 'mobx-react-lite';\nimport CardLink from '../../components/navigation/CardLink';\nimport CardLinkExt from '../../components/navigation/CardLinkExt';\nimport VehicleIcon from '../../components/icons/VehicleIcon';\nimport ConditionalView from '@components/gov4/ConditionalView';\n\nconst VehicleView: View<VehicleViewModel> = observer(({ vm }) => {\n  const { translate, navVehicle, navApplicationList } = vm;\n  return (\n    <>\n      <div className=\"gov-container view-vehicle\">\n        <div className=\"gov-container__content\">\n          <h1>\n            <VehicleIcon />\n            {translate('title')}\n          </h1>\n          <div className=\"row gx-0 mt-2\">\n            <div className=\"col-md\">\n              <CardLink\n                name={translate('register.title')}\n                text={translate('register.description')}\n                link={navVehicle}\n                className=\"test-nav-register\"\n                testId=\"nav-register\"\n              />\n            </div>\n            <div className=\"col-md\">\n              <CardLinkExt\n                name={translate('data.title')}\n                text={translate('data.description')}\n                link={translate('data.link')}\n                className=\"test-nav-data\"\n                testId=\"nav-data\"\n              />\n            </div>\n            <div className=\"col-md\">\n              <CardLinkExt\n                name={translate('edaz.title')}\n                text={translate('edaz.description')}\n                link={translate('edaz.link')}\n                className=\"test-nav-edaz\"\n                testId=\"nav-edaz\"\n              />\n            </div>\n            <div className=\"col-md\">\n              <CardLinkExt\n                name={translate('tacho.title')}\n                text={translate('tacho.description')}\n                link={translate('tacho.link')}\n                className=\"test-nav-tacho\"\n                testId=\"nav-tacho\"\n              />\n            </div>\n          </div>\n          <div className=\"row gx-0 mt-0\">\n            <ConditionalView required={(x) => x.RSV_SUBMITTED_APPLICATIONS}>\n              <div className=\"col-md-3\">\n                <CardLink\n                  name={translate('applicationList.title')}\n                  text={translate('applicationList.description')}\n                  link={navApplicationList}\n                  testId=\"nav-application-list\"\n                />\n              </div>\n            </ConditionalView>\n          </div>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default VehicleView;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport VehicleView from './VehicleView';\nimport { Inject, Service } from 'typedi';\nimport { computed, makeObservable, runInAction, when } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport RegisterViewModel from './register/RegisterViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport './VehicleView.scss';\nimport ApplicationListViewModel from './applicationsList/ApplicationListViewModel';\nimport RsvRequestsService from './applicationsDigi/Shared/services/RsvRequestsService';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport ErrorService from 'src/services/ErrorService';\n\n@AddDefaultView(VehicleView)\n@AddChildrenView()\n@Service()\nexport default class VehicleViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'vehicle';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public registerViewModel: RegisterViewModel,\n    @Inject() public applicationListViewModel: ApplicationListViewModel,\n    @Inject() public authorizationService: AuthorizationService,\n    @Inject() private rsvRequestsService: RsvRequestsService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(registerViewModel);\n    this.children.push(applicationListViewModel);\n  }\n\n  activate() {\n    this.rsvRequestsService.init();\n\n    when(\n      () => this.authorizationService.initialized,\n      () => {\n        if (!this.authorizationService.conditions.RSV) {\n          runInAction(() => {\n            this.errorService.error = {\n              status: 403,\n              body: {\n                title: 'ACCESS_DENIED',\n                requestId: 'VEHICLES:NOT_ALLOWED_SECTION',\n              },\n            };\n          });\n        }\n      }\n    );\n  }\n\n  deactivate() {\n    this.rsvRequestsService.reset();\n  }\n\n  @computed get navVehicle() {\n    return this.navigator(RegisterViewModel);\n  }\n\n  @computed get navApplicationList() {\n    return this.navigator(ApplicationListViewModel);\n  }\n\n  translate = translate('vehicle', this);\n}\n","import { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport NewSellerOwnerOrOperatorChangedViewModel from './01_new/NewSellerOwnerOrOperatorChangedViewModel';\nimport VehicleDetailViewModel from '../../../register/vehicleDetail/VehicleDetailViewModel';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport SummarySellerOwnerOrOperatorChangedViewModel from './02_summary/SummarySellerOwnerOrOperatorChangedViewModel';\nimport IntroOwnerOrOperatorChangedViewModel from './00_intro/IntroOwnerOrOperatorChangedViewModel';\nimport SummarySellerOwnerOrOperatorChangedConfirmedViewModel from './03_confirmed/SummarySellerOwnerOrOperatorChangedConfirmedViewModel';\nimport { makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SellerApplicationService from './SellerApplicationService';\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class AbstractSellerOwnerOrOperatorChangedViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'seller';\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private applicationService: SellerApplicationService,\n    @Inject() public localization: LocalizationService,\n    @Inject()\n    private newSellerOwnerOrOperatorChangedViewModel: NewSellerOwnerOrOperatorChangedViewModel,\n    @Inject()\n    private summarySellerOwnerOrOperatorChangedViewModel: SummarySellerOwnerOrOperatorChangedViewModel,\n    @Inject()\n    private introOwnerOrOperatorChangedViewModel: IntroOwnerOrOperatorChangedViewModel,\n    @Inject()\n    private summarySellerOwnerOrOperatorChangedConfirmedViewModel: SummarySellerOwnerOrOperatorChangedConfirmedViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introOwnerOrOperatorChangedViewModel);\n    this.children.push(newSellerOwnerOrOperatorChangedViewModel);\n    this.children.push(summarySellerOwnerOrOperatorChangedViewModel);\n    this.children.push(summarySellerOwnerOrOperatorChangedConfirmedViewModel);\n  }\n\n  async activate() {\n    if (this.vehicleRegisterService.isUserOwner === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  translate = translate('vehicle-register.applications.digi-owner-or-operator-changed', this);\n}\n","import { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport VehicleDetailViewModel from '../../register/vehicleDetail/VehicleDetailViewModel';\nimport AbstractSellerOwnerOrOperatorChangedViewModel from './seller/AbstractSellerOwnerOrOperatorChangedViewModel';\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class AbstractOwnerOrOperatorChangedViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'owner-or-operator-changed';\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private abstractSellerOwnerOrOperatorChangedViewModel: AbstractSellerOwnerOrOperatorChangedViewModel\n  ) {\n    super();\n    this.children.push(abstractSellerOwnerOrOperatorChangedViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { makeObservable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport VehicleDetailViewModel from '../../register/vehicleDetail/VehicleDetailViewModel';\nimport IntroLicencePlateLossViewModel from './00_intro/IntroLicencePlateLossViewModel';\nimport LicencePlateLossFormViewModel from './01_form/LicencePlateLossFormViewModel';\nimport SummaryLicencePlateLossViewModel from './02_summary/SummaryLicencePlateLossViewModel';\nimport SummaryLicencePlateLossViewConfirmedViewModel from './03_confirmation/LicencePlateLossViewConfirmedViewModel';\nimport ApplicationService from './ApplicationService';\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class LicencePlateLossViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'licence-plate-loss';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private introLicencePlateLossViewModel: IntroLicencePlateLossViewModel,\n    @Inject() private licencePlateLossFormViewModel: LicencePlateLossFormViewModel,\n    @Inject() private summaryLicencePlateLossViewModel: SummaryLicencePlateLossViewModel,\n    @Inject()\n    private summaryLicencePlateLossViewConfirmedViewModel: SummaryLicencePlateLossViewConfirmedViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introLicencePlateLossViewModel);\n    this.children.push(licencePlateLossFormViewModel);\n    this.children.push(summaryLicencePlateLossViewModel);\n    this.children.push(summaryLicencePlateLossViewConfirmedViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  activate() {\n    if (this.vehicleRegisterService.isUserOwner === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { makeObservable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport VehicleDetailViewModel from '../../register/vehicleDetail/VehicleDetailViewModel';\nimport IntroNewTechnicalCertificateViewModel from './00_intro/IntroNewTechnicalCertificateViewModel';\nimport NewTechnicalCertificateFormViewModel from './01_form/NewTechnicalCertificateFormViewModel';\nimport SummaryNewTechnicalCertificateViewModel from './02_summary/SummaryNewTechnicalCertificateViewModel';\nimport NewTechnicalCertificateViewConfirmedViewModel from './03_confirmation/NewTechnicalCertificateViewConfirmedViewModel';\nimport ApplicationService from './ApplicationService';\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class NewTechnicalCertificateViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'new-technical-certificate';\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private introNewTechnicalCertificateViewModel: IntroNewTechnicalCertificateViewModel,\n    @Inject() private licencePlateLossFormViewModel: NewTechnicalCertificateFormViewModel,\n    @Inject() private summaryNewTechnicalCertificateViewModel: SummaryNewTechnicalCertificateViewModel,\n    @Inject() private newTechnicalCertificateViewConfirmedViewModel: NewTechnicalCertificateViewConfirmedViewModel,\n    @Inject() private applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introNewTechnicalCertificateViewModel);\n    this.children.push(licencePlateLossFormViewModel);\n    this.children.push(summaryNewTechnicalCertificateViewModel);\n    this.children.push(newTechnicalCertificateViewConfirmedViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  activate() {\n    if (this.vehicleRegisterService.isUserOwner === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { makeObservable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport VehicleDetailViewModel from '../../register/vehicleDetail/VehicleDetailViewModel';\nimport IntroRsvDataChangeViewModel from './00_intro/IntroRsvDataChangeViewModel';\nimport RsvDataChangeFormViewModel from './01_form/RsvDataChangeFormViewModel';\nimport SummaryRsvDataChangeViewModel from './02_summary/SummaryRsvDataChangeViewModel';\nimport RsvDataChangeViewConfirmedViewModel from './03_confirmation/RsvDataChangeViewConfirmedViewModel';\nimport ApplicationService from './ApplicationService';\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class RsvDataChangeViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'rsv-data-change';\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private introRsvDataChangeViewModel: IntroRsvDataChangeViewModel,\n    @Inject() private rsvDataChangeFormViewModel: RsvDataChangeFormViewModel,\n    @Inject() private summaryRsvDataChangeViewModel: SummaryRsvDataChangeViewModel,\n    @Inject() private rsvDataChangeViewConfirmedViewModel: RsvDataChangeViewConfirmedViewModel,\n    @Inject() private applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introRsvDataChangeViewModel);\n    this.children.push(rsvDataChangeFormViewModel);\n    this.children.push(summaryRsvDataChangeViewModel);\n    this.children.push(rsvDataChangeViewConfirmedViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  activate() {\n    if (this.vehicleRegisterService.isUserOwner === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { makeObservable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ExportPlateRequestFormViewModel from './01_form/ExportPlateRequestFormViewModel';\nimport IntroExportPlateRequestViewModel from './00_intro/IntroExportPlateRequestViewModel';\nimport ExportPlateRequestSummaryViewModel from './02_summary/ExportPlateRequestSummaryViewModel';\nimport ExportPlateRequestConfirmationViewModel from './03_confirmation/ExportPlateRequestConfirmationViewModel';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport VehicleDetailViewModel from '../../register/vehicleDetail/VehicleDetailViewModel';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport ApplicationService from './ApplicationService';\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class ExportPlateRequestViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'export-plate-request';\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public localization: LocalizationService,\n    @Inject()\n    private introExportPlateRequestViewModel: IntroExportPlateRequestViewModel,\n    @Inject()\n    private exportPlateRequestFormViewModel: ExportPlateRequestFormViewModel,\n    @Inject()\n    private exportPlateRequestSummaryViewModel: ExportPlateRequestSummaryViewModel,\n    @Inject()\n    private exportPlateRequestConfirmationViewModel: ExportPlateRequestConfirmationViewModel,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introExportPlateRequestViewModel);\n    this.children.push(exportPlateRequestFormViewModel);\n    this.children.push(exportPlateRequestSummaryViewModel);\n    this.children.push(exportPlateRequestConfirmationViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  async activate() {\n    if (this.vehicleRegisterService.isUserOwner === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n  translate = translate('vehicle-register.applications.exportPlateRequest', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport AbstractOwnerOrOperatorChangedViewModel from './OwnerOrOperatorChangedView/AbstractOwnerOrOperatorChangedViewModel';\nimport VehicleDetailViewModel from '../register/vehicleDetail/VehicleDetailViewModel';\nimport VehicleRegisterService from '../../../services/vehicle/VehicleRegisterService';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport DecommissioningViewModel from './DecommissioningView/DecommissioningViewModel';\nimport LicencePlateLossViewModel from './LicencePlateLossView/LicencePlateLossViewModel';\nimport NewTechnicalCertificateViewModel from './NewTechnicalCertificateView/NewTechnicalCertificateViewModel';\nimport RsvDataChangeViewModel from './RsvDataChangeView/RsvDataChangeViewModel';\nimport ExportPlateRequestViewModel from './ExportPlateRequest/ExportPlateRequestViewModel';\nimport NewLicencePlateViewModel from './NewLicencePlateView/NewLicencePlateViewModel';\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class AbstractApplicationViewModel extends BaseScreen {\n  get pathNode(): string {\n    return 'application';\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private abstractOwnerOrOperatorChangedViewModel: AbstractOwnerOrOperatorChangedViewModel,\n    @Inject() private decommissioningViewModel: DecommissioningViewModel,\n    @Inject() private licencePlateLossViewModel: LicencePlateLossViewModel,\n    @Inject() private newLicencePlateViewModel: NewLicencePlateViewModel,\n    @Inject() private newTechnicalCertificateViewModel: NewTechnicalCertificateViewModel,\n    @Inject() private rsvDataChangeViewModel: RsvDataChangeViewModel,\n    @Inject() private exportPlateRequestViewModel: ExportPlateRequestViewModel\n  ) {\n    super();\n    this.children.push(abstractOwnerOrOperatorChangedViewModel);\n    this.children.push(decommissioningViewModel);\n    this.children.push(newTechnicalCertificateViewModel);\n    this.children.push(licencePlateLossViewModel);\n    this.children.push(newLicencePlateViewModel);\n    this.children.push(rsvDataChangeViewModel);\n    this.children.push(exportPlateRequestViewModel);\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n  activate() {\n    if (this.vehicleRegisterService.hasRZS === false || this.vehicleRegisterService.hasVIN === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type IntroDecommissioningViewModel from './IntroDecommissioningViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport ApplicationInProgressModal from '../../../components/ApplicationInProgressModal';\n\nconst IntroDecommissioningView: View<IntroDecommissioningViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <Container className=\"rsv-intro\">\n      {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n\n      <Typography component=\"h1\" className=\"thin mb-4\" data-testid=\"title\">\n        {vm.title}\n      </Typography>\n\n      <Typography className=\"mb-4\" data-testid=\"info-3\">\n        {translate('intro.info-3')}\n      </Typography>\n      <Typography data-testid=\"info-0\">{translate('intro.info-0')}</Typography>\n      <Typography data-testid=\"info-1\">{translate('intro.info-1')}</Typography>\n      <Typography className=\"mb-4\" data-testid=\"info-2\">\n        {translate('intro.info-2')}\n      </Typography>\n\n      <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"header-1\">\n        {translate('intro.header-1')}\n      </Typography>\n\n      <Typography component=\"ol\" className=\"gov-list mb-4\">\n        <Typography component=\"li\" data-testid=\"info-1-sections.section-1\">\n          {translate('intro.info-1-sections.section-1')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-1-sections.section-2\">\n          {translate('intro.info-1-sections.section-2')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-1-sections.section-3\">\n          {translate('intro.info-1-sections.section-3')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-1-sections.section-4\">\n          {translate('intro.info-1-sections.section-4')}&nbsp;\n          <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n            {vm.translateTariffCharges('tariff-charges')}\n          </a>\n          .\n        </Typography>\n      </Typography>\n\n      <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"header-2\">\n        {translate('intro.header-2')}\n      </Typography>\n      <Typography component=\"ol\" className=\"gov-list mb-5\">\n        <Typography component=\"li\" data-testid=\"info-2-sections.section-2\">\n          {translate('intro.info-2-sections.section-2')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-2-sections.section-3\">\n          {translate('intro.info-2-sections.section-3')}\n        </Typography>\n      </Typography>\n\n      <Typography component=\"h2\" className=\"h4 mb-4\">\n        {translate('intro.what-to-expect')}\n      </Typography>\n      <Typography component=\"ol\" className=\"mb-5\">\n        <Typography component=\"li\" data-testid=\"intro.what-to-expect-info.section-1\">\n          {translate('intro.what-to-expect-info.section-1')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"intro.what-to-expect-info.section-2\">\n          {translate('intro.what-to-expect-info.section-2')}\n        </Typography>\n      </Typography>\n\n      {/* ACTION BUTTONS */}\n      <div className=\"d-flex justify-content-between mt-4\">\n        <Button\n          testId=\"decommissioning-intro-back\"\n          outlined\n          onClick={() => vm?.goToVehicle()}\n          text={translate('back').toUpperCase()}\n        />\n        <Button\n          testId=\"decommissioning-intro-fill-application\"\n          onClick={vm?.goToForm}\n          text={translate('fillApplication').toUpperCase()}\n        />\n      </div>\n    </Container>\n  );\n});\n\nexport default IntroDecommissioningView;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport IntroDecommissioningViewModel from './IntroDecommissioningViewModel';\n\nconst IntroDecommissioningViewLoading: View<IntroDecommissioningViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{vm.title}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default IntroDecommissioningViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport IntroDecommissioningView from './IntroDecommissioningView';\nimport { DecommissioningFormTypes } from '../DecommissioningViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport IntroDecommissioningViewLoading from './IntroDecommissioningViewLoading';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport ApplicationService from '../ApplicationService';\nimport DecommissioningFormViewModel from '../01_form/DecommissioningFormViewModel';\nimport AbstractApplicationViewModel from '../../AbstractApplicationViewModel';\nimport ApplicationListViewModel from '../../../applicationsList/ApplicationListViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(IntroDecommissioningView)\n@AddBusyView(IntroDecommissioningViewLoading)\nexport default class IntroDecommissioningViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable shouldDisplayApplicationInProgressModal: boolean = false;\n\n  get pathNode(): string {\n    return 'intro';\n  }\n\n  @computed\n  get title(): string {\n    switch (this.applicationService.formType) {\n      case DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO:\n        return this.translate('additionalInfo.title');\n      case DecommissioningFormTypes.TERMINATION:\n        return this.translate('discarded.title');\n      default:\n        return this.translate('title');\n    }\n  }\n\n  get formType(): DecommissioningFormTypes {\n    return this.applicationService.formType;\n  }\n\n  @action.bound\n  toggleApplicationInProgressModal() {\n    this.applicationInProgressModalVisible = !this.applicationInProgressModalVisible;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound\n  goToForm() {\n    if (this.shouldDisplayApplicationInProgressModal) {\n      this.applicationInProgressModalVisible = true;\n      return;\n    }\n\n    if (this.vehicleRegisterService.vehicleID) {\n      this.navigator(DecommissioningFormViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n        formType: this.applicationService.formType,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicle() {\n    if (this.vehicleRegisterService.vehicleID) {\n      this.applicationInProgressModalVisible = false;\n      this.navigator(AbstractApplicationViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicleList() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator(ApplicationListViewModel).go({\n      requestId: this.applicationService.requestId?.toString() ?? '',\n    });\n  }\n\n  @Watch<IntroDecommissioningViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      runInAction(() => {\n        this.shouldDisplayApplicationInProgressModal = true;\n      });\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.shouldDisplayApplicationInProgressModal = false;\n    });\n  }\n\n  translate = translate('vehicle-register.applications.decommissioning', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { DecommissioningFormTypes } from '../DecommissioningViewModel';\nimport DecommissioningFormModel from '../models/DecommissioningFormModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Fieldset from '../../../../../components/form/Fieldset';\nimport Checkbox from '../../../../../components/form/Checkbox';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport Input from '../../../../../components/form/Input';\nimport { EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType } from '../../../../../data/egon/api';\nimport Textarea from '../../../../../components/form/Textarea';\n\ntype AdditionalInformationProps = {\n  formType: DecommissioningFormTypes;\n  model: DecommissioningFormModel;\n  translate: Translator;\n};\n\nconst AdditionalInformation = observer(({ formType, model, translate }: AdditionalInformationProps) => {\n  if (formType === DecommissioningFormTypes.TERMINATION) return null;\n\n  if (\n    formType === DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO &&\n    model.changeType ===\n      EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.KEEP_LICENSE_PLATE\n  )\n    return null;\n\n  return (\n    <>\n      <h3 className=\"mb-0\">{translate('form.additional-information-form')}</h3>\n\n      {formType === DecommissioningFormTypes.DECOMMISSIONING && (\n        <div className=\"maxContentWidth\">\n          <Checkbox target={model} property={'keepRegistrationPlate'} hint={'keepRegistrationPlateHint'} />\n        </div>\n      )}\n\n      {formType === DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO && (\n        <Fieldset>\n          <Textarea target={model} property=\"purpose\" className=\"dataChangeTextArea\" />\n\n          <Typography className=\"bold\" data-testid=\"address\">\n            {translate('form.address')}\n          </Typography>\n\n          <Input target={model} property=\"street\" />\n          <Input target={model} property=\"city\" />\n          <Input target={model} property=\"zip\" type=\"number\" min={0} />\n        </Fieldset>\n      )}\n    </>\n  );\n});\n\nexport default AdditionalInformation;\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DecommissioningFormModel from '../models/DecommissioningFormModel';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport './style.scss';\nimport ContactInfoView from '../../../../components/ContactInfo/ContactInfoView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport AdditionalInformation from './AdditionalInformation';\nimport { DecommissioningFormTypes } from '../DecommissioningViewModel';\nimport { VehicleStatuses } from 'src/enums/VehicleEnums';\nimport Alert from '../../../../../components/shared/Alert/Alert';\nimport { GovIcon, LegacyTooltip } from '@cendis/cedr-components';\n\ntype RadioOption = { id: string; label: string };\n\ntype DecommissioningFormViewProps = {\n  formType: DecommissioningFormTypes;\n  vehicleStatus: VehicleStatuses;\n  model: DecommissioningFormModel;\n  authorityInfoViewModel: AuthorityInfoViewModel;\n  changeTypeOptions: RadioOption[];\n  translate: Translator;\n  contactInfoModel: ContactInfoViewModel;\n  displayLocationWarning: boolean;\n};\n\nconst DecommissioningFormDataView = observer(\n  ({\n    formType,\n    vehicleStatus,\n    model,\n    authorityInfoViewModel,\n    changeTypeOptions,\n    translate,\n    contactInfoModel,\n    displayLocationWarning,\n  }: DecommissioningFormViewProps) => {\n    return (\n      <>\n        {/* CHANGE TYPE */}\n        <h3 className=\"has-hint css-reset mt-4 mb-3\">\n          <span>{translate('form.type')}</span>\n          {vehicleStatus === VehicleStatuses.operated && (\n            <LegacyTooltip\n              tooltipContent={translate('form.operatedHint')}\n              position=\"bottom\"\n              size=\"s\"\n              testId=\"operated-hint-tooltip\"\n            >\n              <GovIcon\n                name={'components/info-circle-fill'}\n                size=\"m\"\n                className=\"mx-1 mb-1 inline align-middle\"\n              />\n            </LegacyTooltip>\n          )}\n        </h3>\n\n        <RadioGroup\n          className=\"maxContentWidth\"\n          target={model}\n          property=\"changeType\"\n          options={changeTypeOptions}\n          testId=\"change-type\"\n        />\n\n        {/* ADDITIONAL INFORMATION */}\n        <AdditionalInformation model={model} formType={formType} translate={translate} />\n\n        <ContactInfoView vm={contactInfoModel} />\n\n        {/* REQUEST FINISH LOCATION */}\n        <AuthorityInfoView vm={authorityInfoViewModel} />\n\n        {/* WARNING THAT SOME CHANGE TYPES REQUIRE THE SAME PLACE */}\n        {displayLocationWarning && <Alert type=\"warning\" message={translate('form.locationWarning')} />}\n      </>\n    );\n  }\n);\n\nexport default DecommissioningFormDataView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Button from '../../../../../components/shared/Button/Button';\nimport './style.scss';\nimport DecommissioningFormViewModel from './DecommissioningFormViewModel';\nimport DecommissioningFormDataView from '../components/DecommissioningFormDataView';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport Steps from '../../../components/Steps/Steps';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst DecommissioningFormView: View<DecommissioningFormViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  const { decommissioningTranslate } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"df-column\">\n            <Typography component=\"h1\" variant=\"h1\">\n              {vm.title}\n            </Typography>\n\n            {/* STEPS */}\n            <Steps\n              steps={[\n                {\n                  stepNumber: 1,\n                  title: 'request-form',\n                },\n                {\n                  stepNumber: 2,\n                  title: 'request-summary',\n                },\n              ]}\n              activeStep={1}\n              translate={decommissioningTranslate}\n            />\n\n            {/* CAR INFO */}\n            <Typography variant=\"h3\" component={'h3'} className=\"mb-2\" data-testid=\"subject\">\n              {decommissioningTranslate('form.subject')}\n            </Typography>\n            <VehicleDetail\n              key={vm.applicationService.vehicle?.information.mainInformation.id?.toString()}\n              vehicle={vm.applicationService.selectedVehicle}\n              translate={translate}\n            />\n\n            {/* DECOMMISSIONING FORM */}\n            <DecommissioningFormDataView\n              formType={vm.applicationService.formType}\n              vehicleStatus={vm.applicationService.vehicleStatus}\n              model={vm.decommissioningFormModel}\n              authorityInfoViewModel={vm.authorityInfoViewModel}\n              changeTypeOptions={vm.changeTypeOptions}\n              translate={decommissioningTranslate}\n              contactInfoModel={vm?.contactInfoViewModel}\n              displayLocationWarning={vm.applicationService.displayLocationWarning}\n            />\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"buttons-spaced\">\n          <Button\n            testId=\"decommissioning-form-back\"\n            outlined\n            onClick={() => vm?.navToIntro()}\n            text={translate('back')}\n          />\n          <Button testId=\"decommissioning-form-next\" onClick={vm?.navToSummary} text={translate('next')} />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default DecommissioningFormView;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport DecommissioningFormViewModel from './DecommissioningFormViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst DecommissioningFormViewLoading: View<DecommissioningFormViewModel> = observer(({ vm }) => {\n  const { title } = vm;\n  return (\n    <Container>\n      <Typography variant=\"h1\" component={'h1'}>\n        {title}\n      </Typography>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default DecommissioningFormViewLoading;\n","import { action, computed, makeObservable } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport DecommissioningFormView from './DecommissioningFormView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport { VehicleStatuses } from 'src/enums/VehicleEnums';\nimport { DecommissioningFormModelValidators } from '../models/DecommissioningFormModel';\nimport { EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType } from 'src/data/egon/api';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport DecommissioningFormViewLoading from './DecommissioningFormViewLoading';\nimport { DecommissioningFormTypes } from '../DecommissioningViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport IntroDecommissioningViewModel from '../00_intro/IntroDecommissioningViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(DecommissioningFormView)\n@AddBusyView(DecommissioningFormViewLoading)\nexport default class DecommissioningFormViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  @computed\n  get title(): string {\n    switch (this.applicationService.formType) {\n      case DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO:\n        return this.decommissioningTranslate('additionalInfo.title');\n      case DecommissioningFormTypes.TERMINATION:\n        return this.decommissioningTranslate('discarded.title');\n      default:\n        return this.decommissioningTranslate('title');\n    }\n  }\n\n  get decommissioningFormModel() {\n    return this.applicationService.formModel;\n  }\n\n  @computed\n  get authorityInfoIsValid() {\n    return this.authorityInfoViewModel.changedFromDefault;\n  }\n\n  @computed\n  get allowedRequestTypes() {\n    let types: EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType[] = [];\n    const { formType } = this.applicationService;\n    const {\n      VEHICLE_DECOMMISSIONING,\n      REGISTER_VEHICLE_DEMISE,\n      END_VEHICLE_DECOMMISSIONING,\n      REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING,\n      KEEP_LICENSE_PLATE,\n    } = EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType;\n\n    if (formType === DecommissioningFormTypes.DECOMMISSIONING) {\n      types = [VEHICLE_DECOMMISSIONING, REGISTER_VEHICLE_DEMISE];\n    } else if (formType === DecommissioningFormTypes.TERMINATION) {\n      types = [END_VEHICLE_DECOMMISSIONING, REGISTER_VEHICLE_DEMISE];\n    } else if (formType === DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO) {\n      types = [REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING, KEEP_LICENSE_PLATE];\n    }\n\n    return types;\n  }\n\n  @computed\n  get changeTypeOptions() {\n    const options = this.allowedRequestTypes.map((type) => {\n      return {\n        id: type,\n        label: this.decommissioningTranslate('form.' + type),\n        hint: this.getHintForChangeType(type),\n      };\n    });\n\n    return options;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() public vehicleRegisterService: VehicleRegisterService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound\n  notifyNavigation() {\n    this.authorityInfoViewModel.disabled = false;\n    this.authorityInfoViewModel.headerHint = this.decommissioningTranslate('form.place-hint');\n    this.authorityInfoViewModel.formHeaderText = this.decommissioningTranslate('form.pickup-place');\n  }\n\n  @Watch<DecommissioningFormViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    this.validation.attachDescriptor(this.decommissioningFormModel, DecommissioningFormModelValidators);\n\n    this.setInitialChangeType();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n  }\n\n  @action.bound\n  setInitialChangeType() {\n    if (\n      this.applicationService.vehicle &&\n      !this.applicationService.initialChangeTypeSet &&\n      this.changeTypeOptions.length > 0\n    ) {\n      this.applicationService.formModel.changeType = this.changeTypeOptions[0].id;\n      this.applicationService.initialChangeTypeSet = true;\n    }\n  }\n\n  @action.bound\n  navToSummary() {\n    if (\n      this.validation.validateObject(this.decommissioningFormModel) &&\n      this.authorityInfoIsValid &&\n      this.applicationService.contactInfoViewModel.isValid\n    ) {\n      this.navigator('../summary').go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    if (this.vehicleRegisterService.vehicleID) {\n      this.navigator(IntroDecommissioningViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n        formType: this.applicationService.formType,\n      }).go();\n    }\n  }\n\n  private getHintForChangeType(\n    changeType: EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType\n  ): string | null {\n    switch (changeType) {\n      case EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.END_VEHICLE_DECOMMISSIONING:\n      case EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING:\n      case EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.KEEP_LICENSE_PLATE:\n        return `hint${changeType}`;\n      case EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_VEHICLE_DEMISE:\n        if (this.applicationService.vehicleStatus === VehicleStatuses.operated) {\n          return null;\n        } else {\n          return `hint${changeType}`;\n        }\n      case EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.VEHICLE_DECOMMISSIONING:\n      default:\n        return null;\n    }\n  }\n\n  translate = translate('vehicle-register.applications', this);\n  decommissioningTranslate = translate('vehicle-register.applications.decommissioning', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { computed, makeObservable, observable, override, runInAction } from 'mobx';\nimport DecommissioningFormModel from './models/DecommissioningFormModel';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport { VehicleStatuses } from 'src/enums/VehicleEnums';\nimport ApiService from '../../../../services/ApiService';\nimport {\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_CreateVehicleDecommissioningRequest,\n  EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType,\n} from '../../../../data/egon/api';\nimport { getChangeTypeFromRequest } from './models/PostRequestModel';\nimport { DecommissioningFormTypes } from './DecommissioningViewModel';\nimport AuthorityInfoViewModel from '../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport RsvApplicationService from '../Shared/services/RsvApplicationService';\nimport RsvRequestsService from '../Shared/services/RsvRequestsService';\nimport MandatesService from 'src/services/MandatesService';\nimport { UserService } from 'src/services/UserService';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\n\n@Service()\nexport default class ApplicationService extends RsvApplicationService {\n  @observable formType: DecommissioningFormTypes = DecommissioningFormTypes.DECOMMISSIONING;\n  @observable formModel: DecommissioningFormModel = new DecommissioningFormModel();\n  @observable initialChangeTypeSet = false;\n\n  @computed\n  get vehicleStatus() {\n    if (\n      this.selectedVehicle?.statuses?.find(\n        (status) => status.name?.toLowerCase() === VehicleStatuses.operated?.toLowerCase()\n      )\n    ) {\n      return VehicleStatuses.operated;\n    } else {\n      return VehicleStatuses.discarded;\n    }\n  }\n\n  @computed\n  get vehicleServicePersonType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  @computed\n  get displayLocationWarning() {\n    const warningChangeTypes: EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType[] = [\n      EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING,\n      EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.KEEP_LICENSE_PLATE,\n      EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.END_VEHICLE_DECOMMISSIONING,\n    ];\n\n    if (warningChangeTypes.includes(this.formModel.changeType)) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  constructor(\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private apiService: ApiService,\n    @Inject() protected rsvRequestsService: RsvRequestsService,\n    @Inject() protected mandatesService: MandatesService,\n    @Inject() protected userService: UserService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel\n  ) {\n    super(Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_DECOMMISSIONING_OR_DEMISE_OF_VEHICLE);\n    makeObservable(this);\n  }\n\n  @override\n  reset() {\n    super.reset();\n    this.formModel = new DecommissioningFormModel();\n    this.initialChangeTypeSet = false;\n  }\n\n  async getRequest() {\n    if (!this.requestId) return;\n\n    const response =\n      await this.apiService.egonApi.vehicleDecommissioning.getPdApiEgonV1RsvRequestsVehicleDecommissioningRequests(\n        this.requestId\n      );\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n      this.requestCode = response.requestCode;\n      this.status = response.status;\n      this.formModel.changeType = getChangeTypeFromRequest(response.changeType);\n      this.formModel.keepRegistrationPlate = response.keepLicensePlate ?? false;\n      this.formModel.purpose = response.vehiclePurpose ?? '';\n\n      if (response.targetAuthorityId !== response.workPlaceId) {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${response.workPlaceId}`;\n      } else {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${null}`;\n      }\n\n      const requestPdf = response.attachments.find(\n        (attachment) => attachment.type === Domain_Contracts_Enums_Rsv_AttachmentType.REQUEST\n      );\n\n      if (requestPdf && requestPdf.id) {\n        this.pdfId = requestPdf.id;\n      }\n    });\n  }\n\n  private async postRequest() {\n    const response =\n      await this.apiService.egonApi.vehicleDecommissioning.postPdApiEgonV1RsvRequestsVehicleDecommissioningRequests(\n        this.postRequestBody()\n      );\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n    });\n  }\n\n  async handoverRequest() {\n    if (!this.requestId) return;\n\n    const response = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestCode = response.code;\n    });\n  }\n\n  async confirmRequest() {\n    if (typeof this.requestId === 'undefined') {\n      await this.postRequest();\n    }\n\n    await this.handoverRequest();\n\n    await this.getRequest();\n\n    this.rsvRequestsService.reset();\n  }\n\n  private postRequestBody() {\n    const vehicleId = this.vehicle?.information.mainInformation.id;\n    let requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_CreateVehicleDecommissioningRequest = {\n      vehicleId: vehicleId!,\n      requestType: this.formModel.changeType,\n      targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n      workPlaceId:\n        this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n      contacts: this.contactInfoViewModel.representativeContacts,\n    };\n\n    if (this.formType === DecommissioningFormTypes.DECOMMISSIONING) {\n      requestBody = {\n        ...requestBody,\n        keepLicensePlate: this.formModel.keepRegistrationPlate,\n      };\n    } else if (\n      this.formType === DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO &&\n      this.formModel.changeType ===\n        EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING\n    ) {\n      requestBody = {\n        ...requestBody,\n        vehiclePurpose: this.formModel.purpose,\n        vehicleLocation: this.formModel.address,\n      };\n    } else if (\n      this.formType === DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO &&\n      this.formModel.changeType ===\n        EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.KEEP_LICENSE_PLATE\n    ) {\n      requestBody = {\n        ...requestBody,\n        keepLicensePlate: true,\n      };\n    }\n\n    return requestBody;\n  }\n}\n","import {\n  Domain_Contracts_Enums_Rsv_RsvChangeType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_CreateVehicleDecommissioningRequest,\n  EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType,\n} from '../../../../../data/egon/api';\n\nexport default class PostRequestModel implements EgonServiceBus_WebApi_Requests_V1_Forms_CreateVehicleDecommissioningRequest {\n  vehicleId: number;\n  targetAuthorityId?: number | null | undefined;\n  workPlaceId?: number | null | undefined;\n  requestType: EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType;\n  keepLicensePlate?: boolean | null | undefined;\n  vehiclePurpose?: string | null | undefined;\n  vehicleLocation?: string | null | undefined;\n\n  constructor(vehicleId: number, requestType: EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType) {\n    this.vehicleId = vehicleId;\n    this.requestType = requestType;\n  }\n}\n\nexport function getChangeTypeFromRequest(\n  input: Domain_Contracts_Enums_Rsv_RsvChangeType | EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType\n) {\n  switch (input) {\n    case Domain_Contracts_Enums_Rsv_RsvChangeType.REGISTER_VEHICLE_DEMISE:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_VEHICLE_DEMISE;\n    case Domain_Contracts_Enums_Rsv_RsvChangeType.END_VEHICLE_DECOMMISSIONING:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.END_VEHICLE_DECOMMISSIONING;\n    case Domain_Contracts_Enums_Rsv_RsvChangeType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING;\n    case EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.KEEP_LICENSE_PLATE:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.KEEP_LICENSE_PLATE;\n    default:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.VEHICLE_DECOMMISSIONING;\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport { DecommissioningFormTypes } from '../DecommissioningViewModel';\nimport DecommissioningFormModel from '../models/DecommissioningFormModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType } from '../../../../../data/egon/api';\n\ntype AdditionalInformationSummaryProps = {\n  formType: DecommissioningFormTypes;\n  model: DecommissioningFormModel;\n  translate: Translator;\n};\n\nconst AdditionalInformationSummary = observer(\n  ({ formType, model, translate }: AdditionalInformationSummaryProps) => {\n    if (formType === DecommissioningFormTypes.TERMINATION) return null;\n\n    if (\n      formType === DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO &&\n      model.changeType ===\n        EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.KEEP_LICENSE_PLATE\n    )\n      return null;\n\n    return (\n      <div>\n        <Typography variant=\"h4\" component={'h3'} className=\"bold mb-2\" data-testid=\"additional-information\">\n          {translate('form.additional-information')}\n        </Typography>\n\n        {formType === DecommissioningFormTypes.DECOMMISSIONING && (\n          <Typography data-testid=\"keep-plate-info\">\n            {translate('form.keepPlate')} <b>{model.keepRegistrationPlate === true ? 'Ano' : 'Ne'}</b>\n          </Typography>\n        )}\n\n        {formType === DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO && (\n          <>\n            <Typography data-testid=\"purpose-info\">\n              {translate('form.purpose')}: <b className=\"text-break whitespace-pre-wrap\">{model.purpose}</b>\n            </Typography>\n\n            <Typography data-testid=\"address-info\">\n              {translate('form.address')}: <b>{model.address}</b>\n            </Typography>\n          </>\n        )}\n      </div>\n    );\n  }\n);\n\nexport default AdditionalInformationSummary;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryDecommissioningViewModel from './SummaryDecommissioningViewModel';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport Modal from '../../../../../components/shared/Modal';\nimport Steps from '../../../components/Steps/Steps';\nimport SummaryModal from '../../../components/SummaryModal';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AdditionalInformationSummary from '../components/AdditionalInformationSummary';\nimport CurrentOwner from '../../OwnerOrOperatorChangedView/seller/components/CurrentOwner';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport SummaryWarning from '../../../components/SummaryWarning/SummaryWarning';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\n\nconst SummaryDecommissioningView: View<SummaryDecommissioningViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    summaryTranslate,\n    applicationTranslate,\n    formModel,\n    confirmationModalVisible,\n    toggleConfirmationModal,\n    contactInfoModel,\n    sendDataError,\n    toggleErrorModal,\n    applicationService,\n  } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        {confirmationModalVisible && (\n          <SummaryModal\n            toggleConfirmationModal={toggleConfirmationModal}\n            vm={vm}\n            isSending={vm.confirmBusyWatcher.isBusy}\n            requestTitle={vm.requestTitle}\n          />\n        )}\n        {sendDataError && (\n          <Modal\n            headLine={translate('confirmation-title')}\n            closeFce={toggleErrorModal}\n            className=\"test-modal-SummaryDecommissioning\"\n          >\n            <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n          </Modal>\n        )}\n        <Envelope>\n          <Typography variant=\"h1\" component={'h1'} data-testid=\"summary-title\">\n            {vm.title}\n          </Typography>\n\n          {/* STEPS */}\n          <Steps\n            steps={[\n              {\n                stepNumber: 1,\n                title: 'request-form',\n              },\n              {\n                stepNumber: 2,\n                title: 'request-summary',\n              },\n            ]}\n            activeStep={2}\n            translate={translate}\n          />\n\n          {/* CAR INFO */}\n          <Typography variant=\"h4\" component={'h3'} className=\"bold mt-4 mb-2\" data-testid=\"subject\">\n            {translate('form.subject')}\n          </Typography>\n\n          <VehicleDetail\n            key={vm.applicationService.vehicle?.information.mainInformation.id?.toString()}\n            vehicle={vm.applicationService.selectedVehicle}\n            translate={applicationTranslate}\n          />\n\n          {/* REQUEST TYPE */}\n          <Typography variant=\"h4\" component={'h3'} className=\"bold mt-4 mb-2\" data-testid=\"request-type\">\n            {translate('form.type')}\n          </Typography>\n\n          <Typography variant=\"caption\" className=\"text-uppercase strong mb-4\" data-testid=\"change-type\">\n            {translate('form.' + formModel.changeType)}\n          </Typography>\n\n          {/* ADDITIONAL INFORMATION */}\n          <AdditionalInformationSummary\n            formType={applicationService.formType}\n            model={applicationService.formModel}\n            translate={translate}\n          />\n\n          {/* PERSON/COMPANY DETAIL */}\n          <CurrentOwner\n            ownerType={applicationService.vehicleServicePersonType}\n            personalInfo={applicationService.personalInfo}\n            entrepreneurInfo={applicationService.entrepreneurInfo}\n            contactInfoModel={contactInfoModel}\n            translate={summaryTranslate}\n          />\n\n          <RepresentativeContactSummary contactInfoViewModel={contactInfoModel} />\n\n          {/* HANDOVER PLACE */}\n          <AuthorityInfoView vm={vm.authorityInfoViewModel} />\n\n          <SummaryWarning\n            personType={applicationService.vehicleServicePersonType}\n            translate={vm.sharedTranslate}\n          />\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"buttons-spaced\">\n          <Button\n            testId=\"decommissioning-summary-back\"\n            outlined\n            onClick={() => vm?.navToForm()}\n            text={applicationTranslate('back')}\n          />\n          <Button\n            testId=\"decommissioning-summary-handover\"\n            onClick={vm?.toggleConfirmationModal}\n            text={applicationTranslate('handoverApplication')}\n          />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default SummaryDecommissioningView;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport SummaryDecommissioningViewModel from './SummaryDecommissioningViewModel';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst SummaryDecommissioningViewLoading: View<SummaryDecommissioningViewModel> = observer(({ vm }) => {\n  const { title } = vm;\n  return (\n    <Container>\n      <Typography variant=\"h1\" component={'h1'}>\n        {title}\n      </Typography>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default SummaryDecommissioningViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummaryDecommissioningView from './SummaryDecommissioningView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport SummaryDecommissioningViewLoading from './SummaryDecommissioningViewLoading';\nimport DecommissioningFormViewModel from '../01_form/DecommissioningFormViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport { DecommissioningFormTypes } from '../DecommissioningViewModel';\nimport IntroDecommissioningViewModel from '../00_intro/IntroDecommissioningViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummaryDecommissioningView)\n@AddBusyView(SummaryDecommissioningViewLoading)\nexport default class SummaryDecommissioningViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  confirmBusyWatcher = new BusyWatcher();\n  @observable confirmationModalVisible = false;\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  @computed\n  get title(): string {\n    switch (this.applicationService.formType) {\n      case DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO:\n        return this.translate('additionalInfo.title');\n      case DecommissioningFormTypes.TERMINATION:\n        return this.translate('discarded.title');\n      default:\n        return this.translate('title');\n    }\n  }\n\n  @computed\n  get requestTitle(): string {\n    switch (this.applicationService.formType) {\n      case DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO:\n        return this.translate('requestTitle.additionalInfo');\n      case DecommissioningFormTypes.TERMINATION:\n        return this.translate('requestTitle.termination');\n      default:\n        return this.translate('requestTitle.decomissioning');\n    }\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  get authorityInfo() {\n    return this.authorityInfoViewModel.authorityText;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public contactInfoModel: ContactInfoViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.authorityInfoViewModel.disabled = true;\n    this.authorityInfoViewModel.summaryHeaderClassName = 'my-4 bold h4';\n    this.authorityInfoViewModel.summaryHeaderText = this.translate('summary.pickup-place');\n  }\n\n  @Watch<SummaryDecommissioningViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    } else if (this.applicationService.vehicle && !this.applicationService.initialChangeTypeSet) {\n      this.navigator(DecommissioningFormViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n        formType: this.applicationService.formType,\n      }).go();\n    }\n  }\n\n  @Watch<SummaryDecommissioningViewModel>((s) => s.confirmBusyWatcher)\n  @action.bound\n  async confirmRequest() {\n    try {\n      await this.applicationService.confirmRequest();\n      this.navigator('../confirmation').go();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'Decommissioning SummaryDecommissioningViewModel', 'confirmRequest');\n      this.handleError(e);\n    }\n    this.confirmationModalVisible = false;\n  }\n\n  @action.bound\n  navToForm() {\n    this.navigator('../form').go();\n  }\n\n  @action.bound\n  navToIntro() {\n    if (this.applicationService.vehicle?.information.mainInformation.id) {\n      this.navigator(IntroDecommissioningViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n        formType: this.applicationService.formType,\n      }).go();\n    }\n  }\n\n  translate = translate('vehicle-register.applications.decommissioning', this);\n  summaryTranslate = translate('vehicle-register.applications.decommissioning.summary', this);\n  applicationTranslate = translate('vehicle-register.applications', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n\n  @action.bound\n  toggleConfirmationModal() {\n    this.confirmationModalVisible = !this.confirmationModalVisible;\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport InfoBox from '../../../../../components/shared/InfoBox/InfoBox';\nimport './style.scss';\nimport ConfirmationCode from '../../../components/Confirmation/ConfirmationCode';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { translate, sharedTranslate, authority, downloadRequestPdf } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <SuccessMessage text={translate('confirmation.sent-successfully')} authority={authority} />\n\n          <ConfirmationCode translate={vm.sharedTranslate} requestCode={vm.applicationService.requestCode} />\n\n          <InfoBox className=\"summary\">\n            <table className=\"info-box-table\">\n              <tr>\n                <td>{translate('confirmation.info-box.header')}</td>\n              </tr>\n              <tr>\n                <td className=\"confirmationView-summary\">\n                  <ul className=\"confirmation-summary-ul\">\n                    <li>{translate('confirmation.info-box.line1')}</li>\n                    <li>{translate('confirmation.info-box.line2')}</li>\n                  </ul>\n                </td>\n              </tr>\n              <tr>\n                <td>\n                  {translate('confirmation.info-box.footer')}&nbsp;\n                  <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                    {vm.translateTariffCharges('tariff-charges')}\n                  </a>\n                  .\n                </td>\n              </tr>\n            </table>\n          </InfoBox>\n          <br />\n          {/* ACTION BUTTONS */}\n          <div className=\"d-flex\">\n            <Button\n              testId=\"download-request-pdf\"\n              rightMargin\n              outlined\n              onClick={downloadRequestPdf}\n              text={sharedTranslate('download-pdf')}\n              isBusy={vm.downloadBusyWatcher.isBusy}\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default ConfirmationView;\n","import { observer } from 'mobx-react-lite';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport ConfirmationViewModel from './ConfirmationViewModel';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst ConfirmationViewLoading: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { title } = vm;\n  return (\n    <Container>\n      <Typography variant=\"h1\" component={'h1'}>\n        {title}\n      </Typography>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default ConfirmationViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport ApiService from '../../../../../services/ApiService';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from '../../../../../data/egon/api';\nimport PdfUtils from '../../../../../utils/PdfUtils';\nimport DecommissioningFormViewModel from '../01_form/DecommissioningFormViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport ConfirmationViewLoading from './ConfirmationViewLoading';\nimport { DecommissioningFormTypes } from '../DecommissioningViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(ConfirmationView)\n@AddBusyView(ConfirmationViewLoading)\nexport default class ConfirmationViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  downloadBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  @computed\n  get title(): string {\n    switch (this.applicationService.formType) {\n      case DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO:\n        return this.translate('additionalInfo.title');\n      case DecommissioningFormTypes.TERMINATION:\n        return this.translate('discarded.title');\n      default:\n        return this.translate('title');\n    }\n  }\n\n  @computed\n  get authority() {\n    return ' - ' + this.authorityInfoViewModel.authorityTextWithComma;\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.authorityInfoViewModel.disabled = true;\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await Promise.all([this.applicationService.init(), this.authorityInfoViewModel.loadAuthorities()]);\n\n    if (\n      this.applicationService.vehicle &&\n      this.applicationService.status &&\n      this.applicationService.status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED\n    ) {\n      this.navigator(DecommissioningFormViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n        formType: this.applicationService.formType,\n      }).go();\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.downloadBusyWatcher)\n  @action.bound\n  async downloadRequestPdf() {\n    if (!this.applicationService.requestId || !this.applicationService.pdfId) {\n      console.error('No request or pdf id found when pdf download requested.');\n      return;\n    }\n    const response = await this.apiService.egonApi.rsvRequests\n      .getPdApiEgonV1RsvRequestsRequestsAttachments(\n        this.applicationService.pdfId,\n        this.applicationService.requestId.toString()\n      )\n      .catch((e) => console.error(e));\n\n    if (!response) return;\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n\n  translate = translate('vehicle-register.applications.decommissioning', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport VehicleDetailViewModel from '../../register/vehicleDetail/VehicleDetailViewModel';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport IntroDecommissioningViewModel from './00_intro/IntroDecommissioningViewModel';\nimport { makeObservable } from 'mobx';\nimport SummaryDecommissioningViewModel from './02_summary/SummaryDecommissioningViewModel';\nimport DecommissioningFormViewModel from './01_form/DecommissioningFormViewModel';\nimport ConfirmationViewModel from './03_confirmation/ConfirmationViewModel';\nimport ApplicationService from './ApplicationService';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\n\nexport enum DecommissioningFormTypes {\n  DECOMMISSIONING = 'decommissioning',\n  DECOMMISSIONING_ADDITIONAL_INFO = 'additionalInfo',\n  TERMINATION = 'termination',\n}\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class DecommissioningViewModel extends BaseScreen {\n  get pathNode(): string {\n    return '/formType/-form';\n  }\n\n  constructor(\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private introDecommissioningViewModel: IntroDecommissioningViewModel,\n    @Inject() private summaryDecommissioningViewModel: SummaryDecommissioningViewModel,\n    @Inject() private decommissioningFormView: DecommissioningFormViewModel,\n    @Inject() private confirmationView: ConfirmationViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introDecommissioningViewModel);\n    this.children.push(summaryDecommissioningViewModel);\n    this.children.push(decommissioningFormView);\n    this.children.push(confirmationView);\n  }\n\n  async acceptNavigationParams(params: PathParams) {\n    const { formType } = params;\n\n    switch (formType) {\n      case DecommissioningFormTypes.TERMINATION:\n        this.applicationService.formType = DecommissioningFormTypes.TERMINATION;\n        break;\n      case DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO:\n        this.applicationService.formType = DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO;\n        break;\n      default:\n        this.applicationService.formType = DecommissioningFormTypes.DECOMMISSIONING;\n        break;\n    }\n  }\n\n  notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  activate() {\n    if (this.vehicleRegisterService.isUserOwner === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n}\n","import { computed, makeObservable, observable } from 'mobx';\nimport {\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType,\n} from '../../../../../data/egon/api';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from '../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('decommissioning-form')\nexport default class DecommissioningFormModel {\n  @observable formType =\n    Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_DECOMMISSIONING_OR_DEMISE_OF_VEHICLE;\n  @observable changeType =\n    EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.VEHICLE_DECOMMISSIONING;\n  @observable keepRegistrationPlate: boolean = false;\n  @observable purpose = '';\n  @observable street = '';\n  @observable city = '';\n  @observable zip = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @computed\n  get address() {\n    if (!this.street && !this.city && !this.zip) return '';\n\n    return `${this.street}, ${this.city}, ${this.zip}`;\n  }\n}\n\nexport const DecommissioningFormModelValidators: ValidationDescriptor<DecommissioningFormModel, Validators> =\n  {\n    changeType: {\n      required: {\n        message: 'changeType.required',\n      },\n    },\n    purpose: {\n      required: {\n        message: 'purpose.required',\n        options: {\n          if: (t: DecommissioningFormModel) =>\n            t.changeType ===\n            EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING,\n        },\n      },\n    },\n    street: {\n      required: {\n        message: 'street.required',\n        options: {\n          if: (t: DecommissioningFormModel) =>\n            t.changeType ===\n            EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING,\n        },\n      },\n    },\n    city: {\n      required: {\n        message: 'city.required',\n        options: {\n          if: (t: DecommissioningFormModel) =>\n            t.changeType ===\n            EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING,\n        },\n      },\n    },\n    zip: {\n      required: {\n        message: 'zip.required',\n        options: {\n          if: (t: DecommissioningFormModel) =>\n            t.changeType ===\n            EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING,\n        },\n      },\n      zipCode: {\n        message: 'zip.format',\n        options: {\n          if: (t: DecommissioningFormModel) =>\n            t.changeType ===\n            EgonServiceBus_WebApi_Requests_V1_Forms_VehicleDecommissioningRequestType.REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING,\n        },\n      },\n    },\n  };\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type IntroExportPlateRequestViewModel from './IntroExportPlateRequestViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport ApplicationInProgressModal from '../../../components/ApplicationInProgressModal';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst IntroExportPlateRequestView: View<IntroExportPlateRequestViewModel> = observer(({ vm }) => {\n  const { translate, sharedTranslate, navToForm, navBack } = vm;\n\n  return (\n    <Container>\n      {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n\n      <Typography component=\"h1\" className=\"thin mb-4\" data-testid=\"intro-title\">\n        {translate('title')}\n      </Typography>\n\n      <Typography className=\"mb-4\" data-testid=\"info-0\">\n        {translate('intro.info-0')}\n      </Typography>\n      <Typography className=\"mb-4\" data-testid=\"info-1\">\n        {translate('intro.info-1')}\n      </Typography>\n\n      <Typography component=\"h2\" className=\"bold mb-1\">\n        {translate('intro.header-1')}\n      </Typography>\n      <Typography component=\"ol\" className=\"gov-list mb-4\">\n        <Typography component=\"li\" data-testid=\"info-2-section-1\">\n          {translate('intro.info-2.section-1')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-2-section-2\">\n          {translate('intro.info-2.section-2')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-2-section-3\">\n          {translate('intro.info-2.section-3')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-2-section-4\">\n          {translate('intro.info-2.section-4')}&nbsp;\n          <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n            {vm.translateTariffCharges('tariff-charges')}\n          </a>\n          .\n        </Typography>\n      </Typography>\n\n      <Typography component=\"h2\" className=\"bold mb-1\">\n        {translate('intro.header-2')}\n      </Typography>\n      <Typography component=\"ol\" className=\"gov-list mb-5\">\n        <Typography component=\"li\" data-testid=\"info-3-section-2\">\n          {translate('intro.info-3.section-2')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-3-section-3\">\n          {translate('intro.info-3.section-3')}\n        </Typography>\n      </Typography>\n\n      <Typography component=\"h2\" className=\"h4 mb-4\">\n        {translate('intro.header-3')}\n      </Typography>\n      <Typography component=\"ol\" className=\"mb-5\">\n        <Typography component=\"li\" data-testid=\"info-4-section-1\">\n          {translate('intro.info-4.section-1')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"info-4-section-2\">\n          {translate('intro.info-4.section-2')}\n        </Typography>\n      </Typography>\n\n      {/* ACTION BUTTONS */}\n      <div className=\"d-flex justify-content-between mt-5\">\n        <Button testId=\"intro-export-plate-back\" outlined onClick={navBack} text={sharedTranslate('back')} />\n        <Button\n          testId=\"intro-export-plate-fill\"\n          onClick={navToForm}\n          text={sharedTranslate('fillApplication')}\n        />\n      </div>\n    </Container>\n  );\n});\n\nexport default IntroExportPlateRequestView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport IntroExportPlateRequestViewModel from './IntroExportPlateRequestViewModel';\n\nconst IntroExportPlateRequestViewLoading: View<IntroExportPlateRequestViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default IntroExportPlateRequestViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport IntroExportPlateRequestView from './IntroExportPlateRequestView';\nimport ExportPlateRequestFormViewModel from '../01_form/ExportPlateRequestFormViewModel';\nimport AbstractApplicationViewModel from '../../AbstractApplicationViewModel';\nimport ApplicationService from '../ApplicationService';\nimport ApplicationListViewModel from '../../../applicationsList/ApplicationListViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport IntroExportPlateRequestViewLoading from './IntroExportPlateRequestViewLoading';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(IntroExportPlateRequestView)\n@AddBusyView(IntroExportPlateRequestViewLoading)\nexport default class IntroExportPlateRequestViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable shouldDisplayApplicationInProgressModal: boolean = false;\n\n  get pathNode(): string {\n    return 'intro';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @action.bound\n  toggleApplicationInProgressModal() {\n    this.applicationInProgressModalVisible = !this.applicationInProgressModalVisible;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<IntroExportPlateRequestViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      runInAction(() => {\n        this.shouldDisplayApplicationInProgressModal = true;\n      });\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.shouldDisplayApplicationInProgressModal = false;\n    });\n  }\n\n  @action.bound\n  goToVehicle() {\n    if (this.applicationService.vehicleRegisterService.vehicleID) {\n      this.applicationInProgressModalVisible = false;\n      this.navigator(AbstractApplicationViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicleList() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator(ApplicationListViewModel).go({\n      requestId: this.applicationService.requestId?.toString() ?? '',\n    });\n  }\n\n  @action.bound\n  navBack() {\n    return this.goToVehicle();\n  }\n\n  @action.bound\n  navToForm() {\n    if (this.shouldDisplayApplicationInProgressModal) {\n      this.applicationInProgressModalVisible = true;\n      return;\n    }\n\n    this.navigator(ExportPlateRequestFormViewModel, {\n      vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n    }).go();\n  }\n\n  translate = translate('vehicle-register.applications.exportPlateRequest', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import Input from '../../../../../components/form/Input';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport Fieldset from '../../../../../components/form/Fieldset';\nimport type ExportPlateRequestFormModel from '../models/ExportPlateRequestFormModel';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { observer } from 'mobx-react-lite';\nimport ContactInfoView from '../../../../components/ContactInfo/ContactInfoView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\nimport { GovIcon, LegacyTooltip, Message, SelectOption } from '@cendis/cedr-components';\nimport Select from '@form/Select/Select';\n\ntype Props = {\n  formModel: ExportPlateRequestFormModel;\n  authorityInfoViewModel: AuthorityInfoViewModel;\n  newOwnerTypeOptions: { id: string; label: string }[];\n  translate: Translator;\n  contactInfoViewModel: ContactInfoViewModel;\n  countryOptions: SelectOption<string>[];\n  useCountrySelect?: boolean;\n  countryUnavailable?: boolean;\n};\n\nconst Form = observer(\n  ({\n    formModel,\n    authorityInfoViewModel,\n    newOwnerTypeOptions,\n    contactInfoViewModel,\n    translate,\n    useCountrySelect,\n    countryOptions,\n    countryUnavailable,\n  }: Props) => {\n    return (\n      <>\n        <Fieldset wide>\n          <h3 className=\"has-hint css-reset my-4\" data-testid=\"person-type-field-title\">\n            <span>{translate('foreignPerson')}</span>\n            <LegacyTooltip\n              tooltipContent={translate('foreignPersonHint')}\n              position=\"bottom\"\n              size=\"s\"\n              testId=\"foreignPersonHint-tooltip\"\n            >\n              <GovIcon\n                name={'components/info-circle-fill'}\n                size=\"m\"\n                className=\"mx-1 mb-1 inline align-middle\"\n              />\n            </LegacyTooltip>\n          </h3>\n          <p className=\"mb-4 max-w-[320px]\" data-testid=\"person-type-field-hint\">\n            {translate('foreignPersonHint')}\n          </p>\n          <RadioGroup\n            className=\"mb-4\"\n            target={formModel.newOwner}\n            property=\"personType\"\n            options={newOwnerTypeOptions}\n            testId=\"person-type\"\n          />\n        </Fieldset>\n\n        {formModel.newOwner.personType === MandatePersonType.FO ? (\n          <Fieldset title=\"personalInfo\" wide>\n            <Input target={formModel.newOwner} property=\"firstName\" thin />\n            <Input target={formModel.newOwner} property=\"lastName\" thin />\n          </Fieldset>\n        ) : (\n          <Fieldset title=\"entrepreneurInfo\" wide>\n            <Input target={formModel.newOwner} property=\"name\" thin />\n            <Input target={formModel.newOwner} property=\"identificationNumber\" thin />\n          </Fieldset>\n        )}\n\n        <Fieldset\n          title={formModel.newOwner.personType === MandatePersonType.FO ? 'address' : 'entrepreneurAddress'}\n          wide\n        >\n          <Input thin target={formModel.newOwner} property=\"streetDescriptiveOrientationNumber\" />\n          <Input thin target={formModel.newOwner} property=\"city\" />\n          <Input thin target={formModel.newOwner} property=\"zip\" type=\"number\" min={0} />\n          {!!countryUnavailable && (\n            <div className=\"css-reset mb-2\">\n              <Message\n                color=\"error\"\n                icon=\"components/exclamation-triangle-fill\"\n                message={translate('country-unavailable')}\n              />\n            </div>\n          )}\n          <Select\n            target={formModel.newOwner}\n            property=\"country\"\n            options={countryOptions}\n            thin\n            testId=\"country\"\n          />\n        </Fieldset>\n\n        <ContactInfoView vm={contactInfoViewModel} />\n\n        <AuthorityInfoView vm={authorityInfoViewModel} />\n        {/* <h3 className=\"mt-4\">\n        {translate('requestPlace')} <Hint text={translate('requestPlaceHint')} />\n      </h3>\n      <div className=\"w-50\">\n        <Select target={formModel} property=\"selectedAuthorityIndex\" options={authoritiesSelectOptions} />\n      </div> */}\n      </>\n    );\n  }\n);\n\nexport default Form;\n","import { observer } from 'mobx-react-lite';\nimport type FormViewModel from './ExportPlateRequestFormViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Form from '../components/Form';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport Modal from '../../../../../components/shared/Modal';\nimport InfoPanel from '../../../../../components/shared/InfoPanel/InfoPanel';\n\nconst FormView: View<FormViewModel> = observer(({ vm }) => {\n  const {\n    navToIntro,\n    navToSummary,\n    newOwnerTypeOptions,\n    sharedTranslate,\n    translate,\n    busyWatcher,\n    sendDataError,\n    toggleErrorModal,\n  } = vm;\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"export-plate-request-form\">\n            <h1 data-testid=\"title\">{translate('title')}</h1>\n            {/* ERROR MODAL */}\n            {sendDataError && (\n              <Modal\n                headLine={translate('confirmation-title')}\n                closeFce={toggleErrorModal}\n                className=\"test-modal-ExportPlateRequest\"\n              >\n                <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n              </Modal>\n            )}\n            {/* STEPS */}\n            <Steps\n              steps={[\n                {\n                  stepNumber: 1,\n                  title: 'requestForm',\n                },\n                {\n                  stepNumber: 2,\n                  title: 'requestSummary',\n                },\n              ]}\n              activeStep={1}\n              translate={translate}\n            />\n            <h3 className=\"mb-4\">{translate('applicationSubject')}</h3>\n            <VehicleDetail\n              key={vm.applicationService.vehicle?.information.mainInformation.id}\n              vehicle={vm.applicationService.selectedVehicle}\n              translate={translate}\n            />\n            <Form\n              newOwnerTypeOptions={newOwnerTypeOptions}\n              authorityInfoViewModel={vm.applicationService.authorityInfoViewModel}\n              formModel={vm.applicationService.formModel}\n              contactInfoViewModel={vm.contactInfoViewModel}\n              translate={translate}\n              useCountrySelect={true}\n              countryOptions={vm.applicationService.countryOptions}\n              countryUnavailable={vm.applicationService.countryUnavailable}\n            />\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-5\">\n          <Button\n            testId=\"export-plate-request-back\"\n            outlined\n            onClick={navToIntro}\n            text={sharedTranslate('back')}\n          />\n          {busyWatcher.isBusy ? (\n            <ButtonLoader classes=\"\" />\n          ) : (\n            <Button\n              testId=\"export-plate-request-continue\"\n              onClick={navToSummary}\n              text={sharedTranslate('continue')}\n            />\n          )}\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default FormView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ExportPlateRequestFormViewModel from './ExportPlateRequestFormViewModel';\nimport Container from '@components/layout/Container';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst ExportPlateRequestFormViewLoading: View<ExportPlateRequestFormViewModel> = observer(({ vm }) => {\n  const { title } = vm;\n  return (\n    <Container>\n      <Typography variant=\"h1\" component={'h1'}>\n        {title}\n      </Typography>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default ExportPlateRequestFormViewLoading;\n","import { Inject, Service } from 'typedi';\nimport {action, makeObservable, observable} from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ExportPlateRequestFormView from './ExportPlateRequestFormView';\nimport ApplicationService from '../ApplicationService';\nimport ExportPlateRequestSummaryViewModel from '../02_summary/ExportPlateRequestSummaryViewModel';\nimport IntroExportPlateRequestViewModel from '../00_intro/IntroExportPlateRequestViewModel';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { OwnerModelValidators } from '../models/OwnerModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport ExportPlateRequestFormViewLoading from './ExportPlateRequestFormViewLoading';\n\n\n@Service()\n@AddDefaultView(ExportPlateRequestFormView)\n@AddBusyView(ExportPlateRequestFormViewLoading)\nexport default class ExportPlateRequestFormViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get newOwnerTypeOptions() {\n    return this.applicationService.newOwnerTypeOptions(this.translate);\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject()\n    private exportPlateRequestSummaryViewModel: ExportPlateRequestSummaryViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(exportPlateRequestSummaryViewModel);\n  }\n\n  async notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = false;\n  }\n\n  @Watch<ExportPlateRequestFormViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    this.validation.attachDescriptor(this.applicationService.formModel.newOwner, OwnerModelValidators);\n    await this.applicationService.fetchCountryOptions()\n  }\n\n  deactivate() {\n    this.validation.detachDescriptor(this.applicationService.formModel.newOwner);\n  }\n\n  @Watch<ExportPlateRequestFormViewModel>((t) => t.busyWatcher)\n  @action.bound\n  async navToSummary() {\n    if (\n      this.validation.validateObject(this.applicationService.formModel.newOwner) &&\n      this.authorityInfoViewModel.changedFromDefault &&\n      this.applicationService.contactInfoViewModel.isValid\n    ) {\n      this.navigator(ExportPlateRequestSummaryViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n      }).go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(IntroExportPlateRequestViewModel, {\n      vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n    }).go();\n  }\n\n  translate = translate('vehicle-register.applications.exportPlateRequest.form', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { OwnerModel } from '../models/OwnerModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\nimport { SelectOption } from '@form/Select/Select';\n\ntype NewOwnerProps = {\n  newOwner: OwnerModel;\n  translate: Translator;\n  countryOptions: SelectOption<string>[];\n};\n\nconst NewOwner = observer(({ newOwner, translate, countryOptions }: NewOwnerProps) => {\n  const countryName = countryOptions.find((c) => c.value === newOwner.country)?.label || '';\n\n  return (\n    <>\n      <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2'}>\n        {translate('foreignPerson')}\n      </Typography>\n      <div className=\"personal-info-section u-color--grey-dark\">\n        {newOwner.personType === MandatePersonType.FO ? (\n          <>\n            <p className=\"u-color--grey-dark my-0\" data-testid=\"full-name\">\n              {translate('fullName')}:&nbsp;\n              <b>\n                {newOwner.firstName}&nbsp;{newOwner.lastName}\n              </b>\n            </p>\n            <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n              {translate('address')}:&nbsp;\n              <b>\n                {newOwner.address.replace(`, ${newOwner.country}`, '')}\n                {countryName ? `, ${countryName}` : ''}\n              </b>\n            </p>\n          </>\n        ) : (\n          <>\n            <p className=\"u-color--grey-dark my-0\" data-testid=\"name\">\n              {translate('name')}:&nbsp; <b>{newOwner.name}</b>\n            </p>\n            <p className=\"u-color--grey-dark my-0\" data-testid=\"identification-number\">\n              {translate('identificationNumber')}:&nbsp;<b>{newOwner.identificationNumber}</b>\n            </p>\n            <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n              {translate('address')}:&nbsp;\n              <b>\n                {newOwner.address.replace(`, ${newOwner.country}`, '')}\n                {countryName ? `, ${countryName}` : ''}\n              </b>\n            </p>\n          </>\n        )}\n      </div>\n    </>\n  );\n});\n\nexport default NewOwner;\n","import { observer } from 'mobx-react-lite';\nimport type ExportPlateRequestSummaryViewModel from './ExportPlateRequestSummaryViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Modal from '../../../../../components/shared/Modal';\nimport InfoPanel from '../../../../../components/shared/InfoPanel/InfoPanel';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport Owner from '../components/Owner';\nimport NewOwner from '../components/NewOwner';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport SummaryWarning from '../../../components/SummaryWarning/SummaryWarning';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\n\nconst ExportPlateRequestSummaryView: View<ExportPlateRequestSummaryViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    sharedTranslate,\n    sendDataError,\n    toggleErrorModal,\n    confirmationModalVisible,\n    toggleConfirmationModal,\n    navToConfirmation,\n    navBack,\n    confirmBusyWatcher,\n  } = vm;\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"summary-content pb-4\">\n            <h1 data-testid=\"title\">{translate('title')}</h1>\n            {/* ERROR MODAL */}\n            {sendDataError && (\n              <Modal\n                headLine={translate('confirmation-title')}\n                closeFce={toggleErrorModal}\n                className=\"test-modal-ExportPlateRequestSummaryError\"\n              >\n                <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n              </Modal>\n            )}\n            {/* CONFIRMATION MODAL */}\n            {confirmationModalVisible && (\n              <Modal\n                headLine={translate('confirmation-title')}\n                closeFce={toggleConfirmationModal}\n                className=\"test-modal-ExportPlateRequestSummaryConfirmation\"\n              >\n                <InfoPanel message={translate('confirmation.warning')} type=\"warning\" />\n                <div>\n                  <p className=\"u-color--grey-dark my-4\" data-testid=\"form-id\">\n                    {translate('confirmation.formId')}\n                  </p>\n\n                  <p className=\"u-color--grey-dark my-0\" data-testid=\"auth-place\">\n                    {translate('confirmation.authPlace')}\n                  </p>\n                  <p className=\"fw-bold u-color--grey-dark mt-0 mb-4\" data-testid=\"authority-text\">\n                    {vm.applicationService.authorityInfoViewModel.authorityText}\n                  </p>\n                </div>\n\n                <div className=\"d-flex justify-content-end mt-5\">\n                  {confirmBusyWatcher.isBusy ? (\n                    <ButtonLoader classes=\"\" />\n                  ) : (\n                    <>\n                      <Button\n                        rightMargin\n                        outlined\n                        onClick={toggleConfirmationModal}\n                        text={sharedTranslate('back')}\n                        testId=\"toggle-confirmation-modal-back\"\n                      />\n                      <Button\n                        testId=\"toggle-confirmation-modal-confirm\"\n                        onClick={navToConfirmation}\n                        text={sharedTranslate('confirmSend')}\n                      />\n                    </>\n                  )}\n                </div>\n              </Modal>\n            )}\n            {/* STEPS */}\n            <Steps\n              steps={[\n                {\n                  stepNumber: 1,\n                  title: 'requestForm',\n                },\n                {\n                  stepNumber: 2,\n                  title: 'requestSummary',\n                },\n              ]}\n              activeStep={2}\n              translate={translate}\n            />\n            {/* CAR INFO */}\n            <Typography component=\"h3\" variant=\"h4\" className=\"bold mt-4 mb-2\">\n              {translate('subject')}\n            </Typography>\n            <VehicleDetail\n              key={vm.applicationService.vehicle?.information.mainInformation.id}\n              vehicle={vm.applicationService.selectedVehicle}\n              translate={translate}\n            />\n            <Owner\n              personType={vm.applicationService.vehicleRegisterService.personType}\n              personalInfo={vm.applicationService.personalInfo}\n              entrepreneurInfo={vm.applicationService.entrepreneurInfo}\n              translate={translate}\n              {...(vm.contactInfoModel.isCurrentUserOriginUser && {\n                email: vm.contactInfoModel.email,\n                phone: vm.contactInfoModel.formattedPhone,\n              })}\n            />\n\n            <RepresentativeContactSummary contactInfoViewModel={vm.contactInfoModel} />\n\n            <NewOwner\n              newOwner={vm.applicationService.formModel.newOwner}\n              translate={translate}\n              countryOptions={vm.applicationService.countryOptions}\n            />\n            <AuthorityInfoView vm={vm.applicationService.authorityInfoViewModel} />\n            <SummaryWarning\n              personType={vm.applicationService.vehicleRegisterService.personType}\n              translate={vm.sharedTranslate}\n            />\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-5\">\n          <Button testId=\"export-plate-back\" outlined onClick={navBack} text={sharedTranslate('back')} />\n          <Button\n            testId=\"export-plate-send\"\n            onClick={toggleConfirmationModal}\n            text={sharedTranslate('sendApplication')}\n          />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default ExportPlateRequestSummaryView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ExportPlateRequestSummaryViewModel from './ExportPlateRequestSummaryViewModel';\nimport Container from '@components/layout/Container';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst ExportPlateRequestSummaryViewLoading: View<ExportPlateRequestSummaryViewModel> = observer(({ vm }) => {\n  const { title } = vm;\n  return (\n    <Container>\n      <Typography variant=\"h1\" component={'h1'}>\n        {title}\n      </Typography>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default ExportPlateRequestSummaryViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryView from './ExportPlateRequestSummaryView';\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ExportPlateRequestFormViewModel from '../01_form/ExportPlateRequestFormViewModel';\nimport ConfirmationViewModel from '../03_confirmation/ExportPlateRequestConfirmationViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport ExportPlateRequestSummaryViewLoading from './ExportPlateRequestSummaryViewLoading';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummaryView)\n@AddBusyView(ExportPlateRequestSummaryViewLoading)\nexport default class ExportPlateRequestSummaryViewModel extends RsvBaseScreen {\n  @observable confirmBusyWatcher = new BusyWatcher();\n  @observable busyWatcher = new BusyWatcher();\n  @observable confirmationModalVisible = false;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoModel: ContactInfoViewModel,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.summaryHeaderClassName = 'my-4 bold h4';\n  }\n\n  get authorityInfo() {\n    return this.applicationService.authorityInfoViewModel.authorityText;\n  }\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  @Watch<ExportPlateRequestSummaryViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    } else if (this.applicationService.authorityInfoViewModel.selectedAuthorityId === 0) {\n      this.navigator(ExportPlateRequestFormViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n      }).go();\n    }\n  }\n\n  @action.bound\n  deactivate() {}\n\n  @action.bound\n  navBack() {\n    this.navToForm();\n  }\n\n  @Watch<ExportPlateRequestSummaryViewModel>((s) => s.confirmBusyWatcher)\n  @action.bound\n  async navToConfirmation() {\n    try {\n      await this.applicationService.confirmRequest();\n      this.navigator(ConfirmationViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n      }).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(err, 'ExportPlateRequest ExportPlateRequestSummaryViewModel', 'navToConfirmation');\n      this.handleError(err);\n    }\n    this.confirmationModalVisible = false;\n  }\n\n  @action.bound\n  navToForm() {\n    this.navigator(ExportPlateRequestFormViewModel, {\n      vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n    }).go();\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(ExportPlateRequestFormViewModel, {\n      vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n    }).go();\n  }\n\n  @action.bound\n  toggleConfirmationModal() {\n    this.confirmationModalVisible = !this.confirmationModalVisible;\n  }\n\n  translate = translate('vehicle-register.applications.exportPlateRequest.summary', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type ExportPlateRequestConfirmationViewModel from './ExportPlateRequestConfirmationViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport InfoBox from '../../../../../components/shared/InfoBox/InfoBox';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport './ExportPlateRequestConfirmationView.scss';\nimport ConfirmationCode from '../../../components/Confirmation/ConfirmationCode';\n\nconst ExportPlateRequestConfirmationView: View<ExportPlateRequestConfirmationViewModel> = observer(\n  ({ vm }) => {\n    const { translate, sharedTranslate, pdfBusyWatcher } = vm;\n\n    return (\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <SuccessMessage\n              text={\n                <>\n                  <span className=\"ml-0 font-normal\">{translate('confirmation.sent-successfully')}</span>\n                  <span className=\"mx-0\">{` - ${vm.applicationService.authorityInfoViewModel.authorityTextWithComma}`}</span>\n                </>\n              }\n            />\n\n            <ConfirmationCode\n              translate={vm.sharedTranslate}\n              requestCode={vm.applicationService.requestCode}\n            />\n\n            <InfoBox className=\"confirmation-info-box mt-4\">\n              <div>\n                <p>{translate('confirmation.info-box.header')}</p>\n                <ul className=\"gov-list info-box-ul mx-4\">\n                  <li>{translate('confirmation.info-box.line1')}</li>\n                  <li>{translate('confirmation.info-box.line2')}</li>\n                </ul>\n\n                <p>\n                  {translate('confirmation.info-box.footer')}&nbsp;\n                  <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                    {vm.translateTariffCharges('tariff-charges')}\n                  </a>\n                  .\n                </p>\n              </div>\n            </InfoBox>\n\n            {vm.applicationService.pdfId && (\n              <div className=\"d-flex mt-4 mb-4\">\n                {pdfBusyWatcher.isBusy ? (\n                  <ButtonLoader classes=\"\" />\n                ) : (\n                  <Button\n                    testId=\"download-pdf-button\"\n                    rightMargin\n                    outlined\n                    onClick={() => vm.downloadApplicationPdf()}\n                    text={sharedTranslate('download-pdf')}\n                  />\n                )}\n              </div>\n            )}\n          </Envelope>\n        </Container>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default ExportPlateRequestConfirmationView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type ExportPlateRequestConfirmationViewModel from './ExportPlateRequestConfirmationViewModel';\nimport Container from '@components/layout/Container';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst ExportPlateRequestConfirmationViewLoading: View<ExportPlateRequestConfirmationViewModel> = observer(({ vm }) => {\n  const { title } = vm;\n  return (\n    <Container>\n      <Typography variant=\"h1\" component={'h1'}>\n        {title}\n      </Typography>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default ExportPlateRequestConfirmationViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ExportPlateRequestConfirmationView from './ExportPlateRequestConfirmationView';\nimport ApplicationService from '../ApplicationService';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from '../../../../../data/egon/api';\nimport ExportPlateRequestFormViewModel from '../01_form/ExportPlateRequestFormViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport ExportPlateRequestConfirmationViewLoading from './ExportPlateRequestConfirmationViewLoading';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\n\n@Service()\n@AddDefaultView(ExportPlateRequestConfirmationView)\n@AddBusyView(ExportPlateRequestConfirmationViewLoading)\nexport default class ConfirmationViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable pdfBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<ConfirmationViewModel>((s) => s.busyWatcher)\n  async activate() {\n    this.applicationService.authorityInfoViewModel.disabled = false;\n\n    await Promise.all([\n      this.applicationService.init(),\n      this.applicationService.authorityInfoViewModel.loadAuthorities(),\n    ]);\n\n    if (\n      this.applicationService.status &&\n      this.applicationService.status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED\n    ) {\n      this.navigator(ExportPlateRequestFormViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n      }).go();\n    }\n  }\n\n  @Watch<ConfirmationViewModel>((t) => t.pdfBusyWatcher)\n  @action\n  async downloadApplicationPdf() {\n    await this.applicationService.downloadPdf();\n  }\n\n  translate = translate('vehicle-register.applications.exportPlateRequest', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport { Domain_Contracts_Enums_Rsv_VehicleExportChangeType } from '../../../../../data/egon/api';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { OwnerModel } from './OwnerModel';\n\n@AddTranslationKey('exportPlateRequestForm')\nexport default class ExportPlateRequestFormModel {\n  @observable changeType = Domain_Contracts_Enums_Rsv_VehicleExportChangeType.EXPORT_REGISTRATION_PLATE;\n  @observable newOwner: OwnerModel = new OwnerModel();\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, override, runInAction } from 'mobx';\nimport ExportPlateRequestFormModel from './models/ExportPlateRequestFormModel';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport {\n  EgonServiceBus_WebApi_Requests_V1_Forms_CreateVehicleExportRequest,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Responses_V1_CountryResponse,\n} from '../../../../data/egon/api';\nimport ApiService from '../../../../services/ApiService';\nimport PdfUtils from '../../../../utils/PdfUtils';\nimport { OwnerModel } from './models/OwnerModel';\nimport AuthorityInfoViewModel from '../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { MandatePersonType } from '../../../../enums/MandatePersonType';\nimport RsvApplicationService from '../Shared/services/RsvApplicationService';\nimport MandatesService from 'src/services/MandatesService';\nimport RsvRequestsService from '../Shared/services/RsvRequestsService';\nimport { UserService } from 'src/services/UserService';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\nimport { SelectOption } from '@form/Select/Select';\n\n@Service()\nexport default class ApplicationService extends RsvApplicationService {\n  @observable formModel: ExportPlateRequestFormModel = new ExportPlateRequestFormModel();\n  @observable countryOptions: SelectOption<string>[] = [];\n  @observable countryUnavailable: boolean = false;\n\n  newOwnerTypeOptions(translate: Translator) {\n    return Object.values(MandatePersonType).map((value) => {\n      return {\n        id: value,\n        label: translate(value),\n      };\n    });\n  }\n\n  constructor(\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() private apiService: ApiService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() protected rsvRequestsService: RsvRequestsService,\n    @Inject() protected mandatesService: MandatesService,\n    @Inject() protected userService: UserService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel\n  ) {\n    super(Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_NEW_LICENCE_PLATE_FOR_EXPORT);\n    makeObservable(this);\n  }\n\n  @action\n  async fetchCountryOptions() {\n    runInAction(() => {\n      this.countryUnavailable = false;\n    });\n    const response = await this.apiService.egonApi.countries.getPdApiEgonV1Countries(['CZ']).catch((e) => {\n      if (e.status === 503) {\n        runInAction(() => {\n          this.countryUnavailable = true;\n        });\n        return [];\n      }\n      throw e;\n    });\n    runInAction(() => {\n      this.countryOptions = [\n        { value: '', label: '', key: 'empty' },\n        ...response.map((country: EgonServiceBus_WebApi_Responses_V1_CountryResponse) => ({\n          value: country.code,\n          label: country.name,\n          key: country.code,\n        })),\n      ];\n    });\n  }\n\n  @override\n  reset() {\n    super.reset();\n    this.formModel = new ExportPlateRequestFormModel();\n  }\n\n  async getRequest() {\n    if (!this.requestId) return;\n\n    const request =\n      await this.apiService.egonApi.vehicleExport.getPdApiEgonV1RsvRequestsVehicleExportRequests(\n        this.requestId\n      );\n\n    runInAction(() => {\n      this.requestId = request.requestId;\n      this.status = request.status;\n      this.requestCode = request.requestCode;\n\n      this.formModel.changeType = request.changeType;\n      this.formModel.newOwner = OwnerModel.mapData(request.newOwner);\n\n      if (request.targetAuthorityId !== request.workPlaceId) {\n        this.authorityInfoViewModel.selectedItem = `${request.targetAuthorityId}-${request.workPlaceId}`;\n      } else {\n        this.authorityInfoViewModel.selectedItem = `${request.targetAuthorityId}-${null}`;\n      }\n\n      if (request.attachments && request.attachments.length > 0) {\n        const pdfApplication = request.attachments.find((attach) => attach.type === 'Request');\n        if (pdfApplication) {\n          this.pdfId = pdfApplication.id;\n        }\n      }\n    });\n  }\n\n  private async postRequest() {\n    const { requestId } =\n      await this.apiService.egonApi.vehicleExport.postPdApiEgonV1RsvRequestsVehicleExportRequests(\n        this.getRequestBodyFromModelData()\n      );\n    runInAction(() => {\n      this.requestId = requestId;\n    });\n  }\n\n  async handoverRequest() {\n    if (!this.requestId) {\n      throw `No requestId when handover called`;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestCode = response.code;\n    });\n  }\n\n  async confirmRequest() {\n    if (this.requestId === undefined) {\n      await this.postRequest();\n    }\n\n    await this.handoverRequest();\n\n    await this.getRequest();\n\n    this.rsvRequestsService.reset();\n  }\n\n  private getRequestBodyFromModelData(): EgonServiceBus_WebApi_Requests_V1_Forms_CreateVehicleExportRequest {\n    const requestBody = {} as EgonServiceBus_WebApi_Requests_V1_Forms_CreateVehicleExportRequest;\n    requestBody.vehicleId = this.selectedVehicle?.mainInformation?.id ?? 0;\n    requestBody.contacts = this.contactInfoViewModel.representativeContacts;\n    requestBody.targetAuthorityId = this.authorityInfoViewModel.selectedAuthorityId;\n    requestBody.workPlaceId =\n      this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId;\n\n    requestBody.newOwner = {\n      address: this.formModel.newOwner.address,\n    };\n\n    if (this.formModel.newOwner.personType === MandatePersonType.FO) {\n      requestBody.newOwner = {\n        ...requestBody.newOwner,\n        firstName: this.formModel.newOwner.firstName,\n        lastName: this.formModel.newOwner.lastName,\n        name: null,\n      };\n    } else {\n      requestBody.newOwner = {\n        ...requestBody.newOwner,\n        name: this.formModel.newOwner.name,\n        identificationNumber: this.formModel.newOwner.identificationNumber,\n        firstName: null,\n        lastName: null,\n      };\n    }\n\n    return requestBody;\n  }\n\n  async downloadPdf() {\n    if (!this.requestId || !this.pdfId) {\n      return;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsAttachments(\n      this.pdfId,\n      this.requestId.toString()\n    );\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport {\n  EgonServiceBus_WebApi_Responses_V1_User_PersonalInfoResponse,\n  EgonServiceBus_WebApi_Responses_V1_User_UserEntrepreneurInfoResponse,\n} from '../../../../../data/egon/api';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DateUtils from '../../../../../utils/DateUtils';\nimport StringFormatUtils from '../../../../../utils/StringFormatUtils';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\n\ntype OwnerProps = {\n  personType: MandatePersonType;\n  personalInfo: EgonServiceBus_WebApi_Responses_V1_User_PersonalInfoResponse | undefined;\n  entrepreneurInfo: EgonServiceBus_WebApi_Responses_V1_User_UserEntrepreneurInfoResponse | undefined;\n  email?: string;\n  phone?: string;\n  translate: Translator;\n};\n\nconst Owner = observer(\n  ({ personType, personalInfo, entrepreneurInfo, email, phone, translate }: OwnerProps) => {\n    return (\n      <>\n        <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2'}>\n          {translate('owner')}\n        </Typography>\n        <div className=\"personal-info-section u-color--grey-dark\">\n          {personType === MandatePersonType.FO ? (\n            <>\n              {/* PERSONAL INFO */}\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"full-name\">\n                {translate('fullName')}:&nbsp;\n                <b>{`${personalInfo?.firstname} ${personalInfo?.surname}`}</b>\n              </p>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"date-of-birth\">\n                {translate('date-of-birth')}:&nbsp;\n                <b>{DateUtils.dateFormatCz(personalInfo?.dayOfBirth ?? '')}</b>\n              </p>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n                {translate('address')}:&nbsp;\n                <b>{personalInfo?.permanentResidency?.formattedAddress}</b>\n              </p>\n            </>\n          ) : (\n            <>\n              {/* ENTREPRENEUR INFO */}\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"name\">\n                {translate('name')}:&nbsp; <b>{entrepreneurInfo?.companyName}</b>\n              </p>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"identification-number\">\n                {translate('identificationNumber')}:&nbsp; <b>{entrepreneurInfo?.identificationNumber}</b>\n              </p>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n                {translate('address')}:&nbsp;\n                <b>{entrepreneurInfo?.permanentResidency?.formattedAddress}</b>\n              </p>\n            </>\n          )}\n\n          {/* EMAIL AND PHONE */}\n\n          {email && (\n            <p className=\"u-color--grey-dark my-0\" data-testid=\"email\">\n              {translate('email')}:&nbsp; <b>{email}</b>\n            </p>\n          )}\n          {phone && (\n            <p className=\"u-color--grey-dark my-0\" data-testid=\"phone\">\n              {translate('phone')}:&nbsp; <b>{StringFormatUtils.formatPhoneNumber(phone)}</b>\n            </p>\n          )}\n        </div>\n      </>\n    );\n  }\n);\n\nexport default Owner;\n","import { computed, makeAutoObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectExportResponse } from '../../../../../data/egon/api';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../data/validators/registry';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\n\n@AddTranslationKey('owner')\nexport class OwnerModel {\n  @observable personType = MandatePersonType.FO;\n  @observable firstName: string = '';\n  @observable lastName: string = '';\n  @observable birthDate: string = '';\n  @observable birthNumber: string = '';\n  @observable name: string = '';\n  @observable identificationNumber: string = '';\n  @observable streetDescriptiveOrientationNumber = '';\n  @observable city: string = '';\n  @observable zip: string = '';\n  @observable country: string = '';\n  @observable requestAddress = '';\n\n  @computed\n  get address() {\n    const address = `${this.streetDescriptiveOrientationNumber}, ${this.city}, ${this.zip}, ${this.country}`;\n\n    if (!this.streetDescriptiveOrientationNumber && !this.city && !this.zip && !this.country) {\n      return this.requestAddress;\n    } else {\n      return address;\n    }\n  }\n\n  constructor() {\n    makeAutoObservable(this);\n  }\n\n  public static mapData(data: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectExportResponse | undefined) {\n    const model = new OwnerModel();\n\n    if (!data) {\n      return model;\n    }\n\n    model.firstName = data.firstName ?? '';\n    model.lastName = data.lastName ?? '';\n    model.birthDate = data.birthDate ?? '';\n    model.birthNumber = data.birthNumber ?? '';\n    model.name = data.name ?? '';\n    model.identificationNumber = data.identificationNumber ?? '';\n    model.requestAddress = data.address ?? '';\n\n    if (model.identificationNumber.length > 0) {\n      model.personType = MandatePersonType.PO;\n    } else {\n      model.personType = MandatePersonType.FO;\n    }\n\n    return model;\n  }\n}\n\nexport const OwnerModelValidators: ValidationDescriptor<OwnerModel, Validators> = {\n  firstName: {\n    required: {\n      message: 'firstName.required',\n      options: {\n        if: (t: OwnerModel) => t.personType === MandatePersonType.FO,\n      },\n    },\n  },\n  lastName: {\n    required: {\n      message: 'lastName.required',\n      options: {\n        if: (t: OwnerModel) => t.personType === MandatePersonType.FO,\n      },\n    },\n  },\n  name: {\n    required: {\n      message: 'name.required',\n      options: {\n        if: (t: OwnerModel) => t.personType === MandatePersonType.PO,\n      },\n    },\n  },\n  identificationNumber: {\n    required: {\n      message: 'identificationNumber.required',\n      options: {\n        if: (t: OwnerModel) => t.personType === MandatePersonType.PO,\n      },\n    },\n  },\n  streetDescriptiveOrientationNumber: {\n    required: {\n      message: 'streetDescriptiveOrientationNumber.required',\n    },\n  },\n  city: {\n    required: {\n      message: 'city.required',\n    },\n  },\n  zip: {\n    required: {\n      message: 'zip.required',\n    },\n  },\n  country: {\n    required: {\n      message: 'country.required',\n    },\n  },\n};\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type IntroLicencePlateLossViewModel from './IntroLicencePlateLossViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport Alert from '../../../../../components/shared/Alert/Alert';\nimport Button from '../../../../../components/shared/Button/Button';\nimport ApplicationInProgressModal from '../../../components/ApplicationInProgressModal';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst IntroLicencePlateLossView: View<IntroLicencePlateLossViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <>\n      <Container className=\"rsv-intro\">\n        {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n\n        <Typography component=\"h1\" className=\"thin mb-4\" data-testid=\"intro-title\">\n          {translate('title')}\n        </Typography>\n\n        <Typography className=\"mb-4\" data-testid=\"pre-description\">\n          {translate('preDescription')}\n        </Typography>\n        <Typography className=\"mb-4\" data-testid=\"description\">\n          {translate('description')}\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"process-steps-heading\">\n          {translate('processSteps.stepsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-4\">\n          <Typography component=\"li\" data-testid=\"process-step-1\">\n            {translate('processSteps.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-2\">\n            {translate('processSteps.step2')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-3\">\n            {translate('processSteps.step3')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-4\">\n            {translate('processSteps.step4')}&nbsp;\n            <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n              {vm.translateTariffCharges('tariff-charges')}\n            </a>\n            .\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"required-documents-heading\">\n          {translate('requiredDocuments.requiredDocumentsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-4\">\n          <Typography component=\"li\" data-testid=\"required-document-2\">\n            {translate('requiredDocuments.step2')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"required-document-3\">\n            {translate('requiredDocuments.step3')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"required-document-4\">\n            {translate('requiredDocuments.step4')}\n          </Typography>\n        </Typography>\n\n        <Alert type=\"warning\" data-testid=\"stolen-warning\">\n          {translate('stolenWarning1')} <strong>{translate('stolenWarning2')}</strong>{' '}\n          {translate('stolenWarning3')}\n        </Alert>\n        <br />\n\n        <Typography component=\"h2\" className=\"h4 mb-4\" data-testid=\"what-to-expect-heading\">\n          {translate('whatToExpect.whatToExpectHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"mb-5\">\n          <Typography component=\"li\" data-testid=\"what-to-expect-step-1\">\n            {translate('whatToExpect.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"what-to-expect-step-2\">\n            {translate('whatToExpect.step2')}\n          </Typography>\n        </Typography>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button\n            testId=\"intro-licence-plate-loss-back\"\n            outlined\n            onClick={() => vm?.goToVehicle()}\n            text={translate('back').toUpperCase()}\n          />\n          <Button\n            testId=\"intro-licence-plate-loss-fill-application\"\n            onClick={vm?.goToForm}\n            text={translate('fillApplication').toUpperCase()}\n          />\n        </div>\n      </Container>\n    </>\n  );\n});\n\nexport default IntroLicencePlateLossView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport IntroLicencePlateLossViewModel from './IntroLicencePlateLossViewModel';\n\nconst IntroLicencePlateLossViewLoading: View<IntroLicencePlateLossViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default IntroLicencePlateLossViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport IntroLicencePlateLossView from './IntroLicencePlateLossView';\nimport LicencePlateLossFormViewModel from '../01_form/LicencePlateLossFormViewModel';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport AbstractApplicationViewModel from '../../AbstractApplicationViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport IntroLicencePlateLossViewLoading from './IntroLicencePlateLossViewLoading';\nimport ApplicationListViewModel from '../../../applicationsList/ApplicationListViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport ApplicationService from '../ApplicationService';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(IntroLicencePlateLossView)\n@AddBusyView(IntroLicencePlateLossViewLoading)\nexport default class IntroLicencePlateLossViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable shouldDisplayApplicationInProgressModal: boolean = false;\n\n  get pathNode(): string {\n    return 'intro';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<IntroLicencePlateLossViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      runInAction(() => {\n        this.shouldDisplayApplicationInProgressModal = true;\n      });\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.shouldDisplayApplicationInProgressModal = false;\n    });\n  }\n\n  @action.bound\n  goToForm() {\n    if (this.shouldDisplayApplicationInProgressModal) {\n      this.applicationInProgressModalVisible = true;\n      return;\n    }\n    if (this.vehicleRegisterService.vehicleID) {\n      this.navigator(LicencePlateLossFormViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicle() {\n    if (this.vehicleRegisterService.vehicleID) {\n      this.applicationInProgressModalVisible = false;\n      this.navigator(AbstractApplicationViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicleList() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator(ApplicationListViewModel).go({\n      requestId: this.applicationService.requestId?.toString() ?? '',\n    });\n  }\n\n  @action.bound\n  toggleApplicationInProgressModal() {\n    this.applicationInProgressModalVisible = !this.applicationInProgressModalVisible;\n  }\n\n  translate = translate('vehicle-register.applications.license-plate-loss', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport Fieldset from '../../../../../components/form/Fieldset';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport DragAndDropFile from '../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type RegisterFormModel from '../models/LicencePlateLossFormModel';\nimport DatePicker from '../../../../../components/form/DatePicker';\nimport ButtonRadioGroup from '../../../../../components/form/RadioGroup/ButtonRadioGroup';\nimport ContactInfoView from '../../../../components/ContactInfo/ContactInfoView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport './Form.scss';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AttachmentsHeader from 'src/app/vehicle/components/AttachmentsHeader';\nimport { GovIcon, LegacyTooltip } from '@cendis/cedr-components';\n\ntype RadioOption = { id: string; label: string };\n\ntype Props = {\n  translate: Translator;\n  sharedTranslate: Translator;\n  eventOptions: RadioOption[];\n  plateCountOptions: RadioOption[];\n  authorityInfoViewModel: AuthorityInfoViewModel;\n  model: RegisterFormModel;\n  contactInfoModel: ContactInfoViewModel;\n  setFile: (file: File | FileList, description: string, isMultiple?: boolean) => void;\n  unsetFile: (fileName: string) => void;\n  isStolen: boolean;\n};\n\nconst Form = observer(\n  ({\n    translate,\n    sharedTranslate,\n    eventOptions,\n    authorityInfoViewModel,\n    plateCountOptions,\n    contactInfoModel,\n    model,\n    setFile,\n    unsetFile,\n    isStolen,\n  }: Props) => {\n    return (\n      <>\n        <h3 data-testid=\"event-type\">{translate('form.chooseEvent')}</h3>\n        <RadioGroup\n          className=\"mb-4\"\n          target={model}\n          property=\"eventType\"\n          options={eventOptions}\n          testId=\"event-type\"\n        />\n\n        <h3 className=\"has-hint css-reset\" data-testid=\"event-date\">\n          <span>{translate('form.eventDate')}</span>\n          <LegacyTooltip tooltipContent={translate('form.eventDateHint')} position=\"bottom\" size=\"s\">\n            <GovIcon\n              name={'components/info-circle-fill'}\n              size=\"m\"\n              className=\"mx-1 mb-1 inline align-middle\"\n            />\n          </LegacyTooltip>\n        </h3>\n        <Fieldset className=\"col-sm-12 col-md-6\">\n          <DatePicker target={model} property=\"eventDate\" />\n        </Fieldset>\n\n        <h3 className=\"has-hint css-reset\" data-testid=\"no-of-plates-left\">\n          <span>{translate('form.noOfPlatesLeft')}</span>\n          <LegacyTooltip tooltipContent={translate('form.noOfPlatesLeftHint')} position=\"bottom\" size=\"s\">\n            <GovIcon\n              name={'components/info-circle-fill'}\n              size=\"m\"\n              className=\"mx-1 mb-1 inline align-middle\"\n            />\n          </LegacyTooltip>\n        </h3>\n        <Fieldset className=\"col-sm-12 col-md-6 noOfPlatesLeft mt-4 mb-6\">\n          <ButtonRadioGroup target={model} property=\"plateCount\" data={plateCountOptions} />\n        </Fieldset>\n\n        <ContactInfoView vm={contactInfoModel} />\n\n        <AuthorityInfoView vm={authorityInfoViewModel} />\n\n        {isStolen && (\n          <>\n            <AttachmentsHeader translate={sharedTranslate} />\n            <DragAndDropFile\n              files={model.attachPoliceProtocol.filter((file) => file.description)}\n              id={1}\n              label={translate('form.policeProtocol')}\n              buttonLabel={translate('form.uploadFromDevice')}\n              infoLabel={translate('form.placeFile')}\n              filesLabel={translate('form.supportedFormatsInfo')}\n              formats={['jpg', 'jpeg', 'png', 'pdf']}\n              fileTypeError={translate('form.typeError')}\n              validationsFired={false}\n              hideFormats={true}\n              handleFile={setFile}\n              handleRemoveFile={unsetFile}\n              allowedFileSize={5 * 1024 * 1024}\n              fileSizeError={translate('form.sizeError')}\n              filesSize={0}\n              setFilesSize={() => {}}\n              generalTranslate={sharedTranslate}\n              hideDragAndDropArea={model.attachPoliceProtocol.length > 0}\n            />\n          </>\n        )}\n      </>\n    );\n  }\n);\n\nexport default Form;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport Form from './Form';\nimport type LicencePlateLossFormViewModel from './LicencePlateLossFormViewModel';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst LicencePlateLossFormView: View<LicencePlateLossFormViewModel> = observer(({ vm }) => {\n  const {\n    navToIntro,\n    navToSummary,\n    translate,\n    vehicleTranslate,\n    sharedTranslate,\n    licencePlateLossFormModel,\n    stepsData,\n  } = vm;\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"licence-plate-loss-form\">\n            <h1>{translate('title')}</h1>\n\n            <Steps steps={stepsData} activeStep={1} translate={translate} />\n\n            <Typography component=\"h3\" variant=\"h3\" className=\"my-4\">\n              {translate('form.applicationSubject')}\n            </Typography>\n            <VehicleDetail\n              key={vm.applicationService.vehicle?.information.mainInformation.id}\n              vehicle={vm.applicationService.selectedVehicle}\n              translate={vehicleTranslate}\n            />\n\n            <div className=\"mt-3\">\n              <Form\n                translate={translate}\n                sharedTranslate={sharedTranslate}\n                model={licencePlateLossFormModel}\n                plateCountOptions={vm.registrationPlatesCountOptions}\n                eventOptions={vm.eventOptions}\n                contactInfoModel={vm.contactInfoViewModel}\n                authorityInfoViewModel={vm.authorityInfoViewModel}\n                setFile={vm.applicationService.setAttachPoliceProtocol}\n                unsetFile={vm.applicationService.unsetAttachPoliceProtocol}\n                isStolen={vm.isStolen}\n              />\n            </div>\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button\n            testId=\"form-licence-plate-loss-back\"\n            outlined\n            onClick={navToIntro}\n            text={sharedTranslate('back')}\n          />\n          <Button\n            testId=\"form-licence-plate-loss-continue\"\n            onClick={navToSummary}\n            text={sharedTranslate('continue')}\n          />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default LicencePlateLossFormView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport LicencePlateLossFormViewModel from './LicencePlateLossFormViewModel';\n\nconst LicencePlateLossFormViewLoading: View<LicencePlateLossFormViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default LicencePlateLossFormViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LicencePlateLossFormView from './LicencePlateLossFormView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroDecommissioningViewModel from '../00_intro/IntroLicencePlateLossViewModel';\nimport SummaryLicencePlateLossViewModel from '../02_summary/SummaryLicencePlateLossViewModel';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport { Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType } from '../../../../../data/egon/api';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport { LicencePlateLossFormModelValidators } from '../models/LicencePlateLossFormModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport LicencePlateLossFormViewLoading from './LicencePlateLossFormViewLoading';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(LicencePlateLossFormView)\n@AddBusyView(LicencePlateLossFormViewLoading)\nexport default class LicencePlateLossFormViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @computed get eventOptions() {\n    return [\n      Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType.LOSS,\n      Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType.DAMAGED,\n      Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType.THEFT,\n    ].map((type) => {\n      return {\n        id: type,\n        label: this.translate(type),\n      };\n    });\n  }\n\n  @computed get registrationPlatesCountOptions() {\n    return [0, 1, 2, 3].map((type) => {\n      return {\n        id: type.toString(),\n        label: type.toString(),\n      };\n    });\n  }\n\n  get stepsData() {\n    return [\n      {\n        stepNumber: 1,\n        title: 'request-form',\n      },\n      {\n        stepNumber: 2,\n        title: 'request-summary',\n      },\n    ];\n  }\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get licencePlateLossFormModel() {\n    return this.applicationService.formModel;\n  }\n\n  get isStolen() {\n    return this.applicationService.formModel.eventType === Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType.THEFT;\n  }\n\n  @action.bound\n  navToSummary() {\n    if (\n      this.validation.validateObject(this.licencePlateLossFormModel) &&\n      this.vehicleRegisterService.vehicleID &&\n      this.authorityInfoViewModel.changedFromDefault &&\n      this.applicationService.contactInfoViewModel.isValid\n    ) {\n      this.navigator(SummaryLicencePlateLossViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    if (this.vehicleRegisterService.vehicleID) {\n      this.navigator(IntroDecommissioningViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @Watch<LicencePlateLossFormViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    this.validation.attachDescriptor(this.licencePlateLossFormModel, LicencePlateLossFormModelValidators);\n  }\n\n  @Watch<LicencePlateLossFormViewModel>((s) => s.busyWatcher)\n  async notifyNavigation() {\n    this.authorityInfoViewModel.disabled = false;\n  }\n\n  translate = translate('vehicle-register.applications.license-plate-loss', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryLicencePlateLossViewModel from './SummaryLicencePlateLossViewModel';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Modal from '../../../../../components/shared/Modal';\nimport InfoPanel from '../../../../../components/shared/InfoPanel/InfoPanel';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport OwnerOrOperator from '../../../components/OwnerOrOperator';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport AttachmentsSummary from '../../../components/AttachmentsSummary';\nimport SummaryWarning from '../../../components/SummaryWarning/SummaryWarning';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\n\nconst SummaryLicencePlateLossView: View<SummaryLicencePlateLossViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    sharedTranslate,\n    vehicleTranslate,\n    formModel,\n    confirmationModalVisible,\n    contactInfoModel,\n    navBack,\n    sendDataError,\n    toggleConfirmationModal,\n    toggleErrorModal,\n    confirmBusyWatcher,\n    confirmRequest,\n    fileList,\n    isStolen,\n  } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        {confirmationModalVisible && (\n          <Modal\n            headLine={translate('confirmation-title')}\n            closeFce={toggleConfirmationModal}\n            className=\"test-modal-SummaryLicencePlateLossConfirmation\"\n          >\n            <InfoPanel message={translate('confirmation.warning')} type=\"warning\" />\n            <div>\n              <Typography className=\"u-color--grey-dark my-4\" data-testid=\"form-id\">\n                {translate('confirmation.formId')}\n              </Typography>\n              <Typography className=\"u-color--grey-dark my-0\" data-testid=\"auth-place\">\n                {translate('confirmation.authPlace')}\n              </Typography>\n              <Typography\n                variant=\"body2\"\n                className=\"u-color--grey-dark mt-0 mb-4\"\n                data-testid=\"authority-text\"\n              >\n                {vm.applicationService.authorityInfoViewModel.authorityText}\n              </Typography>\n            </div>\n\n            <div className=\"d-flex justify-content-end mt-5\">\n              <Button\n                testId=\"summary-licence-plate-loss-back\"\n                rightMargin\n                outlined\n                onClick={toggleConfirmationModal}\n                text={sharedTranslate('back')}\n              />\n              <Button\n                testId=\"summary-licence-plate-loss-confirm-send\"\n                onClick={confirmRequest}\n                text={sharedTranslate('confirmSend')}\n                isBusy={confirmBusyWatcher.isBusy}\n              />\n            </div>\n          </Modal>\n        )}\n        {sendDataError && (\n          <Modal\n            headLine={translate('confirmation-title')}\n            closeFce={toggleErrorModal}\n            className=\"test-modal-SummaryLicencePlateLossError\"\n          >\n            <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n          </Modal>\n        )}\n        <Envelope>\n          <Typography component=\"h1\" variant=\"h1\">\n            {translate('title')}\n          </Typography>\n\n          <Steps steps={vm.stepsData} activeStep={2} translate={translate} />\n\n          {/* CAR INFO */}\n          <Typography component=\"h3\" variant=\"h4\" className=\"bold mt-4 mb-2\" data-testid=\"subject\">\n            {translate('form.applicationSubject')}\n          </Typography>\n          <VehicleDetail\n            key={vm.applicationService.vehicle?.information.mainInformation.id}\n            vehicle={vm.applicationService.selectedVehicle}\n            translate={vehicleTranslate}\n          />\n\n          {/* REQUEST REASON */}\n          <Typography component=\"h3\" variant=\"h4\" className=\"bold mt-4 mb-2\" data-testid=\"application-reason\">\n            {translate('summary.applicationReason')}\n          </Typography>\n          <Typography className=\"mb-0\" data-testid=\"application-reason-text\">\n            {translate(formModel.eventType)} {translate('summary.spz')}{' '}\n          </Typography>\n          <Typography data-testid=\"event-date\">\n            {translate('eventDate')}: {formModel.eventDate}\n          </Typography>\n\n          {/* CURRENT OWNER INFO */}\n          <OwnerOrOperator\n            isLoggedUserOwner={vm.applicationService.isLoggedUserOwner}\n            data={vm.applicationService.ownerInfo}\n            translate={translate}\n            {...(contactInfoModel.isCurrentUserOriginUser && {\n              email: contactInfoModel.email,\n              phone: contactInfoModel.formattedPhone,\n            })}\n          />\n\n          <RepresentativeContactSummary contactInfoViewModel={contactInfoModel} />\n\n          {/* Documents */}\n          {isStolen && (\n            <AttachmentsSummary\n              title={translate('summary.attachments')}\n              noFilesText={translate('summary.noAttachment')}\n              fileList={fileList}\n              className=\"mt-4\"\n            />\n          )}\n\n          {/* REQUEST FINISH LOCATION */}\n          <AuthorityInfoView vm={vm.applicationService.authorityInfoViewModel} />\n\n          <SummaryWarning\n            personType={vm.applicationService.vehicleServicePersonType}\n            translate={sharedTranslate}\n          />\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button\n            testId=\"summary-licence-plate-loss-back-2\"\n            outlined\n            onClick={navBack}\n            text={translate('back')}\n          />\n          <Button\n            testId=\"summary-licence-plate-loss-handover-application\"\n            onClick={toggleConfirmationModal}\n            text={translate('handoverApplication')}\n          />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default SummaryLicencePlateLossView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport SummaryLicencePlateLossViewModel from './SummaryLicencePlateLossViewModel';\n\nconst SummaryLicencePlateLossViewLoading: View<SummaryLicencePlateLossViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default SummaryLicencePlateLossViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummaryLicencePlateLossView from './SummaryLicencePlateLossView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LicencePlateLossFormViewModel from '../01_form/LicencePlateLossFormViewModel';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport ApplicationService from '../ApplicationService';\nimport LicencePlateLossViewConfirmedViewModel from '../03_confirmation/LicencePlateLossViewConfirmedViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport IntroLicencePlateLossViewModel from '../00_intro/IntroLicencePlateLossViewModel';\nimport { Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType } from '../../../../../data/egon/api';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport SummaryLicencePlateLossViewLoading from './SummaryLicencePlateLossViewLoading';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummaryLicencePlateLossView)\n@AddBusyView(SummaryLicencePlateLossViewLoading)\nexport default class SummaryLicencePlateLossViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  confirmBusyWatcher = new BusyWatcher();\n\n  @observable registryError = false;\n  @observable confirmationModalVisible = false;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoModel: ContactInfoViewModel,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  get stepsData() {\n    return [\n      {\n        stepNumber: 1,\n        title: 'request-form',\n      },\n      {\n        stepNumber: 2,\n        title: 'request-summary',\n      },\n    ];\n  }\n\n  @computed\n  get isStolen() {\n    return this.applicationService.formModel.eventType === Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType.THEFT;\n  }\n\n  @computed\n  get fileList() {\n    const files: Array<{ file: File; typeName: string }> = [];\n\n    this.formModel.attachPoliceProtocol.map((attach) => {\n      files.push({\n        typeName: this.translate('summary.policeProtocol'),\n        file: attach.file,\n      });\n    });\n\n    return files;\n  }\n\n  @Watch<SummaryLicencePlateLossViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    if (this.applicationService.authorityInfoViewModel.selectedAuthorityId === 0 && this.applicationService.vehicle) {\n      this.navigator(LicencePlateLossFormViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.summaryHeaderClassName = 'fw-bold u-color--grey-dark mb-2';\n  }\n\n  @Watch<SummaryLicencePlateLossViewModel>((s) => s.confirmBusyWatcher)\n  @action.bound\n  async confirmRequest() {\n    try {\n      await this.applicationService.confirmRequest();\n\n      this.navigator(LicencePlateLossViewConfirmedViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'LicencePlateLossSummaryLicencePlateLossViewModel', 'confirmRequest');\n      this.handleError(e);\n    }\n    this.confirmationModalVisible = false;\n  }\n\n  @action.bound\n  toggleConfirmationModal() {\n    this.confirmationModalVisible = !this.confirmationModalVisible;\n  }\n\n  @action.bound\n  navToConfirmation() {\n    this.navigator(LicencePlateLossViewConfirmedViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(LicencePlateLossFormViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(IntroLicencePlateLossViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  translate = translate('vehicle-register.applications.license-plate-loss', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport InfoBox from '../../../../../components/shared/InfoBox/InfoBox';\nimport type LicencePlateLossViewConfirmedViewModel from './LicencePlateLossViewConfirmedViewModel';\nimport './LicencePlateLossViewConfirmedView.scss';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport ConfirmationCode from '../../../components/Confirmation/ConfirmationCode';\n\nconst LicencePlateLossViewConfirmedView: View<LicencePlateLossViewConfirmedViewModel> = observer(({ vm }) => {\n  const { authority, translate, sharedTranslate, downloadRequestPdf } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <SuccessMessage text={translate('successfulApplication')} authority={authority} />\n\n          <ConfirmationCode requestCode={vm.applicationService.requestCode} translate={vm.sharedTranslate} />\n\n          <InfoBox className=\"summary\">\n            <div>\n              <p>{translate('additionalDocs.title')}</p>\n              <ul>\n                <li data-testid=\"additional-docs-item-1\">{translate('additionalDocs.listItem1')}</li>\n                <li data-testid=\"additional-docs-item-2\">{translate('additionalDocs.listItem2')}</li>\n                <li data-testid=\"additional-docs-item-3\">{translate('additionalDocs.listItem3')}</li>\n              </ul>\n              <p>\n                {translate('additionalDocs.paymentText')}&nbsp;\n                <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                  {vm.translateTariffCharges('tariff-charges')}\n                </a>\n                .\n              </p>\n            </div>\n          </InfoBox>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"d-flex my-3\">\n            {vm?.busyWatcher.isBusy ? (\n              <ButtonLoader classes={'gov-button gov-button--primary-outlined me-2 gov-button--normal'} />\n            ) : (\n              <Button\n                testId=\"download-pdf-button\"\n                rightMargin\n                outlined\n                onClick={downloadRequestPdf}\n                text={sharedTranslate('download-pdf')}\n              />\n            )}\n          </div>\n        </Envelope>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default LicencePlateLossViewConfirmedView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport LicencePlateLossViewConfirmedView from './LicencePlateLossViewConfirmedView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@AddDefaultView(LicencePlateLossViewConfirmedView)\n@Service()\nexport default class LicencePlateLossViewConfirmedViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private authorityInfoViewModel: AuthorityInfoViewModel\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  @computed\n  get authority() {\n    if (!this.authorityInfoViewModel.authorityTextWithComma) {\n      return '';\n    } else {\n      return ' - ' + this.authorityInfoViewModel.authorityTextWithComma;\n    }\n  }\n\n  async activate() {\n    this.authorityInfoViewModel.loadAuthorities();\n\n    await this.applicationService.init();\n  }\n\n  @Watch<LicencePlateLossViewConfirmedViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async downloadRequestPdf() {\n    await this.applicationService.downloadPdf();\n  }\n\n  translate = translate('vehicle-register.applications.license-plate-loss', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, override, runInAction } from 'mobx';\nimport {\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_RegistrationPlateAnnouncementRequest,\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n} from '../../../../data/egon/api';\nimport LicencePlateLossFormModel from './models/LicencePlateLossFormModel';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport ApiService from '../../../../services/ApiService';\nimport PdfUtils from '../../../../utils/PdfUtils';\nimport AuthorityInfoViewModel from '../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport VehicleAttachmentService from '../../../../services/vehicle/VehicleAttachmentService';\nimport RsvApplicationService from '../Shared/services/RsvApplicationService';\nimport RsvRequestsService from '../Shared/services/RsvRequestsService';\nimport MandatesService from 'src/services/MandatesService';\nimport { UserService } from 'src/services/UserService';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\n\n@Service()\nexport default class ApplicationService extends RsvApplicationService {\n  @observable formModel: LicencePlateLossFormModel = new LicencePlateLossFormModel();\n\n  constructor(\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() private apiService: ApiService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private attachmentService: VehicleAttachmentService,\n    @Inject() protected rsvRequestsService: RsvRequestsService,\n    @Inject() protected mandatesService: MandatesService,\n    @Inject() protected userService: UserService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel\n  ) {\n    super(Domain_Contracts_Enums_Rsv_RsvFormType.ANNOUNCEMENT_OF_LOSS_DAMAGE_OR_DESTRUCTION_OF_LICENCE_PLATE);\n    makeObservable(this);\n  }\n\n  @computed\n  get vehicleServicePersonType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  @computed\n  get isLoggedUserOwner() {\n    if (this.vehicleRegisterService.isUserOwner) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  @override\n  reset() {\n    super.reset();\n    this.formModel = new LicencePlateLossFormModel();\n  }\n\n  @action.bound\n  setAttachPoliceProtocol(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      this.formModel.attachPoliceProtocol = [];\n      this.formModel.attachPoliceProtocol.push({ file, description });\n    }\n  }\n\n  @action.bound\n  unsetAttachPoliceProtocol() {\n    this.formModel.attachPoliceProtocol = [];\n  }\n\n  async getRequest() {\n    if (typeof this.requestId === 'undefined') {\n      return;\n    }\n\n    const response =\n      await this.apiService.egonApi.registrationPlateLossTheftDestructionAnnouncement.getPdApiEgonV1RsvRequestsRegistrationPlateLossTheftDestructionAnnouncementRequests(\n        this.requestId\n      );\n\n    // update model values from the request data\n    runInAction(() => {\n      this.requestId = response.requestId;\n      this.status = response.status;\n      this.requestCode = response.requestCode;\n      this.formModel.eventType = response.eventType;\n\n      if (response.attachments.length > 0) {\n        const pdfAttach = response.attachments.find(\n          (attach) => attach.type === Domain_Contracts_Enums_Rsv_AttachmentType.REQUEST\n        );\n\n        if (pdfAttach) {\n          this.pdfId = pdfAttach.id;\n        }\n      }\n\n      if (response.targetAuthorityId !== response.workPlaceId) {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${response.workPlaceId}`;\n      } else {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${null}`;\n      }\n    });\n  }\n\n  async postRequest() {\n    if (!this.vehicle) {\n      console.error('No vehicleId selected when POST request sent');\n      return;\n    }\n\n    const requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_RegistrationPlateAnnouncementRequest = {\n      vehicleId: this.vehicle.information.mainInformation.id ?? 0,\n      targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n      workPlaceId:\n        this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n      eventType: this.formModel.eventType,\n      eventDate: this.formModel.eventDate === '' ? null : this.formModel.eventDate,\n      plateCount: parseInt(this.formModel.plateCount),\n      contacts: this.contactInfoViewModel.representativeContacts,\n    };\n\n    const response =\n      await this.apiService.egonApi.registrationPlateLossTheftDestructionAnnouncement.postPdApiEgonV1RsvRequestsRegistrationPlateLossTheftDestructionAnnouncementRequests(\n        requestBody\n      );\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n    });\n  }\n\n  async sendAttachPoliceProtocol() {\n    if (typeof this.requestId === 'undefined') {\n      console.error('No requestId when send-file request sent');\n      return;\n    }\n\n    if (this.formModel.attachPoliceProtocol.length === 0) {\n      console.error('No attachement file sent');\n      return;\n    }\n\n    await this.attachmentService.sendAttachment(\n      this.formModel.attachPoliceProtocol,\n      this.requestId,\n      Domain_Contracts_Enums_Rsv_AttachmentType.DOCUMENT_CERTIFYING_RECORDED_DATA\n    );\n  }\n\n  async handoverRequest() {\n    if (typeof this.requestId === 'undefined') {\n      console.error('No requestId when handover called');\n      return;\n    }\n\n    const { code } = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestCode = code;\n    });\n  }\n\n  async confirmRequest() {\n    if (typeof this.requestId === 'undefined') {\n      await this.postRequest();\n    }\n\n    if (this.formModel.attachPoliceProtocol.length > 0) await this.sendAttachPoliceProtocol();\n\n    await this.handoverRequest();\n\n    await this.getRequest();\n\n    this.rsvRequestsService.reset();\n  }\n\n  async downloadPdf() {\n    if (typeof this.pdfId === 'undefined' || typeof this.requestId === 'undefined') {\n      console.error('No requestId or pdfId found when pdf download requested');\n      return;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsAttachments(\n      this.pdfId,\n      this.requestId.toString()\n    );\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from '../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType } from '../../../../../data/egon/api/models/Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType';\nimport Attachment from '../../../../../model/Attachment';\nimport { getDatePickerDefaultValues } from '../../../../../utils/BrowserUtils';\n\n@AddTranslationKey('license-plate-loss.form')\nexport default class LicencePlateLossFormModel {\n  @observable eventType = Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType.LOSS;\n  @observable eventDate = '';\n  @observable plateCount = '0';\n  @observable newOperatorIsDifferentFromNewOwner = false;\n  @observable attachPoliceProtocol: Attachment[] = [];\n\n  constructor() {\n    makeObservable(this);\n    this.eventDate = getDatePickerDefaultValues()?.today ?? '';\n  }\n}\n\nexport const LicencePlateLossFormModelValidators: ValidationDescriptor<\n  LicencePlateLossFormModel,\n  Validators\n> = {\n  eventDate: {\n    futureDate: {\n      message: 'eventDate',\n    },\n  },\n};\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type IntroNewLicencePlateViewModel from './IntroNewLicencePlateViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport ApplicationInProgressModal from '../../../components/ApplicationInProgressModal';\n\nconst IntroNewLicencePlateView: View<IntroNewLicencePlateViewModel> = observer(({ vm }) => {\n  const { translate, busyWatcher } = vm;\n\n  return (\n    <>\n      <Container>\n        {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n\n        <Typography component=\"h1\" className=\"thin mb-4\" data-testid=\"intro-title\">\n          {translate('title')}\n        </Typography>\n\n        <Typography className=\"mb-4\" data-testid=\"pre-description\">\n          {translate('preDescription')}\n        </Typography>\n\n        <Typography className=\"mb-4\" data-testid=\"description\">\n          {translate('description')}\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('processSteps.stepsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-4\">\n          <Typography component=\"li\" data-testid=\"process-step-1\">\n            {translate('processSteps.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-2\">\n            {translate('processSteps.step2')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-3\">\n            {translate('processSteps.step3')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-4\">\n            {translate('processSteps.step4')}&nbsp;\n            <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n              {vm.translateTariffCharges('tariff-charges')}\n            </a>\n            .\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-5\">\n            {translate('processSteps.step5')}\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('requiredDocuments.requiredDocumentsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-5\">\n          <Typography component=\"li\" data-testid=\"required-document-1\">\n            {translate('requiredDocuments.step2')}\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"h4 mb-4\">\n          {translate('whatToExpect.whatToExpectHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"mb-5\">\n          <Typography component=\"li\" data-testid=\"what-to-expect-step-1\">\n            {translate('whatToExpect.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"what-to-expect-step-2\">\n            {translate('whatToExpect.step2')}\n          </Typography>\n        </Typography>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button\n            testId=\"back-button\"\n            outlined\n            onClick={() => vm?.goToVehicle()}\n            text={translate('back').toUpperCase()}\n          />\n          {busyWatcher.isBusy ? (\n            <Button testId=\"loading-button\" onClick={() => {}} disabled text={translate('loading')} />\n          ) : (\n            <Button\n              testId=\"continue-button\"\n              onClick={vm?.goToForm}\n              text={translate('fillApplication').toUpperCase()}\n            />\n          )}\n        </div>\n      </Container>\n    </>\n  );\n});\n\nexport default IntroNewLicencePlateView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport IntroNewLicencePlateViewModel from './IntroNewLicencePlateViewModel';\n\nconst IntroNewLicencePlateViewLoading: View<IntroNewLicencePlateViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default IntroNewLicencePlateViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport translate, { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport IntroNewLicencePlateView from './IntroNewLicencePlateView';\nimport NewLicencePlateFormViewModel from '../01_form/NewLicencePlateFormViewModel';\nimport AbstractApplicationViewModel from '../../AbstractApplicationViewModel';\nimport ApplicationService from '../ApplicationService';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport IntroNewLicencePlateViewLoading from './IntroNewLicencePlateViewLoading';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport ApplicationListViewModel from '../../../applicationsList/ApplicationListViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(IntroNewLicencePlateView)\n@AddBusyView(IntroNewLicencePlateViewLoading)\nexport default class IntroNewLicencePlateViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable shouldDisplayApplicationInProgressModal: boolean = false;\n\n  get pathNode(): string {\n    return 'intro';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<IntroNewLicencePlateViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      runInAction(() => {\n        this.shouldDisplayApplicationInProgressModal = true;\n      });\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.shouldDisplayApplicationInProgressModal = false;\n    });\n  }\n\n  @action.bound\n  goToForm() {\n    if (this.shouldDisplayApplicationInProgressModal) {\n      this.applicationInProgressModalVisible = true;\n      return;\n    }\n\n    this.navigator(NewLicencePlateFormViewModel, {\n      vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n    }).go();\n  }\n\n  @action.bound\n  goToVehicle() {\n    if (this.applicationService.vehicleRegisterService.vehicleID) {\n      this.applicationInProgressModalVisible = false;\n      this.navigator(AbstractApplicationViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicleList() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator(ApplicationListViewModel).go({\n      requestId: this.applicationService.requestId?.toString() ?? '',\n    });\n  }\n\n  translate = translate('vehicle-register.applications.new-license-plate', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { RadioGroupOption } from '../../../../../components/form/RadioGroup/RadioGroup';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ContactInfoView from '../../../../components/ContactInfo/ContactInfoView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport './Form.scss';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\n\ntype Props = {\n  translate: Translator;\n  sharedTranslate: Translator;\n  reasonOptions?: RadioGroupOption[];\n  authorityInfoViewModel: AuthorityInfoViewModel;\n  contactInfoModel: ContactInfoViewModel;\n};\n\nconst Form = observer(({ translate, authorityInfoViewModel, contactInfoModel }: Props) => {\n  return (\n    <>\n      <ContactInfoView vm={contactInfoModel} />\n\n      <AuthorityInfoView vm={authorityInfoViewModel} />\n    </>\n  );\n});\n\nexport default Form;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Steps from '../../../components/Steps/Steps';\nimport Form from './Form';\nimport type NewLicencePlateFormViewModel from './NewLicencePlateFormViewModel';\nimport LicencePlate from '../../../components/LicencePlate/LicencePlate';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst NewLicencePlateFormView: View<NewLicencePlateFormViewModel> = observer(({ vm }) => {\n  const { navToIntro, navToSummary, translate, sharedTranslate, busyWatcher } = vm;\n\n  // FIXME: when you delete this console log, registrationNumber is undefined\n  console.log('vm.applicationService.vehicle', vm.applicationService.vehicle);\n  // console.log('vm.formModel', vm.applicationService.formModel);\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"new-licence-plate-form\">\n            <h1 data-testid=\"title\">{translate('title')}</h1>\n\n            {/* STEPS */}\n            <Steps\n              steps={[\n                {\n                  stepNumber: 1,\n                  title: 'request-form',\n                },\n                {\n                  stepNumber: 2,\n                  title: 'request-summary',\n                },\n              ]}\n              activeStep={1}\n              translate={translate}\n            />\n\n            <Typography variant=\"h3\" data-testid=\"application-subject\">\n              {translate('form.applicationSubject')}\n            </Typography>\n\n            {vm.applicationService.selectedVehicle?.rzs?.[0].number && (\n              <LicencePlate licencePlate={vm.applicationService.selectedVehicle?.rzs?.[0].number} />\n            )}\n\n            <div className=\"mt-4\">\n              <Form\n                translate={translate}\n                sharedTranslate={sharedTranslate}\n                contactInfoModel={vm?.contactInfoViewModel}\n                authorityInfoViewModel={vm?.applicationService.authorityInfoViewModel}\n              />\n            </div>\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button testId=\"back-button\" outlined onClick={navToIntro} text={sharedTranslate('back')} />\n          {busyWatcher.isBusy ? (\n            <ButtonLoader classes=\"\" />\n          ) : (\n            <Button testId=\"continue-button\" onClick={navToSummary} text={sharedTranslate('continue')} />\n          )}\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default NewLicencePlateFormView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport NewLicencePlateFormViewModel from './NewLicencePlateFormViewModel';\n\nconst NewLicencePlateFormViewLoading: View<NewLicencePlateFormViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default NewLicencePlateFormViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport NewLicencePlateFormView from './NewLicencePlateFormView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroDecommissioningViewModel from '../00_intro/IntroNewLicencePlateViewModel';\nimport SummaryNewLicencePlateViewModel from '../02_summary/SummaryNewLicencePlateViewModel';\nimport { type EgonServiceBus_WebApi_Requests_V1_TargetAuthorityResponse } from 'src/data/egon/api';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { NewLicencePlateFormModelValidators } from '../models/NewLicencePlateFormModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport NewLicencePlateFormViewLoading from './NewLicencePlateFormViewLoading';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(NewLicencePlateFormView)\n@AddBusyView(NewLicencePlateFormViewLoading)\nexport default class NewLicencePlateFormViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable authorities = [] as EgonServiceBus_WebApi_Requests_V1_TargetAuthorityResponse[];\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private summaryNewLicencePlateViewModel: SummaryNewLicencePlateViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(summaryNewLicencePlateViewModel);\n  }\n\n  async notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = false;\n  }\n\n  @Watch<NewLicencePlateFormViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    this.validation.attachDescriptor(this.applicationService.formModel, NewLicencePlateFormModelValidators);\n  }\n\n  deactivate() {\n    this.validation.detachDescriptor(this.applicationService.formModel);\n  }\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @Watch<NewLicencePlateFormViewModel>((t) => t.busyWatcher)\n  @action.bound\n  navToSummary() {\n    if (\n      this.applicationService.vehicleRegisterService.vehicleID &&\n      this.authorityInfoViewModel.changedFromDefault &&\n      this.applicationService.contactInfoViewModel.isValid\n    ) {\n      this.navigator(SummaryNewLicencePlateViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID,\n      }).go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    if (this.applicationService.vehicleRegisterService.vehicleID) {\n      this.navigator(IntroDecommissioningViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  translate = translate('vehicle-register.applications.new-license-plate', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryNewLicencePlateViewModel from './SummaryNewLicencePlateViewModel';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Modal from '../../../../../components/shared/Modal';\nimport InfoPanel from '../../../../../components/shared/InfoPanel/InfoPanel';\nimport Steps from '../../../components/Steps/Steps';\nimport LicencePlate from '../../../components/LicencePlate/LicencePlate';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport Owner from '../../ExportPlateRequest/components/Owner';\nimport SummaryWarning from '../../../components/SummaryWarning/SummaryWarning';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\n\nconst SummaryNewLicencePlateView: View<SummaryNewLicencePlateViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    confirmationModalVisible,\n    confirmRequest,\n    navBack,\n    sendDataError,\n    toggleConfirmationModal,\n    toggleErrorModal,\n    confirmBusyWatcher,\n    sharedTranslate,\n  } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <h1>{translate('title')}</h1>\n\n          {/* STEPS */}\n          <Steps\n            steps={[\n              {\n                stepNumber: 1,\n                title: 'request-form',\n              },\n              {\n                stepNumber: 2,\n                title: 'request-summary',\n              },\n            ]}\n            activeStep={2}\n            translate={translate}\n          />\n\n          {/* CAR INFO */}\n          <Typography\n            component=\"h3\"\n            variant=\"h4\"\n            className=\"bold mt-4 mb-2\"\n            data-testid=\"application-subject\"\n          >\n            {translate('summary.applicationSubject')}\n          </Typography>\n\n          {/* todo: pass user's licence plate */}\n\n          {vm.applicationService.selectedVehicle?.rzs?.[0].number && (\n            <LicencePlate licencePlate={vm.applicationService.selectedVehicle?.rzs?.[0].number} />\n          )}\n\n          {/* OwNER INFO */}\n          {/* <h3 className=\"mb-4 mt-4\">{translate('summary.operator')}</h3> */}\n          <Owner\n            personType={vm.applicationService.vehicleRegisterService.personType}\n            personalInfo={vm.applicationService.personalInfo}\n            entrepreneurInfo={vm.applicationService.entrepreneurInfo}\n            translate={translate}\n            {...(vm.contactInfoModel.isCurrentUserOriginUser && {\n              email: vm.contactInfoModel.email,\n              phone: vm.contactInfoModel.phone,\n            })}\n          />\n\n          <RepresentativeContactSummary contactInfoViewModel={vm.contactInfoModel} />\n\n          {/* TODO: vehicle operator */}\n\n          {/* REQUEST FINISH LOCATION */}\n          <AuthorityInfoView vm={vm.applicationService.authorityInfoViewModel} />\n\n          <SummaryWarning\n            personType={vm.applicationService.vehicleRegisterService.personType}\n            translate={vm.sharedTranslate}\n          />\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button testId=\"back-button\" outlined onClick={navBack} text={translate('back')} />\n          <Button\n            testId=\"continue-button\"\n            onClick={toggleConfirmationModal}\n            text={translate('handoverApplication')}\n          />\n        </div>\n      </Container>\n\n      {/* CONFIRMATION MODAL */}\n      {confirmationModalVisible && (\n        <Modal\n          headLine={translate('confirmation-title')}\n          closeFce={toggleConfirmationModal}\n          className=\"test-modal-SummaryNewLicencePlateConfirmation\"\n        >\n          <InfoPanel message={translate('confirmation.warning')} type=\"warning\" />\n          <div>\n            <Typography className=\"u-color--grey-dark my-4\">{translate('confirmation.text')}</Typography>\n            <Typography className=\"u-color--grey-dark my-0\">{translate('confirmation.authPlace')}</Typography>\n            <Typography variant=\"body2\" className=\"u-color--grey-dark mt-0 mb-4\">\n              {vm.applicationService.authorityInfoViewModel.authorityText}\n            </Typography>\n          </div>\n\n          <div className=\"d-flex justify-content-end mt-5\">\n            {confirmBusyWatcher.isBusy ? (\n              <ButtonLoader classes=\"gov-button--primary-outlined\" />\n            ) : (\n              <>\n                <Button\n                  testId=\"back-button\"\n                  rightMargin\n                  outlined\n                  onClick={toggleConfirmationModal}\n                  text={sharedTranslate('back')}\n                />\n                <Button testId=\"continue-button\" onClick={confirmRequest} text={'Rozumím. Odeslat žádost'} />\n              </>\n            )}\n          </div>\n        </Modal>\n      )}\n\n      {sendDataError && (\n        <Modal\n          headLine={translate('confirmation-title')}\n          closeFce={toggleErrorModal}\n          className=\"test-modal-SummaryNewLicencePlateError\"\n        >\n          <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n        </Modal>\n      )}\n    </ScreenContext>\n  );\n});\n\nexport default SummaryNewLicencePlateView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport SummaryNewLicencePlateViewModel from './SummaryNewLicencePlateViewModel';\n\nconst SummaryNewLicencePlateViewLoading: View<SummaryNewLicencePlateViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default SummaryNewLicencePlateViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummaryNewLicencePlateView from './SummaryNewLicencePlateView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport NewLicencePlateFormViewModel from '../01_form/NewLicencePlateFormViewModel';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport NewLicencePlateViewConfirmedViewModel from '../03_confirmation/NewLicencePlateViewConfirmedViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport SummaryNewLicencePlateViewLoading from './SummaryNewLicencePlateViewLoading';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport IntroNewLicencePlateViewModel from '../00_intro/IntroNewLicencePlateViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummaryNewLicencePlateView)\n@AddBusyView(SummaryNewLicencePlateViewLoading)\nexport default class SummaryNewLicencePlateViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  confirmBusyWatcher = new BusyWatcher();\n  @observable confirmationModalVisible = false;\n  @observable validation = new ValidationContext();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public contactInfoModel: ContactInfoViewModel,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  // test\n  @computed\n  get authorityInfo() {\n    return this.applicationService.authorityInfoViewModel.authorityText;\n  }\n\n  @Watch<SummaryNewLicencePlateViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    } else if (this.applicationService.authorityInfoViewModel.selectedAuthorityId === 0) {\n      runInAction(() => {\n        this.confirmationModalVisible = false;\n      });\n      this.navigator(NewLicencePlateFormViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n      }).go();\n    }\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.summaryHeaderClassName = 'my-4 bold h4';\n  }\n\n  deactivate() {}\n\n  @Watch<SummaryNewLicencePlateViewModel>((s) => s.confirmBusyWatcher)\n  @action.bound\n  async confirmRequest() {\n    try {\n      await this.applicationService.confirmRequest();\n      this.navigator(NewLicencePlateViewConfirmedViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(err, 'NewLicencePlate SummaryNewLicencePlateViewModel', 'confirmRequest');\n      this.handleError(err);\n    }\n    this.confirmationModalVisible = false;\n  }\n\n  @action.bound\n  toggleConfirmationModal() {\n    this.confirmationModalVisible = !this.confirmationModalVisible;\n  }\n\n  @action.bound\n  navBack() {\n    if (this.applicationService.vehicleRegisterService.vehicleID) {\n      this.navigator(NewLicencePlateFormViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    if (this.applicationService.vehicleRegisterService.vehicleID) {\n      this.navigator(IntroNewLicencePlateViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  translate = translate('vehicle-register.applications.new-license-plate', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport InfoBox from '../../../../../components/shared/InfoBox/InfoBox';\nimport type NewLicencePlateViewConfirmedViewModel from './NewLicencePlateViewConfirmedViewModel';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport './NewLicencePlateViewConfirmedView.scss';\nimport ConfirmationCode from '../../../components/Confirmation/ConfirmationCode';\n\nconst NewLicencePlateViewConfirmedView: View<NewLicencePlateViewConfirmedViewModel> = observer(({ vm }) => {\n  const { translate, downloadRequestPdf, pdfDownloadBusyWatcher } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <SuccessMessage\n            text={translate('confirmation.sent-successfully')}\n            authority={` ${vm.applicationService.authorityInfoViewModel.authorityText}`}\n          />\n\n          <ConfirmationCode translate={vm.sharedTranslate} requestCode={vm.applicationService.requestCode} />\n\n          <InfoBox className=\"confirmation-info-box\">\n            <div>\n              <p data-testid=\"info-box-title\">{translate('additionalDocs.newLicensePlate.title')}</p>\n              <ul className=\"gov-list info-box-ul\">\n                <li data-testid=\"info-box-list-item-1\">\n                  {translate('additionalDocs.newLicensePlate.listItem1')}\n                </li>\n              </ul>\n              {/* TODO: ADD LINK URL */}\n              <p>\n                {translate('additionalDocs.newLicensePlate.paymentText')}{' '}\n                <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                  {translate('additionalDocs.newLicensePlate.paymentTextLink')}\n                </a>\n                .\n              </p>\n            </div>\n          </InfoBox>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"buttons-wrapper\">\n            <Button\n              testId=\"download-pdf-button\"\n              outlined\n              onClick={downloadRequestPdf}\n              text={translate('downloadPdf')}\n              isBusy={pdfDownloadBusyWatcher.isBusy}\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default NewLicencePlateViewConfirmedView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type NewLicencePlateViewConfirmedViewModel from './NewLicencePlateViewConfirmedViewModel';\nimport Container from '@components/layout/Container';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst NewLicencePlateViewConfirmedViewLoading: View<NewLicencePlateViewConfirmedViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default NewLicencePlateViewConfirmedViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationService from '../ApplicationService';\nimport NewLicencePlateViewConfirmedView from './NewLicencePlateViewConfirmedView';\nimport NewLicencePlateFormViewModel from '../01_form/NewLicencePlateFormViewModel';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from '../../../../../data/egon/api';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport NewLicencePlateViewConfirmedViewLoading from './NewLicencePlateViewConfirmedViewLoading';\n\n@AddDefaultView(NewLicencePlateViewConfirmedView)\n@AddBusyView(NewLicencePlateViewConfirmedViewLoading)\n@Service()\nexport default class NewLicencePlateViewConfirmedViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable pdfDownloadBusyWatcher = new BusyWatcher();\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = false;\n    this.applicationService.authorityInfoViewModel.loadAuthorities();\n  }\n\n  @Watch<NewLicencePlateViewConfirmedViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (\n      this.applicationService.status &&\n      this.applicationService.status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED\n    ) {\n      this.navigator(NewLicencePlateFormViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n      }).go();\n    }\n  }\n\n  @Watch<NewLicencePlateViewConfirmedViewModel>((s) => s.pdfDownloadBusyWatcher)\n  @action.bound\n  async downloadRequestPdf() {\n    await this.applicationService.downloadPdf();\n  }\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  translate = translate('vehicle-register.applications.new-license-plate', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { computed, makeObservable, observable, override, runInAction } from 'mobx';\nimport NewLicencePlateFormModel from './models/NewLicencePlateFormModel';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport ApiService from '../../../../services/ApiService';\nimport AuthorityInfoViewModel from '../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport {\n  Domain_Contracts_Enums_Rsv_NewCarPlateReason,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_CreateNewCarPlateRequest,\n} from '../../../../data/egon/api';\nimport PdfUtils from '../../../../utils/PdfUtils';\nimport RsvApplicationService from '../Shared/services/RsvApplicationService';\nimport RsvRequestsService from '../Shared/services/RsvRequestsService';\nimport MandatesService from 'src/services/MandatesService';\nimport { UserService } from 'src/services/UserService';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\n\n@Service()\nexport default class ApplicationService extends RsvApplicationService {\n  @observable formModel: NewLicencePlateFormModel = new NewLicencePlateFormModel();\n\n  constructor(\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() private apiService: ApiService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() protected rsvRequestsService: RsvRequestsService,\n    @Inject() protected mandatesService: MandatesService,\n    @Inject() protected userService: UserService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel\n  ) {\n    super(Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_LICENCE_PLATE);\n    makeObservable(this);\n  }\n\n  @override\n  reset() {\n    super.reset();\n    this.formModel = new NewLicencePlateFormModel();\n  }\n\n  @computed\n  get isLoggedUserOwner() {\n    if (this.vehicleRegisterService.isUserOwner) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  async getRequest() {\n    if (typeof this.requestId === 'undefined') {\n      return;\n    }\n\n    const response = await this.apiService.egonApi.newCarPlate.getPdApiEgonV1RsvRequestsNewCarPlateRequests(\n      this.requestId\n    );\n\n    // update model values from the request data\n    runInAction(() => {\n      this.status = response.status;\n      this.requestId = response.requestId;\n      this.requestCode = response.requestCode;\n\n      if (response.targetAuthorityId !== response.workPlaceId) {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${response.workPlaceId}`;\n      } else {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${null}`;\n      }\n\n      if (response.attachments && response.attachments.length > 0) {\n        const pdfApplication = response.attachments.find((attach) => attach.type === 'Request');\n        if (pdfApplication) {\n          this.pdfId = pdfApplication.id;\n        }\n      }\n    });\n  }\n\n  async confirmRequest() {\n    if (this.requestId === undefined) {\n      await this.postRequest();\n    }\n\n    await this.handoverRequest();\n\n    await this.getRequest();\n\n    this.rsvRequestsService.reset();\n  }\n\n  async postRequest() {\n    if (!this.vehicle) {\n      console.error('No vehicleId selected when POST request sent');\n      return;\n    }\n\n    const requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_CreateNewCarPlateRequest = {\n      vehicleId: this.vehicle.information.mainInformation.id ?? 0,\n      targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n      workPlaceId:\n        this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n      reason: Domain_Contracts_Enums_Rsv_NewCarPlateReason.REGISTRATION_PLATE_PLACEMENT_ON_SUPPORT_DEVICE,\n      contacts: this.contactInfoViewModel.representativeContacts,\n    };\n\n    const response =\n      await this.apiService.egonApi.newCarPlate.postPdApiEgonV1RsvRequestsNewCarPlateRequests(requestBody);\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n    });\n  }\n\n  async handoverRequest() {\n    if (!this.requestId) {\n      throw `No requestId when handover called`;\n    }\n\n    const { code } = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestCode = code;\n    });\n  }\n\n  async downloadPdf() {\n    if (!this.requestId || !this.pdfId) {\n      return;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsAttachments(\n      this.pdfId,\n      this.requestId.toString()\n    );\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport { makeObservable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddInvisibleView from '@cendis/cedr-framework/dist/view/AddInvisibleView';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport VehicleDetailViewModel from '../../register/vehicleDetail/VehicleDetailViewModel';\nimport IntroNewLicencePlateFormViewModel from './00_intro/IntroNewLicencePlateViewModel';\nimport NewLicencePlateFormViewModel from './01_form/NewLicencePlateFormViewModel';\nimport SummaryNewLicencePlateViewModel from './02_summary/SummaryNewLicencePlateViewModel';\nimport SummaryNewLicencePlateViewConfirmedViewModel from './03_confirmation/NewLicencePlateViewConfirmedViewModel';\nimport ApplicationService from './ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\n\n@Service()\n@AddInvisibleView()\n@AddChildrenView()\nexport default class NewLicencePlateViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'new-license-plate';\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private introNewLicencePlateFormViewModel: IntroNewLicencePlateFormViewModel,\n    @Inject() private newLicencePlateFormViewModel: NewLicencePlateFormViewModel,\n    @Inject() private summaryNewLicencePlateViewModel: SummaryNewLicencePlateViewModel,\n    @Inject() private summaryNewLicencePlateViewConfirmedViewModel: SummaryNewLicencePlateViewConfirmedViewModel,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(introNewLicencePlateFormViewModel);\n    this.children.push(newLicencePlateFormViewModel);\n    this.children.push(summaryNewLicencePlateViewModel);\n    this.children.push(summaryNewLicencePlateViewConfirmedViewModel);\n  }\n\n  async notifyNavigation() {\n    this.redirectToVehicleDetail();\n  }\n\n  async activate() {\n    if (this.vehicleRegisterService.isUserOwner === false) {\n      this.redirectToVehicleDetail();\n    }\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  redirectToVehicleDetail() {\n    if (this.vehicleRegisterService.personType && this.vehicleRegisterService.vehicleID) {\n      this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  translate = translate('vehicle-register.applications.new-license-plate', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from '../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('new-license-plate.form')\nexport default class NewLicencePlateFormModel {\n  @observable newOperatorIsDifferentFromNewOwner = false;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const NewLicencePlateFormModelValidators: ValidationDescriptor<NewLicencePlateFormModel, Validators> = {};\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type IntroNewTechnicalCertificateViewModel from './IntroNewTechnicalCertificateViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport Button from '../../../../../components/shared/Button/Button';\nimport ApplicationInProgressModal from '../../../components/ApplicationInProgressModal';\n\nconst IntroNewTechnicalCertificateView: View<IntroNewTechnicalCertificateViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <>\n      <Container className=\"rsv-intro\">\n        {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n\n        <Typography component=\"h1\" className=\"thin mb-4\" data-testid=\"intro-title\">\n          {translate('title')}\n        </Typography>\n\n        <Typography className=\"mb-4\" data-testid=\"pre-description\">\n          {translate('preDescription')}\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"what-it-is-heading\">\n          {translate('whatItIs.header')}\n        </Typography>\n        <Typography className=\"mb-4\" data-testid=\"what-it-is-description\">\n          {translate('whatItIs.description')}\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"process-steps-heading\">\n          {translate('processSteps.stepsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-4\">\n          <Typography component=\"li\" data-testid=\"process-step-1\">\n            {translate('processSteps.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-2\">\n            {translate('processSteps.step2')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-3\">\n            {translate('processSteps.step3')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"process-step-4\">\n            {translate('processSteps.step4')}&nbsp;\n            <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n              {vm.translateTariffCharges('tariff-charges')}\n            </a>\n            .\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"required-documents-heading\">\n          {translate('requiredDocuments.requiredDocumentsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-5\">\n          <Typography component=\"li\" data-testid=\"required-document-2\">\n            {translate('requiredDocuments.step2')}\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"h4 mb-4\" data-testid=\"what-to-expect-heading\">\n          {translate('whatToExpect.whatToExpectHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"mb-5\">\n          <Typography component=\"li\" data-testid=\"what-to-expect-step-1\">\n            {translate('whatToExpect.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"what-to-expect-step-2\">\n            {translate('whatToExpect.step2')}\n          </Typography>\n        </Typography>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button\n            testId=\"back-button\"\n            outlined\n            onClick={() => vm?.goToVehicle()}\n            text={translate('back').toUpperCase()}\n          />\n          <Button\n            testId=\"continue-button\"\n            onClick={vm?.goToForm}\n            text={translate('fillApplication').toUpperCase()}\n          />\n        </div>\n      </Container>\n    </>\n  );\n});\n\nexport default IntroNewTechnicalCertificateView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport IntroNewTechnicalCertificateViewModel from './IntroNewTechnicalCertificateViewModel';\n\nconst IntroNewTechnicalCertificateViewLoading: View<IntroNewTechnicalCertificateViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default IntroNewTechnicalCertificateViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport IntroNewTechnicalCertificateView from './IntroNewTechnicalCertificateView';\nimport NewTechnicalCertificateFormViewModel from '../01_form/NewTechnicalCertificateFormViewModel';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport AbstractApplicationViewModel from '../../AbstractApplicationViewModel';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport IntroNewTechnicalCertificateViewLoading from './IntroNewTechnicalCertificateViewLoading';\nimport ApplicationListViewModel from '../../../applicationsList/ApplicationListViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(IntroNewTechnicalCertificateView)\n@AddBusyView(IntroNewTechnicalCertificateViewLoading)\nexport default class IntroNewTechnicalCertificateViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable shouldDisplayApplicationInProgressModal: boolean = false;\n\n  get pathNode(): string {\n    return 'intro';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<IntroNewTechnicalCertificateViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      runInAction(() => {\n        this.shouldDisplayApplicationInProgressModal = true;\n      });\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.shouldDisplayApplicationInProgressModal = false;\n    });\n  }\n\n  @action.bound\n  goToForm() {\n    if (this.shouldDisplayApplicationInProgressModal) {\n      this.applicationInProgressModalVisible = true;\n      return;\n    }\n\n    if (this.vehicleRegisterService.vehicleID) {\n      this.navigator(NewTechnicalCertificateFormViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicle() {\n    if (this.vehicleRegisterService.vehicleID) {\n      this.applicationInProgressModalVisible = false;\n      this.navigator(AbstractApplicationViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicleList() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator(ApplicationListViewModel).go({\n      requestId: this.applicationService.requestId?.toString() ?? '',\n    });\n  }\n\n  @action.bound\n  toggleApplicationInProgressModal() {\n    this.applicationInProgressModalVisible = !this.applicationInProgressModalVisible;\n  }\n\n  translate = translate('vehicle-register.applications.new-technical-certificate', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { RadioGroupOption } from '../../../../../components/form/RadioGroup/RadioGroup';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport DragAndDropFile from '../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type RegisterFormModel from '../models/NewTechnicalCertificateFormModel';\nimport ContactInfoView from '../../../../components/ContactInfo/ContactInfoView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport './Form.scss';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AttachmentsHeader from 'src/app/vehicle/components/AttachmentsHeader';\n\ntype Props = {\n  translate: Translator;\n  sharedTranslate: Translator;\n  reasons: RadioGroupOption[];\n  authorityInfoModel: AuthorityInfoViewModel;\n  model: RegisterFormModel;\n  contactInfoModel: ContactInfoViewModel;\n  setFiles: (file: File | FileList, description: string, isMultiple?: boolean) => void;\n  unsetFiles: (fileName: string) => void;\n  isStolen: boolean;\n};\n\nconst Form = observer(\n  ({\n    translate,\n    sharedTranslate,\n    reasons,\n    authorityInfoModel,\n    contactInfoModel,\n    model,\n    setFiles,\n    unsetFiles,\n    isStolen,\n  }: Props) => {\n    return (\n      <>\n        <Typography component=\"h3\" variant=\"h3\" className=\"my-4\" data-testid=\"choose-reason-heading\">\n          {translate('form.chooseReason')}\n        </Typography>\n        <RadioGroup className=\"mb-4\" target={model} property=\"reason\" options={reasons} testId=\"reason\" />\n\n        <ContactInfoView vm={contactInfoModel} />\n\n        <AuthorityInfoView vm={authorityInfoModel} />\n\n        {isStolen && (\n          <>\n            <AttachmentsHeader translate={sharedTranslate} />\n            <DragAndDropFile\n              files={model.attachPoliceProtocol}\n              id={1}\n              label={translate('form.policeLostProtocol')}\n              buttonLabel={translate('form.uploadFromDevice')}\n              infoLabel={translate('form.placeFile')}\n              filesLabel={translate('form.supportedFormatsInfo')}\n              formats={['jpg', 'jpeg', 'png', 'pdf']}\n              fileTypeError={translate('form.typeError')}\n              validationsFired={false}\n              hideFormats={true}\n              handleFile={setFiles}\n              handleRemoveFile={unsetFiles}\n              allowedFileSize={5 * 1024 * 1024}\n              fileSizeError={translate('form.sizeError')}\n              filesSize={0}\n              setFilesSize={() => {}}\n              generalTranslate={sharedTranslate}\n              isMandatory={false}\n            />\n          </>\n        )}\n      </>\n    );\n  }\n);\n\nexport default Form;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport Form from './Form';\nimport type NewTechnicalCertificateFormViewModel from './NewTechnicalCertificateFormViewModel';\n\nconst NewTechnicalCertificateFormView: View<NewTechnicalCertificateFormViewModel> = observer(({ vm }) => {\n  const {\n    navToIntro,\n    navToSummary,\n    translate,\n    vehicleTranslate,\n    sharedTranslate,\n    newTechnicalCertificateFormModel,\n    stepsData,\n    isStolen,\n  } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"new-technical-certificate-form\">\n            <Typography component=\"h1\" variant=\"h1\" data-testid=\"form-title\">\n              {translate('title')}\n            </Typography>\n\n            <Steps steps={stepsData} activeStep={1} translate={translate} />\n\n            <Typography\n              component=\"h3\"\n              variant=\"h3\"\n              className=\"my-4\"\n              data-testid=\"application-subject-heading\"\n            >\n              {translate('form.applicationSubject')}\n            </Typography>\n            <VehicleDetail\n              key={vm.applicationService.vehicle?.information.mainInformation.id?.toString()}\n              vehicle={vm.applicationService.selectedVehicle}\n              translate={vehicleTranslate}\n            />\n\n            <div className=\"mt-3\">\n              <Form\n                translate={translate}\n                sharedTranslate={sharedTranslate}\n                model={newTechnicalCertificateFormModel}\n                reasons={vm.reasons}\n                contactInfoModel={vm.contactInfoViewModel}\n                authorityInfoModel={vm.authorityInfoViewModel}\n                setFiles={vm.applicationService.setAttachPoliceProtocol}\n                unsetFiles={vm.applicationService.unsetAttachPoliceProtocol}\n                isStolen={isStolen}\n              />\n            </div>\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-5\">\n          <Button testId=\"back-button\" outlined onClick={navToIntro} text={sharedTranslate('back')} />\n          <Button testId=\"continue-button\" onClick={navToSummary} text={sharedTranslate('continue')} />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default NewTechnicalCertificateFormView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport NewTechnicalCertificateFormViewModel from './NewTechnicalCertificateFormViewModel';\n\nconst NewTechnicalCertificateFormViewLoading: View<NewTechnicalCertificateFormViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default NewTechnicalCertificateFormViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable } from 'mobx';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport NewTechnicalCertificateFormView from './NewTechnicalCertificateFormView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryNewTechnicalCertificateViewModel from '../02_summary/SummaryNewTechnicalCertificateViewModel';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport { EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons } from 'src/data/egon/api';\nimport { NewTechnicalCertificateFormModelValidators } from '../models/NewTechnicalCertificateFormModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport NewTechnicalCertificateFormViewLoading from './NewTechnicalCertificateFormViewLoading';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport IntroNewTechnicalCertificateViewModel from '../00_intro/IntroNewTechnicalCertificateViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(NewTechnicalCertificateFormView)\n@AddBusyView(NewTechnicalCertificateFormViewLoading)\nexport default class NewTechnicalCertificateFormViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get reasons() {\n    return [\n      EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons.ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_LOSS,\n      EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons.ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_THEFT,\n      EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons.ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_DESTRUCTION,\n    ].map((type) => {\n      return {\n        id: type,\n        label: this.translate(type),\n      };\n    });\n  }\n\n  get stepsData() {\n    return [\n      {\n        stepNumber: 1,\n        title: 'request-form',\n      },\n      {\n        stepNumber: 2,\n        title: 'request-summary',\n      },\n    ];\n  }\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get newTechnicalCertificateFormModel() {\n    return this.applicationService.formModel;\n  }\n\n  get isStolen() {\n    return (\n      this.applicationService.formModel.reason ===\n      EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons.ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_THEFT\n    );\n  }\n\n  @action.bound\n  navToSummary() {\n    if (\n      this.validation.validateObject(this.newTechnicalCertificateFormModel) &&\n      this.vehicleRegisterService.vehicleID &&\n      this.authorityInfoViewModel.changedFromDefault &&\n      this.applicationService.contactInfoViewModel.isValid\n    ) {\n      this.navigator(SummaryNewTechnicalCertificateViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    if (this.vehicleRegisterService.vehicleID) {\n      this.navigator(IntroNewTechnicalCertificateViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @Watch<NewTechnicalCertificateFormViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    this.validation.attachDescriptor(\n      this.newTechnicalCertificateFormModel,\n      NewTechnicalCertificateFormModelValidators\n    );\n  }\n\n  notifyNavigation() {\n    this.authorityInfoViewModel.disabled = false;\n  }\n\n  translate = translate('vehicle-register.applications.new-technical-certificate', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryNewTechnicalCertificateViewModel from './SummaryNewTechnicalCertificateViewModel';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Modal from '../../../../../components/shared/Modal';\nimport InfoPanel from '../../../../../components/shared/InfoPanel/InfoPanel';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport OwnerOrOperator from '../../../components/OwnerOrOperator';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport AttachmentsSummary from '../../../components/AttachmentsSummary';\nimport SummaryWarning from '../../../components/SummaryWarning/SummaryWarning';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\n\nconst SummaryNewTechnicalCertificateView: View<SummaryNewTechnicalCertificateViewModel> = observer(\n  ({ vm }) => {\n    const {\n      translate,\n      sharedTranslate,\n      vehicleTranslate,\n      formModel,\n      confirmationModalVisible,\n      confirmRequest,\n      contactInfoModel,\n      navBack,\n      sendDataError,\n      toggleConfirmationModal,\n      toggleErrorModal,\n      confirmBusyWatcher,\n      fileList,\n      isStolen,\n    } = vm;\n\n    return (\n      <ScreenContext value={vm}>\n        <Container>\n          {confirmationModalVisible && (\n            <Modal\n              headLine={translate('confirmation-title')}\n              closeFce={toggleConfirmationModal}\n              className=\"test-modal-SummaryNewTechnicalCertificateConfirmation\"\n            >\n              <InfoPanel message={translate('confirmation.warning')} type=\"warning\" />\n              <div>\n                <Typography className=\"u-color--grey-dark my-4\" data-testid=\"form-id\">\n                  {translate('confirmation.formId')}\n                </Typography>\n                <Typography className=\"u-color--grey-dark my-0\" data-testid=\"auth-place\">\n                  {translate('confirmation.authPlace')}\n                </Typography>\n                <Typography\n                  variant=\"body2\"\n                  className=\"u-color--grey-dark mt-0 mb-4\"\n                  data-testid=\"authority-text\"\n                >\n                  {vm.applicationService.authorityInfoViewModel.authorityText}\n                </Typography>\n              </div>\n\n              <div className=\"d-flex justify-content-end mt-5\">\n                {confirmBusyWatcher.isBusy ? (\n                  <ButtonLoader classes=\"gov-button--primary-outlined\" />\n                ) : (\n                  <>\n                    <Button\n                      testId=\"back-button\"\n                      rightMargin\n                      outlined\n                      onClick={toggleConfirmationModal}\n                      text={sharedTranslate('back')}\n                    />\n                    <Button\n                      testId=\"continue-button\"\n                      onClick={confirmRequest}\n                      text={sharedTranslate('confirmSend')}\n                    />\n                  </>\n                )}\n              </div>\n            </Modal>\n          )}\n          {sendDataError && (\n            <Modal\n              headLine={translate('confirmation-title')}\n              closeFce={toggleErrorModal}\n              className=\"test-modal-SummaryNewTechnicalCertificateError\"\n            >\n              <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n            </Modal>\n          )}\n          <Envelope>\n            <Typography component=\"h1\" variant=\"h1\">\n              {translate('title')}\n            </Typography>\n\n            <Steps steps={vm.stepsData} activeStep={2} translate={translate} />\n\n            {/* CAR INFO */}\n            <Typography component=\"h3\" variant=\"h4\" className=\"bold mt-4 mb-2\" data-testid=\"subject\">\n              {translate('form.applicationSubject')}\n            </Typography>\n            <VehicleDetail\n              key={vm.applicationService.vehicle?.information.mainInformation.id?.toString()}\n              vehicle={vm.applicationService.selectedVehicle}\n              translate={vehicleTranslate}\n            />\n\n            {/* REQUEST REASON */}\n            <Typography\n              component=\"h3\"\n              variant=\"h4\"\n              className=\"bold mt-4 mb-2\"\n              data-testid=\"choose-reason-heading\"\n            >\n              {translate('form.chooseReason')}\n            </Typography>\n            <Typography data-testid=\"selected-reason\">{translate(formModel.reason)}</Typography>\n\n            {/* CURRENT OWNER INFO */}\n            <OwnerOrOperator\n              isLoggedUserOwner={vm.applicationService.isLoggedUserOwner}\n              data={vm.applicationService.ownerInfo}\n              translate={translate}\n              {...(contactInfoModel.isCurrentUserOriginUser && {\n                email: contactInfoModel.email,\n                phone: contactInfoModel.formattedPhone,\n              })}\n            />\n\n            <RepresentativeContactSummary contactInfoViewModel={contactInfoModel} />\n\n            {/* OPERATOR INFO */}\n            {vm.applicationService.vehicle?.isOperator && (\n              <OwnerOrOperator\n                isLoggedUserOwner={vm.applicationService.isLoggedUserOwner}\n                data={vm.applicationService.operatorInfo}\n                translate={translate}\n                email={contactInfoModel.email}\n                phone={contactInfoModel.phone}\n              />\n            )}\n\n            {/* Documents */}\n            {isStolen && (\n              <AttachmentsSummary\n                title={translate('summary.attachments')}\n                noFilesText={translate('summary.noAttachment')}\n                fileList={fileList}\n                className=\"mt-4\"\n              />\n            )}\n\n            {/* REQUEST FINISH LOCATION */}\n            <AuthorityInfoView vm={vm.applicationService.authorityInfoViewModel} />\n\n            <SummaryWarning\n              personType={vm.applicationService.vehicleServicePersonType}\n              translate={sharedTranslate}\n            />\n          </Envelope>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"d-flex justify-content-between mt-4\">\n            <Button testId=\"back-button\" outlined onClick={navBack} text={translate('back')} />\n            <Button\n              testId=\"continue-button\"\n              onClick={toggleConfirmationModal}\n              text={translate('handoverApplication')}\n            />\n          </div>\n        </Container>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default SummaryNewTechnicalCertificateView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport SummaryNewTechnicalCertificateViewModel from './SummaryNewTechnicalCertificateViewModel';\n\nconst SummaryNewTechnicalCertificateViewLoading: View<SummaryNewTechnicalCertificateViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default SummaryNewTechnicalCertificateViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummaryNewTechnicalCertificateView from './SummaryNewTechnicalCertificateView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport SummaryNewTechnicalCertificateViewLoading from './SummaryNewTechnicalCertificateViewLoading';\nimport NewTechnicalCertificateViewConfirmedViewModel from '../03_confirmation/NewTechnicalCertificateViewConfirmedViewModel';\nimport NewTechnicalCertificateFormViewModel from '../01_form/NewTechnicalCertificateFormViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport { EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons } from '../../../../../data/egon/api';\nimport IntroNewTechnicalCertificateViewModel from '../00_intro/IntroNewTechnicalCertificateViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummaryNewTechnicalCertificateView)\n@AddBusyView(SummaryNewTechnicalCertificateViewLoading)\nexport default class SummaryNewTechnicalCertificateViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  confirmBusyWatcher = new BusyWatcher();\n\n  @observable registryError = false;\n  @observable confirmationModalVisible = false;\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoModel: ContactInfoViewModel,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  get stepsData() {\n    return [\n      {\n        stepNumber: 1,\n        title: 'request-form',\n      },\n      {\n        stepNumber: 2,\n        title: 'request-summary',\n      },\n    ];\n  }\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  @computed\n  get isStolen() {\n    return (\n      this.applicationService.formModel.reason ===\n      EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons.ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_THEFT\n    );\n  }\n\n  @computed\n  get fileList() {\n    const files: Array<{ file: File; typeName: string }> = [];\n\n    this.formModel.attachPoliceProtocol.map((attach) => {\n      files.push({\n        typeName: this.translate('summary.policeLostProtocol'),\n        file: attach.file,\n      });\n    });\n\n    return files;\n  }\n\n  @Watch<SummaryNewTechnicalCertificateViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    // if form data are not filled => go back to form\n    if (\n      this.applicationService.vehicle &&\n      (this.applicationService.authorityInfoViewModel.selectedAuthorityId === 0 || !this.applicationService.formModel.reason)\n    ) {\n      this.navigator(NewTechnicalCertificateFormViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.summaryHeaderClassName = 'fw-bold u-color--grey-dark mt-4 mb-2';\n  }\n\n  @Watch<SummaryNewTechnicalCertificateViewModel>((s) => s.confirmBusyWatcher)\n  @action.bound\n  async confirmRequest() {\n    try {\n      await this.applicationService.confirmRequest();\n\n      this.navigator(NewTechnicalCertificateViewConfirmedViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    } catch (e: any) {\n      this.errorService.logCatchError(e, 'NewTechnicalCertificate SummaryNewTechnicalCertificateViewModel', 'confirmRequest');\n      this.handleError(e);\n    }\n    this.confirmationModalVisible = false;\n  }\n\n  @action.bound\n  toggleConfirmationModal() {\n    this.confirmationModalVisible = !this.confirmationModalVisible;\n  }\n\n  @action.bound\n  navToConfirmation() {\n    this.navigator(NewTechnicalCertificateViewConfirmedViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(NewTechnicalCertificateFormViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(IntroNewTechnicalCertificateViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  translate = translate('vehicle-register.applications.new-technical-certificate', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport InfoBox from '../../../../../components/shared/InfoBox/InfoBox';\nimport type NewTechnicalCertificateViewConfirmedViewModel from './NewTechnicalCertificateViewConfirmedViewModel';\nimport './NewTechnicalCertificateViewConfirmedView.scss';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport ButtonLoader from '../../../../../components/loader/ButtonLoader';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport ConfirmationCode from '../../../components/Confirmation/ConfirmationCode';\n\nconst NewTechnicalCertificateViewConfirmedView: View<NewTechnicalCertificateViewConfirmedViewModel> =\n  observer(({ vm }) => {\n    const { translate, downloadRequestPdf, pdfDownloadBusyWatcher } = vm;\n\n    return (\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <SuccessMessage\n              text={\n                <>\n                  <span className=\"ml-0 font-normal\" data-testid=\"sent-successfully\">\n                    {translate('confirmation.sent-successfully')}\n                  </span>\n                  <span\n                    className=\"ml-0 font-[700]\"\n                    data-testid=\"confirmation-code-label\"\n                  >{` - ${vm.applicationService.authorityInfoViewModel.authorityTextWithComma}`}</span>\n                </>\n              }\n            />\n\n            <ConfirmationCode\n              translate={vm.sharedTranslate}\n              requestCode={vm.applicationService.requestCode}\n            />\n\n            <InfoBox className=\"confirmation-info-box\">\n              <div>\n                <Typography>{translate('additionalDocs.title')}</Typography>\n                <ul className=\"gov-list info-box-ul\">\n                  <li>{translate('additionalDocs.liOne')}</li>\n                </ul>\n                <Typography>\n                  {translate('additionalDocs.paymentText')}&nbsp;\n                  <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                    {vm.translateTariffCharges('tariff-charges')}\n                  </a>\n                  .\n                </Typography>\n              </div>\n            </InfoBox>\n\n            {/* ACTION BUTTONS */}\n            <div className=\"buttons-wrapper\">\n              {pdfDownloadBusyWatcher.isBusy ? (\n                <ButtonLoader classes=\"\" />\n              ) : (\n                <Button\n                  testId=\"download-pdf-button\"\n                  outlined\n                  onClick={downloadRequestPdf}\n                  text={translate('downloadPdf')}\n                />\n              )}\n            </div>\n          </Envelope>\n        </Container>\n      </ScreenContext>\n    );\n  });\n\nexport default NewTechnicalCertificateViewConfirmedView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport NewTechnicalCertificateViewConfirmedView from './NewTechnicalCertificateViewConfirmedView';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport NewTechnicalCertificateFormViewModel from '../01_form/NewTechnicalCertificateFormViewModel';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from '../../../../../data/egon/api';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@AddDefaultView(NewTechnicalCertificateViewConfirmedView)\n@Service()\nexport default class NewTechnicalCertificateViewConfirmedViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable pdfDownloadBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<NewTechnicalCertificateViewConfirmedViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async activate() {\n    await this.applicationService.init();\n\n    if (\n      this.applicationService.vehicle &&\n      this.applicationService.status &&\n      this.applicationService.status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED\n    ) {\n      this.navigator(NewTechnicalCertificateFormViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n\n    if (typeof this.applicationService.requestId === 'undefined' && this.applicationService.vehicle) {\n      this.navigator(NewTechnicalCertificateFormViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  @Watch<NewTechnicalCertificateViewConfirmedViewModel>((s) => s.pdfDownloadBusyWatcher)\n  @action.bound\n  async downloadRequestPdf() {\n    await this.applicationService.downloadPdf();\n  }\n\n  translate = translate('vehicle-register.applications.new-technical-certificate', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, override, runInAction } from 'mobx';\nimport {\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_CreateNewTechnicalCertificateRequest,\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n} from '../../../../data/egon/api';\nimport NewTechnicalCertificateFormModel from './models/NewTechnicalCertificateFormModel';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport ApiService from '../../../../services/ApiService';\nimport PdfUtils from '../../../../utils/PdfUtils';\nimport AuthorityInfoViewModel from '../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport VehicleAttachmentService from '../../../../services/vehicle/VehicleAttachmentService';\nimport RsvApplicationService from '../Shared/services/RsvApplicationService';\nimport RsvRequestsService from '../Shared/services/RsvRequestsService';\nimport MandatesService from 'src/services/MandatesService';\nimport { UserService } from 'src/services/UserService';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\n\n@Service()\nexport default class ApplicationService extends RsvApplicationService {\n  @observable formModel: NewTechnicalCertificateFormModel = new NewTechnicalCertificateFormModel();\n\n  constructor(\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() private apiService: ApiService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private attachmentService: VehicleAttachmentService,\n    @Inject() protected rsvRequestsService: RsvRequestsService,\n    @Inject() protected mandatesService: MandatesService,\n    @Inject() protected userService: UserService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel\n  ) {\n    super(Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_NEW_TECHNICAL_LICENCE);\n    makeObservable(this);\n  }\n\n  @computed\n  get vehicleServicePersonType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  @computed\n  get isLoggedUserOwner() {\n    if (this.vehicleRegisterService.isUserOwner) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  @override\n  reset() {\n    super.reset();\n    this.formModel = new NewTechnicalCertificateFormModel();\n  }\n\n  @action.bound\n  setAttachPoliceProtocol(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      this.formModel.attachPoliceProtocol = [];\n      this.formModel.attachPoliceProtocol.push({ file, description });\n    }\n  }\n\n  @action.bound\n  unsetAttachPoliceProtocol() {\n    this.formModel.attachPoliceProtocol = [];\n  }\n\n  async getRequest() {\n    if (typeof this.requestId === 'undefined') {\n      return;\n    }\n\n    const response =\n      await this.apiService.egonApi.newTechnicalCertificate.getPdApiEgonV1RsvRequestsNewTechnicalCertificateRequests(\n        this.requestId\n      );\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n      this.status = response.status;\n      this.requestCode = response.requestCode;\n\n      this.formModel.reason = response.reason;\n\n      if (response.attachments && response.attachments.length > 0) {\n        const pdfAttach = response.attachments.find((attach) => attach.type === 'Request');\n\n        if (pdfAttach) {\n          this.pdfId = pdfAttach.id;\n        }\n      }\n\n      if (response.targetAuthorityId !== response.workPlaceId) {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${response.workPlaceId}`;\n      } else {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${null}`;\n      }\n    });\n  }\n\n  async postRequest() {\n    if (!this.vehicle) {\n      console.error('No vehicleId selected when POST request sent');\n      return;\n    }\n\n    const requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_CreateNewTechnicalCertificateRequest = {\n      vehicleId: this.vehicle.information.mainInformation.id ?? 0,\n      targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n      workPlaceId:\n        this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n      reason: this.formModel.reason,\n      contacts: this.contactInfoViewModel.representativeContacts,\n    };\n\n    const response =\n      await this.apiService.egonApi.newTechnicalCertificate.postPdApiEgonV1RsvRequestsNewTechnicalCertificateRequests(\n        requestBody\n      );\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n    });\n  }\n\n  async sendAttachPoliceProtocol() {\n    if (typeof this.requestId === 'undefined') {\n      console.error('No requestId when send-file request sent');\n      return;\n    }\n\n    if (this.formModel.attachPoliceProtocol.length === 0) {\n      console.error('No attachement file sent');\n      return;\n    }\n\n    await this.attachmentService.sendAttachment(\n      this.formModel.attachPoliceProtocol,\n      this.requestId!,\n      Domain_Contracts_Enums_Rsv_AttachmentType.DOCUMENT_CERTIFYING_RECORDED_DATA\n    );\n  }\n\n  async handoverRequest() {\n    if (typeof this.requestId === 'undefined') {\n      console.error('No requestId when handover called');\n      return;\n    }\n\n    const { code } = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestCode = code;\n    });\n  }\n\n  async confirmRequest() {\n    if (typeof this.requestId === 'undefined') {\n      await this.postRequest();\n    }\n\n    if (this.formModel.attachPoliceProtocol.length > 0) await this.sendAttachPoliceProtocol();\n\n    await this.handoverRequest();\n\n    await this.getRequest();\n\n    this.rsvRequestsService.reset();\n  }\n\n  async downloadPdf() {\n    if (typeof this.pdfId === 'undefined' || typeof this.requestId === 'undefined') {\n      console.error('No requestId or pdfId found when pdf download requested');\n      return;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsAttachments(\n      this.pdfId,\n      this.requestId.toString()\n    );\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from 'src/data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons } from 'src/data/egon/api';\nimport Attachment from '../../../../../model/Attachment';\n\n@AddTranslationKey('license-plate-loss.form')\nexport default class NewTechnicalCertificateFormModel {\n  @observable reason =\n    EgonServiceBus_WebApi_Enums_NewTechnicalCertificateReasons.ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_LOSS;\n  @observable attachPoliceProtocol: Attachment[] = [];\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const NewTechnicalCertificateFormModelValidators: ValidationDescriptor<\n  NewTechnicalCertificateFormModel,\n  Validators\n> = {};\n","import { observer } from 'mobx-react-lite';\nimport Button from '../../../../components/shared/Button/Button';\nimport Modal from '../../../../components/shared/Modal';\nimport { Typography } from '../../../../components/shared/Typography/Typography';\nimport MandateChangeButtonModel from './ContinueWithMandateButtonModel';\nimport Alert from '../../../../components/shared/Alert/Alert';\nimport './ContinueWithMandateButton.scss';\n\ntype ContinueWithMandateButtonProps = {\n  buttonText: string;\n  continueAction: () => void;\n  continueWithCurrentIdentity: () => void;\n  isBusy: boolean;\n  size: 'small' | 'normal' | 'large';\n  vm: MandateChangeButtonModel;\n  onChangeMandateBackUrl?: string;\n};\n\nconst ContinueWithMandateButton = observer(\n  ({\n    buttonText,\n    continueAction,\n    continueWithCurrentIdentity,\n    isBusy,\n    size,\n    onChangeMandateBackUrl,\n    vm,\n  }: ContinueWithMandateButtonProps) => {\n    const { setShowModal, mandatesService, showModal, options, selectIdentity, translate } = vm;\n\n    const currentIdentityIsAllowed = options.some((option) => mandatesService.isCurrentIdentity(option));\n\n    const handleContinueAction = () => {\n      setShowModal(false);\n      continueWithCurrentIdentity();\n    };\n\n    const handleChangeMandate = (identity: (typeof options)[number]) => {\n      selectIdentity(identity, onChangeMandateBackUrl ?? window.location.href);\n    };\n\n    return (\n      <>\n        <Button\n          testId=\"next-step-button\"\n          size={size}\n          onClick={continueAction}\n          text={buttonText}\n          isBusy={isBusy}\n        />\n\n        {showModal && (\n          <Modal closeFce={() => setShowModal(false)}>\n            <Typography variant=\"h3\" className=\"mb-5\">\n              {translate('headline')}\n            </Typography>\n            <Typography>{translate('subHeadline')}</Typography>\n\n            <div className=\"mandate-wrapper\">\n              {options.map((mandate, index) => (\n                <div key={`mandate-option-${index}`} className=\"mandate-item-wrapper\">\n                  <div className=\"mandate-item\">\n                    <div className=\"mandate-icon\">\n                      {mandatesService.isPO(mandate) ? (\n                        <i className=\"fa fa-briefcase\" />\n                      ) : (\n                        <i className=\"fa fa-user\"></i>\n                      )}\n                    </div>\n                    <div>\n                      <Typography>{mandatesService.getMandateName(mandate)}</Typography>\n                      <Typography className=\"caption\">\n                        {mandatesService.getMandateSubHeadline(mandate)}\n                      </Typography>\n                    </div>\n                  </div>\n                  {mandatesService.isCurrentIdentity(mandate) ? (\n                    <div className=\"active\">{translate('active')}</div>\n                  ) : (\n                    <Button\n                      testId={`choose-mandate-button-${index}`}\n                      onClick={() => handleChangeMandate(mandate)}\n                      text={translate('choose')}\n                    />\n                  )}\n                </div>\n              ))}\n            </div>\n\n            <Alert>{translate('cantChangeLater')}</Alert>\n\n            {currentIdentityIsAllowed && (\n              <div className=\"d-flex\" style={{ justifyContent: 'flex-end', marginTop: '3em' }}>\n                <Button\n                  testId=\"continue-button\"\n                  onClick={handleContinueAction}\n                  text={translate('continue')}\n                />\n              </div>\n            )}\n          </Modal>\n        )}\n      </>\n    );\n  }\n);\n\nexport default ContinueWithMandateButton;\n","import { observer } from 'mobx-react-lite';\nimport type ApplicationLoaderViewModel from './ApplicationLoaderViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Input from '../../../../../../components/form/Input';\nimport ApplicationInProgressModal from '../../../../components/ApplicationInProgressModal';\nimport ContinueWithMandateButton from '../../../../components/ContinueWithMandateButton/ContinueWithMandateButton';\nimport InfoBox from '@components/shared/InfoBox/InfoBox';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst ApplicationLoaderView: View<ApplicationLoaderViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    sharedTranslate,\n    navBack,\n    loadCode,\n    navToForm,\n    linkToForm,\n    busyWatcher,\n    continueWithMandateButtonModel,\n    mandatesReady,\n    completionError,\n    completionErrorMessage,\n  } = vm;\n\n  const { requestInfoModel } = vm.applicationService;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          {requestInfoModel.foundRequest && !completionError && (\n            <div data-testid=\"application-loader-view\">\n              {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n              <h1>{translate('title')}</h1>\n              <p className=\"application-loader-info\">{translate('application-loader.info')}</p>\n              <div className=\"row\">\n                <div className=\"col-md-4 col-12\">\n                  <Input target={requestInfoModel} property={'requestCode'} />\n                </div>\n                <div className=\"col-md-3 col-12 mt-1\">\n                  <ContinueWithMandateButton\n                    size=\"large\"\n                    continueAction={loadCode}\n                    continueWithCurrentIdentity={navToForm}\n                    isBusy={busyWatcher.isBusy || vm.rsvRequestsService.busyWatcher.isBusy || !mandatesReady}\n                    onChangeMandateBackUrl={linkToForm}\n                    vm={continueWithMandateButtonModel}\n                    buttonText={translate('application-loader.load-application')}\n                  />\n                </div>\n              </div>\n            </div>\n          )}\n          {requestInfoModel.foundRequest && completionError && (\n            <>\n              <InfoPanel type=\"warning\" message={translate('completion-error.title')} />\n              <br />\n              <InfoBox>\n                <div data-testid=\"completion-error\">\n                  <Typography className=\"fs-6\">{completionErrorMessage}</Typography>\n                </div>\n              </InfoBox>\n            </>\n          )}\n          {!requestInfoModel.foundRequest && (\n            <>\n              <InfoPanel type=\"warning\" message={translate('application-loader.error-message')} />\n              <br />\n              <h3 className={'fw-bold text-uppercase text-sm-center application-loader-title'}>\n                {translate('application-loader.invalid-code')}\n              </h3>\n              <br />\n              <InfoBox>\n                <div data-testid=\"error-info\">\n                  <p className=\"fs-6\">\n                    {translate('application-loader.error-info').replace(\n                      '{CODE}',\n                      requestInfoModel.requestCode\n                    )}\n                  </p>\n                  <ul>\n                    <Typography component={'li'}>{translate('application-loader.error-info-li1')}</Typography>\n                    <Typography component={'li'}>{translate('application-loader.error-info-li2')}</Typography>\n                    <Typography component={'li'}>{translate('application-loader.error-info-li3')}</Typography>\n                    <Typography component={'li'}>\n                      {translate('application-loader.error-info-li4')}\n                      <a\n                        data-testid=\"support-link\"\n                        href=\"/support\"\n                        target=\"_blank\"\n                        className=\"link link-external\"\n                      >\n                        {translate('application-loader.error-info-li4-link-text')}\n                      </a>\n                    </Typography>\n                  </ul>\n                </div>\n              </InfoBox>\n            </>\n          )}\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-5\">\n          <Button testId=\"back-button\" outlined onClick={navBack} text={sharedTranslate('back')} />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default ApplicationLoaderView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport MandatesService, { CompanyMandate, PersonMandate } from '../../../../services/MandatesService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\n\n@Service()\n@AddTranslationKey('continue-with-mandate-button')\nexport default class ContinueWithMandateButtonModel {\n  @observable showModal = false;\n  @observable options: Array<PersonMandate | CompanyMandate> = [];\n\n  constructor(\n    @Inject() public mandatesService: MandatesService,\n    @Inject() public localization: LocalizationService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  setShowModal(value: boolean) {\n    runInAction(() => {\n      this.showModal = value;\n    });\n  }\n\n  @action.bound\n  openSelection(options: Array<PersonMandate | CompanyMandate>) {\n    runInAction(() => {\n      this.options = options;\n      this.showModal = true;\n    });\n  }\n\n  @action.bound\n  selectIdentity(identity: PersonMandate | CompanyMandate, backUrl: string) {\n    this.setShowModal(false);\n    this.mandatesService.changeMandates(\n      this.mandatesService.getIdentityIdentifier(identity),\n      this.mandatesService.getIdentityPersonType(identity),\n      backUrl\n    );\n  }\n\n  translate = translate('continue-with-mandate-button', this);\n}\n","import { MandatePersonType } from '../../../../../enums/MandatePersonType';\nimport MandatesService, { CompanyMandate, PersonMandate } from '../../../../../services/MandatesService';\n\nexport enum BuyerCompletionError {\n  /** Application is in a state that cannot be completed by the buyer. */\n  UNSUPPORTED_STATUS = 'unsupported-status',\n  /** Application names a natural person, user has no FO identity available. */\n  MUST_BE_FO = 'must-be-fo',\n  /** Application names a company, user has no PO/PFO identity available. */\n  MUST_BE_PO = 'must-be-po',\n  /** Application names a company the user cannot represent. */\n  IDENTIFICATION_NUMBER_MISMATCH = 'identification-number-mismatch',\n}\n\nexport type BuyerCompletionEvaluation =\n  | { kind: 'continue' }\n  | { kind: 'select-identity'; options: Array<PersonMandate | CompanyMandate> }\n  | { kind: 'error'; error: BuyerCompletionError };\n\ntype NewSubject = {\n  personType: MandatePersonType;\n  identificationNumber: string;\n};\n\n/**\n * Decides under which identity the buyer may complete the application,\n * based on the subject the seller filled in (new owner or new operator).\n */\nexport function evaluateBuyerCompletion(\n  newSubject: NewSubject,\n  mandatesService: MandatesService,\n  identities: Array<PersonMandate | CompanyMandate> = mandatesService.aggregatedMandates\n): BuyerCompletionEvaluation {\n  return newSubject.personType === MandatePersonType.PO\n    ? evaluateCompanySubject(newSubject.identificationNumber, mandatesService, identities)\n    : evaluatePersonSubject(mandatesService, identities);\n}\n\nfunction evaluateCompanySubject(\n  identificationNumber: string,\n  mandatesService: MandatesService,\n  identities: Array<PersonMandate | CompanyMandate>\n): BuyerCompletionEvaluation {\n  const isAlreadyCorrectCompany =\n    mandatesService.personType === MandatePersonType.PO &&\n    mandatesService.selectedIdentifier === identificationNumber;\n\n  if (isAlreadyCorrectCompany) return { kind: 'continue' };\n\n  const matchingIdentity = identities.find(\n    (identity) => mandatesService.isPO(identity) && identity.identificationNumber === identificationNumber\n  );\n\n  // the user has to confirm switching into the company context before continuing\n  if (matchingIdentity) return { kind: 'select-identity', options: [matchingIdentity] };\n\n  if (mandatesService.personType === MandatePersonType.FO) {\n    return {\n      kind: 'error',\n      error: BuyerCompletionError.MUST_BE_PO,\n    };\n  }\n\n  return {\n    kind: 'error',\n    error: BuyerCompletionError.IDENTIFICATION_NUMBER_MISMATCH,\n  };\n}\n\nfunction evaluatePersonSubject(\n  mandatesService: MandatesService,\n  identities: Array<PersonMandate | CompanyMandate>\n): BuyerCompletionEvaluation {\n  const personIdentities = identities.filter((identity): identity is PersonMandate =>\n    mandatesService.isFO(identity)\n  );\n\n  if (personIdentities.length === 0 && mandatesService.personType === MandatePersonType.FO) {\n    return { kind: 'continue' };\n  }\n\n  if (personIdentities.length === 0) return { kind: 'error', error: BuyerCompletionError.MUST_BE_FO };\n\n  // the logged in person is the only option, there is nothing to pick from\n  if (personIdentities.length === 1 && mandatesService.isCurrentIdentity(personIdentities[0])) {\n    return { kind: 'continue' };\n  }\n\n  return { kind: 'select-identity', options: personIdentities };\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction, when } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationLoaderView from './ApplicationLoaderView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport FormViewModel from '../01_form/FormViewModel';\nimport BuyerApplicationService from '../BuyerApplicationService';\nimport { InvalidCodeValidator } from '../models/RequestInfoModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { isBuyerRsvRequestCompletable, isBuyerRsvRequestFinished } from '../../../RsvRequestUtils';\nimport ApplicationListViewModel from '../../../../applicationsList/ApplicationListViewModel';\nimport ContinueWithMandateButtonModel from '../../../../components/ContinueWithMandateButton/ContinueWithMandateButtonModel';\nimport { REQUEST_CODE_FOR_RSV_BUYER } from '../../../../../../constants/SessionStorageKeys';\nimport MandatesService from 'src/services/MandatesService';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport { BuyerCompletionError, evaluateBuyerCompletion } from '../BuyerCompletionEvaluation';\nimport RsvRequestsService from '../../../Shared/services/RsvRequestsService';\nimport SessionService from 'src/services/SessionService';\n\n@Service()\n@AddDefaultView(ApplicationLoaderView)\nexport default class ApplicationLoaderViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable completionError?: BuyerCompletionError = undefined;\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  @computed\n  get mandatesDisabled() {\n    return this.authorizationService.initialized && !this.authorizationService.conditions.MANDATES;\n  }\n\n  @computed\n  get mandatesReady() {\n    return this.mandatesDisabled || this.mandatesService.aggregatedMandatesLoaded;\n  }\n\n  @computed\n  get completionErrorMessage() {\n    return this.completionError ? this.translate(`completion-error.${this.completionError}`) : '';\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  get pathNode(): string {\n    return 'application-loader';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: BuyerApplicationService,\n    @Inject() public continueWithMandateButtonModel: ContinueWithMandateButtonModel,\n    @Inject() public mandatesService: MandatesService,\n    @Inject() private authorizationService: AuthorizationService,\n    @Inject() public rsvRequestsService: RsvRequestsService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.reset();\n    this.mandatesService.getAggregatedMandates();\n  }\n\n  activate() {\n    this.mandatesService.getAggregatedMandates();\n    const queryParams = new URLSearchParams(window.location.search);\n    const queryRequestCode = queryParams.get('code');\n    const sessionRequestCode = this.sessionService.get(REQUEST_CODE_FOR_RSV_BUYER);\n\n    let requestCode = '';\n\n    if (queryRequestCode) {\n      requestCode = queryRequestCode;\n      // delete query parameter from history\n      const url = new URL(window.location.href);\n      url.searchParams.delete('code');\n      window.history.replaceState({}, document.title, url.toString());\n    } else if (sessionRequestCode) {\n      requestCode = sessionRequestCode;\n    }\n\n    if (requestCode) {\n      runInAction(() => {\n        this.applicationService.requestInfoModel.requestCode = requestCode;\n        when(\n          // wait for mandates to load\n          () => this.mandatesReady,\n          () => {\n            // if request code comes from query parameter, start loading the application right away\n            if (queryRequestCode && queryRequestCode.length > 0) this.loadCode();\n          }\n        );\n      });\n    }\n\n    this.validation.attachDescriptor(this.applicationService.requestInfoModel, InvalidCodeValidator);\n  }\n\n  @Watch<ApplicationLoaderViewModel>((t) => t.busyWatcher)\n  @action.bound\n  async loadCode() {\n    runInAction(() => {\n      this.completionError = undefined;\n    });\n\n    await this.applicationService.fetchRequestByCode();\n\n    if (!this.applicationService.requestInfoModel.foundRequest) {\n      this.navigateToApplicationByRequestCode();\n      return;\n    }\n\n    const status = this.applicationService.requestInfoModel.status;\n    if (isBuyerRsvRequestFinished(status)) {\n      runInAction(() => {\n        this.applicationInProgressModalVisible = true;\n        this.applicationService.requestInfoModel.requestCode = '';\n      });\n      return;\n    }\n\n    if (!isBuyerRsvRequestCompletable(status)) {\n      runInAction(() => {\n        this.completionError = BuyerCompletionError.UNSUPPORTED_STATUS;\n      });\n      return;\n    }\n\n    this.resolveCompletionIdentity();\n  }\n\n  @action.bound\n  private resolveCompletionIdentity() {\n    const { newSubjectPersonType, newSubjectIdentificationNumber } = this.applicationService.requestInfoModel;\n\n    const evaluation = evaluateBuyerCompletion(\n      { personType: newSubjectPersonType, identificationNumber: newSubjectIdentificationNumber },\n      this.mandatesService,\n      this.mandatesService.aggregatedMandates\n    );\n\n    switch (evaluation.kind) {\n      case 'continue':\n        this.navToForm();\n        break;\n      case 'select-identity':\n        this.continueWithMandateButtonModel.openSelection(evaluation.options);\n        break;\n      case 'error':\n        runInAction(() => {\n          this.completionError = evaluation.error;\n        });\n        break;\n    }\n  }\n\n  deactivate() {\n    if (this.isRequestCodeValid) {\n      this.sessionService.set(\n        REQUEST_CODE_FOR_RSV_BUYER,\n        this.applicationService.requestInfoModel.requestCode\n      );\n    }\n\n    runInAction(() => {\n      this.applicationInProgressModalVisible = false;\n      this.completionError = undefined;\n    });\n  }\n\n  @action.bound\n  navToForm() {\n    this.navigator(FormViewModel).go();\n  }\n\n  @computed\n  get isRequestCodeValid() {\n    const requestCode = this.applicationService.requestInfoModel.requestCode;\n    const regexp = new RegExp('^[A-Za-z0-9]+$');\n    return requestCode !== '' && regexp.test(requestCode);\n  }\n\n  @computed\n  get linkToForm() {\n    if (!this.isRequestCodeValid) return window.location.href;\n    this.sessionService.set(REQUEST_CODE_FOR_RSV_BUYER, this.applicationService.requestInfoModel.requestCode);\n    return this.navigator(FormViewModel).getPathLocation();\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator('../').go();\n  }\n\n  @action.bound\n  goToVehicle() {\n    // Navigating to application intro, because the application can be entered with different codes\n    this.navigator('../').go();\n  }\n\n  @action.bound\n  goToVehicleList(requestId?: string) {\n    this.applicationInProgressModalVisible = false;\n    const targetRequestId = requestId ?? this.applicationService.requestInfoModel.requestId?.toString() ?? '';\n\n    this.navigator(ApplicationListViewModel).go({\n      requestId: targetRequestId,\n    });\n  }\n\n  private navigateToApplicationByRequestCode() {\n    const requestCode = this.applicationService.requestInfoModel.requestCode;\n    const application = this.rsvRequestsService.requests?.find((x) => x.requestCode === requestCode);\n\n    if (application) this.goToVehicleList(application.requestId.toString());\n  }\n\n  translate = translate('vehicle-register.applications.buyer', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './InfoSection.scss';\nimport VehicleInfoModel from '../models/VehicleInfoModel';\nimport PersonInfoModel from '../models/PersonInfoModel';\nimport DateUtils from '../../../../../../utils/DateUtils';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\ntype Props = {\n  translate: Translator;\n  vehicle: VehicleInfoModel;\n  currentOwner: PersonInfoModel;\n  changedVehicleOperator?: boolean;\n};\n\nconst InfoSection = observer(\n  ({ translate, vehicle, currentOwner, changedVehicleOperator = false }: Props) => {\n    return (\n      <div className=\"row info-section pb-4\">\n        <div className=\"col-md-6 col-12\">\n          <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2'} data-testid=\"subject\">\n            {translate('form.subject')}\n          </Typography>\n          <div className=\"application-info px-4 py-3\">\n            <Typography component=\"h4\" data-testid=\"vehicle-name\">\n              {vehicle.commercialDesignation ? vehicle.commercialDesignation : translate('form.vehicle')}\n            </Typography>\n            <p data-testid=\"registration-number\">\n              <span className=\"uppercase\">{translate('form.registration-number')}:&nbsp;</span>\n              <b>{vehicle.registrationNumber}</b>\n            </p>\n            <p data-testid=\"vin\">\n              <span className=\"uppercase\">{translate('form.vin')}:&nbsp;</span>\n              <b>{vehicle.vin}</b>\n            </p>\n          </div>\n        </div>\n        <div className=\"col-md-6 col-12\">\n          <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2'} data-testid=\"owner-title\">\n            {changedVehicleOperator ? translate('form.owner') : translate('form.current-owner')}\n          </Typography>\n          <div className=\"owner-info px-4 py-3\">\n            {currentOwner.personType === MandatePersonType.FO ? (\n              <Typography component=\"h4\" data-testid=\"owner-name\">\n                {`${currentOwner.firstName} ${currentOwner.lastName}`}\n              </Typography>\n            ) : (\n              <Typography component=\"h4\" data-testid=\"owner-name\">\n                {currentOwner.name}\n              </Typography>\n            )}\n            <p data-testid=\"owner-address\">\n              <span className=\"uppercase\">{translate('form.address')}:&nbsp;</span>\n              <b>{currentOwner.address}</b>\n            </p>\n            {currentOwner.personType === MandatePersonType.FO ? (\n              <p data-testid=\"owner-date-of-birth\">\n                <span className=\"uppercase\">{translate('form.date-of-birth')}:&nbsp;</span>\n                <b>{DateUtils.dateFormatCz(currentOwner.birthDate)}</b>\n              </p>\n            ) : (\n              <p data-testid=\"owner-identification-number\">\n                <span className=\"uppercase\">{translate('form.identificationNumber')}:&nbsp;</span>\n                <b>{currentOwner.identificationNumber}</b>\n              </p>\n            )}\n          </div>\n        </div>\n      </div>\n    );\n  }\n);\n\nexport default InfoSection;\n","import { observer } from 'mobx-react-lite';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport PersonInfoModel from '../models/PersonInfoModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Input from '../../../../../../components/form/Input';\nimport PersonalInfoModel from '../models/PersonalInfoModel';\nimport EntrepreneurInfoModel from '../models/EntrepreneurInfoModel';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport { Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType } from 'src/data/egon/api';\nimport { GovIcon, LegacyTooltip } from '@cendis/cedr-components';\nimport NewOperatorModel from '../models/NewOperatorModel';\n\ntype NewOwnerProps = {\n  mandatePersonType: string;\n  changeType: Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType;\n  newOwner: PersonInfoModel;\n  newOperator: NewOperatorModel;\n  newOwnerPersonalInfo: PersonalInfoModel;\n  newOwnerEntrepreneurInfo: EntrepreneurInfoModel;\n  isOperatorChanged: boolean;\n  translate: Translator;\n};\n\nconst NewOwner = observer(\n  ({\n    mandatePersonType,\n    changeType,\n    newOwner,\n    newOperator,\n    newOwnerPersonalInfo,\n    newOwnerEntrepreneurInfo,\n    translate,\n    isOperatorChanged,\n  }: NewOwnerProps) => {\n    const isPerson =\n      (isOperatorChanged && newOperator.identificationNumber === '') ||\n      (!isOperatorChanged && newOwner.identificationNumber === '');\n    return (\n      <>\n        <Fieldset wide>\n          <h3 className=\"has-hint css-reset mt-4\" data-testid=\"new-owner-operator-field-title\">\n            {changeType === Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR ||\n            isOperatorChanged ? (\n              <>\n                <span>{translate('form.new-operator-field-title')}</span>\n                <LegacyTooltip\n                  tooltipContent={translate('form.new-operator-field-title-hint')}\n                  position=\"bottom\"\n                  size=\"s\"\n                  className=\"c:uppercase\"\n                  testId=\"new-operator-field-title-hint\"\n                >\n                  <GovIcon\n                    name={'components/info-circle-fill'}\n                    size=\"m\"\n                    className=\"mx-1 mb-1 inline align-middle\"\n                  />\n                </LegacyTooltip>\n              </>\n            ) : (\n              <>\n                <span>{translate('form.new-owner-field-title')}</span>\n                <LegacyTooltip\n                  tooltipContent={translate('form.new-owner-field-title-hint')}\n                  position=\"bottom\"\n                  size=\"s\"\n                  className=\"c:uppercase\"\n                  testId=\"new-owner-field-title-hint\"\n                >\n                  <GovIcon\n                    name={'components/info-circle-fill'}\n                    size=\"m\"\n                    className=\"mx-1 mb-1 inline align-middle\"\n                  />\n                </LegacyTooltip>\n              </>\n            )}\n          </h3>\n          <Input\n            disabled\n            target={isOperatorChanged ? newOperator : newOwner}\n            property={isPerson ? 'fullName' : 'identificationNumber'}\n            label={translate('name-or-ico')}\n            thin\n          />\n        </Fieldset>\n\n        <Fieldset\n          title={\n            changeType === Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR ||\n            isOperatorChanged\n              ? 'form.new-operator-info-fields'\n              : 'form.new-owner-info-fields'\n          }\n          hint={\n            changeType === Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR ||\n            isOperatorChanged\n              ? 'form.new-operator-info-fields-hint'\n              : 'form.new-owner-info-fields-hint'\n          }\n          wide\n        >\n          {mandatePersonType === MandatePersonType.FO ? (\n            <>\n              <Input disabled target={newOwnerPersonalInfo} property=\"firstName\" thin />\n              <Input disabled target={newOwnerPersonalInfo} property=\"lastName\" thin />\n              <Input disabled target={newOwnerPersonalInfo} property=\"birthNumber\" thin />\n              <Input disabled target={newOwnerPersonalInfo} property=\"formattedAddress\" thin />\n            </>\n          ) : (\n            <>\n              <Input disabled target={newOwnerEntrepreneurInfo} property=\"name\" thin />\n              <Input disabled target={newOwnerEntrepreneurInfo} property=\"identificationNumber\" thin />\n              <Input disabled target={newOwnerEntrepreneurInfo} property=\"formattedAddress\" thin />\n            </>\n          )}\n        </Fieldset>\n      </>\n    );\n  }\n);\n\nexport default NewOwner;\n","import Modal from '../../../../../../components/shared/Modal';\nimport InfoPanel from '../../../../../../components/shared/InfoPanel/InfoPanel';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\nexport type DifferentMandateWarningModalProps = {\n  navBack: () => void;\n  toggleModal: () => void;\n  translate: Translator;\n  sharedTranslate: Translator;\n  personType: MandatePersonType;\n};\n\nconst DifferentMandateWarningModal = ({\n  navBack,\n  toggleModal,\n  translate,\n  sharedTranslate,\n  personType,\n}: DifferentMandateWarningModalProps) => {\n  const translationPersonType = personType === MandatePersonType.FO ? MandatePersonType.FO : MandatePersonType.PO;\n\n  return (\n    <Modal headLine={translate(`differentMandateWarning.title.${translationPersonType}`)} closeFce={toggleModal}>\n      <InfoPanel message={translate(`differentMandateWarning.warning.${translationPersonType}`)} type=\"warning\" />\n      <div className=\"d-flex justify-content-between mt-5\">\n        <Button testId=\"back-button\" rightMargin outlined onClick={navBack} text={sharedTranslate('back')} />\n        <Button testId=\"continue-button\" onClick={toggleModal} text={sharedTranslate('continue')} />\n      </div>\n    </Modal>\n  );\n};\n\nexport default DifferentMandateWarningModal;\n","import { observer } from 'mobx-react-lite';\nimport type FormViewModel from './FormViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport InfoSection from '../components/InfoSection';\nimport ContactInfoView from '../../../../../components/ContactInfo/ContactInfoView';\nimport NewOwner from '../components/NewOwner';\nimport NewOperator from '../components/NewOperator';\nimport Modal from '../../../../../../components/shared/Modal';\nimport Alert from '../../../../../../components/shared/Alert/Alert';\nimport AuthorityInfoView from '../../../../components/AuthorityInfo/AuthorityInfoView';\nimport DragAndDropFile from '../../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport DifferentMandateWarningModal from '../components/DifferentMandateWarningModal';\nimport AttachmentsHeader from 'src/app/vehicle/components/AttachmentsHeader';\nimport { Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType } from 'src/data/egon/api';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\n\nconst FormView: View<FormViewModel> = observer(({ vm }) => {\n  const {\n    buyerFormModel,\n    navBack,\n    navToSummary,\n    newOperatorTypeOptions,\n    sharedTranslate,\n    contactInfoViewModel,\n    translate,\n    busyWatcherButton,\n    sendDataError,\n    toggleErrorModal,\n    mandatesService,\n    toggleDifferentMandateWarningModal,\n  } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <h1 data-testid=\"title\">\n            {vm.buyerFormModel.changeType ===\n            Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR\n              ? vm.applicationService.isDifferentOperator\n                ? translate('title-operator')\n                : translate('title-ownerAndOperator')\n              : vm.buyerFormModel.changeType ===\n                  Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR\n                ? translate('title-operator')\n                : translate('title-owner')}\n          </h1>\n          {vm.displayModalError && (\n            <Modal headLine={translate('send-error')} className=\"test-modal-OwnerOrOperatorChangedError\">\n              <Alert type=\"error\" message={translate('buyer-same-as-seller')} />\n              <div className=\"d-flex justify-content-end mt-5\">\n                <Button testId=\"back-button-2\" outlined onClick={navBack} text={sharedTranslate('back')} />\n              </div>\n            </Modal>\n          )}\n          {vm.displayDifferentMandateWarningModal && (\n            <DifferentMandateWarningModal\n              toggleModal={toggleDifferentMandateWarningModal}\n              translate={translate}\n              sharedTranslate={sharedTranslate}\n              navBack={navBack}\n              personType={mandatesService.personType}\n            />\n          )}\n          {sendDataError && (\n            <Modal headLine={translate('confirmation-title')} closeFce={toggleErrorModal}>\n              <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n            </Modal>\n          )}\n          <RenderModel vm={vm.ownerOrOperatorChangedViewSellerStepsViewModel} />\n          <InfoSection\n            changedVehicleOperator={vm.applicationService.isDifferentOperator}\n            vehicle={buyerFormModel.vehicle}\n            currentOwner={vm.applicationService.currentOwner}\n            translate={translate}\n          />\n          <NewOwner\n            mandatePersonType={mandatesService.personType}\n            changeType={buyerFormModel.changeType}\n            newOwner={buyerFormModel.newOwner}\n            newOperator={buyerFormModel.newOperator}\n            newOwnerPersonalInfo={buyerFormModel.newOwnerPersonalInfo}\n            newOwnerEntrepreneurInfo={buyerFormModel.newOwnerEntrepreneurInfo}\n            translate={translate}\n            isOperatorChanged={vm.applicationService.isDifferentOperator}\n          />\n          <ContactInfoView vm={contactInfoViewModel} />\n          {vm.buyerFormModel.changeType ===\n            Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR &&\n            !vm.applicationService.isDifferentOperator && (\n              <NewOperator\n                newOperator={buyerFormModel.newOperator}\n                newOperatorTypeOptions={newOperatorTypeOptions}\n                translate={translate}\n                allowBirthDateOnly={false}\n              />\n            )}\n          <AuthorityInfoView vm={vm.applicationService.authorityInfoViewModel} />\n          <div className=\"fullWidth\">\n            <AttachmentsHeader\n              translate={sharedTranslate}\n              newOperatorDifferentFromNewOwner={\n                vm.buyerFormModel.newOperator.newOperatorDifferentFromNewOwner\n              }\n            />\n            <DragAndDropFile\n              files={buyerFormModel.attachGreenCard}\n              // message={translate('attach.alertMessage')}\n              id={1}\n              buttonLabel={translate('attach.button')}\n              infoLabel={translate('attach.info')}\n              filesLabel={translate('attach.files')}\n              formats={['jpg', 'jpeg', 'png', 'pdf']}\n              fileTypeError={translate('attach.typeError')}\n              validationsFired={false}\n              hideFormats={true}\n              handleFile={vm?.setGreenCardFiles}\n              handleRemoveFile={vm?.unsetGreenCardFiles}\n              allowedFileSize={5 * 1024 * 1024}\n              fileSizeError={translate('attach.sizeError')}\n              filesSize={0}\n              setFilesSize={() => {}}\n              generalTranslate={translate}\n            />\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-5\">\n          <Button testId=\"back-button\" outlined onClick={navBack} text={sharedTranslate('back')} />\n\n          <Button\n            testId=\"continue-button\"\n            onClick={navToSummary}\n            text={sharedTranslate('continue')}\n            isBusy={busyWatcherButton.isBusy}\n          />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default FormView;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport PersonalInfoModel from '../models/PersonalInfoModel';\nimport DateUtils from '../../../../../../utils/DateUtils';\nimport EntrepreneurInfoModel from '../models/EntrepreneurInfoModel';\nimport StringFormatUtils from '../../../../../../utils/StringFormatUtils';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\ntype NewOwnerSummaryProps = {\n  heading?: string;\n  mandatePersonType: MandatePersonType;\n  newOwnerPersonalInfo: PersonalInfoModel;\n  newOwnerEntrepreneurInfo: EntrepreneurInfoModel;\n  email?: string;\n  phone?: string;\n  translate: Translator;\n};\n\nconst NewOwnerSummary = observer(\n  ({\n    heading,\n    newOwnerPersonalInfo,\n    newOwnerEntrepreneurInfo,\n    mandatePersonType,\n    email,\n    phone,\n    translate,\n  }: NewOwnerSummaryProps) => {\n    return (\n      <>\n        {heading && (\n          <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2 py-0'}>\n            {heading}\n          </Typography>\n        )}\n        <div className=\"personal-info-section\">\n          {mandatePersonType === MandatePersonType.FO ? (\n            <>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"full-name\">\n                {translate('summary.full-name')}: <b>{newOwnerPersonalInfo.fullName}</b>\n              </p>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"date-of-birth\">\n                {translate('summary.date-of-birth')}:{' '}\n                <b>{DateUtils.dateFormatCz(newOwnerPersonalInfo.dayOfBirth)}</b>\n              </p>\n              {email && (\n                <p className=\"u-color--grey-dark my-0\" data-testid=\"email\">\n                  {translate('summary.email')}: <b>{email}</b>\n                </p>\n              )}\n              {phone && (\n                <p className=\"u-color--grey-dark my-0\" data-testid=\"phone\">\n                  {translate('summary.phone')}: <b>{StringFormatUtils.formatPhoneNumber(phone)}</b>\n                </p>\n              )}\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n                {translate('summary.address')}: <b>{newOwnerPersonalInfo.formattedAddress}</b>\n              </p>\n            </>\n          ) : (\n            <>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"name\">\n                {translate('summary.name')}: <b>{newOwnerEntrepreneurInfo.name}</b>\n              </p>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"identificationNumber\">\n                {translate('summary.identificationNumber')}:{' '}\n                <b>{newOwnerEntrepreneurInfo.identificationNumber}</b>\n              </p>\n              {email && (\n                <p className=\"u-color--grey-dark my-0\" data-testid=\"email\">\n                  {translate('summary.email')}: <b>{email}</b>\n                </p>\n              )}\n              {phone && (\n                <p className=\"u-color--grey-dark my-0\" data-testid=\"phone\">\n                  {translate('summary.phone')}: <b>{StringFormatUtils.formatPhoneNumber(phone)}</b>\n                </p>\n              )}\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n                {translate('summary.address')}: <b>{newOwnerEntrepreneurInfo.formattedAddress}</b>\n              </p>\n            </>\n          )}\n        </div>\n      </>\n    );\n  }\n);\n\nexport default NewOwnerSummary;\n","import { observer } from 'mobx-react-lite';\nimport NewOperatorModel from '../models/NewOperatorModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NewOwnerSummary from './NewOwnerSummary';\nimport PersonalInfoModel from '../models/PersonalInfoModel';\nimport EntrepreneurInfoModel from '../models/EntrepreneurInfoModel';\nimport DateUtils from '../../../../../../utils/DateUtils';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\ntype NewOperatorSummaryProps = {\n  newOwnerPersonalInfo: PersonalInfoModel;\n  newOwnerEntrepreneurInfo: EntrepreneurInfoModel;\n  newOperator: NewOperatorModel;\n  mandatePersonType: MandatePersonType;\n  translate: Translator;\n  email?: string;\n  phone?: string;\n};\n\nconst NewOperatorSummary = observer(\n  ({\n    newOwnerPersonalInfo,\n    newOwnerEntrepreneurInfo,\n    newOperator,\n    mandatePersonType,\n    translate,\n    email,\n    phone,\n  }: NewOperatorSummaryProps) => {\n    return (\n      <>\n        {newOperator.newOperatorDifferentFromNewOwner ? (\n          <>\n            <h3 className=\"fw-bold u-color--grey-dark mt-4\" data-testid=\"new-operator\">\n              {translate('form.new-operator')}\n            </h3>\n\n            <div className=\"personal-info-section\">\n              {newOperator.personType === MandatePersonType.FO ? (\n                <>\n                  <p className=\"u-color--grey-dark my-0\" data-testid=\"full-name\">\n                    {translate('summary.full-name')}: <b>{newOperator.fullName}</b>\n                  </p>\n\n                  {newOperator.birthNumber ? (\n                    <p className=\"u-color--grey-dark my-0\" data-testid=\"birthNumber\">\n                      {translate('summary.birthNumber')}: <b>{newOperator.birthNumber}</b>\n                    </p>\n                  ) : (\n                    <p className=\"u-color--grey-dark my-0\" data-testid=\"birthDate\">\n                      {translate('summary.birthDate')}:{' '}\n                      <b>{DateUtils.dateFormatCz(newOperator.birthDate ?? '')}</b>\n                    </p>\n                  )}\n\n                  <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n                    {translate('summary.address')}: <b>{newOperator.address}</b>\n                  </p>\n                </>\n              ) : (\n                <>\n                  <p className=\"u-color--grey-dark my-0\" data-testid=\"name\">\n                    {translate('summary.name')}: <b>{newOperator.name}</b>\n                  </p>\n\n                  <p className=\"u-color--grey-dark my-0\" data-testid=\"identificationNumber\">\n                    {translate('summary.identificationNumber')}: <b>{newOperator.identificationNumber}</b>\n                  </p>\n\n                  <p className=\"u-color--grey-dark my-0\" data-testid=\"address\">\n                    {translate('summary.address')}: <b>{newOperator.address}</b>\n                  </p>\n                </>\n              )}\n            </div>\n          </>\n        ) : (\n          <NewOwnerSummary\n            heading={translate('form.new-operator')}\n            newOwnerPersonalInfo={newOwnerPersonalInfo}\n            newOwnerEntrepreneurInfo={newOwnerEntrepreneurInfo}\n            mandatePersonType={mandatePersonType}\n            translate={translate}\n            email={email}\n            phone={phone}\n          />\n        )}\n      </>\n    );\n  }\n);\n\nexport default NewOperatorSummary;\n","import { observer } from 'mobx-react-lite';\nimport type SummaryViewModel from './SummaryViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Modal from '../../../../../../components/shared/Modal';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport InfoSection from '../components/InfoSection';\nimport InfoPanel from '../../../../../../components/shared/InfoPanel/InfoPanel';\nimport NewOwnerSummary from '../components/NewOwnerSummary';\nimport NewOperatorSummary from '../components/NewOperatorSummary';\nimport AuthorityInfoView from '../../../../components/AuthorityInfo/AuthorityInfoView';\nimport SummaryWarning from '../../../../components/SummaryWarning/SummaryWarning';\nimport { Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType } from 'src/data/egon/api';\n\nconst SummaryView: View<SummaryViewModel> = observer(({ vm }) => {\n  const {\n    buyerFormModel,\n    translate,\n    sharedTranslate,\n    navToConfirmation,\n    navBack,\n    sendDataError,\n    toggleErrorModal,\n    mandatesServise,\n  } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <div className=\"buyer-summary-view\">\n          {sendDataError && (\n            <Modal headLine={translate('confirmation-title')} closeFce={toggleErrorModal}>\n              <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n            </Modal>\n          )}\n\n          <Envelope>\n            <h1 data-testid=\"title\">\n              {vm.buyerFormModel.changeType ===\n              Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR\n                ? vm.applicationService.isDifferentOperator\n                  ? translate('title-operator')\n                  : translate('title-ownerAndOperator')\n                : vm.buyerFormModel.changeType ===\n                    Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR\n                  ? translate('title-operator')\n                  : translate('title-owner')}\n            </h1>\n            <RenderModel vm={vm.ownerOrOperatorChangedViewSellerStepsViewModel} />\n            <InfoSection\n              changedVehicleOperator={vm.applicationService.isDifferentOperator}\n              vehicle={buyerFormModel.vehicle}\n              currentOwner={vm.applicationService.currentOwner}\n              translate={translate}\n            />\n            {!vm.applicationService.isDifferentOperator && (\n              <NewOwnerSummary\n                heading={\n                  buyerFormModel.changeType ===\n                    Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR ||\n                  vm.applicationService.isDifferentOperator\n                    ? translate('summary.new-operator')\n                    : translate('summary.new-owner')\n                }\n                newOwnerPersonalInfo={buyerFormModel.newOwnerPersonalInfo}\n                newOwnerEntrepreneurInfo={buyerFormModel.newOwnerEntrepreneurInfo}\n                mandatePersonType={mandatesServise.personType}\n                translate={translate}\n                email={vm.contactInfoViewModel.email}\n                phone={vm.contactInfoViewModel.phone}\n              />\n            )}\n            {buyerFormModel.changeType !==\n              Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER && (\n              <NewOperatorSummary\n                newOperator={buyerFormModel.newOperator}\n                newOwnerPersonalInfo={buyerFormModel.newOwnerPersonalInfo}\n                newOwnerEntrepreneurInfo={buyerFormModel.newOwnerEntrepreneurInfo}\n                mandatePersonType={mandatesServise.personType}\n                translate={translate}\n                email={vm.contactInfoViewModel.email}\n                phone={vm.contactInfoViewModel.phone}\n              />\n            )}\n            <AuthorityInfoView\n              vm={vm.applicationService.authorityInfoViewModel}\n              headerText={translate('form.place')}\n            />\n            <SummaryWarning\n              personType={vm.applicationService.vehicleServicePersonType}\n              translate={sharedTranslate}\n            />\n          </Envelope>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"d-flex justify-content-between mt-5\">\n            <Button testId=\"back-button\" outlined onClick={navBack} text={sharedTranslate('back')} />\n            <Button\n              testId=\"continue-button\"\n              onClick={navToConfirmation}\n              text={sharedTranslate('sendApplication')}\n            />\n          </div>\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default SummaryView;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ClipboardCopy from '../../../../components/shared/ClipboardCopy/ClipboardCopy';\nimport './styles.scss';\nimport QR from '@components/shared/QR/QR';\n\nexport type ConfirmationCodeProps = {\n  requestCode?: string;\n  translate: Translator;\n  buyerFormLink?: string;\n};\n\nconst ConfirmationCodeOwnerAndOperator = observer(\n  ({ requestCode, buyerFormLink, translate }: ConfirmationCodeProps) => {\n    return (\n      <div className=\"confirmationCode\">\n        <p className=\"confirmationCodeHeader\">{translate('confirmationCodeHeader')}</p>\n        <h1 className=\"mt-1 mb-4\">\n          <span className=\"font-consolas\">{requestCode}</span>\n          <ClipboardCopy\n            text={requestCode ?? ''}\n            className=\"mx-2\"\n            iconSize=\"medium\"\n            textConfirmation={translate('copyClipboardCode')}\n            showModalMessage={true}\n          />\n        </h1>\n        <h2 className=\"mb-3\">\n          <strong>{translate('confirmationCodeDescL1')}</strong>\n        </h2>\n        <div className=\"d-flex flex-column justify-content-start align-items-center gap-1\">\n          <p className=\"mb-2\">\n            {translate('linkToApp')}\n\n            <ClipboardCopy\n              text={buyerFormLink ?? ''}\n              className=\"mx-2\"\n              iconSize=\"large\"\n              textConfirmation={translate('copyClipboardLink')}\n              showModalMessage={true}\n            />\n          </p>\n          <div className=\"QR-wrapper\">\n            <QR message={buyerFormLink} />\n          </div>\n        </div>\n      </div>\n    );\n  }\n);\n\nexport default ConfirmationCodeOwnerAndOperator;\n","import { observer } from 'mobx-react-lite';\nimport type ConfirmationViewModel from './ConfirmationViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SuccessMessage from '../../../../../../components/form/SuccessMessage';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport './ConfirmationView.scss';\nimport ConfirmationCode from '../../../../components/Confirmation/ConfirmationCode';\nimport ConfirmationCodeOwnerAndOperator from 'src/app/vehicle/components/Confirmation/ConfirmationCodeOwnerAndOperator';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\nconst ConfirmationView: View<ConfirmationViewModel> = observer(({ vm }) => {\n  const { translate, sharedTranslate, authorityInfo, downloadApplicationPdf, busyWatcher, buyerFormLink } =\n    vm;\n\n  const showScreenWithQrCode = vm.isChangedOwnerAndOperator && vm.applicationService.isDifferentOperator;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          {showScreenWithQrCode ? (\n            <>\n              <SuccessMessage text={translate('confirmationOwnerAndOperator.sent-successfully')} />\n              <ConfirmationCodeOwnerAndOperator\n                translate={vm.translate}\n                requestCode={vm.applicationService.requestInfoModel.requestCode}\n                buyerFormLink={buyerFormLink}\n              />\n              {/* INFOBOX */}\n              <InfoBox className=\"confirmation-info-box mb-3\">\n                <div>\n                  <p data-testid=\"isChangedOwnerAndOperatorInfoBox\">\n                    <strong>{translate('confirmation.isChangedOwnerAndOperatorInfoBox.parOne1')}</strong>\n                    <br />\n                    {translate('confirmation.isChangedOwnerAndOperatorInfoBox.parOne2')}{' '}\n                    <i className={'fa-regular fa-copy copy-icon icon-color-dark'}></i>{' '}\n                    {translate('confirmation.isChangedOwnerAndOperatorInfoBox.parOne3')}\n                  </p>\n                </div>\n              </InfoBox>\n              <InfoBox className=\"confirmation-info-box mt-0\">\n                <div>\n                  <p data-testid=\"isChangedOwnerAndOperatorInfoBox\">\n                    <strong>{translate('confirmation.isChangedOwnerAndOperatorInfoBox.parTwo1')}</strong>\n                    {translate('confirmation.isChangedOwnerAndOperatorInfoBox.parTwo2')}\n                    <strong>{translate('confirmation.isChangedOwnerAndOperatorInfoBox.parTwo3')}</strong>\n                    {translate('confirmation.isChangedOwnerAndOperatorInfoBox.parTwo4')}\n                    <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                      {vm.translateTariffCharges('tariff-charges')}\n                    </a>\n                    .\n                  </p>\n                </div>\n              </InfoBox>\n\n              {/* ACTION BUTTONS */}\n              <div className=\"d-flex mt-4 mb-4\">\n                <Button\n                  testId=\"download-pdf-button-2\"\n                  rightMargin\n                  outlined\n                  onClick={() => downloadApplicationPdf()}\n                  text={sharedTranslate('download-pdf')}\n                  isBusy={busyWatcher.isBusy}\n                />\n\n                <Button\n                  testId=\"download-instruction-pdf-button\"\n                  isBusy={vm.instructionBusyWatcher.isBusy}\n                  outlined\n                  onClick={() => vm.downloadInstructionPdf()}\n                  text={translate('downloadInstructionPdf')}\n                />\n              </div>\n            </>\n          ) : (\n            <>\n              {/* SUCCESS MESSAGE */}\n              <SuccessMessage\n                text={translate('confirmation.sent-successfully')}\n                authority={' - ' + authorityInfo}\n              />\n              <ConfirmationCode\n                translate={vm.sharedTranslate}\n                requestCode={vm.applicationService.requestInfoModel.requestCode}\n              />\n              {/* INFOBOX */}\n              <InfoBox className=\"confirmation-info-box\">\n                <div>\n                  <Typography component=\"p\">\n                    {translate('confirmation.info-box.parOne1')}\n\n                    <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                      {vm.translateTariffCharges('tariff-charges')}\n                    </a>\n                    {translate('confirmation.info-box.parOne2')}\n                  </Typography>\n                  <Typography component=\"ul\" className=\"gov-list info-box-ul\">\n                    <Typography component=\"li\">{translate('confirmation.info-box.liOne')}</Typography>\n                    <Typography component=\"li\">{translate('confirmation.info-box.liTwo')}</Typography>\n                  </Typography>\n                </div>\n              </InfoBox>\n\n              {/* ACTION BUTTONS */}\n              <div className=\"d-flex mt-4 mb-4\">\n                <Button\n                  testId=\"download-pdf-button\"\n                  rightMargin\n                  outlined\n                  onClick={() => downloadApplicationPdf()}\n                  text={sharedTranslate('download-pdf')}\n                  isBusy={busyWatcher.isBusy}\n                />\n              </div>\n            </>\n          )}\n        </Envelope>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default ConfirmationView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ConfirmationView from './ConfirmationView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport BuyerApplicationService from '../BuyerApplicationService';\nimport VehicleRegisterService from '../../../../../../services/vehicle/VehicleRegisterService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport FormViewModel from '../01_form/FormViewModel';\nimport { isBuyerRsvRequestConfirmed } from '../../../RsvRequestUtils';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\nimport { Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType } from 'src/data/egon/api';\nimport { rsvBuyerFormLink } from '../../../RsvBuyerFormLink';\nimport PdfUtils from 'src/utils/PdfUtils';\nimport { REQUEST_CODE_FOR_RSV_BUYER } from 'src/constants/SessionStorageKeys';\nimport SessionService from 'src/services/SessionService';\n\n@Service()\n@AddDefaultView(ConfirmationView)\nexport default class ConfirmationViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable instructionBusyWatcher = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  get isChangedOwnerAndOperator() {\n    return (\n      this.applicationService.buyerFormModel.newOperator.newOperatorDifferentFromNewOwner &&\n      this.applicationService.buyerFormModel.changeType ===\n        Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR\n    );\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  get authorityInfo() {\n    return this.applicationService.authorityInfoViewModel.authorityTextWithComma;\n  }\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public applicationService: BuyerApplicationService,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async activate() {\n    this.sessionService.remove(REQUEST_CODE_FOR_RSV_BUYER);\n    await this.applicationService.authorityInfoViewModel.loadAuthorities();\n    if (\n      this.applicationService.requestInfoModel.status &&\n      !isBuyerRsvRequestConfirmed(this.applicationService.requestInfoModel.status)\n    ) {\n      this.navigator(FormViewModel).go();\n    }\n  }\n\n  async notifyNavigation() {}\n\n  @Watch<ConfirmationViewModel>((t) => t.busyWatcher)\n  @action.bound\n  async downloadApplicationPdf() {\n    await this.applicationService.downloadPdf();\n  }\n\n  @Watch<ConfirmationViewModel>((t) => t.instructionBusyWatcher)\n  @action.bound\n  async downloadInstructionPdf() {\n    const blob = await this.applicationService.apiService.egonApi.vehiclePdf.finishRequestInstructions({\n      requestCode: this.applicationService.requestInfoModel.requestCode ?? '',\n      finishRequestLink: this.buyerFormLink,\n    });\n    PdfUtils.downloadBlob(blob, 'instrukce_k_dokonceni_prevodu_vozidla');\n  }\n\n  @computed\n  get buyerFormLink() {\n    if (!this.applicationService.requestInfoModel.requestCode) {\n      return '#';\n    }\n\n    return rsvBuyerFormLink(this.navigator, this.applicationService.requestInfoModel.requestCode);\n  }\n\n  translate = translate('vehicle-register.applications.buyer', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport SummaryViewModel from './SummaryViewModel';\n\nconst SummaryViewLoading: View<SummaryViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default SummaryViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport SummaryView from './SummaryView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport OwnerOrOperatorChangedViewSellerStepsViewModel from '../../seller/steps/OwnerOrOperatorChangedViewSellerStepsViewModel';\nimport BuyerApplicationService from '../BuyerApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport FormViewModel from '../01_form/FormViewModel';\nimport ConfirmationViewModel from '../03_confirmation/ConfirmationViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport SummaryViewLoading from './SummaryViewLoading';\nimport { isBuyerRsvRequestFinished } from '../../../RsvRequestUtils';\nimport MandatesService from '../../../../../../services/MandatesService';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummaryView)\n@AddBusyView(SummaryViewLoading)\nexport default class SummaryViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n\n  breadcrumb: BreadcrumbControl = { hideInNavigation: true };\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get buyerFormModel() {\n    return this.applicationService.buyerFormModel;\n  }\n\n  get contactInfoViewModel() {\n    return this.applicationService.contactInfoViewModel;\n  }\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  @computed\n  get fileList() {\n    const list: Array<{ typeName: string; file: File }> = [];\n\n    this.buyerFormModel.attachContract.forEach((attach) => {\n      list.push({ typeName: this.translate('attach.summary.contract'), file: attach.file });\n    });\n\n    this.buyerFormModel.attachEvidentialControl.forEach((attach) => {\n      list.push({\n        typeName: this.translate('attach.summary.evidentialControl'),\n        file: attach.file,\n      });\n    });\n\n    this.buyerFormModel.attachGreenCard.forEach((attach) => {\n      list.push({ typeName: '', file: attach.file });\n    });\n\n    return list;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: BuyerApplicationService,\n    @Inject()\n    public ownerOrOperatorChangedViewSellerStepsViewModel: OwnerOrOperatorChangedViewSellerStepsViewModel,\n    @Inject() public mandatesServise: MandatesService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.summaryHeaderClassName = 'bold h4 mt-4 mb-2';\n    this.ownerOrOperatorChangedViewSellerStepsViewModel.changeStep(2);\n  }\n\n  @Watch<SummaryViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (isBuyerRsvRequestFinished(this.applicationService.requestInfoModel.status)) {\n      this.navToIntro();\n    } else if (this.applicationService.authorityInfoViewModel.selectedAuthorityId === 0) {\n      this.navigator(FormViewModel).go();\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(FormViewModel).go();\n  }\n\n  @Watch<SummaryViewModel>((t) => t.busyWatcher)\n  @action.bound\n  async navToConfirmation() {\n    try {\n      await this.applicationService.buyerPutRequest();\n\n      await this.applicationService.confirmRequest();\n      this.navigator(ConfirmationViewModel).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(err, 'OwnerOrOperatorChanged SummaryViewModel', 'navToConfirmation');\n      this.handleError(err);\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator('..').go();\n  }\n\n  translate = translate('vehicle-register.applications.buyer', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport FormViewModel from './FormViewModel';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\n\nconst FormViewModelLoading: View<FormViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default FormViewModelLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction, IReactionDisposer, reaction } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport FormView from './FormView';\nimport type { BreadcrumbControl } from '../../../../../breadcrumbs/types';\nimport SummaryViewModel from '../02_summary/SummaryViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport ConfirmationViewModel from '../03_confirmation/ConfirmationViewModel';\nimport OwnerOrOperatorChangedViewSellerStepsViewModel from '../../seller/steps/OwnerOrOperatorChangedViewSellerStepsViewModel';\nimport BuyerApplicationService from '../BuyerApplicationService';\nimport { NewOperatorModelValidators } from '../models/NewOperatorModel';\nimport ApplicationLoaderViewModel from '../00_applicationLoader/ApplicationLoaderViewModel';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport FormViewModelLoading from './FormViewModelLoading';\nimport AuthorityInfoViewModel from '../../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType } from '../../../../../../data/egon/api';\nimport { isBuyerRsvRequestFinished } from '../../../RsvRequestUtils';\nimport MandatesService from '../../../../../../services/MandatesService';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport { REQUEST_CODE_FOR_RSV_BUYER } from 'src/constants/SessionStorageKeys';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\nimport SessionService from 'src/services/SessionService';\n\n@Service()\n@AddDefaultView(FormView)\n@AddBusyView(FormViewModelLoading)\n@AddChildrenView()\nexport default class FormViewModel extends RsvBaseScreen {\n  private dispose: IReactionDisposer[] = [];\n  @observable busyWatcherButton = new BusyWatcher();\n  @observable busyWatcher = new BusyWatcher();\n  @observable displayModalError = false;\n  @observable displayDifferentMandateWarningModal = false;\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  get pathNode(): string {\n    return 'application';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get buyerFormModel() {\n    return this.applicationService.buyerFormModel;\n  }\n\n  /* temporary hiding in the form\n  get changeTypeOptions() {\n    return this.applicationService.changeTypeOptions(this.translate);\n  }\n  */\n\n  get newOperatorTypeOptions() {\n    return this.applicationService.newOperatorTypeOptions(this.translate);\n  }\n\n  get contactInfoViewModel() {\n    return this.applicationService.contactInfoViewModel;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private summaryViewModel: SummaryViewModel,\n    @Inject() private confirmationViewModel: ConfirmationViewModel,\n    @Inject() public applicationService: BuyerApplicationService,\n    @Inject() public mandatesService: MandatesService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject()\n    public ownerOrOperatorChangedViewSellerStepsViewModel: OwnerOrOperatorChangedViewSellerStepsViewModel,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(summaryViewModel);\n    this.children.push(confirmationViewModel);\n  }\n\n  async notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = false;\n    this.applicationService.authorityInfoViewModel.headerHint = this.translate('form.place-hint');\n    this.ownerOrOperatorChangedViewSellerStepsViewModel.changeStep(1);\n  }\n\n  @Watch<FormViewModel>((t) => t.busyWatcher)\n  async activate() {\n    if (!this.applicationService.requestInfoModel.requestCode) {\n      this.applicationService.requestInfoModel.requestCode =\n        this.sessionService.get(REQUEST_CODE_FOR_RSV_BUYER) ?? '';\n      await this.applicationService.fetchRequestByCode();\n    }\n\n    this.dispose.push(\n      reaction(\n        () => this.buyerFormModel.newOwner.personType,\n        (value) =>\n          (this.applicationService.contactInfoViewModel.displayPoWarning = value === MandatePersonType.PO)\n      )\n    );\n\n    await this.applicationService.init();\n\n    this.validation.attachDescriptor(\n      this.applicationService.buyerFormModel.newOperator,\n      NewOperatorModelValidators\n    );\n\n    // buyer is the same person as seller error\n    if (this.applicationService.isBuyerSamePersonAsSeller) {\n      runInAction(() => {\n        this.displayModalError = true;\n      });\n    }\n\n    if (this.applicationService.requestInfoModel.foundRequest === false) {\n      this.navigator(ApplicationLoaderViewModel).go();\n    }\n\n    if (isBuyerRsvRequestFinished(this.applicationService.requestInfoModel.status)) {\n      this.navBack();\n    }\n\n    this.dispose.push(\n      reaction(\n        () => [\n          this.buyerFormModel.changeType,\n          this.buyerFormModel.newOwner.personType,\n          this.buyerFormModel.newOperator.personType,\n          this.mandatesService.personType,\n          this.applicationService.initBusyWatcher.isBusy,\n          this.applicationService.isDifferentOperator,\n        ],\n        ([changeType, newOwnerType, operatorType, mandateType, isBusy, different]) => {\n          if (isBusy) {\n            return;\n          }\n\n          if (changeType === Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR) {\n            if (operatorType !== mandateType) {\n              this.displayDifferentMandateWarningModal = true;\n            }\n          } else if (\n            changeType ===\n            Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR\n          ) {\n            if (different && operatorType !== mandateType) {\n              this.displayDifferentMandateWarningModal = true;\n            }\n          } else {\n            if (newOwnerType !== mandateType) {\n              this.displayDifferentMandateWarningModal = true;\n            }\n          }\n        },\n        {\n          fireImmediately: true,\n        }\n      )\n    );\n  }\n\n  deactivate() {\n    this.dispose.forEach((dispose) => dispose());\n    this.dispose = [];\n  }\n\n  @Watch<FormViewModel>((t) => t.busyWatcherButton)\n  @action.bound\n  async navToSummary() {\n    if (this.applicationService.isBuyerSamePersonAsSeller) {\n      this.displayModalError = true;\n      return;\n    }\n\n    if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n\n    if (\n      this.buyerFormModel.changeType ===\n        Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER ||\n      (this.validation.validateObject(this.applicationService.buyerFormModel.newOperator) &&\n        this.authorityInfoViewModel.changedFromDefault &&\n        this.applicationService.contactInfoViewModel.isValid)\n    ) {\n      this.navigator(SummaryViewModel).go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  /* temporary hiding in the form\n  @action.bound\n  typeChanged() {\n    this.buyerFormModel.newOperator.newOperatorDifferentFromNewOwner =\n      this.buyerFormModel.changeType === Domain_Contracts_Enums_Rsv_RsvChangeType.CHANGE_OWNER_AND_OPERATOR;\n  }\n  */\n\n  @action.bound\n  toggleModalError() {\n    this.displayModalError = !this.displayModalError;\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(ApplicationLoaderViewModel).go();\n  }\n\n  @action.bound\n  setGreenCardFiles(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      const fileExists = this.buyerFormModel.attachGreenCard.some(\n        (attachment) => attachment.file.name === file.name\n      );\n      if (!fileExists) {\n        this.buyerFormModel.attachGreenCard.push({ file, description });\n      }\n    } else if (file instanceof FileList) {\n      for (let i = 0; i < file.length; i++) {\n        const currentFile = file[i];\n        const fileExists = this.buyerFormModel.attachGreenCard.some(\n          (attachment) => attachment.file.name === currentFile.name\n        );\n        if (!fileExists) {\n          this.buyerFormModel.attachGreenCard.push({ file: currentFile, description });\n        }\n      }\n    }\n  }\n\n  @action.bound\n  unsetGreenCardFiles(fileName?: string) {\n    if (fileName) {\n      this.buyerFormModel.attachGreenCard = this.buyerFormModel.attachGreenCard.filter(\n        (attachment) => attachment.file.name !== fileName\n      );\n    } else {\n      this.buyerFormModel.attachGreenCard = [];\n    }\n  }\n\n  @action.bound\n  setEvidentialControlFiles(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      this.buyerFormModel.attachEvidentialControl = [];\n      this.buyerFormModel.attachEvidentialControl.push({ file, description });\n    }\n  }\n\n  @action.bound\n  unsetEvidentialControlFiles() {\n    this.buyerFormModel.attachEvidentialControl = [];\n  }\n\n  @action.bound\n  setContractFiles(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      this.buyerFormModel.attachContract = [];\n      this.buyerFormModel.attachContract.push({ file, description });\n    }\n  }\n\n  @action.bound\n  unsetContractFiles() {\n    this.buyerFormModel.attachContract = [];\n  }\n\n  @action.bound\n  toggleDifferentMandateWarningModal() {\n    this.displayDifferentMandateWarningModal = !this.displayDifferentMandateWarningModal;\n  }\n\n  translate = translate('vehicle-register.applications.buyer', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse } from 'src/data/egon/api';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\n\n@AddTranslationKey('person-info')\nexport default class PersonInfoModel {\n  @observable id?: number | null;\n  @observable firstName: string = '';\n  @observable lastName: string = '';\n  @observable birthDate: string = '';\n  @observable birthNumber: string = '';\n  @observable name: string = '';\n  @observable addressId?: number | null = null;\n  @observable address: string = '';\n  @observable identificationNumber: string = '';\n  @observable dataBox: string = '';\n  @observable personType: MandatePersonType = MandatePersonType.FO;\n\n  @computed\n  get fullName() {\n    if (this.firstName === '' && this.lastName === '') {\n      return '';\n    }\n\n    return `${this.firstName} ${this.lastName}`;\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(data: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse | undefined) {\n    const model = new PersonInfoModel();\n\n    if (!data) {\n      return model;\n    }\n\n    model.id = data.id;\n    model.firstName = data.firstName ?? '';\n    model.lastName = data.lastName ?? '';\n    model.birthDate = data.birthDate ?? '';\n    model.birthNumber = data.birthNumber ?? '';\n    model.name = data.name ?? '';\n    model.identificationNumber = data.identificationNumber ?? '';\n    model.address = data.fullAddress?.formatedAddress ?? data.address ?? '';\n    model.addressId = data.addressId;\n    model.dataBox = data.dataBox ?? '';\n\n    if (model.identificationNumber.length > 0) {\n      model.personType = MandatePersonType.PO;\n    } else {\n      model.personType = MandatePersonType.FO;\n    }\n\n    return model;\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorBuyerFormResponse } from '../../../../../../data/egon/api';\n\n@AddTranslationKey('vehicle-info')\nexport default class VehicleInfoModel {\n  @observable Id: number = 0;\n  @observable registrationNumber: string = '';\n  @observable type: string = '';\n  @observable vin: string = '';\n  @observable manufactureYear: number = 0;\n  @observable commercialDesignation: string = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(data: EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorBuyerFormResponse) {\n    const model = new VehicleInfoModel();\n\n    model.Id = data.vehicleId;\n    model.registrationNumber = data.vehicleRegistrationNumber ?? '';\n    model.type = data.vehicleType ?? '';\n    model.vin = data.vin ?? '';\n    model.manufactureYear = data.manufactureYear ?? 0;\n    model.commercialDesignation = data.commercialDesignation ?? '';\n\n    return model;\n  }\n}\n","import { computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport {\n  EgonServiceBus_WebApi_Responses_V1_User_PersonalInfoResponse,\n  type EgonServiceBus_WebApi_Requests_V1_Forms_FormSubjectRequest,\n} from '../../../../../../data/egon/api';\n\n@AddTranslationKey('personal-info')\nexport default class PersonalInfoModel {\n  @observable firstName = '';\n  @observable lastName = '';\n  @observable dayOfBirth = '';\n  @observable city = '';\n  @observable cityPart = '';\n  @observable descriptiveNumber = '';\n  @observable orientationNumber = '';\n  @observable street = '';\n  @observable zipCode = '';\n  @observable formattedAddress = '';\n  @observable pipeSeparatedAddress = '';\n  @observable birthNumber = '';\n\n  @computed\n  get fullName() {\n    return `${this.firstName} ${this.lastName}`;\n  }\n\n  @computed\n  get newOperatorRequestBody(): EgonServiceBus_WebApi_Requests_V1_Forms_FormSubjectRequest {\n    const requestBody = {\n      firstName: this.firstName !== '' ? this.firstName : null,\n      lastName: this.lastName !== '' ? this.lastName : null,\n      birthDate: this.dayOfBirth.slice(0, 10) !== '' ? this.dayOfBirth.slice(0, 10) : null,\n      address: this.pipeSeparatedAddress !== '' ? this.pipeSeparatedAddress : null,\n      name: null,\n    };\n    return requestBody;\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(\n    data: EgonServiceBus_WebApi_Responses_V1_User_PersonalInfoResponse,\n    birthNumber?: string\n  ) {\n    const model = new PersonalInfoModel();\n\n    model.firstName = data.firstname ?? '';\n    model.lastName = data.surname ?? '';\n    model.dayOfBirth = data.dayOfBirth ?? '';\n    model.city = data.permanentResidency?.city ?? '';\n    model.cityPart = data.permanentResidency?.cityPart ?? '';\n    model.descriptiveNumber =\n      data.permanentResidency?.evidenceNumber ?? data.permanentResidency?.descriptiveNumber ?? '';\n    model.orientationNumber = data.permanentResidency?.orientationNumber ?? '';\n    model.street = data.permanentResidency?.street?.trim()\n      ? data.permanentResidency?.street\n      : (data.permanentResidency?.city ?? '');\n    model.zipCode = data.permanentResidency?.zipCode ?? '';\n    model.formattedAddress = data.permanentResidency?.formattedAddress ?? '';\n    model.pipeSeparatedAddress = data.permanentResidency?.pipeSeparatedAddress ?? '';\n    model.birthNumber = birthNumber ?? '';\n\n    return model;\n  }\n}\n","import { computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport {\n  EgonServiceBus_WebApi_Responses_V1_User_UserEntrepreneurInfoResponse,\n  type EgonServiceBus_WebApi_Requests_V1_Forms_FormSubjectRequest,\n} from '../../../../../../data/egon/api';\n\n@AddTranslationKey('entrepreneur-info')\nexport default class EntrepreneurInfoModel {\n  @observable name = '';\n  @observable identificationNumber = '';\n  @observable city = '';\n  @observable cityPart = '';\n  @observable descriptiveNumber = '';\n  @observable orientationNumber = '';\n  @observable street = '';\n  @observable zipCode = '';\n  @observable formattedAddress = '';\n  @observable pipeSeparatedAddress = '';\n\n  @computed\n  get newOperatorRequestBody(): EgonServiceBus_WebApi_Requests_V1_Forms_FormSubjectRequest {\n    const requestBody = {\n      name: this.name !== '' ? this.name : null,\n      identificationNumber: this.identificationNumber !== '' ? this.identificationNumber : undefined,\n      address: this.pipeSeparatedAddress !== '' ? this.pipeSeparatedAddress : null,\n      firstName: null,\n      lastName: null,\n      birthDate: null,\n      birthNumber: null,\n    };\n    return requestBody;\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(data: EgonServiceBus_WebApi_Responses_V1_User_UserEntrepreneurInfoResponse) {\n    const model = new EntrepreneurInfoModel();\n\n    model.name = data.companyName ?? '';\n    model.identificationNumber = data.identificationNumber ?? '';\n    model.city = data.permanentResidency?.city ?? '';\n    model.cityPart = data.permanentResidency?.cityPart ?? '';\n    model.descriptiveNumber =\n      data.permanentResidency?.evidenceNumber ?? data.permanentResidency?.descriptiveNumber ?? '';\n    model.orientationNumber = data.permanentResidency?.orientationNumber ?? '';\n    model.street = data.permanentResidency?.street ?? '';\n    model.zipCode = data.permanentResidency?.zipCode ?? '';\n    model.formattedAddress = data.permanentResidency?.formattedAddress ?? '';\n    model.pipeSeparatedAddress = data.permanentResidency?.pipeSeparatedAddress ?? '';\n\n    return model;\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport PersonInfoModel from './PersonInfoModel';\nimport VehicleInfoModel from './VehicleInfoModel';\nimport NewOperatorModel from './NewOperatorModel';\nimport PersonalInfoModel from './PersonalInfoModel';\nimport {\n  Domain_Contracts_Enums_Rsv_RequestStatus,\n  Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType,\n} from 'src/data/egon/api';\nimport EntrepreneurInfoModel from './EntrepreneurInfoModel';\nimport Attachment from '../../../../../../model/Attachment';\n\n@AddTranslationKey('buyer-form')\nexport default class BuyerFormModel {\n  @observable vehicle = new VehicleInfoModel();\n  @observable owner = new PersonInfoModel();\n  @observable operator = new PersonInfoModel();\n  @observable newOwner = new PersonInfoModel();\n  @observable newOwnerPersonalInfo = new PersonalInfoModel();\n  @observable newOwnerEntrepreneurInfo = new EntrepreneurInfoModel();\n  @observable newOperator = new NewOperatorModel();\n  @observable attachContract: Attachment[] = [];\n  @observable attachGreenCard: Attachment[] = [];\n  @observable attachEvidentialControl: Attachment[] = [];\n  @observable status?: Domain_Contracts_Enums_Rsv_RequestStatus = undefined;\n\n  @observable changeType: Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType =\n    Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR;\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { Inject, Service } from 'typedi';\nimport ApiService from '../../../../../services/ApiService';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport BuyerFormModel from './models/BuyerFormModel';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport RequestInfoModel from './models/RequestInfoModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport {\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n  Domain_Contracts_Enums_Rsv_RequestStatus,\n  Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_UpdateChangeOperatorBuyerRequest,\n  EgonServiceBus_WebApi_Requests_V1_Forms_UpdateChangeOwnerOrOperatorBuyerRequest,\n  type EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorBuyerFormResponse,\n} from '../../../../../data/egon/api';\nimport PdfUtils from '../../../../../utils/PdfUtils';\nimport VehicleInfoModel from './models/VehicleInfoModel';\nimport PersonInfoModel from './models/PersonInfoModel';\nimport NewOperatorModel, { OperatorRadioButtonPersonType } from './models/NewOperatorModel';\nimport PersonalInfoModel from './models/PersonalInfoModel';\nimport EntrepreneurInfoModel from './models/EntrepreneurInfoModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport AuthService from '../../../../../services/AuthService';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\nimport VehicleAttachmentService from '../../../../../services/vehicle/VehicleAttachmentService';\nimport MandatesService from '../../../../../services/MandatesService';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { UserService } from 'src/services/UserService';\n\n@Service()\n@AddTranslationKey('buyer-application-service')\nexport default class BuyerApplicationService {\n  @observable requestInfoModel = new RequestInfoModel();\n  @observable buyerFormModel = new BuyerFormModel();\n  private lastFetchedCode?: string = undefined;\n  private personalInfoNotFound = false;\n  private entrepreneurInfoNotFound = false;\n  initBusyWatcher = new BusyWatcher();\n\n  validation = new ValidationContext();\n\n  @computed\n  get currentOwner() {\n    return this.buyerFormModel.changeType ===\n      Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR\n      ? this.isDifferentOperator\n        ? this.buyerFormModel.newOwner\n        : this.buyerFormModel.owner\n      : this.buyerFormModel.owner;\n  }\n\n  @computed\n  get vehicleServicePersonType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  @computed\n  get isDifferentOperator(): boolean {\n    return (\n      this.requestInfoModel.status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR ||\n      this.requestInfoModel.requestType ===\n        Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR\n    );\n  }\n\n  newOwnerTypeOptions(translate: Translator) {\n    return Object.values(MandatePersonType).map((value) => {\n      return {\n        id: value,\n        label: translate(value),\n      };\n    });\n  }\n\n  newOperatorTypeOptions(translate: Translator) {\n    return Object.values(OperatorRadioButtonPersonType).map((value) => {\n      return {\n        id: value,\n        label: translate(value),\n      };\n    });\n  }\n\n  /* temporary hiding in the form\n  changeTypeOptions(translate: Translator) {\n    const allowedTypes = [\n      Domain_Contracts_Enums_Rsv_RsvChangeType.CHANGE_OWNER_AND_OPERATOR,\n      Domain_Contracts_Enums_Rsv_RsvChangeType.CHANGE_OPERATOR,\n      Domain_Contracts_Enums_Rsv_RsvChangeType.CHANGE_OWNER,\n    ];\n\n    return allowedTypes.map((type) => {\n      return {\n        id: type,\n        label: translate(type),\n        disabled: type === Domain_Contracts_Enums_Rsv_RsvChangeType.CHANGE_OPERATOR,\n      };\n    });\n  }\n*/\n\n  @computed\n  get isBuyerSamePersonAsSeller() {\n    let origin = this.buyerFormModel.owner;\n    if (\n      this.buyerFormModel.changeType ===\n      Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR\n    ) {\n      origin = this.buyerFormModel.operator;\n    }\n    if (\n      this.buyerFormModel.changeType ===\n        Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR &&\n      this.buyerFormModel.status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR\n    ) {\n      origin = this.buyerFormModel.operator;\n    }\n\n    const mandate = this.mandateService.selectedMandate;\n\n    if (this.mandateService.personType === MandatePersonType.FO && mandate && 'firstName' in mandate) {\n      // user selected FO mandate\n      // if old owner was PFO, they cannot be the same\n      if (!origin.firstName && !origin.lastName && !origin.birthDate) return false;\n\n      // if old owner was FO, compare\n      if (\n        origin.firstName.localeCompare(mandate.firstName, 'cs', {\n          sensitivity: 'base',\n        }) === 0 &&\n        origin.lastName.localeCompare(mandate.lastName, 'cs', {\n          sensitivity: 'base',\n        }) === 0 &&\n        origin.birthDate.slice(0, 10).localeCompare(mandate.birthDate?.slice(0, 10) ?? '', 'cs', {\n          sensitivity: 'base',\n        }) === 0\n      ) {\n        return true;\n      } else {\n        return false;\n      }\n      // user selected PFO mandate\n    } else if (\n      this.mandateService.personType === MandatePersonType.PO &&\n      mandate &&\n      'identificationNumber' in mandate\n    ) {\n      // if old owner was FO, they cannot be the same\n      if (!origin.name && !origin.identificationNumber) return false;\n\n      // if old owner was PFO, compare\n      if (\n        origin.name.localeCompare(mandate.companyName ?? '', 'cs', {\n          sensitivity: 'base',\n        }) === 0 &&\n        origin.identificationNumber.localeCompare(mandate.identificationNumber, 'cs', {\n          sensitivity: 'base',\n        }) === 0\n      ) {\n        return true;\n      } else {\n        return false;\n      }\n    }\n  }\n\n  @computed\n  get GetChangeType():\n    | EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType\n    | undefined {\n    switch (this.buyerFormModel.changeType) {\n      case Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER:\n        return EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER;\n      case Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR:\n        return EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OPERATOR;\n      case Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR:\n        return EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER_AND_OPERATOR;\n      default:\n        return undefined;\n    }\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() public authService: AuthService,\n    @Inject() private attachmentService: VehicleAttachmentService,\n    @Inject() private mandateService: MandatesService,\n    @Inject() private userService: UserService\n  ) {\n    makeObservable(this);\n  }\n\n  @Watch<BuyerApplicationService>((s) => s.initBusyWatcher)\n  async init() {\n    await Promise.all([\n      this.userService.initUserData(),\n      this.userService.getBirthNumber().catch((e) => console.error(e)),\n    ]);\n    this.contactInfoViewModel.init(this.validation);\n    await Promise.all([this.fetchRequestByCode(), this.fetchPersonalAndEntrepreneurInfo()]);\n    this.updateNewOperatorInfo();\n  }\n\n  @action.bound\n  reset() {\n    this.requestInfoModel = new RequestInfoModel();\n    this.buyerFormModel = new BuyerFormModel();\n    this.lastFetchedCode = undefined;\n    this.personalInfoNotFound = false;\n    this.entrepreneurInfoNotFound = false;\n    this.contactInfoViewModel.reset();\n    this.authorityInfoViewModel.resetSelection();\n    this.mandateService.reset();\n  }\n\n  async fetchRequestByCode() {\n    if (this.lastFetchedCode === this.requestInfoModel.requestCode) {\n      return;\n    } else {\n      this.lastFetchedCode = this.requestInfoModel.requestCode;\n    }\n\n    const response = await this.apiService.egonApi.changeOwnerOrOperator\n      .postPdApiEgonV1RsvRequestsChangeOwnerOrOperatorBuyerForm({\n        requestCode: this.requestInfoModel.requestCode,\n      })\n      .catch((e) => console.error(e));\n\n    if (!response) {\n      runInAction(() => {\n        this.requestInfoModel.foundRequest = false;\n      });\n      return;\n    }\n\n    runInAction(() => {\n      this.requestInfoModel.foundRequest = true;\n      this.loadModelDataFromRequest(response);\n    });\n  }\n\n  async fetchRequestById() {\n    if (!this.requestInfoModel.requestId) {\n      return;\n    }\n\n    const response =\n      await this.apiService.egonApi.changeOwnerOrOperator.getPdApiEgonV1RsvRequestsChangeOwnerOrOperatorRequests(\n        this.requestInfoModel.requestId\n      );\n\n    if (!response) {\n      runInAction(() => {\n        this.requestInfoModel.foundRequest = false;\n      });\n      return;\n    }\n\n    runInAction(() => {\n      this.requestInfoModel.foundRequest = true;\n      this.loadModelDataFromRequest(response);\n    });\n  }\n\n  @action.bound\n  private updateNewOperatorInfo() {\n    if (this.requestInfoModel.status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR) {\n      this.buyerFormModel.newOperator = NewOperatorModel.updateData(\n        this.buyerFormModel.newOperator,\n        this.buyerFormModel.newOwnerPersonalInfo\n      );\n    }\n  }\n\n  @action.bound\n  private loadModelDataFromRequest(\n    request: EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorBuyerFormResponse\n  ) {\n    this.requestInfoModel = RequestInfoModel.mapData(request);\n\n    this.buyerFormModel.status = request.status;\n    this.buyerFormModel.changeType = request.changeType;\n\n    this.buyerFormModel.vehicle = VehicleInfoModel.mapData(request);\n    this.buyerFormModel.owner = PersonInfoModel.mapData(request.owner);\n    this.buyerFormModel.operator = PersonInfoModel.mapData(request.operator);\n    this.buyerFormModel.newOwner = PersonInfoModel.mapData(request.newOwner);\n    this.buyerFormModel.newOperator = NewOperatorModel.mapData(request.newOperator, request.newOwner);\n  }\n\n  // Kontaktni udaje zadatele se do RSV predavaji pouze pri zalozeni zadosti (POST), v PUT se neposilaji\n  async buyerPutRequest() {\n    if (typeof this.requestInfoModel.requestId === 'undefined') {\n      console.error('No requestId found when buyer PUT request send.');\n      return;\n    }\n\n    // Pokud je stav zadosti uzamceno opratorem, použij PUT operator-requests endpoint\n    if (this.requestInfoModel.status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR) {\n      const requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_UpdateChangeOperatorBuyerRequest = {\n        requestId: this.requestInfoModel.requestId!,\n        targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n        workPlaceId:\n          this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n        requestCode: this.requestInfoModel.requestCode,\n        changeType: this.GetChangeType,\n        contacts: this.contactInfoViewModel.representativeContacts,\n      };\n      await this.apiService.egonApi.changeOwnerOrOperator.putPdApiEgonV1RsvRequestsChangeOwnerOrOperatorOperatorRequests(\n        requestBody\n      );\n    } else {\n      const requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_UpdateChangeOwnerOrOperatorBuyerRequest = {\n        requestCode: this.requestInfoModel.requestCode,\n        targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n        workPlaceId:\n          this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n        changeType: this.GetChangeType!,\n        contacts: this.contactInfoViewModel.representativeContacts,\n      };\n\n      if (\n        this.buyerFormModel.changeType ===\n          Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR &&\n        this.buyerFormModel.newOperator.newOperatorDifferentFromNewOwner\n      ) {\n        if (this.buyerFormModel.newOperator.personType === MandatePersonType.FO) {\n          requestBody.newOperator = {\n            firstName: this.buyerFormModel.newOperator.firstName,\n            lastName: this.buyerFormModel.newOperator.lastName,\n            birthDate: this.buyerFormModel.newOperator.birthDate,\n            birthNumber: this.buyerFormModel.newOperator.birthNumber,\n            address: this.buyerFormModel.newOperator.addressPipeSeparated,\n            name: null,\n            identificationNumber: undefined,\n          };\n        } else {\n          requestBody.newOperator = {\n            name: this.buyerFormModel.newOperator.name,\n            address: this.buyerFormModel.newOperator.addressPipeSeparated,\n            identificationNumber: this.buyerFormModel.newOperator.identificationNumber,\n            firstName: null,\n            lastName: null,\n            birthDate: null,\n            birthNumber: null,\n          };\n        }\n      }\n\n      await this.apiService.egonApi.changeOwnerOrOperator.putPdApiEgonV1RsvRequestsChangeOwnerOrOperatorBuyerRequests(\n        requestBody\n      );\n    }\n  }\n\n  async confirmRequest() {\n    if (typeof this.requestInfoModel.requestId === 'undefined') {\n      console.error('No requestId found when buyer handover request send.');\n      return;\n    }\n\n    await Promise.all([\n      await this.attachmentService.sendAttachment(\n        this.buyerFormModel.attachGreenCard,\n        this.requestInfoModel.requestId!,\n        Domain_Contracts_Enums_Rsv_AttachmentType.THIRD_PARTY_LIABILITY_INSURANCE_PROOF\n      ),\n      await this.attachmentService.sendAttachment(\n        this.buyerFormModel.attachContract,\n        this.requestInfoModel.requestId!,\n        Domain_Contracts_Enums_Rsv_AttachmentType.PROOF_OF_CHARGE\n      ),\n      await this.attachmentService.sendAttachment(\n        this.buyerFormModel.attachEvidentialControl,\n        this.requestInfoModel.requestId!,\n        Domain_Contracts_Enums_Rsv_AttachmentType.VEHICLE_REGISTRATION_CHECK_REPORT\n      ),\n    ]).then(async () => {\n      await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n        this.requestInfoModel.requestId!\n      );\n    });\n\n    this.lastFetchedCode = undefined;\n\n    await this.fetchRequestById();\n  }\n\n  async fetchPersonalAndEntrepreneurInfo() {\n    if (\n      this.buyerFormModel.newOwnerPersonalInfo.lastName === '' &&\n      !this.personalInfoNotFound &&\n      this.mandateService.personType === MandatePersonType.FO\n    ) {\n      if (!this.userService.personalInfo) {\n        runInAction(() => {\n          this.personalInfoNotFound = true;\n        });\n        return;\n      }\n      runInAction(() => {\n        this.buyerFormModel.newOwnerPersonalInfo = PersonalInfoModel.mapData(\n          this.userService.personalInfo!,\n          this.userService.birthNumber?.birthNumber\n        );\n      });\n    }\n\n    if (\n      this.buyerFormModel.newOwnerEntrepreneurInfo.name === '' &&\n      !this.entrepreneurInfoNotFound &&\n      this.mandateService.personType === MandatePersonType.PO\n    ) {\n      if (!this.userService.entrepreneurInfo) {\n        runInAction(() => {\n          this.entrepreneurInfoNotFound = true;\n        });\n        return;\n      }\n\n      runInAction(() => {\n        this.buyerFormModel.newOwnerEntrepreneurInfo = EntrepreneurInfoModel.mapData(\n          this.userService.entrepreneurInfo!\n        );\n      });\n    }\n  }\n\n  @action.bound\n  async downloadPdf() {\n    if (!this.requestInfoModel.requestId || !this.requestInfoModel.pdfId) {\n      console.error('No request or pdf id found when pdf download requested.');\n      return;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests\n      .getPdApiEgonV1RsvRequestsRequestsAttachments(\n        this.requestInfoModel.pdfId,\n        this.requestInfoModel.requestId.toString()\n      )\n      .catch((e) => console.error(e));\n\n    if (!response) return;\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport NewOperatorModel from '../models/NewOperatorModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Checkbox from '../../../../../../components/form/Checkbox';\nimport InfoPanel from '../../../../../../components/shared/InfoPanel/InfoPanel';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport Fieldset from '../../../../../../components/form/Fieldset';\nimport Input from '../../../../../../components/form/Input';\nimport DatePicker from '../../../../../../components/form/DatePicker';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport { Message } from '@cendis/cedr-components';\nimport EnvUtils from '../../../../../../utils/EnvUtils';\nimport './NewOperator.scss';\ntype NewOperatorProps = {\n  newOperator: NewOperatorModel;\n  newOperatorTypeOptions: { id: string; label: string }[];\n  translate: Translator;\n  allowBirthDateOnly: boolean;\n  applyDisabling?: boolean;\n};\n\nconst NewOperator = observer(\n  ({\n    newOperator,\n    newOperatorTypeOptions,\n    translate,\n    allowBirthDateOnly = false,\n    applyDisabling = true,\n  }: NewOperatorProps) => {\n    const isNewOperatorDisabled = applyDisabling && EnvUtils.isNewOperatorDisabled;\n\n    return (\n      <>\n        <h3 className=\"has-hint mt-4\" data-testid=\"new-operator-field-title\">\n          <span>{translate('form.new-operator')}</span>\n        </h3>\n\n        <p data-testid=\"new-operator-hint\">{translate('form.new-operator-hint')}</p>\n\n        {isNewOperatorDisabled && (\n          <div className=\"css-reset new-operator__message-wrapper\">\n            <Message color=\"warning\" icon=\"components/info-circle-fill\" className=\"mb-1\">\n              {translate('form.new-operator-disabled')}\n            </Message>\n          </div>\n        )}\n\n        <Checkbox\n          target={newOperator}\n          property={'newOperatorDifferentFromNewOwner'}\n          disabled={isNewOperatorDisabled}\n          onChange={() => {\n            newOperator.resetNameAndAddress();\n          }}\n        />\n\n        {newOperator.newOperatorDifferentFromNewOwner && (\n          <>\n            <InfoPanel message={translate('form.new-operator-info')} type=\"warning\" />\n\n            <RadioGroup\n              className=\"mt-4\"\n              target={newOperator}\n              property=\"operatorRadioButtonPersonType\"\n              options={newOperatorTypeOptions}\n              testId=\"operator-person-type\"\n            />\n\n            {newOperator.personType === MandatePersonType.FO ? (\n              <Fieldset title=\"form.personal-info\" wide>\n                <Input target={newOperator} property=\"firstName\" thin />\n                <Input target={newOperator} property=\"lastName\" thin />\n                {allowBirthDateOnly ? (\n                  <DatePicker target={newOperator} property=\"birthDateOnly\" thin />\n                ) : (\n                  <Input target={newOperator} property=\"birthDateOrNumber\" thin />\n                )}\n              </Fieldset>\n            ) : (\n              <Fieldset title=\"form.entrepreneur-info\" wide>\n                <Input target={newOperator} property=\"name\" thin />\n                <Input target={newOperator} property=\"identificationNumber\" thin />\n              </Fieldset>\n            )}\n\n            <Fieldset\n              title={\n                newOperator.personType === MandatePersonType.FO ? 'form.address-info' : 'form.address-po-info'\n              }\n              wide\n            >\n              <Input target={newOperator} property=\"streetDescriptiveOrientationNumber\" thin />\n              <Input target={newOperator} property=\"city\" thin />\n              <Input target={newOperator} property=\"zip\" min={0} thin />\n            </Fieldset>\n          </>\n        )}\n      </>\n    );\n  }\n);\n\nexport default NewOperator;\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { Validators } from '../../../../../../data/validators/registry';\nimport { EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse } from '../../../../../../data/egon/api';\nimport DateUtils from '../../../../../../utils/DateUtils';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport PersonalInfoModel from './PersonalInfoModel';\n\nexport enum OperatorRadioButtonPersonType {\n  FO = 'operator_Fo',\n  PFO = 'operator_Pfo',\n}\n\nexport type ParsedAddress = {\n  street: string;\n  city: string;\n  zip: string;\n};\n\n@AddTranslationKey('new-operator')\nexport default class NewOperatorModel {\n  // solves id conflict if multiple radio buttons are present on a page for personType\n  @observable operatorRadioButtonPersonType: OperatorRadioButtonPersonType = OperatorRadioButtonPersonType.FO;\n  @observable newOperatorDifferentFromNewOwner = false;\n  @observable firstName = '';\n  @observable lastName = '';\n  @observable birthDateOrNumber = '';\n  @observable birthDateOnly = '';\n  @observable name = '';\n  @observable identificationNumber = '';\n  @observable streetDescriptiveOrientationNumber = '';\n  @observable city = '';\n  @observable zip = '';\n  @observable addressFromRequest = '';\n\n  @computed\n  get fullName() {\n    return `${this.firstName} ${this.lastName}`;\n  }\n\n  @computed\n  get birthNumber() {\n    const inputWithNumbersOnly = this.birthDateOrNumber.replace(/[^0-9]/g, '');\n\n    if (inputWithNumbersOnly.length === 10 || inputWithNumbersOnly.length === 9) {\n      return inputWithNumbersOnly;\n    } else {\n      return null;\n    }\n  }\n\n  @computed\n  get birthDate() {\n    if (!this.birthNumber) {\n      // date input format is DD.MM.YYYY;\n      const inputWithNumbersAndDotOnly = this.birthDateOrNumber.replace(/[^0-9\\.]/g, '');\n      const parts = inputWithNumbersAndDotOnly.split('.');\n\n      if (parts.length !== 3) {\n        return null;\n      }\n\n      const day = parts[0].padStart(2, '0');\n      const month = parts[1].padStart(2, '0');\n      const year = parts[2];\n\n      return `${year}-${month}-${day}`;\n    } else {\n      return null;\n    }\n  }\n\n  @computed\n  get personType() {\n    if (this.operatorRadioButtonPersonType === OperatorRadioButtonPersonType.PFO) {\n      return MandatePersonType.PO;\n    } else {\n      return MandatePersonType.FO;\n    }\n  }\n\n  @computed\n  get address() {\n    if (!this.streetDescriptiveOrientationNumber && !this.city && !this.zip) {\n      return this.addressFromRequest;\n    } else {\n      return `${this.streetDescriptiveOrientationNumber}, ${this.zip} ${this.city}`;\n    }\n  }\n\n  @computed\n  get addressPipeSeparated() {\n    // house, reference and district are missing\n    // todo: separate street and numbers to own inputs (waiting for analyze)\n    return `${this.streetDescriptiveOrientationNumber}|||${this.city}||${this.zip}`;\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  public resetNameAndAddress(): void {\n    this.firstName = '';\n    this.lastName = '';\n    this.birthDateOrNumber = '';\n    this.birthDateOnly = '';\n    this.name = '';\n    this.identificationNumber = '';\n\n    this.streetDescriptiveOrientationNumber = '';\n    this.city = '';\n    this.zip = '';\n    this.addressFromRequest = '';\n  }\n\n  public static parseAddressFromRequest(address?: string): ParsedAddress {\n    if (!address) {\n      return { street: '', city: '', zip: '' };\n    }\n\n    const [streetPart = '', restPart = ''] = address.split('|||');\n\n    const [cityPart = '', zipPart = ''] = restPart.split('||');\n\n    return {\n      street: streetPart.trim(),\n      city: cityPart.trim(),\n      zip: zipPart.trim(),\n    };\n  }\n\n  public static updateData(\n    newOperator: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse | undefined,\n    newOperatorPersonalInfo: PersonalInfoModel | undefined\n  ) {\n    const model = new NewOperatorModel();\n\n    if (!newOperator) {\n      return model;\n    }\n\n    model.firstName = newOperatorPersonalInfo?.firstName ?? '';\n    model.lastName = newOperatorPersonalInfo?.lastName ?? '';\n    model.streetDescriptiveOrientationNumber = newOperatorPersonalInfo?.street ?? '';\n    model.city = newOperatorPersonalInfo?.city ?? '';\n    model.birthDateOrNumber = DateUtils.dateFormatCz(newOperatorPersonalInfo?.dayOfBirth) ?? '';\n\n    model.identificationNumber = newOperator.identificationNumber ?? '';\n\n    if (!newOperator.identificationNumber) {\n      model.operatorRadioButtonPersonType = OperatorRadioButtonPersonType.FO;\n    } else {\n      model.operatorRadioButtonPersonType = OperatorRadioButtonPersonType.PFO;\n    }\n\n    return model;\n  }\n\n  public static mapData(\n    newOperator: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse | undefined,\n    newOwner: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse | undefined\n  ) {\n    const model = new NewOperatorModel();\n\n    if (!newOperator) {\n      return model;\n    }\n\n    model.firstName = newOperator.firstName ?? '';\n    model.lastName = newOperator.lastName ?? '';\n    if (newOperator.birthNumber) {\n      model.birthDateOrNumber = newOperator.birthNumber;\n    } else if (newOperator.birthDate) {\n      model.birthDateOrNumber = DateUtils.dateFormatCz(newOperator.birthDate);\n    }\n    model.name = newOperator.name ?? '';\n    model.identificationNumber = newOperator.identificationNumber ?? '';\n\n    if (model.name.length > 0) {\n      model.operatorRadioButtonPersonType = OperatorRadioButtonPersonType.PFO;\n    } else {\n      model.operatorRadioButtonPersonType = OperatorRadioButtonPersonType.FO;\n    }\n\n    model.addressFromRequest = newOperator.fullAddress?.formatedAddress ?? newOperator.address ?? '';\n\n    if (model.addressFromRequest) {\n      const { street, city, zip } = this.parseAddressFromRequest(model.addressFromRequest);\n\n      if (!!newOperator.fullAddress?.formatedAddress) {\n        model.streetDescriptiveOrientationNumber = newOperator.fullAddress?.street ?? '';\n        model.city = newOperator.fullAddress?.city ?? '';\n        model.zip = newOperator.fullAddress?.zipCode ?? '';\n      } else {\n        model.streetDescriptiveOrientationNumber = newOperator.address ?? '';\n        model.city = '';\n        model.zip = '';\n      }\n    }\n\n    if (!newOwner) {\n      return model;\n    }\n\n    model.newOperatorDifferentFromNewOwner = NewOperatorModel.isNewOperatorDifferentFromNewOwner(\n      newOperator,\n      newOwner\n    );\n\n    return model;\n  }\n\n  private static isNewOperatorDifferentFromNewOwner(\n    newOperator: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse,\n    newOwner: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse\n  ) {\n    return !(\n      (newOperator.firstName &&\n        newOwner.firstName &&\n        newOperator.lastName &&\n        newOwner.lastName &&\n        newOperator.firstName\n          .trim()\n          .localeCompare(newOwner.firstName.trim(), 'cs', { sensitivity: 'base' }) === 0 &&\n        newOperator.lastName.trim().localeCompare(newOwner.lastName.trim(), 'cs', { sensitivity: 'base' }) ===\n          0) ||\n      (newOperator.name &&\n        newOwner.name &&\n        newOperator.identificationNumber &&\n        newOwner.identificationNumber &&\n        newOperator.name.trim().localeCompare(newOwner.name.trim(), 'cs', { sensitivity: 'base' }) === 0 &&\n        newOperator.identificationNumber\n          .trim()\n          .localeCompare(newOwner.identificationNumber.trim(), 'cs', { sensitivity: 'base' }) === 0)\n    );\n  }\n}\n\nexport const NewOperatorModelValidators: ValidationDescriptor<NewOperatorModel, Validators> = {\n  firstName: {\n    required: {\n      message: 'firstName.required',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.FO,\n      },\n    },\n  },\n  lastName: {\n    required: {\n      message: 'lastName.required',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.FO,\n      },\n    },\n  },\n  birthDateOrNumber: {\n    required: {\n      message: 'birthDateOrNumber.required',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.FO,\n      },\n    },\n    birthNumberOrBirthDate: {\n      message: 'birthDateOrNumber.format',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.FO,\n      },\n    },\n  },\n\n  name: {\n    required: {\n      message: 'name.required',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.PO,\n      },\n    },\n  },\n  identificationNumber: {\n    required: {\n      message: 'identificationNumber.required',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.PO,\n      },\n    },\n    ico: {\n      message: 'identificationNumber.ico',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.PO,\n      },\n    },\n    icoShort: {\n      message: 'identificationNumber.icoShort',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.PO,\n      },\n    },\n  },\n\n  streetDescriptiveOrientationNumber: {\n    required: {\n      message: 'streetDescriptiveOrientationNumber.required',\n      options: {\n        if: (t: NewOperatorModel) => t.newOperatorDifferentFromNewOwner,\n      },\n    },\n  },\n  city: {\n    required: {\n      message: 'city.required',\n      options: {\n        if: (t: NewOperatorModel) => t.newOperatorDifferentFromNewOwner,\n      },\n    },\n  },\n  zip: {\n    required: {\n      message: 'zip.required',\n      options: {\n        if: (t: NewOperatorModel) => t.newOperatorDifferentFromNewOwner,\n      },\n    },\n    zipCode: {\n      message: 'zip.zipCode',\n      options: {\n        if: (t: NewOperatorModel) => t.newOperatorDifferentFromNewOwner,\n      },\n    },\n  },\n};\n\nexport const NewOperatorBirthDayOnlyModelValidators: ValidationDescriptor<NewOperatorModel, Validators> = {\n  ...NewOperatorModelValidators,\n  birthDateOrNumber: undefined,\n  birthDateOnly: {\n    required: {\n      message: 'birthDateOnly.required',\n      options: {\n        if: (t: NewOperatorModel) =>\n          t.newOperatorDifferentFromNewOwner && t.personType === MandatePersonType.FO,\n      },\n    },\n  },\n};\n","import { makeObservable, observable } from 'mobx';\nimport { Validators } from '../../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorFormResponse } from '../../../../../../data/egon/api/models/EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorFormResponse';\nimport {\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n  Domain_Contracts_Enums_Rsv_RequestStatus,\n  Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType,\n} from '../../../../../../data/egon/api';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\n\n@AddTranslationKey('request-info')\nexport default class RequestInfoModel {\n  @observable foundRequest: boolean = true;\n  @observable requestCode: string = '';\n  @observable requestId?: number;\n  @observable status?: Domain_Contracts_Enums_Rsv_RequestStatus = undefined;\n  @observable requestType?: Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType = undefined;\n  @observable pdfId?: number;\n  /** Type of the subject the seller named in the application, which has to complete it. */\n  @observable newSubjectPersonType: MandatePersonType = MandatePersonType.FO;\n  /** IČO of the subject the seller named in the application, empty for a natural person. */\n  @observable newSubjectIdentificationNumber: string = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData(\n    data: EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorFormResponse\n  ): RequestInfoModel {\n    const model = new RequestInfoModel();\n\n    model.requestCode = data.requestCode;\n    model.requestId = data.requestId;\n    model.foundRequest = true;\n    model.status = data.status;\n    model.requestType = data.changeType;\n\n    // the operator confirms the application when they differ from the new owner\n    const newSubject =\n      data.status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR ||\n      data.changeType === Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR\n        ? data.newOperator\n        : data.newOwner;\n\n    model.newSubjectIdentificationNumber = newSubject?.identificationNumber ?? '';\n    model.newSubjectPersonType =\n      model.newSubjectIdentificationNumber.length > 0 ? MandatePersonType.PO : MandatePersonType.FO;\n\n    if (data.attachments && data.attachments.length > 0) {\n      const pdfAttachs = data.attachments.filter(\n        (attach) => attach.type === Domain_Contracts_Enums_Rsv_AttachmentType.REQUEST\n      );\n\n      if (pdfAttachs.length > 0) {\n        pdfAttachs.sort((a, b) => a.id - b.id);\n        model.pdfId = pdfAttachs[pdfAttachs.length - 1].id;\n      }\n    }\n\n    return model;\n  }\n}\n\nexport const InvalidCodeValidator: ValidationDescriptor<RequestInfoModel, Validators> = {\n  requestCode: {\n    changeOwnerOrOperatorCodeValidator: {\n      message: 'changeOwnerOrOperatorCodeValidator',\n    },\n    required: {\n      message: 'changeOwnerOrOperatorCodeValidator',\n    },\n  },\n};\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type IntroOwnerOrOperatorChangedViewModel from './IntroOwnerOrOperatorChangedViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport ApplicationInProgressModal from '../../../../components/ApplicationInProgressModal';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\nconst IntroOwnerOrOperatorChangedView: View<IntroOwnerOrOperatorChangedViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <Container>\n      {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n      <Typography component=\"h1\" className=\"thin mb-4\" data-testid=\"title\">\n        {translate('title')}\n      </Typography>\n      <Typography className=\"mb-4\" data-testid=\"preHeadlineTwo\">\n        {translate('preHeadlineTwo')}\n      </Typography>\n      <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"headlineTwo\">\n        {translate('headlineTwo')}\n      </Typography>\n      <Typography className=\"mb-1\" data-testid=\"textTwoParOne\">\n        {translate('textTwoParOne')}\n      </Typography>\n      <Typography className=\"mb-4\" data-testid=\"textTwoParTwo\">\n        {translate('textTwoParTwo')}\n      </Typography>\n\n      <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"headlineFive\">\n        {translate('headlineFive')}\n      </Typography>\n\n      <Typography component=\"ol\" className=\"mb-5\">\n        <Typography component=\"li\" data-testid=\"olOne\">\n          &nbsp;{translate('olOne')}\n        </Typography>\n        <Typography component=\"li\" data-testid=\"olTwo\">\n          &nbsp;{translate('olTwo')}\n        </Typography>\n      </Typography>\n      {/* ACTION BUTTONS */}\n      <div className=\"buttons-wrapper\">\n        <Button testId=\"back-button\" outlined onClick={vm.goBack} text={translate('back')} />\n        <Button testId=\"continue-button\" onClick={vm.goToForm} text={translate('fillApplication')} />\n      </div>\n    </Container>\n  );\n});\n\nexport default IntroOwnerOrOperatorChangedView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport IntroOwnerOrOperatorChangedViewModel from './IntroOwnerOrOperatorChangedViewModel';\n\nconst IntroOwnerOrOperatorChangedViewLoading: View<IntroOwnerOrOperatorChangedViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default IntroOwnerOrOperatorChangedViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport IntroOwnerOrOperatorChangedView from './IntroOwnerOrOperatorChangedView';\nimport SellerApplicationService from '../SellerApplicationService';\nimport NewSellerOwnerOrOperatorChangedViewModel from '../01_new/NewSellerOwnerOrOperatorChangedViewModel';\nimport { isRsvRequestFinished } from '../../../RsvRequestUtils';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport IntroOwnerOrOperatorChangedViewLoading from './IntroOwnerOrOperatorChangedViewLoading';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AbstractApplicationViewModel from '../../../AbstractApplicationViewModel';\nimport ApplicationListViewModel from '../../../../applicationsList/ApplicationListViewModel';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(IntroOwnerOrOperatorChangedView)\n@AddBusyView(IntroOwnerOrOperatorChangedViewLoading)\nexport default class IntroOwnerOrOperatorChangedViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable shouldDisplayApplicationInProgressModal: boolean = false;\n\n  get pathNode(): string {\n    return 'intro';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: SellerApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<IntroOwnerOrOperatorChangedViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      runInAction(() => {\n        this.shouldDisplayApplicationInProgressModal = true;\n      });\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.shouldDisplayApplicationInProgressModal = false;\n    });\n  }\n\n  @action.bound\n  goBack() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator('..').go();\n  }\n\n  @action.bound\n  goToForm() {\n    if (this.shouldDisplayApplicationInProgressModal) {\n      this.applicationInProgressModalVisible = true;\n      return;\n    }\n\n    if (this.applicationService.vehicle) {\n      this.navigator(NewSellerOwnerOrOperatorChangedViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicle() {\n    if (this.applicationService.vehicle) {\n      this.applicationInProgressModalVisible = false;\n      this.navigator(AbstractApplicationViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicleList() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator(ApplicationListViewModel).go({\n      requestId: this.applicationService.requestId?.toString() ?? '',\n    });\n  }\n\n  translate = translate('vehicle-register.applications.digi-owner-or-operator-changed.intro', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type SellerFormModel from '../models/SellerFormModel';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport Input from '../../../../../../components/form/Input';\nimport './style.scss';\nimport ContactInfoViewModel from '../../../../../components/ContactInfo/ContactInfoViewModel';\nimport ContactInfoView from '../../../../../components/ContactInfo/ContactInfoView';\nimport AuthorityInfoView from '../../../../components/AuthorityInfo/AuthorityInfoView';\nimport AuthorityInfoViewModel from '../../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport { Change_Type_Model } from '../models/SellerFormModel';\n\ntype RadioOption = { id: string; label: string };\n\ntype SellerFormViewProps = {\n  model: SellerFormModel;\n  authorityInfoModel: AuthorityInfoViewModel;\n  newOwnerTypeOptions: RadioOption[];\n  translate: Translator;\n  contactInfoModel: ContactInfoViewModel;\n};\n\nconst SellerFormView = observer(\n  ({ model, authorityInfoModel, newOwnerTypeOptions, translate, contactInfoModel }: SellerFormViewProps) => {\n    return (\n      <>\n        <h3 className=\"mt-4 mb-3\">\n          {model.changeType === Change_Type_Model.CHANGE_OPERATOR\n            ? translate('ownerInfoH3')\n            : translate('newOwnerInfoH3')}\n        </h3>\n\n        <p className=\"seller-no-bottom-margin\">{translate('newOwnerInfoDesc')}</p>\n        {/* CONTACT INFO */}\n        <div className=\"seller-contact-info\">\n          <ContactInfoView vm={contactInfoModel} />\n        </div>\n        {/* NEW OWNER / OPERATOR */}\n\n        <h3 className=\"css-reset mb-3\">\n          {model.changeType === Change_Type_Model.CHANGE_OPERATOR ? (\n            <>{translate('newOperatorH3')}</>\n          ) : (\n            <>{translate('newOwnerH3')}</>\n          )}\n        </h3>\n        <p>{translate('newOwnerDesc')}</p>\n        <RadioGroup\n          className=\"mb-4\"\n          target={model}\n          property=\"newOwnerType\"\n          options={newOwnerTypeOptions}\n          testId=\"new-owner-type\"\n        />\n        <div className=\"owner-inputs-wrapper\">\n          {model.newOwnerType === MandatePersonType.FO && (\n            <>\n              <p>\n                <b>{translate('personal-info')}</b>\n              </p>\n              <Input target={model} property=\"newOwnerFirstName\" />\n              <Input target={model} property=\"newOwnerLastName\" />\n            </>\n          )}\n          {model.newOwnerType === MandatePersonType.PO && (\n            <>\n              <p>\n                <b>{translate('company-info')}</b>\n              </p>\n              <Input target={model} property=\"newOwnerName\" />\n              <Input target={model} property=\"newOwnerIdentificationNumber\" />\n            </>\n          )}\n        </div>\n        {/* REQUEST FINISH LOCATION */}\n        <AuthorityInfoView vm={authorityInfoModel} />\n      </>\n    );\n  }\n);\n\nexport default SellerFormView;\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type SellerFormModel from '../models/SellerFormModel';\nimport RadioGroup from '../../../../../../components/form/RadioGroup/RadioGroup';\nimport './style.scss';\nimport MarkdownContent from '@components/form/MarkdownContent';\n\ntype RadioOption = { id: string; label: string; hint?: string; description?: string; disabled?: boolean };\n\ntype RequestTypeProps = {\n  model: SellerFormModel;\n  changeTypeOptions: RadioOption[];\n  translate: Translator;\n};\n\nconst RequestType = observer(({ model, changeTypeOptions, translate }: RequestTypeProps) => {\n  return (\n    <>\n      <MarkdownContent content={translate('changeTypeDesc')} />\n      <RadioGroup\n        className=\"mb-4\"\n        target={model}\n        property=\"changeType\"\n        options={changeTypeOptions}\n        testId=\"change-type\"\n      />\n    </>\n  );\n});\n\nexport default RequestType;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type NewSellerOwnerOrOperatorChangedViewModel from './NewSellerOwnerOrOperatorChangedViewModel';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport SellerFormView from '../components/SellerFormView';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport './style.scss';\nimport VehicleDetail from '../../../../components/VehicleDetail/VehicleDetail';\nimport Modal from '../../../../../../components/shared/Modal';\nimport RequestType from '../components/RequestType';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\n\nconst NewSellerOwnerOrOperatorChangedView: View<NewSellerOwnerOrOperatorChangedViewModel> = observer(\n  ({ vm }) => {\n    const { translate, translateApplications, sendDataError, toggleErrorModal } = vm;\n\n    return (\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <div className=\"df-column\">\n              <h1 className=\"mb-4\">{translate('title')}</h1>\n              {sendDataError && (\n                <Modal headLine={translate('send-error-title')} closeFce={toggleErrorModal}>\n                  <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n                </Modal>\n              )}\n              {/* STEPS */}\n              {/* TODO: make Steps module in reza-framework */}\n              <RenderModel vm={vm.ownerOrOperatorChangedViewSellerStepsViewModel} />\n              {/* CAR INFO */}\n              <h3 className=\"mb-4\">{translate('request-item')}</h3>\n              <VehicleDetail\n                vehicle={vm?.applicationService.selectedVehicle}\n                translate={translateApplications}\n              />\n              {window.jsEnv.vehicleChangeTypeEnabled == 'true' && (\n                <>\n                  {/* REQUEST TYPE */}\n                  <h3 className=\"mt-4 mb-3\">{translate('changeType')}</h3>\n                  <RequestType\n                    model={vm.sellerFormModel}\n                    changeTypeOptions={vm.changeTypeOptions}\n                    translate={translate}\n                  />{' '}\n                </>\n              )}\n              {/* SELLER FORM */}\n              <SellerFormView\n                model={vm.sellerFormModel}\n                authorityInfoModel={vm.applicationService.authorityInfoViewModel}\n                newOwnerTypeOptions={vm.newOwnerTypeOptions}\n                translate={translate}\n                contactInfoModel={vm.contactInfoViewModel}\n              />\n            </div>\n          </Envelope>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"buttons-wrapper\">\n            <Button testId=\"back-button\" outlined onClick={() => vm.navToIntro()} text={translate('back')} />\n\n            <Button\n              testId=\"continue-button\"\n              onClick={vm?.navToSummary}\n              text={translate('nextStep')}\n              isBusy={vm.busyWatcherConfirm.isBusy}\n            />\n          </div>\n        </Container>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default NewSellerOwnerOrOperatorChangedView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type NewSellerOwnerOrOperatorChangedViewModel from './NewSellerOwnerOrOperatorChangedViewModel';\nimport Container from '@components/layout/Container';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst NewSellerOwnerOrOperatorChangedViewLoading: View<NewSellerOwnerOrOperatorChangedViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default NewSellerOwnerOrOperatorChangedViewLoading;\n","import { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Inject, Service } from 'typedi';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport NewSellerOwnerOrOperatorChangedView from './NewSellerOwnerOrOperatorChangedView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport { SellerFormModelValidators } from '../models/SellerFormModel';\nimport OwnerOrOperatorChangedViewSellerStepsViewModel from '../steps/OwnerOrOperatorChangedViewSellerStepsViewModel';\nimport IntroOwnerOrOperatorChangedViewModel from '../00_intro/IntroOwnerOrOperatorChangedViewModel';\nimport SellerApplicationService from '../SellerApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport SummarySellerOwnerOrOperatorChangedViewModel from '../02_summary/SummarySellerOwnerOrOperatorChangedViewModel';\nimport AuthorityInfoViewModel from '../../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { isRsvRequestFinished } from '../../../RsvRequestUtils';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport NewSellerOwnerOrOperatorChangedViewLoading from './NewSellerOwnerOrOperatorChangedViewLoading';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(NewSellerOwnerOrOperatorChangedView)\n@AddBusyView(NewSellerOwnerOrOperatorChangedViewLoading)\nexport default class NewSellerOwnerOrOperatorChangedViewModel extends RsvBaseScreen {\n  @observable busyWatcherConfirm = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  busyWatcher = new BusyWatcher();\n\n  get sellerFormModel() {\n    return this.applicationService.application;\n  }\n\n  get selectedVehicle() {\n    return this.applicationService.selectedVehicle;\n  }\n\n  get changeTypeOptions() {\n    return this.applicationService.changeTypeOptions(this.translate);\n  }\n\n  get newOwnerTypeOptions() {\n    return this.applicationService.newOwnerTypeOptions(this.translate);\n  }\n\n  get contactInfoViewModel() {\n    return this.applicationService.contactInfoView;\n  }\n\n  get pathNode(): string {\n    return 'new';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject()\n    public ownerOrOperatorChangedViewSellerStepsViewModel: OwnerOrOperatorChangedViewSellerStepsViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() public applicationService: SellerApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<NewSellerOwnerOrOperatorChangedViewModel>((s) => s.busyWatcherConfirm)\n  @action.bound\n  async navToSummary() {\n    if (\n      this.validation.validateObject(this.applicationService.application) &&\n      this.authorityInfoViewModel.changedFromDefault &&\n      this.applicationService.contactInfoViewModel.isValid\n    ) {\n      try {\n        this.navigator(SummarySellerOwnerOrOperatorChangedViewModel, {\n          vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n        }).go();\n      } catch (err: any) {\n        this.errorService.logCatchError(err, 'OwnerOrOperatorChanged NewSellerOwnerOrOperatorChangedViewModel', 'navToSummary');\n        this.handleError(err);\n      }\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(IntroOwnerOrOperatorChangedViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @Watch<NewSellerOwnerOrOperatorChangedViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    this.validation.attachDescriptor(this.applicationService.application, SellerFormModelValidators);\n  }\n\n  async notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = false;\n    this.applicationService.authorityInfoViewModel.formHeaderText = this.translate('form.place');\n    this.applicationService.authorityInfoViewModel.headerHint = this.translate('form.place-hint');\n    this.applicationService.authorityInfoViewModel.formDescription = this.translate('form.description');\n    this.ownerOrOperatorChangedViewSellerStepsViewModel.changeStep(1);\n  }\n\n  deactivate() {\n    this.validation.detachDescriptor(this.applicationService.application);\n  }\n\n  translate = translate('vehicle-register.applications.digi-owner-or-operator-changed', this);\n\n  translateApplications = translate('vehicle-register.applications', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\nimport { Change_Type_Model } from '../models/SellerFormModel';\n\ntype NewOwnerProps = {\n  newOwnerType: MandatePersonType;\n  firstName: string;\n  lastName: string;\n  name: string;\n  identificationNumber: string;\n  translate: Translator;\n  changeType?: Change_Type_Model;\n};\n\nconst NewOwner = observer(\n  ({\n    newOwnerType,\n    firstName,\n    lastName,\n    name,\n    identificationNumber,\n    translate,\n    changeType,\n  }: NewOwnerProps) => {\n    return (\n      <>\n        <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2'} data-testid=\"new-owner-title\">\n          {changeType === Change_Type_Model.CHANGE_OPERATOR\n            ? translate('newOperator')\n            : translate('newOwner')}\n        </Typography>\n\n        {newOwnerType === MandatePersonType.FO && (\n          <>\n            <div className=\"u-color--grey-dark\" data-testid=\"first-name-last-name\">\n              {translate('firstNameLastName')}:&nbsp;\n              <b>{`${firstName} ${lastName}`}</b>\n            </div>\n          </>\n        )}\n\n        {newOwnerType === MandatePersonType.PO && (\n          <>\n            <div className=\"u-color--grey-dark\" data-testid=\"name\">\n              {translate('name')}:&nbsp;\n              <b>{`${name}`}</b>\n            </div>\n            <div className=\"u-color--grey-dark\" data-testid=\"identification-number\">\n              {translate('identificationNumber')}:&nbsp;\n              <b>{`${identificationNumber}`}</b>\n            </div>\n          </>\n        )}\n      </>\n    );\n  }\n);\n\nexport default NewOwner;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummarySellerOwnerOrOperatorChangedViewModel from './SummarySellerOwnerOrOperatorChangedViewModel';\nimport ScreenContext from '../../../../../../components/ScreenContext';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport VehicleDetail from '../../../../components/VehicleDetail/VehicleDetail';\nimport CurrentOwner from '../components/CurrentOwner';\nimport NewOwner from '../components/NewOwner';\nimport './style.scss';\nimport AuthorityInfoView from '../../../../components/AuthorityInfo/AuthorityInfoView';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport Modal from '../../../../../../components/shared/Modal';\nimport SummaryWarning from '../../../../components/SummaryWarning/SummaryWarning';\nimport { Change_Type_Model } from '../models/SellerFormModel';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\n\nconst SummarySellerOwnerOrOperatorChangedView: View<SummarySellerOwnerOrOperatorChangedViewModel> = observer(\n  ({ vm }) => {\n    const { translate, translateApplications, busyWatcherConfirm, sendDataError, toggleErrorModal } = vm;\n\n    const { changeType } = vm.sellerFormModel;\n\n    return (\n      <ScreenContext value={vm}>\n        <Container>\n          <Envelope>\n            <h1>\n              {changeType === Change_Type_Model.CHANGE_OPERATOR\n                ? translate('operatorChangedTitle')\n                : changeType === Change_Type_Model.CHANGE_OWNER\n                  ? translate('ownerChangedTitle')\n                  : translate('title')}\n            </h1>\n            {sendDataError && (\n              <Modal headLine={translate('confirmation-title')} closeFce={toggleErrorModal}>\n                <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n              </Modal>\n            )}\n            {/* STEPS */}\n            {/* TODO: make Steps module in reza-framework */}\n            <RenderModel vm={vm.ownerOrOperatorChangedViewSellerStepsViewModel} />\n            {/* CAR INFO */}\n            <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2'}>\n              {translate('request-item')}\n            </Typography>\n            <VehicleDetail\n              vehicle={vm?.selectedVehicle}\n              translate={translateApplications}\n              newDetailInSummary={true}\n            />\n            {/* CURRENT OWNER INFO */}\n            <CurrentOwner\n              heading={vm.currentOwnerHeading}\n              ownerType={vm.applicationService.vehicleRegisterService.personType}\n              personalInfo={vm.applicationService.personalInfo}\n              entrepreneurInfo={vm.applicationService.entrepreneurInfo}\n              contactInfoModel={vm.contactInfoViewModel}\n              translate={translate}\n            />\n            <RepresentativeContactSummary contactInfoViewModel={vm.contactInfoViewModel} />\n            {/* NEW OWNER */}\n            <NewOwner\n              newOwnerType={vm.applicationService.application.newOwnerType}\n              changeType={changeType}\n              firstName={vm.applicationService.application.newOwnerFirstName}\n              lastName={vm.applicationService.application.newOwnerLastName}\n              name={vm.applicationService.application.newOwnerName}\n              identificationNumber={vm.applicationService.application.newOwnerIdentificationNumber}\n              translate={translate}\n            />\n            {/* REQUEST FINISH LOCATION */}\n            <AuthorityInfoView\n              vm={vm.applicationService.authorityInfoViewModel}\n              headerText={vm.sharedTranslate('applicationPlacePart')}\n            />\n            {/* <h3 className=\"my-4 fw-bold\">{translate('handoverPlace')}</h3>\n            {authorityInfo ? <b className=\"u-color--grey-mid\">{authorityInfo}</b> : <p>{translate('notFound')}</p>} */}\n            <SummaryWarning\n              personType={vm.applicationService.vehicleRegisterService.personType}\n              translate={vm.sharedTranslate}\n            />\n          </Envelope>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"buttons-wrapper\">\n            <Button testId=\"back-button\" outlined onClick={() => vm.navToForm()} text={translate('back')} />\n\n            <Button\n              testId=\"continue-button\"\n              onClick={vm?.confirmRequest}\n              text={translate('handoverApplication')}\n              isBusy={busyWatcherConfirm.isBusy}\n            />\n          </div>\n        </Container>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default SummarySellerOwnerOrOperatorChangedView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../../components/layout/LoaderBox';\nimport SummarySellerOwnerOrOperatorChangedViewModel from './SummarySellerOwnerOrOperatorChangedViewModel';\n\nconst SummarySellerOwnerOrOperatorChangedViewLoading: View<SummarySellerOwnerOrOperatorChangedViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default SummarySellerOwnerOrOperatorChangedViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummarySellerOwnerOrOperatorChangedView from './SummarySellerOwnerOrOperatorChangedView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport OwnerOrOperatorChangedViewSellerStepsViewModel from '../steps/OwnerOrOperatorChangedViewSellerStepsViewModel';\nimport NewSellerOwnerOrOperatorChangedViewModel from '../01_new/NewSellerOwnerOrOperatorChangedViewModel';\nimport SellerApplicationService from '../SellerApplicationService';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport SummarySellerOwnerOrOperatorChangedConfirmedViewModel from '../03_confirmed/SummarySellerOwnerOrOperatorChangedConfirmedViewModel';\nimport { isRsvRequestFinished } from '../../../RsvRequestUtils';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport SummarySellerOwnerOrOperatorChangedViewLoading from './SummaryOwnerOrOperatorChangedViewLoading';\nimport IntroOwnerOrOperatorChangedViewModel from '../00_intro/IntroOwnerOrOperatorChangedViewModel';\nimport { Change_Type_Model } from '../models/SellerFormModel';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummarySellerOwnerOrOperatorChangedView)\n@AddBusyView(SummarySellerOwnerOrOperatorChangedViewLoading)\nexport default class SummarySellerOwnerOrOperatorChangedViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable busyWatcherConfirm = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  @computed\n  get currentOwnerHeading() {\n    switch (this.applicationService.application.changeType) {\n      case Change_Type_Model.CHANGE_OPERATOR:\n        return this.translate('currentOperatorOnly');\n      case Change_Type_Model.CHANGE_OWNER:\n        return this.translate('currentOwnerOnly');\n      case Change_Type_Model.CHANGE_OWNER_AND_OPERATOR:\n      default:\n        return this.translate('currentOwner');\n    }\n  }\n\n  get authorityInfo() {\n    return this.applicationService.authorityInfoViewModel.authorityText;\n  }\n\n  get sellerFormModel() {\n    return this.applicationService.application;\n  }\n\n  get selectedVehicle() {\n    return this.applicationService.selectedVehicle;\n  }\n\n  get contactInfoViewModel() {\n    return this.applicationService.contactInfoView;\n  }\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject()\n    public ownerOrOperatorChangedViewSellerStepsViewModel: OwnerOrOperatorChangedViewSellerStepsViewModel,\n    @Inject() public applicationService: SellerApplicationService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<SummarySellerOwnerOrOperatorChangedViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    } else if (this.applicationService.authorityInfoViewModel.selectedAuthorityId === 0) {\n      this.navigator(NewSellerOwnerOrOperatorChangedViewModel, {\n        vehicleID: this.applicationService.vehicleRegisterService.vehicleID!,\n      }).go();\n    }\n  }\n\n  deactivate() {}\n\n  async notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.summaryHeaderClassName = 'my-4 bold h4';\n    this.ownerOrOperatorChangedViewSellerStepsViewModel.changeStep(2);\n  }\n\n  @Watch<SummarySellerOwnerOrOperatorChangedViewModel>((s) => s.busyWatcherConfirm)\n  @action.bound\n  async confirmRequest() {\n    try {\n      await this.applicationService.confirmRequest();\n\n      if (this.applicationService.requestCode !== undefined) {\n        this.navigator(SummarySellerOwnerOrOperatorChangedConfirmedViewModel, {\n          vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n        }).go();\n      } else {\n        throw new Error(`No request code after handling over the request`);\n      }\n    } catch (err: any) {\n      this.errorService.logCatchError(\n        err,\n        'OwnerOrOperatorChanged SummarySellerOwnerOrOperatorChangedViewModel',\n        'confirmRequest'\n      );\n      this.handleError(err);\n    }\n  }\n\n  @action.bound\n  navToForm() {\n    this.navigator(NewSellerOwnerOrOperatorChangedViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(IntroOwnerOrOperatorChangedViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  translate = translate('vehicle-register.applications.digi-owner-or-operator-changed', this);\n  translateApplications = translate('vehicle-register.applications', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../../components/layout/Container';\nimport Envelope from '../../../../../../components/layout/Envelope';\nimport Button from '../../../../../../components/shared/Button/Button';\nimport InfoBox from '../../../../../../components/shared/InfoBox/InfoBox';\nimport Alert from '../../../../../../components/shared/Alert/Alert';\nimport type SummarySellerOwnerOrOperatorChangedConfirmedViewModel from './SummarySellerOwnerOrOperatorChangedConfirmedViewModel';\nimport './SummarySellerOwnerOrOperatorChangedConfirmedView.scss';\nimport QR from '../../../../../../components/shared/QR/QR';\nimport ClipboardCopy from '../../../../../../components/shared/ClipboardCopy/ClipboardCopy';\nimport { Change_Type_Model } from '../models/SellerFormModel';\n\nconst SummarySellerOwnerOrOperatorChangedConfirmedView: View<SummarySellerOwnerOrOperatorChangedConfirmedViewModel> =\n  observer(({ vm }) => {\n    const { buyerFormLink, translate, pdfBusyWatcher } = vm;\n    const { changeType } = vm.sellerFormModel;\n    const { requestCode } = vm.applicationService;\n\n    return (\n      <Container>\n        <Envelope>\n          {/* QR CODE */}\n          <div className=\"summary-block-info mb-4\">\n            <h2>{translate('digitalCodeToEndApplication')}</h2>\n            <span>\n              <h1 className=\"d-flex mt-1 mb-2\">\n                <span className=\"font-consolas\" data-testid=\"requestCode\">\n                  {requestCode}\n                </span>\n                <ClipboardCopy\n                  text={requestCode ?? ''}\n                  className=\"mx-2\"\n                  iconSize=\"medium\"\n                  textConfirmation={\n                    changeType === Change_Type_Model.CHANGE_OPERATOR\n                      ? translate('copyClipboardCodeOperator')\n                      : vm?.translate('copyClipboardCode')\n                  }\n                  showModalMessage={true}\n                />\n              </h1>\n            </span>\n            <h2 className=\"mt-4 mb-3 pt-2\"> {translate('sendCodeNewOwner')}</h2>\n\n            <div className=\"d-flex flex-column justify-content-start align-items-center gap-1\">\n              <div\n                className=\"d-flex justify-content-start align-items-center mb-1 flex-row text-black\"\n                data-testid=\"linkToApplication\"\n              >\n                {translate('linkToApplication')}&nbsp;\n                <ClipboardCopy\n                  text={buyerFormLink}\n                  className=\"mx-2\"\n                  iconSize=\"large\"\n                  textConfirmation={\n                    changeType === Change_Type_Model.CHANGE_OPERATOR\n                      ? translate('copyClipboardLinkOperator')\n                      : vm?.translate('copyClipboardLink')\n                  }\n                  showModalMessage={true}\n                />\n              </div>\n\n              <div className=\"QR-wrapper\">\n                <QR message={buyerFormLink} />\n              </div>\n            </div>\n          </div>\n\n          {/* INFOBOX */}\n          <InfoBox>\n            <p data-testid=\"applicationRegisteredInfoBox\">\n              <strong>\n                {changeType === Change_Type_Model.CHANGE_OPERATOR\n                  ? translate('applicationRegisteredOperator')\n                  : translate('applicationRegistered')}\n              </strong>\n              <br />\n              {changeType === Change_Type_Model.CHANGE_OPERATOR\n                ? translate('forwardLinkToNewOperator')\n                : translate('forwardLinkToNewOwner')}\n              &nbsp;\n              {translate('accessUsingCodeInstruction1')}&nbsp;\n              <i className={'fa-regular fa-copy copy-icon icon-color-dark'}></i>&nbsp;\n              {translate('accessUsingCodeInstruction2')}\n              <br />\n              {changeType === Change_Type_Model.CHANGE_OPERATOR\n                ? translate('linkToPrefilledApplicationOperator')\n                : translate('linkToPrefilledApplication')}\n              {/*<br />*/}\n              {/*{translate('accessUsingCodeInstruction')} <strong>{translate('vehicleSection')}</strong>*/}\n            </p>\n          </InfoBox>\n\n          {/* WARNING */}\n          <Alert className=\"mt-4 mb-4 pt-2 pb-2\">\n            <p>\n              {changeType === Change_Type_Model.CHANGE_OPERATOR ? (\n                translate('warningOperator')\n              ) : (\n                <>\n                  {translate('warning')}\n                  <strong>{translate('warning-2')}</strong>\n                </>\n              )}\n            </p>\n          </Alert>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"d-flex justify-content-start gap-xl-4 mt-4 flex-wrap gap-2\">\n            <Button\n              testId=\"download-pdf-button\"\n              isBusy={pdfBusyWatcher.isBusy}\n              outlined\n              onClick={() => vm.downloadRequestPdf()}\n              text={translate('downloadPdf')}\n            />\n            <Button\n              testId=\"download-instruction-pdf-button\"\n              isBusy={vm.instructionBusyWatcher.isBusy}\n              outlined\n              onClick={() => vm.downloadInstructionPdf()}\n              text={translate('downloadInstructionPdf')}\n            />\n          </div>\n        </Envelope>\n      </Container>\n    );\n  });\n\nexport default SummarySellerOwnerOrOperatorChangedConfirmedView;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummarySellerOwnerOrOperatorChangedConfirmedViewModel from './SummarySellerOwnerOrOperatorChangedConfirmedViewModel';\nimport Container from '@components/layout/Container';\nimport LoaderBox from '@components/layout/LoaderBox';\n\nconst SummarySellerOwnerOrOperatorChangedConfirmedViewLoading: View<SummarySellerOwnerOrOperatorChangedConfirmedViewModel> =\n  observer(({ vm }) => {\n    const { translate } = vm;\n    return (\n      <Container>\n        <h1>{translate('title')}</h1>\n\n        <LoaderBox type=\"box-long\" />\n      </Container>\n    );\n  });\n\nexport default SummarySellerOwnerOrOperatorChangedConfirmedViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SummarySellerOwnerOrOperatorChangedConfirmedView from './SummarySellerOwnerOrOperatorChangedConfirmedView';\nimport SellerApplicationService from '../SellerApplicationService';\nimport NewSellerOwnerOrOperatorChangedViewModel from '../01_new/NewSellerOwnerOrOperatorChangedViewModel';\nimport ApiService from '../../../../../../services/ApiService';\nimport PdfUtils from '../../../../../../utils/PdfUtils';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from '../../../../../../data/egon/api';\nimport RsvBaseScreen from '../../../Shared/screens/RsvBaseScreen';\nimport { rsvBuyerFormLink } from '../../../RsvBuyerFormLink';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport SummarySellerOwnerOrOperatorChangedConfirmedViewLoading from './SummarySellerOwnerOrOperatorChangedConfirmedViewLoading';\n\n@AddDefaultView(SummarySellerOwnerOrOperatorChangedConfirmedView)\n@AddBusyView(SummarySellerOwnerOrOperatorChangedConfirmedViewLoading)\n@Service()\nexport default class SummarySellerOwnerOrOperatorChangedConfirmedViewModel extends RsvBaseScreen {\n  @observable pdfBusyWatcher = new BusyWatcher();\n  @observable instructionBusyWatcher = new BusyWatcher();\n  @observable busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmed';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get sellerFormModel() {\n    return this.applicationService.application;\n  }\n\n  @computed\n  get buyerFormLink() {\n    if (!this.applicationService.requestCode) {\n      return '#';\n    }\n\n    return rsvBuyerFormLink(this.navigator, this.applicationService.requestCode);\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: SellerApplicationService,\n    @Inject() private apiService: ApiService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<SummarySellerOwnerOrOperatorChangedConfirmedViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await Promise.all([this.applicationService.init(), this.applicationService.authorityInfoViewModel.loadAuthorities()]);\n\n    if (\n      this.applicationService.vehicleRegisterService.vehicle &&\n      this.applicationService.status &&\n      this.applicationService.status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED\n    ) {\n      this.navigator(NewSellerOwnerOrOperatorChangedViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  @Watch<SummarySellerOwnerOrOperatorChangedConfirmedViewModel>((t) => t.pdfBusyWatcher)\n  @action.bound\n  async downloadRequestPdf() {\n    if (!this.applicationService.requestId || !this.applicationService.pdfId) {\n      console.error('No request id found when pdf download requested');\n      return;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsAttachments(\n      this.applicationService.pdfId,\n      this.applicationService.requestId.toString()\n    );\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n\n  @Watch<SummarySellerOwnerOrOperatorChangedConfirmedViewModel>((t) => t.instructionBusyWatcher)\n  @action.bound\n  async downloadInstructionPdf() {\n    const blob = await this.apiService.egonApi.vehiclePdf.finishRequestInstructions({\n      requestCode: this.applicationService.requestCode ?? '',\n      finishRequestLink: this.buyerFormLink,\n    });\n    PdfUtils.downloadBlob(blob, 'instrukce_k_dokonceni_prevodu_vozidla');\n  }\n\n  translate = translate('vehicle-register.applications.digi-owner-or-operator-changed.summary', this);\n}\n","import { EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType } from 'src/data/egon/api/models/EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType';\nimport { Change_Type_Model } from './SellerFormModel';\nimport { Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType } from 'src/data/egon/api';\n\nconst changeTypeMap: {\n  [key in Change_Type_Model]?: EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType;\n} = {\n  [Change_Type_Model.CHANGE_OWNER_AND_OPERATOR]:\n    EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER_AND_OPERATOR,\n  [Change_Type_Model.CHANGE_OWNER]:\n    EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER,\n  [Change_Type_Model.CHANGE_OPERATOR]:\n    EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OPERATOR,\n};\n\nconst formChangeTypeMap: {\n  [key in EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType]: Change_Type_Model;\n} = {\n  [EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER_AND_OPERATOR]:\n    Change_Type_Model.CHANGE_OWNER_AND_OPERATOR,\n  [EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER]:\n    Change_Type_Model.CHANGE_OWNER,\n  [EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OPERATOR]:\n    Change_Type_Model.CHANGE_OPERATOR,\n};\n\nexport function mapChangeType(\n  changeType: Change_Type_Model\n): EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType | null {\n  return changeTypeMap[changeType] || null;\n}\n\nexport function mapFormChangeType(\n  changeType: Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType\n): Change_Type_Model {\n  return formChangeTypeMap[changeType];\n}\n\nexport function mapToEgonEnum(\n  changeType: Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType\n): EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType {\n  switch (changeType) {\n    case Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER_AND_OPERATOR:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER_AND_OPERATOR;\n    case Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OWNER:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER;\n    case Domain_Contracts_Enums_Rsv_VehicleNewOwnerOrOperatorChangeType.CHANGE_OPERATOR:\n      return EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OPERATOR;\n    default:\n      throw new Error('Invalid change type');\n  }\n}\n","import RsvApplicationService from '../../Shared/services/RsvApplicationService';\nimport { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, override, runInAction } from 'mobx';\nimport SellerFormModel, { Change_Type_Model } from './models/SellerFormModel';\nimport { mapChangeType, mapFormChangeType } from './models/EnumsFunction';\nimport {\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType,\n} from '../../../../../data/egon/api';\nimport {\n  type EgonServiceBus_WebApi_Requests_V1_Forms_CreateChangeOwnerOrOperatorRequest,\n  type EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorFormAttachmentResponse,\n  type EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorFormResponse,\n} from '../../../../../data/egon/api';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ApiService from '../../../../../services/ApiService';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport { FOPersonInfo, PFOPersonInfo } from '../../../../../enums/PersonInfo';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\nimport RsvRequestsService from '../../Shared/services/RsvRequestsService';\nimport MandatesService from 'src/services/MandatesService';\nimport { UserService } from 'src/services/UserService';\nimport AuthorizationService from 'src/services/AuthorizationService';\n\n@Service()\nexport default class SellerApplicationService extends RsvApplicationService {\n  @observable application = new SellerFormModel();\n  @observable\n  attachements: Array<EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorFormAttachmentResponse> | null =\n    null;\n\n  newOwnerTypeOptions(translate: Translator) {\n    return Object.keys(MandatePersonType).map((key) => {\n      return {\n        id: key,\n        label: translate(key),\n      };\n    });\n  }\n\n  changeTypeOptions(translate: Translator) {\n    const allowedTypes = [\n      Change_Type_Model.CHANGE_OWNER_AND_OPERATOR,\n      Change_Type_Model.CHANGE_OWNER,\n      Change_Type_Model.CHANGE_OPERATOR,\n    ];\n\n    return allowedTypes.map((type) => {\n      let disabled: boolean;\n      switch (type) {\n        case Change_Type_Model.CHANGE_OWNER_AND_OPERATOR:\n          disabled = !(\n            this.authorizationService.conditions.RSV_APPLICATION_CHANGE_OWNER_OWNER_PLUS_OPERATOR &&\n            this.selectedVehicle?.isOwner\n          );\n          break;\n        case Change_Type_Model.CHANGE_OWNER:\n          disabled = !(\n            this.authorizationService.conditions.RSV_APPLICATION_CHANGE_OWNER_OWNER &&\n            this.selectedVehicle?.isOwner\n          );\n          break;\n        default:\n          disabled = !this.authorizationService.conditions.RSV_APPLICATION_CHANGE_OWNER_OPERATOR;\n          break;\n      }\n\n      return {\n        id: type,\n        label: translate(type),\n        description: this.getDescriptionForChangeType(type),\n        disabled,\n      };\n    });\n  }\n\n  constructor(\n    @Inject() public authorizationService: AuthorizationService,\n    @Inject() public localization: LocalizationService,\n    @Inject() private apiService: ApiService,\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() public contactInfoView: ContactInfoViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() protected rsvRequestsService: RsvRequestsService,\n    @Inject() protected mandatesService: MandatesService,\n    @Inject() protected userService: UserService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel\n  ) {\n    super(Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_REGISTRATION_OF_CHANGE_OWNER_OR_OPERATOR);\n    makeObservable(this);\n  }\n\n  @override\n  reset() {\n    super.reset();\n    this.application = new SellerFormModel();\n    this.attachements = null;\n  }\n\n  async getRequest() {\n    if (typeof this.requestId === 'undefined') {\n      return;\n    }\n\n    const request =\n      await this.apiService.egonApi.changeOwnerOrOperator.getPdApiEgonV1RsvRequestsChangeOwnerOrOperatorRequests(\n        this.requestId\n      );\n\n    runInAction(() => {\n      this.requestId = request.requestId;\n      this.requestCode = request.requestCode;\n      this.status = request.status;\n      this.getModelValuesFromRequest(request);\n\n      if (request.attachments && request.attachments.length > 0) {\n        const pdfAttach = request.attachments.find(\n          (attach) => attach.type === Domain_Contracts_Enums_Rsv_AttachmentType.REQUEST\n        );\n\n        if (pdfAttach) {\n          this.pdfId = pdfAttach.id;\n        }\n      }\n    });\n  }\n\n  async postRequest() {\n    const { requestId } =\n      await this.apiService.egonApi.changeOwnerOrOperator.postPdApiEgonV1RsvRequestsChangeOwnerOrOperatorRequests(\n        this.getRequestBodyFromModel()\n      );\n\n    runInAction(() => {\n      this.requestId = requestId;\n    });\n  }\n\n  async handOverRequest() {\n    if (typeof this.requestId === 'undefined') {\n      console.error(`No requestId found when handover called`);\n      return;\n    }\n\n    const { code } = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestCode = code;\n    });\n  }\n\n  async confirmRequest() {\n    if (this.requestId === undefined) {\n      await this.postRequest();\n    }\n\n    await this.handOverRequest();\n\n    await this.getRequest();\n\n    this.rsvRequestsService.reset();\n  }\n\n  @action.bound\n  private getModelValuesFromRequest(\n    request: EgonServiceBus_WebApi_Responses_V1_Rsv_ChangeOwnerOrOperatorFormResponse\n  ) {\n    this.application.changeType = mapFormChangeType(request.changeType);\n    this.application.vehicleId = request.vehicleId;\n\n    this.attachements = request.attachments ?? null;\n\n    this.application.newOwnerFirstName = request.newOwner?.firstName ?? '';\n    this.application.newOwnerLastName = request.newOwner?.lastName ?? '';\n\n    this.application.newOwnerName = request.newOwner?.name ?? '';\n    this.application.newOwnerIdentificationNumber = request.newOwner?.identificationNumber ?? '';\n\n    if (request.newOwner?.lastName && request.newOwner.lastName.length > 0) {\n      this.application.newOwnerType = MandatePersonType.FO;\n    } else {\n      this.application.newOwnerType = MandatePersonType.PO;\n    }\n  }\n\n  private getRequestBodyFromModel() {\n    if (!this.selectedVehicle?.mainInformation?.id) {\n      console.error('No vehicle id when POST method called');\n      return;\n    }\n\n    const requestBody = {} as EgonServiceBus_WebApi_Requests_V1_Forms_CreateChangeOwnerOrOperatorRequest;\n    requestBody.vehicleId = this.selectedVehicle.mainInformation.id;\n    requestBody.contacts = this.contactInfoViewModel.representativeContacts;\n    requestBody.targetAuthorityId = this.authorityInfoViewModel.selectedAuthorityId;\n    requestBody.workPlaceId =\n      this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId;\n\n    if (this.application.changeType && mapChangeType(this.application.changeType) != null) {\n      requestBody.changeType = mapChangeType(\n        this.application.changeType\n      ) as EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType;\n    } else {\n      requestBody.changeType =\n        EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType.CHANGE_OWNER_AND_OPERATOR;\n    }\n\n    switch (this.application.changeType) {\n      case Change_Type_Model.CHANGE_OWNER:\n        requestBody.newOwner = this.getNewOwnerInfo();\n        break;\n      case Change_Type_Model.CHANGE_OPERATOR:\n        requestBody.newOperator = this.getNewOwnerInfo();\n        break;\n      case Change_Type_Model.CHANGE_OWNER_AND_OPERATOR:\n        requestBody.newOwner = this.getNewOwnerInfo();\n        requestBody.newOperator = this.getNewOwnerInfo();\n        break;\n      default:\n        break;\n    }\n\n    return requestBody;\n  }\n\n  private getNewOwnerInfo() {\n    let personInfo: FOPersonInfo | PFOPersonInfo;\n\n    switch (this.application.newOwnerType) {\n      case MandatePersonType.PO:\n        personInfo = {\n          name: this.application.newOwnerName,\n          identificationNumber: this.application.newOwnerIdentificationNumber,\n          firstName: null,\n          lastName: null,\n        };\n        break;\n      case MandatePersonType.FO:\n      default:\n        personInfo = {\n          firstName: this.application.newOwnerFirstName,\n          lastName: this.application.newOwnerLastName,\n          name: null,\n          identificationNumber: undefined,\n        };\n        break;\n    }\n\n    return personInfo;\n  }\n  private getDescriptionForChangeType(changeType: Change_Type_Model): string {\n    switch (changeType) {\n      case Change_Type_Model.CHANGE_OWNER_AND_OPERATOR:\n        return `hint${changeType}`;\n      case Change_Type_Model.CHANGE_OWNER:\n        return `hint${changeType}`;\n      case Change_Type_Model.CHANGE_OPERATOR:\n        return `hint${changeType}`;\n      default:\n        return '';\n    }\n  }\n  private getOldOwnerInfo() {\n    let personInfo: FOPersonInfo | PFOPersonInfo;\n\n    switch (this.vehicleRegisterService.personType) {\n      case MandatePersonType.PO:\n        personInfo = {\n          name: this.entrepreneurInfo?.companyName ?? '',\n          identificationNumber: this.entrepreneurInfo?.identificationNumber ?? '',\n          firstName: null,\n          lastName: null,\n        };\n        break;\n      case MandatePersonType.FO:\n      default:\n        personInfo = {\n          firstName: this.personalInfo?.firstname ?? '',\n          lastName: this.personalInfo?.surname ?? '',\n          name: null,\n          identificationNumber: undefined,\n        };\n        break;\n    }\n\n    return personInfo;\n  }\n\n  translate = translate('vehicle-register.applications.digi-owner-or-operator-changed.seller-service', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport ContactInfoViewModel from '../../../../../components/ContactInfo/ContactInfoViewModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DateUtils from '../../../../../../utils/DateUtils';\nimport {\n  EgonServiceBus_WebApi_Responses_V1_User_PersonalInfoResponse,\n  EgonServiceBus_WebApi_Responses_V1_User_UserEntrepreneurInfoResponse,\n} from '../../../../../../data/egon/api';\nimport StringFormatUtils from '../../../../../../utils/StringFormatUtils';\nimport { MandatePersonType } from '../../../../../../enums/MandatePersonType';\nimport { Typography } from '../../../../../../components/shared/Typography/Typography';\n\ntype CurrentOwnerProps = {\n  heading?: string;\n  ownerType: MandatePersonType;\n  personalInfo: EgonServiceBus_WebApi_Responses_V1_User_PersonalInfoResponse | undefined;\n  entrepreneurInfo: EgonServiceBus_WebApi_Responses_V1_User_UserEntrepreneurInfoResponse | undefined;\n  contactInfoModel: ContactInfoViewModel;\n  translate: Translator;\n};\n\nconst CurrentOwner = observer(\n  ({\n    heading,\n    ownerType,\n    personalInfo,\n    entrepreneurInfo,\n    contactInfoModel,\n    translate,\n  }: CurrentOwnerProps) => {\n    const { email, phone, isCurrentUserOriginUser } = contactInfoModel;\n\n    return (\n      <>\n        <Typography component=\"h3\" variant=\"h4\" className={'bold mt-4 mb-2'}>\n          {heading ? heading : translate('currentOwner')}\n        </Typography>\n\n        {ownerType === MandatePersonType.FO && personalInfo && (\n          <>\n            <div className=\"u-color--grey-dark\" data-testid=\"first-name-last-name\">\n              {translate('firstNameLastName')}:&nbsp;\n              <b className=\"text-capitalize\">{`${personalInfo.firstname?.toLowerCase()} ${personalInfo.surname?.toLowerCase()}`}</b>\n            </div>\n            <div className=\"u-color--grey-dark\" data-testid=\"birth-date\">\n              {translate('birthDate')}:&nbsp;\n              <b>{personalInfo.dayOfBirth ? DateUtils.dateFormatCz(personalInfo.dayOfBirth) : ''}</b>\n            </div>\n            <div className=\"u-color--grey-dark\" data-testid=\"address\">\n              {translate('address')}:&nbsp;\n              <b>{personalInfo.permanentResidency?.formattedAddress}</b>\n            </div>\n          </>\n        )}\n        {ownerType === MandatePersonType.PO && entrepreneurInfo && (\n          <>\n            <div className=\"u-color--grey-dark\" data-testid=\"name\">\n              {translate('name')}:&nbsp;\n              <b>{`${entrepreneurInfo.companyName}`}</b>\n            </div>\n            <div className=\"u-color--grey-dark\" data-testid=\"identification-number\">\n              {translate('identificationNumber')}:&nbsp;\n              <b>{entrepreneurInfo.identificationNumber}</b>\n            </div>\n            <div className=\"u-color--grey-dark\" data-testid=\"address\">\n              {translate('address')}:&nbsp;\n              <b>{entrepreneurInfo.permanentResidency?.formattedAddress}</b>\n            </div>\n          </>\n        )}\n\n        {isCurrentUserOriginUser && email && (\n          <div className=\"u-color--grey-dark\" data-testid=\"email\">\n            {translate('email')}:&nbsp;\n            <b>{email}</b>\n          </div>\n        )}\n        {isCurrentUserOriginUser && phone && (\n          <div className=\"u-color--grey-dark\" data-testid=\"phone-number\">\n            {translate('phoneNumber')}:&nbsp;\n            <b>{StringFormatUtils.formatPhoneNumber(phone)}</b>\n          </div>\n        )}\n      </>\n    );\n  }\n);\n\nexport default CurrentOwner;\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from 'src/data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\n\n@AddTranslationKey('seller-form')\nexport default class SellerFormModel {\n  @observable vehicleId = 0;\n  @observable changeType: Change_Type_Model = Change_Type_Model.SELECTED_NONE;\n  @observable newOwnerFirstName = '';\n  @observable newOwnerLastName = '';\n  @observable newOwnerName = '';\n  @observable newOwnerIdentificationNumber = '';\n  @observable newOwnerType: MandatePersonType = MandatePersonType.FO;\n\n  constructor() {\n    makeObservable(this);\n    if (window.jsEnv.vehicleChangeTypeEnabled == 'false') {\n      this.changeType = Change_Type_Model.CHANGE_OWNER_AND_OPERATOR;\n    }\n  }\n}\n\nexport enum Change_Type_Model {\n  CHANGE_OWNER_AND_OPERATOR = 'ChangeOwnerAndOperator',\n  CHANGE_OWNER = 'ChangeOwner',\n  CHANGE_OPERATOR = 'ChangeOperator',\n  SELECTED_NONE = '',\n}\nexport const SellerFormModelValidators: ValidationDescriptor<SellerFormModel, Validators> = {\n  changeType: {\n    required: {\n      message: 'changeType.required',\n    },\n  },\n  newOwnerType: {\n    required: {\n      message: 'newOwnerType.required',\n    },\n  },\n  newOwnerFirstName: {\n    required: {\n      message: 'newOwnerFirstName.required',\n      options: {\n        if: (t: SellerFormModel) => t.newOwnerType === MandatePersonType.FO,\n      },\n    },\n  },\n  newOwnerLastName: {\n    required: {\n      message: 'newOwnerLastName.required',\n      options: {\n        if: (t: SellerFormModel) => t.newOwnerType === MandatePersonType.FO,\n      },\n    },\n  },\n  newOwnerName: {\n    required: {\n      message: 'newOwnerName.required',\n      options: {\n        if: (t: SellerFormModel) => t.newOwnerType === MandatePersonType.PO,\n      },\n    },\n  },\n  newOwnerIdentificationNumber: {\n    ico: {\n      message: 'newOwnerIdentificationNumber.ICO',\n    },\n    required: {\n      message: 'newOwnerIdentificationNumber.required',\n      options: {\n        if: (t: SellerFormModel) => t.newOwnerType === MandatePersonType.PO,\n      },\n    },\n  },\n};\n","import { observer } from 'mobx-react-lite';\nimport type OwnerOrOperatorChangedViewSellerStepsViewModel from './OwnerOrOperatorChangedViewSellerStepsViewModel';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Steps from '../../../../../ship/applications/ApplicationSteps/components/Steps';\n\nconst OwnerOrOperatorChangedViewSellerStepsView: View<OwnerOrOperatorChangedViewSellerStepsViewModel> =\n  observer(({ vm }) => {\n    const { translate, activeStep, steps } = vm;\n\n    return (\n      <div>\n        <Steps steps={steps} vm={vm} activeStep={activeStep} translate={translate} />\n      </div>\n    );\n  });\n\nexport default OwnerOrOperatorChangedViewSellerStepsView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport OwnerOrOperatorChangedViewSellerStepsView from './OwnerOrOperatorChangedViewSellerStepsView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport StepsViewModel from '../../../../../ship/applications/ApplicationSteps/StepsViewModel';\n\n@AddDefaultView(OwnerOrOperatorChangedViewSellerStepsView)\n@AddChildrenView()\n@Service()\nexport default class OwnerOrOperatorChangedViewSellerStepsViewModel extends StepsViewModel {\n  @observable activeStep = 1;\n\n  @observable steps = [\n    {\n      stepNumber: 1,\n      title: 'request-item',\n      key: 'hasRequestItem',\n      disabled: true,\n    },\n    {\n      stepNumber: 2,\n      title: 'request-summary',\n      key: 'hasRequestSummary',\n      disabled: true,\n    },\n  ];\n\n  get pathNode(): string {\n    return '';\n  }\n\n  constructor(@Inject() public localization: LocalizationService) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound changeStep(stepNumber: number) {\n    this.activeStep = stepNumber;\n  }\n\n  translate = translate('vehicle-register.applications.digi-owner-or-operator-changed.steps', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { PersonInfo } from '@components/shared/PersonCard/PersonCard';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport './Owner.scss';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\n\ntype OwnerProps = {\n  personInfo: PersonInfo;\n  companyInfo: { name: string; identificationNumber: string; address: string };\n  personType: MandatePersonType;\n  isBusy: boolean;\n  translate: Translator;\n};\n\nconst Owner = observer(({ personInfo, companyInfo, personType, isBusy, translate }: OwnerProps) => {\n  if (isBusy) return <LoaderBox type=\"person-info-card\" />;\n\n  if (personType === MandatePersonType.PO)\n    return (\n      <div className=\"person-info-card\">\n        <h3 className=\"headline\" data-testid=\"company-name\">\n          {companyInfo.name}\n        </h3>\n        <p data-testid=\"company-address\">\n          {translate('address')}: <span className=\"c:font-bold c:normal-case\">{companyInfo.address}</span>\n        </p>\n        <p data-testid=\"company-identification-number\">\n          {translate('identificationNumber')}:{' '}\n          <span className=\"c:font-bold\">{companyInfo.identificationNumber}</span>\n        </p>\n      </div>\n    );\n\n  return (\n    <div className=\"person-info-card\">\n      <h3 className=\"headline\" data-testid=\"person-name\">\n        {personInfo.name}\n      </h3>\n      <p data-testid=\"person-address\">\n        {translate('address')}: <span className=\"c:font-bold c:normal-case\">{personInfo.address}</span>\n      </p>\n      <p data-testid=\"person-birth-date\">\n        {translate('birthDate')}: <span className=\"c:font-bold\">{personInfo.birthDate}</span>\n      </p>\n    </div>\n  );\n});\n\nexport default Owner;\n","import { observer } from 'mobx-react-lite';\nimport Input from '../../../../../components/form/Input';\nimport RadioGroup from '../../../../../components/form/RadioGroup/RadioGroup';\nimport DragAndDropFile from '../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type RegisterFormModel from '../models/RegisterFormModel';\nimport {\n  vehicleColorSelectOptions,\n  VehicleOrigin,\n  vehiclePurposeSelectOptions,\n} from '../models/RegisterFormModel';\nimport ContactInfoView from '../../../../components/ContactInfo/ContactInfoView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport { PersonInfo } from '@components/shared/PersonCard/PersonCard';\nimport './style.scss';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport NewOperator from '../../OwnerOrOperatorChangedView/buyer/components/NewOperator';\nimport Owner from './Owner';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport AttachmentsHeader from 'src/app/vehicle/components/AttachmentsHeader';\nimport {\n  Autocomplete,\n  GovIcon,\n  LegacyTooltip,\n  Message,\n  ScreenContext,\n  Typography,\n} from '@cendis/cedr-components';\nimport Button from '@components/shared/Button/Button';\nimport ButtonLoader from '@components/loader/ButtonLoader';\nimport Select from '@components/form/Select/Select';\nimport RoadVehicleRegisterDigiFormViewModel from './RoadVehicleRegisterDigiFormViewModel';\n\ntype RadioOption = { id: string; label: string };\ntype VinOption = string | { key?: string; stringValue?: string };\n\ntype Props = {\n  translate: Translator;\n  sharedTranslate: Translator;\n  vehicleOriginSelectOptions?: RadioOption[];\n  authorityInfoViewModel: AuthorityInfoViewModel;\n  model: RegisterFormModel;\n  contactInfoModel: ContactInfoViewModel;\n  personInfo: PersonInfo;\n  companyInfo: { name: string; identificationNumber: string; address: string };\n  personType: MandatePersonType;\n  isBusy: boolean;\n  setCocFiles: (file: File | FileList, description: string, isMultiple?: boolean) => void;\n  unsetCocFiles: (fileName: string) => void;\n  setOriginalDocsFiles: (file: File | FileList, description: string, isMultiple?: boolean) => void;\n  unsetOriginalDocsFiles: (fileName: string) => void;\n  setGreenCardFiles: (file: File | FileList, description: string, isMultiple?: boolean) => void;\n  unsetGreenCardFiles: (fileName: string) => void;\n  setModsFiles: (file: File | FileList, description: string, isMultiple?: boolean) => void;\n  unsetModsFiles: (fileName: string) => void;\n  newOperatorTypeOptions: { id: string; label: string }[];\n  loadDataByVin: () => void;\n  loadDataByVinIsBusy: boolean;\n  vehicleDataLoaded: boolean | undefined;\n  vm: RoadVehicleRegisterDigiFormViewModel;\n};\nconst vehicleOriginSelectOptionsMock = [\n  {\n    id: '1',\n    label: 'Nové vozidlo pořízené v ČR',\n  },\n  {\n    id: '2',\n    label: 'Vozidlo dovezené ze zahraničí',\n  },\n];\n\nconst Form = observer(\n  ({\n    translate,\n    sharedTranslate,\n    vehicleOriginSelectOptions = vehicleOriginSelectOptionsMock,\n    model,\n    authorityInfoViewModel,\n    contactInfoModel,\n    personInfo,\n    companyInfo,\n    personType,\n    isBusy,\n    setCocFiles,\n    unsetCocFiles,\n    setGreenCardFiles,\n    unsetGreenCardFiles,\n    setModsFiles,\n    unsetModsFiles,\n    setOriginalDocsFiles,\n    unsetOriginalDocsFiles,\n    newOperatorTypeOptions,\n    loadDataByVin,\n    loadDataByVinIsBusy,\n    vehicleDataLoaded,\n    vm,\n  }: Props) => {\n    return (\n      <>\n        <ScreenContext value={vm}>\n          <h3 data-testid=\"form-title\">{translate('form.newOwnerAndOperator')}</h3>\n          <div className=\"c:md:max-w-1/2 mb-4\">\n            <Owner\n              personInfo={personInfo}\n              companyInfo={companyInfo}\n              personType={personType}\n              isBusy={isBusy}\n              translate={translate}\n            />\n          </div>\n          <ContactInfoView vm={contactInfoModel} />\n          <NewOperator\n            newOperator={model.newOperator}\n            newOperatorTypeOptions={newOperatorTypeOptions}\n            translate={translate}\n            allowBirthDateOnly={true}\n            applyDisabling={false}\n          />\n          <h3>{translate('form.vehicleOrigin')}</h3>\n          <RadioGroup\n            className=\"mb-4\"\n            target={model}\n            property=\"vehicleOrigin\"\n            options={vehicleOriginSelectOptions}\n            testId=\"vehicle-origin\"\n          />\n          <h3 className=\"has-hint\">\n            <span data-testid=\"vehicle-tech-data-title\">{translate('form.vehicleTechData')}</span>\n            <div className=\"css-reset\">\n              <LegacyTooltip\n                tooltipContent={translate('form.vehicleTechDataHint')}\n                position=\"bottom\"\n                size=\"s\"\n              >\n                <GovIcon\n                  name=\"components/info-circle-fill\"\n                  size=\"m\"\n                  className=\"mx-1 mb-1 inline align-middle\"\n                />\n              </LegacyTooltip>\n            </div>\n          </h3>\n\n          <div className=\"css-reset mb-3\" data-testid=\"vehicle-tech-data-hint\">\n            <Autocomplete\n              target={model}\n              property=\"vinCode\"\n              label={translate('form.vinCode')}\n              fetchOptions={(input: string) => vm.applicationService.getVehicleRegistrationVins(input)}\n              onOptionSelection={(option: VinOption) => {\n                if (typeof option === 'string') {\n                  model.vinCode = option;\n                  return;\n                }\n\n                model.vinCode = (option && (option.key ?? option.stringValue)) || '';\n              }}\n            />\n\n            {model.vinCode.length > 0 && model.vinCode.length !== 17 && (\n              <div className=\"form-text mt-3\">{translate('form.vinLength')}</div>\n            )}\n          </div>\n\n          {model.vehicleOrigin === VehicleOrigin.CZ && (\n            <>\n              {loadDataByVinIsBusy ? (\n                <ButtonLoader classes=\"gov-button gov-button--primary-outlined next\" />\n              ) : (\n                <Button\n                  testId=\"load-vehicle-data-button\"\n                  onClick={loadDataByVin}\n                  text=\"Načíst údaje o vozidle\"\n                  outlined\n                  disabled={model.vinCode.length <= 0}\n                ></Button>\n              )}\n\n              {vehicleDataLoaded !== undefined && (\n                <>\n                  <div className=\"css-reset mt-4 mb-4\" data-testid=\"vehicle-loaded-message\">\n                    <Message\n                      color={vehicleDataLoaded ? 'success' : 'warning'}\n                      icon={vehicleDataLoaded ? 'components/check-lg' : 'components/info-circle-fill'}\n                    >\n                      <p className=\"mb-0\">\n                        <>\n                          {translate(vehicleDataLoaded ? 'vehicleLoadedMessage' : 'vehicleLoadedMessageErr')}\n                        </>\n                      </p>\n                    </Message>\n                  </div>\n\n                  <div className=\"mb-4\">\n                    <div className=\"d-flex flex-column col-sm-12 col-md-6\">\n                      <Input target={model} property=\"vehicleCategory\" className=\"w-full\" />\n                      <Input target={model} property=\"vehicleSort\" />\n                    </div>\n                    <Input target={model} property=\"vehicleType\" />\n                    <Input target={model} property=\"vehicleMakeAndModel\" />\n                    <div className=\"d-flex flex-column col-sm-12 col-md-6\">\n                      <Select\n                        target={model}\n                        property=\"vehicleColor\"\n                        options={vehicleColorSelectOptions}\n                        testId=\"vehicle-color\"\n                      />\n                    </div>\n                    <Input target={model} property=\"vehicleMods\" />\n                    <Input target={model} property=\"vehicleApprovalCertificateNumber\" />\n                  </div>\n                </>\n              )}\n            </>\n          )}\n\n          <h3 className=\"mt-4\">{translate('form.vehiclePurpose')}</h3>\n          <RadioGroup\n            className=\"mb-4\"\n            target={model}\n            property=\"vehiclePurpose\"\n            options={vehiclePurposeSelectOptions}\n            testId=\"vehicle-purpose\"\n          />\n          <AuthorityInfoView vm={authorityInfoViewModel} />\n          {model.vehicleOrigin !== VehicleOrigin.ABROAD && (\n            <>\n              <AttachmentsHeader translate={sharedTranslate} />\n              <div className=\"fullWidth\">\n                <DragAndDropFile\n                  files={model.attachCoc.filter((file) => file.description)}\n                  id={1}\n                  label={translate('attach.cocList')}\n                  buttonLabel={translate('attach.button')}\n                  infoLabel={translate('attach.info')}\n                  filesLabel={translate('attach.files')}\n                  formats={['jpg', 'jpeg', 'png', 'pdf']}\n                  fileTypeError={translate('attach.typeError')}\n                  validationsFired={false}\n                  hideFormats={true}\n                  handleFile={setCocFiles}\n                  handleRemoveFile={unsetCocFiles}\n                  allowedFileSize={Number(window.jsEnv.rsvAttachmentMaxSizeMB) * 1024 * 1024}\n                  fileSizeError={`${translate('attach.sizeError')} ${window.jsEnv.rsvAttachmentMaxSizeMB} MB.`}\n                  filesSize={0}\n                  setFilesSize={() => {}}\n                  generalTranslate={translate}\n                  className=\"attachCoc\"\n                />\n                <DragAndDropFile\n                  files={model.attachGreenCard.filter((file) => file.description)}\n                  message={translate('attach.alertMessage')}\n                  id={2}\n                  label={translate('attach.greenCard')}\n                  buttonLabel={translate('attach.button')}\n                  infoLabel={translate('attach.info')}\n                  filesLabel={translate('attach.files')}\n                  formats={['jpg', 'jpeg', 'png', 'pdf']}\n                  fileTypeError={translate('attach.typeError')}\n                  validationsFired={false}\n                  hideFormats={true}\n                  handleFile={setGreenCardFiles}\n                  handleRemoveFile={unsetGreenCardFiles}\n                  allowedFileSize={Number(window.jsEnv.rsvAttachmentMaxSizeMB) * 1024 * 1024}\n                  fileSizeError={`${translate('attach.sizeError')} ${window.jsEnv.rsvAttachmentMaxSizeMB} MB.`}\n                  filesSize={0}\n                  setFilesSize={() => {}}\n                  generalTranslate={translate}\n                  className=\"attachGreenCard\"\n                />\n                <DragAndDropFile\n                  files={model.attachMods.filter((file) => file.description)}\n                  id={3}\n                  label={translate('attach.mods')}\n                  buttonLabel={translate('attach.button')}\n                  infoLabel={translate('attach.info')}\n                  filesLabel={translate('attach.files')}\n                  formats={['jpg', 'jpeg', 'png', 'pdf']}\n                  fileTypeError={translate('attach.typeError')}\n                  validationsFired={false}\n                  hideFormats={true}\n                  handleFile={setModsFiles}\n                  handleRemoveFile={unsetModsFiles}\n                  allowedFileSize={Number(window.jsEnv.rsvAttachmentMaxSizeMB) * 1024 * 1024}\n                  fileSizeError={`${translate('attach.sizeError')} ${window.jsEnv.rsvAttachmentMaxSizeMB} MB.`}\n                  filesSize={0}\n                  setFilesSize={() => {}}\n                  generalTranslate={translate}\n                  className=\"attachMods\"\n                />\n              </div>\n            </>\n          )}\n          {model.vehicleOrigin === VehicleOrigin.ABROAD && (\n            <>\n              <h3>{sharedTranslate('attachments')}</h3>\n\n              <p className=\"mb-4\">\n                {translate('attach.abroadInfo.desc1')}\n                <b>{translate('attach.abroadInfo.desc2')}</b>\n                {translate('attach.abroadInfo.desc3')}{' '}\n              </p>\n\n              <ul className=\"ms-4 mb-4\">\n                <Typography component=\"li\">{translate('attach.abroadInfo.li1')}</Typography>\n                <Typography component=\"li\">{translate('attach.abroadInfo.li2')}</Typography>\n                <Typography component=\"li\">{translate('attach.abroadInfo.li3')}</Typography>\n                <Typography component=\"li\">{translate('attach.abroadInfo.li4')}</Typography>\n              </ul>\n\n              <div className=\"fullWidth\">\n                <DragAndDropFile\n                  files={model.attachOriginalDocs}\n                  id={4}\n                  buttonLabel={translate('attach.button')}\n                  infoLabel={translate('attach.infos')}\n                  filesLabel={translate('attach.files')}\n                  formats={['jpg', 'jpeg', 'png', 'pdf']}\n                  fileTypeError={translate('attach.typeError')}\n                  validationsFired={false}\n                  hideFormats={true}\n                  handleFile={setOriginalDocsFiles}\n                  handleRemoveFile={unsetOriginalDocsFiles}\n                  allowedFileSize={Number(window.jsEnv.rsvAttachmentMaxSizeMB) * 1024 * 1024}\n                  allowedAllFilesSize={Number(window.jsEnv.rsvAllAttachmentsMaxSizeMB) * 1024 * 1024}\n                  fileSizeError={`${translate('attach.sizeError')} ${window.jsEnv.rsvAttachmentMaxSizeMB} MB.`}\n                  filesSizeError={`${translate('attach.sumSizeError')} ${window.jsEnv.rsvAllAttachmentsMaxSizeMB} MB.`}\n                  filesSize={0}\n                  setFilesSize={() => {}}\n                  generalTranslate={translate}\n                  className=\"attachOriginalDocs\"\n                  isMultiple={true}\n                />\n              </div>\n            </>\n          )}\n          {/* 3x or 5x file input */}\n        </ScreenContext>\n      </>\n    );\n  }\n);\n\nexport default Form;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Form from './Form';\nimport type RoadVehicleRegisterDigiFormViewModel from './RoadVehicleRegisterDigiFormViewModel';\nimport Steps from '../../../components/Steps/Steps';\n\nconst RoadVehicleRegisterDigiFormView: View<RoadVehicleRegisterDigiFormViewModel> = observer(({ vm }) => {\n  const { navBack, navToSummary, translate, sharedTranslate, RegisterFormModel, contactInfoViewModel } = vm;\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"buyer-form\">\n            <h1>{translate('title')}</h1>\n\n            <Steps steps={vm.stepsData} activeStep={1} translate={translate} />\n\n            <Form\n              translate={translate}\n              sharedTranslate={sharedTranslate}\n              model={RegisterFormModel}\n              contactInfoModel={contactInfoViewModel}\n              setCocFiles={vm.setCocFiles}\n              unsetCocFiles={vm.unsetCocFiles}\n              setOriginalDocsFiles={vm.setOriginalDocsFiles}\n              unsetOriginalDocsFiles={vm.unsetOriginalDocsFiles}\n              setGreenCardFiles={vm.setGreenCardFiles}\n              unsetGreenCardFiles={vm.unsetGreenCardFiles}\n              setModsFiles={vm.setModsFiles}\n              unsetModsFiles={vm.unsetModsFiles}\n              personInfo={vm.personInfo}\n              companyInfo={vm.companyInfo}\n              personType={vm.personType}\n              isBusy={vm.busyWatcher.isBusy}\n              authorityInfoViewModel={vm.authorityInfoViewModel}\n              newOperatorTypeOptions={vm.newOperatorTypeOptions}\n              loadDataByVin={vm.loadDataByVin}\n              loadDataByVinIsBusy={vm.busyWatcherLoadVinCode.isBusy}\n              vehicleDataLoaded={vm.applicationService.vehicleDataLoaded}\n              vm={vm}\n            />\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-5\">\n          <Button testId=\"back-button\" outlined onClick={navBack} text={sharedTranslate('back')} />\n          <Button testId=\"continue-button\" onClick={navToSummary} text={sharedTranslate('continue')} />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default RoadVehicleRegisterDigiFormView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport RoadVehicleRegisterDigiFormView from './RoadVehicleRegisterDigiFormView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport SummaryRoadVehicleRegisterDigiViewModel from '../01_summary/SummaryRoadVehicleRegisterDigiViewModel';\nimport ApiService from '../../../../../services/ApiService';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport { type PersonInfo } from '../../../../../components/shared/PersonCard/PersonCard';\nimport DateUtils from '../../../../../utils/DateUtils';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { RegisterFormModelValidators } from '../models/RegisterFormModel';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport { BreadcrumbControl } from '../../../../breadcrumbs/types';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport { NewOperatorBirthDayOnlyModelValidators } from '../../OwnerOrOperatorChangedView/buyer/models/NewOperatorModel';\nimport AuthorizationService from 'src/services/AuthorizationService';\n('../../../../../utils/AddressUtils');\n\n@Service()\n@AddChildrenView()\n@AddDefaultView(RoadVehicleRegisterDigiFormView)\nexport default class RoadVehicleRegisterDigiFormViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  busyWatcherLoadVinCode = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  @computed\n  get personInfo(): PersonInfo {\n    const user = this.applicationService.user;\n\n    return {\n      name: `${user?.firstname} ${user?.surname}`,\n      birthDate: user?.dayOfBirth ? DateUtils.dateFormatCz(new Date(user?.dayOfBirth)) : '',\n      address: user?.permanentResidency?.formattedAddress ?? '',\n    };\n  }\n\n  @computed\n  get companyInfo(): { name: string; identificationNumber: string; address: string } {\n    const companyUser = this.applicationService.companyUser;\n\n    return {\n      name: companyUser?.companyName ?? '',\n      identificationNumber: companyUser?.identificationNumber ?? '',\n      address: companyUser?.permanentResidency?.formattedAddress ?? '',\n    };\n  }\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  get stepsData() {\n    return [\n      {\n        stepNumber: 1,\n        title: 'request-item',\n      },\n      {\n        stepNumber: 2,\n        title: 'request-summary',\n      },\n    ];\n  }\n\n  get personType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject()\n    public summaryRoadVehicleRegisterDigiViewModel: SummaryRoadVehicleRegisterDigiViewModel,\n    @Inject() public apiService: ApiService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public authorizationService: AuthorizationService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(this.summaryRoadVehicleRegisterDigiViewModel);\n  }\n\n  @Watch<RoadVehicleRegisterDigiFormViewModel>((s) => s.busyWatcher)\n  async notifyNavigation() {\n    this.authorityInfoViewModel.disabled = false;\n    await this.applicationService.init();\n  }\n\n  get RegisterFormModel() {\n    return this.applicationService.formModel;\n  }\n\n  @action.bound\n  @Watch<RoadVehicleRegisterDigiFormViewModel>((s) => s.busyWatcherLoadVinCode)\n  async loadDataByVin() {\n    const vinCode = this.RegisterFormModel.vinCode;\n    if (!vinCode) return false;\n\n    try {\n      const data = await this.apiService.egonApiV2.vehicles\n        .getPdApiEgonV2NewVehiclesByVin(vinCode)\n        .catch((e) => {\n          if (e.status < 500) {\n            return [];\n          } else {\n            throw e;\n          }\n        });\n\n      //push extra allowedSections to authorizationService\n      const extraSections = data?.[0]?.allowedSections ?? [];\n      this.authorizationService.extendAllowedSections(extraSections);\n\n      runInAction(() => {\n        if (data.length > 0) {\n          this.applicationService.formModel.mapLoadedData(data);\n          this.applicationService.vehicleDataLoaded = true;\n        } else {\n          this.applicationService.formModel.resetLoadedData();\n          this.applicationService.vehicleDataLoaded = false;\n        }\n      });\n    } catch (error) {\n      runInAction(() => {\n        this.applicationService.formModel.resetLoadedData();\n        this.applicationService.vehicleDataLoaded = false;\n      });\n    }\n  }\n\n  @action.bound\n  navToSummary() {\n    if (\n      this.validation.validateObject(this.RegisterFormModel) &&\n      this.authorityInfoViewModel.changedFromDefault &&\n      this.applicationService.contactInfoViewModel.isValid &&\n      this.validation.validateObject(this.RegisterFormModel.newOperator)\n    ) {\n      this.RegisterFormModel.email = this.contactInfoViewModel.email;\n      this.RegisterFormModel.phone = this.contactInfoViewModel.phone;\n      this.navigator('../summary').go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator('../').go();\n  }\n\n  @action.bound\n  setCocFiles(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      this.RegisterFormModel.attachCoc = [];\n      this.RegisterFormModel.attachCoc?.push({ file, description });\n    }\n  }\n\n  @action.bound\n  unsetCocFiles() {\n    this.RegisterFormModel.attachCoc = [];\n  }\n\n  @action.bound\n  setOriginalDocsFiles(file: File | FileList, description: string) {\n    if (file instanceof FileList) {\n      for (let i = 0; i < file.length; i++) {\n        this.RegisterFormModel.attachOriginalDocs?.push({ file: file[i], description });\n      }\n    }\n  }\n\n  @action.bound\n  unsetOriginalDocsFiles(fileName: string) {\n    const index = this.RegisterFormModel.attachOriginalDocs.findIndex((item) => item.file.name === fileName);\n    if (index >= 0) this.RegisterFormModel.attachOriginalDocs.splice(index, 1);\n  }\n\n  @action.bound\n  setGreenCardFiles(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      this.RegisterFormModel.attachGreenCard = [];\n      this.RegisterFormModel.attachGreenCard.push({ file, description });\n    }\n  }\n\n  @action.bound\n  unsetGreenCardFiles() {\n    this.RegisterFormModel.attachGreenCard = [];\n  }\n\n  @action.bound\n  setModsFiles(file: File | FileList, description: string) {\n    if (file instanceof File) {\n      this.RegisterFormModel.attachMods = [];\n      this.RegisterFormModel.attachMods?.push({ file, description });\n    }\n  }\n\n  @action.bound\n  unsetModsFiles() {\n    this.RegisterFormModel.attachMods = [];\n  }\n\n  @computed\n  get newOperatorTypeOptions() {\n    return this.applicationService.newOperatorTypeOptions(this.translate);\n  }\n\n  activate() {\n    this.contactInfoViewModel.hideQuestions = true;\n    this.validation.attachDescriptor(this.RegisterFormModel, RegisterFormModelValidators);\n    this.validation.attachDescriptor(\n      this.RegisterFormModel.newOperator,\n      NewOperatorBirthDayOnlyModelValidators\n    );\n  }\n\n  translate = translate('vehicle-register.applications.road-vehicle-register', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport RegisterFormModel from '../models/RegisterFormModel';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\ntype VehicleSummaryProps = {\n  formModel: RegisterFormModel;\n  translate: Translator;\n  className?: string;\n};\n\nconst VehicleSummary = observer(({ formModel, translate, className }: VehicleSummaryProps) => {\n  return (\n    <div className={'row card-list-item-detail selected-background'}>\n      <div className=\"d-flex flex-column flex-xl-row pb-2\">\n        <div className=\"mt-2 flex-grow-1\">\n          <h3>{translate('new-vehicle')}</h3>\n          {formModel.vehicleMakeAndModel && (\n            <Typography component=\"h3\" variant=\"h4\" className=\"bold mb-3\">\n              {formModel.vehicleMakeAndModel}\n            </Typography>\n          )}\n\n          {formModel.vehicleSort && (\n            <Typography component=\"strong\" className=\"text-break\">\n              {formModel.vehicleSort}\n            </Typography>\n          )}\n        </div>\n      </div>\n      <div className=\"row vehicle-content\">\n        <div className=\"col-md-4 vehicle-data-row\">\n          <h4>{translate('vin')}</h4>\n          <p>{formModel.vinCode}</p>\n          <h4>{translate('color')}</h4>\n          <p>{formModel.getVehicleColorLabel(formModel.vehicleColor)}</p>\n          <h4>{translate('mods')}</h4>\n          <p>{formModel.vehicleMods}</p>\n        </div>\n        <div className=\"col-md-4 vehicle-data-row\">\n          <h4>{translate('type')}</h4>\n          <p>{formModel.vehicleType}</p>\n          <h4>{translate('category')}</h4>\n          <p>{formModel.vehicleCategory}</p>\n          <h4>{translate('vehiclePurpose')}</h4>\n          <p>{translate(`vehiclePurpose${formModel.vehiclePurpose}`)}</p>\n        </div>\n      </div>\n    </div>\n  );\n});\n\nexport default VehicleSummary;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryRoadVehicleRegisterDigiViewModel from './SummaryRoadVehicleRegisterDigiViewModel';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport SummaryModal from '../../../components/SummaryModal';\nimport './SummaryRoadVehicleRegisterDigiView.scss';\nimport { VehicleOrigin } from '../models/RegisterFormModel';\nimport Steps from '../../../components/Steps/Steps';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport AttachmentsSummary from '../../../components/AttachmentsSummary';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport Modal from '../../../../../components/shared/Modal';\nimport VehicleSummary from '../components/VehicleSummary';\nimport SummaryWarning from '../../../components/SummaryWarning/SummaryWarning';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\nimport RsvSummaryTable from '../../Shared/components/RsvSummaryTable';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\n\nconst SummaryRoadVehicleRegisterDigiView: View<SummaryRoadVehicleRegisterDigiViewModel> = observer(\n  ({ vm }) => {\n    const {\n      translate,\n      formModel,\n      navBack,\n      toggleConfirmationModal,\n      fileList,\n      fileAbroadList,\n      sendDataError,\n      toggleErrorModal,\n      applicationService,\n    } = vm;\n    const { contactInfoViewModel } = applicationService;\n\n    if (formModel === undefined) return null;\n\n    return (\n      <ScreenContext value={vm}>\n        <Container>\n          {vm.confirmationModalVisible && (\n            <SummaryModal\n              toggleConfirmationModal={toggleConfirmationModal}\n              vm={vm}\n              isSending={vm.busyWatcher.isBusy}\n              requestTitle={translate('title')}\n            />\n          )}\n          {sendDataError && (\n            <Modal headLine={translate('confirmation-title')} closeFce={toggleErrorModal}>\n              <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n            </Modal>\n          )}\n          <Envelope>\n            <h1 data-testid=\"title\">{translate('title')}</h1>\n            {/* STEPS */}\n            <Steps steps={vm.stepsData} activeStep={2} translate={translate} />\n            {/* CAR INFO */}\n            <Typography component=\"h3\" variant=\"h4\" className=\"bold mb-3\" data-testid=\"request-item\">\n              {translate('request-item')}\n            </Typography>\n\n            <VehicleSummary formModel={vm.formModel} translate={translate} />\n            <Typography className=\"text-break mt-4\" data-testid=\"certificate-number\">\n              {`${translate('certificateNumber')}: `}\n              <strong>{formModel.vehicleApprovalCertificateNumber}</strong>\n            </Typography>\n\n            {/* CURRENT OWNER INFO */}\n            <RsvSummaryTable heading={translate('owner')} data={vm.ownerSummaryData} />\n            {/* REPRESENTATIVE CONTACT INFO */}\n            <RepresentativeContactSummary contactInfoViewModel={contactInfoViewModel} />\n            {/* Operator */}\n            <RsvSummaryTable heading={translate('operator')} data={vm.operatorSummaryData} />\n            {/* Documents */}\n            {formModel.vehicleOrigin !== VehicleOrigin.ABROAD && (\n              <AttachmentsSummary\n                title={translate('attachments')}\n                fileList={fileList}\n                noFilesText={translate('attach.noFiles')}\n              />\n            )}\n            {formModel.vehicleOrigin === VehicleOrigin.ABROAD && (\n              <AttachmentsSummary\n                title={translate('attachments')}\n                fileList={fileAbroadList}\n                noFilesText={translate('attach.noFiles')}\n              />\n            )}\n            {/* REQUEST FINISH LOCATION */}\n            <AuthorityInfoView vm={vm.authorityInfoViewModel} />\n            <SummaryWarning\n              personType={vm.vehicleRegisterService.personType}\n              translate={vm.sharedTranslate}\n            />\n          </Envelope>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"summaryRoadVehicle-action-btns\">\n            <Button testId=\"back-button\" outlined onClick={navBack} text={translate('back')} />\n            <Button\n              testId=\"continue-button\"\n              onClick={toggleConfirmationModal}\n              text={translate('handoverApplication')}\n            />\n          </div>\n        </Container>\n      </ScreenContext>\n    );\n  }\n);\n\nexport default SummaryRoadVehicleRegisterDigiView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummaryRoadVehicleRegisterDigiView from './SummaryRoadVehicleRegisterDigiView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport ApiService from '../../../../../services/ApiService';\nimport {\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_VehicleRegistrationRequest,\n  EgonServiceBus_WebApi_Requests_V1_Forms_FormSubjectRequest,\n} from '../../../../../data/egon/api';\nimport ApplicationService from '../ApplicationService';\nimport { VehicleOrigin } from '../models/RegisterFormModel';\nimport dateUtils from '../../../../../utils/DateUtils';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { OperatorRadioButtonPersonType } from '../../OwnerOrOperatorChangedView/buyer/models/NewOperatorModel';\nimport { MandatePersonType } from '../../../../../enums/MandatePersonType';\nimport VehicleAttachmentService from '../../../../../services/vehicle/VehicleAttachmentService';\nimport RoadVehicleRegisterDigiFormViewModel from '../00_form/RoadVehicleRegisterDigiFormViewModel';\nimport { BreadcrumbControl } from '../../../../breadcrumbs/types';\nimport SummaryRoadVehicleRegisterDigiViewConfirmedViewModel from '../02_confirmation/SummaryRoadVehicleRegisterDigiViewConfirmedViewModel';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from '../../../../../data/egon/apiV2';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport { ReactNode } from 'react';\nimport ErrorService from 'src/services/ErrorService';\n('../../../../../utils/AddressUtils');\n\n@Service()\n@AddDefaultView(SummaryRoadVehicleRegisterDigiView)\nexport default class SummaryRoadVehicleRegisterDigiViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined = undefined;\n  @observable confirmationModalVisible = false;\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  @computed\n  get user() {\n    return this.applicationService.user;\n  }\n\n  @computed\n  get companyUser() {\n    return this.applicationService.companyUser;\n  }\n\n  get stepsData() {\n    return [\n      {\n        stepNumber: 1,\n        title: 'request-item',\n        action: this.navBack,\n      },\n      {\n        stepNumber: 2,\n        title: 'request-summary',\n      },\n    ];\n  }\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  @computed\n  get fileList() {\n    const files: Array<{ file: File; typeName: string }> = [];\n\n    this.formModel.attachCoc.map((attach) => {\n      files.push({\n        file: attach.file,\n        typeName: this.translate('attach.summary.cocList'),\n      });\n    });\n\n    this.formModel.attachGreenCard.map((attach) => {\n      files.push({\n        file: attach.file,\n        typeName: this.translate('attach.summary.greenCard'),\n      });\n    });\n\n    this.formModel.attachMods.map((attach) => {\n      files.push({\n        file: attach.file,\n        typeName: this.translate('attach.summary.mods'),\n      });\n    });\n\n    return files;\n  }\n\n  @computed\n  get fileAbroadList() {\n    const files: Array<{ file: File; typeName: string }> = [];\n\n    this.formModel.attachOriginalDocs.map((attach) => {\n      files.push({\n        file: attach.file,\n        typeName: '',\n      });\n    });\n\n    return files;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() private apiService: ApiService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private attachmentService: VehicleAttachmentService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  activate() {\n    if (this.authorityInfoViewModel.selectedAuthorityId === 0) {\n      this.navigator(RoadVehicleRegisterDigiFormViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID!,\n      });\n    }\n    this.vehicle = this.vehicleRegisterService.vehicle;\n  }\n\n  deactivate() {}\n\n  async notifyNavigation() {\n    this.authorityInfoViewModel.disabled = true;\n    // if model is not fill, go to form\n    if (!this.formModel.vinCode) {\n      this.navBack();\n    }\n    await this.applicationService.init();\n  }\n\n  @action.bound\n  toggleConfirmationModal() {\n    this.confirmationModalVisible = !this.confirmationModalVisible;\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  async sendCzRegistrationDocuments(requestId: number) {\n    if (this.formModel.vehicleOrigin === VehicleOrigin.ABROAD) {\n      return;\n    }\n    return await Promise.all([\n      await this.attachmentService.sendAttachment(\n        this.formModel.attachCoc,\n        requestId,\n        Domain_Contracts_Enums_Rsv_AttachmentType.COC_LIST\n      ),\n      await this.attachmentService.sendAttachment(\n        this.formModel.attachGreenCard,\n        requestId,\n        Domain_Contracts_Enums_Rsv_AttachmentType.THIRD_PARTY_LIABILITY_INSURANCE_PROOF\n      ),\n      await this.attachmentService.sendAttachment(\n        this.formModel.attachMods,\n        requestId,\n        Domain_Contracts_Enums_Rsv_AttachmentType.DOCUMENT_CERTIFYING_RECORDED_DATA\n      ),\n    ]);\n  }\n\n  async sendOriginalDocsAttachmentRequest(requestId: number) {\n    if (this.formModel.vehicleOrigin !== VehicleOrigin.ABROAD) {\n      return;\n    }\n    return await this.attachmentService.sendAttachment(\n      this.formModel.attachOriginalDocs,\n      requestId,\n      Domain_Contracts_Enums_Rsv_AttachmentType.DOCUMENT_CERTIFYING_RECORDED_DATA\n    );\n  }\n\n  @computed\n  get authorityInfo() {\n    return this.authorityInfoViewModel.authorityText;\n  }\n\n  getPostRequestBody() {\n    const addIfValid = (key: string, value: any, target: Record<string, any>): void => {\n      if (value !== null && value !== undefined && value !== '') {\n        target[key] = value;\n      }\n    };\n\n    const requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_VehicleRegistrationRequest = {\n      vin: this.formModel.vinCode,\n      purpose: this.formModel.vehiclePurpose,\n      targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n      workPlaceId:\n        this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n      contacts: this.applicationService.contactInfoViewModel.representativeContacts,\n    };\n    addIfValid('category', this.formModel.vehicleCategory, requestBody);\n    addIfValid('type', this.formModel.vehicleSort, requestBody);\n    addIfValid('class', this.formModel.vehicleType, requestBody);\n    addIfValid('color', this.formModel.getVehicleColorEnum(this.formModel.vehicleColor), requestBody);\n    addIfValid('approval', this.formModel.vehicleApprovalCertificateNumber, requestBody);\n    addIfValid('equipments', this.formModel.vehicleMods, requestBody);\n\n    if (this.formModel.newOperator.newOperatorDifferentFromNewOwner) {\n      requestBody.operator = this.getPostRequestOperator();\n    }\n\n    return requestBody;\n  }\n\n  getPostRequestOwner() {\n    let owner: EgonServiceBus_WebApi_Requests_V1_Forms_FormSubjectRequest = {};\n\n    if (this.vehicleRegisterService.personType === MandatePersonType.PO) {\n      owner = {\n        ...owner,\n        name: this.companyUser?.companyName,\n        identificationNumber: this.companyUser?.identificationNumber,\n        address: this.companyUser?.permanentResidency?.pipeSeparatedAddress,\n      };\n    } else if (this.vehicleRegisterService.personType === MandatePersonType.FO) {\n      owner = {\n        ...owner,\n        firstName: this.user?.firstname,\n        lastName: this.user?.surname,\n        birthDate: dateUtils.czStringToRequestString(this.user?.dayOfBirth ?? ''),\n        address: this.user?.permanentResidency?.pipeSeparatedAddress,\n      };\n    }\n\n    return owner;\n  }\n\n  getPostRequestOperator() {\n    let operator: EgonServiceBus_WebApi_Requests_V1_Forms_FormSubjectRequest = {};\n\n    if (this.formModel.newOperator.newOperatorDifferentFromNewOwner) {\n      if (this.formModel.newOperator.operatorRadioButtonPersonType === OperatorRadioButtonPersonType.PFO) {\n        operator = {\n          ...operator,\n          name: this.formModel.newOperator.name,\n          identificationNumber: this.formModel.newOperator.identificationNumber,\n          address: this.formModel.newOperator.addressPipeSeparated,\n        };\n      } else if (\n        this.formModel.newOperator.operatorRadioButtonPersonType === OperatorRadioButtonPersonType.FO\n      ) {\n        operator = {\n          ...operator,\n          firstName: this.formModel.newOperator.firstName,\n          lastName: this.formModel.newOperator.lastName,\n          birthDate: this.formModel.newOperator.birthDateOnly,\n          address: this.formModel.newOperator.addressPipeSeparated,\n        };\n      }\n    } else {\n      operator = {\n        ...this.getPostRequestOwner(),\n      };\n    }\n\n    return operator;\n  }\n\n  @computed\n  get ownerSummaryData() {\n    const data: { label: ReactNode; value: ReactNode }[] = [];\n\n    if (\n      this.applicationService.mandatesService.personType === MandatePersonType.FO &&\n      this.applicationService.user\n    ) {\n      const user = this.applicationService.user;\n      data.push(\n        {\n          label: this.translate('fullName'),\n          value: `${user.firstname} ${user.surname}`,\n        },\n        {\n          label: this.translate('birthDate'),\n          value: user.dayOfBirth ? dateUtils.dateFormatCz(user.dayOfBirth) : '',\n        }\n      );\n      // include email and phone if origin user\n      if (this.applicationService.contactInfoViewModel.isCurrentUserOriginUser) {\n        data.push(\n          {\n            label: this.translate('email'),\n            value: this.applicationService.contactInfoViewModel.email,\n          },\n          {\n            label: this.translate('phone'),\n            value: this.applicationService.contactInfoViewModel.formattedPhone,\n          }\n        );\n      }\n\n      data.push({\n        label: this.translate('address'),\n        value: user.permanentResidency?.formattedAddress,\n      });\n    } else if (\n      this.applicationService.mandatesService.personType === MandatePersonType.PO &&\n      this.applicationService.companyUser\n    ) {\n      const companyUser = this.applicationService.companyUser;\n      data.push(\n        {\n          label: this.translate('name'),\n          value: companyUser.companyName,\n        },\n        {\n          label: this.translate('identificationNumber'),\n          value: companyUser.identificationNumber,\n        }\n      );\n      // include email and phone if origin user\n      if (this.applicationService.contactInfoViewModel.isCurrentUserOriginUser) {\n        data.push(\n          {\n            label: this.translate('email'),\n            value: this.applicationService.contactInfoViewModel.email,\n          },\n          {\n            label: this.translate('phone'),\n            value: this.applicationService.contactInfoViewModel.formattedPhone,\n          }\n        );\n      }\n\n      data.push({\n        label: this.translate('address'),\n        value: companyUser.permanentResidency?.formattedAddress,\n      });\n    }\n\n    return data;\n  }\n\n  @computed\n  get operatorSummaryData() {\n    if (this.formModel.newOperator.newOperatorDifferentFromNewOwner === true) {\n      const data: { label: ReactNode; value: ReactNode }[] = [];\n\n      if (this.formModel.newOperator.operatorRadioButtonPersonType === OperatorRadioButtonPersonType.FO) {\n        data.push(\n          {\n            label: this.translate('fullName'),\n            value: this.formModel.newOperator.fullName,\n          },\n          {\n            label: this.translate('birthDate'),\n            value: dateUtils.dateFormatCz(this.formModel.newOperator.birthDateOnly),\n          },\n          {\n            label: this.translate('address'),\n            value: this.formModel.newOperator.address,\n          }\n        );\n      } else if (\n        this.formModel.newOperator.operatorRadioButtonPersonType === OperatorRadioButtonPersonType.PFO\n      ) {\n        data.push(\n          {\n            label: this.translate('name'),\n            value: this.formModel.newOperator.name,\n          },\n          {\n            label: this.translate('identificationNumber'),\n            value: this.formModel.newOperator.identificationNumber,\n          },\n          {\n            label: this.translate('address'),\n            value: this.formModel.newOperator.address,\n          }\n        );\n      }\n\n      return data;\n    } else {\n      return this.ownerSummaryData;\n    }\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator('../form').go();\n  }\n\n  @Watch<SummaryRoadVehicleRegisterDigiViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async confirmRequest() {\n    try {\n      const data = this.getPostRequestBody();\n      await this.apiService.egonApi.vehicleRegistration\n        .postPdApiEgonV1RsvRequestsVehicleRegistrationRequests(data)\n        .then(async (postResult) => {\n          this.formModel.requestId = postResult.requestId;\n          await Promise.all([\n            await this.sendCzRegistrationDocuments(postResult.requestId),\n            await this.sendOriginalDocsAttachmentRequest(postResult.requestId),\n          ]).then(\n            async (result) =>\n              await this.apiService.egonApi.rsvRequests\n                .postPdApiEgonV1RsvRequestsRequestsHandover(this.formModel.requestId)\n                .then((putResult) => {\n                  runInAction(() => {\n                    this.applicationService.formModel.requestCode = putResult.code;\n                  });\n                  this.navigator(SummaryRoadVehicleRegisterDigiViewConfirmedViewModel, {\n                    requestId: this.applicationService.formModel.requestId.toString(),\n                  }).go();\n                })\n          );\n        });\n    } catch (err: any) {\n      this.errorService.logCatchError(\n        err,\n        'RoadVehicleRegister SummaryRoadVehicleRegisterDigiViewModel',\n        'confirmRequest'\n      );\n      this.handleError(err);\n    }\n    this.confirmationModalVisible = false;\n  }\n\n  translate = translate('vehicle-register.applications.road-vehicle-register', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport InfoBox from '../../../../../components/shared/InfoBox/InfoBox';\nimport type SummaryRoadVehicleRegisterDigiViewConfirmedViewModel from './SummaryRoadVehicleRegisterDigiViewConfirmedViewModel';\nimport './SummaryRoadVehicleRegisterDigiViewConfirmedView.scss';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport ConfirmationCode from '../../../components/Confirmation/ConfirmationCode';\n\nconst SummaryRoadVehicleRegisterDigiViewConfirmedView: View<SummaryRoadVehicleRegisterDigiViewConfirmedViewModel> =\n  observer(({ vm }) => {\n    const { translate, authority, downloadRequestPdf } = vm;\n\n    return (\n      <Container>\n        <Envelope>\n          {/* SUCCESS BOX */}\n          <SuccessMessage text={translate('successfulApplication')} authority={authority} />\n\n          <ConfirmationCode\n            translate={vm.sharedTranslate}\n            requestCode={vm.applicationService.formModel.requestCode}\n          />\n\n          {/* INFOBOX */}\n          <InfoBox className=\"registration-summary\">\n            <div>\n              <p data-testid=\"additional-docs-title\">\n                {translate('additionalDocs.title')}&nbsp;\n                <strong>{translate('additionalDocs.titleBold')}</strong>\n              </p>\n              <ul className=\"gov-list\">\n                <li data-testid=\"additional-docs-li1\">{translate('additionalDocs.liOne')}</li>\n                <li data-testid=\"additional-docs-li2\">{translate('additionalDocs.liTwo')}</li>\n                <li data-testid=\"additional-docs-li3\">{translate('additionalDocs.liFour')}</li>\n                <li data-testid=\"additional-docs-li4\">{translate('additionalDocs.liFive')}</li>\n              </ul>\n              <br />\n              <p data-testid=\"additional-docs-payment-text\">\n                {translate('additionalDocs.paymentText')}&nbsp;\n                <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                  {vm.translateTariffCharges('tariff-charges')}\n                </a>\n                .\n              </p>\n            </div>\n          </InfoBox>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"buttons-wrapper\">\n            <Button\n              testId=\"download-pdf-button\"\n              outlined\n              onClick={downloadRequestPdf}\n              text={translate('downloadPdf')}\n              isBusy={vm.downloadBusyWatcher.isBusy}\n            />\n          </div>\n        </Envelope>\n      </Container>\n    );\n  });\n\nexport default SummaryRoadVehicleRegisterDigiViewConfirmedView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport SummaryRoadVehicleRegisterDigiViewConfirmedViewModel from './SummaryRoadVehicleRegisterDigiViewConfirmedViewModel';\nimport { observer } from 'mobx-react-lite';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport Container from '../../../../../components/layout/Container';\n\nconst SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading: View<SummaryRoadVehicleRegisterDigiViewConfirmedViewModel> =\n  observer(({ vm }) => {\n    const { translate } = vm;\n    return (\n      <Container>\n        <h1>{translate('title')}</h1>\n\n        <LoaderBox type=\"box-long\" />\n      </Container>\n    );\n  });\n\nexport default SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport SummaryRoadVehicleRegisterDigiViewConfirmedView from './SummaryRoadVehicleRegisterDigiViewConfirmedView';\nimport ApiService from '../../../../../services/ApiService';\nimport ApplicationService from '../ApplicationService';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { Domain_Contracts_Enums_Rsv_AttachmentType } from '../../../../../data/egon/api';\nimport PdfUtils from '../../../../../utils/PdfUtils';\nimport RegisterFormModel from '../models/RegisterFormModel';\nimport { BreadcrumbControl } from '../../../../breadcrumbs/types';\nimport { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading from './SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@AddBusyView(SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading)\n@AddDefaultView(SummaryRoadVehicleRegisterDigiViewConfirmedView)\n@Service()\nexport default class SummaryRoadVehicleRegisterDigiViewConfirmedViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  downloadBusyWatcher = new BusyWatcher();\n  @observable requestPdfId: undefined | number;\n  @observable requestId: undefined | number;\n\n  get pathNode(): string {\n    return '/requestId/-confirmation';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  breadcrumb: BreadcrumbControl = {\n    hideInNavigation: true,\n  };\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private apiService: ApiService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private authorityInfoViewModel: AuthorityInfoViewModel\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { requestId } = params;\n    if (requestId) {\n      this.requestId = Number(requestId);\n    }\n  }\n\n  @Watch<SummaryRoadVehicleRegisterDigiViewConfirmedViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async notifyNavigation() {\n    await Promise.all([this.fetchRequestInfo(), this.authorityInfoViewModel.loadAuthorities()]);\n  }\n\n  async fetchRequestInfo() {\n    if (!this.requestId) {\n      this.navigator('../form').go();\n      return;\n    }\n\n    const data = await this.apiService.egonApi.vehicleRegistration\n      .getPdApiEgonV1RsvRequestsVehicleRegistrationRequests(this.requestId)\n      .catch((e) => console.error(e));\n\n    if (!data) return;\n\n    runInAction(() => {\n      this.applicationService.formModel.requestCode = data.requestCode;\n\n      if (data.targetAuthorityId !== data.workPlaceId) {\n        this.authorityInfoViewModel.selectedItem = `${data.targetAuthorityId}-${data.workPlaceId}`;\n      } else {\n        this.authorityInfoViewModel.selectedItem = `${data.targetAuthorityId}-${null}`;\n      }\n    });\n\n    const requestPdf = data.attachments.find(\n      (attachment) => attachment.type === Domain_Contracts_Enums_Rsv_AttachmentType.REQUEST\n    );\n\n    if (requestPdf && requestPdf.id) {\n      runInAction(() => {\n        this.requestPdfId = requestPdf.id;\n      });\n    }\n  }\n\n  deactivate() {\n    this.applicationService.formModel = new RegisterFormModel();\n  }\n\n  @Watch<SummaryRoadVehicleRegisterDigiViewConfirmedViewModel>((s) => s.downloadBusyWatcher)\n  @action.bound\n  async downloadRequestPdf() {\n    if (!this.requestId || !this.requestPdfId) {\n      console.error('No request or pdf id found when pdf download requested.');\n      return;\n    }\n    const response = await this.apiService.egonApi.rsvRequests\n      .getPdApiEgonV1RsvRequestsRequestsAttachments(this.requestPdfId, this.requestId.toString())\n      .catch((e) => console.error(e));\n    if (!response) return;\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n\n  @computed\n  get authority() {\n    if (!this.authorityInfoViewModel.authorityTextWithComma) {\n      return '';\n    } else {\n      return ' - ' + this.authorityInfoViewModel.authorityTextWithComma;\n    }\n  }\n\n  translate = translate('vehicle-register.applications.road-vehicle-register', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, when } from 'mobx';\n\nimport RegisterFormModel from './models/RegisterFormModel';\nimport { OperatorRadioButtonPersonType } from '../OwnerOrOperatorChangedView/buyer/models/NewOperatorModel';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport ApiService from '../../../../services/ApiService';\nimport AuthorityInfoViewModel from '../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { MandatePersonType } from '../../../../enums/MandatePersonType';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport { UserService } from 'src/services/UserService';\nimport MandatesService from 'src/services/MandatesService';\n\n@Service()\nexport default class ApplicationService {\n  @observable formModel: RegisterFormModel = new RegisterFormModel();\n  @observable vehicleDataLoaded: boolean | undefined = undefined;\n\n  @computed\n  get user() {\n    return this.userService.personalInfo;\n  }\n\n  @computed\n  get companyUser() {\n    return this.userService.entrepreneurInfo;\n  }\n\n  validation = new ValidationContext();\n\n  newOperatorTypeOptions(translate: Translator) {\n    return Object.values(OperatorRadioButtonPersonType).map((value) => {\n      return {\n        id: value,\n        label: translate(value),\n      };\n    });\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private apiService: ApiService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public userService: UserService,\n    @Inject() public mandatesService: MandatesService\n  ) {\n    makeObservable(this);\n  }\n\n  @action.bound\n  async init() {\n    this.contactInfoViewModel.init(this.validation);\n    await this.userService.initUserData();\n\n    if (this.mandatesService.personType === MandatePersonType.FO) {\n      await when(() => this.userService.personalInfo !== undefined);\n    } else {\n      await when(() => this.userService.entrepreneurInfo !== undefined);\n    }\n  }\n\n  @action.bound\n  async getVehicleRegistrationVins(input: string) {\n    if (!input || input.length < 3) {\n      return [];\n    }\n\n    const vins =\n      await this.apiService.egonApi.vehicleRegistration.getPdApiEgonV1RsvRequestsVehicleRegistrationVins();\n\n    const vinsOptions: { stringValue: string; key: string; component: string }[] = [];\n\n    if (Array.isArray(vins) && vins.length > 0) {\n      vins.forEach((v) => {\n        const vinStr = v && v.vin ? String(v.vin) : '';\n        if (vinStr.length === 0) return;\n        vinsOptions.push({\n          stringValue: vinStr,\n          key: vinStr,\n          component: vinStr,\n        });\n      });\n    }\n\n    const options: { stringValue: string; key: string; component: string }[] = [\n      { stringValue: input, key: input, component: input },\n    ];\n\n    vinsOptions.forEach((opt) => {\n      if (opt.key.includes(input)) {\n        options.push(opt);\n      }\n    });\n\n    return options;\n  }\n\n  @action.bound\n  reset() {\n    this.formModel = new RegisterFormModel();\n    this.contactInfoViewModel.reset();\n    this.vehicleDataLoaded = undefined;\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from '../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport Attachment from '../../../../../model/Attachment';\nimport NewOperatorModel from '../../OwnerOrOperatorChangedView/buyer/models/NewOperatorModel';\nimport { SelectEmptyKey } from '../../../../../components/form/Select/Select';\nimport {\n  Domain_Contracts_Enums_Rsv_VehicleColor,\n  Domain_Contracts_Enums_Rsv_VehiclePurpose,\n} from '../../../../../data/egon/api';\nimport { RadioGroupOption } from '../../../../../components/form/RadioGroup/RadioGroup';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\n\n@AddTranslationKey('register-vehicle-form.form')\nexport default class RegisterFormModel {\n  @observable vehicleOrigin = VehicleOrigin.CZ;\n  @observable vinCode: string = '';\n  @observable vehicleCategory: string = '';\n  @observable vehicleSort: string = '';\n  @observable vehicleType: string = '';\n  @observable vehicleMakeAndModel: string = '';\n  @observable vehicleMods: string = '';\n  @observable roadworthinessCertificateNum: string = '';\n  @observable vehicleApprovalCertificateNumber: string = '';\n  @observable vehiclePurpose: Domain_Contracts_Enums_Rsv_VehiclePurpose =\n    Domain_Contracts_Enums_Rsv_VehiclePurpose.USUAL;\n  @observable email: string = '';\n  @observable phone: string = '';\n  @observable vehicleColor = -1;\n\n  @observable applicationPlace: number = 1;\n  @observable attachCoc: Attachment[] = [];\n  @observable attachGreenCard: Attachment[] = [];\n  @observable attachMods: Attachment[] = [];\n  @observable attachOriginalDocs: Attachment[] = [];\n  @observable requestId: number = 0;\n  @observable requestCode?: string;\n  @observable newOperator = new NewOperatorModel();\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public mapLoadedData(data: Array<EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse>) {\n    this.vehicleCategory = data[0].information.mainInformation.category ?? '';\n    this.vehicleSort = data[0].information.mainInformation.type ?? '';\n    this.vehicleType = data[0].information.mainInformation.variant ?? '';\n    this.vehicleMakeAndModel = data[0].information.mainInformation.commercialDesignation ?? '';\n\n    // mapping color\n    const vehicleLoadedColor = data[0].body.color ?? '';\n    const colorKeywords = vehicleLoadedColor\n      .split(/[\\s-]+/)\n      .map((word) => word.trim())\n      .filter(Boolean);\n    const colorRegex = new RegExp(colorKeywords.join('|'), 'i');\n    const matchingOption = vehicleColorSelectOptions.find((option) => colorRegex.test(option.label));\n    this.vehicleColor = matchingOption?.value ?? -1;\n\n    const dataVehicleMods = data[0].equipments.couplingDevice\n      ? 'Tažné zařízení:' +\n        data[0].equipments.couplingDevice +\n        ', zatížení: ' +\n        data[0].equipments.couplingDeviceLoad +\n        ', tažené vozidlo brzdy: ' +\n        data[0].equipments.couplingDeviceBrakes +\n        ', tažené vozidlo typ brzdy: ' +\n        data[0].equipments.couplingDeviceBrakesType +\n        ';'\n      : '';\n\n    this.vehicleMods = dataVehicleMods;\n    this.vehicleApprovalCertificateNumber = data[0].information.mainInformation.typeApproval ?? '';\n  }\n\n  public resetLoadedData() {\n    this.vehicleCategory = '';\n    this.vehicleSort = '';\n    this.vehicleType = '';\n    this.vehicleMakeAndModel = '';\n    this.vehicleColor = -1;\n    this.vehicleMods = '';\n  }\n\n  public getVehicleColorEnum(value: number): Domain_Contracts_Enums_Rsv_VehicleColor | undefined {\n    const option = vehicleColorSelectOptions.find((opt) => opt.value === value);\n    if (!option) {\n      return undefined;\n    }\n    const enumValue =\n      Domain_Contracts_Enums_Rsv_VehicleColor[\n        option.key.toUpperCase() as keyof typeof Domain_Contracts_Enums_Rsv_VehicleColor\n      ];\n\n    if (!enumValue) {\n      return undefined;\n    }\n\n    return enumValue;\n  }\n\n  public getVehicleColorLabel(value: number): string | undefined {\n    const option = vehicleColorSelectOptions.find((vc) => vc.value === value);\n    if (!option) {\n      return undefined;\n    }\n    return option.label;\n  }\n}\n\nexport const RegisterFormModelValidators: ValidationDescriptor<RegisterFormModel, Validators> = {\n  vinCode: {\n    required: {\n      message: 'vinCode',\n    },\n    vin: {\n      message: 'vinMaxLength',\n    },\n  },\n};\n\nexport const vehicleColorSelectOptions = [\n  {\n    key: SelectEmptyKey,\n    label: '',\n    value: -1,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.BLACK,\n    label: 'Černá',\n    value: 50,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.WHITE,\n    label: 'Bílá',\n    value: 200,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.YELLOW,\n    label: 'Žlutá',\n    value: 201,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.ORANGE,\n    label: 'Oranžová',\n    value: 202,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.RED,\n    label: 'Červená',\n    value: 203,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.PURPLE,\n    label: 'Fialová',\n    value: 204,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.BLUE,\n    label: 'Modrá',\n    value: 205,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.GREEN,\n    label: 'Zelená',\n    value: 206,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.GREY,\n    label: 'Šedá',\n    value: 207,\n  },\n  {\n    key: Domain_Contracts_Enums_Rsv_VehicleColor.BROWN,\n    label: 'Hnědá',\n    value: 208,\n  },\n];\n\nexport const vehiclePurposeSelectOptions: RadioGroupOption[] = [\n  {\n    id: Domain_Contracts_Enums_Rsv_VehiclePurpose.USUAL,\n    label: 'Vozidlo obecného využití',\n  },\n  {\n    id: Domain_Contracts_Enums_Rsv_VehiclePurpose.TAXI,\n    label: 'Vozidlo taxislužby',\n  },\n  {\n    id: Domain_Contracts_Enums_Rsv_VehiclePurpose.RIGHT_OF_WAY,\n    label: 'Silniční vozidlo s právem přednosti v jízdě',\n  },\n  {\n    id: Domain_Contracts_Enums_Rsv_VehiclePurpose.RENT_CAR,\n    label: 'Vozidlo půjčovny automobilů určené k nájmu',\n  },\n  {\n    id: Domain_Contracts_Enums_Rsv_VehiclePurpose.ROAD_TRANSPORT_FOR_THE_NEEDS_OF_OTHERS_BY_ITS_OPERATOR,\n    label: 'Vozidlo k provozování silniční dopravy pro cizí potřeby provozovatelem',\n  },\n  {\n    id: Domain_Contracts_Enums_Rsv_VehiclePurpose.PUBLIC_TRANSPORT,\n    label: 'Vozidlo určené k provozování veřejné linkové dopravy',\n  },\n];\n\nexport class PersonInlineData {\n  @observable name: string | null = null;\n  @observable fullName: string | null = null;\n  @observable birthDate: string | null = null;\n  @observable identificationNumber: string | null = null;\n  @observable email: string = '';\n  @observable phone: string = '';\n  @observable address: string = '';\n}\n\nexport enum VehicleOrigin {\n  CZ = '1',\n  ABROAD = '2',\n}\n","import type { Navigator } from '@cendis/cedr-framework/dist/router/Navigator';\nimport ApplicationLoaderViewModel from './OwnerOrOperatorChangedView/buyer/00_applicationLoader/ApplicationLoaderViewModel';\n\n// this needs its own file because of import error when it is in the same file as other utils\nexport function rsvBuyerFormLink(navigator: Navigator, code: string) {\n  return window.location.origin + navigator(ApplicationLoaderViewModel).getPathLocation({ code: code });\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type IntroRsvDataChangeViewModel from './IntroRsvDataChangeViewModel';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport ApplicationInProgressModal from '../../../components/ApplicationInProgressModal';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\n\nconst IntroRsvDataChangeView: View<IntroRsvDataChangeViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  return (\n    <>\n      <Container className=\"rsv-intro\">\n        {vm.applicationInProgressModalVisible && <ApplicationInProgressModal vm={vm} />}\n\n        <Typography component=\"h1\" className=\"thin mb-4\" data-testid=\"intro-title\">\n          {translate('title')}\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"intro-whats-it-is-header\">\n          {translate('whatsItIs.header')}\n        </Typography>\n        <Typography className=\"mb-4\" data-testid=\"intro-whats-it-is-description\">\n          {translate('whatsItIs.description')}\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"intro-process-steps-header\">\n          {translate('processSteps.stepsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-4\">\n          <Typography component=\"li\" data-testid=\"intro-process-step1\">\n            {translate('processSteps.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"intro-process-step2\">\n            {translate('processSteps.step2')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"intro-process-step3\">\n            {translate('processSteps.step3')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"intro-process-step4\">\n            {translate('processSteps.step4')}&nbsp;\n            <a\n              data-testid=\"tariff-charges-link\"\n              target=\"_blank\"\n              href=\"/tariff-charges\"\n              className=\"test-nav-tariff-charges\"\n            >\n              {vm.translateTariffCharges('tariff-charges')}\n            </a>\n            .\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\" data-testid=\"intro-required-documents-header\">\n          {translate('requiredDocuments.requiredDocumentsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-5\">\n          <Typography component=\"li\" data-testid=\"intro-required-document-step2\">\n            {translate('requiredDocuments.step2')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"intro-required-document-step3\">\n            {translate('requiredDocuments.step3')}\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"h4 mb-4\" data-testid=\"intro-what-to-expect-header\">\n          {translate('whatToExpect.whatToExpectHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"mb-5\">\n          <Typography component=\"li\" data-testid=\"intro-what-to-expect-step1\">\n            {translate('whatToExpect.step1')}\n          </Typography>\n          <Typography component=\"li\" data-testid=\"intro-what-to-expect-step2\">\n            {translate('whatToExpect.step2')}\n          </Typography>\n        </Typography>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button\n            testId=\"back-button\"\n            outlined\n            onClick={() => vm?.goToVehicle()}\n            text={translate('back').toUpperCase()}\n          />\n          <Button\n            testId=\"continue-button\"\n            onClick={vm?.goToForm}\n            text={translate('fillApplication').toUpperCase()}\n          />\n        </div>\n      </Container>\n    </>\n  );\n});\n\nexport default IntroRsvDataChangeView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport IntroRsvDataChangeViewModel from './IntroRsvDataChangeViewModel';\n\nconst IntroRsvDataChangeViewLoading: View<IntroRsvDataChangeViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default IntroRsvDataChangeViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport IntroRsvDataChangeView from './IntroRsvDataChangeView';\nimport NewTechnicalCertificateFormViewModel from '../01_form/RsvDataChangeFormViewModel';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport AbstractApplicationViewModel from '../../AbstractApplicationViewModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport IntroRsvDataChangeViewLoading from './IntroRsvDataChangeViewLoading';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport ApplicationListViewModel from '../../../applicationsList/ApplicationListViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(IntroRsvDataChangeView)\n@AddBusyView(IntroRsvDataChangeViewLoading)\nexport default class IntroRsvDataChangeViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable applicationInProgressModalVisible: boolean = false;\n  @observable shouldDisplayApplicationInProgressModal: boolean = false;\n\n  get pathNode(): string {\n    return 'intro';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<IntroRsvDataChangeViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      runInAction(() => {\n        this.shouldDisplayApplicationInProgressModal = true;\n      });\n    }\n  }\n\n  deactivate() {\n    runInAction(() => {\n      this.shouldDisplayApplicationInProgressModal = false;\n    });\n  }\n\n  @action.bound\n  goToForm() {\n    if (this.shouldDisplayApplicationInProgressModal) {\n      this.applicationInProgressModalVisible = true;\n      return;\n    }\n\n    if (this.vehicleRegisterService.vehicleID) {\n      this.navigator(NewTechnicalCertificateFormViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicle() {\n    if (this.vehicleRegisterService.vehicleID) {\n      this.applicationInProgressModalVisible = false;\n      this.navigator(AbstractApplicationViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  goToVehicleList() {\n    this.applicationInProgressModalVisible = false;\n    this.navigator(ApplicationListViewModel).go({\n      requestId: this.applicationService.requestId?.toString() ?? '',\n    });\n  }\n\n  translate = translate('vehicle-register.applications.rsv-data-change', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport DragAndDropFile from '../../../../../components/form/DragAndDropFile/DragAndDropFile';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type RegisterFormModel from '../models/RsvDataChangeFormModel';\nimport ContactInfoView from '../../../../components/ContactInfo/ContactInfoView';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport './Form.scss';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport Textarea from '../../../../../components/form/Textarea';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport AttachmentsHeader from 'src/app/vehicle/components/AttachmentsHeader';\n\ntype Props = {\n  translate: Translator;\n  sharedTranslate: Translator;\n  authorityInfoModel: AuthorityInfoViewModel;\n  model: RegisterFormModel;\n  setFiles: (file: File | FileList, description: string, isMultiple?: boolean) => void;\n  unsetFiles: (fileName: string) => void;\n  contactInfoModel: ContactInfoViewModel;\n};\n\nconst Form = observer(\n  ({\n    translate,\n    sharedTranslate,\n    authorityInfoModel,\n    contactInfoModel,\n    model,\n    setFiles,\n    unsetFiles,\n  }: Props) => {\n    return (\n      <>\n        <Typography variant=\"h3\" component={'h3'} className=\"my-4\" data-testid=\"requested-change-heading\">\n          {translate('form.requestedChangeTitle')}\n        </Typography>\n        <Textarea target={model} maxLength={400} property=\"requestedChange\" className=\"dataChangeTextArea\" />\n\n        <ContactInfoView vm={contactInfoModel} />\n\n        <AuthorityInfoView vm={authorityInfoModel} />\n\n        <AttachmentsHeader translate={sharedTranslate} />\n        <DragAndDropFile\n          files={model.attachmentFiles}\n          id={1}\n          label={translate('form.documentTitle')}\n          buttonLabel={translate('form.uploadFromDevice')}\n          infoLabel={translate('form.placeFile')}\n          filesLabel={translate('form.supportedFormatsInfo')}\n          formats={['jpg', 'jpeg', 'png', 'pdf']}\n          fileTypeError={translate('form.fileTypeError')}\n          validationsFired={false}\n          hideFormats={true}\n          handleFile={setFiles}\n          handleRemoveFile={unsetFiles}\n          allowedFileSize={5 * 1024 * 1024}\n          fileSizeError={translate('form.fileSizeError')}\n          filesSize={0}\n          setFilesSize={() => {}}\n          generalTranslate={sharedTranslate}\n          isMandatory={false}\n          isMultiple={true}\n        />\n      </>\n    );\n  }\n);\n\nexport default Form;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport Form from './Form';\nimport type RsvDataChangeFormViewModel from './RsvDataChangeFormViewModel';\n\nconst RsvDataChangeFormView: View<RsvDataChangeFormViewModel> = observer(({ vm }) => {\n  const { navToIntro, navToSummary, translate, vehicleTranslate, sharedTranslate, rsvDataChangeFormModel } =\n    vm;\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <div className=\"licence-plate-loss-form\">\n            <h1 data-testid=\"title\">{translate('title')}</h1>\n\n            {/* STEPS */}\n            <Steps\n              steps={[\n                {\n                  stepNumber: 1,\n                  title: 'request-form',\n                },\n                {\n                  stepNumber: 2,\n                  title: 'request-summary',\n                },\n              ]}\n              activeStep={1}\n              translate={translate}\n            />\n\n            <h3 className=\"mb-4\" data-testid=\"subject\">\n              {translate('form.applicationSubject')}\n            </h3>\n            <VehicleDetail\n              key={vm.applicationService.vehicle?.information.mainInformation.id?.toString()}\n              vehicle={vm.applicationService.selectedVehicle}\n              translate={vehicleTranslate}\n            />\n            <div className=\"mt-3\">\n              <Form\n                translate={translate}\n                sharedTranslate={sharedTranslate}\n                model={rsvDataChangeFormModel}\n                setFiles={vm.applicationService.setAttachmentFiles}\n                unsetFiles={vm.applicationService.unsetAttachmentFiles}\n                contactInfoModel={vm?.contactInfoViewModel}\n                authorityInfoModel={vm?.applicationService.authorityInfoViewModel}\n              />\n            </div>\n          </div>\n        </Envelope>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button testId=\"back-button\" outlined onClick={navToIntro} text={sharedTranslate('back')} />\n          <Button testId=\"continue-button\" onClick={navToSummary} text={sharedTranslate('continue')} />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default RsvDataChangeFormView;\n","import RsvDataChangeFormViewModel from './RsvDataChangeFormViewModel';\nimport { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\n\nconst RsvDataChangeFormViewLoading: View<RsvDataChangeFormViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default RsvDataChangeFormViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport RsvDataChangeFormView from './RsvDataChangeFormView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport IntroDecommissioningViewModel from '../00_intro/IntroRsvDataChangeViewModel';\nimport SummaryRsvDataChangeViewModel from '../02_summary/SummaryRsvDataChangeViewModel';\nimport ApplicationService from '../ApplicationService';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport { RsvDataChangeFormModelValidators } from '../models/RsvDataChangeFormModel';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport RsvDataChangeFormViewLoading from './RsvDataChangeFormViewLoading';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@Service()\n@AddDefaultView(RsvDataChangeFormView)\n@AddBusyView(RsvDataChangeFormViewLoading)\nexport default class RsvDataChangeFormViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n\n  get validation() {\n    return this.applicationService.validation;\n  }\n\n  get pathNode(): string {\n    return 'form';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get rsvDataChangeFormModel() {\n    return this.applicationService.formModel;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @action.bound\n  navToSummary() {\n    if (\n      this.validation.validateObject(this.rsvDataChangeFormModel) &&\n      this.authorityInfoViewModel.changedFromDefault &&\n      this.applicationService.contactInfoViewModel.isValid\n    ) {\n      this.navigator(SummaryRsvDataChangeViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    } else if (!this.authorityInfoViewModel.changedFromDefault) {\n      this.authorityInfoViewModel.validToProceed = false;\n    }\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(IntroDecommissioningViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @Watch<RsvDataChangeFormViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    this.validation.attachDescriptor(this.rsvDataChangeFormModel, RsvDataChangeFormModelValidators);\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = false;\n    this.applicationService.authorityInfoViewModel.headerHint = this.translate('form.authorityHint');\n  }\n\n  translate = translate('vehicle-register.applications.rsv-data-change', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type SummaryRsvDataChangeViewModel from './SummaryRsvDataChangeViewModel';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport Modal from '../../../../../components/shared/Modal';\nimport InfoPanel from '../../../../../components/shared/InfoPanel/InfoPanel';\nimport Steps from '../../../components/Steps/Steps';\nimport VehicleDetail from '../../../components/VehicleDetail/VehicleDetail';\nimport OwnerOrOperator from '../../../components/OwnerOrOperator';\nimport AuthorityInfoView from '../../../components/AuthorityInfo/AuthorityInfoView';\nimport { Typography } from '../../../../../components/shared/Typography/Typography';\nimport AttachmentsSummary from '../../../components/AttachmentsSummary';\nimport SummaryWarning from '../../../components/SummaryWarning/SummaryWarning';\nimport RepresentativeContactSummary from 'src/app/components/ContactInfo/RepresentativeContactSummary';\n\nconst SummaryRsvDataChangeView: View<SummaryRsvDataChangeViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    vehicleTranslate,\n    formModel,\n    confirmationModalVisible,\n    contactInfoModel,\n    navBack,\n    sendDataError,\n    toggleConfirmationModal,\n    toggleErrorModal,\n    confirmBusyWatcher,\n    sharedTranslate,\n    confirmRequest,\n    fileList,\n  } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        {confirmationModalVisible && (\n          <Modal\n            headLine={translate('confirmation-title')}\n            closeFce={toggleConfirmationModal}\n            className=\"test-modal-SummaryRsvDataChangeConfirmation\"\n          >\n            <InfoPanel message={translate('confirmation.warning')} type=\"warning\" />\n            <div>\n              <p className=\"u-color--grey-dark my-4\" data-testid=\"form-id\">\n                {translate('confirmation.formId')}\n              </p>\n              <p className=\"u-color--grey-dark my-0\" data-testid=\"auth-place\">\n                {translate('confirmation.authPlace')}\n              </p>\n              <p className=\"fw-bold u-color--grey-dark mt-0 mb-4\" data-testid=\"authority-text\">\n                {vm.applicationService.authorityInfoViewModel.authorityText}\n              </p>\n            </div>\n\n            <div className=\"d-flex justify-content-end mt-5\">\n              <Button\n                testId=\"back-button-2\"\n                rightMargin\n                outlined\n                onClick={toggleConfirmationModal}\n                text={sharedTranslate('back')}\n              />\n              <Button\n                testId=\"confirm-button-2\"\n                onClick={confirmRequest}\n                text={sharedTranslate('confirm')}\n                isBusy={confirmBusyWatcher.isBusy}\n              />\n            </div>\n          </Modal>\n        )}\n        {sendDataError && (\n          <Modal\n            headLine={translate('confirmation-title')}\n            closeFce={toggleErrorModal}\n            className=\"test-modal-SummaryRsvDataChangeError\"\n          >\n            <InfoPanel message={vm.dataErrorMessage} type=\"error\" />\n          </Modal>\n        )}\n        <Envelope>\n          <h1>{translate('title')}</h1>\n\n          {/* STEPS */}\n          <Steps\n            steps={[\n              {\n                stepNumber: 1,\n                title: 'request-form',\n              },\n              {\n                stepNumber: 2,\n                title: 'request-summary',\n              },\n            ]}\n            activeStep={2}\n            translate={translate}\n          />\n\n          {/* CAR INFO */}\n          <Typography component=\"h3\" variant=\"h4\" className=\"bold mt-4 mb-2\">\n            {translate('form.applicationSubject')}\n          </Typography>\n          <VehicleDetail\n            key={vm.applicationService.vehicle?.information.mainInformation.id?.toString()}\n            vehicle={vm.applicationService.selectedVehicle}\n            translate={vehicleTranslate}\n          />\n\n          {/* REQUEST REASON */}\n          <Typography component=\"h3\" variant=\"h4\" className=\"bold mt-4 mb-2\">\n            {translate('summary.changeSubject')}\n          </Typography>\n          <Typography\n            component=\"p\"\n            className=\"text-uppercase u-color--grey-dark text-break whitespace-pre-wrap\"\n          >\n            {formModel.requestedChange}\n          </Typography>\n\n          {/* OWNER INFO */}\n          <OwnerOrOperator\n            isLoggedUserOwner={vm.applicationService.isLoggedUserOwner}\n            data={vm.applicationService.ownerInfo}\n            translate={translate}\n            {...(contactInfoModel.isCurrentUserOriginUser && {\n              email: contactInfoModel.email,\n              phone: contactInfoModel.formattedPhone,\n            })}\n          />\n\n          <RepresentativeContactSummary contactInfoViewModel={contactInfoModel} />\n\n          {/* OPERATOR INFO */}\n          {vm.applicationService.vehicle?.isOperator && (\n            <OwnerOrOperator\n              isLoggedUserOwner={vm.applicationService.isLoggedUserOwner}\n              data={vm.applicationService.operatorInfo}\n              translate={translate}\n              email={contactInfoModel.email}\n              phone={contactInfoModel.phone}\n            />\n          )}\n\n          {/* Documents */}\n          <AttachmentsSummary\n            title={translate('summary.attachments')}\n            fileList={fileList}\n            noFilesText={translate('summary.noFiles')}\n            className=\"mt-4\"\n          />\n\n          {/* REQUEST FINISH LOCATION */}\n          <AuthorityInfoView vm={vm.applicationService.authorityInfoViewModel} />\n          {/* <h3 className=\"fw-bold u-color--grey-dark mb-4\">{translate('summary.targetAuthorityId')}</h3>\n            <p className=\"fw-bold u-color--grey-mid\">{vm.applicationService.authorityInfo}</p> */}\n\n          <SummaryWarning\n            personType={vm.applicationService.vehicleServicePersonType}\n            translate={sharedTranslate}\n          />\n        </Envelope>\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-4\">\n          <Button testId=\"back-button\" outlined onClick={navBack} text={translate('back')} />\n          <Button\n            testId=\"handover-application-button\"\n            onClick={toggleConfirmationModal}\n            text={translate('handoverApplication')}\n          />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default SummaryRsvDataChangeView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport SummaryRsvDataChangeViewModel from './SummaryRsvDataChangeViewModel';\n\nconst SummaryRsvDataChangeViewLoading: View<SummaryRsvDataChangeViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container>\n      <h1>{translate('title')}</h1>\n\n      <LoaderBox type=\"box-long\" />\n    </Container>\n  );\n});\n\nexport default SummaryRsvDataChangeViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport SummaryRsvDataChangeView from './SummaryRsvDataChangeView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport SummaryRsvDataChangeViewConfirmedViewModel from '../03_confirmation/RsvDataChangeViewConfirmedViewModel';\nimport ContactInfoViewModel from '../../../../components/ContactInfo/ContactInfoViewModel';\nimport ApplicationService from '../ApplicationService';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport SummaryRsvDataChangeViewLoading from './SummaryRsvDataChangeViewLoading';\nimport RsvDataChangeFormViewModel from '../01_form/RsvDataChangeFormViewModel';\nimport RsvDataChangeViewConfirmedViewModel from '../03_confirmation/RsvDataChangeViewConfirmedViewModel';\nimport { isRsvRequestFinished } from '../../RsvRequestUtils';\nimport IntroRsvDataChangeViewModel from '../00_intro/IntroRsvDataChangeViewModel';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\nimport ErrorService from 'src/services/ErrorService';\n\n@Service()\n@AddDefaultView(SummaryRsvDataChangeView)\n@AddBusyView(SummaryRsvDataChangeViewLoading)\nexport default class SummaryRsvDataChangeViewModel extends RsvBaseScreen {\n  busyWatcher = new BusyWatcher();\n  confirmBusyWatcher = new BusyWatcher();\n  @observable registryError = false;\n  @observable confirmationModalVisible = false;\n\n  get pathNode(): string {\n    return 'summary';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  @computed\n  get fileList() {\n    const files: Array<{ file: File; typeName: string }> = [];\n\n    this.formModel.attachmentFiles.map((attach) => {\n      files.push({\n        typeName: this.translate('summary.documentTitle'),\n        file: attach.file,\n      });\n    });\n\n    return files;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService,\n    @Inject() public contactInfoModel: ContactInfoViewModel,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  @Watch<SummaryRsvDataChangeViewModel>((s) => s.busyWatcher)\n  async activate() {\n    await this.applicationService.init();\n\n    if (this.applicationService.vehicle && isRsvRequestFinished(this.applicationService.status)) {\n      this.navToIntro();\n    }\n\n    if (this.applicationService.authorityInfoViewModel.selectedAuthorityId === 0 && this.applicationService.vehicle) {\n      this.navigator(RsvDataChangeFormViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.summaryHeaderClassName = 'bold h4 mb-2';\n    this.applicationService.authorityInfoViewModel.summaryHeaderText = this.translate('summary.targetAuthorityId');\n  }\n\n  @Watch<SummaryRsvDataChangeViewModel>((s) => s.confirmBusyWatcher)\n  @action.bound\n  async confirmRequest() {\n    try {\n      await this.applicationService.confirmRequest();\n\n      this.navigator(RsvDataChangeViewConfirmedViewModel, {\n        vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n      }).go();\n    } catch (err: any) {\n      this.errorService.logCatchError(err, 'RsvDataChange SummaryRsvDataChangeViewModel', 'confirmRequest');\n      this.handleError(err);\n    }\n    this.confirmationModalVisible = false;\n  }\n\n  @action.bound\n  toggleConfirmationModal() {\n    this.confirmationModalVisible = !this.confirmationModalVisible;\n  }\n\n  @action.bound\n  navToConfirmation() {\n    this.navigator(SummaryRsvDataChangeViewConfirmedViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator(RsvDataChangeFormViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  @action.bound\n  navToIntro() {\n    this.navigator(IntroRsvDataChangeViewModel, {\n      vehicleID: this.applicationService.vehicle!.information.mainInformation.id!.toString(),\n    }).go();\n  }\n\n  translate = translate('vehicle-register.applications.rsv-data-change', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  vehicleTranslate = translate('vehicle-register.applications', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Container from '../../../../../components/layout/Container';\nimport Envelope from '../../../../../components/layout/Envelope';\nimport Button from '../../../../../components/shared/Button/Button';\nimport InfoBox from '../../../../../components/shared/InfoBox/InfoBox';\nimport type RsvDataChangeViewConfirmedViewModel from './RsvDataChangeViewConfirmedViewModel';\nimport './RsvDataChangeViewConfirmedView.scss';\nimport SuccessMessage from '../../../../../components/form/SuccessMessage';\nimport ConfirmationCode from '../../../components/Confirmation/ConfirmationCode';\n\nconst RsvDataChangeViewConfirmedView: View<RsvDataChangeViewConfirmedViewModel> = observer(({ vm }) => {\n  const { translate, downloadRequestPdf, pdfDownloadBusyWatcher } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Envelope>\n          <SuccessMessage\n            text={\n              <>\n                <span className=\"ml-0 font-normal\">{translate('confirmation.sent-successfully')}</span>\n                <span className=\"ml-0\">{` - ${vm.applicationService.authorityInfoViewModel.authorityTextWithComma}`}</span>\n              </>\n            }\n          />\n\n          <ConfirmationCode translate={vm.sharedTranslate} requestCode={vm.applicationService.requestCode} />\n\n          <InfoBox className=\"summary\">\n            <div>\n              <p data-testid=\"additional-docs-title\">{translate('additionalDocs.title')}</p>\n              <ul className=\"confirmation-summary-ul\">\n                <li data-testid=\"additional-docs-item-1\">{translate('additionalDocs.listItem1')}</li>\n                <li data-testid=\"additional-docs-item-2\">{translate('additionalDocs.listItem2')}</li>\n              </ul>\n\n              <p data-testid=\"payment-text\">\n                {translate('additionalDocs.paymentText')}&nbsp;\n                <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n                  {vm.translateTariffCharges('tariff-charges')}\n                </a>\n                .\n              </p>\n            </div>\n          </InfoBox>\n\n          {/* ACTION BUTTONS */}\n          <div className=\"buttons-wrapper\">\n            <Button\n              testId=\"download-pdf-button\"\n              outlined\n              onClick={downloadRequestPdf}\n              text={translate('downloadPdf')}\n              isBusy={pdfDownloadBusyWatcher.isBusy}\n            />\n          </div>\n        </Envelope>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default RsvDataChangeViewConfirmedView;\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport LoaderBox from '../../../../../components/layout/LoaderBox';\nimport RsvDataChangeViewConfirmedViewModel from './RsvDataChangeViewConfirmedViewModel';\n\nconst RsvDataChangeViewConfirmedViewLoading: View<RsvDataChangeViewConfirmedViewModel> = observer(\n  ({ vm }) => {\n    const { translate } = vm;\n    return (\n      <Container>\n        <h1>{translate('title')}</h1>\n\n        <LoaderBox type=\"box-long\" />\n      </Container>\n    );\n  }\n);\n\nexport default RsvDataChangeViewConfirmedViewLoading;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport RsvDataChangeViewConfirmedView from './RsvDataChangeViewConfirmedView';\n\nimport ApplicationService from '../ApplicationService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport RsvDataChangeViewConfirmedViewLoading from './RsvDataChangeViewConfirmedViewLoading';\nimport RsvDataChangeFormViewModel from '../01_form/RsvDataChangeFormViewModel';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from '../../../../../data/egon/api';\nimport RsvBaseScreen from '../../Shared/screens/RsvBaseScreen';\n\n@AddDefaultView(RsvDataChangeViewConfirmedView)\n@AddBusyView(RsvDataChangeViewConfirmedViewLoading)\n@Service()\nexport default class RsvDataChangeViewConfirmedViewModel extends RsvBaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable pdfDownloadBusyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'confirmation';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  get formModel() {\n    return this.applicationService.formModel;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public applicationService: ApplicationService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  notifyNavigation() {\n    this.applicationService.authorityInfoViewModel.disabled = true;\n    this.applicationService.authorityInfoViewModel.loadAuthorities();\n  }\n\n  @Watch<RsvDataChangeViewConfirmedViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async activate() {\n    await this.applicationService.init();\n\n    if (\n      this.applicationService.vehicle &&\n      this.applicationService.status &&\n      this.applicationService.status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED\n    ) {\n      this.navigator(RsvDataChangeFormViewModel, {\n        vehicleID: this.applicationService.vehicle.information.mainInformation.id!.toString(),\n      }).go();\n    }\n\n    if (typeof this.applicationService.requestId === 'undefined' && this.applicationService.vehicle) {\n      this.navigator(RsvDataChangeFormViewModel, {\n        vehicleID: this.applicationService.vehicle.information.mainInformation.id!.toString(),\n      }).go();\n    }\n  }\n\n  @Watch<RsvDataChangeViewConfirmedViewModel>((s) => s.pdfDownloadBusyWatcher)\n  @action.bound\n  async downloadRequestPdf() {\n    await this.applicationService.downloadPdf();\n  }\n\n  translate = translate('vehicle-register.applications.rsv-data-change', this);\n  translateTariffCharges = translate('tariff-charges', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, override, runInAction } from 'mobx';\nimport RsvDataChangeFormModel from './models/RsvDataChangeFormModel';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport {\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  EgonServiceBus_WebApi_Requests_V1_Forms_CreateDataChangeRequest,\n} from '../../../../data/egon/api';\nimport ApiService from '../../../../services/ApiService';\nimport PdfUtils from '../../../../utils/PdfUtils';\nimport AuthorityInfoViewModel from '../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport VehicleAttachmentService from '../../../../services/vehicle/VehicleAttachmentService';\nimport RsvApplicationService from '../Shared/services/RsvApplicationService';\nimport RsvRequestsService from '../Shared/services/RsvRequestsService';\nimport MandatesService from 'src/services/MandatesService';\nimport { UserService } from 'src/services/UserService';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\n\n@Service()\nexport default class ApplicationService extends RsvApplicationService {\n  @observable formModel = new RsvDataChangeFormModel();\n\n  @computed\n  get vehicleServicePersonType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  @computed\n  get isLoggedUserOwner() {\n    if (this.vehicleRegisterService.isUserOwner) {\n      return true;\n    } else {\n      return false;\n    }\n  }\n\n  constructor(\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() private apiService: ApiService,\n    @Inject() public authorityInfoViewModel: AuthorityInfoViewModel,\n    @Inject() private attachmentService: VehicleAttachmentService,\n    @Inject() protected rsvRequestsService: RsvRequestsService,\n    @Inject() protected mandatesService: MandatesService,\n    @Inject() protected userService: UserService,\n    @Inject() public contactInfoViewModel: ContactInfoViewModel\n  ) {\n    super(Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_CHANGE_RECORDS);\n    makeObservable(this);\n  }\n\n  @override\n  reset() {\n    super.reset();\n    this.formModel = new RsvDataChangeFormModel();\n  }\n\n  @action.bound\n  setAttachmentFiles(file: File | FileList, description: string, isMultiple?: boolean) {\n    const newFiles: { file: File; description: string }[] = [];\n\n    if (file instanceof File) {\n      newFiles.push({ file, description });\n    } else if (file instanceof FileList) {\n      for (let i = 0; i < file.length; i++) {\n        newFiles.push({ file: file[i], description });\n      }\n    }\n\n    this.formModel.attachmentFiles = [...this.formModel.attachmentFiles, ...newFiles];\n  }\n\n  @action.bound\n  unsetAttachmentFiles(fileName: string) {\n    this.formModel.attachmentFiles = this.formModel.attachmentFiles.filter(\n      (attach) => attach.file.name !== fileName\n    );\n  }\n\n  async getRequest() {\n    if (typeof this.requestId === 'undefined') {\n      return;\n    }\n\n    const response = await this.apiService.egonApi.dataChange.getPdApiEgonV1RsvRequestsDataChangeRequests(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n      this.status = response.status;\n      this.requestCode = response.requestCode;\n\n      this.formModel.requestedChange = response.requestedData;\n\n      if (response.attachments.length > 0) {\n        const pdfAttach = response.attachments.find((attach) => attach.type === 'Request');\n\n        if (pdfAttach) {\n          this.pdfId = pdfAttach.id;\n        }\n      }\n\n      if (response.targetAuthorityId !== response.workPlaceId) {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${response.workPlaceId}`;\n      } else {\n        this.authorityInfoViewModel.selectedItem = `${response.targetAuthorityId}-${null}`;\n      }\n    });\n  }\n\n  async postRequest() {\n    if (!this.vehicle) {\n      console.error('No vehicleId selected when POST request sent');\n      return;\n    }\n\n    const requestBody: EgonServiceBus_WebApi_Requests_V1_Forms_CreateDataChangeRequest = {\n      vehicleId: this.vehicle.information.mainInformation.id ?? 0,\n      targetAuthorityId: this.authorityInfoViewModel.selectedAuthorityId,\n      workPlaceId:\n        this.authorityInfoViewModel.selectedWorkplaceId ?? this.authorityInfoViewModel.selectedAuthorityId,\n      requestedChange: this.formModel.requestedChange,\n      contacts: this.contactInfoViewModel.representativeContacts,\n    };\n\n    const response =\n      await this.apiService.egonApi.dataChange.postPdApiEgonV1RsvRequestsDataChangeRequests(requestBody);\n\n    runInAction(() => {\n      this.requestId = response.requestId;\n    });\n  }\n\n  async sendAttachmentFiles() {\n    if (typeof this.requestId === 'undefined') {\n      console.error('No requestId when send-file request sent');\n      return;\n    }\n\n    if (this.formModel.attachmentFiles.length === 0) {\n      console.error('No attachement file sent');\n      return;\n    }\n\n    await this.attachmentService.sendAttachment(\n      this.formModel.attachmentFiles,\n      this.requestId!,\n      Domain_Contracts_Enums_Rsv_AttachmentType.DOCUMENT_CERTIFYING_RECORDED_DATA\n    );\n  }\n\n  async handoverRequest() {\n    if (typeof this.requestId === 'undefined') {\n      console.error('No requestId when handover called');\n      return;\n    }\n\n    const { code } = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n      this.requestId\n    );\n\n    runInAction(() => {\n      this.requestCode = code;\n    });\n  }\n\n  async confirmRequest() {\n    if (typeof this.requestId === 'undefined') {\n      await this.postRequest();\n    }\n\n    if (this.formModel.attachmentFiles.length > 0) await this.sendAttachmentFiles();\n\n    await this.handoverRequest();\n\n    await this.getRequest();\n\n    this.rsvRequestsService.reset();\n  }\n\n  async downloadPdf() {\n    if (typeof this.pdfId === 'undefined' || typeof this.requestId === 'undefined') {\n      console.error('No requestId or pdfId found when pdf download requested');\n      return;\n    }\n\n    const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsAttachments(\n      this.pdfId,\n      this.requestId.toString()\n    );\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n}\n","import { makeObservable, observable } from 'mobx';\nimport type { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport type { Validators } from '../../../../../data/validators/registry';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('rsv-data-change.form')\nexport default class RsvDataChangeFormModel {\n  @observable requestedChange = '';\n  @observable attachmentFiles: { file: File; description: string }[] = [];\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n\nexport const RsvDataChangeFormModelValidators: ValidationDescriptor<RsvDataChangeFormModel, Validators> = {\n  requestedChange: {\n    required: {\n      message: 'requestedChange.required',\n    },\n  },\n};\n","import {\n  EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  Domain_Contracts_Enums_Rsv_RequestStatus,\n} from '../../../data/egon/api';\n\nexport function getRsvRequestByType(\n  requests: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse[],\n  type: Domain_Contracts_Enums_Rsv_RsvFormType,\n  vin?: string\n) {\n  return requests.find((req) => {\n    return (\n      req.vin === vin &&\n      req.formId === type &&\n      req.status !== Domain_Contracts_Enums_Rsv_RequestStatus.COMPLETED &&\n      req.status !== Domain_Contracts_Enums_Rsv_RequestStatus.DECLINED &&\n      req.status !== Domain_Contracts_Enums_Rsv_RequestStatus.CLOSED\n    );\n  });\n}\n\nexport function isRsvRequestFinished(status?: Domain_Contracts_Enums_Rsv_RequestStatus) {\n  return (\n    status &&\n    (status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED ||\n      status === Domain_Contracts_Enums_Rsv_RequestStatus.LOCKED ||\n      status === Domain_Contracts_Enums_Rsv_RequestStatus.HANDOVERED ||\n      status === Domain_Contracts_Enums_Rsv_RequestStatus.SOLVING ||\n      status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR)\n  );\n}\n\nexport function isBuyerRsvRequestFinished(status?: Domain_Contracts_Enums_Rsv_RequestStatus) {\n  return (\n    status &&\n    (status === Domain_Contracts_Enums_Rsv_RequestStatus.LOCKED ||\n      status === Domain_Contracts_Enums_Rsv_RequestStatus.SOLVING)\n  );\n}\n\n/** Only a handed over application (2), or one waiting for the operator (21), can be completed by the buyer. */\nexport function isBuyerRsvRequestCompletable(status?: Domain_Contracts_Enums_Rsv_RequestStatus) {\n  return (\n    status === Domain_Contracts_Enums_Rsv_RequestStatus.HANDOVERED ||\n    status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR\n  );\n}\n\nexport function isBuyerRsvRequestConfirmed(status?: Domain_Contracts_Enums_Rsv_RequestStatus) {\n  return (\n    status &&\n    (status === Domain_Contracts_Enums_Rsv_RequestStatus.LOCKED ||\n      status === Domain_Contracts_Enums_Rsv_RequestStatus.SOLVING ||\n      status === Domain_Contracts_Enums_Rsv_RequestStatus.CONFIRM_OPERATOR)\n  );\n}\n","import { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './RsvSummaryTable.scss';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype RsvSummaryTableProps = {\n  heading?: string;\n  data: { label: ReactNode; value: ReactNode }[];\n  className?: string;\n};\n\nconst RsvSummaryTable = observer(({ heading, data, className }: RsvSummaryTableProps) => {\n  return (\n    <div className={getClassName('rsv-summary-table', className)}>\n      {heading && (\n        <Typography\n          component=\"h4\"\n          variant=\"h4\"\n          className=\"bold table-title mb-2\"\n          data-testid=\"summary-table-heading\"\n        >\n          {heading}\n        </Typography>\n      )}\n\n      {data.map(({ label, value }) => {\n        return (\n          <div className=\"table-row\" key={`${label?.toString()}-${value?.toString()}`}>\n            <span data-testid=\"summary-table-label\">{label}</span>\n            {': '}\n            <span className=\"bold\" data-testid=\"summary-table-value\">\n              {value}\n            </span>\n          </div>\n        );\n      })}\n    </div>\n  );\n});\n\nexport default RsvSummaryTable;\n","import BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport { action, observable, runInAction } from 'mobx';\nimport { ApiError } from 'src/data/egon/api';\n\ninterface TranslationDictionary {\n  [key: string]: string;\n}\n\nexport default abstract class RsvBaseScreen extends BaseScreen {\n  @observable sendDataError = false;\n  @observable dataErrorMessage = '';\n  private errorsDictionary: TranslationDictionary = {\n    RSV_NOT_AUTHORIZED: 'Nemáte oprávnění pro přístup k údajům.',\n    RSV_DUPLICATE_REQUEST: 'Žádost je již evidována, zkontrolujte uložené žádosti.',\n    RSV_NOT_IMPLEMENTED: 'Požadovaná služba není zatím k dispozici.',\n    RSV_NOT_AVAILABLE: 'Údaje nejsou aktuálně k dispozici, zkuste to později.',\n    RSV_NOT_FOUND: 'Údaje se nepodařilo nalézt v evidenci.',\n    RSV_PROCESSING_IN_PROGRESS: 'Probíhá zpracování dat, zkuste to později.',\n    RSV_INVALID_DATA: 'V datech se vyskytla chyba, zkuste to později.',\n    RSV_INVALID_REQUEST: 'V žádosti se vyskytla chyba, zkuste to později.',\n    RSV_APPLICATION_ERROR: 'V registru vozidel došlo k technické chybě, zkuste to později.',\n    RSV_REQUEST_IS_ALREADY_LOCKED: 'Žádost nelze měnit, byla již podána.',\n    RSV_REQUEST_CANNOT_BE_CHANGED: 'Žádost nelze měnit, byla již předána v procesu další osobě.',\n    RSV_SUBJECT_NOT_FOUND: 'Osoba (vlastník nebo provozovatel) nebyla nalezena v evidenci.',\n    RSV_MULTIPLE_SUBJECTS_FOUND: 'Osobu (vlastníka nebo provozovatele) se nepodařilo ověřit.',\n  };\n\n  constructor() {\n    super();\n  }\n\n  translateErrorMessage(input: string): string {\n    if (this.errorsDictionary[input]) {\n      return this.errorsDictionary[input];\n    }\n\n    return 'Momentálně nelze vaši žádost odeslat. Zkuste to později.';\n  }\n\n  deactivate() {\n    this.sendDataError = false;\n    this.dataErrorMessage = '';\n  }\n\n  @action.bound\n  toggleErrorModal() {\n    runInAction(() => (this.sendDataError = !this.sendDataError));\n  }\n\n  @action.bound\n  handleError(e: ApiError, continueApplicationAfterError?: boolean, messageErrorText?: string) {\n    if (e.status === 403) {\n      throw e;\n    }\n    runInAction(() => {\n      this.sendDataError = true;\n      this.dataErrorMessage = this.translateErrorMessage(e.body?.type);\n    });\n  }\n}\n","import { action, computed, makeObservable, observable, runInAction, when } from 'mobx';\nimport VehicleRegisterService from 'src/services/vehicle/VehicleRegisterService';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AuthorityInfoViewModel from '../../../components/AuthorityInfo/AuthorityInfoViewModel';\nimport MandatesService from 'src/services/MandatesService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport { UserService } from 'src/services/UserService';\nimport {\n  Domain_Contracts_Enums_Rsv_RequestStatus,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n} from 'src/data/egon/api';\nimport { getRsvRequestByType } from '../../RsvRequestUtils';\nimport RsvRequestsService from './RsvRequestsService';\nimport ValidationContext from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport ContactInfoViewModel from 'src/app/components/ContactInfo/ContactInfoViewModel';\n\nexport default abstract class RsvApplicationService {\n  @observable protected initialized: boolean = false;\n  @observable requestId?: number = undefined;\n  @observable status?: Domain_Contracts_Enums_Rsv_RequestStatus = undefined;\n  @observable requestCode?: string = undefined;\n  @observable pdfId?: number = undefined;\n\n  validation = new ValidationContext();\n\n  protected type: Domain_Contracts_Enums_Rsv_RsvFormType;\n\n  protected initBusyWatcher = new BusyWatcher();\n\n  protected abstract vehicleRegisterService: VehicleRegisterService;\n  protected abstract rsvRequestsService: RsvRequestsService;\n  protected abstract mandatesService: MandatesService;\n  protected abstract userService: UserService;\n  protected abstract contactInfoViewModel: ContactInfoViewModel;\n  public abstract authorityInfoViewModel: AuthorityInfoViewModel;\n\n  @computed\n  get vehicleID() {\n    return this.vehicleRegisterService.vehicleID;\n  }\n\n  @computed\n  get vehicle() {\n    return this.vehicleRegisterService.vehicle;\n  }\n\n  @computed\n  get selectedVehicle() {\n    if (this.vehicleRegisterService.vehicle === undefined) return undefined;\n\n    return this.vehicleRegisterService.mapVehicleDetailToBasic(this.vehicleRegisterService.vehicle);\n  }\n\n  @computed\n  get personalInfo() {\n    return this.userService.personalInfo;\n  }\n\n  @computed\n  get entrepreneurInfo() {\n    return this.userService.entrepreneurInfo;\n  }\n\n  @computed\n  get ownerInfo() {\n    return this.vehicle?.entities.find((entityInfo) => entityInfo.type === 1);\n  }\n\n  @computed\n  get operatorInfo() {\n    return this.vehicle?.entities.find((entityInfo) => entityInfo.type === 2);\n  }\n\n  constructor(type: Domain_Contracts_Enums_Rsv_RsvFormType) {\n    this.type = type;\n    makeObservable(this);\n  }\n\n  @Watch<RsvApplicationService>((s) => s.initBusyWatcher)\n  async init() {\n    if (this.initialized === true) return;\n\n    if (this.initBusyWatcher.isBusy) return when(() => this.initialized === true);\n\n    await this.userService.initUserData();\n    this.rsvRequestsService.init();\n    this.contactInfoViewModel.init(this.validation);\n\n    await Promise.all([this.loadApplication(), this.waitForUserInfo()]);\n\n    runInAction(() => {\n      this.initialized = true;\n    });\n  }\n\n  @action.bound\n  reset() {\n    this.initialized = false;\n    this.requestId = undefined;\n    this.requestCode = undefined;\n    this.status = undefined;\n    this.pdfId = undefined;\n\n    this.authorityInfoViewModel.resetSelection();\n    this.contactInfoViewModel.reset();\n  }\n\n  protected async loadApplication() {\n    await Promise.all([this.waitForRsvRequests(), this.waitForVehicleInfo()]);\n    await this.getRequestSummary();\n    await this.getRequest();\n  }\n\n  /**\n   * Filter rsv requests and try to find request summary for this application.\n   */\n  protected async getRequestSummary() {\n    const requests = this.rsvRequestsService.requests ?? [];\n    const vin = this.selectedVehicle?.mainInformation?.vin || undefined;\n\n    const selectedRequest = getRsvRequestByType(requests, this.type, vin);\n\n    if (selectedRequest) {\n      runInAction(() => {\n        this.requestId = selectedRequest.requestId;\n        this.status = selectedRequest.status;\n      });\n    } else {\n      runInAction(() => {\n        this.requestId = undefined;\n        this.status = undefined;\n      });\n    }\n  }\n\n  /**\n   * If request summary was found, fetch request detail.\n   */\n  protected abstract getRequest(): Promise<void>;\n\n  /**\n   * Wait for rsv requests to load.\n   * Their init function is called separately elsewhere.\n   */\n  protected async waitForRsvRequests() {\n    await when(() => this.rsvRequestsService.requests !== undefined);\n  }\n\n  /**\n   * Wait for vehicle detail to load.\n   * Its init function is called separately elsewhere.\n   */\n  protected async waitForVehicleInfo() {\n    await when(() => this.vehicleRegisterService.vehicle !== undefined);\n  }\n\n  /**\n   * Wait for user info\n   * Init function is called elsewhere.\n   */\n  protected async waitForUserInfo() {\n    if (this.mandatesService.personType === MandatePersonType.FO) {\n      await when(() => this.userService.personalInfo !== undefined);\n    } else {\n      await when(() => this.userService.entrepreneurInfo !== undefined);\n    }\n  }\n}\n","import BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport { EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse } from 'src/data/egon/api';\nimport { Authorize } from 'src/decorators/Authorize';\nimport ApiService from 'src/services/ApiService';\nimport ErrorService from 'src/services/ErrorService';\nimport { Inject, Service } from 'typedi';\n\n@Service()\nexport default class RsvRequestsService {\n  @observable requests?: Array<EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse> = undefined;\n  busyWatcher = new BusyWatcher();\n\n  constructor(\n    @Inject() private apiService: ApiService,\n    @Inject() private errorService: ErrorService\n  ) {\n    makeObservable(this);\n  }\n\n  @Authorize((x) => x.RSV_SUBMITTED_APPLICATIONS)\n  @Watch<RsvRequestsService>((s) => s.busyWatcher)\n  async init() {\n    if (this.requests || this.busyWatcher.isBusy) return;\n\n    try {\n      const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequests();\n\n      runInAction(() => {\n        this.requests = response;\n      });\n    } catch (error) {\n      this.errorService.logCatchError(error, 'RsvRequestsService', 'LoadRsvRequests');\n      runInAction(() => {\n        this.requests = [];\n      });\n    }\n  }\n\n  @action.bound\n  reset() {\n    this.requests = undefined;\n  }\n}\n","import { GovIcon, LegacyTooltip } from '@cendis/cedr-components';\nimport useTranslate from '@cendis/cedr-framework/dist/hooks/useTranslate';\n\nconst ApplicationStatusHints = () => {\n  const translate = useTranslate('hints');\n\n  return (\n    <LegacyTooltip\n      tooltipContent={\n        <div className=\"text-start\">\n          <div className=\"d-block mb-1\">{translate('1')}</div>\n          <div className=\"d-block mb-1\">{translate('2')}</div>\n          <div className=\"d-block mb-1\">{translate('3')}</div>\n          <div className=\"d-block mb-1\">{translate('4')}</div>\n          <div className=\"d-block mb-1\">{translate('5')}</div>\n          <div className=\"d-block\">{translate('6')}</div>\n          <div className=\"d-block\">{translate('7')}</div>\n        </div>\n      }\n      position=\"bottom\"\n      size=\"s\"\n      testId=\"app-status-tooltip\"\n    >\n      <GovIcon name={'components/info-circle-fill'} size=\"m\" className=\"mx-1 mb-1 inline align-middle\" />\n    </LegacyTooltip>\n  );\n};\n\nexport default ApplicationStatusHints;\n","import React, { useEffect } from 'react';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './ApplicationCardListItem.scss';\nimport dateUtils from '../../../../utils/DateUtils';\nimport ApplicationStatusHints from './ApplicationStatusHints';\nimport {\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n  type EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse,\n} from '../../../../data/egon/api';\n\ntype CardListItemProps = {\n  application: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse;\n  translate: Translator;\n  handleClick: (application: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse) => void;\n  handleScroll?: () => void;\n  selected: boolean | undefined;\n};\n\nconst CardListItem = ({ application, translate, handleClick, handleScroll, selected }: CardListItemProps) => {\n  const handleOnClick = () => {\n    handleClick(application);\n    if (handleScroll) {\n      handleScroll();\n    }\n  };\n  const handleHintClick = (event: React.MouseEvent) => {\n    event.stopPropagation();\n  };\n\n  return (\n    <div\n      onClick={handleOnClick}\n      className={`row application-card-list-item mb-2 ${selected ? 'application-selected-background' : ''} `}\n      key={application?.formId}\n      data-testid={`application-card-list-item-${application?.formId}`}\n    >\n      <div className=\"row item-row-div header-info mb-2\">\n        <div\n          className=\"item-col-div d-flex justify-content-start align-items-center col-6\"\n          data-testid=\"application-card-header\"\n        >\n          {dateUtils.dateFormatCz(application.submissionDate?.toString())}\n        </div>\n        <div\n          className=\"item-col-div d-flex justify-content-end align-items-center css-reset col-6 flex-row p-0\"\n        >\n          <span className=\"application-status\" data-testid=\"application-card-status\">\n            {application?.status ? translate(application?.status) : ''}\n          </span>\n          <div onClick={handleHintClick} className=\"tooltip\">\n            <ApplicationStatusHints />\n          </div>\n        </div>\n      </div>\n      <div className=\"row item-row-div mb-2\">\n        <div className=\"col item-col-div\">\n          <h3 className=\"mb-2\" data-testid=\"application-card-title\">\n            {application.formId !==\n            Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_DECOMMISSIONING_OR_DEMISE_OF_VEHICLE\n              ? translate(application.formId)\n              : translate(`${application.formId}.${application.changeType}`)}\n          </h3>\n        </div>\n      </div>\n      <div className=\"row item-row-div header-info\">\n        <div className=\"item-col-div col-5\" data-testid=\"application-card-spz\">\n          {application.vehicleRegistrationNumber && (\n            <>\n              <span>{translate('spz')}: </span>\n              {application &&\n                application.vehicleRegistrationNumber &&\n                application?.vehicleRegistrationNumber.slice(0, 3) +\n                  ' ' +\n                  application.vehicleRegistrationNumber.slice(3)}\n            </>\n          )}\n        </div>\n        <div className=\"item-col-div text-break col-7 text-end\" data-testid=\"application-card-vin\">\n          {application.vin && (\n            <>\n              <span>{translate('vin')}: </span>\n              {application.vin}\n            </>\n          )}\n        </div>\n      </div>\n      <div className=\"row item-row-div\">\n        <div className=\"col item-col-div border-top\" />\n      </div>\n    </div>\n  );\n};\nexport default CardListItem;\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationStatusHints from './ApplicationStatusHints';\nimport './ApplicationDetail.scss';\nimport {\n  Domain_Contracts_Enums_Rsv_RequestStatus,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n} from '../../../../data/egon/api';\nimport QR from '../../../../components/shared/QR/QR';\nimport DateUtils from '../../../../utils/DateUtils';\nimport Alert from '../../../../components/shared/Alert/Alert';\nimport ApplicationModel from '../models/ApplicationModel';\nimport Button from '../../../../components/shared/Button/Button';\nimport ClipboardCopy from '../../../../components/shared/ClipboardCopy/ClipboardCopy';\nimport { observer } from 'mobx-react-lite'; // nebo 'mobx-react'\n\ntype ApplicationDetailProps = {\n  application: ApplicationModel;\n  translate: Translator;\n  authorityInfo: string;\n  downloadPdf: () => void;\n  goToApplication: () => void;\n  downloadDigitalOperation: () => void;\n  downloadInstructionsPdf: () => void;\n  handoverRequest: () => void;\n  isPdfLoading: boolean;\n  isHandoverRequestLoading: boolean;\n  isDigitalOperationLoading: boolean;\n  isInstructionsLoading: boolean;\n  displayQRCode: boolean;\n  buyerLink: string;\n  isSeller: boolean;\n  newOwnerOperator: boolean | undefined;\n  isNewOperator: boolean;\n};\n\nconst ApplicationDetail = observer(\n  ({\n    application,\n    translate,\n    authorityInfo,\n    downloadPdf,\n    goToApplication,\n    downloadDigitalOperation,\n    downloadInstructionsPdf,\n    handoverRequest,\n    isPdfLoading,\n    isHandoverRequestLoading,\n    isDigitalOperationLoading,\n    isInstructionsLoading,\n    displayQRCode,\n    buyerLink,\n    isSeller,\n    newOwnerOperator,\n    isNewOperator,\n  }: ApplicationDetailProps) => {\n    return (\n      <div className=\"main-wrapper\">\n        {!application.pdfId && application?.status !== Domain_Contracts_Enums_Rsv_RequestStatus.LISTED && (\n          <Alert message={translate('pdfNotFound')} type=\"warning\" className=\"mb-4\" />\n        )}\n        <div className=\"row\">\n          <div className={`px-0 ${displayQRCode && isSeller ? 'col-md-8 col-12' : 'col-12'}`}>\n            <h3 className=\"mt-2 mb-2\" data-testid=\"application-title\">\n              {application.formId !==\n              Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_DECOMMISSIONING_OR_DEMISE_OF_VEHICLE\n                ? translate(application.formId)\n                : translate(`${application.formId}.${application.changeType}`)}\n            </h3>\n            <div>\n              <div className=\"u-color-grey-dark mt-3 mb-3\">\n                <span>{translate('submissionDate')}: </span>\n                <b className=\"u-color-grey-dark\" data-testid=\"submission-date\">\n                  {DateUtils.dateFormatCz(application.submissionDate)}\n                </b>\n              </div>\n\n              <div className=\"u-color-grey-dark css-reset mt-2 mb-2\">\n                <span>{translate('status')}: </span>\n                <span className=\"application-status\" data-testid=\"application-status\">\n                  {application?.status ? translate(application?.status) : ''}\n                </span>\n                <ApplicationStatusHints />\n              </div>\n              <div className=\"u-color-grey-dark mt-2 mb-2\">\n                <span>{translate('targetAuthorityId')}: </span>\n                <b className=\"u-color-grey-dark\" data-testid=\"target-authority-id\">\n                  {authorityInfo}\n                </b>\n              </div>\n              <div className=\"u-color-grey-dark mt-2 mb-2\">\n                <span>{translate('changeType')}: </span>\n                <b className=\"change-type u-color-grey-dark\" data-testid=\"change-type\">\n                  {Number.isInteger(application?.changeTypeId)\n                    ? translate(`changeTypeId.${application.changeTypeId}`)\n                    : ''}\n                </b>\n              </div>\n\n              <div className=\"request-code u-color-grey-dark mt-2\">\n                <span data-testid=\"request-code-label\">\n                  {displayQRCode && isSeller\n                    ? application?.status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED ||\n                      application?.status === Domain_Contracts_Enums_Rsv_RequestStatus.HANDOVERED\n                      ? translate('requestCode')\n                      : translate('requestCodeShort')\n                    : translate('requestCodeShort')}\n                  :{' '}\n                </span>\n                <b className=\"u-color-grey-dark\">\n                  <span className=\"font-consolas\" data-testid=\"request-code\">\n                    {application?.requestCode}\n                  </span>\n                  <ClipboardCopy\n                    text={application.requestCode!}\n                    title={translate('requestCodeCopy')}\n                    className=\"download-link\"\n                    iconSize=\"large\"\n                    iconColor=\"light\"\n                    textConfirmation={\n                      displayQRCode && isSeller\n                        ? isNewOperator === true\n                          ? translate('copyClipboardCodeOperator')\n                          : translate('copyClipboardCode')\n                        : translate('copyClipboardCodeBuyer')\n                    }\n                    showModalMessage={true}\n                  />\n                </b>\n              </div>\n            </div>\n          </div>\n\n          {displayQRCode && isSeller && (\n            <div\n              className={'col-md-4 mt-md-0 d-flex justify-content-center align-items-center col-12 mt-4 px-0'}\n            >\n              {/* TODO: update QR code functionality + download links */}\n              <div className=\"qr-cube\">\n                <div className=\"qr-header-wrap\">\n                  <h3 className=\"qr-header\" data-testid=\"qr-header\">\n                    {translate('qrLink')}\n                    <ClipboardCopy\n                      text={buyerLink}\n                      title={translate('buyerLinkCopy')}\n                      className=\"h1-link download-link ps-2\"\n                      iconSize=\"large\"\n                      tooltipPlacement=\"top\"\n                      iconColor=\"light\"\n                      textConfirmation={\n                        isNewOperator === true\n                          ? translate('copyClipboardLinkOperator')\n                          : translate('copyClipboardLink')\n                      }\n                      showModalMessage={true}\n                    />\n                    <br />({translate(newOwnerOperator ? 'qrLinkForNewOwner' : 'qrLinkForNewOperator')})\n                  </h3>\n                </div>\n\n                <QR message={buyerLink} />\n              </div>\n            </div>\n          )}\n\n          <div className=\"d-flex justify-content-start gap-xl-4 mt-4 flex-wrap gap-2\">\n            {application?.status !== Domain_Contracts_Enums_Rsv_RequestStatus.LISTED ? (\n              <>\n                {application.pdfId && (\n                  <Button\n                    testId=\"download-pdf-button\"\n                    isBusy={isPdfLoading}\n                    outlined\n                    text={translate('downloadPdfButton')}\n                    onClick={() => downloadPdf()}\n                  />\n                )}\n\n                <Button\n                  testId=\"download-digital-operation-button\"\n                  isBusy={isDigitalOperationLoading}\n                  outlined\n                  onClick={() => downloadDigitalOperation()}\n                  text={translate('downloadSubmissionConfirmation')}\n                />\n\n                {application?.status !== Domain_Contracts_Enums_Rsv_RequestStatus.COMPLETED &&\n                  displayQRCode &&\n                  isSeller && (\n                    <div className=\"col-md-4\">\n                      <Button\n                        testId=\"download-instructions-button\"\n                        isBusy={isInstructionsLoading}\n                        outlined\n                        onClick={() => downloadInstructionsPdf()}\n                        text={translate('downloadInstructions')}\n                      />\n                    </div>\n                  )}\n              </>\n            ) : (\n              <>\n                <Button\n                  testId=\"application-link-button\"\n                  isBusy={isHandoverRequestLoading}\n                  outlined\n                  text={translate('finish-handover')}\n                  onClick={() => handoverRequest()}\n                />\n              </>\n            )}\n          </div>\n        </div>\n      </div>\n    );\n  }\n);\nexport default ApplicationDetail;\n","import React, { useEffect } from 'react';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport type ApplicationListViewModel from './ApplicationListViewModel';\nimport CardList from '../../../components/shared/CardList/CardList';\nimport CardListItem from './components/ApplicationCardListItem';\nimport ApplicationDetail from './components/ApplicationDetail';\nimport { Domain_Contracts_Enums_Rsv_RsvFormType } from '../../../data/egon/api';\nimport './ApplicationListView.scss';\nimport LoaderBox from '../../../components/layout/LoaderBox';\nimport Button from '../../../components/shared/Button/Button';\nimport Alert from '../../../components/shared/Alert/Alert';\nimport useWindowSize from '@cendis/cedr-framework/dist/hooks/useWindowSize';\n\nconst ApplicationListView: View<ApplicationListViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    list,\n    selectedApplication,\n    setSelectedApplication,\n    busyWatcher,\n    selectAppBusyWatcher,\n    handoverRequest,\n    downloadPdf,\n    isSeller,\n  } = vm;\n\n  const scrollToTop = () => {\n    window.scrollTo(0, 0);\n  };\n  const winSize = 992;\n\n  const [windowWidth] = useWindowSize();\n\n  return (\n    <>\n      <div className=\"gov-container\">\n        <div className=\"gov-container__content container-wide\">\n          <h1>{translate('title')}</h1>\n\n          <div className={`display-only-on-small-screen ${!selectedApplication.requestId && 'hide'}`}>\n            <Button\n              testId=\"back-to-list-button\"\n              outlined\n              text={translate('backToList')}\n              onClick={() => vm.unselectApplication()}\n            />\n          </div>\n\n          {!busyWatcher.isBusy && list && list.length === 0 && (\n            <Alert className=\"empty-list-alert\" message={translate('emptyList')} type=\"warning\" />\n          )}\n\n          <div className=\"row mb-4\">\n            <div className=\"col-lg-5 left-column\">\n              {busyWatcher.isBusy ? (\n                <LoaderBox type={'box-long'} />\n              ) : (\n                <>\n                  {list &&\n                    list.length > 0 &&\n                    ((selectedApplication.requestId === undefined && windowWidth < winSize) ||\n                      windowWidth >= winSize) && (\n                      <CardList>\n                        {list.map((application) => (\n                          <CardListItem\n                            key={application.requestId}\n                            application={application}\n                            translate={translate}\n                            selected={application?.requestId === selectedApplication.requestId}\n                            handleScroll={scrollToTop}\n                            handleClick={async (e) => {\n                              if (application?.requestId === selectedApplication?.requestId) return;\n                              await setSelectedApplication(application);\n                            }}\n                          />\n                        ))}\n                      </CardList>\n                    )}\n                </>\n              )}\n            </div>\n            <div className=\"col-lg-7 right-column\">\n              {selectAppBusyWatcher.isBusy ? (\n                <div className=\"px-4\">\n                  <LoaderBox type={'box'} />\n                </div>\n              ) : (\n                selectedApplication.requestId && (\n                  <ApplicationDetail\n                    newOwnerOperator={!vm.newOwnerOperator}\n                    key={selectedApplication.requestId}\n                    authorityInfo={vm.authorityInfo}\n                    application={selectedApplication}\n                    translate={translate}\n                    downloadPdf={downloadPdf}\n                    goToApplication={vm.goToApplication}\n                    handoverRequest={handoverRequest}\n                    downloadDigitalOperation={vm.downloadDigitalOperation}\n                    isPdfLoading={vm.pdfDownloadBusyWatcher.isBusy}\n                    isHandoverRequestLoading={vm.handoverRequestBusyWatcher.isBusy}\n                    isDigitalOperationLoading={vm.digitalOperationBusyWatcher.isBusy}\n                    displayQRCode={\n                      selectedApplication.formId ===\n                      Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_REGISTRATION_OF_CHANGE_OWNER_OR_OPERATOR\n                    }\n                    isSeller={isSeller}\n                    buyerLink={vm.buyerFormLink}\n                    downloadInstructionsPdf={vm.downloadInstructionsPdf}\n                    isInstructionsLoading={vm.instructionsDownloadBusyWatcher.isBusy}\n                    isNewOperator={vm.isNewOperator ?? false}\n                  />\n                )\n              )}\n            </div>\n          </div>\n          <div className={`display-only-on-small-screen ${selectedApplication.requestId && 'hide'}`}>\n            <Button testId=\"back-button-small-screen\" outlined text={translate('back')} onClick={vm.goBack} />\n          </div>\n          <div className=\"display-only-on-large-screen\">\n            <Button testId=\"back-button-large-screen\" outlined text={translate('back')} onClick={vm.goBack} />\n          </div>\n        </div>\n      </div>\n    </>\n  );\n});\n\nexport default ApplicationListView;\n","import { makeObservable, observable } from 'mobx';\nimport {\n  Domain_Contracts_Enums_Rsv_RequestStatus,\n  Domain_Contracts_Enums_Rsv_RsvChangeType,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n} from '../../../../data/egon/api';\n\nexport type ApplicationData = {\n  requestId: number;\n  requestCode?: string;\n  formId: Domain_Contracts_Enums_Rsv_RsvFormType;\n  status: Domain_Contracts_Enums_Rsv_RequestStatus;\n  changeType: Domain_Contracts_Enums_Rsv_RsvChangeType;\n  changeTypeId: number;\n  submissionDate: string;\n  registrationNumber: string;\n  vin: string;\n  vehicleId?: number;\n  targetAuthorityId?: number;\n  workPlaceId?: number | null;\n  buyerPersonType: 'FO' | 'PO' | undefined;\n  pdfId: number | undefined;\n};\n\nexport default class ApplicationModel {\n  @observable requestId?: number;\n  @observable requestCode?: string;\n  @observable formId: Domain_Contracts_Enums_Rsv_RsvFormType =\n    Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_FIRST_VEHICLE_REGISTRATION;\n  @observable status?: Domain_Contracts_Enums_Rsv_RequestStatus;\n  @observable changeType?: Domain_Contracts_Enums_Rsv_RsvChangeType;\n  @observable changeTypeId?: number;\n  @observable submissionDate = '';\n\n  @observable registrationNumber = '';\n  @observable vin = '';\n  @observable vehicleId: number | undefined;\n\n  @observable targetAuthorityId?: number;\n  @observable workPlaceId?: number | null;\n\n  @observable buyerPersonType: 'FO' | 'PO' | undefined;\n  @observable pdfId: number | undefined;\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  public static mapData({\n    requestId,\n    requestCode,\n    formId,\n    status,\n    changeType,\n    changeTypeId,\n    submissionDate,\n    registrationNumber,\n    vin,\n    vehicleId,\n    targetAuthorityId,\n    workPlaceId,\n    buyerPersonType,\n    pdfId,\n  }: ApplicationData) {\n    const model = new ApplicationModel();\n\n    model.requestId = requestId;\n    model.requestCode = requestCode;\n    model.formId = formId;\n    model.status = status;\n    model.changeType = changeType;\n    model.changeTypeId = changeTypeId;\n    model.submissionDate = submissionDate;\n    model.registrationNumber = registrationNumber;\n    model.vin = vin;\n    model.vehicleId = vehicleId;\n    model.targetAuthorityId = targetAuthorityId;\n    model.workPlaceId = workPlaceId;\n    model.buyerPersonType = buyerPersonType;\n    model.pdfId = pdfId;\n\n    return model;\n  }\n}\n","import { makeObservable, computed, observable, runInAction, action } from 'mobx';\nimport { Service, Inject } from 'typedi';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport ApplicationListView from './ApplicationListView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport ApiService from '../../../services/ApiService';\nimport type {\n  EgonServiceBus_WebApi_Requests_V1_TargetAuthorityResponse,\n  EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse,\n  EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse,\n} from '../../../data/egon/api';\nimport {\n  Domain_Contracts_Enums_Rsv_AttachmentType,\n  Domain_Contracts_Enums_Rsv_RsvChangeType,\n  Domain_Contracts_Enums_Rsv_RsvFormType,\n} from '../../../data/egon/api';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport PdfUtils from '../../../utils/PdfUtils';\nimport NewSellerOwnerOrOperatorChangedViewModel from '../applicationsDigi/OwnerOrOperatorChangedView/seller/01_new/NewSellerOwnerOrOperatorChangedViewModel';\nimport ExportPlateRequestFormViewModel from '../applicationsDigi/ExportPlateRequest/01_form/ExportPlateRequestFormViewModel';\nimport RoadVehicleRegisterDigiFormViewModel from '../applicationsDigi/RoadVehicleRegisterView/00_form/RoadVehicleRegisterDigiFormViewModel';\nimport RsvDataChangeFormViewModel from '../applicationsDigi/RsvDataChangeView/01_form/RsvDataChangeFormViewModel';\nimport LicencePlateLossFormViewModel from '../applicationsDigi/LicencePlateLossView/01_form/LicencePlateLossFormViewModel';\nimport NewTechnicalCertificateFormViewModel from '../applicationsDigi/NewTechnicalCertificateView/01_form/NewTechnicalCertificateFormViewModel';\nimport ApplicationModel, { ApplicationData } from './models/ApplicationModel';\nimport VehicleViewModel from '../VehicleViewModel';\nimport MandatesService from '../../../services/MandatesService';\nimport { MandatePersonType } from '../../../enums/MandatePersonType';\nimport VehicleRegisterService from '../../../services/vehicle/VehicleRegisterService';\nimport { DecommissioningFormTypes } from '../applicationsDigi/DecommissioningView/DecommissioningViewModel';\nimport DecommissioningFormViewModel from '../applicationsDigi/DecommissioningView/01_form/DecommissioningFormViewModel';\nimport { parseQueryParams } from '@cendis/cedr-framework/dist/router/pathUtils';\nimport { rsvBuyerFormLink } from '../applicationsDigi/RsvBuyerFormLink';\nimport ErrorService from 'src/services/ErrorService';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from '../../../data/egon/api';\n\n@AddDefaultView(ApplicationListView)\n@AddChildrenView()\n@Service()\nexport default class ApplicationListViewModel extends BaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n  @observable selectAppBusyWatcher = new BusyWatcher();\n  @observable handoverRequestBusyWatcher = new BusyWatcher();\n  @observable pdfDownloadBusyWatcher = new BusyWatcher();\n  @observable digitalOperationBusyWatcher = new BusyWatcher();\n  @observable instructionsDownloadBusyWatcher = new BusyWatcher();\n\n  @observable list: Array<EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse> = [];\n  @observable authorities: Array<EgonServiceBus_WebApi_Requests_V1_TargetAuthorityResponse> = [];\n\n  @observable selectedApplication = new ApplicationModel();\n  @observable owner?: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSubjectResponse = undefined;\n  @observable newOwnerOperator: boolean | undefined = true;\n  @observable isNewOperator: boolean | undefined = false;\n\n  get pathNode(): string {\n    return 'list';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed\n  get isSeller() {\n    if (this.mandatesService.isFO(this.mandatesService.selectedMandate)) {\n      return (\n        this.mandatesService.selectedMandate.firstName.localeCompare(`${this.owner?.firstName}`, 'cs', {\n          sensitivity: 'base',\n        }) === 0 &&\n        this.mandatesService.selectedMandate.lastName.localeCompare(`${this.owner?.lastName}`, 'cs', {\n          sensitivity: 'base',\n        }) === 0\n      );\n    } else if (this.mandatesService.isPO(this.mandatesService.selectedMandate)) {\n      return (\n        Number(this.mandatesService.selectedMandate.identificationNumber) ===\n        Number(this.owner?.identificationNumber)\n      );\n    }\n\n    return false;\n  }\n\n  @computed\n  get submissionDate() {\n    const selectedReqSummary = this.list.find((req) => req.requestId === this.selectedApplication.requestId);\n    if (selectedReqSummary) {\n      return selectedReqSummary.submissionDate;\n    } else {\n      return '';\n    }\n  }\n\n  @computed\n  get authorityInfo() {\n    let auth = this.authorities.find(\n      (auth) =>\n        auth.id === this.selectedApplication.targetAuthorityId &&\n        (auth.workplaceId === this.selectedApplication.workPlaceId || auth.workplaceId === auth.id)\n    );\n\n    if (!auth) {\n      auth = this.authorities.find(\n        (auth) =>\n          auth.id === this.selectedApplication.targetAuthorityId &&\n          (auth.workplaceId === null || auth.workplaceId === auth.id)\n      );\n    }\n\n    if (!auth) {\n      return '';\n    }\n\n    let info = auth.cityName ?? auth.name;\n    if (auth.workplaceName) {\n      info += ` - ${auth.workplaceName}`;\n    }\n    return info;\n  }\n\n  @computed\n  get buyerFormLink() {\n    if (!this.selectedApplication.requestCode) {\n      return '';\n    }\n\n    return rsvBuyerFormLink(this.navigator, this.selectedApplication.requestCode);\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService,\n    @Inject() public mandatesService: MandatesService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private errorService: ErrorService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  async notifyNavigation() {\n    await this.init();\n  }\n\n  deactivate() {\n    this.unselectApplication();\n    this.list = [];\n  }\n\n  @action.bound\n  goBack() {\n    this.navigator(VehicleViewModel).go();\n  }\n\n  @action.bound\n  goToApplication() {\n    if (!this.selectedApplication.requestId) {\n      return;\n    }\n\n    switch (this.selectedApplication.formId) {\n      case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_FIRST_VEHICLE_REGISTRATION:\n        this.navigator(RoadVehicleRegisterDigiFormViewModel).go();\n        break;\n      case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_NEW_LICENCE_PLATE_FOR_EXPORT:\n        this.navigator(ExportPlateRequestFormViewModel, {\n          vehicleID: this.selectedApplication.vehicleId!.toString(),\n        }).go();\n        break;\n      case Domain_Contracts_Enums_Rsv_RsvFormType.ANNOUNCEMENT_OF_LOSS_DAMAGE_OR_DESTRUCTION_OF_LICENCE_PLATE:\n        this.navigator(LicencePlateLossFormViewModel, {\n          vehicleID: this.selectedApplication.vehicleId!.toString(),\n        }).go();\n        break;\n      case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_CHANGE_RECORDS:\n        this.navigator(RsvDataChangeFormViewModel, {\n          vehicleID: this.selectedApplication.vehicleId!.toString(),\n        }).go();\n        break;\n      case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_NEW_TECHNICAL_LICENCE:\n        this.navigator(NewTechnicalCertificateFormViewModel, {\n          vehicleID: this.selectedApplication.vehicleId!.toString(),\n        }).go();\n        break;\n      case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_LICENCE_PLATE:\n        this.navigator(LicencePlateLossFormViewModel, {\n          vehicleID: this.selectedApplication.vehicleId!.toString(),\n        }).go();\n        break;\n      case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_DECOMMISSIONING_OR_DEMISE_OF_VEHICLE:\n        this.navigator(DecommissioningFormViewModel, {\n          vehicleID: this.selectedApplication.vehicleId!.toString(),\n          formType: DecommissioningFormTypes.DECOMMISSIONING,\n        }).go();\n        break;\n      case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_REGISTRATION_OF_CHANGE_OWNER_OR_OPERATOR:\n        this.navigator(NewSellerOwnerOrOperatorChangedViewModel, {\n          vehicleID: this.selectedApplication.vehicleId!.toString(),\n        }).go();\n        break;\n      default:\n        break;\n    }\n  }\n\n  @action.bound\n  unselectApplication() {\n    this.selectedApplication = new ApplicationModel();\n    this.selectAppBusyWatcher = new BusyWatcher();\n  }\n\n  @Watch<ApplicationListViewModel>((t) => t.busyWatcher)\n  async init() {\n    await Promise.all([this.fetchAuthorities(), this.fetchRequests()]);\n\n    const params = parseQueryParams(window.location.search);\n\n    if (params.requestId) {\n      const application = this.list.find((app) => app.requestId.toString() === params.requestId);\n      if (application) {\n        await this.setSelectedApplication(application);\n      }\n    }\n  }\n\n  @action.bound\n  async fetchAuthorities() {\n    if (this.authorities.length > 0) {\n      return;\n    }\n\n    const authorities = await this.apiService.egonApi.targetAuthorities\n      .getPdApiEgonV1TargetAuthorities()\n      .catch((e) => console.error(e));\n\n    if (!authorities) return;\n\n    runInAction(() => {\n      this.authorities = authorities;\n    });\n  }\n\n  @action.bound\n  async fetchRequests() {\n    const requests = await this.apiService.egonApi.rsvRequests\n      .getPdApiEgonV1RsvRequests()\n      .catch((e) => this.errorService.logCatchError(e, 'ApplicationListViewModel', 'LoadRsvRequests'));\n\n    if (!requests) return;\n\n    runInAction(() => {\n      this.list = requests;\n    });\n  }\n\n  @Watch<ApplicationListViewModel>((t) => t.selectAppBusyWatcher)\n  @action.bound\n  async setSelectedApplication(application: EgonServiceBus_WebApi_Responses_V1_Rsv_FormSummaryResponse) {\n    runInAction(() => {\n      this.selectedApplication.requestId = application.requestId;\n    });\n    try {\n      let response = null;\n      let requestCode: string | undefined;\n      let buyerPersonType: 'FO' | 'PO' | undefined;\n      let pdfId: number | undefined;\n\n      switch (application.formId) {\n        case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_FIRST_VEHICLE_REGISTRATION:\n          response =\n            await this.apiService.egonApi.vehicleRegistration.getPdApiEgonV1RsvRequestsVehicleRegistrationRequests(\n              application.requestId\n            );\n          break;\n        case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_NEW_LICENCE_PLATE_FOR_EXPORT:\n          response =\n            await this.apiService.egonApi.vehicleExport.getPdApiEgonV1RsvRequestsVehicleExportRequests(\n              application.requestId\n            );\n          break;\n        case Domain_Contracts_Enums_Rsv_RsvFormType.ANNOUNCEMENT_OF_LOSS_DAMAGE_OR_DESTRUCTION_OF_LICENCE_PLATE:\n          response =\n            await this.apiService.egonApi.registrationPlateLossTheftDestructionAnnouncement.getPdApiEgonV1RsvRequestsRegistrationPlateLossTheftDestructionAnnouncementRequests(\n              application.requestId\n            );\n          break;\n        case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_CHANGE_RECORDS:\n          response = await this.apiService.egonApi.dataChange.getPdApiEgonV1RsvRequestsDataChangeRequests(\n            application.requestId\n          );\n          break;\n        case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_NEW_TECHNICAL_LICENCE:\n          response =\n            await this.apiService.egonApi.newTechnicalCertificate.getPdApiEgonV1RsvRequestsNewTechnicalCertificateRequests(\n              application.requestId\n            );\n          break;\n        case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_LICENCE_PLATE:\n          response = await this.apiService.egonApi.newCarPlate.getPdApiEgonV1RsvRequestsNewCarPlateRequests(\n            application.requestId\n          );\n          break;\n        case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_DECOMMISSIONING_OR_DEMISE_OF_VEHICLE:\n          response =\n            await this.apiService.egonApi.vehicleDecommissioning.getPdApiEgonV1RsvRequestsVehicleDecommissioningRequests(\n              application.requestId\n            );\n          break;\n        case Domain_Contracts_Enums_Rsv_RsvFormType.REQUEST_FOR_REGISTRATION_OF_CHANGE_OWNER_OR_OPERATOR:\n        default:\n          response =\n            await this.apiService.egonApi.changeOwnerOrOperator.getPdApiEgonV1RsvRequestsChangeOwnerOrOperatorRequests(\n              application.requestId\n            );\n\n          requestCode = response.requestCode;\n\n          if (response.newOwner?.identificationNumber) {\n            buyerPersonType = MandatePersonType.PO;\n          } else {\n            buyerPersonType = MandatePersonType.FO;\n          }\n\n          const owner = response.owner;\n          const newOwnerOperator = this.ownerOperatorLogic(!!response.newOperator, !!response.newOwner);\n          // const isViewerNewOwner = this.mandatesService.selectedMandate. === response.newOwner?.id;\n          runInAction(() => {\n            this.owner = owner;\n            this.newOwnerOperator = newOwnerOperator;\n            this.isNewOperator =\n              application.changeType === Domain_Contracts_Enums_Rsv_RsvChangeType.CHANGE_OPERATOR;\n          });\n      }\n\n      if (response.attachments && response.attachments.length > 0) {\n        // change owner form has two pdf with REQUEST type. Take last\n        if (response.attachments && response.attachments.length > 0) {\n          const pdfAttachs = response.attachments.filter(\n            (attach) => attach.type === Domain_Contracts_Enums_Rsv_AttachmentType.REQUEST\n          );\n\n          if (pdfAttachs.length > 0) {\n            pdfAttachs.sort((a, b) => a.id! - b.id!);\n            pdfId = pdfAttachs[pdfAttachs.length - 1].id;\n          }\n        }\n      }\n\n      const data: ApplicationData = {\n        requestId: application.requestId,\n        requestCode: application.requestCode ?? requestCode,\n        formId: application.formId,\n        status: response.status,\n        changeType: application.changeType,\n        changeTypeId: application.changeTypeId,\n        submissionDate: application.submissionDate,\n        registrationNumber: application.vehicleRegistrationNumber,\n        vin: application.vin ?? '',\n        vehicleId: response.vehicleId ?? undefined,\n        targetAuthorityId: response.targetAuthorityId ?? undefined,\n        workPlaceId: response.workPlaceId ?? null,\n        buyerPersonType: buyerPersonType,\n        pdfId: pdfId,\n      };\n\n      runInAction(() => {\n        application.status = response.status;\n\n        if (this.selectedApplication.requestId) {\n          this.selectedApplication = ApplicationModel.mapData(data);\n        }\n      });\n    } catch (err) {\n      this.errorService.logCatchError(err, 'ApplicationListViewModel', 'setSelectedApplication');\n      console.error(err);\n    }\n  }\n\n  private ownerOperatorLogic(operator: boolean, owner: boolean) {\n    if (operator === true && owner === true) return true;\n    if (operator === false && owner === true) return false;\n    if (operator === true && owner === false) return true;\n  }\n\n  @Watch<ApplicationListViewModel>((t) => t.handoverRequestBusyWatcher)\n  @action.bound\n  async handoverRequest() {\n    if (!this.selectedApplication?.requestId) return;\n    const application = this.list.find((app) => app.requestId === this.selectedApplication.requestId);\n\n    try {\n      const response = await this.apiService.egonApi.rsvRequests.postPdApiEgonV1RsvRequestsRequestsHandover(\n        this.selectedApplication.requestId\n      );\n\n      if (application) {\n        await this.setSelectedApplication(application);\n      }\n\n      runInAction(() => {\n        if (response?.code) {\n          this.selectedApplication.requestCode = response.code;\n        }\n      });\n    } catch (err) {\n      console.error(err);\n    }\n  }\n\n  @Watch<ApplicationListViewModel>((t) => t.pdfDownloadBusyWatcher)\n  @action.bound\n  async downloadPdf() {\n    if (this.selectedApplication.requestId === undefined || this.selectedApplication.pdfId === undefined)\n      return false;\n\n    const response = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsAttachments(\n      this.selectedApplication.pdfId,\n      this.selectedApplication.requestId.toString()\n    );\n\n    if (response.data) {\n      PdfUtils.downloadFromBase64String(response.data, response.documentName ?? response.fileName);\n    } else {\n      throw `Pdf download error, response data are empty`;\n    }\n  }\n\n  @Watch<ApplicationListViewModel>((t) => t.digitalOperationBusyWatcher)\n  @action.bound\n  async downloadDigitalOperation() {\n    if (this.selectedApplication.requestId === undefined) return false;\n\n    const blob = await this.apiService.egonApi.rsvRequests.getPdApiEgonV1RsvRequestsRequestsDigitalOperation(\n      this.selectedApplication.requestId\n    );\n\n    PdfUtils.downloadBlob(blob, 'Osvědčení-o-digitálním-úkonu');\n  }\n\n  @Watch<ApplicationListViewModel>((t) => t.instructionsDownloadBusyWatcher)\n  @action.bound\n  async downloadInstructionsPdf() {\n    const blob = await this.apiService.egonApi.vehiclePdf.finishRequestInstructions({\n      requestCode: this.selectedApplication.requestCode ?? '',\n      finishRequestLink: this.buyerFormLink,\n    });\n\n    PdfUtils.downloadBlob(blob, 'instrukce_k_dokonceni_prevodu_vozidla');\n  }\n\n  translate = translate('vehicle.applicationList', this);\n}\n","import Modal from '../../../components/shared/Modal';\nimport InfoPanel from '../../../components/shared/InfoPanel/InfoPanel';\nimport Button from '../../../components/shared/Button/Button';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '../../../components/shared/Typography/Typography';\nimport { DecommissioningFormTypes } from '../applicationsDigi/DecommissioningView/DecommissioningViewModel';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport { Domain_Contracts_Enums_Rsv_RequestStatus } from 'src/data/egon/api';\nimport RsvApplicationService from '../applicationsDigi/Shared/services/RsvApplicationService';\nimport BuyerApplicationService from '../applicationsDigi/OwnerOrOperatorChangedView/buyer/BuyerApplicationService';\n\ntype AppService = RsvApplicationService | BuyerApplicationService;\n\nexport type ApplicationInProgressModalProps = {\n  vm: {\n    formType?: DecommissioningFormTypes;\n    goToVehicle: () => void;\n    goToVehicleList: () => void;\n    translate: Translator;\n    sharedTranslate: Translator;\n    applicationService: AppService;\n  };\n};\n\nconst ApplicationInProgressModal = ({ vm }: ApplicationInProgressModalProps) => {\n  const { goToVehicle, goToVehicleList, translate, sharedTranslate, formType, applicationService } = vm;\n\n  const status =\n    applicationService instanceof RsvApplicationService\n      ? applicationService.status\n      : applicationService.requestInfoModel.status;\n\n  return (\n    <Modal\n      headLine={sharedTranslate('applicationProcessing.title')}\n      closeFce={goToVehicle}\n      className=\"test-modal-applicationProcessingGoToVehicle\"\n    >\n      <InfoPanel\n        message={\n          formType\n            ? translate(`applicationAlreadySubmitted.${formType}`)\n            : translate('applicationAlreadySubmitted')\n        }\n        type=\"warning\"\n      />\n      <Typography className=\"mt-4\">{sharedTranslate('applicationProcessing.text')}</Typography>\n\n      {status && status === Domain_Contracts_Enums_Rsv_RequestStatus.LISTED && (\n        <Typography className=\"bold mt-4\">\n          {sharedTranslate('applicationProcessing.status-listed-text')}\n        </Typography>\n      )}\n\n      <div className=\"d-flex justify-content-end mt-5\">\n        <Button\n          testId=\"back-button\"\n          rightMargin\n          outlined\n          onClick={goToVehicle}\n          text={sharedTranslate('back')}\n        />\n        <ConditionalView required={(x) => x.RSV_SUBMITTED_APPLICATIONS}>\n          <Button\n            testId=\"open-application-list-button\"\n            onClick={goToVehicleList}\n            text={sharedTranslate('openApplicationList')}\n          />\n        </ConditionalView>\n      </div>\n    </Modal>\n  );\n};\n\nexport default ApplicationInProgressModal;\n","import { Message } from '@cendis/cedr-components';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport { observer } from 'mobx-react-lite';\n\nexport type AttachmentsHeaderProps = {\n  translate: Translator;\n  newOperatorDifferentFromNewOwner?: boolean;\n};\n\nconst AttachmentsHeader = observer(\n  ({ translate, newOperatorDifferentFromNewOwner = false }: AttachmentsHeaderProps) => {\n    return (\n      <>\n        <h3>{translate('attachments')}</h3>\n\n        <div className=\"css-reset\">\n          <Message>\n            <p className=\"mb-4\" data-testid=\"attachment-warning-ln1\">\n              {translate('attachment-warning-ln1')}\n            </p>\n\n            <ul className=\"ms-4 mb-4\">\n              <Typography component={'li'} data-testid=\"attachment-warning-li1\">\n                {translate('attachment-warning-li1')}\n              </Typography>\n              <Typography component={'li'} data-testid=\"attachment-warning-li2\">\n                {translate('attachment-warning-li2')}\n              </Typography>\n            </ul>\n            <p className=\"mb-4\" data-testid=\"attachment-warning-ln2\">\n              <Typography component={'span'} className=\"bold\" data-testid=\"attachment-warning-ln3-part1\">\n                {translate('attachment-warning-ln3-part1')}{' '}\n              </Typography>\n              {translate('attachment-warning-ln3-part2')}\n            </p>\n          </Message>\n        </div>\n      </>\n    );\n  }\n);\n\nexport default AttachmentsHeader;\n","import { observer } from 'mobx-react-lite';\nimport { Typography } from '../../../components/shared/Typography/Typography';\nimport './AttachmentsSummary.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype AttachmentsSummaryProps = {\n  title: string;\n  fileList: Array<{ typeName: string; file: File }>;\n  noFilesText: string;\n  className?: string;\n};\n\nconst AttachmentsSummary = observer(\n  ({ title, fileList, noFilesText, className }: AttachmentsSummaryProps) => {\n    return (\n      <div className={getClassName('rsv-attachments-summary', className)}>\n        <Typography variant=\"h4\" component={'h4'} className=\"bold mb-3\" data-testid=\"attachment-title\">\n          {title}\n        </Typography>\n\n        {fileList.length === 0 && <Typography data-testid=\"no-files\">{noFilesText}</Typography>}\n\n        <ul className=\"gov-list mb-0\">\n          {fileList.map((fileInfo, index) => {\n            const fileURL = URL.createObjectURL(fileInfo.file);\n\n            return (\n              <Typography component={'li'} key={`${fileInfo.typeName}_${index}`} className=\"mb-3\">\n                {fileInfo.typeName ? fileInfo.typeName + ': ' : ''}\n                <a data-testid={`attachment-${index}`} href={fileURL} download={fileInfo.file.name}>\n                  {fileInfo.file.name}\n                </a>\n              </Typography>\n            );\n          })}\n        </ul>\n      </div>\n    );\n  }\n);\n\nexport default AttachmentsSummary;\n","import { observer } from 'mobx-react-lite';\nimport AuthorityInfoViewModel from './AuthorityInfoViewModel';\nimport Fieldset from '../../../../components/form/Fieldset';\nimport LoaderBox from '../../../../components/layout/LoaderBox';\nimport Select from '../../../../components/form/Select/Select';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport { GovIcon, LegacyTooltip } from '@cendis/cedr-components';\nimport './AuthorityInfoView.scss';\n\ntype AuthorityInfoViewProps = {\n  vm: AuthorityInfoViewModel;\n  headerText?: string;\n};\n\nconst AuthorityInfoView = observer(({ vm, headerText }: AuthorityInfoViewProps) => {\n  const {\n    translate,\n    busyWatcher,\n    authoritiesSelectOptions,\n    disabled,\n    authorityText,\n    changedFromDefault,\n    isValid,\n  } = vm;\n\n  return (\n    <>\n      {disabled ? (\n        <Typography\n          component=\"h3\"\n          variant=\"h4\"\n          className={`bold mt-4 mb-2 ${vm.summaryHeaderClassName}`}\n          data-testid=\"authority-header\"\n        >\n          {headerText ? headerText : vm.summaryHeaderText}\n        </Typography>\n      ) : (\n        <>\n          <Typography component=\"h3\" variant=\"h4\" className=\"has-hint mt-2 mb-2\">\n            <span>{vm.formHeaderText}</span>\n            {vm.headerHint && (\n              <div className=\"css-reset\">\n                <LegacyTooltip\n                  tooltipContent={vm.headerHint}\n                  position=\"right\"\n                  size=\"s\"\n                  className=\"c:uppercase\"\n                >\n                  <GovIcon\n                    name={'components/info-circle-fill'}\n                    size=\"m\"\n                    className=\"mx-1 mb-1 inline align-middle\"\n                  />\n                </LegacyTooltip>\n              </div>\n            )}\n          </Typography>\n          <Typography className=\"mb-2\">{vm.formDescription}</Typography>\n        </>\n      )}\n\n      <Fieldset className=\"autorityInfo col-sm-12 col-md-4 mb-4\">\n        {busyWatcher.isBusy && (\n          <div className=\"pd-form-field\">\n            <LoaderBox type=\"box-small\" />\n          </div>\n        )}\n        {!busyWatcher.isBusy && !disabled && (\n          <>\n            <Select\n              target={vm}\n              property=\"selectedItem\"\n              options={authoritiesSelectOptions}\n              className={!vm.selectedItem ? 'selectedItemNotSet' : ''}\n              testId=\"authority-select\"\n            />\n            {!changedFromDefault && !disabled && !isValid && (\n              <div className=\"gov-form-control--error\">\n                <span className=\"gov-form-control__message\">{translate('selectPlaceWarning')}</span>\n              </div>\n            )}\n          </>\n        )}\n        {!busyWatcher.isBusy && disabled && (\n          <p className=\"fw-bold\" data-testid=\"authority-text\">\n            {authorityText}\n          </p>\n        )}\n      </Fieldset>\n      {vm.showFooterText && (\n        <div className=\"mb-5\">\n          <Typography className=\"mb-2\">\n            {translate('footerText1')}{' '}\n            <a data-testid=\"footer-link1\" href={translate('footerLink1')} target=\"_blank\" rel=\"noreferrer\">\n              {translate('footerLinkText1')}\n            </a>{' '}\n            {translate('footerText2')}\n          </Typography>\n          <Typography className=\"mb-2\">\n            {translate('footerText3')}{' '}\n            <a data-testid=\"footer-link2\" href={translate('footerLink2')} target=\"_blank\" rel=\"noreferrer\">\n              {translate('footerLinkText2')}\n            </a>{' '}\n            {translate('footerText4')}\n          </Typography>\n          <Typography className=\"mb-2\">\n            {translate('footerText5')}{' '}\n            <a data-testid=\"footer-link3\" href={translate('footerLink1')} target=\"_blank\" rel=\"noreferrer\">\n              {translate('footerLinkText1')}\n            </a>\n            .\n          </Typography>\n        </div>\n      )}\n    </>\n  );\n});\n\nexport default AuthorityInfoView;\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport AuthorityInfoView from './AuthorityInfoView';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { type EgonServiceBus_WebApi_Requests_V1_TargetAuthorityResponse } from 'src/data/egon/api';\nimport ApiService from '../../../../services/ApiService';\n\n@Service()\n@AddDefaultView(AuthorityInfoView)\n@AddTranslationKey('authority-info')\nexport default class AuthorityInfoViewModel {\n  @observable disabled = false;\n  @observable authorities = [] as EgonServiceBus_WebApi_Requests_V1_TargetAuthorityResponse[];\n  @observable selectedItem = '';\n  @observable isValid = true;\n  @observable formHeaderText = '';\n  @observable formDescription = '';\n  @observable summaryHeaderText = '';\n  @observable footerText1 = '';\n  @observable footerText2 = '';\n  @observable footerText3 = '';\n  @observable footerLink1 = '';\n  @observable footerLinkText1 = '';\n  @observable footerLink2 = '';\n  @observable footerLinkText2 = '';\n  @observable summaryHeaderClassName?: string;\n  @observable headerHint?: string;\n  busyWatcher = new BusyWatcher();\n\n  // show only if Prague is selected (id:3100)\n  @computed\n  get showFooterText() {\n    const selectedId = this.selectedItem.split('-')[0];\n    return selectedId === '3100';\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public apiService: ApiService\n  ) {\n    makeObservable(this);\n    this.formHeaderText = this.translate('applicationPlace');\n    this.formDescription = this.translate('applicationPlaceDesc');\n    this.summaryHeaderText = this.translate('completationPlace');\n    this.footerText1 = this.translate('footerText1');\n    this.footerText2 = this.translate('footerText2');\n    this.footerText3 = this.translate('footerText3');\n    this.footerLink1 = this.translate('footerLink1');\n    this.footerLinkText1 = this.translate('footerLinkText1');\n    this.footerLink2 = this.translate('footerLink2');\n    this.footerLinkText2 = this.translate('footerLinkText2');\n  }\n\n  @computed\n  get selectedAuthorityId() {\n    if (this.selectedItem && this.changedFromDefault) {\n      return parseInt(this.selectedItem.split('-')[0]);\n    }\n    return 0;\n  }\n\n  @computed\n  get selectedWorkplaceId() {\n    if (this.selectedItem) {\n      return parseInt(this.selectedItem.split('-')[1]) || null;\n    }\n    return null;\n  }\n\n  @computed\n  get authorityText() {\n    const authority = this.authorities.find(\n      (auth) => auth.id === this.selectedAuthorityId && auth.workplaceId === this.selectedWorkplaceId\n    );\n    if (authority?.workplaceId) {\n      return `${authority.name} - ${authority.workplaceName}`;\n    }\n    return authority?.name;\n  }\n\n  @computed\n  get authorityTextWithComma() {\n    const authority = this.authorities.find(\n      (auth) => auth.id === this.selectedAuthorityId && auth.workplaceId === this.selectedWorkplaceId\n    );\n    if (authority?.workplaceId) {\n      return `${authority.name}, ${authority.workplaceName}`;\n    }\n    return authority?.name;\n  }\n\n  @computed\n  get authoritiesSelectOptions() {\n    this.loadAuthorities();\n    if (this.authorities.length < 1) {\n      return [];\n    }\n    return this.authorities.map((a) => {\n      const { id, name, workplaceName, workplaceId } = a;\n\n      return {\n        key: `${id}-${workplaceId}`,\n        label: workplaceName ? `${name} - ${workplaceName}` : name,\n        value: `${id}-${workplaceId ?? ''}`,\n      };\n    });\n  }\n\n  @computed\n  get changedFromDefault() {\n    return !!this.selectedItem && this.selectedItem !== '-1-';\n  }\n\n  set validToProceed(bool: boolean) {\n    this.isValid = bool;\n  }\n\n  @Watch<AuthorityInfoViewModel>((s) => s.busyWatcher)\n  @action.bound\n  async loadAuthorities() {\n    if (!this.authorities || this.authorities.length < 1) {\n      const authorities = await this.apiService.egonApi.targetAuthorities.getPdApiEgonV1TargetAuthorities();\n      runInAction(() => {\n        this.authorities = authorities.sort((a, b) => a.name.localeCompare(b.name, 'cs'));\n        this.authorities.unshift({ id: -1, name: this.translate('applicationPlace') });\n      });\n    }\n    return this.authorities;\n  }\n\n  @action.bound\n  resetSelection() {\n    this.selectedItem = '';\n  }\n\n  translate = translate('authority-info', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport Modal from '../../../../components/shared/Modal';\nimport Button from '../../../../components/shared/Button/Button';\nimport InfoBox from '../../../../components/shared/InfoBox/InfoBox';\n\nexport type CodeCopiedModalProps = {\n  header: string;\n  text: string;\n  toggleModal: () => void;\n};\n\nconst CodeCopiedModal = observer(({ header, text, toggleModal }: CodeCopiedModalProps) => {\n  return (\n    <Modal headLine={header} closeFce={toggleModal} className=\"test-modal-CodeCopied\">\n      <div>\n        <InfoBox content={text} />\n        <div className=\"d-flex flex-column align-items-end mt-5\">\n          <Button testId=\"toggle-modal\" onClick={toggleModal} text=\"OK\" />\n        </div>\n      </div>\n    </Modal>\n  );\n});\n\nexport default CodeCopiedModal;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport ClipboardCopy from '../../../../components/shared/ClipboardCopy/ClipboardCopy';\nimport './styles.scss';\n\nexport type ConfirmationCodeProps = {\n  requestCode?: string;\n  translate: Translator;\n};\n\nconst ConfirmationCode = observer(({ requestCode, translate }: ConfirmationCodeProps) => {\n  return (\n    <div className=\"confirmationCode\">\n      <p className=\"confirmationCodeHeader\">{translate('confirmationCodeHeader')}</p>\n      <h1 className=\"mt-1 mb-2\">\n        <span className=\"font-consolas\" data-testid=\"requestCode\">\n          {requestCode}\n        </span>\n        <ClipboardCopy\n          text={requestCode ?? ''}\n          className=\"mx-2\"\n          iconSize=\"medium\"\n          textConfirmation={translate('copyClipboardCode')}\n          showModalMessage={true}\n        />\n      </h1>\n      <p data-testid=\"confirmationCodeDescL1\">{translate('confirmationCodeDescL1')}</p>\n      <p data-testid=\"confirmationCodeDescL2\">{translate('confirmationCodeDescL2')}</p>\n    </div>\n  );\n});\n\nexport default ConfirmationCode;\n","import './LicencePlate.scss';\n\ntype LicencePlateProps = {\n  licencePlate: string;\n};\n\nconst LicencePlate = ({ licencePlate }: LicencePlateProps) => {\n  const plateFormatStart = (licencePlate: string) => licencePlate.slice(0, 3);\n  const plateFormatEnd = (licencePlate: string) => licencePlate.slice(3);\n\n  return (\n    <div className=\"plate-wrapper\">\n      <div className=\"plate-container\">\n        <div className=\"flag-area\">\n          <div className=\"flag\">\n            <div className=\"eu-stars\">\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n              <div className=\"circle\"></div>\n            </div>\n          </div>\n          <p className=\"country\">CZ</p>\n        </div>\n        <div className=\"text-area\">\n          <p className=\"spz\">{plateFormatStart(licencePlate)}</p>\n          <div className=\"spz-stars d-flex flex-column\">\n            <p>*</p>\n            <p>*</p>\n          </div>\n          <p className=\"spz\" data-testid=\"plate-end\">\n            {plateFormatEnd(licencePlate)}\n          </p>\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default LicencePlate;\n","import { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_EntityResponse } from '../../../data/egon/apiV2';\nimport DateUtils from '../../../utils/DateUtils';\nimport StringFormatUtils from '../../../utils/StringFormatUtils';\nimport { extractInlineAddress } from '../../../utils/AddressUtils';\nimport { Typography } from '../../../components/shared/Typography/Typography';\n\ntype OwnerOrOperatorProps = {\n  data: EgonServiceBus_WebApi_Responses_V2_Vehicles_EntityResponse | undefined;\n  isLoggedUserOwner: boolean;\n  translate: Translator;\n  email?: string;\n  phone?: string;\n};\n\nconst OwnerOrOperator = observer(\n  ({ data, isLoggedUserOwner, email, phone, translate }: OwnerOrOperatorProps) => {\n    if (!data) return null;\n\n    const displayApplicant =\n      (data.type === 1 && isLoggedUserOwner) || (data.type === 2 && !isLoggedUserOwner);\n\n    return (\n      <>\n        <Typography\n          variant=\"h4\"\n          component=\"h3\"\n          className=\"bold u-color--grey-dark mt-4 mb-2\"\n          data-testid=\"owner-title\"\n        >\n          {data.type === 1 ? translate('owner') : translate('operator')}&nbsp;\n          {displayApplicant && translate('applicant')}\n        </Typography>\n\n        {/* FO */}\n\n        {data.fo?.surname && (\n          <>\n            <span className=\"d-flex\" data-testid=\"person-full-name\">\n              <Typography>{translate('fullName')}:&nbsp;</Typography>\n              <Typography\n                variant=\"body2\"\n                className=\"bold u-color--grey-dark\"\n              >{`${data.fo.firstName} ${data.fo.surname}`}</Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-birth-date\">\n              <Typography>{translate('birthDate')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {DateUtils.dateFormatCz(data.fo.dob ?? '')}\n              </Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-address\">\n              <Typography>{translate('address')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {data.fo.fullAddress?.formatedAddress ?? data.fo.address ?? ''}\n              </Typography>\n            </span>\n          </>\n        )}\n\n        {/* PO */}\n\n        {data.po?.name && (\n          <>\n            <span className=\"d-flex\" data-testid=\"person-name\">\n              <Typography>{translate('name')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {data.po.name}\n              </Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-identification-number\">\n              <Typography>{translate('identificationNumber')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {data.poIc}\n              </Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-address\">\n              <Typography>{translate('address')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {data.po.fullAddress?.formatedAddress ?? data.po.address ?? ''}\n              </Typography>\n            </span>\n          </>\n        )}\n\n        {/* unidentified FO */}\n\n        {data.unidentifiedPerson?.surname && (\n          <>\n            <span className=\"d-flex\" data-testid=\"person-full-name\">\n              <Typography>{translate('fullName')}:&nbsp;</Typography>\n              <Typography\n                variant=\"body2\"\n                className=\"bold u-color--grey-dark\"\n              >{`${data.unidentifiedPerson.firstName} ${data.unidentifiedPerson.surname}`}</Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-birth-date\">\n              <Typography>{translate('birthDate')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {DateUtils.dateFormatCz(data.unidentifiedPerson.dob ?? '')}\n              </Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-address\">\n              <Typography>{translate('address')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {extractInlineAddress(data.unidentifiedPerson.address ?? '')}\n              </Typography>\n            </span>\n          </>\n        )}\n\n        {/* unidentified PO */}\n\n        {data.unidentifiedPerson?.name && (\n          <>\n            <span className=\"d-flex\" data-testid=\"person-name\">\n              <Typography>{translate('name')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {data.unidentifiedPerson.name}\n              </Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-identification-number\">\n              <Typography>{translate('identificationNumber')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {data.unidentifiedPerson.ic}\n              </Typography>\n            </span>\n            <span className=\"d-flex\" data-testid=\"person-address\">\n              <Typography>{translate('address')}:&nbsp;</Typography>\n              <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n                {extractInlineAddress(data.unidentifiedPerson.address ?? '')}\n              </Typography>\n            </span>\n          </>\n        )}\n\n        {/* EMAIL AND PHONE */}\n\n        {displayApplicant && email && (\n          <span className=\"d-flex\" data-testid=\"person-email\">\n            <Typography>{translate('email')}:&nbsp;</Typography>\n            <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n              {email}\n            </Typography>\n          </span>\n        )}\n\n        {displayApplicant && phone && (\n          <span className=\"d-flex\" data-testid=\"person-phone\">\n            <Typography>{translate('phone')}:&nbsp;</Typography>\n            <Typography variant=\"body2\" className=\"bold u-color--grey-dark\">\n              {StringFormatUtils.formatPhoneNumber(phone)}\n            </Typography>\n          </span>\n        )}\n      </>\n    );\n  }\n);\n\nexport default OwnerOrOperator;\n","import './Steps.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype StepsProps = {\n  steps: { stepNumber: number; title: string }[];\n  activeStep: number;\n  translate: Translator;\n};\n\nconst Steps = ({ steps, activeStep, translate }: StepsProps) => {\n  return (\n    <div className=\"d-flex\">\n      {steps.map((item) => (\n        <div key={item.stepNumber} className={`vehicle-step ${activeStep === item.stepNumber ? 'active' : ''}`}>\n          {item.stepNumber}. <br />\n          <span className={`step-name ${activeStep === item.stepNumber ? '' : 'not-active'}`}>\n            {translate('steps.' + item.title)}\n          </span>\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default Steps;\n","import Modal from '../../../components/shared/Modal';\nimport InfoPanel from '../../../components/shared/InfoPanel/InfoPanel';\nimport Button from '../../../components/shared/Button/Button';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\nexport type SummaryModalProps = {\n  toggleConfirmationModal: () => void;\n  isSending: boolean;\n  requestTitle?: string;\n  hideWorkplace?: boolean;\n  vm: {\n    authorityInfo: string | undefined;\n    translate: Translator;\n    sharedTranslate: Translator;\n    confirmRequest: () => void;\n  };\n};\n\nconst SummaryModal = ({\n  toggleConfirmationModal,\n  requestTitle,\n  vm,\n  isSending,\n  hideWorkplace,\n}: SummaryModalProps) => {\n  const { authorityInfo, translate, sharedTranslate, confirmRequest } = vm;\n\n  return (\n    <Modal\n      headLine={translate('confirmation-title')}\n      closeFce={toggleConfirmationModal}\n      className=\"test-modal-SummaryConfirmation\"\n    >\n      <InfoPanel message={translate('confirmation.warning')} type=\"warning\" />\n\n      {requestTitle && (\n        <div className=\"my-4\">\n          <span data-testid=\"request-title\">{requestTitle}</span>\n          <br />\n        </div>\n      )}\n\n      {!hideWorkplace && (\n        <div className=\"my-4\">\n          <span data-testid=\"confirmation-place\">{translate('confirmation.place')}</span>\n          <br />\n          {authorityInfo ? (\n            <strong data-testid=\"authority-info\">{authorityInfo}</strong>\n          ) : (\n            <strong data-testid=\"not-found\">{translate('notFound')}</strong>\n          )}\n        </div>\n      )}\n\n      <div className=\"d-flex justify-content-end mt-5\">\n        <Button\n          testId=\"back-button\"\n          rightMargin\n          outlined\n          onClick={toggleConfirmationModal}\n          text={sharedTranslate('back')}\n        />\n\n        <Button\n          testId=\"confirm-send-button\"\n          onClick={confirmRequest}\n          text={sharedTranslate('confirmSend')}\n          isBusy={isSending}\n        />\n      </div>\n    </Modal>\n  );\n};\n\nexport default SummaryModal;\n","import { observer } from 'mobx-react-lite';\nimport Alert from '../../../../components/shared/Alert/Alert';\nimport { Typography } from '../../../../components/shared/Typography/Typography';\nimport { MandatePersonType } from '../../../../enums/MandatePersonType';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\nexport type ConfirmationCodeProps = {\n  personType: MandatePersonType;\n  translate: Translator;\n};\n\nconst SummaryWarning = observer(({ personType, translate }: ConfirmationCodeProps) => {\n  return (\n    <>\n      {/* WARNING */}\n      <div className=\"mt-4\">\n        <Alert type=\"warning\">\n          <Typography data-testid=\"warning\">{translate('warning')}</Typography>\n        </Alert>\n      </div>\n    </>\n  );\n});\n\nexport default SummaryWarning;\n","import type {\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_EntityResponse,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleBasicResponse,\n} from 'src/data/egon/apiV2';\nimport { VehicleOwnershipType } from 'src/enums/VehicleOwnershipType';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport dateUtils from '../../../../utils/DateUtils';\nimport './VehicleDetail.scss';\n\ntype CustomCardListItemProps = {\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleBasicResponse | undefined | null;\n  translate: Translator;\n  newDetailInSummary?: boolean;\n};\n\ntype OwnerOrOperatorDates = {\n  validFrom: string | null | undefined;\n  validTo: string | null | undefined;\n  translate: Translator;\n  isActive: boolean | undefined;\n};\n\nfunction OwnerDates({ validFrom, validTo, translate, isActive }: OwnerOrOperatorDates) {\n  if (validFrom) {\n    const formattedValidFrom = validFrom ? dateUtils.dateFormatCz(validFrom) : '';\n    const formattedValidTo = validTo ? dateUtils.dateFormatCz(validTo) : '';\n\n    return (\n      <>\n        <span className=\"gov-paragraph\" data-testid=\"ownerFrom\">\n          {`${translate('vehicle.ownerFrom')} ${formattedValidFrom}`}\n        </span>\n        <br />\n        {validTo && !isActive && (\n          <>\n            <span className=\"gov-paragraph\" data-testid=\"ownerTo\">\n              {`${translate('vehicle.ownerTo')} ${formattedValidTo}`}\n            </span>\n            <br />\n          </>\n        )}\n      </>\n    );\n  }\n\n  return null;\n}\n\nfunction OperatorDates({ validFrom, validTo, translate, isActive }: OwnerOrOperatorDates) {\n  if (validFrom) {\n    const formattedValidFrom = validFrom ? dateUtils.dateFormatCz(validFrom) : '';\n    const formattedValidTo = validTo ? dateUtils.dateFormatCz(validTo) : '';\n\n    return (\n      <>\n        <span\n          className=\"gov-paragraph\"\n          data-testid=\"operatorFrom\"\n        >{`${translate('vehicle.operatorFrom')} ${formattedValidFrom}`}</span>\n        <br />\n        {validTo && !isActive && (\n          <>\n            <span\n              className=\"gov-paragraph\"\n              data-testid=\"operatorTo\"\n            >{`${translate('vehicle.operatorTo')} ${formattedValidTo}`}</span>\n            <br />\n          </>\n        )}\n      </>\n    );\n  }\n\n  return null;\n}\n\nfunction VehicleDetail({ vehicle, translate, newDetailInSummary = false }: CustomCardListItemProps) {\n  const ownerEntity = vehicle?.entities?.find(\n    (ent) => ent.type === VehicleOwnershipType.owner && ent.validFrom\n  );\n\n  const operatorEntities = vehicle?.entities?.filter((ent) => {\n    return ent.type === VehicleOwnershipType.operator && ent.validTo === null;\n  });\n\n  const operatorEntity = operatorEntities?.reduce(\n    (prev: EgonServiceBus_WebApi_Responses_V2_Vehicles_EntityResponse | null, current) => {\n      if (!prev || (current.validFrom && prev.validFrom && current.validFrom < prev.validFrom)) {\n        return current;\n      }\n      return prev;\n    },\n    null\n  );\n\n  return (\n    <div className={'row card-list-item-detail selected-background'} key={vehicle?.mainInformation?.id}>\n      <div className=\"d-flex flex-column flex-xl-row pb-2\">\n        <div className=\"mt-2 flex-grow-1\">\n          <h3 data-testid={'vehicle-detail-name'}>\n            {`${vehicle?.mainInformation?.manufacturer || ''} ${vehicle?.mainInformation?.commercialDesignation || ''}`}\n          </h3>\n        </div>\n      </div>\n      <div className=\"row vehicle-content\">\n        <div className=\"col-md-4 vehicle-data-row\">\n          <h4>{translate('vehicle.registrationNumberPlate')}</h4>\n          {vehicle?.rzs?.[0] !== undefined && vehicle?.rzs?.[0].number !== undefined && (\n            <p data-testid=\"registrationNumberPlate\">{vehicle?.rzs?.[0].number}</p>\n          )}\n        </div>\n        {!newDetailInSummary && (\n          <>\n            <div className=\"col-md-4 vehicle-data-row\" data-testid=\"vehicle-vin\">\n              <h4>{translate('vehicle.vin')}</h4>\n              {vehicle?.mainInformation.vin}\n            </div>\n            <div className=\"col-md-4 vehicle-data-row\"></div>\n          </>\n        )}\n\n        <div className=\"col-md-4 vehicle-data-row\">\n          <h4>{translate('vehicle.carStatus')}</h4>\n          <p data-testid=\"carStatus\">{vehicle?.currentStatus}</p>\n        </div>\n        <div className=\"col-md-4 vehicle-data-row\">\n          <h4>{translate('vehicle.relation')}</h4>\n\n          <OwnerDates\n            validFrom={ownerEntity?.validFrom}\n            validTo={ownerEntity?.validTo}\n            translate={translate}\n            isActive={vehicle?.isActive}\n          />\n          <OperatorDates\n            validFrom={operatorEntity?.validFrom}\n            validTo={operatorEntity?.validTo}\n            translate={translate}\n            isActive={vehicle?.isActive}\n          />\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport default VehicleDetail;\n","import { makeObservable, observable } from 'mobx';\nimport AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\n\n@AddTranslationKey('vehicle-search-model')\nexport default class VehicleSearchModel {\n  @observable text = '';\n  @observable lastSearchedText = '';\n\n  constructor() {\n    makeObservable(this);\n  }\n}\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './VehicleSearch.scss';\nimport SearchIcon from '../../../../components/icons/SearchIcon';\nimport SearchInput from '../../../../components/form/SearchInput';\nimport VehicleSearchModel from './VehicleSearchModel';\n\nexport type VehicleSearchProps = {\n  translate: Translator;\n  disabled: boolean;\n  isHidden: boolean | undefined;\n  model: VehicleSearchModel;\n  search: () => void;\n};\n\nconst VehicleSearch = observer(({ translate, disabled, model, search, isHidden }: VehicleSearchProps) => {\n  return (\n    <div className={`component-vehicle-register_filter mb-2 ${isHidden ? 'd-none d-md-block' : ''}`}>\n      <div className=\"filter-vehicles-wrapp d-flex align-items-start\">\n        <SearchInput\n          property=\"text\"\n          label={translate('search-text-mobile')}\n          target={model}\n          maxLength={18}\n          onEnterPress={search}\n          className=\"d-block d-lg-none me-2 mb-0 flex-grow-1\"\n        />\n        <SearchInput\n          property=\"text\"\n          label={translate('search-text')}\n          target={model}\n          maxLength={18}\n          onEnterPress={search}\n          className=\"d-none d-lg-block me-2 mb-0 flex-grow-1\"\n        />\n        <button\n          data-testid=\"search-button\"\n          aria-label={translate('filter.filter-vehicles')}\n          className=\"gov-button--primary-outlined gov-button test-action-filter-vehicle ms-2\"\n          onClick={search}\n          disabled={disabled}\n        >\n          <SearchIcon />\n        </button>\n      </div>\n    </div>\n  );\n});\n\nexport default VehicleSearch;\n","import './Chevron.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ninterface ChevronProps {\n  variant?: 'single' | 'double';\n  color?: string;\n  direction?: 'right' | 'left';\n  onClick?: () => void;\n  hoverDisable?: boolean;\n}\n\nconst Chevron = ({\n  color = '#66a0d8',\n  direction = 'left',\n  variant = 'single',\n  onClick,\n  hoverDisable,\n}: ChevronProps) => {\n  return (\n    <div\n      className={getClassName(\n        'chevron',\n        hoverDisable ? 'no-hover' : null,\n        direction === 'right' ? 'rotate-right' : null\n      )}\n    >\n      <button data-testid=\"chevron-button\" onClick={onClick}>\n        {variant === 'single' && (\n          <svg fill={color} height=\"24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 13 24\">\n            <path\n              id=\"XMLID_222_\"\n              d=\"M12.6527 0.270363C13.0132 0.630847 13.0132 1.21531 12.6527 1.57579L2.2285 12L12.6527 22.4242C13.0132 22.7847 13.0132 23.3692 12.6527 23.7296C12.2922 24.0901 11.7078 24.0901 11.3473 23.7296L0.270363 12.6527C-0.090121 12.2922 -0.090121 11.7078 0.270363 11.3473L11.3473 0.270363C11.7078 -0.090121 12.2922 -0.090121 12.6527 0.270363Z\"\n            ></path>\n          </svg>\n        )}\n\n        {variant === 'double' && (\n          <svg fill={color} height=\"24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 21 24\">\n            <path d=\"M12.6527 0.270363C13.0132 0.630847 13.0132 1.21531 12.6527 1.57579L2.2285 12L12.6527 22.4242C13.0132 22.7847 13.0132 23.3692 12.6527 23.7296C12.2922 24.0901 11.7078 24.0901 11.3473 23.7296L0.270363 12.6527C-0.090121 12.2922 -0.090121 11.7078 0.270363 11.3473L11.3473 0.270363C11.7078 -0.090121 12.2922 -0.090121 12.6527 0.270363Z\" />\n            <path d=\"M20.0373 0.270363C20.3978 0.630847 20.3978 1.21531 20.0373 1.57579L9.61312 12L20.0373 22.4242C20.3978 22.7847 20.3978 23.3692 20.0373 23.7296C19.6768 24.0901 19.0924 24.0901 18.7319 23.7296L7.65498 12.6527C7.29449 12.2922 7.29449 11.7078 7.65498 11.3473L18.7319 0.270363C19.0924 -0.090121 19.6768 -0.090121 20.0373 0.270363Z\" />\n          </svg>\n        )}\n      </button>\n    </div>\n  );\n};\n\nexport default Chevron;\n","import { observer } from 'mobx-react-lite';\nimport Chevron from 'src/app/vehicle/register/components/Chevron';\nimport './Pagination.scss';\n\ninterface Props {\n  pageNumber: number;\n  setPage: (newPageNumber: number) => void;\n  vehicleLimitReached: boolean;\n  nextPageLoading: boolean;\n  isHidden: boolean | undefined;\n}\n\nconst Pagination = observer(\n  ({ pageNumber, setPage, vehicleLimitReached, nextPageLoading, isHidden }: Props) => {\n    return (\n      <div className={`pagination mb-4 ${isHidden ? 'd-none d-md-flex' : ''}`}>\n        <Chevron\n          variant=\"double\"\n          direction=\"left\"\n          onClick={() => setPage(0)}\n          hoverDisable={pageNumber === 0}\n        />\n        <Chevron\n          direction=\"left\"\n          onClick={() => setPage(pageNumber === 0 ? pageNumber : pageNumber - 1)}\n          hoverDisable={pageNumber === 0}\n        />\n        {pageNumber > 0 && <span className=\"pagination-dots\">...</span>}\n        <span className=\"pagination-number\">{pageNumber + 1}</span>\n        {!vehicleLimitReached && <span className=\"pagination-dots\">...</span>}\n        <Chevron\n          direction=\"right\"\n          onClick={() => setPage(nextPageLoading || vehicleLimitReached ? pageNumber : pageNumber + 1)}\n          hoverDisable={vehicleLimitReached}\n        />\n      </div>\n    );\n  }\n);\n\nexport default Pagination;\n","import VehicleSearch from '../../components/VehicleSearch/VehicleSearch';\nimport CardList from '../../../../components/shared/CardList/CardList';\nimport CardListItem from '../../../../components/shared/CardListItem/CardListItem';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport LoaderBox from '../../../../components/layout/LoaderBox';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleBasicResponse } from '../../../../data/egon/apiV2';\nimport type { EgonServiceBusWebApiResponsesV2VehiclesVehicleBasicResponse } from '../../../../api-data/egon/apiV2/models';\nimport VehicleSearchModel from '../../components/VehicleSearch/VehicleSearchModel';\nimport Pagination from './Pagination';\nimport { useRef } from 'react';\nimport { VehiclesFilter } from 'src/enums/VehicleEnums';\nimport './Sidebar.scss';\nimport InfoCircleIcon from '@components/icons/InfoCircleIcon';\nimport { VehicleTabsEnum } from '../../../../enums/VehicleTabs';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleUnloadedResponse } from 'src/data/egon/api';\nimport EnvUtils from 'src/utils/EnvUtils';\nimport { Domain_Contracts_Models_AllowedSection } from 'src/data/mandates/api';\nimport { Message } from '@cendis/cedr-components';\n\ntype SidebarProps = {\n  translate: Translator;\n  vehicles: Array<\n    | EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleBasicResponse\n    | EgonServiceBusWebApiResponsesV2VehiclesVehicleBasicResponse\n  >;\n  handleOnClick: (id: number | null | undefined) => void;\n  handleVehiclesFilter: (filter: VehiclesFilter) => void;\n  vehiclesFilter: VehiclesFilter;\n  selectedVehicleID: string | undefined;\n  isHidden?: boolean;\n  areVehiclesLoading: boolean;\n  children?: React.ReactNode;\n  nextPageLoading: boolean;\n  searchModel: VehicleSearchModel;\n  currentPage: number;\n  setPage: (newPageNumber: number) => void;\n  vehicleLimitReached: boolean;\n  search: () => void;\n  vehiclesCount: number;\n  longProcessing: boolean;\n  timeoutWarning: boolean;\n  notFoundWarning: boolean;\n  setVehicleID: (vehicleID: string, tab?: VehicleTabsEnum) => void;\n  unloadedVehicles: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleUnloadedResponse[] | undefined;\n  navToUnloadedVehicles: () => void;\n  unloadedVehiclesIsActive: boolean;\n  searchInAllowedSections: (\n    vehicle: { allowedSections?: Domain_Contracts_Models_AllowedSection[] | null },\n    allowedSectionEnum: Domain_Contracts_Models_AllowedSection\n  ) => boolean;\n  isSearchResult: boolean;\n};\n\nexport default function Sidebar({\n  translate,\n  vehicles,\n  handleOnClick,\n  handleVehiclesFilter: handleVehiclesFilter,\n  vehiclesFilter,\n  selectedVehicleID,\n  isHidden,\n  areVehiclesLoading,\n  children,\n  nextPageLoading,\n  search,\n  searchModel,\n  currentPage,\n  setPage,\n  vehicleLimitReached,\n  vehiclesCount,\n  longProcessing,\n  timeoutWarning,\n  notFoundWarning,\n  setVehicleID,\n  unloadedVehicles,\n  navToUnloadedVehicles,\n  unloadedVehiclesIsActive,\n  searchInAllowedSections,\n  isSearchResult,\n}: SidebarProps) {\n  const containerRef = useRef<HTMLDivElement>(null);\n\n  const isUnsearchedList = !areVehiclesLoading && !searchModel.lastSearchedText;\n  const shouldShowSearch = !isUnsearchedList || vehiclesCount > 0;\n  const showNoVehicles =\n    !areVehiclesLoading && !timeoutWarning && !notFoundWarning && vehicles?.length === 0;\n\n  const handlePageChange = (page: number) => {\n    setPage(page);\n    containerRef.current?.scrollIntoView({ behavior: 'smooth', block: 'start' });\n  };\n\n  return (\n    <ConditionalView required={(x) => x.RSV_CARS}>\n      <div\n        ref={containerRef}\n        className={`col-md-5 sidebar ${selectedVehicleID ? 'sidebar-detail' : 'sidebar-list'}`}\n      >\n        {shouldShowSearch && (\n          <VehicleSearch\n            isHidden={isHidden}\n            translate={translate}\n            disabled={areVehiclesLoading}\n            model={searchModel}\n            search={search}\n          />\n        )}\n        {/* TABS FOR SMALL SCREEN VIEWS */}\n        {children}\n        {isUnsearchedList && vehiclesCount >= 100 && (\n          <div className={'d-flex sidebar-info-box flex-row'}>\n            <span>\n              <InfoCircleIcon />\n            </span>\n            <p className=\"mb-0 p-1\">{translate('info-many-vehicles')}</p>\n          </div>\n        )}\n        {isUnsearchedList && vehiclesCount > 0 && vehiclesCount < 100 && (\n          <div className={`vehiclesFilterBtns mt-4 mb-3 ${isHidden ? 'd-none d-md-block' : ''}`}>\n            <button\n              data-testid=\"all-vehicles-filter\"\n              className={vehiclesFilter === VehiclesFilter.ALL ? 'active' : 'nonactive'}\n              onClick={() => handleVehiclesFilter(VehiclesFilter.ALL)}\n            >\n              {translate('filter.btn-all')}\n            </button>\n            <button\n              data-testid=\"active-vehicles-filter\"\n              className={vehiclesFilter === VehiclesFilter.ACTIVE ? 'active' : 'nonactive'}\n              onClick={() => handleVehiclesFilter(VehiclesFilter.ACTIVE)}\n            >\n              {translate('filter.btn-actual')}\n            </button>\n            <button\n              data-testid=\"history-vehicles-filter\"\n              className={vehiclesFilter === VehiclesFilter.HISTORY ? 'active' : 'nonactive'}\n              onClick={() => handleVehiclesFilter(VehiclesFilter.HISTORY)}\n            >\n              {translate('filter.btn-history')}\n            </button>\n          </div>\n        )}\n        {EnvUtils.isRsvUnloadedVehiclesEnabled && unloadedVehicles && unloadedVehicles.length > 0 && (\n          <div\n            className={`unloaded-vehicles ${unloadedVehiclesIsActive ? 'unloaded-vehicles-selected' : ''}`}\n          >\n            <div className=\"row card-list-item mb-0\" onClick={() => navToUnloadedVehicles()}>\n              <div className=\"item\">\n                <h3>{translate('unloaded-vehicles.subtitle')}</h3>\n                <span className=\"num\">{unloadedVehicles.length}</span>\n              </div>\n            </div>\n          </div>\n        )}\n        {vehicles && !!vehicles.length && (\n          <div className=\"mt-0 mb-4\">\n            <CardList>\n              {vehicles?.map((vehicle) => {\n                return (\n                  <CardListItem\n                    key={vehicle?.mainInformation?.id}\n                    vehicle={vehicle}\n                    handleClick={() => handleOnClick(vehicle?.mainInformation?.id)}\n                    translate={translate}\n                    selectedVehicleID={selectedVehicleID}\n                    setVehicleID={setVehicleID}\n                    searchInAllowedSections={searchInAllowedSections}\n                  />\n                );\n              })}\n            </CardList>\n          </div>\n        )}\n        {timeoutWarning && (\n          <div className=\"css-reset\" data-testid=\"timeout-warning\">\n            <Message color=\"warning\" message={translate('timeout-warning')} />\n          </div>\n        )}\n        {notFoundWarning && (\n          <div className=\"css-reset\" data-testid=\"not-found-warning\">\n            <Message color=\"warning\" message={translate('not-found-warning')} />\n          </div>\n        )}\n        {longProcessing && (\n          <div className=\"css-reset\" data-testid=\"long-processing-warning\">\n            <Message color=\"warning\" message={translate('long-loading-warning')} />\n          </div>\n        )}\n        {showNoVehicles && (\n          <div\n            className=\"css-reset\"\n            data-testid={isSearchResult ? 'no-vehicles-filter' : 'no-vehicles'}\n          >\n            <Message\n              color=\"warning\"\n              message={translate(\n                isSearchResult ? 'filter.no-vehicles-filter' : 'filter.no-vehicles'\n              )}\n            />\n          </div>\n        )}\n        {/* All date loaded by infinity loader */}\n        {areVehiclesLoading && (\n          <div className=\"mt-4\">\n            <LoaderBox type=\"bax-mar\" />\n          </div>\n        )}\n        {!searchModel.lastSearchedText && vehiclesCount >= 100 && (\n          <Pagination\n            pageNumber={currentPage}\n            setPage={handlePageChange}\n            vehicleLimitReached={vehicleLimitReached}\n            nextPageLoading={nextPageLoading}\n            isHidden={isHidden}\n          />\n        )}\n      </div>\n    </ConditionalView>\n  );\n}\n","import { observer } from 'mobx-react-lite';\nimport './VehicleListDocument.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport RegisterViewModel from '../RegisterViewModel';\nimport { GovIcon, GovLink } from '@cendis/cedr-components';\nimport DateUtils from 'src/utils/DateUtils';\n\ntype VehicleListDocumentProps = {\n  document: { filename: string; contentType: string; size: number; expiresAt: string; createdAt: string };\n  translate: Translator;\n  vm: RegisterViewModel;\n};\n\nfunction formatBytes(bytes: number) {\n  const megabytes = Math.max(bytes / (1024 * 1024), 0.1);\n  return `${megabytes.toLocaleString('cs', { minimumFractionDigits: 0, maximumFractionDigits: 1 })} MB`;\n}\n\nconst VehicleListDocument = observer(({ document, translate, vm }: VehicleListDocumentProps) => {\n  const size = formatBytes(document.size);\n\n  const isPdf = document.contentType === 'application/pdf';\n  const isCsv = document.contentType === 'text/csv';\n\n  const extension = isPdf ? '.pdf' : isCsv ? '.csv' : '';\n\n  const text = `${translate('tabs.application.list-of-vehicles.document-text')} ${DateUtils.dateFormatCz(document.createdAt, true)} (${extension}, ${size})`;\n\n  return (\n    <div className=\"vehicle-list-document\">\n      {isPdf && (\n        <div>\n          <GovLink\n            text={text}\n            download={document.filename}\n            target=\"_blank\"\n            onClick={() => vm.fetchVehiclePdfDocument(document.filename)}\n            testId=\"fetch-vehicle-pdf-document\"\n          />\n          <GovIcon name=\"components/box-arrow-up-right\" size=\"m\" className=\"download-icon ms-2\" />\n        </div>\n      )}\n\n      {isCsv && (\n        <div>\n          <GovLink\n            text={text}\n            download={document.filename}\n            onClick={(e) => vm.fetchVehicleCsvDocument(document.filename)}\n            testId=\"fetch-vehicle-csv-document\"\n          />\n          <GovIcon name=\"components/download\" size=\"s\" className=\"download-icon ms-2\" />\n        </div>\n      )}\n\n      <p>\n        {translate('tabs.application.list-of-vehicles.document-availability')} {DateUtils.dateFormatCz(document.expiresAt)}\n      </p>\n    </div>\n  );\n});\n\nexport default VehicleListDocument;\n","import { Button, Dialog, GovLink, Input, ScreenContext } from '@cendis/cedr-components';\n\nimport { observer } from 'mobx-react-lite';\nimport RegisterViewModel from '../RegisterViewModel';\nimport './VehicleListEmailNotification.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\ntype VehicleListEmailNotificationProps = {\n  translate: Translator;\n  visible: boolean;\n  onClose: () => void;\n  vm: RegisterViewModel;\n};\n\nconst VehicleListEmailNotification = observer(\n  ({ visible, translate, onClose, vm }: VehicleListEmailNotificationProps) => {\n    const model = vm.vehicleDocumentsNotificationModel;\n\n    const isMandateRepresentation = vm.isMandateRepresentation;\n    // const isMandateRepresentation = true;\n\n    async function acceptNotification() {\n      await vm.acceptVehicleDocumentsNotificationEmail();\n\n      onModalClose();\n    }\n\n    function rejectNotification() {\n      onModalClose();\n    }\n\n    function onModalClose() {\n      model.reset();\n      onClose();\n    }\n\n    return (\n      <div className=\"component-vehicle-list-email-notification\">\n        <Dialog\n          headline={translate('tabs.application.list-of-vehicles.email-modal-headline')}\n          isVisible={visible}\n          onClose={onModalClose}\n          testId=\"application-list-of-vehicles-dialog-email\"\n        >\n          <p>{translate('tabs.application.list-of-vehicles.email-modal-text1')}</p>\n\n          <p>\n            {translate('tabs.application.list-of-vehicles.email-modal-text2')}\n            {!isMandateRepresentation && (\n              <>\n                <strong>\n                  {vm.userEmail ?? translate('tabs.application.list-of-vehicles.email-not-found')}\n                </strong>\n                <Button\n                  type=\"base\"\n                  iconStart=\"custom/arrow-repeat\"\n                  onClick={async () => await vm.refreshEmail()}\n                  loading={vm.emailBusyWatcher.isBusy}\n                  testId=\"application-list-of-vehicles-refresh-email\"\n                >\n                  {translate('tabs.application.list-of-vehicles.email-modal-refresh-email')}\n                </Button>\n              </>\n            )}\n          </p>\n          {isMandateRepresentation && (\n            <>\n              <ScreenContext value={vm}>\n                <Input\n                  label={translate('tabs.application.list-of-vehicles.email-label')}\n                  type=\"email\"\n                  required={true}\n                  target={model}\n                  property={'email'}\n                  className=\"email-input\"\n                />\n              </ScreenContext>\n            </>\n          )}\n\n          {!isMandateRepresentation && !vm.userEmail && (\n            <>\n              <p>\n                {translate('tabs.application.list-of-vehicles.email-modal-text3')}\n                <GovLink\n                  text={translate('tabs.application.list-of-vehicles.email-modal-link-text')}\n                  external\n                  size=\"s\"\n                  href={window.jsEnv.personSettings}\n                  target=\"_blank\"\n                  testId=\"person-settings-link\"\n                />\n              </p>\n              <p>\n                {translate('tabs.application.list-of-vehicles.email-modal-text4')}\n                <i>{translate('tabs.application.list-of-vehicles.email-modal-text5')}</i>\n              </p>\n            </>\n          )}\n\n          <div className=\"mt-4\">\n            <Button\n              text={translate('tabs.application.list-of-vehicles.email-modal-button-approve')}\n              type=\"solid\"\n              className=\"me-3\"\n              onClick={acceptNotification}\n              disabled={isMandateRepresentation && !vm.isValid}\n              testId=\"application-accept-notification\"\n            />\n\n            <Button\n              text={translate('tabs.application.list-of-vehicles.email-modal-button-reject')}\n              type=\"outlined\"\n              onClick={rejectNotification}\n              testId=\"application-reject-notification\"\n            />\n          </div>\n        </Dialog>\n      </div>\n    );\n  }\n);\n\nexport default VehicleListEmailNotification;\n","import { observer } from 'mobx-react-lite';\nimport RegisterViewModel from '../RegisterViewModel';\nimport './VehicleListDownload.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { Button, Message, Typography } from '@cendis/cedr-components';\nimport LoaderBox from '@components/layout/LoaderBox';\nimport VehicleListDocument from './VehicleListDocument';\nimport VehicleListEmailNotification from './VehicleListEmailNotification';\nimport { runInAction } from 'mobx';\nimport { useEffect } from 'react';\n\ntype VehicleListDownloadProps = {\n  vm: RegisterViewModel;\n  className?: string;\n};\n\nconst VehicleListDownload = observer(({ vm, className }: VehicleListDownloadProps) => {\n  const {\n    translate,\n    vehicleDocumentsDownloadWatcher,\n    vehicleListDownloadWatcher,\n    downloadVehicleDocuments,\n    documentsForDisplay,\n    vehicleDocumentsDownloadStatus,\n  } = vm;\n\n  useEffect(() => {\n    vm.registerSignalRHandler();\n\n    return () => vm.removeSignalRHandler();\n  }, []);\n\n  return (\n    <div className=\"css-reset\">\n      <div className={getClassName('vehicle-list-download', className)}>\n        <Typography type=\"headline\" size=\"s\" component={'h4'} className=\"mb-4\">\n          {translate('tabs.application.list-of-vehicles.text')}\n        </Typography>\n\n        {vehicleListDownloadWatcher.isBusy ? (\n          <LoaderBox type=\"line\" />\n        ) : (\n          <>\n            {vehicleDocumentsDownloadStatus === 'ready' &&\n              vm.documentsDownloadedInfoMessageVisible &&\n              (documentsForDisplay?.length ?? 0) > 0 && (\n                <Message icon=\"components/check-lg\" color=\"success\">\n                  {translate('tabs.application.list-of-vehicles.ready')}\n                </Message>\n              )}\n\n            {vehicleDocumentsDownloadStatus === 'ready' &&\n              !vm.documentsDownloadedInfoMessageVisible &&\n              (documentsForDisplay?.length ?? 0) > 0 && (\n                <Message color=\"primary\" icon=\"components/lightbulb-fill\">\n                  {translate('tabs.application.list-of-vehicles.existing')}\n                </Message>\n              )}\n\n            {vehicleDocumentsDownloadStatus === 'in-progress' && (\n              <Message color=\"neutral\" icon=\"components/loader\">\n                {translate('tabs.application.list-of-vehicles.in-progress')}\n              </Message>\n            )}\n\n            {vehicleDocumentsDownloadStatus === 'failed' && (\n              <Message color=\"error\" icon=\"components/exclamation-triangle-fill\">\n                {translate('tabs.application.list-of-vehicles.failed')}\n              </Message>\n            )}\n\n            {vehicleDocumentsDownloadStatus !== 'in-progress' && (\n              <Button\n                className=\"mt-4\"\n                onClick={async () => await downloadVehicleDocuments()}\n                loading={vehicleDocumentsDownloadWatcher.isBusy}\n                text={translate('tabs.application.list-of-vehicles.request-button')}\n                type=\"outlined\"\n                disabled={vehicleDocumentsDownloadWatcher.isBusy}\n                testId=\"downloader-document\"\n              />\n            )}\n\n            {vehicleDocumentsDownloadStatus === 'in-progress' && vm.emailNotificationButtonVisible && (\n              <Button\n                className=\"mt-4\"\n                text={translate('tabs.application.list-of-vehicles.email-button')}\n                type=\"outlined\"\n                onClick={() =>\n                  runInAction(() => {\n                    vm.emailNotificationModalVisible = true;\n                  })\n                }\n                testId=\"list-of-vehicles-email-button\"\n              />\n            )}\n\n            <div className=\"mt-4\">\n              {Array.isArray(documentsForDisplay) &&\n                documentsForDisplay.map((doc, idx) => (\n                  <VehicleListDocument document={doc} key={idx} translate={translate} vm={vm} />\n                ))}\n            </div>\n\n            <VehicleListEmailNotification\n              translate={translate}\n              visible={vm.emailNotificationModalVisible}\n              onClose={() => runInAction(() => (vm.emailNotificationModalVisible = false))}\n              vm={vm}\n            />\n          </>\n        )}\n      </div>\n    </div>\n  );\n});\n\nexport default VehicleListDownload;\n","import { observer } from 'mobx-react-lite';\nimport Tabs from '../../../../components/shared/Tabs/Tabs';\nimport TabPane from '../../../../components/shared/Tabs/TabPane';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport CardLink from '../../../../components/navigation/CardLink';\nimport { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport InfoBox from '../../../../components/shared/InfoBox/InfoBox';\nimport RegisterViewModel from '../RegisterViewModel';\nimport VehicleListDownload from './VehicleListDownload';\nimport ConditionalView from '@components/gov4/ConditionalView';\n\ntype PersonTypeTabsProps = {\n  translate: Translator;\n  className?: string;\n  navRoadVehicleRegisterDigi: IRoute;\n  navVehicleBuyer: IRoute;\n  navVehicleList: IRoute;\n  vm: RegisterViewModel;\n};\n\nconst PersonTypeTabs = observer(\n  ({\n    translate,\n    className = '',\n    navRoadVehicleRegisterDigi,\n    navVehicleBuyer,\n    navVehicleList,\n    vm,\n  }: PersonTypeTabsProps) => {\n    return (\n      <Tabs customClass={className} defaultTab=\"tab1\">\n        <TabPane tab=\"tab1\" label={translate('tabs.nav.application')}>\n          <ConditionalView\n            required={[\n              (x) => x.RSV_APPLICATION_UNSELECTED_CARS_EXPORT,\n              () => vm.vehicleRegisterService.vehiclesCount !== 0,\n            ]}\n          >\n            <VehicleListDownload vm={vm} />\n          </ConditionalView>\n\n          <div>\n            <CardLink\n              name={translate('tabs.application.list-of-applications.name')}\n              text={translate('tabs.application.list-of-applications.text')}\n              link={navVehicleList}\n              className=\"test-nav-listOfApplications\"\n              testId=\"nav-listOfApplications\"\n            />\n          </div>\n\n          {window.jsEnv.rsvApplicationsWithAttachmentDisabled == 'false' && (\n            <ConditionalView required={(x) => x.RSV_APPLICATION_UNSELECTED_NEW_CAR_APPLICATION}>\n              <div>\n                <CardLink\n                  text={translate('tabs.application.new-record.text')}\n                  name={translate('tabs.application.new-record.name')}\n                  link={navRoadVehicleRegisterDigi}\n                  className=\"test-nav-roadVehicleRegisterDigi\"\n                  testId=\"nav-roadVehicleRegisterDigi\"\n                />\n              </div>\n            </ConditionalView>\n          )}\n          <div>\n            {window.jsEnv.rsvApplicationsWithAttachmentDisabled == 'false' && (\n              <ConditionalView required={(x) => x.RSV_APPLICATION_UNSELECTED_CHANGE_OWNER_PART2}>\n                <CardLink\n                  text={translate('tabs.application.buyer.text')}\n                  name={translate('tabs.application.buyer.name')}\n                  link={navVehicleBuyer}\n                  className=\"test-nav-vehicleBuyer\"\n                  testId=\"nav-vehicleBuyer\"\n                />\n              </ConditionalView>\n            )}\n          </div>\n\n          {vm.vehicleRegisterService.vehiclesCount !== 0 && (\n            <InfoBox className=\"mt-3\" content={translate('tabs.application.footerInfo')} />\n          )}\n        </TabPane>\n      </Tabs>\n    );\n  }\n);\n\nexport default PersonTypeTabs;\n","import { observer } from 'mobx-react-lite';\nimport Tabs from '../../../../components/shared/Tabs/Tabs';\nimport TabPane from '../../../../components/shared/Tabs/TabPane';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport RegisterViewModel from '../RegisterViewModel';\nimport { Message, Typography } from '@cendis/cedr-components';\n\ntype UnloadedVehiclesTabsProps = {\n  translate: Translator;\n  className?: string;\n  vm: RegisterViewModel;\n};\n\nconst UnloadedVehiclesTabs = observer(({ translate, className, vm }: UnloadedVehiclesTabsProps) => {\n  return (\n    <div>\n      <Tabs customClass={className} defaultTab=\"tab1\">\n        <TabPane tab=\"tab1\" label={translate('unloaded-vehicles.tabs.nav.vehicles')}>\n          <div className=\"css-reset \">\n            <Message color=\"warning\" icon=\"components/info-circle-fill\">\n              {translate('unloaded-vehicles.tabs.message')}\n            </Message>\n            <Typography size=\"l\" component={'div'} type=\"body\" className=\"mt-4 mb-4\">\n              {translate('unloaded-vehicles.subtitle')} ({vm.unloadedVehicles?.length})\n            </Typography>\n            <Typography size=\"m\" component={'div'} type=\"body\" className=\"mb-3\">\n              {vm.unloadedVehicles?.map((vehicle) => (\n                <p className=\"mb-3\">\n                  {vehicle.manufacturer} {vehicle.commercialDesignation} - {vehicle.rz}\n                </p>\n              ))}\n            </Typography>\n          </div>\n        </TabPane>\n      </Tabs>\n    </div>\n  );\n});\n\nexport default UnloadedVehiclesTabs;\n","import { useMemo, useRef } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type RegisterViewModel from './RegisterViewModel';\nimport Container from '../../../components/layout/Container';\nimport RenderModel from '@cendis/cedr-framework/dist/view/RenderModel';\nimport './RegisterView.scss';\nimport Sidebar from './components/Sidebar';\nimport PersonTypeTabs from './components/PersonTypeTabs';\nimport ScreenContext from '../../../components/ScreenContext';\nimport useWindowSize from '@cendis/cedr-framework/dist/hooks/useWindowSize';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport UnloadedVehiclesTabs from './components/UnloadedVehiclesTabs';\nimport EnvUtils from 'src/utils/EnvUtils';\n\nconst RegisterView: View<RegisterViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n\n  const detailRef = useRef<HTMLDivElement>(null);\n\n  const [width] = useWindowSize();\n\n  const isLargeDisplay = useMemo(() => {\n    return width >= 1200;\n  }, [width]);\n\n  const handleOnClick = (vehicleId: number | null | undefined) => {\n    if (vehicleId) {\n      vm.setVehicleID(vehicleId.toString());\n      window.scrollTo({ top: 0, behavior: 'smooth' });\n    }\n  };\n\n  return (\n    <ScreenContext value={vm}>\n      {(vm?.vehicleRegisterService.vehicleID && vm?.vehicleDetailViewModel?.child) ||\n      vm.child === vm?.roadVehicleRegisterDigiViewModel ||\n      vm.child === vm?.buyerVehicleViewModel ? (\n        <RenderModel vm={vm.child} />\n      ) : (\n        <Container wide>\n          <div className=\"row\">\n            <h1 className=\"d-none d-md-block\">{translate('title')}</h1>\n            <Sidebar\n              isHidden={!!vm?.vehicleRegisterService.vehicleID}\n              translate={translate}\n              handleOnClick={handleOnClick}\n              handleVehiclesFilter={vm?.vehicleRegisterService.handleVehiclesFilter}\n              vehicles={vm?.vehicleRegisterService.currentPageVehicles}\n              vehiclesFilter={vm?.vehicleRegisterService.vehiclesFilter}\n              selectedVehicleID={vm?.vehicleRegisterService.vehicleID}\n              areVehiclesLoading={vm?.vehicleRegisterService.vehiclesLoadingBusyWatcher.isBusy}\n              nextPageLoading={vm?.vehicleRegisterService.nextPageLoading}\n              searchModel={vm.vehicleRegisterService.searchModel}\n              search={vm.searchVehicle}\n              currentPage={vm.vehicleRegisterService.currentPage}\n              setPage={vm.vehicleRegisterService.setPage}\n              vehicleLimitReached={vm.vehicleRegisterService.isCurrentPageLastPage}\n              vehiclesCount={vm.vehicleRegisterService.vehiclesCount}\n              longProcessing={vm.vehicleRegisterService.longProcessing}\n              timeoutWarning={vm.vehicleRegisterService.timeoutWarning}\n              notFoundWarning={vm.vehicleRegisterService.notFoundWarning}\n              setVehicleID={vm.setVehicleID}\n              unloadedVehicles={vm.unloadedVehicles}\n              unloadedVehiclesIsActive={vm.child === vm.unloadedVehiclesViewModel}\n              navToUnloadedVehicles={vm.navToUnloadedVehicles}\n              searchInAllowedSections={vm.searchInAllowedSections}\n              isSearchResult={vm.vehicleRegisterService.isSearchResult}\n            />\n            <div className=\"col-md-7\" ref={detailRef}>\n              {EnvUtils.isRsvUnloadedVehiclesEnabled && vm.child === vm.unloadedVehiclesViewModel ? (\n                <UnloadedVehiclesTabs vm={vm} translate={vm.translate} />\n              ) : (\n                <>\n                  {vm.child === vm.vehicleDetailViewModel ? (\n                    <RenderModel vm={vm.child} />\n                  ) : (\n                    /* TABS FOR LARGE SCREEN */\n                    isLargeDisplay && (\n                      <ConditionalView required={(x) => x.RSV_APPLICATION_UNSELECTED}>\n                        <PersonTypeTabs\n                          className=\"d-none d-xl-block\"\n                          navRoadVehicleRegisterDigi={vm.navRoadVehicleRegisterDigi}\n                          navVehicleBuyer={vm.navVehicleBuyer}\n                          navVehicleList={vm.navVehicleList}\n                          vm={vm}\n                          translate={vm.translate}\n                        />\n                      </ConditionalView>\n                    )\n                  )}\n\n                  {/* TABS FOR SMALL SCREEN */}\n                  {vm.child !== vm.vehicleDetailViewModel && !isLargeDisplay && (\n                    <ConditionalView required={(x) => x.RSV_APPLICATION_UNSELECTED}>\n                      <PersonTypeTabs\n                        className=\"d-block d-xl-none\"\n                        navRoadVehicleRegisterDigi={vm.navRoadVehicleRegisterDigi}\n                        navVehicleBuyer={vm.navVehicleBuyer}\n                        navVehicleList={vm.navVehicleList}\n                        vm={vm}\n                        translate={vm.translate}\n                      />\n                    </ConditionalView>\n                  )}\n                </>\n              )}\n            </div>\n          </div>\n        </Container>\n      )}\n    </ScreenContext>\n  );\n});\n\nexport default RegisterView;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport LoaderBox from '../../../components/layout/LoaderBox';\nimport type RegisterViewModel from './RegisterViewModel';\nimport Container from '../../../components/layout/Container';\n\nconst RegisterViewLoading: View<RegisterViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return (\n    <Container wide>\n      <h1>{translate('title')}</h1>\n      <div className=\"row mt-2\">\n        <div className=\"col-md-5\">\n          <LoaderBox type=\"box-long\" />\n        </div>\n        <div className=\"col-md-7\">\n          <LoaderBox type=\"bax-mar\" />\n        </div>\n      </div>\n    </Container>\n  );\n});\n\nexport default RegisterViewLoading;\n","import { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type RoadVehicleRegisterDigiViewModel from './RoadVehicleRegisterDigiViewModel';\nimport Container from '../../../../components/layout/Container';\nimport Button from '../../../../components/shared/Button/Button';\nimport { Typography } from '@components/shared/Typography/Typography';\n\nconst RoadVehicleRegisterDigiView: View<RoadVehicleRegisterDigiViewModel> = observer(({ vm }) => {\n  const { translate, isLoading } = vm;\n\n  return (\n    <>\n      <Container className=\"rsv-intro\">\n        <Typography component=\"h1\" className=\"thin mb-4\">\n          {translate('title')}\n        </Typography>\n\n        <Typography className=\"mb-4\">{translate('preDescription')}</Typography>\n        <Typography className=\"mb-4\">{translate('description')}</Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('processSteps.stepsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-4\">\n          <Typography component=\"li\">{translate('processSteps.step1')}</Typography>\n          <Typography component=\"li\">{translate('processSteps.step2')}</Typography>\n          <Typography component=\"li\">{translate('processSteps.step3')}</Typography>\n          <Typography component=\"li\">\n            {translate('processSteps.step4')}&nbsp;\n            <a data-testid=\"tariff-charges-link\" target=\"_blank\" href=\"/tariff-charges\">\n              {vm.translateTariffCharges('tariff-charges')}\n            </a>\n            .\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('requiredDocuments.requiredDocumentsHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"gov-list mb-5\">\n          <Typography component=\"li\">{translate('requiredDocuments.step4')}</Typography>\n          <Typography component=\"li\">{translate('requiredDocuments.step5')}</Typography>\n          <Typography component=\"li\">{translate('requiredDocuments.step6')}</Typography>\n          <Typography component=\"li\">{translate('requiredDocuments.step7')}</Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"h4 mb-4\">\n          {translate('whatToExpect.whatToExpectHeading')}\n        </Typography>\n        <Typography component=\"ol\" className=\"mb-5\">\n          <Typography component=\"li\">{translate('whatToExpect.step1')}</Typography>\n          <Typography component=\"li\">{translate('whatToExpect.step2')}</Typography>\n        </Typography>\n\n        <div className=\"d-flex justify-content-between\">\n          <Button\n            testId=\"back-button\"\n            onClick={() => vm.navigateBack()}\n            text={translate('navBack')}\n            outlined\n          />\n          <Button\n            testId=\"continue-button\"\n            onClick={() => vm.navigateToForm()}\n            text={translate('fillApplication')}\n            isBusy={isLoading}\n          />\n        </div>\n      </Container>\n    </>\n  );\n});\n\nexport default RoadVehicleRegisterDigiView;\n","import { Inject, Service } from 'typedi';\nimport { makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport RoadVehicleRegisterDigiView from './RoadVehicleRegisterDigiView';\nimport RoadVehicleRegisterDigiFormViewModel from './00_form/RoadVehicleRegisterDigiFormViewModel';\nimport SummaryRoadVehicleRegisterDigiViewModel from './01_summary/SummaryRoadVehicleRegisterDigiViewModel';\nimport SummaryRoadVehicleRegisterDigiViewConfirmedViewModel from './02_confirmation/SummaryRoadVehicleRegisterDigiViewConfirmedViewModel';\nimport ApplicationService from './ApplicationService';\nimport RegisterViewModel from '../../register/RegisterViewModel';\n\n@Service()\n@AddChildrenView()\n@AddDefaultView(RoadVehicleRegisterDigiView)\nexport default class RoadVehicleRegisterDigiViewModel extends BaseScreen {\n  @observable isLoading: boolean = false;\n\n  get pathNode(): string {\n    return 'new-vehicle-register';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private vehicleRegisterService: VehicleRegisterService,\n    @Inject() private applicationService: ApplicationService,\n    @Inject() private roadVehicleRegisterDigiFormViewModel: RoadVehicleRegisterDigiFormViewModel,\n    @Inject()\n    private summaryRoadVehicleRegisterDigiViewModel: SummaryRoadVehicleRegisterDigiViewModel,\n    @Inject()\n    private summaryRoadVehicleRegisterDigiViewConfirmedViewModel: SummaryRoadVehicleRegisterDigiViewConfirmedViewModel\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(this.roadVehicleRegisterDigiFormViewModel);\n    this.children.push(this.summaryRoadVehicleRegisterDigiViewModel);\n    this.children.push(this.summaryRoadVehicleRegisterDigiViewConfirmedViewModel);\n  }\n\n  deactivate() {\n    this.applicationService.reset();\n  }\n\n  navigateToForm() {\n    this.navigator(RoadVehicleRegisterDigiFormViewModel).go();\n  }\n\n  navigateBack() {\n    this.navigator(RegisterViewModel).go();\n  }\n\n  translate = translate('vehicle-register.applications.road-vehicle-register', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport Container from '../../../../../components/layout/Container';\nimport ScreenContext from '../../../../../components/ScreenContext';\nimport Button from '../../../../../components/shared/Button/Button';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport type BuyerOwnerOrOperatorChangedViewModel from './BuyerOwnerOrOperatorChangedViewModel';\nimport { Typography } from '@components/shared/Typography/Typography';\nimport './BuyerOwnerOrOperatorChangedView.scss';\n\nconst BuyerOwnerOrOperatorChangedView: View<BuyerOwnerOrOperatorChangedViewModel> = observer(({ vm }) => {\n  const { sharedTranslate, translate, navBack, navToApplicationLoader } = vm;\n\n  return (\n    <ScreenContext value={vm}>\n      <Container>\n        <Typography component=\"h1\" className=\"thin mb-4\">\n          {translate('title')}\n        </Typography>\n        <Typography className=\"mb-4\">{translate('intro.info-5')}</Typography>\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('intro.header-2')}\n        </Typography>\n        <Typography>{translate('intro.info-2.section-1')}</Typography>\n        <Typography className=\"mb-4\">{translate('intro.info-2.section-2')}</Typography>\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('intro.header-3')}\n        </Typography>\n        <Typography component=\"ul\" className=\"gov-list gov-list--dash mb-4\">\n          <Typography component=\"li\">{translate('intro.info-3.section-1')}</Typography>\n          <Typography component=\"li\">\n            {translate('intro.info-3.section-2')}{' '}\n            <a\n              data-testid=\"tariff-charges-link\"\n              target=\"_blank\"\n              href={translate('intro.info-3.section-2-link')}\n              rel=\"noreferrer\"\n            >\n              {translate('intro.info-3.section-2-2')}\n            </a>\n          </Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('intro.header-4')}\n        </Typography>\n        <Typography component=\"ul\" className=\"gov-list gov-list--dash mb-5\">\n          <Typography component=\"li\">{translate('intro.info-4.section-1')}</Typography>\n          <Typography component=\"li\">{translate('intro.info-4.section-2')}</Typography>\n        </Typography>\n\n        <Typography component=\"h2\" className=\"bold mb-1\">\n          {translate('intro.header-6')}\n        </Typography>\n\n        <Typography className=\"mb-1\">\n          {translate('intro.info-6.info-1-1')}\n          <strong>{translate('intro.info-6.info-1-2')}</strong>\n          {translate('intro.info-6.info-1-3')}\n\n          <strong>{translate('intro.info-6.info-1-4')}</strong>\n          {translate('intro.info-6.info-1-5')}\n          <strong>{translate('intro.info-6.info-1-6')}</strong>\n        </Typography>\n        <Typography component=\"ol\" className=\"mb-4\">\n          <Typography component=\"li\">{translate('intro.info-6.section-1')}</Typography>\n          <Typography component=\"li\">\n            {translate('intro.info-6.section-2-1')}\n\n            <a data-testid=\"tariff-charges-link2\" target=\"_blank\" href=\"/tariff-charges\">\n              {vm.translateTariffCharges('tariff-charges')}\n            </a>\n            {translate('intro.info-6.section-2-2')}\n          </Typography>\n        </Typography>\n\n        <Typography className=\"mb-1\">\n          {translate('intro.info-6.info-2-1')}\n          <strong>{translate('intro.info-6.info-2-2')}</strong>\n        </Typography>\n\n        <Typography component=\"ol\" className=\"mb-5\">\n          <Typography component=\"li\">{translate('intro.info-6.section-3')}</Typography>\n          <Typography component=\"li\">{translate('intro.info-6.section-4')}</Typography>\n          <Typography component=\"li\">{translate('intro.info-6.section-5')}</Typography>\n          <Typography component=\"li\">\n            {translate('intro.info-6.section-6-1')}\n\n            <a data-testid=\"tariff-charges-link3\" target=\"_blank\" href=\"/tariff-charges\">\n              {vm.translateTariffCharges('tariff-charges')}\n            </a>\n            {translate('intro.info-6.section-6-2')}\n          </Typography>\n        </Typography>\n\n        {/* ACTION BUTTONS */}\n        <div className=\"d-flex justify-content-between mt-5\">\n          <Button testId=\"back-button\" outlined onClick={navBack} text={sharedTranslate('back')} />\n          <Button\n            testId=\"continue-button\"\n            onClick={navToApplicationLoader}\n            text={sharedTranslate('fillApplication')}\n          />\n        </div>\n      </Container>\n    </ScreenContext>\n  );\n});\n\nexport default BuyerOwnerOrOperatorChangedView;\n","import { Inject, Service } from 'typedi';\nimport { action, makeObservable, observable } from 'mobx';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport ApplicationLoaderViewModel from './00_applicationLoader/ApplicationLoaderViewModel';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport FormViewModel from './01_form/FormViewModel';\nimport BuyerOwnerOrOperatorChangedView from './BuyerOwnerOrOperatorChangedView';\nimport { REQUEST_CODE_FOR_RSV_BUYER } from 'src/constants/SessionStorageKeys';\nimport SessionService from 'src/services/SessionService';\n\n@Service()\n@AddChildrenView()\n@AddDefaultView(BuyerOwnerOrOperatorChangedView)\nexport default class BuyerOwnerOrOperatorChangedViewModel extends BaseScreen {\n  @observable busyWatcher = new BusyWatcher();\n\n  get pathNode(): string {\n    return 'buyer-vehicle';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() private applicationLoaderViewModel: ApplicationLoaderViewModel,\n    @Inject() private formViewModel: FormViewModel,\n    @Inject() private sessionService: SessionService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(applicationLoaderViewModel);\n    this.children.push(formViewModel);\n  }\n\n  @action.bound\n  navBack() {\n    this.navigator('../').go();\n  }\n\n  @action.bound\n  navToApplicationLoader() {\n    this.sessionService.remove(REQUEST_CODE_FOR_RSV_BUYER);\n    this.navigator(ApplicationLoaderViewModel).go();\n  }\n\n  translate = translate('vehicle-register.applications.buyer', this);\n  sharedTranslate = translate('vehicle-register.shared', this);\n  translateTariffCharges = translate('tariff-charges', this);\n}\n","import AddTranslationKey from '@cendis/cedr-framework/dist/lang/AddTranslationKey';\nimport { ValidationDescriptor } from '@cendis/cedr-framework/dist/validation/types';\nimport { makeObservable, observable, runInAction } from 'mobx';\nimport { Validators } from 'src/data/validators/registry';\n\n@AddTranslationKey('vehicle-list-email-notification')\nexport default class VehicleEmailNotificationModel {\n  @observable public email = '';\n\n  constructor() {\n    makeObservable(this);\n\n    this.reset();\n  }\n\n  reset() {\n    runInAction(() => {\n      this.email = '';\n    });\n  }\n}\n\nexport const VehicledListEmailNotificationValidators: ValidationDescriptor<VehicleEmailNotificationModel, Validators> = {\n  email: {\n    email: {\n      message: 'email',\n    },\n    required: {\n      message: 'required',\n    },\n  },\n};\n","import { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport UnloadedVehiclesViewModel from './UnloadedVehiclesViewModel';\n\nconst UnloadedVehiclesView: View<UnloadedVehiclesViewModel> = observer(({ vm }) => {\n  return <></>;\n});\n\nexport default UnloadedVehiclesView;\n","import AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport { makeObservable, observable } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AuthService from '../../../../services/AuthService';\nimport meta from '../../../../meta';\nimport UnloadedVehiclesView from './UnloadedVehiclesView';\n\n@AddDefaultView(UnloadedVehiclesView)\n@Service()\nexport default class UnloadedVehiclesViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable meta = meta('unloaded-vehicles-title', this);\n\n  get pathNode(): string {\n    return 'unloaded-vehicles';\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() public authService: AuthService\n  ) {\n    super();\n    makeObservable(this);\n  }\n\n  translate = translate('vehicle-register.unloaded-vehicles', this);\n}\n","import { Inject, Service } from 'typedi';\nimport { action, computed, makeObservable, runInAction, when } from 'mobx';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport RegisterView from './RegisterView';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport RegisterViewLoading from './RegisterViewLoading';\nimport VehicleRegisterService from '../../../services/vehicle/VehicleRegisterService';\nimport VehicleInsuranceService from '../../../services/vehicle/VehicleInsuranceService';\nimport VehicleDetailViewModel from './vehicleDetail/VehicleDetailViewModel';\nimport AuthService from '../../../services/AuthService';\nimport RoadVehicleRegisterDigiViewModel from '../applicationsDigi/RoadVehicleRegisterView/RoadVehicleRegisterDigiViewModel';\nimport BuyerOwnerOrOperatorChangedViewModel from '../applicationsDigi/OwnerOrOperatorChangedView/buyer/BuyerOwnerOrOperatorChangedViewModel';\nimport ApiService from '../../../services/ApiService';\nimport ValidationContext, { ValidationState } from '@cendis/cedr-framework/dist/validation/ValidationContext';\nimport PdfUtils from '../../../utils/PdfUtils';\nimport MandatesService from 'src/services/MandatesService';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\nimport VehicleEdazService from '../../../services/vehicle/VehicleEdazService';\nimport { VehicleTabsEnum } from '../../../enums/VehicleTabs';\nimport { observable } from 'mobx';\nimport { EgonServiceBus_WebApi_Responses_V1_VehicleDocuments_VehicleDocumentResponse } from 'src/data/egon/api/models/EgonServiceBus_WebApi_Responses_V1_VehicleDocuments_VehicleDocumentResponse';\nimport { ToastProps, ToastService } from '@cendis/cedr-components';\nimport { UserService } from 'src/services/UserService';\nimport VehicleDocumentsNotificationModel, {\n  VehicledListEmailNotificationValidators,\n} from './models/VehicleListEmailNotificationModel';\nimport {\n  ApiError,\n  Domain_Contracts_Enums_Rsv_DocumentCreationStatus,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleUnloadedResponse,\n} from 'src/data/egon/api';\nimport SignalRService from 'src/services/SignalRService';\nimport { SignalRMethods } from 'src/types/SignalRTypes';\nimport ErrorService from 'src/services/ErrorService';\nimport UnloadedVehiclesViewModel from './unloadedVehicles/UnloadedVehiclesViewModel';\nimport { Domain_Contracts_Models_AllowedSection } from 'src/data/egon/apiV2';\nimport ApplicationListViewModel from '../applicationsList/ApplicationListViewModel';\n\n@AddDefaultView(RegisterView)\n@AddBusyView(RegisterViewLoading)\n@Service()\nexport default class RegisterViewModel extends BaseScreen {\n  emailBusyWatcher = new BusyWatcher();\n  busyWatcher = new BusyWatcher();\n  loadUnloadedVehiclesBusyWatcher = new BusyWatcher();\n  validation = new ValidationContext();\n  vehicleDocumentsDownloadWatcher = new BusyWatcher();\n  vehicleListDownloadWatcher = new BusyWatcher();\n\n  @observable vehicleDocumentsRequestId: string | undefined = undefined;\n  @observable vehicleDocuments:\n    | Array<EgonServiceBus_WebApi_Responses_V1_VehicleDocuments_VehicleDocumentResponse>\n    | undefined = undefined;\n  @observable unloadedVehicles:\n    | Array<EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleUnloadedResponse>\n    | undefined = undefined;\n  @observable vehicleDocumentsDownloadStatus: 'ready' | 'in-progress' | 'failed' = 'ready';\n  @observable emailNotificationModalVisible = false;\n  @observable documentsDownloadedInfoMessageVisible = false;\n  @observable emailNotificationButtonVisible = true;\n  @observable vehicleDocumentsNotificationModel: VehicleDocumentsNotificationModel =\n    new VehicleDocumentsNotificationModel();\n\n  private pdfTimeoutId?: NodeJS.Timeout;\n  private csvTimeoutId?: NodeJS.Timeout;\n  private listCreationStarted = false;\n  private listCreationResetId?: NodeJS.Timeout;\n\n  get pathNode(): string {\n    return 'register';\n  }\n\n  get title(): string {\n    return this.translate('title');\n  }\n\n  @computed\n  get documentsForDisplay() {\n    if (!this.vehicleDocuments) {\n      return undefined;\n    }\n\n    let documents: Array<EgonServiceBus_WebApi_Responses_V1_VehicleDocuments_VehicleDocumentResponse> = [];\n    const pdf = this.vehicleDocuments.find((x) => x.contentType === 'application/pdf');\n    if (pdf) {\n      documents.push(pdf);\n    }\n\n    const csv = this.vehicleDocuments.find((x) => x.contentType === 'text/csv');\n    if (csv) {\n      documents.push(csv);\n    }\n\n    return documents;\n  }\n\n  @computed\n  get personType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  @computed\n  get vehicleLimitReached() {\n    return this.vehicleRegisterService.isCurrentPageLastPage;\n  }\n\n  @computed\n  get fileName() {\n    let filename = 'vypis-vsech-historicky-vlastnenych-a-provozovanych-vozidel';\n    if (this.mandatesService.personType === MandatePersonType.PO) {\n      filename = 'vypis-vlastnenych-a-provozovanych-vozidel';\n    }\n    return filename;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() public vehicleDetailViewModel: VehicleDetailViewModel,\n    @Inject() public authService: AuthService,\n    @Inject() public roadVehicleRegisterDigiViewModel: RoadVehicleRegisterDigiViewModel,\n    @Inject() public buyerVehicleViewModel: BuyerOwnerOrOperatorChangedViewModel,\n    @Inject() private mandatesService: MandatesService,\n    @Inject() private apiService: ApiService,\n    @Inject() private vehicleInsuranceService: VehicleInsuranceService,\n    @Inject() public vehicleEdazService: VehicleEdazService,\n    @Inject() public unloadedVehiclesViewModel: UnloadedVehiclesViewModel,\n    @Inject() private toastService: ToastService,\n    @Inject() private userService: UserService,\n    @Inject() private signalRService: SignalRService,\n    @Inject() public errorService: ErrorService\n  ) {\n    super();\n    this.children.push(vehicleDetailViewModel);\n    this.children.push(buyerVehicleViewModel);\n    this.children.push(roadVehicleRegisterDigiViewModel);\n    this.children.push(unloadedVehiclesViewModel);\n\n    makeObservable(this);\n  }\n\n  async notifyNavigation() {\n    this.vehicleRegisterService.deselectVehicle();\n    await this.CheckDocumentCreationStatus(false);\n  }\n\n  @Watch<RegisterViewModel>((s: { busyWatcher: any }) => s.busyWatcher)\n  async activate(): Promise<void> {\n    await Promise.all([\n      this.vehicleEdazService.getVignetteTypes(),\n      this.vehicleRegisterService.init(),\n      this.getVehicleDocuments(),\n      this.getUnloadedVehicles(),\n      this.userService.getContactInfo(),\n    ]);\n\n    this.validation.attachDescriptor(\n      this.vehicleDocumentsNotificationModel,\n      VehicledListEmailNotificationValidators\n    );\n  }\n\n  @action.bound\n  deactivate() {\n    this.vehicleRegisterService.reset();\n    this.vehicleInsuranceService.reset();\n    this.vehicleEdazService.reset();\n    this.vehicleDocuments = undefined;\n    this.vehicleDocumentsRequestId = undefined;\n    this.vehicleDocumentsDownloadStatus = 'ready';\n    this.vehicleDocumentsNotificationModel.reset();\n    this.documentsDownloadedInfoMessageVisible = false;\n  }\n\n  @action.bound\n  setVehicleID(vehicleId: string, tab?: VehicleTabsEnum) {\n    this.vehicleRegisterService.deselectVehicle();\n    this.vehicleRegisterService.vehicleID = vehicleId;\n    if (this.child === this.vehicleDetailViewModel) {\n      this.vehicleDetailViewModel.loadVehicle(); //totiz muze se stat ze jsem uz na detailu a chci znova detail pak se activate nezavola\n    }\n    if (tab) {\n      return this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go({ tab });\n    } else {\n      return this.navigator(VehicleDetailViewModel, {\n        vehicleID: this.vehicleRegisterService.vehicleID,\n      }).go();\n    }\n  }\n\n  @action.bound\n  searchInAllowedSections(\n    vehicle: { allowedSections?: Domain_Contracts_Models_AllowedSection[] | null },\n    allowedSectionEnum: Domain_Contracts_Models_AllowedSection\n  ): boolean {\n    return !!vehicle.allowedSections?.some((allowed) => allowed === allowedSectionEnum);\n  }\n\n  @action.bound\n  navToUnloadedVehicles() {\n    this.vehicleRegisterService.deselectVehicle();\n    return this.navigator(UnloadedVehiclesViewModel).go();\n  }\n\n  @action.bound\n  async searchVehicle() {\n    this.navigator(RegisterViewModel).go();\n    await this.vehicleRegisterService.searchVehicle();\n  }\n\n  @computed get navRoadVehicleRegisterDigi() {\n    return this.navigator(RoadVehicleRegisterDigiViewModel);\n  }\n\n  @computed get navVehicleBuyer() {\n    return this.navigator(BuyerOwnerOrOperatorChangedViewModel);\n  }\n  @computed get navVehicleList() {\n    return this.navigator(ApplicationListViewModel);\n  }\n\n  @computed get userEmail() {\n    return this.userService.contactInfo?.email;\n  }\n\n  @Watch<RegisterViewModel>((s) => s.emailBusyWatcher)\n  async refreshEmail() {\n    await this.userService.getContactInfo(true);\n  }\n\n  @computed get isMandateRepresentation() {\n    return this.mandatesService.isRepresentation;\n  }\n\n  @action.bound\n  async acceptVehicleDocumentsNotificationEmail() {\n    const emailAddress = (\n      this.isMandateRepresentation ? this.vehicleDocumentsNotificationModel.email : this.userEmail\n    )?.trim();\n\n    if (this.vehicleDocumentsRequestId && emailAddress) {\n      try {\n        await this.apiService.egonApi.vehicleDocuments.putPdApiEgonV1VehicleDocumentsEmail(\n          this.vehicleDocumentsRequestId,\n          {\n            emailAddress,\n          }\n        );\n      } catch (e: any) {\n        if (e instanceof ApiError && e.status === 404) {\n          this.errorService.logCatchError(\n            e,\n            'RegisterViewModel',\n            'acceptVehicleDocumentsNotificationEmail - not found'\n          );\n          runInAction(async () => {\n            await this.getVehicleDocuments();\n          });\n          return;\n        } else {\n          this.errorService.logCatchError(\n            e,\n            'RegisterViewModel',\n            'acceptVehicleDocumentsNotificationEmail - general error'\n          );\n          throw e;\n        }\n      }\n      this.vehicleDocumentsToastNotificationOn();\n    }\n    await this.CheckDocumentCreationStatus(false);\n  }\n\n  @action.bound\n  async CheckDocumentCreationStatus(checkError: boolean) {\n    var status =\n      await this.apiService.egonApi.vehicleDocuments.getPdApiEgonV1VehicleDocumentsCreationStatus();\n    runInAction(() => {\n      this.vehicleDocumentsDownloadStatus =\n        status.status === Domain_Contracts_Enums_Rsv_DocumentCreationStatus.AVAILABLE\n          ? checkError && status.lastCreationFailed\n            ? 'failed'\n            : 'ready'\n          : 'in-progress';\n\n      this.emailNotificationButtonVisible =\n        status.status !== Domain_Contracts_Enums_Rsv_DocumentCreationStatus.IN_PROGRESS_WITH_NOTIFICATION;\n      this.vehicleDocumentsRequestId = status.requestId ?? '';\n      this.documentsDownloadedInfoMessageVisible = false;\n    });\n  }\n\n  private vehicleDocumentsToastNotificationOn() {\n    const props: Omit<ToastProps, 'children'> = {\n      color: 'success',\n      icon: 'components/check-lg',\n      testId: 'vehicle-documents-toast-notification',\n      animateDirection: 'forward',\n    };\n\n    this.toastService.addToast(\n      'notification-on',\n      this.translate('tabs.application.list-of-vehicles.toast-notification-on'),\n      props\n    );\n  }\n\n  private vehicleDocumentsToastReady() {\n    const props: Omit<ToastProps, 'children'> = {\n      color: 'success',\n      icon: 'components/check-lg',\n      testId: 'vehicle-documents-toast-ready',\n      animateDirection: 'forward',\n    };\n\n    this.toastService.addToast(\n      'ready',\n      this.translate('tabs.application.list-of-vehicles.toast-ready'),\n      props\n    );\n  }\n\n  private vehicleDocumentsToastInProgress() {\n    const props: Omit<ToastProps, 'children'> = {\n      color: 'success',\n      icon: 'components/check-lg',\n      testId: 'vehicle-documents-toast-progress',\n      animateDirection: 'forward',\n    };\n\n    this.toastService.addToast(\n      'in-progress',\n      this.translate('tabs.application.list-of-vehicles.toast-in-progress'),\n      props\n    );\n  }\n\n  private vehicleDocumentsToastFailed() {\n    const props: Omit<ToastProps, 'children'> = {\n      color: 'error',\n      icon: 'components/exclamation-triangle-fill',\n      testId: 'vehicle-documents-toast-failed',\n      animateDirection: 'forward',\n    };\n    this.toastService.addToast(\n      'failed',\n      this.translate('tabs.application.list-of-vehicles.toast-failed'),\n      props\n    );\n  }\n\n  @computed\n  get isValid() {\n    const model = this.vehicleDocumentsNotificationModel;\n\n    const emailState = this.validation.getValidation(model).getProperty('email').state;\n    return emailState === ValidationState.valid;\n  }\n\n  registerSignalRHandler() {\n    this.signalRService.addEventListener(SignalRMethods.RECEIVE_NOTIFICATION, this.onSignalRNotification);\n  }\n\n  removeSignalRHandler() {\n    this.signalRService.removeEventListener(SignalRMethods.RECEIVE_NOTIFICATION, this.onSignalRNotification);\n  }\n\n  @action.bound\n  private async onSignalRNotification() {\n    await this.getVehicleDocuments();\n    await this.CheckDocumentCreationStatus(true);\n    runInAction(() => {\n      this.emailNotificationModalVisible = false;\n      this.documentsDownloadedInfoMessageVisible = true;\n    });\n    this.showToastMessage();\n  }\n\n  @Watch<RegisterViewModel>((s) => s.vehicleListDownloadWatcher)\n  @action.bound\n  async getVehicleDocuments() {\n    const documents = await this.apiService.egonApi.vehicleDocuments.getPdApiEgonV1VehicleDocuments();\n\n    runInAction(() => {\n      this.vehicleDocuments = documents.sort((one, two) =>\n        new Date(one.createdAt) > new Date(two.createdAt) ? -1 : 1\n      );\n    });\n  }\n\n  @Watch<RegisterViewModel>((s) => s.loadUnloadedVehiclesBusyWatcher)\n  @action.bound\n  async getUnloadedVehicles() {\n    if (window.jsEnv.rsvUnloadedVehiclesEnabled == 'true' && this.mandatesService.isRepresentation) {\n      try {\n        const vehicles = await this.apiService.egonApi.vehicle.getPdApiEgonV1VehicleUnloadedVehicles();\n\n        if (Array.isArray(vehicles)) {\n          const currentVehicleIds = new Set<number>();\n\n          for (const [, pageVehicles] of this.vehicleRegisterService.vehicles) {\n            for (const vehicle of pageVehicles) {\n              if (vehicle?.mainInformation?.id) {\n                currentVehicleIds.add(vehicle.mainInformation.id);\n              }\n            }\n          }\n\n          const filteredUnloadedVehicles = vehicles.filter((unloadedVehicle) => {\n            return !currentVehicleIds.has(unloadedVehicle.vehicleId!);\n          });\n\n          runInAction(() => {\n            this.unloadedVehicles = filteredUnloadedVehicles;\n          });\n        }\n      } catch (e: any) {\n        this.errorService.logCatchError(e, 'RegisterViewModel', 'getUnloadedVehicles');\n      }\n    }\n  }\n\n  @Watch<RegisterViewModel>((s) => s.vehicleDocumentsDownloadWatcher)\n  @action.bound\n  async downloadVehicleDocuments() {\n    try {\n      const documents = await this.apiService.egonApi.vehicleDocuments.postPdApiEgonV1VehicleDocuments();\n\n      if (Array.isArray(documents)) {\n        runInAction(() => {\n          this.vehicleDocuments = documents.sort((one, two) =>\n            new Date(one.createdAt) > new Date(two.createdAt) ? -1 : 1\n          );\n          this.vehicleDocumentsDownloadStatus = 'ready';\n        });\n      } else {\n        runInAction(() => {\n          this.vehicleDocumentsRequestId = documents?.requestId;\n          this.vehicleDocumentsDownloadStatus = 'in-progress';\n        });\n      }\n    } catch (e: any) {\n      if (e instanceof ApiError && e.status === 409 && e.body.type === 'RSV_VEHICLE_DOCUMENTS_CONFLICT') {\n        this.errorService.logCatchError(e, 'RegisterViewModel', 'downloadVehicleDocuments - conflict');\n        // creation is already in progress\n        this.vehicleDocumentsDownloadStatus = 'in-progress';\n      } else {\n        this.errorService.logCatchError(e, 'RegisterViewModel', 'downloadVehicleDocuments - general error');\n        runInAction(() => {\n          this.vehicleDocumentsDownloadStatus = 'failed';\n        });\n      }\n    }\n\n    this.showToastMessage();\n  }\n\n  private showToastMessage() {\n    switch (this.vehicleDocumentsDownloadStatus) {\n      case 'ready':\n        this.vehicleDocumentsToastReady();\n        break;\n      case 'in-progress':\n        this.vehicleDocumentsToastInProgress();\n        break;\n      case 'failed':\n        this.vehicleDocumentsToastFailed();\n        break;\n    }\n  }\n\n  @action.bound\n  async fetchVehiclePdfDocument(filename: string) {\n    const blob = await this.downloadVehiclesListData(filename);\n    if (blob) {\n      PdfUtils.downloadBlob(blob, filename.substring(0, filename.length - 4));\n    }\n  }\n\n  @action.bound\n  async fetchVehicleCsvDocument(filename: string) {\n    const blob = await this.downloadVehiclesListData(filename);\n    if (blob) {\n      PdfUtils.downloadBlob(blob, filename.substring(0, filename.length - 4), 'csv');\n    }\n  }\n\n  @action.bound\n  private async downloadVehiclesListData(filename: string) {\n    try {\n      return await this.apiService.egonApi.vehicleDocuments.getPdApiEgonV1VehicleDocuments1(filename);\n    } catch (e: any) {\n      this.errorService.logCatchError(\n        e,\n        'RegisterViewModel',\n        `downloadVehiclesListData -fetchVehicle${filename.endsWith('.pdf') ? 'Pdf' : 'Csv'}Document`\n      );\n      return null;\n    }\n  }\n\n  translate = translate('vehicle-register', this);\n}\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './Group.scss';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype AdditionalGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const AdditionalGroup = ({ translate, vehicle }: AdditionalGroupProps) => {\n  const hasAdditionalData = () => {\n    if (!vehicle) return false;\n\n    return [\n      vehicle.information?.additionalInformation?.maxSpeed,\n      vehicle.information?.additionalInformation?.powerToWeightRatio,\n      vehicle.information?.consumption?.methodology,\n    ].some((v) => v !== null && v !== undefined && v !== '');\n  };\n\n  if (!hasAdditionalData()) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        <tr>\n          <td>{translate('tabs.detailed-info.additional.max-speed')}</td>\n          <td data-testid=\"vehicle-max-speed\">\n            <b>{vehicle?.information.additionalInformation.maxSpeed}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.additional.power-to-weight')}</td>\n          <td data-testid=\"vehicle-power-to-weight-ratio\">\n            <b>{vehicle?.information.additionalInformation.powerToWeightRatio}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.additional.regulation')}</td>\n          <td data-testid=\"vehicle-regulation\">\n            <b>{vehicle?.information.consumption.methodology}</b>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  );\n};\n","import React from 'react';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './Group.scss';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from '../../../../../data/egon/apiV2';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype BodyGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const BodyGroup = ({ translate, vehicle }: BodyGroupProps) => {\n  const hasBodyData = () => {\n    if (!vehicle) return false;\n\n    return [\n      vehicle.body?.manufacturer,\n      vehicle.body?.type,\n      vehicle.body?.serialNumber,\n      vehicle.body?.color,\n      vehicle.body?.totalCapacity,\n      vehicle.body?.seatingCapacity,\n      vehicle.body?.standingCapacity,\n      vehicle.dimensions?.length,\n      vehicle.dimensions?.width,\n      vehicle.dimensions?.height,\n      vehicle.dimensions?.gauge,\n      vehicle.axles?.gauges?.gauge1,\n      vehicle.axles?.gauges?.gauge2,\n      vehicle.axles?.gauges?.gauge3,\n      vehicle.axles?.gauges?.gauge4,\n    ].some((value) => value !== null && value !== undefined && value !== '');\n  };\n\n  if (!hasBodyData()) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.manufacturer')}</td>\n          <td data-testid=\"vehicle-body-manufacturer\">\n            <b>{vehicle?.body?.manufacturer}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.type')}</td>\n          <td data-testid=\"vehicle-body-type\">\n            <b>{vehicle?.body?.type}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.number')}</td>\n          <td data-testid=\"vehicle-body-serial-number\">\n            <b>{vehicle?.body?.serialNumber}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.color')}</td>\n          <td data-testid=\"vehicle-body-color\">\n            <b>{vehicle?.body?.color}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.places')}</td>\n          <td data-testid=\"vehicle-body-places\">\n            <b>\n              {vehicle?.body?.totalCapacity}\n              {' / '}\n              {vehicle?.body?.seatingCapacity}\n              {' / '}\n              {vehicle?.body?.standingCapacity}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.dimensions')}</td>\n          <td data-testid=\"vehicle-body-dimensions\">\n            <b>\n              {vehicle?.dimensions.length}\n              {' / '}\n              {vehicle?.dimensions.width}\n              {' / '}\n              {vehicle?.dimensions.height}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.wheel-bases')}</td>\n          <td data-testid=\"vehicle-body-gauge\">\n            <b>{vehicle?.dimensions.gauge}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.body.wheel-track')}</td>\n          <td data-testid=\"vehicle-body-gauges\">\n            <b>\n              {vehicle?.axles.gauges.gauge1}\n              {vehicle?.axles.gauges.gauge1 && vehicle?.axles.gauges.gauge2 && ' / '}\n              {vehicle?.axles.gauges.gauge2}\n              {vehicle?.axles.gauges.gauge2 && vehicle?.axles.gauges.gauge3 && ' / '}\n              {vehicle?.axles.gauges.gauge3}\n              {vehicle?.axles.gauges.gauge3 && vehicle?.axles.gauges.gauge4 && ' / '}\n              {vehicle?.axles.gauges.gauge4}\n            </b>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  );\n};\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './Group.scss';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype EngineGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const EngineGroup = ({ translate, vehicle }: EngineGroupProps) => {\n  const hasEngineData = () => {\n    if (!vehicle) return false;\n\n    return [\n      vehicle.engine?.manufacturer,\n      vehicle.engine?.type,\n      vehicle.engine?.maxPower,\n      vehicle.engine?.minSpeed,\n      vehicle.information?.additionalInformation?.fuel,\n      vehicle.engine?.cylinderCapacity,\n      vehicle.emissions?.ehses,\n      vehicle.emissions?.ehkosn,\n      vehicle.emissions?.ksa,\n      vehicle.emissions?.co2,\n      vehicle.emissions?.co2City,\n      vehicle.emissions?.co2Outside,\n      vehicle.information?.consumption?.consumptionAtSpeed,\n      vehicle.information?.consumption?.consumption100KmCity,\n      vehicle.information?.consumption?.consumption100km90,\n      vehicle.information?.consumption?.consumption100km120,\n    ].some((value) => value !== null && value !== undefined && value !== '');\n  };\n\n  if (!hasEngineData()) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  const emissions = () => {\n    const em = [];\n\n    if (!vehicle?.emissions.co2 && !vehicle?.emissions.co2City && !vehicle?.emissions.co2Outside) {\n      return '';\n    }\n\n    em.push(vehicle?.emissions.co2City ?? '');\n    em.push(vehicle?.emissions.co2Outside ?? '');\n    em.push(vehicle?.emissions.co2 ?? '');\n\n    return em.join(' / ');\n  };\n\n  const consumption = () => {\n    const cons = [];\n\n    if (\n      !vehicle?.information.consumption.consumption100KmCity &&\n      !vehicle?.information.consumption.consumption100km90 &&\n      !vehicle?.information.consumption.consumption100km120\n    ) {\n      return '';\n    }\n\n    cons.push(\n      vehicle?.information.consumption.consumption100KmCity?.toLocaleString('cs', {\n        minimumFractionDigits: 0,\n        maximumFractionDigits: 1,\n      }) ?? ''\n    );\n    cons.push(\n      vehicle?.information.consumption.consumption100km90?.toLocaleString('cs', {\n        minimumFractionDigits: 0,\n        maximumFractionDigits: 1,\n      }) ?? ''\n    );\n    cons.push(\n      vehicle?.information.consumption.consumption100km120?.toLocaleString('cs', {\n        minimumFractionDigits: 0,\n        maximumFractionDigits: 1,\n      }) ?? ''\n    );\n\n    return cons.join(' / ');\n  };\n\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.manufacturer')}</td>\n          <td data-testid=\"vehicle-engine-manufacturer\">\n            <b>{vehicle?.engine?.manufacturer}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.type')}</td>\n          <td data-testid=\"vehicle-engine-type\">\n            <b>{vehicle?.engine?.type}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.power')}</td>\n          <td data-testid=\"vehicle-engine-power\">\n            <b>\n              {vehicle?.engine?.maxPower} / {vehicle?.engine?.minSpeed}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.fuel')}</td>\n          <td data-testid=\"vehicle-engine-fuel\">\n            <b>{vehicle?.information.additionalInformation.fuel}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.volume')}</td>\n          <td data-testid=\"vehicle-engine-volume\">\n            <b>{vehicle?.engine?.cylinderCapacity}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.emission-limit')}</td>\n          <td data-testid=\"vehicle-engine-emission-limit\">\n            <b>\n              {vehicle?.emissions?.ehses}\n              {vehicle?.emissions?.ehkosn}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.emission-volume')}</td>\n          <td data-testid=\"vehicle-engine-emission-volume\">\n            <b>\n              {vehicle?.emissions.ksa?.toLocaleString('cs', {\n                minimumFractionDigits: 0,\n                maximumFractionDigits: 2,\n              })}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.emission-by-type')}</td>\n          <td data-testid=\"vehicle-engine-emission-by-type\">\n            <b>{emissions()}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.consumption-by-speed')}</td>\n          <td data-testid=\"vehicle-engine-consumption-by-speed\">\n            <b>{vehicle?.information.consumption.consumptionAtSpeed}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.engine.consumption-by-distance')}</td>\n          <td data-testid=\"vehicle-engine-consumption-by-distance\">\n            <b>{consumption()}</b>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  );\n};\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport dateUtils from '../../../../../utils/DateUtils';\nimport './Group.scss';\nimport {\n  Domain_Contracts_Enums_Rsv_VehicleInclusion,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse,\n} from '../../../../../data/egon/apiV2';\n\ntype InfoGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const InfoGroup = ({ translate, vehicle }: InfoGroupProps) => {\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.registration-date')}</td>\n          <td data-testid=\"vehicle-registration-date\">\n            <b>\n              {vehicle?.information.registration.firstRegistration &&\n                dateUtils.dateFormatCz(vehicle?.information.registration.firstRegistration)}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.registration-cz-date')}</td>\n          <td data-testid=\"vehicle-registration-cz-date\">\n            <b>\n              {vehicle?.information.registration.firstRegistrationCr &&\n                dateUtils.dateFormatCz(vehicle?.information.registration.firstRegistrationCr)}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.registration-number')}</td>\n          {vehicle?.documents[0].rzs[0] !== undefined &&\n            vehicle?.documents[0].rzs[0].number !== undefined && (\n              <td data-testid=\"vehicle-registration-number\">\n                <b>{vehicle?.documents[0].rzs[0].number}</b>\n              </td>\n            )}\n        </tr>\n\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.ztp')}</td>\n          <td data-testid=\"vehicle-ztp\">\n            <b>{vehicle?.information.additionalInformation.ztpNumber}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.es-eu')}</td>\n          <td data-testid=\"vehicle-es-eu\">\n            <b>\n              {/*vehicle?.info?.eseu*/}\n              {vehicle?.information.additionalInformation.esNumber}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.register')}</td>\n          <td data-testid=\"vehicle-register\">\n            <b>\n              {vehicle?.information.mainInformation.inclusion ===\n              Domain_Contracts_Enums_Rsv_VehicleInclusion.RSV\n                ? translate('tabs.detailed-info.vehicle.register-rsv')\n                : vehicle?.information.mainInformation.inclusion ===\n                    Domain_Contracts_Enums_Rsv_VehicleInclusion.RHSV\n                  ? translate('tabs.detailed-info.vehicle.register-historical')\n                  : ''}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.type')}</td>\n          <td data-testid=\"vehicle-type\">\n            <b>{vehicle?.information.mainInformation.type}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.subtype')}</td>\n          <td data-testid=\"vehicle-subtype\">\n            <b>{vehicle?.information.mainInformation.type2}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.category')}</td>\n          <td data-testid=\"vehicle-category\">\n            <b>{vehicle?.information.mainInformation.category}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.brand')}</td>\n          <td data-testid=\"vehicle-brand\">\n            <b>{vehicle?.information.mainInformation.manufacturer}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.brand-type')}</td>\n          <td data-testid=\"vehicle-brand-type\">\n            <b>{vehicle?.information.additionalInformation.typeCode}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.variant')}</td>\n          <td data-testid=\"vehicleVariant\">\n            <b>{vehicle?.information.mainInformation.variant}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.version')}</td>\n          <td data-testid=\"vehicle-version\">\n            <b>{vehicle?.information.mainInformation.version}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.vin')}</td>\n          <td data-testid=\"vehicle-vin\">\n            <b>{vehicle?.information.mainInformation.vin}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.name')}</td>\n          <td data-testid=\"vehicle-name\">\n            <b>{vehicle?.information.mainInformation.commercialDesignation}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.vehicle.manufacturer')}</td>\n          <td data-testid=\"vehicle-manufacturer\">\n            <b>{vehicle?.information.additionalInformation.manufacturer}</b>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  );\n};\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './Group.scss';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype NoiseGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const NoiseGroup = ({ translate, vehicle }: NoiseGroupProps) => {\n  const hasNoiseData = () => {\n    if (!vehicle) return false;\n\n    return [\n      vehicle.information?.noise?.standing,\n      vehicle.information?.noise?.atSpeed,\n      vehicle.information?.noise?.driving,\n    ].some((v) => v !== null && v !== undefined);\n  };\n\n  const noise = () => {\n    const cons = [];\n\n    if (!vehicle?.information.noise.standing && !vehicle?.information.noise.atSpeed) {\n      return '';\n    }\n\n    cons.push(\n      vehicle?.information.noise.standing?.toLocaleString('cs', {\n        minimumFractionDigits: 0,\n        maximumFractionDigits: 1,\n      }) ?? ''\n    );\n    cons.push(\n      vehicle?.information.noise.atSpeed?.toLocaleString('cs', {\n        minimumFractionDigits: 0,\n        maximumFractionDigits: 1,\n      }) ?? ''\n    );\n\n    return cons.join(' / ');\n  };\n\n  if (!hasNoiseData()) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        <tr>\n          <td>{translate('tabs.detailed-info.noise.sound-on-rpm')}</td>\n          <td data-testid=\"vehicle-noise-standing\">\n            <b>{noise()}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.noise.on-ride')}</td>\n          <td data-testid=\"vehicle-noise-at-speed\">\n            <b>{vehicle?.information.noise.driving}</b>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  );\n};\n","import { observer } from 'mobx-react-lite';\n\nexport type ArrayEchoProps = {\n  array?: Array<string>;\n};\n\nconst ArrayEcho = observer(({ array }: ArrayEchoProps) => {\n  return (\n    <>\n      {array && array.length\n        ? array.map((item, index) => (\n            <div data-testid={`array-item-${index}`} key={index}>\n              {item}\n            </div>\n          ))\n        : ''}\n    </>\n  );\n});\n\nexport default ArrayEcho;\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './Group.scss';\nimport ArrayEcho from '../../../components/ArrayEcho';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\nimport StringUtils from '../../../../../utils/StringUtils';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype SkeletonGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const SkeletonGroup = ({ translate, vehicle }: SkeletonGroupProps) => {\n  const wheels: Array<string> = [];\n  const rims = vehicle?.axles.rims;\n  const tires = vehicle?.axles.tires;\n\n  for (let i = 1; i <= 4; i++) {\n    const pneuKey = 'tire' + i.toString();\n    const rafsKey = 'rims' + i.toString();\n\n    const rafsString = (rims as { [key: string]: string | undefined })?.[rafsKey] ?? '';\n    const pneuString = (tires as { [key: string]: string | undefined })?.[pneuKey] ?? '';\n\n    if (rafsString.length > 0 || pneuString.length > 0) {\n      wheels.push(StringUtils.joinNotEmpty([rafsString, pneuString]));\n    }\n  }\n\n  const hasSkeletonData = () => {\n    if (!vehicle) return false;\n\n    return [\n      vehicle.equipments?.couplingDevice,\n      vehicle.axles?.axleCount,\n      vehicle.axles?.type,\n      ...wheels,\n    ].some((value) => value !== null && value !== undefined && value !== '');\n  };\n\n  if (!hasSkeletonData()) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  const axles = () => {\n    const cons = [];\n\n    if (!vehicle?.axles.axleCount && !vehicle?.axles.type) {\n      return '';\n    }\n\n    cons.push(vehicle?.axles.axleCount ?? '');\n    cons.push(vehicle?.axles.type ?? '');\n\n    return cons.join(' / ');\n  };\n\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        <tr>\n          <td>{translate('tabs.detailed-info.skeleton.connection')}</td>\n          <td data-testid=\"vehicle-coupling-device\">\n            <b>{vehicle?.equipments.couplingDevice}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.skeleton.axle')}</td>\n          <td data-testid=\"vehicle-axle\">\n            <b>{axles()}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.skeleton.wheels')}</td>\n          <td data-testid=\"vehicle-wheels\">\n            <b>\n              <ArrayEcho array={wheels} />\n            </b>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  );\n};\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './Group.scss';\nimport ArrayEcho from '../../../components/ArrayEcho';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\nimport StringUtils from '../../../../../utils/StringUtils';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype WeightGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const WeightGroup = ({ translate, vehicle }: WeightGroupProps) => {\n  const perAxle: Array<string> = [];\n  const weights = vehicle?.axles.weights;\n\n  for (let i = 1; i <= 4; i++) {\n    const keyAllowed = 'allowedN' + i.toString();\n    const keyPer = 'permissibleN' + i.toString();\n\n    const weightPer = (weights as { [key: string]: string | undefined })?.[keyPer] ?? '';\n    const weightAcc = (weights as { [key: string]: string | undefined })?.[keyAllowed] ?? '';\n    const string = StringUtils.joinNotEmpty([weightPer, weightAcc]);\n\n    if (string.length > 0) {\n      perAxle.push(string);\n    }\n  }\n\n  const hasWeightData = () => {\n    if (!vehicle) return false;\n\n    return [\n      vehicle.weights?.operating,\n      vehicle.weights?.allowed,\n      vehicle.weights?.permissible,\n      vehicle.weights?.allowedJs,\n      vehicle.weights?.permissibleJs,\n      vehicle.trailerWeights?.allowedBraked,\n      vehicle.trailerWeights?.permissibleBraked,\n      vehicle.trailerWeights?.allowedNonBraked,\n      vehicle.trailerWeights?.permissibleNonBraked,\n      ...perAxle,\n    ].some((value) => value !== null && value !== undefined && value !== '');\n  };\n\n  if (!hasWeightData()) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        <tr>\n          <td>{translate('tabs.detailed-info.weight.operating')}</td>\n          <td data-testid=\"vehicle-operating-weight\">\n            <b>{vehicle?.weights?.operating}</b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.weight.max')}</td>\n          <td data-testid=\"vehicle-max-weight\">\n            <b>\n              {vehicle?.weights?.permissible}\n              {vehicle?.weights?.permissible && vehicle?.weights?.allowed && ' / '}\n              {vehicle?.weights?.allowed}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.weight.per-axle')}</td>\n          <td data-testid=\"vehicle-per-axle\">\n            <b>\n              <ArrayEcho array={perAxle} />\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.weight.braked-trailer')}</td>\n          <td data-testid=\"vehicle-braked-trailer\">\n            <b>\n              {vehicle?.trailerWeights.permissibleBraked}\n              {vehicle?.trailerWeights.permissibleBraked && vehicle?.trailerWeights.allowedBraked && ' / '}\n              {vehicle?.trailerWeights.allowedBraked}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.weight.non-braked-trailer')}</td>\n          <td data-testid=\"vehicle-non-braked-trailer\">\n            <b>\n              {vehicle?.trailerWeights.permissibleNonBraked}\n              {vehicle?.trailerWeights.permissibleNonBraked &&\n                vehicle?.trailerWeights.allowedNonBraked &&\n                ' / '}\n              {vehicle?.trailerWeights.allowedNonBraked}\n            </b>\n          </td>\n        </tr>\n        <tr>\n          <td>{translate('tabs.detailed-info.weight.vehicle-set')}</td>\n          <td data-testid=\"vehicle-vehicle-set\">\n            <b>\n              {vehicle?.weights?.permissibleJs}\n              {vehicle?.weights?.permissibleJs && vehicle?.weights?.allowedJs && ' / '}\n              {vehicle?.weights?.allowedJs}\n            </b>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  );\n};\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './InfoTable.scss';\n\ntype InfoTableProps = {\n  data: {\n    label: ReactNode;\n    value: ReactNode;\n  }[];\n  className?: string;\n  testId: string;\n};\n\nconst InfoTable = observer(({ data, className, testId }: InfoTableProps) => {\n  return (\n    <div className={getClassName('info-table', className)} data-testid={testId}>\n      {data.map(({ label, value }, index) => {\n        const valueArray: ReactNode[] = Array.isArray(value) ? value : [value];\n\n        return (\n          <div className=\"info-table-row\" key={`cell-${index}`}>\n            <span className=\"cell-label\">{label}</span>\n            <div className=\"cell-value\" data-testid={`${testId}-${index}`}>\n              {valueArray.map((val, i) => {\n                return (\n                  <span\n                    className=\"cell-sub-value\"\n                    key={`value-${i}`}\n                    data-testid={`${testId}-${index}-value-${i}`}\n                  >\n                    {val}\n                  </span>\n                );\n              })}\n            </div>\n          </div>\n        );\n      })}\n    </div>\n  );\n});\n\nexport default InfoTable;\n","import { useMemo } from 'react';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport {\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse,\n} from '../../../../../data/egon/apiV2';\nimport InfoTable from '../../components/InfoTable';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype RegNumberOverviewGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const RegNumberOverviewGroup = ({ translate, vehicle }: RegNumberOverviewGroupProps) => {\n  const filteredRzsNumbers = useMemo(() => {\n    const rzvList: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse[] = [];\n    const rzvHistoryList: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse[] = [];\n\n    vehicle?.documents.forEach((doc) => {\n      if (doc.rzs) rzvList.push(...doc.rzs);\n    });\n\n    vehicle?.archivedDocuments.forEach((doc) => {\n      if (doc.rzs) rzvHistoryList.push(...doc.rzs);\n    });\n\n    const currentRzvNumber = rzvList.find((rzv) => rzv.actual === true)?.number ?? '-';\n    const historyRzvNumbers = rzvHistoryList?.map((o) => o.number);\n\n    const hasData = (Boolean(currentRzvNumber) && currentRzvNumber !== '-') || historyRzvNumbers.length > 0;\n\n    return {\n      currentNumber: currentRzvNumber,\n      historyNumbers: historyRzvNumbers.length > 0 ? historyRzvNumbers : '-',\n      hasData,\n    };\n  }, [vehicle]);\n\n  if (!filteredRzsNumbers.hasData) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <InfoTable\n      data={[\n        {\n          label: translate('tabs.documents.reg-number-overview.reg-number'),\n          value: filteredRzsNumbers.currentNumber,\n        },\n        {\n          label: translate('tabs.documents.reg-number-overview.reg-number-history'),\n          value: filteredRzsNumbers.historyNumbers,\n        },\n      ]}\n      testId=\"vehicle-rzv-number\"\n    />\n  );\n};\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\nimport {\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse,\n} from '../../../../../data/egon/apiV2';\nimport InfoTable from '../../components/InfoTable';\nimport { useMemo } from 'react';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype RegBookOverviewGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const TechCardOverviewGroup = ({ translate, vehicle }: RegBookOverviewGroupProps) => {\n  const filteredTpsNumbers = useMemo(() => {\n    const tpsList: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse[] = [];\n    const tpsHistoryList: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse[] = [];\n\n    vehicle?.documents.forEach((doc) => {\n      if (doc.tps) tpsList.push(...doc.tps);\n    });\n\n    vehicle?.archivedDocuments.forEach((doc) => {\n      if (doc.tps) tpsHistoryList.push(...doc.tps);\n    });\n\n    const currentTpsNumber = tpsList.find((tps) => tps.actual === true)?.number ?? '-';\n    const historyTpsNumbers = tpsHistoryList?.map((o) => o.number);\n\n    const hasData = (Boolean(currentTpsNumber) && currentTpsNumber !== '-') || historyTpsNumbers.length > 0;\n\n    return {\n      currentNumber: currentTpsNumber,\n      historyNumbers: historyTpsNumbers.length > 0 ? historyTpsNumbers : '-',\n      hasData,\n    };\n  }, [vehicle]);\n\n  if (!filteredTpsNumbers.hasData) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <InfoTable\n      data={[\n        {\n          label: translate('tabs.documents.reg-book-overview.reg-book'),\n          value: filteredTpsNumbers.currentNumber,\n        },\n        {\n          label: translate('tabs.documents.reg-book-overview.reg-book-history'),\n          value: filteredTpsNumbers.historyNumbers,\n        },\n      ]}\n      testId=\"vehicle-tps-number\"\n    />\n  );\n};\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport {\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse,\n} from 'src/data/egon/apiV2';\nimport InfoTable from '../../components/InfoTable';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\nimport { useMemo } from 'react';\n\ntype RegCertificateOverviewGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const RegCertificateOverviewGroup = ({ translate, vehicle }: RegCertificateOverviewGroupProps) => {\n  const filteredOrvsNumbers = useMemo(() => {\n    const orvsList: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse[] = [];\n    const orvsHistoryList: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleDocumentResponse[] = [];\n\n    vehicle?.documents.forEach((doc) => {\n      if (doc.orvs) orvsList.push(...doc.orvs);\n    });\n\n    vehicle?.archivedDocuments.forEach((doc) => {\n      if (doc.orvs) orvsHistoryList.push(...doc.orvs);\n    });\n\n    const currentOrvsNumber = orvsList.find((orvs) => orvs.actual === true)?.number ?? '-';\n    const historyOrvsNumbers = orvsHistoryList?.map((o) => o.number);\n\n    const hasData =\n      (Boolean(currentOrvsNumber) && currentOrvsNumber !== '-') || historyOrvsNumbers.length > 0;\n\n    return {\n      currentNumber: currentOrvsNumber,\n      historyNumbers: historyOrvsNumbers.length > 0 ? historyOrvsNumbers : '-',\n      hasData,\n    };\n  }, [vehicle]);\n\n  if (!filteredOrvsNumbers.hasData) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <InfoTable\n      data={[\n        {\n          label: translate('tabs.documents.reg-certificate-overview.reg-certificate'),\n          value: filteredOrvsNumbers.currentNumber,\n        },\n        {\n          label: translate('tabs.documents.reg-certificate-overview.reg-certificate-history'),\n          value: filteredOrvsNumbers.historyNumbers,\n        },\n      ]}\n      testId=\"cert-overview\"\n    />\n  );\n};\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from '../../../../../data/egon/apiV2';\nimport InfoTable from '../../components/InfoTable';\nimport StringFormatUtils from 'src/utils/StringFormatUtils';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype StatusGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nexport const StatusGroup = ({ translate, vehicle }: StatusGroupProps) => {\n  if (!vehicle || !vehicle.currentStatus) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n  return (\n    <InfoTable\n      data={[\n        {\n          label: translate('tabs.documents.status.status'),\n          value: vehicle?.currentStatus\n            ? StringFormatUtils.capitalizeFirstLetter(vehicle.currentStatus.toLowerCase())\n            : '-',\n        },\n      ]}\n      testId=\"vehicle-current-status\"\n    />\n  );\n};\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport CardLink from '../../../../components/navigation/CardLink';\nimport './RequestList.scss';\nimport Alert from '../../../../components/shared/Alert/Alert';\nimport { VehicleStatuses } from 'src/enums/VehicleEnums';\nimport {\n  Domain_Contracts_Enums_Rsv_VehicleInclusion,\n  EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse,\n} from '../../../../data/egon/apiV2';\nimport ConditionalView from '@components/gov4/ConditionalView';\nimport { Message } from '@cendis/cedr-components';\n\nexport type RequestListProps = {\n  translate: Translator;\n  nav: { [key: string]: IRoute };\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n  isUserOwner: boolean | undefined;\n};\n\nconst RequestList = observer(({ translate, nav, vehicle, isUserOwner }: RequestListProps) => {\n  const {\n    navOwnerOrOperatorChanged,\n    navOwnerOrOperatorChangedDigi,\n    navDecommissioningDigi,\n    navDecommissioningAdditionalInfoDigi,\n    navPlateNumberRequest,\n    navExportPlateNumberRequest,\n    navVehicleInactivation,\n    navRoadworthinessCertificate,\n    navRegisterDataChange,\n    navLicensePlateLoss,\n    navLicencePlateLossDigi,\n    navRoadworthinessCertificateDigi,\n    navRegisterDataChangeDigi,\n    navExportPlateRequestDigi,\n    navNewLicensePlateDigi,\n    navTerminationDigi,\n  } = nav;\n\n  if (!vehicle?.isActive)\n    return <Alert message={translate('tabs.application.alert-no-applications-allowed')} />;\n\n  if (!isUserOwner)\n    return (\n      <>\n        <Alert message={translate('tabs.application.alert-no-applications-allowed')} className=\"mb-3\" />\n      </>\n    );\n\n  if (vehicle.information.mainInformation.inclusion === Domain_Contracts_Enums_Rsv_VehicleInclusion.RHSV)\n    return (\n      <>\n        <div className=\"css-reset\">\n          <Message color=\"error\" className=\"mb-3\">\n            {translate('tabs.application.alert-bad-vehicle-register-1')}\n            <span className=\"c:font-bold\">{translate('tabs.application.alert-bad-vehicle-register-2')}</span>\n            {translate('tabs.application.alert-bad-vehicle-register-3')}\n          </Message>\n        </div>\n      </>\n    );\n\n  return (\n    <div className=\"component-vehicle-register_submit-application\">\n      {window.jsEnv.rsvApplicationsWithAttachmentDisabled == 'false' && (\n        <ConditionalView required={(x) => x.RSV_APPLICATION_CHANGE_OWNER_PART1}>\n          <CardLink\n            name={translate('tabs.application.owner-changed.name')}\n            text={translate('tabs.application.owner-changed.text')}\n            link={navOwnerOrOperatorChangedDigi}\n            className=\"test-nav-ownerOrOperatorChangedDigi\"\n            testId=\"nav-ownerOrOperatorChangedDigi\"\n          />\n        </ConditionalView>\n      )}\n      {window.jsEnv.rsvApplicationsWithAttachmentDisabled == 'false' && (\n        <ConditionalView required={(x) => x.RSV_APPLICATION_CHANGE_REGISTRY}>\n          <CardLink\n            name={translate('tabs.application.register-other-data-change.name')}\n            text={translate('tabs.application.register-other-data-change.text')}\n            link={navRegisterDataChangeDigi}\n            className=\"test-nav-registerOtherDataChange\"\n            testId=\"nav-registerOtherDataChange\"\n          />\n        </ConditionalView>\n      )}\n\n      {vehicle.statuses &&\n        vehicle.statuses.some((status) =>\n          status.statuses.some((stat) => stat.name === VehicleStatuses.operated && stat.lastRecord)\n        ) && (\n          <ConditionalView required={(x) => x.RSV_APPLICATION_CAR_DECOMMISSIONING}>\n            <CardLink\n              name={translate('tabs.application.decommissioning.name')}\n              text={translate('tabs.application.decommissioning.text')}\n              link={navDecommissioningDigi}\n              className=\"test-nav-decommissioningDigi\"\n              testId=\"nav-decommissioningDigi\"\n            />\n          </ConditionalView>\n        )}\n\n      {vehicle.statuses &&\n        vehicle.statuses.some((status) =>\n          status.statuses.some((stat) => stat.name === VehicleStatuses.discarded && stat.lastRecord)\n        ) && (\n          <>\n            <ConditionalView required={(x) => x.RSV_APPLICATION_CAR_DECOMMISSIONING_CANCELLATION}>\n              <CardLink\n                name={translate('tabs.application.decommissioning.discarded.name')}\n                text={translate('tabs.application.decommissioning.discarded.text')}\n                link={navTerminationDigi}\n                className=\"test-nav-terminationDigi\"\n                testId=\"nav-terminationDigi\"\n              />\n            </ConditionalView>\n            <ConditionalView required={(x) => x.RSV_APPLICATION_CAR_DECOMMISSIONING_INFO}>\n              <CardLink\n                name={translate('tabs.application.decommissioning.discarded.additionalInfoName')}\n                text={translate('tabs.application.decommissioning.discarded.additionalInfoText')}\n                link={navDecommissioningAdditionalInfoDigi}\n                className=\"test-nav-decommissioningAdditionalInfoDigi\"\n                testId=\"nav-decommissioningAdditionalInfoDigi\"\n              />\n            </ConditionalView>\n          </>\n        )}\n\n      <ConditionalView required={(x) => x.RSV_APPLICATION_NEW_REGISTRATION_CERTIFICATE}>\n        <CardLink\n          name={translate('tabs.application.roadworthiness.name')}\n          text={translate('tabs.application.roadworthiness.text')}\n          link={navRoadworthinessCertificateDigi}\n          className=\"test-nav-roadworthinessCertificateDigi\"\n          testId=\"nav-roadworthinessCertificateDigi\"\n        />\n      </ConditionalView>\n\n      <ConditionalView required={(x) => x.RSV_APPLICATION_ADDITIONAL_NUMBERPLATE}>\n        <CardLink\n          name={translate('tabs.application.new-license-plate.name')}\n          text={translate('tabs.application.new-license-plate.text')}\n          link={navNewLicensePlateDigi}\n          className=\"test-nav-newLicensePlateDigi\"\n          testId=\"nav-newLicensePlateDigi\"\n        />\n      </ConditionalView>\n\n      <ConditionalView required={(x) => x.RSV_APPLICATION_NUMBERPLATE_LOSS}>\n        <CardLink\n          name={translate('tabs.application.license-plate-loss.name')}\n          text={translate('tabs.application.license-plate-loss.text')}\n          link={navLicencePlateLossDigi}\n          className=\"test-nav-licencePlateLossDigi\"\n          testId=\"nav-licencePlateLossDigi\"\n        />\n      </ConditionalView>\n\n      <ConditionalView required={(x) => x.RSV_APPLICATION_VEHICLE_EXPORT}>\n        <CardLink\n          name={translate('tabs.application.license-plate-export.name')}\n          text={translate('tabs.application.license-plate-export.text')}\n          link={navExportPlateRequestDigi}\n          className=\"test-nav-exportPlateRequestDigi\"\n          testId=\"nav-exportPlateRequestDigi\"\n        />\n      </ConditionalView>\n    </div>\n  );\n});\n\nexport default RequestList;\n","import type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport Button from '../../../../components/shared/Button/Button';\n\ntype ControlButtonsProps = {\n  translate: Translator;\n  downloadVehicleDetail: () => Promise<void>;\n  isPdfLoading: boolean;\n  unselectVehicle: () => void;\n  showDownloadButton?: boolean;\n};\n\nexport default function ControlButtons({\n  translate,\n  downloadVehicleDetail,\n  isPdfLoading,\n  unselectVehicle,\n  showDownloadButton = false,\n}: ControlButtonsProps) {\n  return (\n    <div className=\"d-flex justify-content-between mt-4\">\n      <Button\n        testId=\"unselect-vehicle\"\n        onClick={unselectVehicle}\n        text={translate('tabs.nav.back')}\n        outlined\n      />\n      {showDownloadButton && (\n        <Button\n          testId=\"download-vehicle\"\n          onClick={downloadVehicleDetail}\n          isBusy={isPdfLoading}\n          text={translate('tabs.nav.download')}\n        />\n      )}\n    </div>\n  );\n}\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport './Group.scss';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype NextRecordsGroupProps = {\n  translate: Translator;\n  items: string[];\n};\n\nexport const NextRecordsGroup = ({ items, translate }: NextRecordsGroupProps) => {\n  if (!items || items.length === 0) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <table className=\"group-table\">\n      <tbody>\n        {items?.map((item, index) => {\n          return (\n            <tr key={index}>\n              <td data-testid={`next-record-${index}`}>\n                <b>\n                  {index + 1}. {item}\n                </b>\n              </td>\n            </tr>\n          );\n        })}\n      </tbody>\n    </table>\n  );\n};\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport './InsuranceContract.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport DateUtils from 'src/utils/DateUtils';\nimport { EgonServiceBus_WebApi_Responses_V3_VehicleInsuranceItemResponse } from 'src/data/egon/apiV3';\n\ntype InsuranceContractProps = {\n  contract: EgonServiceBus_WebApi_Responses_V3_VehicleInsuranceItemResponse;\n  translate: Translator;\n  type: 'CURRENT' | 'FUTURE' | 'PAST';\n  className?: string;\n};\n\nconst InsuranceContract = observer(({ contract, translate, type, className }: InsuranceContractProps) => {\n  return (\n    <table className={getClassName('insurance-contract', className)}>\n      <tbody>\n        {/* CONTRACT NUMBER */}\n        <tr>\n          <td>{translate('contractNumber')}:</td>\n          <td>{contract.contractNumber}</td>\n        </tr>\n\n        {/* DATE FROM */}\n        <tr>\n          <td>{translate('insuranceFrom')}:</td>\n          <td>{contract.insuranceFrom ? DateUtils.dateFormatCz(contract.insuranceFrom) : ''}</td>\n        </tr>\n\n        {/* DATE TO */}\n        <tr>\n          <td>{translate('insuranceTo')}:</td>\n          <td>{contract.insuranceTo ? DateUtils.dateFormatCz(contract.insuranceTo) : ''}</td>\n        </tr>\n\n        {/* INSURANCE COMPANY */}\n        <tr>\n          <td>{translate('insuranceCompany')}:</td>\n          <td>{contract.insuranceCompany}</td>\n        </tr>\n      </tbody>\n    </table>\n  );\n});\n\nexport default InsuranceContract;\n","import { observer } from 'mobx-react-lite';\nimport Container from 'typedi';\nimport VehicleInsuranceService from '../../../../../services/vehicle/VehicleInsuranceService';\nimport { useEffect } from 'react';\nimport LoaderBox from '@components/layout/LoaderBox';\nimport { GovLink, Message } from '@cendis/cedr-components';\nimport './VehicleInsurance.scss';\nimport Accordion from '@components/shared/Accordion/Accordion';\nimport AccordionItem from '@components/shared/AccordionItem/AccordionItem';\nimport InsuranceContract from './InsuranceContract';\nimport ErrorInfo from 'src/app/error/errorPage/components/ErrorInfo';\nimport ErrorIcon from 'src/app/error/errorPage/components/ErrorIcon';\nimport { StatusCodes } from 'src/enums/StatusCodes';\n\ntype VehicleInsuranceProps = {};\n\nconst VehicleInsurance = observer(({}: VehicleInsuranceProps) => {\n  const vehicleInsuranceService = Container.get(VehicleInsuranceService);\n\n  const {\n    busyWatcher,\n    insuranceInfoNotFound,\n    vehicleInsurance,\n    filteredContracts,\n    translate,\n    errorTranslate,\n    vehicleRegisterService,\n  } = vehicleInsuranceService;\n\n  useEffect(() => {\n    if (!busyWatcher.isBusy && !vehicleInsurance) {\n      vehicleInsuranceService.fetchInsuranceInfo();\n    }\n\n    return () => vehicleInsuranceService.resetNotFound();\n  }, []);\n\n  if (busyWatcher.isBusy) return <LoaderBox type=\"box\" />;\n\n  if (insuranceInfoNotFound)\n    return (\n      <div className=\"css-reset vehicle-insurance\">\n        <ErrorInfo\n          icon={<ErrorIcon statusCode={StatusCodes.DEFAULT} translate={errorTranslate} />}\n          title={errorTranslate(`${StatusCodes.DEFAULT}.title`)}\n          whatHappenedTitle={errorTranslate('what-happened')}\n          whatHappenedText={translate('error.what-happened-text')}\n          howToContinueTitle={errorTranslate('how-to-continue')}\n          howToContinueText={\n            <>\n              {translate('error.how-to-continue-text')}\n              <GovLink color=\"neutral\" href=\"/support\" testId=\"how-to-link\">\n                {translate('error.how-to-continue-link')}\n              </GovLink>\n              {'.'}\n            </>\n          }\n          errorId={insuranceInfoNotFound.errorId}\n          translate={errorTranslate}\n        />\n      </div>\n    );\n\n  const usedData = () => {\n    const dataList: string[] = [];\n    if (vehicleInsurance?.vinIsUsed === true)\n      dataList.push(`${translate('vin')} ${vehicleRegisterService.vehicle?.information.mainInformation.vin}`);\n    if (vehicleInsurance?.licencePlateIsUsed === true)\n      dataList.push(`${translate('rzs')} ${vehicleRegisterService.rzs}`);\n    if (vehicleInsurance?.orvIsUsed === true)\n      dataList.push(`${translate('orvs')} ${vehicleRegisterService.orvs}`);\n    if (vehicleInsurance?.technicalLicenceIsUsed === true)\n      dataList.push(`${translate('tps')} ${vehicleRegisterService.tps}`);\n    return dataList.join(', ');\n  };\n\n  return (\n    <div className=\"vehicle-insurance\">\n      {/* CURRENT CONTRACTS */}\n\n      <Accordion>\n        <AccordionItem header={translate('current-contracts')} id=\"current-contracts\" isInitiallyExpanded>\n          {/* NO CURRENT CONTRACTS */}\n          {filteredContracts.current.length === 0 && (\n            <div className=\"css-reset\">\n              <p className=\"mb-3\">{translate('no-current-contracts')}</p>\n              <Message>\n                {translate('no-current-info-1')}{' '}\n                <strong className=\"bold\">{translate('no-current-info-2')} </strong>\n                {translate('no-current-info-3')}\n                <strong className=\"bold\"> {usedData()}</strong>. {translate('no-current-info-4')}\n              </Message>\n            </div>\n          )}\n\n          {/* LIST */}\n          <div className=\"contracts-list\">\n            {filteredContracts.current.map((contract) => (\n              <InsuranceContract\n                contract={contract}\n                translate={translate}\n                type={'CURRENT'}\n                key={`current-contract-${contract.contractNumber}`}\n              />\n            ))}\n          </div>\n        </AccordionItem>\n      </Accordion>\n\n      {/* FUTURE CONTRACTS */}\n      {filteredContracts.future.length > 0 && (\n        <Accordion>\n          <AccordionItem header={translate('future-contracts')} id=\"future-contracts\">\n            <div className=\"contracts-list\">\n              {filteredContracts.future.map((contract) => (\n                <InsuranceContract\n                  contract={contract}\n                  translate={translate}\n                  type=\"FUTURE\"\n                  key={`future-contract-${contract.contractNumber}`}\n                />\n              ))}\n            </div>\n          </AccordionItem>\n        </Accordion>\n      )}\n\n      {/* PAST CONTRACTS */}\n      {filteredContracts.past.length > 0 && (\n        <Accordion>\n          <AccordionItem header={translate('past-contracts')} id=\"past-contracts\">\n            <div className=\"contracts-list\">\n              {filteredContracts.past.map((contract) => (\n                <InsuranceContract\n                  contract={contract}\n                  translate={translate}\n                  type=\"PAST\"\n                  key={`past-contract-${contract.contractNumber}`}\n                />\n              ))}\n            </div>\n          </AccordionItem>\n        </Accordion>\n      )}\n    </div>\n  );\n});\n\nexport default VehicleInsurance;\n","import { observer } from 'mobx-react-lite';\nimport './EdazContract.scss';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport {\n  EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteResponse,\n  EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteTypeResponse,\n} from '../../../../../data/egon/api';\nimport { Chip } from '@cendis/cedr-components';\n\ntype EdazContractProps = {\n  contract: EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteResponse;\n  validityType: EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteTypeResponse;\n  translate: Translator;\n  type: 'CURRENT' | 'FUTURE' | 'UNUSABLE';\n  className?: string;\n};\n\nconst vignetteTranslationMap: { [key: string]: string } = {\n  Roční: 'annualVignette',\n  '30denní': 'thirtyDayVignette',\n  '10denní': 'tenDayVignette',\n  '1denní': 'oneDayVignette',\n};\n\nconst getVignetteTranslationKey = (id: string) => {\n  return vignetteTranslationMap[id];\n};\n\nconst formatDate = (date: Date): string => {\n  const day = date.getDate().toString().padStart(2, '0');\n  const month = (date.getMonth() + 1).toString().padStart(2, '0');\n  const year = date.getFullYear();\n  const hours = date.getHours().toString().padStart(2, '0');\n  const minutes = date.getMinutes().toString().padStart(2, '0');\n  const seconds = date.getSeconds().toString().padStart(2, '0');\n\n  return `${day}.${month}.${year}  ${hours}:${minutes}:${seconds}`;\n};\n\nconst EdazContract = observer(({ contract, validityType, translate, type, className }: EdazContractProps) => {\n  const vignetteTranslationKey = validityType.name\n    ? getVignetteTranslationKey(validityType.name)\n    : getVignetteTranslationKey(validityType.id);\n\n  const vignetteName = vignetteTranslationKey ? translate(vignetteTranslationKey) : '';\n  let typeLabel = '';\n  switch (type) {\n    case 'CURRENT':\n      typeLabel = translate('current');\n      break;\n    case 'FUTURE':\n      typeLabel = translate('future');\n      break;\n    case 'UNUSABLE':\n      typeLabel = translate('unusable');\n      break;\n    default:\n      typeLabel = translate('noVignette');\n  }\n\n  const validFrom = new Date(contract.validFrom);\n  const validTo = new Date(contract.validTo);\n  const chipVariant: 'success' | 'neutral' | 'error' = type === 'CURRENT' ? 'success' : type === 'FUTURE' ? 'neutral' : 'error';\n\n  return (\n    <div className={`edaz-contract-container ${className} css-reset`}>\n      <div className=\"vignette-header m-3\">\n        <span className=\"vignette-name\">{vignetteName}</span>\n        <Chip\n          size=\"xs\"\n          color={chipVariant}\n          type={chipVariant === 'error' ? 'solid' : 'outlined'}\n          className={`vignette-chip ${type.toLowerCase()}`}\n        >\n          {typeLabel}\n        </Chip>\n      </div>\n\n      <div className=\"vignette-details m-2\">\n        <div className=\"vignette-row m-3\">\n          <span className=\"label\">{translate('vignetteValidTo').toUpperCase()}</span>\n          <span className=\"date-time\">{formatDate(validTo)}</span>\n        </div>\n        <div className=\"vignette-row m-3\">\n          <span className=\"label\">{translate('vignetteValidFrom').toUpperCase()}</span>\n          <span className=\"date-time\">{formatDate(validFrom)}</span>\n        </div>\n      </div>\n    </div>\n  );\n});\n\nexport default EdazContract;\n","import { Button, Skeleton } from '@cendis/cedr-components';\nimport { observer } from 'mobx-react-lite';\nimport { MouseEventHandler, useEffect } from 'react';\nimport VehicleEdazService, { MapItemState } from 'src/services/vehicle/VehicleEdazService';\nimport Container from 'typedi';\nimport './EdazPaymentButton.scss';\n\ntype EdazPaymentButtonProps = {\n  licencePlate: string;\n  showQr?: boolean;\n};\n\nconst EdazPaymentButton = observer(({ licencePlate, showQr = true }: EdazPaymentButtonProps) => {\n  const vehicleEdazService = Container.get(VehicleEdazService);\n\n  const { paymentLinkMap, translate, paymentBusyWatcher } = vehicleEdazService;\n\n  useEffect(() => {\n    vehicleEdazService.loadPaymentLink(licencePlate);\n  }, [licencePlate]);\n\n  const paymentLinks = paymentLinkMap.get(licencePlate);\n\n  if (!paymentLinks) return null;\n\n  if (paymentLinks === MapItemState.ERROR) return null;\n\n  const isReady = typeof paymentLinks === 'object' && 'url' in paymentLinks;\n\n  const handleButtonClick: MouseEventHandler<HTMLButtonElement> = (e) => {\n    if (!e.ctrlKey) {\n      e.preventDefault();\n      if (isReady) {\n        window.open(paymentLinks.url, '_blank');\n      }\n    }\n  };\n\n  return (\n    <div className=\"edaz-links css-reset\">\n      <Button\n        type=\"solid\"\n        color=\"primary\"\n        size=\"m\"\n        className=\"button-link  expand-for-sm-screen\"\n        text={translate('edaz-buy')}\n        disabled={paymentLinks === MapItemState.LOADING}\n        href={isReady ? paymentLinks.url : undefined}\n        loading={paymentLinks === MapItemState.LOADING || paymentBusyWatcher.isBusy}\n        onClick={handleButtonClick}\n        iconEnd={'components/box-arrow-up-right'}\n        testId=\"edaz-payment-link\"\n      />\n\n      {showQr && (\n        <>\n          <p className=\"scan-prompt gov-text--l\">{translate('scan-qr')}</p>\n          {isReady ? (\n            <img\n              src={`data:image/svg+xml;base64,${paymentLinks.qr}`}\n              className=\"qr-code\"\n              alt={translate('edaz-qr-code')}\n              width={'160px'}\n              height={'160px'}\n            />\n          ) : (\n            <Skeleton width=\"160px\" height=\"160px\" />\n          )}\n        </>\n      )}\n    </div>\n  );\n});\n\nexport default EdazPaymentButton;\n","import { observer } from 'mobx-react-lite';\nimport Container from 'typedi';\nimport VehicleEdazService from '../../../../../services/vehicle/VehicleEdazService';\nimport LoaderBox from '@components/layout/LoaderBox';\nimport { Message } from '@cendis/cedr-components';\nimport './VehicleEdaz.scss';\nimport EdazContract from './EdazContract';\nimport { EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteResponse } from 'src/data/egon/api';\nimport VehicleRegisterService from '../../../../../services/vehicle/VehicleRegisterService';\nimport EdazPaymentButton from './EdazPaymentButton';\nimport Link from '@components/form/Link/Link';\n\nconst VehicleEdaz = observer(() => {\n  const vehicleEdazService = Container.get(VehicleEdazService);\n  const vehicleRegisterService = Container.get(VehicleRegisterService);\n\n  const vignetteAvailable = vehicleRegisterService.vehicle?.vignetteAvailable ?? false;\n  const { busyWatcher, edazInfoNotFound, vehicleEdazMap, translate, errorVehicles } = vehicleEdazService;\n\n  if (busyWatcher.isBusy) return <LoaderBox type=\"box\" />;\n\n  if (vehicleRegisterService.rzs === undefined) return null;\n\n  const vignetteNotAllowedMessage = (\n    <div className=\"css-reset\">\n      <Message color=\"error\" icon=\"components/exclamation-triangle-fill\" className=\"vignette-not-available\">\n        {translate('vignette-not-available1')}\n        <span className=\"bold\">{translate('vignette-not-available2')}</span>\n        {translate('vignette-not-available3')}\n        <Link\n          testId=\"mytocz-link\"\n          url=\"https://www.mytocz.eu/cs/\"\n          newTab={true}\n          text={translate('vignette-not-available-link')}\n          className=\"edalnice-link\"\n        />\n      </Message>\n    </div>\n  );\n\n  if (\n    (edazInfoNotFound || errorVehicles.get(vehicleRegisterService.rzs)) &&\n    vehicleEdazService.licencePlateIsValid(vehicleRegisterService.rzs)\n  ) {\n    if (!vignetteAvailable) {\n      return <div className=\"css-reset vehicle-edaz\">{vignetteNotAllowedMessage}</div>;\n    }\n    return (\n      <div className=\"css-reset vehicle-edaz\">\n        <Message color=\"warning\" icon=\"components/info-circle-fill\">\n          {translate('not-found-1')}\n          <a\n            data-testid=\"edalnice-link\"\n            href=\"https://edalnice.gov.cz/index.html#/validation\"\n            target=\"_blank\"\n            className=\"edalnice-link\"\n            rel=\"noreferrer\"\n          >\n            {translate('not-found-link')}\n          </a>\n          {translate('not-found-2')}\n        </Message>\n      </div>\n    );\n  }\n\n  const edazInfo = vehicleEdazMap.get(vehicleRegisterService.rzs);\n\n  const canBuy = vignetteAvailable && edazInfo?.paymentAvailable === true && !edazInfo?.exempt;\n  const invalidLicencePlate =\n    vignetteAvailable && !vehicleEdazService.licencePlateIsValid(vehicleRegisterService.rzs);\n\n  const exemptMessage = (\n    <div className=\"css-reset\">\n      <Message color=\"primary\" icon=\"components/lightbulb-fill\" className=\"edaz-exempt\">\n        <p>{translate('exempt')}</p>\n      </Message>\n    </div>\n  );\n\n  const filterEdaz = (type: 'current' | 'future') => {\n    const now = new Date();\n\n    if (edazInfo === undefined) {\n      return [];\n    }\n    const isPayed = edazInfo.payed;\n    if (type === 'current') {\n      return edazInfo.vignettes.filter((filterEdaz) => {\n        const validFrom = new Date(filterEdaz.validFrom);\n        const validTo = new Date(filterEdaz.validTo);\n        return isPayed && validFrom <= now && validTo >= now;\n      });\n    } else if (type === 'future') {\n      return edazInfo.vignettes.filter((filterEdaz) => {\n        const validFrom = new Date(filterEdaz.validFrom);\n        return validFrom > now;\n      });\n    } else {\n      return [];\n    }\n  };\n\n  const vehicleContracts: {\n    current: Array<EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteResponse>;\n    future: Array<EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteResponse>;\n  } = {\n    current: filterEdaz('current'),\n    future: filterEdaz('future'),\n  };\n\n  const showNoContractMessage = (canBuy && vehicleContracts.current.length === 0) || invalidLicencePlate;\n\n  return (\n    <div className=\"vehicle-edaz\">\n      {!vignetteAvailable && vignetteNotAllowedMessage}\n      {edazInfo?.exempt === true && exemptMessage}\n      <div className=\"current-contracts\">\n        <div className=\"contracts-list\">\n          <>\n            {vehicleContracts.current.length > 0 &&\n              vehicleContracts.current.map(\n                (contract: EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteResponse) => (\n                  <EdazContract\n                    contract={contract}\n                    translate={translate}\n                    type={vignetteAvailable ? 'CURRENT' : 'UNUSABLE'}\n                    validityType={vehicleEdazService.getVignetteInfo(contract.vignetteTypeId)}\n                    key={`current-contract-${contract.vignetteTypeId} ${contract.validFrom} ${contract.validTo}`}\n                  />\n                )\n              )}\n            {showNoContractMessage && (\n              <div className=\"css-reset\">\n                <Message\n                  className=\"warning-info g-2 css-reset\"\n                  color=\"warning\"\n                  icon=\"components/info-circle-fill\"\n                >\n                  {translate('no-current-contracts')}\n                </Message>\n              </div>\n            )}\n          </>\n        </div>\n      </div>\n\n      <div className=\"future-contracts\">\n        <div className=\"contracts-list\">\n          {vehicleContracts.future.length > 0\n            ? vehicleContracts.future.map(\n                (contract: EgonServiceBus_WebApi_Responses_V1_Edaz_VignetteResponse) => (\n                  <EdazContract\n                    contract={contract}\n                    translate={translate}\n                    type={vignetteAvailable ? 'FUTURE' : 'UNUSABLE'}\n                    validityType={vehicleEdazService.getVignetteInfo(contract.vignetteTypeId)}\n                    key={`future-contract-${contract.vignetteTypeId} ${contract.validFrom} ${contract.validTo}`}\n                  />\n                )\n              )\n            : null}\n        </div>\n      </div>\n\n      {vehicleEdazService.licencePlateIsValid(vehicleRegisterService.rzs) && canBuy && (\n        <EdazPaymentButton licencePlate={vehicleRegisterService.rzs} />\n      )}\n    </div>\n  );\n});\n\nexport default VehicleEdaz;\n","import { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport { observer } from 'mobx-react-lite';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\nimport InfoTable from '../../components/InfoTable';\nimport { useMemo } from 'react';\nimport { VehicleOwnershipType } from 'src/enums/VehicleOwnershipType';\nimport DateUtils from 'src/utils/DateUtils';\nimport { GovIcon, LegacyTooltip } from '@cendis/cedr-components';\nimport NoDriverData from 'src/app/driver_ng/components/NoDriverData';\n\ntype EntityRelationGroupProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n};\n\nconst EntityRelationGroup = observer(({ translate, vehicle }: EntityRelationGroupProps) => {\n  const { relationToVehicle, hasData } = useMemo(() => {\n    if (!vehicle || !vehicle.relationToVehicleList) {\n      return { relationToVehicle: '-', hasData: false };\n    }\n\n    const isCurrentSubject = (validFrom: string | undefined | null, validTo: string | undefined | null) => {\n      if (!validFrom) return false;\n\n      if (!validTo) return true;\n\n      const today = new Date();\n      const start = new Date(validFrom);\n      const end = new Date(validTo);\n\n      return start <= today && today <= end;\n    };\n\n    const owner = vehicle.relationToVehicleList.find(\n      (relation) =>\n        relation.subjectType === VehicleOwnershipType.owner &&\n        isCurrentSubject(relation.validFrom, relation.validTo)\n    );\n    const operator = vehicle.relationToVehicleList.find(\n      (relation) =>\n        relation.subjectType === VehicleOwnershipType.operator &&\n        isCurrentSubject(relation.validFrom, relation.validTo)\n    );\n\n    if (!owner && !operator)\n      return {\n        relationToVehicle: '-',\n        hasData: false,\n      };\n\n    const values: string[] = [];\n\n    if (owner) {\n      let ownerValue = translate('tabs.documents.entity-relation.owner');\n\n      if (owner.validFrom) {\n        ownerValue += ` ${translate('tabs.documents.entity-relation.from')} `;\n        ownerValue += DateUtils.dateFormatCz(owner.validFrom);\n      }\n\n      values.push(ownerValue);\n    }\n\n    if (operator) {\n      let operatorValue = translate('tabs.documents.entity-relation.operator');\n\n      if (operator.validFrom) {\n        operatorValue += ` ${translate('tabs.documents.entity-relation.from')} `;\n        operatorValue += DateUtils.dateFormatCz(operator.validFrom);\n      }\n\n      values.push(operatorValue);\n    }\n\n    const hasRelation = values.length > 0;\n    const hasCounts =\n      (vehicle?.previousOwnersCount !== null && vehicle?.previousOwnersCount !== undefined) ||\n      (vehicle?.previousOperatorsCount !== null && vehicle?.previousOperatorsCount !== undefined);\n\n    return {\n      relationToVehicle: values,\n      hasData: hasRelation || hasCounts,\n    };\n  }, [vehicle]);\n\n  if (!hasData) {\n    return (\n      <NoDriverData title={translate('no-data')} iconVersion=\"emptyFile\" className=\"accordion\" type=\"row\" />\n    );\n  }\n\n  return (\n    <InfoTable\n      className=\"css-reset\"\n      testId=\"relation-to-vehicle\"\n      data={[\n        {\n          label: translate('tabs.documents.entity-relation.relation-to-vehicle'),\n          value: relationToVehicle,\n        },\n        {\n          label: translate('tabs.documents.entity-relation.previous-owner-count'),\n          value: vehicle?.previousOwnersCount ?? '-',\n        },\n        {\n          label: (\n            <>\n              <div className=\"css-reset\">\n                {translate('tabs.documents.entity-relation.previous-operator-count')}\n                <LegacyTooltip\n                  tooltipContent={translate('tabs.documents.entity-relation.previous-operator-count-hint')}\n                  size=\"s\"\n                  position=\"bottom\"\n                  testId=\"previous-operator-count-hint\"\n                >\n                  <GovIcon\n                    name={'components/info-circle-fill'}\n                    size=\"m\"\n                    className=\"mx-1 mb-1 inline align-middle\"\n                  />\n                </LegacyTooltip>\n              </div>\n            </>\n          ),\n          value: vehicle?.previousOperatorsCount ?? '-',\n        },\n      ]}\n    />\n  );\n});\n\nexport default EntityRelationGroup;\n","import LoaderBox from '@components/layout/LoaderBox';\nimport Accordion from '@components/shared/Accordion/Accordion';\nimport AccordionItem from '@components/shared/AccordionItem/AccordionItem';\nimport { observer } from 'mobx-react-lite';\nimport { useEffect } from 'react';\nimport VehicleKmStateService from 'src/services/vehicle/VehicleKmStateService';\nimport Container from 'typedi';\nimport InfoTable from '../../components/InfoTable';\n\ntype VehicleKmStateProps = {};\n\nconst VehicleKmState = observer(({}: VehicleKmStateProps) => {\n  const vehicleKmStateService = Container.get(VehicleKmStateService);\n\n  const { translate, busyWatcher, kmState, vin } = vehicleKmStateService;\n\n  useEffect(() => {\n    vehicleKmStateService.fetchVehicleKmStatus();\n\n    return () => vehicleKmStateService.reset();\n  }, [vin]);\n\n  return (\n    <Accordion>\n      <AccordionItem\n        header={translate('title')}\n        id=\"1888\"\n        className=\"test-accordion-km-state\"\n        isInitiallyExpanded={true}\n      >\n        <InfoTable\n          data={[\n            {\n              label: translate('last'),\n              value: busyWatcher.isBusy ? <LoaderBox type=\"line-h\" /> : (kmState?.toLocaleString() ?? '-'),\n            },\n          ]}\n          testId=\"vehicle-km-state\"\n        />\n      </AccordionItem>\n    </Accordion>\n  );\n});\n\nexport default VehicleKmState;\n","import Accordion from '../../../../components/shared/Accordion/Accordion';\nimport AccordionItem from '../../../../components/shared/AccordionItem/AccordionItem';\nimport {\n  AdditionalGroup,\n  BodyGroup,\n  EngineGroup,\n  InfoGroup,\n  NoiseGroup,\n  TechCardOverviewGroup,\n  RegCertificateOverviewGroup,\n  RegNumberOverviewGroup,\n  SkeletonGroup,\n  StatusGroup,\n  WeightGroup,\n} from '../vehicleDetail/groups';\nimport RequestList from '../../components/RequestList/RequestList';\nimport Button from '../../../../components/shared/Button/Button';\nimport Tabs from '../../../../components/shared/Tabs/Tabs';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport ControlButtons from './ControlButtons';\nimport { NextRecordsGroup } from '../vehicleDetail/groups/NextRecordsGroup';\nimport { observer } from 'mobx-react-lite';\nimport InfoBox from '../../../../components/shared/InfoBox/InfoBox';\nimport { EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse } from 'src/data/egon/apiV2';\nimport ArrayUtils from '../../../../utils/ArrayUtils';\nimport './VehicleTabs.scss';\nimport InfoPanel from '@components/shared/InfoPanel/InfoPanel';\nimport VehicleInsurance from '../vehicleDetail/vehicleInsurance/VehicleInsurance';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport VehicleEdaz from '../vehicleDetail/vehicleEdaz/VehicleEdaz';\nimport EntityRelationGroup from '../vehicleDetail/groups/EntityRelationGroup';\nimport { VehicleTabsEnum } from 'src/enums/VehicleTabs';\nimport VehicleKmState from '../vehicleDetail/vehicleStk/VehicleKmState';\n\nconst { TabPane } = Tabs;\n\ntype VehicleTabsProps = {\n  translate: Translator;\n  vehicle: EgonServiceBus_WebApi_Responses_V2_Vehicles_VehicleResponse | undefined;\n  isUserOwner: boolean | undefined;\n  navSubmitRequest: { [key: string]: IRoute };\n  handleClick: () => void;\n  downloadVehicleDetail: () => Promise<void>;\n  isPdfLoading: boolean;\n  unselectVehicle: () => void;\n  defaultTab: string;\n  setActiveTab: (tab: string) => void;\n  vehicleRegisterService: VehicleRegisterService;\n};\n\nconst VehicleTabs = observer(\n  ({\n    translate,\n    vehicle,\n    isUserOwner,\n    navSubmitRequest,\n    handleClick,\n    downloadVehicleDetail,\n    isPdfLoading,\n    unselectVehicle,\n    defaultTab,\n    setActiveTab,\n    vehicleRegisterService,\n  }: VehicleTabsProps) => {\n    const { authorizationService } = vehicleRegisterService;\n\n    const handleTabClick = (tab: string) => {\n      setActiveTab(tab);\n    };\n\n    const nextRecords: string[] = ArrayUtils.getArrayFromNullableString(\n      '|',\n      vehicle?.information.additionalInformation.nextRecords ?? ''\n    );\n\n    return (\n      <Tabs defaultTab={defaultTab} onClick={handleTabClick} customClass=\"vehicleTabs test-vehicleTabs\">\n        {/* TAB 1 */}\n        {authorizationService.conditions.RSV_CAR_DETAIL && (\n          <TabPane tab={VehicleTabsEnum.INFO} label={translate('tabs.nav.detailed-info')}>\n            {!vehicleRegisterService.hasRZS ||\n              (!vehicleRegisterService.hasVIN && (\n                <InfoPanel\n                  type=\"warning\"\n                  message={\n                    !vehicleRegisterService.hasRZS\n                      ? translate('tabs.registrationNumberPlateMissing')\n                      : translate('tabs.vinCodeMissing')\n                  }\n                />\n              ))}\n\n            <InfoBox className=\"mt-3 mb-3\">\n              <p>\n                {translate('tabs.downloadHint')}\n                <b>\n                  <i>{translate('tabs.downloadHint2')}</i>\n                </b>\n                {translate('tabs.downloadHint3')}\n              </p>\n            </InfoBox>\n\n            <Accordion>\n              <AccordionItem\n                isInitiallyExpanded={true}\n                header={translate('tabs.detailed-info.vehicle.title')}\n                id=\"1\"\n                className=\"test-accordion-detailedInfoVehicle\"\n              >\n                <InfoGroup translate={translate} vehicle={vehicle} />\n              </AccordionItem>\n              <AccordionItem\n                header={translate('tabs.detailed-info.engine.title')}\n                id=\"2\"\n                className=\"test-accordion-detailedInfoEngine\"\n              >\n                <EngineGroup translate={translate} vehicle={vehicle} />\n              </AccordionItem>\n              <AccordionItem\n                header={translate('tabs.detailed-info.body.title')}\n                id=\"3\"\n                className=\"test-accordion-detailedInfoBody\"\n              >\n                <BodyGroup translate={translate} vehicle={vehicle} />\n              </AccordionItem>\n              <AccordionItem\n                header={translate('tabs.detailed-info.weight.title')}\n                id=\"4\"\n                className=\"test-accordion-detailedInfoWeight\"\n              >\n                <WeightGroup translate={translate} vehicle={vehicle} />\n              </AccordionItem>\n              <AccordionItem\n                header={translate('tabs.detailed-info.skeleton.title')}\n                id=\"5\"\n                className=\"test-accordion-detailedInfoSkeleton\"\n              >\n                <SkeletonGroup translate={translate} vehicle={vehicle} />\n              </AccordionItem>\n              <AccordionItem\n                header={translate('tabs.detailed-info.noise.title')}\n                id=\"6\"\n                className=\"test-accordion-detailedInfoNoise\"\n              >\n                <NoiseGroup translate={translate} vehicle={vehicle} />\n              </AccordionItem>\n              <AccordionItem\n                header={translate('tabs.detailed-info.additional.title')}\n                id=\"7\"\n                className=\"test-accordion-detailedInfoAdditional\"\n              >\n                <AdditionalGroup translate={translate} vehicle={vehicle} />\n              </AccordionItem>\n              <AccordionItem\n                header={translate('tabs.detailed-info.nextRecords.title')}\n                id=\"8\"\n                className=\"test-accordion-detailedInfoNextRecords\"\n              >\n                <NextRecordsGroup items={nextRecords ?? []} translate={translate} />\n              </AccordionItem>\n            </Accordion>\n            <ControlButtons\n              translate={translate}\n              downloadVehicleDetail={downloadVehicleDetail}\n              isPdfLoading={isPdfLoading}\n              unselectVehicle={unselectVehicle}\n              showDownloadButton={true}\n            />\n          </TabPane>\n        )}\n\n        {/* TAB 2 */}\n        {authorizationService.conditions.RSV_APPLICATION && (\n          <TabPane tab={VehicleTabsEnum.APPLICATION} label={translate('tabs.nav.application')}>\n            {!vehicleRegisterService.hasRZS || !vehicleRegisterService.hasVIN ? (\n              <InfoPanel\n                type=\"warning\"\n                message={\n                  !vehicleRegisterService.hasRZS\n                    ? translate('tabs.registrationNumberPlateMissing')\n                    : translate('tabs.vinCodeMissing')\n                }\n              />\n            ) : (\n              <RequestList\n                translate={translate}\n                nav={navSubmitRequest}\n                vehicle={vehicle}\n                isUserOwner={isUserOwner}\n              />\n            )}\n\n            <ControlButtons\n              translate={translate}\n              downloadVehicleDetail={downloadVehicleDetail}\n              isPdfLoading={isPdfLoading}\n              unselectVehicle={unselectVehicle}\n            />\n          </TabPane>\n        )}\n\n        {/* TAB 3 */}\n        {vehicle?.isActive && authorizationService.conditions.RSV_CAR_STK && (\n          <TabPane tab={VehicleTabsEnum.STK} label={translate('tabs.nav.stk-list')}>\n            <div className=\"stk-envelope\">\n              <VehicleKmState />\n              <InfoBox className=\"my-3\" content={translate('tabs.stk-list.info')} />\n              <Button\n                testId=\"stk-list-button\"\n                onClick={handleClick}\n                text={translate('tabs.stk-list.button')}\n              />\n            </div>\n            <ControlButtons\n              translate={translate}\n              downloadVehicleDetail={downloadVehicleDetail}\n              isPdfLoading={isPdfLoading}\n              unselectVehicle={unselectVehicle}\n            />\n          </TabPane>\n        )}\n\n        {/* TAB 4 */}\n        {vehicle?.isActive && authorizationService.conditions.RSV_CAR_DOCUMENTS && (\n          <TabPane tab={VehicleTabsEnum.DOCUMENTS} label={translate('tabs.nav.documents')}>\n            <Accordion>\n              {authorizationService.conditions.RSV_CAR_DOCUMENTS_NUMBERPLATES && (\n                <AccordionItem header={translate('tabs.documents.reg-number-overview.title')} id=\"1\">\n                  <RegNumberOverviewGroup translate={translate} vehicle={vehicle} />\n                </AccordionItem>\n              )}\n\n              {authorizationService.conditions.RSV_CAR_DOCUMENTS_TECHNICAL_CERTIFICATE && (\n                <AccordionItem header={translate('tabs.documents.reg-book-overview.title')} id=\"2\">\n                  <TechCardOverviewGroup translate={translate} vehicle={vehicle} />\n                </AccordionItem>\n              )}\n\n              {authorizationService.conditions.RSV_CAR_DOCUMENTS_REGISTRATION_CERTIFICATE && (\n                <AccordionItem header={translate('tabs.documents.reg-certificate-overview.title')} id=\"3\">\n                  <RegCertificateOverviewGroup translate={translate} vehicle={vehicle} />\n                </AccordionItem>\n              )}\n\n              {vehicle?.isActive && authorizationService.conditions.RSV_CAR_DOCUMENTS_STATUS && (\n                <AccordionItem header={translate('tabs.documents.status.title')} id=\"4\">\n                  <StatusGroup translate={translate} vehicle={vehicle} />\n                </AccordionItem>\n              )}\n\n              {authorizationService.conditions.RSV_CAR_DOCUMENTS_RELATION && (\n                <AccordionItem header={translate('tabs.documents.entity-relation.title')} id=\"5\">\n                  <EntityRelationGroup translate={translate} vehicle={vehicle} />\n                </AccordionItem>\n              )}\n            </Accordion>\n            <ControlButtons\n              translate={translate}\n              downloadVehicleDetail={downloadVehicleDetail}\n              isPdfLoading={isPdfLoading}\n              unselectVehicle={unselectVehicle}\n            />\n          </TabPane>\n        )}\n\n        {/* TAB 5 */}\n        {vehicle?.isActive && authorizationService.conditions.RSV_CAR_INSURANCE && (\n          <TabPane tab={VehicleTabsEnum.INSURANCE} label={translate('tabs.nav.insurance')}>\n            <VehicleInsurance />\n          </TabPane>\n        )}\n        {/* TAB 6 */}\n        {vehicle?.isActive && authorizationService.conditions.RSV_CAR_VIGNETTE && (\n          <TabPane tab={VehicleTabsEnum.EDAZ} label={translate('tabs.nav.edaz')}>\n            <VehicleEdaz />\n          </TabPane>\n        )}\n      </Tabs>\n    );\n  }\n);\n\nexport default VehicleTabs;\n","import type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport { observer } from 'mobx-react-lite';\nimport type VehicleDetailViewModel from './VehicleDetailViewModel';\nimport VehicleTabs from '../components/VehicleTabs';\n\nconst VehicleDetailView: View<VehicleDetailViewModel> = observer(({ vm }) => {\n  const {\n    translate,\n    vehicle,\n    isUserOwner,\n    getSTKLink,\n    navSubmitRequest,\n    deselectVehicle,\n    downloadVehicleDetail,\n    isPdfLoading,\n    defaultTab,\n    setActiveTab,\n    vehicleRegisterService,\n  } = vm;\n\n  const handleClick = async () => {\n    await getSTKLink();\n  };\n\n  const handleScrollTop = () => {\n    setTimeout(() => {\n      window.scrollTo({\n        top: 0,\n        behavior: 'smooth',\n      });\n    }, 300);\n  };\n\n  const unselectVehicle = () => {\n    handleScrollTop();\n    deselectVehicle();\n  };\n\n  return (\n    <>\n      <VehicleTabs\n        translate={translate}\n        vehicle={vehicle}\n        isUserOwner={isUserOwner}\n        navSubmitRequest={navSubmitRequest}\n        handleClick={handleClick}\n        downloadVehicleDetail={downloadVehicleDetail}\n        isPdfLoading={isPdfLoading}\n        unselectVehicle={unselectVehicle}\n        defaultTab={defaultTab}\n        setActiveTab={setActiveTab}\n        vehicleRegisterService={vehicleRegisterService}\n      />\n    </>\n  );\n});\n\nexport default VehicleDetailView;\n","import React from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { View } from '@cendis/cedr-framework/dist/view/ViewBank';\nimport LoaderBox from '../../../../components/layout/LoaderBox';\nimport Container from '../../../../components/layout/Container';\nimport type VehicleDetailViewModel from './VehicleDetailViewModel';\n\nconst VehicleDetailViewLoading: View<VehicleDetailViewModel> = observer(({ vm }) => {\n  const { translate } = vm;\n  return <LoaderBox type=\"bax-mar\" />;\n});\n\nexport default VehicleDetailViewLoading;\n","import AddDefaultView from '@cendis/cedr-framework/dist/view/AddDefaultView';\nimport { Inject, Service } from 'typedi';\nimport BaseScreen from '@cendis/cedr-framework/dist/screen/BaseScreen';\nimport VehicleDetailView from './VehicleDetailView';\nimport { action, computed, makeObservable, observable, runInAction } from 'mobx';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Watch from '@cendis/cedr-framework/dist/async/Watch';\nimport AddBusyView from '@cendis/cedr-framework/dist/async/AddBusyView';\nimport VehicleDetailViewLoading from './VehicleDetailViewLoading';\nimport BusyWatcher from '@cendis/cedr-framework/dist/async/BusyWatcher';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport AddChildrenView from '@cendis/cedr-framework/dist/screen/AddChildrenView';\nimport type { PathParams } from '@cendis/cedr-framework/dist/screen/IScreen';\nimport VehicleRegisterService from '../../../../services/vehicle/VehicleRegisterService';\nimport AuthService from '../../../../services/AuthService';\nimport meta from '../../../../meta';\nimport AbstractApplicationViewModel from '../../applicationsDigi/AbstractApplicationViewModel';\nimport IntroLicencePlateLossViewModel from '../../applicationsDigi/LicencePlateLossView/00_intro/IntroLicencePlateLossViewModel';\nimport IntroDecommissioningViewModel from '../../applicationsDigi/DecommissioningView/00_intro/IntroDecommissioningViewModel';\nimport IntroNewTechnicalCertificateViewModel from '../../applicationsDigi/NewTechnicalCertificateView/00_intro/IntroNewTechnicalCertificateViewModel';\nimport IntroRsvDataChangeViewModel from '../../applicationsDigi/RsvDataChangeView/00_intro/IntroRsvDataChangeViewModel';\nimport IntroOwnerOrOperatorChangedViewModel from '../../applicationsDigi/OwnerOrOperatorChangedView/seller/00_intro/IntroOwnerOrOperatorChangedViewModel';\nimport ApiService from '../../../../services/ApiService';\nimport IntroExportPlateRequestViewModel from '../../applicationsDigi/ExportPlateRequest/00_intro/IntroExportPlateRequestViewModel';\nimport IntroNewLicencePlateViewModel from '../../applicationsDigi/NewLicencePlateView/00_intro/IntroNewLicencePlateViewModel';\nimport NewLicencePlateViewModel from '../../applicationsDigi/NewLicencePlateView/NewLicencePlateViewModel';\nimport { DecommissioningFormTypes } from '../../applicationsDigi/DecommissioningView/DecommissioningViewModel';\nimport RegisterViewModel from '../RegisterViewModel';\nimport PdfUtils from '../../../../utils/PdfUtils';\nimport { VehicleTabsEnum } from 'src/enums/VehicleTabs';\nimport VehicleKmStateService from 'src/services/vehicle/VehicleKmStateService';\n\n@AddDefaultView(VehicleDetailView)\n@AddBusyView(VehicleDetailViewLoading)\n@AddChildrenView()\n@Service()\nexport default class VehicleDetailViewModel extends BaseScreen {\n  busyWatcher = new BusyWatcher();\n  @observable isLoading: boolean = false;\n  @observable meta = meta('detail', this);\n  @observable isPdfLoading: boolean = false;\n  @observable defaultTab: string = VehicleTabsEnum.INFO;\n\n  get pathNode(): string {\n    return 'detail-/vehicleID/';\n  }\n\n  get title(): string {\n    return this.vehicleTitle;\n  }\n  @computed\n  get vehicleTitle(): string {\n    if (this.vehicleRegisterService.vehicle === undefined) return this.translate('detail');\n    const vehicleInfo = this.vehicleRegisterService.vehicle.information.mainInformation;\n    let vehicleTitle = '';\n    if (vehicleInfo.manufacturer) vehicleTitle += vehicleInfo.manufacturer + ' ';\n    if (vehicleInfo.commercialDesignation) vehicleTitle += vehicleInfo.commercialDesignation;\n    return vehicleTitle;\n  }\n\n  @computed\n  get isUserOwner() {\n    return this.vehicleRegisterService.isUserOwner;\n  }\n\n  constructor(\n    @Inject() public localization: LocalizationService,\n    @Inject() public vehicleRegisterService: VehicleRegisterService,\n    @Inject() public authService: AuthService,\n    @Inject() private newLicencePlateViewModel: NewLicencePlateViewModel,\n    @Inject() private abstractApplicationViewModel: AbstractApplicationViewModel,\n    @Inject() private apiService: ApiService,\n    @Inject() public vehicleKmStateService: VehicleKmStateService\n  ) {\n    super();\n    makeObservable(this);\n    this.children.push(newLicencePlateViewModel);\n    this.children.push(abstractApplicationViewModel);\n  }\n\n  acceptNavigationParams(params: PathParams) {\n    const { vehicleID } = params;\n    this.vehicleRegisterService.vehicleID = vehicleID;\n  }\n\n  async activate() {\n    await this.loadVehicle();\n  }\n\n  notifyNavigation() {}\n\n  deactivate() {\n    this.vehicleKmStateService.reset();\n  }\n\n  @Watch<VehicleDetailViewModel>((s) => s.busyWatcher)\n  async loadVehicle() {\n    this.meta.title = this.translate('detail');\n    await this.vehicleRegisterService.getVehicle();\n    if (this.vehicleRegisterService.vehicle === undefined) {\n      this.navigator(RegisterViewModel).go();\n    }\n\n    runInAction(() => {\n      this.defaultTab = VehicleTabsEnum.INFO;\n    });\n    this.setDefaultTab();\n    this.meta.title = this.vehicleTitle;\n  }\n\n  get vehicleID() {\n    return this.vehicleRegisterService.vehicleID;\n  }\n\n  get vehicle() {\n    return this.vehicleRegisterService.vehicle;\n  }\n\n  get personType() {\n    return this.vehicleRegisterService.personType;\n  }\n\n  @action.bound deselectVehicle() {\n    this.vehicleRegisterService.deselectVehicle();\n    this.navigator(RegisterViewModel).go();\n  }\n\n  @action.bound\n  async setVehicleID(vehicleID: string) {\n    this.vehicleRegisterService.vehicleID = vehicleID;\n  }\n\n  @action.bound\n  setActiveTab(tab: string) {\n    runInAction(() => {\n      this.defaultTab = tab;\n    });\n  }\n\n  @computed get navSubmitRequest() {\n    return {\n      navOwnerOrOperatorChangedDigi: this.navigator(\n        IntroOwnerOrOperatorChangedViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle!.information.mainInformation.id!.toString(),\n            }\n          : undefined\n      ),\n\n      navDecommissioningDigi: this.navigator(\n        IntroDecommissioningViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n              formType: DecommissioningFormTypes.DECOMMISSIONING,\n            }\n          : undefined\n      ),\n      navTerminationDigi: this.navigator(\n        IntroDecommissioningViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n              formType: DecommissioningFormTypes.TERMINATION,\n            }\n          : undefined\n      ),\n      navDecommissioningAdditionalInfoDigi: this.navigator(\n        IntroDecommissioningViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n              formType: DecommissioningFormTypes.DECOMMISSIONING_ADDITIONAL_INFO,\n            }\n          : undefined\n      ),\n      navExportPlateRequestDigi: this.navigator(\n        IntroExportPlateRequestViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n            }\n          : undefined\n      ),\n      navNewLicensePlateDigi: this.navigator(\n        IntroNewLicencePlateViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n            }\n          : undefined\n      ),\n      navRoadworthinessCertificateDigi: this.navigator(\n        IntroNewTechnicalCertificateViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n            }\n          : undefined\n      ),\n      navRegisterDataChangeDigi: this.navigator(\n        IntroRsvDataChangeViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n            }\n          : undefined\n      ),\n      navLicencePlateLossDigi: this.navigator(\n        IntroLicencePlateLossViewModel,\n        this.vehicle && this.vehicle.information.mainInformation.id\n          ? {\n              vehicleID: this.vehicle.information.mainInformation.id.toString(),\n            }\n          : undefined\n      ),\n    };\n  }\n\n  @action.bound\n  async downloadVehicleDetail() {\n    runInAction(() => (this.isPdfLoading = true));\n    if (this.vehicleID) {\n      const blob = await this.apiService.OAEgonApi.vehiclePdf.createS7198VehicleDetailFromRSV({\n        vehicleId: Number.parseInt(this.vehicleID),\n      });\n\n      const rz = this.vehicleRegisterService.rzs ? `-${this.vehicleRegisterService.rzs}` : '';\n      PdfUtils.downloadBlob(blob, `vypis-technickych-udaju-vozidla${rz}`);\n    }\n    runInAction(() => (this.isPdfLoading = false));\n  }\n\n  @action.bound\n  async getSTKLink() {\n    if (this.vehicle) {\n      const encodedVin = encodeURIComponent(this.vehicle?.information.mainInformation.vin ?? '');\n\n      if (encodedVin) {\n        const link = await this.apiService.egonApi.vehicle.getPdApiEgonV1VehicleInspection(encodedVin);\n\n        const win = window.open(link, '_blank');\n        if (win) {\n          win.focus();\n        }\n      }\n    }\n  }\n\n  private setDefaultTab() {\n    const url = new URL(window.location.href);\n    const tab = url.searchParams.get('tab');\n\n    if (!tab) return;\n\n    this.setActiveTab(tab);\n  }\n\n  translate = translate('vehicle-register', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport useRoute from '@cendis/cedr-framework/dist/hooks/useRoute';\nimport './FooterNew.scss';\nimport { Button } from '@cendis/cedr-components';\nimport SupportDocumentService from 'src/services/SupportDocumentService';\n\nconst pjson = require('../../../package.json');\n\nexport type FooterRoutes = {\n  taxi: IRoute;\n  support: IRoute;\n  faq: IRoute;\n  tariffCharges: IRoute;\n  accessibilityStatement: IRoute;\n  processingPersonalData: IRoute;\n};\n\nexport type FooterProps = {\n  supportService: SupportDocumentService;\n  translate: Translator;\n  routes: FooterRoutes;\n  hide?: boolean;\n};\n\nconst FooterNew = observer(({ supportService, translate, routes, hide }: FooterProps) => {\n  const accessibilityStatementClick = useRoute(routes.accessibilityStatement);\n  const processingPersonalDataClick = useRoute(routes.processingPersonalData);\n  const taxiClick = useRoute(routes.taxi);\n  const supportClick = useRoute(routes.support);\n  const faqClick = useRoute(routes.faq);\n  const tariffChargesClick = useRoute(routes.tariffCharges);\n  const currentYear = new Date().getFullYear().toString();\n  const tagTime =\n    window.jsEnv.envName != 'prod'\n      ? (window.jsEnv.tagImage.match(/\\d{8}\\.\\d+$/)?.[0] ?? window.jsEnv.tagImage)\n      : '';\n\n  if (hide) return null;\n\n  return (\n    <>\n      <footer className=\"gov-container footer-new view-footer css-reset\">\n        <section className=\"footer__upper u-screen--only row position-relative\">\n          <div className=\"col-sm-12 col-md-3\">\n            <h4 className=\"gov-footer__headline\">{translate('menu.headers.services-new')}</h4>\n            <ul className=\"gov-list--plain\">\n              <li>\n                {window.jsEnv.taxiUrlEnabled == 'true' ? (\n                  <a\n                    data-testid=\"taxi-link\"\n                    href={routes.taxi.getLinkLocation()}\n                    className=\"link\"\n                    onClick={taxiClick}\n                  >\n                    {translate('menu.taxi.text')}\n                  </a>\n                ) : (\n                  <a\n                    data-testid=\"external-taxi\"\n                    href={translate('menu.taxi.link')}\n                    className=\"link\"\n                    target=\"_blank\"\n                  >\n                    {translate('menu.taxi.text')}\n                  </a>\n                )}\n              </li>\n              <li>\n                <a\n                  data-testid=\"faq-footer\"\n                  href={routes.faq.getLinkLocation()}\n                  className=\"link\"\n                  onClick={faqClick}\n                >\n                  {translate('menu.faq.text')}\n                </a>\n              </li>\n              <li>\n                <a\n                  data-testid=\"edaz-link\"\n                  href={translate('menu.edaz.link')}\n                  className=\"link link-external\"\n                  target=\"_blank\"\n                >\n                  {translate('menu.edaz.text')}\n                </a>\n              </li>\n              <li>\n                <a\n                  data-testid=\"myto-link\"\n                  href={translate('menu.myto.link')}\n                  className=\"link link-external\"\n                  target=\"_blank\"\n                >\n                  {translate('menu.myto.text')}\n                </a>\n              </li>\n            </ul>\n          </div>\n          <div className=\"col-sm-12 col-md-3\">\n            <h4 className=\"gov-footer__headline\">{translate('menu.headers.support-new')}</h4>\n            <ul className=\"gov-list--plain\">\n              <li>\n                <a\n                  data-testid=\"support-link\"\n                  href={routes.support.getLinkLocation()}\n                  onClick={supportClick}\n                  className=\"link ico-journal-text\"\n                >\n                  {translate('menu.2-new.text')}\n                </a>\n              </li>\n            </ul>\n          </div>\n          <div className=\"col-sm-12 col-md-3\">\n            <h4 className=\"gov-footer__headline\">{translate('menu.headers.other')}</h4>\n            <ul className=\"gov-list--plain\">\n              <li>\n                <a\n                  data-testid=\"accessibility-link\"\n                  href={routes.accessibilityStatement.getLinkLocation()}\n                  onClick={accessibilityStatementClick}\n                  className=\"link\"\n                >\n                  {translate('menu.4.text')}\n                </a>\n              </li>\n\n              <li>\n                <a\n                  data-testid=\"processing-personal-data-link\"\n                  href={routes.processingPersonalData.getLinkLocation()}\n                  onClick={processingPersonalDataClick}\n                  className=\"link\"\n                >\n                  {translate('menu.3.text')}\n                </a>\n              </li>\n              <li>\n                <a data-testid=\"user-manual-link\" onClick={supportService.getPDUserDocument} className=\"link\">\n                  {translate('menu.up.text')}\n                </a>\n              </li>\n            </ul>\n          </div>\n\n          <div className=\"col-sm-12 col-md-3\">\n            <h4 className=\"gov-footer__headline gov-footer__headline--about\">\n              {translate('menu.headers.about')}\n            </h4>\n\n            <p className=\"logo-md mb-4 pt-2\">\n              <a data-testid=\"menu-img-md-link\" href={translate('menu.img-md.link')} target=\"_blank\">\n                <img alt={translate('menu.img-md.alt')} src={translate('menu.img-md.src')} />\n              </a>\n            </p>\n            <p className=\"logo-cendis mb-3\">\n              <a data-testid=\"menu-img-cendis-link\" href={translate('menu.img-cendis.link')} target=\"_blank\">\n                <img alt={translate('menu.img-cendis.alt')} src={translate('menu.img-cendis.src')} />\n              </a>\n            </p>\n          </div>\n\n          <div className=\"payments col-sm-12 col-md-12\">\n            <p className=\"mt-4 mb-0\">\n              <img alt={translate('menu.img-payment.alt')} src={translate('menu.img-payment.src')} />\n            </p>\n          </div>\n\n          <div className=\"financing col-sm-12 col-md-12 mt-3\">\n            <p className=\"note mt-4 mb-0\">{translate('menu.financing.text')}</p>\n            <p className=\"mt-4 mb-0\">\n              <a\n                data-testid=\"menu-financing-npo-link\"\n                href=\"https://planobnovy.gov.cz/\"\n                target=\"_blank\"\n                className=\"logo-no-after\"\n              >\n                <img\n                  alt={translate('menu.financing.img-npo.alt')}\n                  src={translate('menu.financing.img-npo.src')}\n                />\n              </a>\n              <a\n                data-testid=\"menu-financing-feu-link\"\n                href=\"https://european-union.europa.eu/live-work-study/funding-grants-subsidies_cs\"\n                target=\"_blank\"\n                className=\"logo-no-after\"\n              >\n                <img\n                  alt={translate('menu.financing.img-feu.alt')}\n                  src={translate('menu.financing.img-feu.src')}\n                />\n              </a>\n            </p>\n          </div>\n\n          <Button\n            className=\"footer__scroll-up\"\n            aria-labelledby=\"fo-scrollBtn\"\n            aria-label=\"scroll-up\"\n            onClick={() => window.scrollTo({ top: 0, behavior: 'smooth' })}\n            testId=\"footer-scroll-up\"\n            type=\"outlined\"\n          >\n            <span className=\"button__label\">\n              <svg\n                width=\"16\"\n                height=\"16\"\n                viewBox=\"0 0 24 24\"\n                fill=\"#2362A2\"\n                xmlns=\"http://www.w3.org/2000/svg\"\n              >\n                <path\n                  fillRule=\"evenodd\"\n                  clipRule=\"evenodd\"\n                  d=\"M11.3473 6.27036C11.7078 5.90988 12.2922 5.90988 12.6527 6.27036L23.7296 17.3473C24.0901 17.7078 24.0901 18.2922 23.7296 18.6527C23.3692 19.0132 22.7847 19.0132 22.4242 18.6527L12 8.2285L1.57579 18.6527C1.21531 19.0132 0.630847 19.0132 0.270363 18.6527C-0.090121 18.2922 -0.090121 17.7078 0.270363 17.3473L11.3473 6.27036Z\"\n                  fill=\"#2362A2\"\n                ></path>\n              </svg>\n            </span>\n          </Button>\n        </section>\n\n        <hr />\n\n        <section className=\"footer__lower u-screen--only row position-relative\">\n          <div className=\"col-sm-12 col-md-9\">\n            <p className=\"note mb-0\">{translate('backtext').replace('{year}', currentYear)}</p>\n          </div>\n          <div className=\"col-sm-12 col-md-3\">\n            <p className=\"note u-align--right mb-0\">\n              <span className=\"version\" title={tagTime}>\n                {translate('version')} {pjson.version}\n              </span>{' '}\n              <span className=\"gov-design\">{translate('gov-design')}</span>\n            </p>\n          </div>\n        </section>\n      </footer>\n    </>\n  );\n});\n\nexport default FooterNew;\n","import { observer } from 'mobx-react-lite';\nimport './HeaderArrow.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype HeaderArrowProps = {\n  opened: boolean;\n};\n\nconst HeaderArrow = observer(({ opened }: HeaderArrowProps) => {\n  return (\n    <div className={getClassName('reza-header-arrow', opened && 'opened')}>\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M0.180242 4.18024C0.420565 3.93992 0.810205 3.93992 1.05053 4.18024L8 11.1297L14.9495 4.18024C15.1898 3.93992 15.5794 3.93992 15.8198 4.18024C16.0601 4.42056 16.0601 4.8102 15.8198 5.05053L8.43514 12.4351C8.19482 12.6755 7.80518 12.6755 7.56486 12.4351L0.180242 5.05053C-0.0600807 4.8102 -0.0600807 4.42056 0.180242 4.18024Z\"\n          fill=\"#2362A2\"\n        />\n      </svg>\n    </div>\n  );\n});\n\nexport default HeaderArrow;\n","import { observer } from 'mobx-react-lite';\nimport './HeaderLoader.scss';\nimport { GovIcon } from '@cendis/cedr-components';\n\ntype HeaderLoaderProps = {};\n\nconst HeaderLoader = observer(({}: HeaderLoaderProps) => {\n  return (\n    <div className=\"header-loader\">\n      <GovIcon name=\"components/loader\" className=\"gov-spin-animation\" />\n    </div>\n  );\n});\n\nexport default HeaderLoader;\n","import { observer } from 'mobx-react-lite';\nimport './RezaMandatesHeader.scss';\nimport MandatesService from 'src/services/MandatesService';\nimport InitialsCircle from 'src/app/mandateSelection/components/InitialsCircle';\nimport MandateName from 'src/app/mandateSelection/components/MandateName';\nimport HeaderArrow from './HeaderArrow';\nimport HeaderLoader from './HeaderLoader';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { forwardRef } from 'react';\nimport { MandatePersonType } from 'src/enums/MandatePersonType';\n\ntype RezaMandatesHeaderProps = {\n  mandatesService: MandatesService;\n};\n\nconst RezaMandatesHeader = observer(\n  forwardRef<HTMLDivElement, RezaMandatesHeaderProps>(({ mandatesService }: RezaMandatesHeaderProps, ref) => {\n    const { selectedMandate, toggleSelect } = mandatesService;\n    const mandatePersonType = mandatesService.isFO(selectedMandate) ? MandatePersonType.FO : MandatePersonType.PO;\n\n    const userHasMandates = mandatesService.headerMandatesOptions.length > 0;\n\n    return (\n      <div\n        className={getClassName('reza-mandates-header', userHasMandates && 'clickable')}\n        onClick={toggleSelect}\n        data-testid={'mandate-select-header'}\n        tabIndex={0}\n        ref={ref}\n        aria-haspopup=\"true\"\n        aria-expanded={mandatesService.displaySelectOptions ? 'true' : 'false'}\n        aria-controls={'reza-mandates-options'}\n        id=\"reza-dropdown-button\"\n        role=\"button\"\n      >\n        {selectedMandate === undefined ? (\n          <HeaderLoader />\n        ) : (\n          <>\n            <InitialsCircle\n              name={mandatesService.getMandateName(selectedMandate)}\n              count={mandatesService.otherMandatesHaveNotifications ? 'empty' : undefined}\n              mandatePersonType={mandatePersonType}\n              opened={mandatesService.displaySelectOptions}\n              isPFO={mandatesService.isPFO(selectedMandate)}\n            />\n            <MandateName\n              name={mandatesService.getMandateShortName(selectedMandate)}\n              subtitle={\n                mandatesService.isPO(selectedMandate) ? mandatesService.getMandateSubHeadline(selectedMandate) : 'fyzická osoba'\n              }\n            />\n            {userHasMandates && <HeaderArrow opened={mandatesService.displaySelectOptions} />}\n          </>\n        )}\n      </div>\n    );\n  })\n);\n\nexport default RezaMandatesHeader;\n","import { observer } from 'mobx-react-lite';\nimport MandateOption from 'src/app/mandateSelection/components/MandateOption';\nimport MandatesService from 'src/services/MandatesService';\nimport './RezaMandatesOptions.scss';\nimport { Button } from '@cendis/cedr-components';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { MouseEventHandler } from 'react';\n\ntype RezaMandatesOptionsProps = {\n  mandatesService: MandatesService;\n  refs: React.MutableRefObject<HTMLDivElement[]>;\n  logout: MouseEventHandler;\n};\n\nconst RezaMandatesOptions = observer(({ mandatesService, refs, logout }: RezaMandatesOptionsProps) => {\n  const {\n    implicitMandateOptions,\n    nonImplicitMandateOptions,\n    originMandate,\n    selectedMandate,\n    translate,\n    implicitDisplayed,\n    explicitDisplayed,\n    displaySelectOptions,\n    headerMandatesLimitReached,\n  } = mandatesService;\n\n  const onMandateChange = () => {\n    mandatesService.closeSelect();\n  };\n\n  const implicitIndexOffset = mandatesService.isSelectedMandate(mandatesService.originMandate) ? 1 : 2;\n  const explicitIndexOffset = implicitIndexOffset + implicitDisplayed;\n\n  const addToRefs = (el: HTMLDivElement | null, index: number) => {\n    if (!el) return;\n    refs.current[index] = el;\n  };\n\n  return (\n    <div\n      className={getClassName('reza-mandates-options')}\n      onClick={(e) => e.stopPropagation()}\n      role=\"menu\"\n      id=\"reza-mandates-options\"\n      aria-labelledby=\"reza-dropdown-button\"\n      hidden={displaySelectOptions ? false : true}\n    >\n      <button\n        type=\"button\"\n        onClick={logout}\n        data-testid=\"logout-button-mobile\"\n        className=\"test-action-logout button button-logout button-logout-mobile\"\n        title=\"Odhlásit se\"\n      >\n        <span>Odhlásit se</span>\n      </button>\n      <div className=\"all-options-wrapper\">\n        {/* CURRENT MANDATE*/}\n        <p className=\"options-section-header\">\n          {mandatesService.isSelectedMandate(mandatesService.originMandate)\n            ? translate('options.header-origin')\n            : translate('options.header-current')}\n        </p>\n        <MandateOption\n          mandate={selectedMandate}\n          mandatesService={mandatesService}\n          activeCheckMark\n          onMandateChange={onMandateChange}\n          ref={(el) => addToRefs(el, 0)}\n        />\n\n        {/* ORIGIN FO */}\n        {!mandatesService.isSelectedMandate(originMandate) && (\n          <>\n            <p className=\"options-section-header\">{translate('options.header-origin')}</p>\n\n            <MandateOption\n              mandate={originMandate}\n              mandatesService={mandatesService}\n              variant=\"secondary\"\n              onMandateChange={onMandateChange}\n              ref={(el) => addToRefs(el, 1)}\n            />\n          </>\n        )}\n\n        {/* IMPLICIT */}\n        {implicitDisplayed > 0 && (\n          <>\n            <p className=\"options-section-header\">{translate('options.header-implicit')}</p>\n\n            {implicitMandateOptions.map((mandate, index) => {\n              if (index >= implicitDisplayed) return null;\n\n              return (\n                <MandateOption\n                  mandate={mandate}\n                  mandatesService={mandatesService}\n                  key={mandatesService.isFO(mandate) ? mandate.aifoId : mandate.identificationNumber}\n                  variant=\"secondary\"\n                  onMandateChange={onMandateChange}\n                  ref={(el) => addToRefs(el, implicitIndexOffset + index)}\n                />\n              );\n            })}\n          </>\n        )}\n\n        {/* OTHER EXPLICIT MANDATES*/}\n        {explicitDisplayed > 0 && (\n          <>\n            <p className=\"options-section-header\">{translate('options.header-explicit')}</p>\n\n            {nonImplicitMandateOptions.map((mandate, index) => {\n              if (index >= explicitDisplayed) return null;\n\n              return (\n                <MandateOption\n                  mandate={mandate}\n                  mandatesService={mandatesService}\n                  key={mandatesService.isFO(mandate) ? mandate.aifoId : mandate.identificationNumber}\n                  variant=\"secondary\"\n                  onMandateChange={onMandateChange}\n                  ref={(el) => addToRefs(el, explicitIndexOffset + index)}\n                />\n              );\n            })}\n          </>\n        )}\n      </div>\n\n      {/* BUTTON LINK */}\n      {headerMandatesLimitReached && (\n        <Button\n          type=\"outlined\"\n          className=\"show-all\"\n          onClick={() => {\n            mandatesService.mandatesRoute.go();\n            mandatesService.closeSelect();\n          }}\n          testId=\"mandates-limit-reached\"\n        >\n          {translate('all-mandates-link')}\n        </Button>\n      )}\n    </div>\n  );\n});\n\nexport default RezaMandatesOptions;\n","import { observer } from 'mobx-react-lite';\nimport MandatesService from 'src/services/MandatesService';\nimport { FocusEvent, MouseEventHandler, useEffect, useRef, useState } from 'react';\nimport RezaMandatesHeader from './RezaMandatesHeader';\nimport './RezaMandatesSelect.scss';\nimport RezaMandatesOptions from './RezaMandatesOptions';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\ntype RezaMandatesSelectProps = {\n  mandatesService: MandatesService;\n  logout: MouseEventHandler;\n};\n\nconst RezaMandatesSelect = observer(({ mandatesService, logout }: RezaMandatesSelectProps) => {\n  const containerRef = useRef<HTMLDivElement>(null);\n  const headerButtonRef = useRef<HTMLDivElement>(null);\n  const menuItemsRef = useRef<HTMLDivElement[]>([]);\n  const [focusedIndex, setFocusedIndex] = useState(-1);\n\n  const userHasMandates = mandatesService.headerMandatesOptions.length > 0;\n\n  useEffect(() => {\n    const handleClickOutside = (e: PointerEvent) => {\n      if (containerRef.current && e.target instanceof Node && !containerRef.current.contains(e.target)) {\n        mandatesService.closeSelect();\n      }\n    };\n\n    document.addEventListener('pointerdown', handleClickOutside);\n\n    return () => document.removeEventListener('pointerdown', handleClickOutside);\n  }, []);\n\n  const focusIndex = (index: number) => {\n    if (menuItemsRef.current.length === 0) return;\n\n    let ceiledIndex = index % menuItemsRef.current.length;\n    if (ceiledIndex < 0) ceiledIndex = menuItemsRef.current.length + ceiledIndex;\n\n    menuItemsRef.current[ceiledIndex].focus();\n    setFocusedIndex(ceiledIndex);\n  };\n\n  const focusNextItem = () => {\n    if (menuItemsRef.current.length === 0) return;\n\n    let newIndex = focusedIndex;\n\n    if (focusedIndex === -1) {\n      newIndex = 0;\n    } else {\n      newIndex = (focusedIndex + 1) % menuItemsRef.current.length;\n    }\n\n    focusIndex(newIndex);\n  };\n\n  const focusPreviousItem = () => {\n    if (menuItemsRef.current.length === 0) return;\n\n    let newIndex = focusedIndex;\n\n    if (focusedIndex === -1 || focusedIndex === 0) {\n      newIndex = menuItemsRef.current.length - 1;\n    } else {\n      newIndex = focusedIndex - 1;\n    }\n\n    focusIndex(newIndex);\n  };\n\n  const handleKeyDown = (e: React.KeyboardEvent) => {\n    switch (e.code) {\n      case 'KeyS':\n      case 'ArrowDown':\n        focusNextItem();\n        e.preventDefault();\n        break;\n      case 'KeyW':\n      case 'ArrowUp':\n        focusPreviousItem();\n        e.preventDefault();\n        break;\n      case 'Enter':\n      case 'Space':\n        if (e.target === headerButtonRef.current) {\n          if (mandatesService.initialized) mandatesService.toggleSelect();\n          setFocusedIndex(-1);\n          e.preventDefault();\n        }\n        break;\n      case 'Escape':\n        mandatesService.closeSelect();\n        headerButtonRef.current?.focus();\n        setFocusedIndex(-1);\n        e.preventDefault();\n        break;\n    }\n  };\n\n  const handleBlur = (e: FocusEvent) => {\n    if (\n      containerRef.current &&\n      e.relatedTarget instanceof Node &&\n      !containerRef.current.contains(e.relatedTarget)\n    ) {\n      mandatesService.closeSelect();\n    }\n  };\n\n  return (\n    <div\n      className={getClassName('reza-mandates-select', 'css-reset', !userHasMandates && 'empty-mandates')}\n      ref={containerRef}\n      onKeyDown={handleKeyDown}\n      onBlur={handleBlur}\n    >\n      <RezaMandatesHeader mandatesService={mandatesService} ref={headerButtonRef} />\n      <RezaMandatesOptions mandatesService={mandatesService} refs={menuItemsRef} logout={logout} />\n    </div>\n  );\n});\n\nexport default RezaMandatesSelect;\n","import React from 'react';\nimport './NotificationBubble.scss';\nimport { observer } from 'mobx-react-lite';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NotificationService from 'src/services/NotificationService';\n\ntype NotificationBubbleProps = {\n  translate: Translator;\n  notificationService: NotificationService;\n  count: number | undefined;\n};\n\nconst NotificationBubble = observer(({ translate, notificationService, count }: NotificationBubbleProps) => {\n  const { animationPlay, isAnimationOpen } = notificationService;\n\n  if (!isAnimationOpen) return null;\n\n  const handleBubbleClick = (e: React.MouseEvent) => {\n    if ((e.target as Element).closest('.bubble-close')) {\n      return;\n    }\n\n    notificationService.navToNotifications();\n  };\n\n  return (\n    <div className={`notifications-bubble ${animationPlay ? 'animated' : null}`} onClick={handleBubbleClick}>\n      <button className=\"bubble-close\" data-testid=\"close-bubble\" onClick={(e) => notificationService.closeAnimationBox(e)}>\n        <i className=\"fa fa-close\"></i>\n      </button>\n      <p>\n        <strong>\n          {translate('have')} {count} {translate('notification')}\n        </strong>\n        <br />\n        <span className=\"notification-link\">{translate('show_notifications')}</span>\n      </p>\n    </div>\n  );\n});\n\nexport default NotificationBubble;\n","import type { MouseEventHandler } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport useRoute from '@cendis/cedr-framework/dist/hooks/useRoute';\nimport './HeaderUser.scss';\nimport MandatesService from '../../services/MandatesService';\nimport RezaMandatesSelect from './RezaMandatesSelect/RezaMandatesSelect';\nimport NotificationsCount from 'src/app/mandateSelection/components/NotificationsCount';\nimport AuthorizationService from 'src/services/AuthorizationService';\nimport NotificationBubble from 'src/app/mandateSelection/components/NotificationBubble';\nimport { Translator } from '@cendis/cedr-framework/dist/lang/translate';\nimport NotificationService from 'src/services/NotificationService';\nimport { GovIcon } from '@cendis/cedr-components';\n\nexport type HeaderUserProps = {\n  name?: string;\n  img?: string;\n  busy: boolean;\n  notifRoute: IRoute;\n  logout: MouseEventHandler;\n  mandatesService: MandatesService;\n  authorizationService: AuthorizationService;\n  notificationService: NotificationService;\n  translate: Translator;\n};\n\nconst HeaderUser = observer(\n  ({\n    name = '',\n    img,\n    busy,\n    logout,\n    notifRoute,\n    mandatesService,\n    authorizationService,\n    translate,\n    notificationService,\n  }: HeaderUserProps) => {\n    const clickNotifications = useRoute(notifRoute);\n    if (name) {\n      return (\n        <div className=\"component-header-user\">\n          {authorizationService.conditions.NOTIFICATIONS && (\n            <>\n              <button\n                onClick={(e) => {\n                  clickNotifications(e);\n                }}\n                className=\"button button-notification active\"\n                data-testid={'notification-bell'}\n                title=\"Notifikace\"\n              >\n                <GovIcon className=\"button-notification-icon\" name={'complex/bell'} size=\"s\" testId=\"button-notification-icon\" />\n                <div className=\"button-notification-title\">Upozornění</div>\n                {mandatesService.notificationBusyWatcher.isBusy || mandatesService.initBusyWatcher.isBusy ? (\n                  <div className=\"bell-counter bell-counter-position loader-notification\"></div>\n                ) : (\n                  <>\n                    <NotificationsCount\n                      count={mandatesService.selectedMandate?.notificationsCount}\n                      className=\"bell-counter-position\"\n                    />\n                    {!!mandatesService.selectedMandate?.notificationsCount &&\n                      mandatesService.selectedMandate?.notificationsCount > 0 && (\n                        <NotificationBubble\n                          notificationService={notificationService}\n                          translate={translate}\n                          count={mandatesService.selectedMandate?.notificationsCount}\n                        />\n                      )}\n                  </>\n                )}\n              </button>\n            </>\n          )}\n\n          <RezaMandatesSelect mandatesService={mandatesService} logout={logout} />\n\n          <button\n            onClick={logout}\n            data-testid=\"logout-button\"\n            className=\"test-action-logout button button-logout button-logout-pc\"\n            title=\"Odhlásit se\"\n          >\n            <span>Odhlásit se</span>\n          </button>\n        </div>\n      );\n    } else {\n      return <div className=\"component-header-user\"></div>;\n    }\n  }\n);\n\nexport default HeaderUser;\n","import type { MouseEventHandler } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport './Inactive.scss';\nimport Modal from '../shared/Modal';\nimport type { Translator } from '@cendis/cedr-framework/dist/lang/translate';\n\nexport type InactiveProps = {\n  isActive: boolean | undefined;\n  logout: MouseEventHandler;\n  continueAction: MouseEventHandler;\n  translation: Translator;\n};\n\nconst Inactive = observer(({ isActive, logout, continueAction, translation }: InactiveProps) => {\n  if (isActive === false) {\n    const content = (\n      <>\n        <div className=\"component-home-inactive\">\n          <h2>{translation('title')}</h2>\n          <p>{translation('title-sub')}</p>\n          <div className=\"btn-container\">\n            <button data-testid=\"logout\" onClick={logout} className=\"gov-button gov-button--primary-outlined\">\n              {translation('button_logout')}\n            </button>\n            <button\n              data-testid=\"inactivity-continue\"\n              onClick={continueAction}\n              className=\"gov-button gov-button--primary\"\n            >\n              {translation('button_continue')}\n            </button>\n          </div>\n        </div>\n      </>\n    );\n\n    return (\n      <>\n        <Modal>{content}</Modal>\n      </>\n    );\n  } else {\n    return <></>;\n  }\n});\n\nexport default Inactive;\n","import { useEffect, useState } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport MandatesService, { CompanyMandate, PersonMandate } from '../../../services/MandatesService';\nimport './UserRepresentationStatus.scss';\nimport { Button, GovIcon } from '@cendis/cedr-components';\nimport TooltipOnClick from '@components/form/TooltipOnClick';\n\ntype UserRepresentationStatusProps = {\n  mandatesService: MandatesService;\n  backToHome: () => void;\n};\n\nconst UserRepresentationStatus = observer(\n  ({ mandatesService, backToHome }: UserRepresentationStatusProps) => {\n    const { isRepresentation, translate } = mandatesService;\n    const [isMobile, setIsMobile] = useState(window.innerWidth <= 768);\n\n    useEffect(() => {\n      const handleResize = () => {\n        setIsMobile(window.innerWidth <= 768);\n      };\n      window.addEventListener('resize', handleResize);\n      return () => {\n        window.removeEventListener('resize', handleResize);\n      };\n    }, []);\n\n    if (!isRepresentation) {\n      return null;\n    }\n\n    const getFullDisplayText = (mandate: PersonMandate | CompanyMandate | undefined) => {\n      if (!mandate) return '';\n\n      return (\n        <>\n          {translate('representing')}:{' '}\n          <span className=\"bold\">{mandatesService.getMandateShortName(mandate)}</span>\n        </>\n      );\n    };\n\n    const getButtonText = () => {\n      return isMobile ? translate('back-short') : translate('back-to-represented-entities');\n    };\n\n    return (\n      <div className=\"css-reset\">\n        <div className=\"user-representation-banner-container\">\n          <div className=\"user-representation-banner\">\n            <div className=\"banner-text-container\">\n              <TooltipOnClick\n                tooltipContent={\n                  <>\n                    {translate('tooltip-info.text')}\n                    <br />\n                    <a href={translate('tooltip-info.link')}>{translate('tooltip-info.link-text')}</a>\n                  </>\n                }\n                testId=\"user-representation-tooltip\"\n                position=\"bottom\"\n              >\n                <span className=\"banner-text\">\n                  <GovIcon\n                    name=\"components/info-circle-fill\"\n                    color=\"white\"\n                    className=\"me-3 flex-shrink-0\"\n                    size=\"m\"\n                  />\n                  <span>{getFullDisplayText(mandatesService.selectedMandate)}</span>\n                </span>\n              </TooltipOnClick>\n            </div>\n\n            <div className=\"button-container\">\n              <Button color=\"error\" size=\"xs\" onClick={backToHome} testId=\"back-to-home\">\n                {getButtonText()}\n              </Button>\n            </div>\n          </div>\n        </div>\n      </div>\n    );\n  }\n);\n\nexport default UserRepresentationStatus;\n","import type { LayoutComponent } from '@cendis/cedr-framework/dist/types';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport './Container.scss';\n\ntype ContainerProps = LayoutComponent & {\n  wide?: boolean;\n};\n\nconst Container = ({ children, className, wide }: ContainerProps) => (\n  <div className={getClassName('gov-container', className)}>\n    <div className={`gov-container__content ${wide && 'container-wide'}`}>{children}</div>\n  </div>\n);\n\nexport default Container;\n","import type { LayoutComponent } from '@cendis/cedr-framework/dist/types';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport AndroidUtils from '../../utils/AndroidUtils';\nimport './Envelope.scss';\n\nconst Envelope = ({ children, className }: LayoutComponent) => (\n  <div className={getClassName(AndroidUtils.isDeviceAndroid() ? '' : 'form-envelope js-envelope', className)}>\n    {children}\n  </div>\n);\n\nexport default Envelope;\n","import \"./LoaderBox.scss\";\n\nexport type LoaderBoxProps = {\n  type: string;\n}\n\nconst LoaderBox = ({type}: LoaderBoxProps) => {\n  const className = 'loader-box ' + type;\n  return (\n    <div className={className}></div>\n  );\n}\n\nexport default LoaderBox;\n","import React from 'react';\nimport type { IRoute } from '@cendis/cedr-framework/dist/router/Navigator';\nimport useRoute from '@cendis/cedr-framework/dist/hooks/useRoute';\nimport { cancel } from '@cendis/cedr-framework/dist/view/Cancel';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport './CardLink.scss';\nimport './ACard.scss';\n\nexport type CardLinkProps = {\n  text?: string;\n  name: string;\n  link: IRoute;\n  disabled?: boolean;\n  className?: string;\n  iconElement?: () => React.ReactNode;\n  testId: string;\n};\n\nconst disable = cancel(() => {});\n\nconst CardLink = ({ text, name, link, disabled, className, iconElement, testId }: CardLinkProps) => {\n  const click = useRoute(link);\n  const icon = iconElement && iconElement();\n\n  return (\n    <div className={`acard component-navigation-cardlink ${icon && 'iconDiv'}`}>\n      {disabled && <div className=\"disabled-element\"></div>}\n      <div className=\"icon\">{icon}</div>\n\n      <a\n        className={getClassName('card-link', disabled && 'disabled', className)}\n        href={link.getLinkLocation()}\n        onClick={disabled ? disable : click}\n        aria-label={name + text}\n        data-testid={testId}\n      >\n        <div className=\"d-flex\">\n          <p className=\"card-heading strong flex-grow-1\">{name}</p>\n          <i className=\"fa fa-chevron-right\" aria-hidden=\"true\"></i>\n        </div>\n        {text && <p>{text}</p>}\n      </a>\n    </div>\n  );\n};\n\nexport default CardLink;\n","import './CardLink.scss';\nimport './ACard.scss';\nimport getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\n\nexport type CardLinkProps = {\n  text: string;\n  name: string;\n  link: string;\n  className?: string;\n  testId: string;\n};\n\nconst CardLink = ({ text, name, link, className, testId }: CardLinkProps) => (\n  <div className=\"acard component-navigation-cardlink\">\n    <a\n      className={getClassName('card-link', className)}\n      href={link}\n      data-testid={testId}\n      aria-label={name + text}\n      target=\"_blank\"\n      rel=\"noreferrer\"\n    >\n      <div className=\"d-flex\">\n        <p className=\"card-heading strong flex-grow-1\">{name}</p>\n        <i className=\"fa fa-external-link\" aria-hidden=\"true\"></i>\n      </div>\n      <p>{text}</p>\n    </a>\n  </div>\n);\n\nexport default CardLink;\n","import { action, computed, makeObservable, observable } from 'mobx';\nimport react from 'react';\nimport LocalizationService from '@cendis/cedr-framework/dist/services/LocalizationService';\nimport translate from '@cendis/cedr-framework/dist/lang/translate';\nimport Container from 'typedi';\n\ninterface SectionRef {\n  ref: react.RefObject<HTMLDivElement>;\n  title: string;\n  loading?: boolean;\n}\n\nexport class NavigationStore {\n  @observable refs = new Map<string, SectionRef>();\n  @observable authorizationRequired = true;\n\n  @computed\n  get isAnySectionBusy() {\n    let isBusy = false;\n\n    for (const [_, ref] of this.refs) {\n      if (ref.loading) {\n        isBusy = true;\n        break;\n      }\n    }\n\n    return isBusy;\n  }\n\n  get localization() {\n    return Container.get(LocalizationService);\n  }\n\n  constructor() {\n    makeObservable(this);\n  }\n\n  @action.bound\n  registerRef(id: string, ref: react.RefObject<HTMLDivElement>, title: string, loading?: boolean): void {\n    this.refs.set(id, { ref, title, loading });\n  }\n\n  @action.bound\n  scrollToRef(id: string) {\n    const section = this.refs.get(id);\n    if (section?.ref?.current) {\n      section.ref.current.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    }\n  }\n\n  @action.bound\n  setAuthorizationRequired(required: boolean) {\n    this.authorizationRequired = required;\n  }\n\n  translate = translate('navigation', this);\n}\n","import { observer } from 'mobx-react-lite';\nimport { useNavigationContext } from './NavigationContext';\nimport './SidebarNavigator.scss';\nimport { Button, Skeleton, Typography } from '@cendis/cedr-components';\nimport { Container } from 'typedi';\nimport AuthorizationService from '../../services/AuthorizationService';\n\ntype SidebarNavigatorProps = {};\n\nconst SidebarNavigator = observer(({}: SidebarNavigatorProps) => {\n  const { refs, scrollToRef, translate, isAnySectionBusy, authorizationRequired } = useNavigationContext();\n  const authorizationService = Container.get(AuthorizationService);\n  const isBusy = authorizationRequired\n    ? !authorizationService.initialized || isAnySectionBusy\n    : isAnySectionBusy;\n\n  if (isBusy) {\n    return (\n      <aside className=\"sidebar d-block\">\n        <Typography type=\"headline\" component=\"h3\" size=\"xs\" className=\"sidebar-title mb-3\">\n          {translate('Title')}\n        </Typography>\n        <Skeleton className=\"sidebar-skeleton\" height=\"50px\" />\n      </aside>\n    );\n  }\n\n  return (\n    <aside className=\"sidebar d-block\">\n      <Typography type=\"headline\" component=\"h3\" size=\"xs\" className=\"sidebar-title mb-3\">\n        {translate('Title')}\n      </Typography>\n      <div className=\"sidebar-list\">\n        {Array.from(refs.entries()).map(([id], index) => (\n          <span key={id} className=\"sidebar-item\">\n            <div className=\"sidebar-button\">\n              <Button\n                onClick={() => scrollToRef(id)}\n                className=\"sidebar-button\"\n                type=\"link\"\n                size=\"s\"\n                testId={`sidebar-button-${index}`}\n              >\n                <div className=\"sidebar-text\">{id}</div>\n              </Button>\n            </div>\n          </span>\n        ))}\n      </div>\n    </aside>\n  );\n});\n\nexport default SidebarNavigator;\n","import getClassName from '@cendis/cedr-framework/dist/utils/getClassName';\nimport { observer } from 'mobx-react-lite';\nimport { ReactNode } from 'react';\nimport './SectionGrid.scss';\n\ntype SectionGridProps = {\n  className?: string;\n  children?: ReactNode;\n  sideChildren?: ReactNode;\n};\n\nconst SectionGrid = observer(({ className, children, sideChildren }: SectionGridProps) => {\n  return (\n    <div className={getClassName('section-container css-reset', className)}>\n      <div className=\"side-section\">{sideChildren}</div>\n      <div className=\"main-section\">\n        <div className=\"c:max-w-screen\">{children}</div>\n      </div>\n    </div>\n  );\n});\n\nexport default SectionGrid;\n","import { createContext, ReactNode, useContext } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { NavigationStore } from './NavigationStore';\nimport SidebarNavigator from '@components/sidebar/SidebarNavigator';\nimport SectionGrid from '@components/layout/SectionGrid';\n\nexport const NavigationContext = createContext<NavigationStore | null>(null);\n\nexport const useNavigationContext = () => {\n  const context = useContext(NavigationContext);\n  if (!context) throw new Error();\n  return context;\n};\n\ntype SectionContainerProps = {\n  children: ReactNode;\n};\n\nexport const SectionContainer = observer(({ children }: SectionContainerProps) => {\n  return (\n    <NavigationContext.Provider value={new NavigationStore()}>\n      <SectionGrid sideChildren={<SidebarNavigator />}>{children}</SectionGrid>\n    </NavigationContext.Provider>\n  );\n});\n","import React, { useEffect, useRef, ReactNode } from 'react';\nimport { useNavigationContext } from './NavigationContext';\nimport { observer } from 'mobx-react-lite';\nimport './Section.scss';\n\ntype SectionProps = {\n  title: string;\n  children?: ReactNode;\n  loading?: boolean;\n};\n\nconst Section = observer(({ title, children, loading }: SectionProps) => {\n  const { registerRef } = useNavigationContext();\n  const sectionRef = useRef<HTMLDivElement | null>(null);\n\n  const normalizeId = (text: string) =>\n    text\n      .toLowerCase()\n      .normalize('NFD')\n      .replace(/[\\u0300-\\u036f]/g, '')\n      .replace(/\\s+/g, '-')\n      .replace(/[^a-z0-9-]/g, '');\n\n  useEffect(() => {\n    registerRef(title, sectionRef as React.RefObject<HTMLDivElement>, title, loading);\n  }, [title, registerRef, loading]);\n\n  return (\n    <div ref={sectionRef} id={normalizeId(title)} className=\"section\">\n      {children}\n    </div>\n  );\n});\n\nexport default Section;\n"],"names":["BreadcrumbItem","route","title","testID","onClick","useRoute","A","jsx_runtime","jsx","href","getLinkLocation","className","getClassName","children","BreadcrumbsView","es","PA","vm","isNavigationVisible","breadcrumbs","navHome","translate","windowWidth","setWindowWidth","react","useState","window","innerWidth","useEffect","handleResize","addEventListener","removeEventListener","isTablet","jsxs","map","index","Fragment","length","breadcrumbs_BreadcrumbsView","crumbVisibilityFilter","screen","breadcrumb","types","g","h","hideInNavigation","getScreenTitle","meta","BreadcrumbsViewModel","localization","authService","screens","navigator","Navigator","e","constructor","this","mobx_esm","Gn","hideOnPage","getAuth","HomeViewModel","RootViewModel","middleware","next","filter","Ay","__decorate","sH","EW","XI","AddDefaultView","service_decorator","k","__param","inject_decorator","y","LocalizationService","_a","Object","_b","AuthService","CookieBarView","toogleDetail","cookieModalViewModel","cookieService","barVisible","acceptAll","refuseAll","RenderModel","cookie_CookieBarView","CookieBarViewModel","init","setDetailVisible","detailVisible","CookieModalViewModel","_c","CookieService","CookieModalView","hideDetail","navPersonalData","clickPersonalData","Modal","headLine","closeFce","type","id","name","defaultChecked","disabled","htmlFor","checked","actualValue","analytics","onChange","target","personalization","setActualValues","cookie_CookieModalView","setNavigator","ProcessingPersonalDataViewModel","event","preventDefault","go","components_NoAuthorization","description","dist","_L","RequestsOverview","driverService","translatePaymentStatus","driverRequestsBusyWatcher","driverTachographDataBusyWatcher","requests","driverRequests","driverTachographData","status","apiV3","Domain_Contracts_Enums_OptionalValueStatus","PROVIDED","value","some","req","$type","RequestDetailModel","P","ISDT","PanelWrapper","loading","isBusy","o5","ConditionalView","required","x","CRR_DRIVING_CARD_REQUEST_LIST","CRR_DIGI_TACHOGRAPH_REQUEST_LIST","notAllowedComponent","NoDriverData","PaginatedTable","data","filterSortPaginationContext","tableContext","pageSize","testId","row","key","requestDate","requestId","requestDatabaseId","goToRequestDetail","reqToDetailType","columns","header","displayTitle","displayStatus","payment","paymentStatus","toLowerCase","width","displayedValue","DateUtils","dateFormatCz","sortOptions","sortOrder","SortUtils","xB","DESCENDING","sortType","r3","DATE_STRING","driverRequests_RequestsOverview","DriverBans","points","notificationInfo","onNavigateToNotification","onNavigateToDriverBan","shouldShowMessage","application","email","textMessage","CRR_DRIVING_CARD_OFFENCES","currentState","QB","color","NotificationButton","text","CRR_DRIVING_CARD_NOTIFICATIONS","message","InfoCard","infoText","infoNumber","buttonText","onButtonClick","driverBans_DriverBans","DriverRecordCard","driver","drivingLicences","authorized","esm5","get","AuthorizationService","conditions","CRR_DRIVING_CARD_EVIDENCE_CARD","button","p","tooltipContent","position","hidden","$n","iconStart","size","downloadCardRecord","downloadBusyWatcher","driverRecordCard_DriverRecordCard","getContent","details","reason","drivingBanUntil","date","getDrivingBanDescription","getDrivingLicenseLostDescription","quickSummary_DrivingBan","component","fontWeight","getTextParts","textParts","driverPoints","validNearEndKey","validTo","invalidKey","quickSummary_TickBoxText","getLink","linkState","actions","action","iconEnd","getIcon","state","iconName","getStateIconName","iconColor","getIconColor","quickSummary_TickBox","result","navToProfesionalLicence","navToLicences","newLicenceAvailable","items","push","driverLicenceValidTo","valid","Crr_Contracts_Models_Validity","VALID","professionalCompetenceValidTo","tachographValidTo","VALIDITY_NEAR_END","Date","newLicence","INVALID","newDigitalTachograph","profesionalLicence","item","quickSummary_DrivingLicenseEmpty","govIconName","govIconColor","govIconBg","navigateToDetail","navigateTo","autorityName","EA","height","UnionIcon","QuickSummary_getContent","navToNewDriverLicence","navToMentoring","QuickSummary","response","navToDigitalTachograph","findAutorityFromRequests","Domain_Contracts_Enums_Crr_DriverForbiddenReason","INVALID_DRIVING_LICENCE","MISSING_DRIVING_LICENCE","undefined","getResult","isNotEmptyBox","variant","quickSummary_QuickSummary","formatDate","CardsPermissions","drivingLicense","drivingCompetence","tachographs","onNavigateToLicence","goToDriverApplication","handleLicenceClick","authorizationService","CRR_DRIVING_CARD_DRIVING_LICENCE","CRR_DRIVING_CARD_PROFESSIONAL_COMPETENCE","CRR_DIGI_TACHOGRAPH_CARD","canRequestLicence","CRR_DRIVING_CARD_DRIVING_LICENCE_REQUEST","anyCardPresent","drivingLicence","drivingLicencePermissions","filteredTrainings","professionalTraining","training","trainingType","Cendis_IsssClient_Contracts_Enums_Crr_TrainingType","ENTRANCE","Table","label","documentNumber","CopyButton","content","shouldShowTachographCard","tachograph","validityForUse","Domain_Contracts_Enums_Crr_TachographStatus","vw","CardIcon","cardId","iconVersion","cardsPermissions_CardsPermissions","DriverMentoring","mentors","driverMentors","mentoring","driverMentorings","showMentorings","showMentoringButton","isEighteenOrOlderYearsOld","isSeventeenYearsOld","isFifteenSixteenYearsOld","dialog","mentoringsDialog","showRegisterTooltip","registerMentorCount","hasMaxWrittenMentors","showTooltip","isValidatedRepresentativeCount","hasMaxPersons","loadingRegisterMentorCount","driverMentorsBusyWatcher","driverMentoringDialogBusyWatcher","driverMentoringRegisterViewModel","applicationService","selectMentorService","loadAndVerifyRegisterMentors","driverMentoringsBusyWatcher","representativeBeforeValidationCount","showPreMentoringDialog","icon","mentoringsTableContext","applicantAifoId","firstName","surname","dateOfBirth","api","Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorState","IS_WRITTEN","APPROVED_AND_READY_FOR_WRITE","NONE","STRING","Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_MentorAction","RESPOND","showReactToApplicantDialog","END_MENTORING_DISABLED","showMentorDialog","registerMentorEnabled","LoaderBox","navigateToRegisterMentor","mentorsTableContext","aifoId","isLegalGuardian","tooltipWaitingRepresentative","tooltipWaitingMentor","mentoredIsAllowedEdit","todayEnding","canBeRemoved","TrashFill","showMenteeDialog","DriverConsents","consents","driverConsents","driverConsentsBusyWatcher","canConsentAll","getMentorsByConsentAll","consentsTableContext","trim","consentType","decisionAt","decisionStatus","Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentDecisionStatus","PENDING","getMentorByConsent","consentDialogBusyWatcher","DriverMentoringDialog","hasLicence","preMentoringDialogVisible","lG","isVisible","headline","onClose","hideMentoringDialog","footerButtons","primary","secondary","goToMentoring","fs","external","mentorDialogVisible","endMentoring","bold","mentored","menteeDialogVisible","removeMentor","mentor","reactToApplicantVisible","signMentoring","driverMentoring_DriverMentoringDialog","DriverNgView","quickSummaryBusyWatcher","driverPointsBusyWatcher","driverNotificationsBusyWatcher","drivingLicencesBusyWatcher","drivingCompetenceBusyWatcher","NavigationContext","nA","driverTachographUnavailable","ex","closable","CRR_STATUS","Section","quickSummary","quickSummaryTranslate","navigateToDigitalTachograph","navigateToProfesionalLicence","navigateToLicences","navigateToMentoringBlock","autorityNameFromRequests","driverTachographs","cardsPermissionsTranslate","navigateToNotificationSettings","driverNotifications","navigateToDriverBan","CRR_DRIVING_CARD_MENTORS","CRR_DRIVING_CARD_MENTORING","CRR_DRIVING_CARD_MENTORS_REQUESTS_LIST","CRR_DRIVING_CARD_CONSENTS","combinedApplicationVisible","closeCombinedPrompt","bottomChildren","goToDriverCombinedApplication","consentDialog","consentAllButton","consentDialogVisible","hideConsentDialog","clearConsentPersons","editConsentFromDialog","groupedPerson","group","consent","consentPerson","Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_ConsentType","LEGAL_GUARDIAN_WITH_MENTORING","driver_ng_DriverNgView","MentoringInfo_MentoringInfo","SectionWithIcon","DotRow","leftNode","rightNode","AddMentorForm","model","documentTypeOptions","disableSearchButton","toggleAddMentorForm","searchPerson","searchBusyWatcher","error","pd","newPerson","property","onBlur","h5","lastName","l6","options","defaultOptionMessage","components_AddMentorForm","RepresentativesRow","persons","person","birthDate","toggleDeletePerson","markPersonToDelete","PlusIcon","components_RepresentativesRow","MentorsRow","bolded","components_MentorsRow","SelectMentorWizardStep","step","maxPersonsLimitInfo","showAddMentorForm","onBeforeNextStep","disableNextStep","showDeleteDialog","maxPersonsLimit","maxPersonsOverLimit","currentMentorsCount","cH","HZ","verifyBusyWatcher","disabledButtonTooltip","useLegacyTooltip","busyWatcher","selectedRepresentatives","selectedPersons","deletePersonFromMentor","personToDelete","_01_SelectMentor_SelectMentorWizardStep","SummaryWizardStep","summaryService","submitApplication","postDataBusyWatcher","controlledButtonProps","WizardStepSummary","returnToStep","paragraphs","summaryData","_02_Summary_SummaryWizardStep","DriverMentoringView","mc","sQ","wizardContext","WizardStepListener","S","onStepChange","continueAction","driverMentoring_DriverMentoringView","NewPersonModel","documentType","AddTranslationKey","SelectMentorModel","validMentors","inValidMentors","representatives","models_NewPersonModel","SelectMentorModel_decorate","SelectMentorService","WizardStepService","validationService","apiService","representativeIdentificationService","userService","errorService","models_SelectMentorModel","BusyWatcher","canAddMorePersons","applicationMentorsError","mentorsOptions","selectMentorOptions","SelectMentorOption","isInitialLoad","writtenMentorsCount","totalSelectedAndWrittenMentors","disableNextStepRegister","disableNextStepRegisterTooltip","translateRegister","countPersons","shouldShowMaxPersonsLimit","validateRepresentativeCount","summaryRegisterData","includes","selectMentorOptionTotalPrice","dob","personalInfo","dayOfBirth","calculateAge","isFifteenYearsOld","isSixteenYearsOld","super","stepNumber","_step","startActivityWatcher","initUserData","reset","stopActivityWatcher","resetNewPersonForm","existByAifoId","collection","entry","mapRepresentatives","representativeResponse","forEach","mapMentors","applicationLocked","mapRegisterMentors","canVerify","currentSelection","eligibleMentors","alreadyRegisteredMentors","alreadyRegisteredIds","Set","m","Boolean","eligibleForVerification","has","verifyPersons","requestBodyVerify","mentorsAifoIds","crrApi","firstTimeApplicants","postPdApiCrrV1FirstTimeApplicantsMentorsVerify","foundPerson","find","selectedPerson","isEligible","eligibleMentor","view","mapMentorsToCheckboxData","availableMentorIds","o","refreshMentorOptionsAfterDelete","requestBody","document","number","personResponse","mandatesApi","identification","postPdApiMandatesV1GetPerson","errMessage","apiError","body","ineligibilityReason","jsEnv","portal","isAlreadyActiveMentor","addPersonToMentor","console","mapped","activityWatchValue","SelectMentorService_decorate","bound","Watch","s","Authorize","_","CRR_DRIVING_CARD_MENTORING_EDIT","FO","ValidationService","ApiService","_d","RepresentativeIdentificationService","_e","UserService","D","_f","ErrorService","SummaryMentorService","summaryStep","disableRegisterNextStep","SummaryMentorService_decorate","SummaryMentorService_param","SummaryMentorService_a","SummaryMentorService_b","SummaryMentorService_c","services_SelectMentorService","ApplicationService","sessionService","navigationGuardService","Lh","startGuarding","getDriverMentors","getRepresentatives","stopGuarding","activeStep","hasUnsavedChanges","hasSelectedRepresentatives","hasNewPersonData","hasMentors","representative","getPdApiMandatesV1LegalRepresentatives","representativesAifoIds","representativesToVerify","rep","verifyError","getMentors","postPdApiCrrV1FirstTimeApplicantsApplication","navToCompleteScreen","completeUrl","location","origin","assign","async","continueActivity","ApplicationService_decorate","CRR_DRIVING_CARD_MENTORS_EDIT","ApplicationService_param","ApplicationService_a","ApplicationService_b","ApplicationService_c","ApplicationService_d","SessionService","ApplicationService_e","ApplicationService_f","services_SummaryMentorService","ApplicationService_g","DriverService","_h","NavigationGuardService","_j","DriverMentoringViewModel","BaseScreen","pathNode","notifyNavigation","deactivate","DriverMentoringViewModel_decorate","DriverMentoringViewModel_param","DriverMentoringViewModel_a","DriverMentoringViewModel_b","DriverMentoringViewModel_c","driverMentoring_ApplicationService","CompleteFaq","onNavigateToSupport","defaultItems","faqItemsToRender","nD","noBorder","As","components_CompleteFaq","components_CompleteScreen","govIcon","GatewayError","CompleteScreenMentorView","busyWatcherOnLoad","successState","CompleteState","SUCCESS","LOADING","Container","navToDriver","CompleteScreenMentor_CompleteScreenMentorView","CompleteScreenMentorViewModel","validation","ValidationContext","activate","pathUtils","UA","search","ERROR","scrollTo","top","behavior","driver_ng_DriverNgViewModel","translateMedicalInfo","CompleteScreenMentorViewModel_decorate","CompleteScreenMentorViewModel_param","CompleteScreenMentorViewModel_a","CompleteScreenMentorViewModel_b","CompleteScreenMentorViewModel_c","ConsentDialogModel","showConsentDialog","ConsentDialogModel_decorate","MentoringInfo_MentoringRegisterInfo","discountTag","infoIcon","infoIconWithTooltip","driverMentoringRegister_01_SelectMentor_SelectMentorWizardStep","$Q","SummaryWizardStep_SummaryWizardStep","driverMentoringRegister_02_Summary_SummaryWizardStep","ContactDetailWizardStep","contactDetailService","formattedPhone","emailForSummary","refreshContact","isEmailDisabled","isPhoneDisabled","hasEmail","hasPhone","controlledButtonText","personSettings","Sc","display","_03_Contact_ContactDetailWizardStep","PaymentWizardStep","paymentService","amount","priceBusyWatcher","paymentPromptVisible","closePaymentPrompt","sendingDisabled","onActiveStep","getPayment","ErrorEmpty","alt","src","submitBusyWatcher","_04_Payment_PaymentWizardStep","DriverMentoringRegisterView","Loader","DriverLicenceError","errors","linkToDriver","driverMentoringRegister_DriverMentoringRegisterView","OutageErrorView","errType","completeScreen_CompleteScreen","withGradientCircle","repeatOrProcessPayment","paymentBusyWatcher","disableButtons","subtitle","externalIcon","OutageError_OutageErrorView","OutageErrorViewModel","toastService","firstTimeApplicantsService","localStorageService","refId","acceptNavigationParams","params","paymentUrl","confirmMentors","gatewayUrl","goToPayment","processPayment","refreshCurrentToken","postPdApiCrrV1FirstTimeApplicantsPayments","paymentStartTime","toISOString","set","logCatchError","addToast","animateDirection","loadDataNg","OutageErrorViewModel_decorate","AddChildrenView","OutageErrorViewModel_param","OutageErrorViewModel_a","OutageErrorViewModel_b","OutageErrorViewModel_c","OutageErrorViewModel_d","fw","OutageErrorViewModel_e","FirstTimeApplicantsService","OutageErrorViewModel_f","OutageErrorViewModel_g","OutageErrorViewModel_h","LocalStorageService","ApplicationService_ApplicationService","requestTimeoutVisible","runDeactivate","openPaymentPrompt","stopDeactivate","mentorsCount","fees","postPdApiCrrV1DriverFeesCompute","getMentorsToRegister","refreshMentorsList","hasIdAndAifo","transactionId","selectedAifoIds","selectedIdsArray","mentoringRecordIds","emailAddress","phoneNumber","phoneForSummary","postConfirmationsMentor","paymentRefId","clearSessionStorage","processPaymentUrl","navToOutage","OutageError_OutageErrorViewModel","sessionStorageKey","remove","driverMentoringRegister_ApplicationService_decorate","driverMentoringRegister_ApplicationService_param","driverMentoringRegister_ApplicationService_a","driverMentoringRegister_ApplicationService_b","driverMentoringRegister_ApplicationService_c","driverMentoringRegister_ApplicationService_d","driverMentoringRegister_ApplicationService_e","driverMentoringRegister_ApplicationService_f","driverMentoringRegister_ApplicationService_g","ApplicationService_h","ContactDetailService","ApplicationService_j","PaymentService","_k","_l","_m","_o","_p","DriverMentoringRegisterViewModel","checkSavedTransaction","DriverMentoringRegisterViewModel_decorate","DriverMentoringRegisterViewModel_param","DriverMentoringRegisterViewModel_a","DriverMentoringRegisterViewModel_b","DriverMentoringRegisterViewModel_c","driverMentoringRegister_ApplicationService","DriverMentoringDialogModel","DriverMentoringDialogModel_decorate","CompleteFaq_CompleteFaq","CompleteScreenMentorRegister_CompleteFaq","CompleteScreenMentorRegisterView","resultState","paymentResponse","Domain_Contracts_Enums_Crr_RequestPaymentStatus","completeScreenEnabled","completeDriver","navToSupport","subject","buttonRightIcon","paymentDeadlineFormatted","reloadPage","secondaryButtonText","secondaryOnClick","secondaryButtonRightIcon","PaymentExpiredModal","closePaymentExpiredModal","isOpen","showExpiredModal","showPaymentExpiredModal","CompleteScreenMentorRegister_CompleteScreenMentorRegisterView","CompleteScreenMentorRegisterViewModel","errorMessage","isGatewayError","isPaymentError","isNotFoundError","isPaymentExpired","expiresAt","applicantStatus","refundStatus","secureCode","loadPaymentStatus","getPaymentStatusWithRetry","applicantId","CANCELLED","Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_FirstTimeApplicantStatus","transactionCreatedAt","ErrorPageViewModel","showErrorToast","retries","delayMs","attempt","postPdApiCrrV1FirstTimeApplicantsPaymentStatus","PAYED","WAITING_FOR_PAYMENT","Promise","resolve","setTimeout","scrollToContent","interval","setInterval","hash","getElementById","clearInterval","SupportFormViewModel","openPaymentExpiredModal","pathname","CompleteScreenMentorRegisterViewModel_decorate","CompleteScreenMentorRegisterViewModel_param","CompleteScreenMentorRegisterViewModel_a","CompleteScreenMentorRegisterViewModel_b","CompleteScreenMentorRegisterViewModel_c","CompleteScreenMentorRegisterViewModel_d","CompleteScreenMentorRegisterViewModel_e","CompleteScreenMentorRegisterViewModel_f","CompleteScreenMentorRegisterViewModel_g","CompleteScreenMentorRegisterViewModel_h","DriverNgViewModel","driverBanViewModel","applicationListDetailModel","driverLicenceViewModel","paymentGatewayOutageViewModel","driverMentoringViewModel","requestDetailModel","mentorApplicationService","completeScreenMentorViewModel","completeScreenMentorRegisterView","outageErrorViewModel","FilterSortPaginationContext","notificationBusyWatcher","editConsentDialogBusyWatcher","models_ConsentDialogModel","models_DriverMentoringDialogModel","representativeCount","totalPersonsCount","CRR_DRIVING_CARD_CONSENTS_EDIT","c","validDrivingLicenceB","today","toDateString","validFrom","roGroup","Domain_Contracts_Enums_RoGroup","B","scrollToHash","substring","element","scrollIntoView","block","driverInfo","clearCache","request","r","authorityType","issuingAuthority","headquarters","pendingConsents","grouped","values","reduce","acc","consentId","mentorConsents","postPdApiCrrV1FirstTimeApplicantsGetMentorsByConsents","consentIds","d","reasonResponse","codeDescription","FtaStateStatusText","FTA","CRR","personToConsent","approved","totalConsents","flatMap","singleConsentReaction","putPdApiCrrV1FirstTimeApplicantsConsents","constnt_id","putPdApiCrrV1FirstTimeApplicantsConsents1","getDriverConsents","getDriverMentorings","NotificationViewModel","DriverBanViewModel","DriverLicenceViewModel","DriverDigitalTachographViewModel","z7","Error","driverMentoringRegister_DriverMentoringRegisterViewModel","openCombinedPrompt","guardian","APPROVED","selectedMentor","MENTOR_WITH_MENTORING","changeNotificationsStatus","checkForApplicationStatus","DriverLicenceApplicationViewModel","driverMentoring_DriverMentoringViewModel","card","getPdApiCrrV1DriverCard","PdfUtils","downloadBlob","success","mentoringsTranslate","mentorWithMentoringConsentId","successKey","translateFaq","DriverNgViewModel_decorate","_v","DriverNgViewModel_param","DriverNgViewModel_a","DriverNgViewModel_b","DriverNgViewModel_c","DriverNgViewModel_d","DriverNgViewModel_e","DriverNgViewModel_f","DriverNgViewModel_g","DriverNgViewModel_h","DriverNgViewModel_j","PaymentGatewayOutageViewModel","DriverNgViewModel_k","DriverNgViewModel_l","DriverNgViewModel_m","DriverNgViewModel_o","DriverNgViewModel_p","CompleteScreenMentor_CompleteScreenMentorViewModel","_q","_r","_s","CompleteScreenMentorRegister_CompleteScreenMentorRegisterViewModel","_t","_u","__WEBPACK_DEFAULT_EXPORT__","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","viewBox","fill","xmlns","clipPath","components_DiscountedPriceSpan","price","discountPercentage","nonDiscountedPrice","Math","floor","DriverDigitalTachographInfo_DriverDigitalTachographInfo","NotificationMessage","sharedDataService","releaseDays","BalikomatIcon","displayEmpty","_01_RequestReasons_RequestReasonsSelectionWizardStep","requestReasonsSelectionService","combined","predefinedStep","reasonOptions","lostOptions","theftOptions","nextStepsAvailable","isReasonSelected","isDamagedReasonSelected","isChangeReasonSelected","saveToSessionStorage","checkboxLabel","reasonChange","sx","gapSize","lostTheftReason","_02_ApplicantInformation_ApplicantInformationWizardStep","applicantInformationService","userTableData","driverTableData","link1","predefinedVariant","firstColumnMaxWidth","_05_Summary_SummaryWizardStep","CV","onBeforeNextSummaryStep","closePrompt","summaryPromptVisible","combinedApplicationPromptVisible","closeCombinedApplicationPrompt","goToCombinedApplication","onBeforeNextStepWithDelivery","isDriverReasonsBusy","setActiveStep","context","GrandAccordion","T","onBeforeHandler","navToDriverScreen","retrySend","pickUpPointService","photoSignatureService","combinedAllowed","DriverDigitalTachographSteps_DriverDigitalTachographSteps","isSecond","navigate","useNavigate","notFoundError","WizardContainer","PickUpPointWizardStep","predefinedApplicationType","DriverApplication","j","TACHOGRAPH","PhotoSignatureWizardStep","isDataChangeReasonSelected","isFromDriverLicence","DeliveryChoiceWizardStep","deliveryChoiceService","applicationType","src_app_error_errorPage_components_ErrorIcon__WEBPACK_IMPORTED_MODULE_2__","statusCode","src_enums_StatusCodes__WEBPACK_IMPORTED_MODULE_3__","v","DEFAULT","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_1__","traceId","_shared_components_NotificationMessage__WEBPACK_IMPORTED_MODULE_2__","_shared_components_SectionWithIcon__WEBPACK_IMPORTED_MODULE_3__","_shared_components_DotRow__WEBPACK_IMPORTED_MODULE_4__","_BalikomatIcon__WEBPACK_IMPORTED_MODULE_5__","_01_Reason_ReasonWizardStep","reasonService","selectOptions","isLostReasonSelected","isStolenReasonSelected","clearLostConfirmation","newDrivingAuthorizations","existingDrivingAuthorizations","getDrivingAuthorizationIcon","legalGuardianConsentService","needsConsentForReason","shouldShowWarning","canProceed","openConsentDialog","closeConsentDialog","createConsentRequest","consentCheckBusyWatcher","createConsentBusyWatcher","requiresConsent","reasonCode","isNextStepDisabled","isExtensionSelected","isOriginalSelected","consentStatus","licenceConsent","Domain_Contracts_Enums_Crr_LicenceConsent","REJECTED","checkConsentStatus","_02_Details_DetailsWizardStep","detailsService","endWarning","getRadioOptions","professionalCompetenceFee","displayProfessionalCompetenceCharge","isProfessionalCompetenceAllowed","setIsCombined","setupNavigationGuard","isProfessionalCompetenceDisabled","DiscountTag","tooltipPosition","components_CheckTag","empty","useTranslate","components_LicenceActivationChangeData","service","activateDateEarliestOption","activateDateFollowUpOption","activateDateCustomOption","orientation","activateDateType","ActivateDateTypes","EARLIEST","dateCzFrom","FOLLOW_UP","dateCzTo","CUSTOM","min","dateFrom","max","dateTo","components_LicenceActivationData","components_LicenceActivationSameDate","_03_LicenceActivation_LicenceActivationWizardStep","licenceActivationService","componentWithoutChangeDate","sameDate","_04_UserInfo_UserInfoWizardStep","userInfoService","root","getTableData","toggleDeclaration","declaration","hideLabel","components_PromptListItem","lowerCaseValue","crowns","_07_Summary_SummaryWizardStep","openCombinedApplicationPrompt","canOfferCombinedApplication","showDiscouragementBox","isTachographReasonDataBusy","isFormDisabled","hideControlledButton","allDrivingAuthorizations","sumaryDrivingAuthorizationsData","showMentorStep","mentorService","summaryMentorData","getSummaryData","summaryPromptData","expedited","canOpenPrompt","_03_Menteor_MentorWizardStep","DriverLicenceSteps_DriverLicenceSteps","pzrEndWarning","DRIVER_LICENCE","photoWarning","signatureWarning","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_2__","animation","components_BanIcon","fillRule","clipRule","components_NoDriverData","colorVersion","circleClass","mobx_react_lite__WEBPACK_IMPORTED_MODULE_1__","_components_gov4_ConditionalView__WEBPACK_IMPORTED_MODULE_3__","hideButton","tooltip","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_3__","_Loader__WEBPACK_IMPORTED_MODULE_2__","react__WEBPACK_IMPORTED_MODULE_0__","dispose","mobx__WEBPACK_IMPORTED_MODULE_2__","mJ","prev","_cendis_cedr_components_dist__WEBPACK_IMPORTED_MODULE_1__","_cendis_cedr_framework_dist_utils_getClassName__WEBPACK_IMPORTED_MODULE_3__","toast","typedi__WEBPACK_IMPORTED_MODULE_2__","clipboard","writeText","DriverPoints","handleNotificationClick","notificationButtonMessage","driverPoints_DriverPoints","DriverBanRow","driverBan","navToDriverBanDetail","isExpiredBan","monthDuration","useMemo","start","end","getFullYear","getMonth","onKeyDown","code","tabIndex","role","forGroups","join","driverBanList_DriverBanRow","DriverBanRows","displayedData","FilterSortPaginationContextProvider","bN","ban","driverBanList_DriverBanRows","DriverBanList","driverBans","CRR_DRIVING_CARD_DRIVING_BAN","sortedProperties","propertySelector","DATE_STRING_NULLABLE","PaginatedTablePagination","driverBanList_DriverBanList","DriverOffences","goToOffenceDetail","driverOffences","driverOffencesBusyWatcher","offence","offencesCommitted","committedDate","_row","order","driverOffences_DriverOffences","DriverBanView","driverBansBusyWatcher","CRR_DRIVING_CARD_LIST_OF_POINTS_DOWNLOAD_LIST","downloadPointsAction","downloadPointsBusyWatcher","log","HO","driverBan_DriverBanView","components_DetailContainer","components_DetailValues","displayEmptyValues","rowData","toString","OffenceDetailView","offenceInfo","fallbackComponent","provisionsViolated","sanction1","sanction2","decided","decisionDate","offenceDetail_OffenceDetailView","OffenceDetailViewModel","offenceOrder","orderNumber","Number","isNaN","getDriverOffences","offenceDetailViewModel","BanData","OACrrApiV2","pdApiCrrV2DriverPointsGet","offenceDetail_OffenceDetailViewModel","DriverBanViewModel_decorate","_g","DriverBanViewModel_param","DriverBanViewModel_a","DriverBanViewModel_b","DriverBanViewModel_c","DriverLicence","licence","tableData","isLicenceValid","buttonComplaint","goToComplaint","firstColumnDark","preliminaryactivationModalModel","canActivate","complaintAllowed","handleActivateClick","PreliminaryActivationModal","driverLicence_DriverLicence","components_ReasonButton","isExpanded","TableWithExpansion","expandedRow","setExpandedRow","rowIndex","DriverPermit","permissions","reasons","bans","permits","allGroupsBanned","every","permit","reasonForExpiry","licenceBan","isExpired","driverPermit_DriverPermit","components_NumberIcon","DriverCompetence","competence","trainingDate","range","driverCompetence_DriverCompetence","components_TachographUnavailable","getStatusText","apiV2","O$","now","split","cP","getCardStatus","CRR_DIGI_TACHOGRAPH_CARD_NUMBER","CRR_DIGI_TACHOGRAPH_CARD_VALIDITY","DriverTachographCard","i","driverTachographCard_DriverTachographCard","DriverLicenceView","goToDriverLicenceApplication","goToDigitalTachograph","CRR_DRIVING_CARD_DRIVING_LICENCE_GROUPS","CRR_DRIVING_CARD_DISPOSAL_REASON","driverReasons","CRR_DIGI_TACHOGRAPH_APPLICATION","driverTachographErrorMessage","driverLicence_DriverLicenceView","CompleteScreenDriverLicenceView","translateNewSuccess","navToTachograph","ErrorFound","CompleteScreen","mandateId","mandateText","completeScreenDriverLicence_CompleteScreenDriverLicenceView","CompleteScreenDriverLicenceViewModel","loadData","SharedDataService","DrivingLicenceExpiredViewModel","DrivingLicenceExpiredViewModel_decorate","GrandAccordion_GrandAccordionItem","buttonLabel","grandAccordionContext","itemRef","useRef","registerRef","isOpened","PaymentWizardStepCombined","combinedApplicationService","components_PaymentWizardStepCombined","DriverCombinedView","driverLicenceTranslate","driverDigitalTachographTranslate","firstApplication","isFirstDriver","FirstApplication","H","DRIVER","ROOT","isDriverCompleted","driverItem","onActiveCombineStep","DriverLicenceInfo","DriverLicenceSteps","tachographItem","tachographService","DriverDigitalTachographInfo","DriverDigitalTachographSteps","applicationDocumentsErrors","lastStepContext","driverCombined_DriverCombinedView","CombinedApplicationService","driverServiceApi","isDeliveryAllowed","isTachographDeliveryAllowed","initCombined","loadModelsFromSession","setupStepSynchronization","combinedVariant","updateStepsForActiveApplication","fireImmediately","isDriverApplicationActive","requestType","crrReasonParam","Domain_Contracts_Enums_Crr_DrivingLicenseApplicationReason","EXPIRY","isProfessionalCompetenceChecked","EXPIRY_WITH_PROFESSIONAL_COMPETENCE","UNKNOWN","isDelivered","deliveryChoice","DeliveryChoiceModel","VC","BOX","isExpedited","isProfessionalCompetenceRequested","addParcelPickupFee","isdtRequestReason","deliveryInformation","cpcReason","activationDate","boxAddress","placeId","placeName","deliveryType","customDate","tachographCard","orpCode","contactInfo","phone","orp","reasonName","selectedReasonName","addProfessionalCompetence","postPdApiCrrV1Requests","resetIsdtData","resetDriverData","resetQuickSummary","navigateToValidationError","ValidationErrorViewModel","errorType","encodeURIComponent","CombinedApplicationService_decorate","CombinedApplicationService_param","CombinedApplicationService_a","CombinedApplicationService_b","CombinedApplicationService_c","DriverDigitalTachographApplicationService","DeliveryChoiceService","PickUpPointService","DriverCombinedViewModel","GrandAccordionContext","DriverCombinedViewModel_decorate","DriverCombinedViewModel_param","DriverCombinedViewModel_a","DriverCombinedViewModel_b","driverCombined_CombinedApplicationService","DriverCombinedViewModel_c","driverDigitalTachographViewModel","driverLicenceApplicationViewModel","completeScreenDriverLicenceViewModel","completeDriverScreenViewModel","drivingLicenceExpiredViewModel","driverCombinedViewModel","complaintViewModel","completeScreenSharedViewModel","validationErrorViewModel","expiry","requestWithRequestId","checkCanActivate","activationAllowed","newDoc","candidates","newest","a","b","String","licenceId","oldDoc","open","clearSavedSession","all","getDriverInfo","DriverLicences","getDriverBans","getDriverTachographs","getDriverReasons","getDriverRequests","ComplaintViewModel","DriverLicenceViewModel_decorate","DriverLicenceViewModel_param","DriverLicenceViewModel_a","DriverLicenceViewModel_b","DriverLicenceViewModel_c","DriverLicenceViewModel_d","DriverLicenceViewModel_e","DriverLicenceViewModel_f","DriverLicenceViewModel_g","completeScreenDriverLicence_CompleteScreenDriverLicenceViewModel","DriverLicenceViewModel_h","CompleteScreenTachographViewModel","DriverLicenceViewModel_j","driverLicence_DrivingLicenceExpiredViewModel","DriverLicenceViewModel_k","driverCombined_DriverCombinedViewModel","DriverLicenceViewModel_l","DriverLicenceViewModel_m","PreliminaryActivationModalModel","CompleteScreenSharedViewModel","ValidationErrorView","errorDescription","ErrorInfo","isConcurrentError","howToContinueText","ErrorIcon","StatusCodes","goToDriverDashboard","driverLicence_ValidationErrorView","DetailsWizardStep","setFiles","unsetFiles","fileErrorMessage","placeholder","rows","multiline","ZZ","infoLabel","filesLabel","filesDescription","fileSizeError","fileTypeError","formats","validationsFired","handleFile","handleRemoveFile","files","allowedFileSize","filesSize","generalTranslate","isMandatory","isMultiple","hideList","_01_Details_DetailsWizardStep","DeliveryWizardStep","deliveryService","applicationPromptVisible","closeApplicationPrompt","sendApplication","BalikomatIconLarge","hideIcon","openModal","modalOpen","closeModal","allow","selectedOption","_02_Delivery_DeliveryWizardStep","ComplaintView","complaint_ComplaintView","DetailsModel","Domain_Contracts_Enums_Crr_ComplaintReason","INVALID_DOCUMENT","DetailsModelValidators","maxLength","DetailsService","getFilesBusyWatcher","uploadFilesBusyWatcher","deleteFilesBusyWatcher","_01_Details_DetailsModel","attachDescriptor","getFiles","file","FileList","res","crrApiV3","complaints","postPdApiCrrV3DriverRequestsComplaintFiles","catch","attachment","o3","fileName","fileIndex","deleteFile","then","splice","deletePdApiCrrV3DriverRequestsComplaintFiles","getPdApiCrrV3DriverRequestsComplaintFiles","Array","isArray","DetailsService_decorate","DetailsService_a","DeliveryModel","onHandleMessage","point","subtype","Crr_WebApi_Requests_DeliveryType","BALIKOVNA_PARTNER","BALIKOVNA_BOX","POST_OFFICE","DeliveryModel_decorate","MessageEvent","DeliveryModel_b","DeliveryService","_02_Delivery_DeliveryModel","stringifiedData","JSON","stringify","loadFromSessionStorage","storedData","parse","DeliveryService_decorate","DeliveryService_param","DeliveryService_a","DeliveryService_b","DeliveryService_c","DeliveryService_d","mapDeliveryType","apiV4","pZ","delivery","openApplicationPrompt","goToDetailApplication","attachmentIds","complaintBody","attachments","postPdApiCrrV3DriverRequestsComplaints","_01_Details_DetailsService","_02_Delivery_DeliveryService","ComplaintViewModel_decorate","ComplaintViewModel_param","ComplaintViewModel_a","ComplaintViewModel_b","complaint_ApplicationService","components_SuccessCompleteScreen","isWithoutPayment","paymentState","getTitle","getSubtitle","components_PendingCompleteScreen","isCombined","components_FailedCompleteScreen","payment_expired","components_ErrorCompleteScreen","config","getSubtitleBold","subtitleBold","replace","contactSupportExternal","getConfig","components_NotFoundCompleteScreen","getFaqItems","completeScreenShared_CompleteScreenSharedView","notifyBusyWatcher","loadRequestsWatcher","renderCompleteScreen","contactSupport","shouldShowExpiredModal","_cendis_cedr_framework_dist_screen_BaseScreen__WEBPACK_IMPORTED_MODULE_3__","_cendis_cedr_framework_dist_validation_ValidationContext__WEBPACK_IMPORTED_MODULE_7__","_cendis_cedr_framework_dist_async_BusyWatcher__WEBPACK_IMPORTED_MODULE_8__","src_meta__WEBPACK_IMPORTED_MODULE_20__","deadlineTimeout","mobx__WEBPACK_IMPORTED_MODULE_0__","_cendis_cedr_framework_dist_router_pathUtils__WEBPACK_IMPORTED_MODULE_17__","stopDeadlineCheck","requestTitle","savedRequestType","hasDriver","hasIsdt","drivingLicenceCreated","tachographCardCreated","isDriverProcessed","drivingLicenceRequestStatus","src_data_crr_api_models_Domain_Contracts_Enums_Crr_RequestStatus__WEBPACK_IMPORTED_MODULE_16__","Q","PROCESSED","isIsdtProcessed","tachographCardRequestStatus","isDriverFailed","FAILED","isIsdtFailed","isDriverCancelled","isIsdtCancelled","src_data_crr_api_models_Domain_Contracts_Enums_Crr_RequestPaymentStatus__WEBPACK_IMPORTED_MODULE_15__","w","src_data_crr_api__WEBPACK_IMPORTED_MODULE_21__","startDeadlineCheck","src_app_error_errorPage_ErrorPageViewModel__WEBPACK_IMPORTED_MODULE_25__","postPdApiCrrV1RequestsPaymentStatus","FOR_PROCESSING","postPdApiCrrV1RequestsPayments","_DriverNgViewModel__WEBPACK_IMPORTED_MODULE_12__","_page_SupportViewModel__WEBPACK_IMPORTED_MODULE_14__","fullText","finalUrl","deadline","timeToDeadline","getTime","clearTimeout","src_utils_DateUtils__WEBPACK_IMPORTED_MODULE_23__","computedRequestId","_cendis_cedr_framework_dist_lang_translate__WEBPACK_IMPORTED_MODULE_6__","_cendis_cedr_framework_dist_async_Watch__WEBPACK_IMPORTED_MODULE_9__","_cendis_cedr_framework_dist_view_AddDefaultView__WEBPACK_IMPORTED_MODULE_4__","_CompleteScreenSharedView__WEBPACK_IMPORTED_MODULE_11__","typedi__WEBPACK_IMPORTED_MODULE_1__","_cendis_cedr_framework_dist_services_LocalizationService__WEBPACK_IMPORTED_MODULE_5__","src_services_ApiService__WEBPACK_IMPORTED_MODULE_10__","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_13__","src_services_SessionService__WEBPACK_IMPORTED_MODULE_18__","src_services_driver_DriverService__WEBPACK_IMPORTED_MODULE_19__","src_services_AuthService__WEBPACK_IMPORTED_MODULE_22__","src_services_ErrorService__WEBPACK_IMPORTED_MODULE_24__","src_services_LocalStorageService__WEBPACK_IMPORTED_MODULE_26__","CompleteScreenTachographView","completeScreenTachographView_CompleteScreenTachographView","RequestReasonsSelectionModel","Domain_Contracts_Enums_Crr_IsdtRequestReason","RequestReasonsSelectionService","_01_RequestReasons_RequestReasonsSelectionModel","option","paymentPromptData","requestReasons","applicationDocument","LOSS","MALFUNCTION","RENEWAL_PERSONAL_DATA_CHANGE","selectedReason","requestApplicationDocuments","canBeDelivered","radioChange","charge","fee","RequestReasonsSelectionService_decorate","React","ChangeEvent","RequestReasonsSelectionService_a","ApplicantInformationService","birthPlace","address","driverCards","NEW_CARD","getUserInfo","getDrivingLicences","ApplicantInformationService_decorate","ApplicantInformationService_param","ApplicantInformationService_a","ApplicantInformationService_b","ApplicantInformationService_c","ApplicantInformationService_d","ApplicantInformationService_e","ApplicantInformationService_f","ApplicantInformationService_g","DriverApplicationService","isCombinedRequired","getDriverTachographData","overlap","postRequest","mustPay","deliveryPlace","openPrompt","crrProcessingPayment","isdtProcessingPayment","goToCombinedRootApplication","getSessionStorageData","requestReasonStringData","applicantInformationStringData","pickUpStringData","photoSignatureStringData","contactStringData","deliveryStringData","requestReason","applicantInformation","pickUp","photoSignature","contact","sessionData","photoConfirm","signatureConfirm","DriverDigitalTachographApplicationService_decorate","DriverDigitalTachographApplicationService_param","DriverDigitalTachographApplicationService_a","DriverDigitalTachographApplicationService_b","DriverDigitalTachographApplicationService_c","DriverDigitalTachographApplicationService_d","_01_RequestReasons_RequestReasonsSelectionService","DriverDigitalTachographApplicationService_e","DriverDigitalTachographApplicationService_f","_02_ApplicantInformation_ApplicantInformationService","DriverDigitalTachographApplicationService_g","DriverDigitalTachographApplicationService_h","PhotoSignatureService","SummaryService","DriverDigitalTachographView","combinedRequiredVisible","driverDigitalTachograph_DriverDigitalTachographView","goToContact","goToHome","photo","dataFormat","signature","driverRequestReasonsBusyWatcher","feePrice","_cendis_cedr_framework_dist_async_BusyWatcher__WEBPACK_IMPORTED_MODULE_4__","cacheInvalidate","getDriverApplicationReasons","setNotFoundError","err","errorId","src_utils_ErrorUtils__WEBPACK_IMPORTED_MODULE_9__","l","originalData","OriginalErrorType","OriginalDescription","getDriverRequestReasons","reasonsLength","driverRequestReasons","applicationDocuments","combinationFormAllowed","_cendis_cedr_framework_dist_async_Watch__WEBPACK_IMPORTED_MODULE_5__","typedi__WEBPACK_IMPORTED_MODULE_3__","_cendis_cedr_framework_dist_services_LocalizationService__WEBPACK_IMPORTED_MODULE_1__","src_services_NavigationGuardService__WEBPACK_IMPORTED_MODULE_6__","src_services_driver_DriverService__WEBPACK_IMPORTED_MODULE_7__","src_services_ErrorService__WEBPACK_IMPORTED_MODULE_8__","mobx_react_lite__WEBPACK_IMPORTED_MODULE_2__","close","isActivating","oldDocumentNumber","onComplete","postPdApiCrrV3DriverRequestsActivations","_cendis_cedr_framework_dist_lang_translate__WEBPACK_IMPORTED_MODULE_5__","src_services_ApiService__WEBPACK_IMPORTED_MODULE_3__","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_4__","_cendis_cedr_framework_dist_services_LocalizationService__WEBPACK_IMPORTED_MODULE_6__","ReasonModel","f","lostConfirmation","ReasonService","_01_Reason_ReasonModel","CHANGE_OF_DETAILS","LOST","STOLEN","isValidityReasonSelected","isExceptReasonSelected","ORIGINAL","EXTENSION","getReasonName","onlineResponses","isNewDrivingAuthorization","sort","localeCompare","slice","A1","A2","AM","B1","BE","C","C1","CE","C1E","D1","DE","D1E","reasonCodeNumber","deliveryAllowed","ReasonService_decorate","ExpeditedRadioOptions","professionalCompetence","expeditedString","TRUE","FALSE","_02_Details_DetailsModel","charges","selectedReasonCode","expeditedCharge","finalCharge","doesUserHaveValidProfessionalCompetence","competenceRenewalRequestBefore1YearAfterExpiry","competenceValidTo","setFullYear","findIndex","doesUserHaveAtLeastFiveTrainings","doesUserHaveFinalTrainingDuringValidity","trainings","t","loadDetailsData","getQuickSummary","getDrivingCompetence","LicenceActivationModel","activateDate","resetDates","LicenceActivationModelValidators","rangeDate","customText","LicenceActivationService","_03_LicenceActivation_LicenceActivationModel","setData","f1","finalActivationDate","activation","activationInterval","from","to","OTHER","LicenceActivationService_decorate","UserInfoModel","UserInfoService","_04_UserInfo_UserInfoModel","personalInformation","summary","degrees","birthNumber","placeOfResidence","UserInfoService_decorate","MentorModel","MentorModel_1","isSelected","initData","StringFormatUtils","capitalizeAllWords","Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_IneligibilityReason","MentorService","stateLength","selectedLength","_03_Menteor_MentorModel","MentorService_decorate","MentorService_a","MentorService_b","LegalGuardianConsentService","isMinor","isUserAdult","consentStatusMessage","showToast","getPdApiCrrV1ConsentsLicenceConsent","postPdApiCrrV1ConsentsLicenceConsent","LegalGuardianConsentService_decorate","LegalGuardianConsentService_param","LegalGuardianConsentService_a","LegalGuardianConsentService_b","LegalGuardianConsentService_c","LegalGuardianConsentService_d","CD_GROUPS","resettableServices","submitError","displayMedicalFitnessWarning","validationMentorSend","validateRefreshSteps","warnings","handleReasonChange","displayMentorStep","refreshSteps","checkDriverRequests","mentorsChooseAllowed","getValidAifoIds","mentorMap","Map","_err","users","writtenUnlocked","u","unique","keys","_requestId","processing","Domain_Contracts_Enums_Crr_DrivingLicenseApplicationStatus","PROCESSING","Domain_Contracts_Enums_IsdtRequestCode","isOverlapped","READY_TO_SEND","processed","selectedMentorAifoIds","selectedMentorIds","ApiError","vehiclePermissionCheck","groups","hasB","hasCD","isOriginalOrExtensionSelected","applicationDrivingPermissionGroups","drivingPermissionsFilter","ALL","displayTachographButton","clearSubmitError","reasonStringData","detailsStringData","activationStringData","mentorsStringData","userInfoStringData","userInfo","isConcurrent","_3","_03_Menteor_MentorService","driverLicenceApplication_LegalGuardianConsentService","_w","_x","_y","MedicalFitnessAlert_MedicalFitnessAlert","full","DriverLicenceApplicationView","hasOnlineResponses","noOnlineResponsesErr","driverLicenceApplication_DriverLicenceApplicationView","_cendis_cedr_framework_dist_async_BusyWatcher__WEBPACK_IMPORTED_MODULE_0__","getApplicationData","getTachographApplicationReasons","getApplicationDocuments","getPdApiCrrV1DriverFees","src_data_crr_api__WEBPACK_IMPORTED_MODULE_6__","Domain_Contracts_Enums_Crr_CrrFeeType","PROFESSIONAL_COMPETENCE","setDefaultApplicationError","src_utils_ErrorUtils__WEBPACK_IMPORTED_MODULE_8__","_cendis_cedr_framework_dist_async_Watch__WEBPACK_IMPORTED_MODULE_1__","typedi__WEBPACK_IMPORTED_MODULE_5__","typedi__WEBPACK_IMPORTED_MODULE_4__","src_services_NavigationGuardService__WEBPACK_IMPORTED_MODULE_7__","src_services_driver_DriverService__WEBPACK_IMPORTED_MODULE_9__","src_services_ErrorService__WEBPACK_IMPORTED_MODULE_10__","components_OutageCompleteScreen","PaymentGatewayOutageView","CompleteScreenSharedView","paymentGatewayOutage_PaymentGatewayOutageView","promisesToLoad","crrRequest","isdtRequest","SupportViewModel","driverRequests_RequestRowWrap","driverRequests_RequestDataRow","tooltipText","components_Dropdown","buttonProps","onToggle","setOpen","closing","setClosing","dropdownRef","openRef","current","closeDropdown","handleClickOutside","contains","wrapperClass","ref","stopPropagation","newState","idx","ComplaintInfoRow","createdAt","statusClass","normalized","getStatusClass","components_ComplaintInfoRow","FtaItem","translateActivation","translateExpiredModal","capitalizeFirst","str","charAt","toUpperCase","detailTitle","showDropdown","preliminaryActivationModalModel","canUserDownloadDocument","downloadDocumentAction","downloadDocumentBusyWatcher","canUserDownloadIsdtDocument","downloadIsdtDocumentAction","canUserDownloadProofOfPayment","downloadProofOfPayment","downloadProofOfPaymentBusyWatcher","canUserComplain","requestComplaint","ftaItem","canShowCreatePaymentButton","checkPaymentExpired","createPaymentBusyWatcher","canRepeatPayment","paymentPrice","toLocaleString","Domain_Contracts_Enums_Crr_FirstTimeApplicantEnums_EnrollmentStatus","WRITTEN","saturation","isdtItem","navToDriverBusyWatcher","components_FtaItem","components_DriverCardDetail","translateDetail","showInvalidationReason","cardStatus","Domain_Contracts_Enums_Crr_IsdtCardStatus","INVALIDATED","invalidationReason","showShreddingReason","SHREDDED","shreddingReason","cardInReclamationProcess","changedAt","RequestDetailView","canMentorsDocumentDownload","downloadMentorsDocumentAction","crrItem","isOverLapped","showPendingTag","showPayedAndWaitingToBeSendTag","RequestDriverTypes","deliveryAddress","orpAddress","forGroupsText","professionalCompetenceRequired","isWritten","isPending","packageDeliveryId","requestDetail_RequestDetailView","RequestDetailNotFoundView","requestDetail_RequestDetailNotFoundView","isEmpty","sendingStatus","SENT","checkCanUserActivateCard","firstTimeApplicantDigiId","applicationMethod","Domain_Contracts_Enums_Crr_ApplicationMethod","ELECTRONIC","SUBMITTED","ISSUED","digiId","isdtSendedStatuses","CREATED","CHECKED","TRANSFERRED","ONGOING_TRANSFER","administrationMethod","Domain_Contracts_Enums_Crr_RequestAdministrationMethod","complaint","FINISHED","FAILED_TO_SEND","SENT_WITH_ERROR","crrFee","isdtFee","deliveryFee","picUpPoints","pickupPlaces","foundAddress","findAddress","foundCity","findCity","foundDeliveryAddress","cType","loadQueryParams","ms","queryParams","URLSearchParams","queryRequestId","queryRequestProcessed","queryRequestComplaint","setCrrItem","setFtaItem","setIsdtItem","getPickUpPlaces","crrDriverRequests","setItem","ftaDriverRequests","isdtDriverRequests","foundPickUpPoint","pay","createPayment","oldValidFrom","getPdApiCrrV1RequestsProofOfPayment","showToastOk","showToastErr","getPdApiCrrV1DriverDigitalOperation","getPdApiCrrV1DriverTachographsDigitalOperation","isDigiNotFound","Crr_WebApi_Responses_V1_Requests_DrivingLicenceRequestResponse","Crr_WebApi_Responses_V1_Requests_IsdtRequestResponse","Crr_WebApi_Responses_V1_Requests_FirstTimeApplicantRequestResponse","AddConditionalView","components_CityOfficeIcon","components_DeliveryChoiceWizardStep","deliveryToBoxAvailability","activationDateModalVisible","closeActivationDateModal","changeActivationDate","onEditPickUpPoint","radioOptions","PERSONAL","editBoxAddress","U","OK","REQUEST_REASON","textOnline","_cendis_cedr_framework_dist_hooks_useTranslate__WEBPACK_IMPORTED_MODULE_3__","_cendis_cedr_framework_dist_utils_getClassName__WEBPACK_IMPORTED_MODULE_4__","components_DiscountIcon","withTooltip","components_DotRow","rightSubNode","_cendis_cedr_framework_dist_utils_getClassName__WEBPACK_IMPORTED_MODULE_2__","src_app_error_errorPage_components_ErrorIcon__WEBPACK_IMPORTED_MODULE_3__","src_enums_StatusCodes__WEBPACK_IMPORTED_MODULE_4__","GrandAccordionContextInstance","react__WEBPACK_IMPORTED_MODULE_3__","createContext","_GrandAccordionContext__WEBPACK_IMPORTED_MODULE_2__","useGrandAccordionContext","useContext","contextValue","Provider","itemRefs","requestAnimationFrame","inline","unregisterRef","delete","mobx_react_lite__WEBPACK_IMPORTED_MODULE_4__","_cendis_cedr_framework_dist_hooks_useNavigate__WEBPACK_IMPORTED_MODULE_2__","src_app_notificationAndContact_NotificationViewModel__WEBPACK_IMPORTED_MODULE_5__","src_enums_DriverApplication__WEBPACK_IMPORTED_MODULE_3__","_models_DeliveryChoiceModel__WEBPACK_IMPORTED_MODULE_4__","_ErrorEmpty__WEBPACK_IMPORTED_MODULE_7__","src_components_layout_LoaderBox__WEBPACK_IMPORTED_MODULE_5__","RENEWAL","effectiveType","orpOptions","react__WEBPACK_IMPORTED_MODULE_4__","isValidElement","mobx_react_lite__WEBPACK_IMPORTED_MODULE_3__","_components_gov4_layout_Table__WEBPACK_IMPORTED_MODULE_3__","_components_gov4_layout_ParagraphValue__WEBPACK_IMPORTED_MODULE_4__","DeliveryChoiceRadioOptions","mobx__WEBPACK_IMPORTED_MODULE_1__","deliveryChoiceString","src_data_crr_api__WEBPACK_IMPORTED_MODULE_2__","_cendis_cedr_framework_dist_lang_AddTranslationKey__WEBPACK_IMPORTED_MODULE_0__","_cendis_cedr_framework_dist_lang_AddTranslationKey__WEBPACK_IMPORTED_MODULE_1__","ContactDetailModel","models_ContactDetailModel","busyWatcherContactInfoRefresh","formatPhoneNumber","SHARED","getContactInfo","setInitialCheckboxValue","getContactInfoRefresh","ContactDetailService_decorate","DeliveryToBoxAvailability","src_services_WizardStepService__WEBPACK_IMPORTED_MODULE_2__","_models_DeliveryChoiceModel__WEBPACK_IMPORTED_MODULE_8__","deliveryPermissionService","src_enums_DriverApplication__WEBPACK_IMPORTED_MODULE_9__","mobx__WEBPACK_IMPORTED_MODULE_5__","src_enums_ActivateDateTypes__WEBPACK_IMPORTED_MODULE_12__","typedi__WEBPACK_IMPORTED_MODULE_0__","_cendis_cedr_framework_dist_services_LocalizationService__WEBPACK_IMPORTED_MODULE_3__","src_services_ValidationService__WEBPACK_IMPORTED_MODULE_4__","src_services_UserService__WEBPACK_IMPORTED_MODULE_7__","_driverLicence_driverLicenceApplication_03_LicenceActivation_LicenceActivationService__WEBPACK_IMPORTED_MODULE_11__","src_services_SessionService__WEBPACK_IMPORTED_MODULE_10__","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_0__","loadDataFromSessionStorage","PaymentModel","paymentMethod","models_PaymentModel","setPaymentUrl","url","navToPayment","PaymentService_decorate","PhotoSignatureModel","models_PhotoSignatureModel","sharedService","PhotoSignatureService_decorate","PickUpPointModel","NaN","models_PickUpPointModel","pickUpPlaces","selectedOrpOption","orpOption","nameA","nameB","sensitivity","orps","getPdApiCrrV1Orps","pickUpName","PickUpPointService_decorate","SummaryModel","_07_Summary_SummaryModel","SummaryService_decorate","Modal503","reload","logOut","components_Modal503","Modal403","changeToOriginMandate","components_Modal403","getErrorContent","BlueDeathModal","components_BlueDeathModal","ErrorView","CODE_503","is403SectionError","error_ErrorView","ErrorViewModel","mandateService","auth","original_aifo_id","changeMandates","MandatePersonType","AddInvisibleView","MandatesService","ErrorPageView","errorInfo","whatHappenedTitle","whatHappenedText","issue","howToContinueTitle","continue","buttonAction","errorPage_ErrorPageView","sessionKey","ErrorUtils","CODE_401","CODE_403","sessionError","toSerializableError","LoginViewModel","translateFooter","security","imageSrc","react__WEBPACK_IMPORTED_MODULE_2__","_enums_StatusCodes__WEBPACK_IMPORTED_MODULE_4__","navigation_CardTree","link","iconElement","imageElement","linkClassName","optionalService","disabledTile","click","image","HomeView","translateLogin","navNewDriver","navVehicleMenu","navPilot","navShipMenu","navMandates","navNotification","messages","disabledSectionTiles","getDisabledTileOptions","defaultResult","disabledFromEp","tile","sectionType","initialized","sectionAuthorizationMap","NewCrrCard","MandatesIcon","isLink","e4","RsvCard","VEHICLES","SpsCard","VESSELS","UclCard","AVIATION","MandatesCard","MANDATES","NotificationCard","NOTIFICATIONS","InfoMessages","ON_BOARDING","busyWatcherContactInfo","ComponentSkeleton","home_HomeView","mandatesService","infoMessageRepository","fetchMessage","fetchDisableSectionTiles","AviationViewModel","MandateViewModel","VehicleViewModel","ShipViewModel","emptyAuthorizationMap","RSV","SPS","UCL","getMessage","disabledTiles","egonApi","getPdApiEgonV1DisabledSectionTiles","Record","InitialBusyView","InfoMessageRepository","components_LoginButton","login","components_LandingPageHeader","logoLink","menuControls","headerContainerRef","mobileMenuRef","Node","closeMenu","handleFocus","targetInside","menuOpened","openMenu","getPathLocation","Logo","components_HeroBanner","HeroWaveTop","HeroWaveBottom","HeroPanel","HeroShip","HeroCardOutline","HeroCardFace","HeroCar","HeroPlane","components_ServiceCard","badge","SERVICE_CARDS","IdCardBlueIcon","nav","hasBadge","CarIcon","BellIcon","OwnerChangeBlueIcon","DriverFileBlueIcon","DocStampBlueIcon","components_ServicesSection","gridRef","dragProps","isDragging","useDragScroll","showAll","setShowAll","navKey","components_NewAddressYellowShape","preserveAspectRatio","components_NewAddressNavyShape","x1","y1","x2","y2","gradientUnits","stopColor","offset","components_NewAddressBanner","repeatNav","count","SERVICE_CATEGORIES","SteeringWheelIcon","navs","CarBlueIcon","ShipIcon","PlaneIcon","BellBlueIcon","MandatesBlueIncon","components_PortalServices","activeId","setActiveId","isModalOpen","setIsModalOpen","activeCategory","category","activeLabel","overflow","style","categoryHeader","itemsList","handleSelect","matchMedia","matches","ChevronRight","CrossIcon","components_DidYouKnowBanner","ProfessionalDriversIllustration","components_LandingPageInfoPanels","loginError","hasVisibleMessages","setHasVisibleMessages","onVisibleMessagesChange","InfoPanel","VideoIds","components_VideoTutorials","opened","toggleModal","isLoggingIn","selectedId","setSelectedId","VEHICLE_TRANSFER","videosMetaData","SPZ","duration","NOTIFICATION","DRIVING_LICENCE","POWER_OF_ATTORNEY","referrerPolicy","allowFullScreen","Scrollable","showScrollButtons","entries","srcSet","components_VideoPlayer","onPlay","PlayIcon","components_VideoBanner","isVideoOpen","setIsVideoOpen","landingPage_LandingPageView","translateLandingPage","landingPageNavigation","requestLogin","goDriverLicense","loginBusyWatcher","headerRequestLogin","headerLoginBusyWatcher","videoModalOpened","toggleVideoModal","home","FooterNew","supportService","supportDocumentService","routes","footerRoutes","cookie","N9","readMore","setReadMore","dismissed","setDismissed","messageSub","isMessageLong","adds","messageLineNumber","indexOf","displayMessage","_components_shared_InfoPanel_InfoPanel__WEBPACK_IMPORTED_MODULE_3__","handleReadMore","prevState","readMoreText","messageIndex","closeLabel","login_AutoLoginView","AutoLoginViewModel","redirectPath","match","isLoggedIn","redirectUrl","authApi","nia","createNiaAuthRequest","LoginMandateViewModel","_cendis_cedr_framework_dist_screen_BaseScreen__WEBPACK_IMPORTED_MODULE_0__","personType","src_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_10__","identifier","mobx__WEBPACK_IMPORTED_MODULE_9__","PO","refreshToken","redirectAfterTokenRefresh","backUrl","src_constants_SessionStorageKeys__WEBPACK_IMPORTED_MODULE_8__","KY","_home_HomeViewModel__WEBPACK_IMPORTED_MODULE_7__","_cendis_cedr_framework_dist_view_AddDefaultView__WEBPACK_IMPORTED_MODULE_1__","_initialBusyView_InitialBusyView__WEBPACK_IMPORTED_MODULE_11__","_cendis_cedr_framework_dist_services_LocalizationService__WEBPACK_IMPORTED_MODULE_4__","_services_AuthService__WEBPACK_IMPORTED_MODULE_6__","src_services_LocalStorageService__WEBPACK_IMPORTED_MODULE_12__","src_services_SessionService__WEBPACK_IMPORTED_MODULE_13__","_meta__WEBPACK_IMPORTED_MODULE_10__","mobx__WEBPACK_IMPORTED_MODULE_3__","setIsLoggingIn","isLogin","loginRedirect","hasAuth","getAuthFromStorage","urlParams","isCallback","_RootViewModel__WEBPACK_IMPORTED_MODULE_9__","_home_HomeViewModel__WEBPACK_IMPORTED_MODULE_12__","_security__WEBPACK_IMPORTED_MODULE_6__","_data_repositories_InfoMessageRepository__WEBPACK_IMPORTED_MODULE_7__","_services_AuthService__WEBPACK_IMPORTED_MODULE_8__","_services_ApiService__WEBPACK_IMPORTED_MODULE_11__","LogoutView","goLogin","child","login_LogoutView","LogoutViewModel","logout","loginView_LoginErrorView","LoginErrorViewModel","MandateSelectionView","goToGrantedMandates","onMandateChange","mandate","isSelectedMandate","mandatesLimited","MandateOption","originMandate","separateButton","separateButtonId","expanded","limitNameWidth","displayNotificationCount","mandateSelectionPage","implicitMandateOptions","nonImplicitMandateOptions","allMandatesLimitReached","mandateSelection_MandateSelectionView","MandateSelectionViewModel","onboardingMandateModalViewModel","headerMandatesOptions","checkAndShowOnboardingMandateModal","GrantedMandatesViewModel","OnboardingMandateModalViewModel","mandatePersonType","isPFO","initials","stringsWithoutSpace","_cendis_cedr_framework_dist_utils_getClassName__WEBPACK_IMPORTED_MODULE_1__","_components_icons_CrossIcon__WEBPACK_IMPORTED_MODULE_7__","_NotificationsCount__WEBPACK_IMPORTED_MODULE_4__","_components_icons_IcoPersonBussinesFill__WEBPACK_IMPORTED_MODULE_6__","_components_icons_IcoBuldingFill__WEBPACK_IMPORTED_MODULE_5__","react__WEBPACK_IMPORTED_MODULE_6__","forwardRef","activeCheckMark","mandateIdentifier","isFO","identificationNumber","src_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_7__","handleMandateChange","clickHandler","_InitialsCircle__WEBPACK_IMPORTED_MODULE_3__","getMandateName","notificationsCount","_MandateName__WEBPACK_IMPORTED_MODULE_5__","getMandateShortName","getMandateSubHeadline","MandateViewFaq","MandateView","navNewMandate","navMandatesList","navRepresentedEntities","Tile","noPaddingOverBorder","mandates_MandateView","_01_TemplateSelection_TemplateSelect","templateOptions","fullUrl","formattedDocumentInfo","templateCode","TemplateSelectionWizardStep","templateSelectionService","onTemplateChange","unCheck","PdfBaseUrl","uriPath","FormatDocumentInfo","L","option1","UK","VEHICLE","option2","option3","CREDO","notFoundData","changeGroup","radioVehicleDisabled","radioDriverDisabled","radioCredoDisabled","_01_TemplateSelection_TemplateSelectionWizardStep","ValidityWizardStep","validityService","optionWithEnd","optionWithoutEnd","resetModelValuesAndValidate","startMinValue","endMinValue","updateModelValidationState","validityLimit","NewMandate","VALIDITY_WITH_END","VALIDITY_WITHOUT_END","_06_Validity_ValidityWizardStep","createNewMandate","hasVehiclesSelection","rsvEnabled","EnvUtils","isRsvUnloadedVehiclesEnabled","lastStep","vehicleSelectionService","vehiclesSelectionType","VehiclesSelectionTypes","q","SelectedVehicleTable","withActions","representedEntityService","transferAgreementService","noSeparator","NewMandateView","isVehicleObjectSpecific","VehicleSelectionWizardStep","unknownObjectsAvailable","RepresentedEntityWizardStep","RepresentativeIdentificationWizardStep","TransferAgreementWizardStep","newMandate_NewMandateView","TemplateSelectionModel","checkbox","TemplateSelectionService","_01_TemplateSelection_TemplateSelectionModel","templatesResponse","template","isObjectSpecific","objectSpecificTypes","G5","loadTemplateOptions","setStep","explicitTemplates","management","getPdApiMandatesV1ManagementTemplates","n6","EXPLICIT","TemplateSelectionService_decorate","ValidityModel","startWithEnd","startWithoutEnd","resetValues","defaults","BrowserUtils","O","tomorrow","ValidityModel_decorate","ValidityModelValidators","pastDate","dateAfterToday","ValidityService","_06_Validity_ValidityModel","isValid","isNotEmpty","startValidationState","getValidation","getProperty","endValidationState","startValidationStateWithoutEnd","vu","toRequestString","selectedStartDateUTC","UTC","getUTCFullYear","getUTCMonth","getUTCDate","validateObject","ValidityService_decorate","ValidityService_param","ValidityService_a","ValidityService_b","CompleteScreenView","isRedirectedTo","MandatesRedirectType","E","NEW","permissionCode","navToMandatesList","navToNotification","completeScreen_CompleteScreenView","CompleteScreenViewModel","isValidMandatesRedirectType","translateDelegateSuccess","translateEditSuccess","CompleteScreenViewModel_decorate","CompleteScreenViewModel_param","CompleteScreenViewModel_a","CompleteScreenViewModel_b","enabled","withVehicleSelection","resetSteps","unloadVehicles","representativePersonType","identifiedPerson","transferable","objectSpecificPermissions","postPdApiMandatesV1ManagementMandates","completeScreen_CompleteScreenViewModel","_01_TemplateSelection_TemplateSelectionService","VehicleSelectionService","RepresentedEntityService","TransferAgreementService","_06_Validity_ValidityService","NewMandateViewModel","NewMandateViewModel_decorate","NewMandateViewModel_param","NewMandateViewModel_a","NewMandateViewModel_b","newMandate_ApplicationService","newMandateViewModel","grantedMandatesViewModel","obtainedMandatesViewModel","completeScreenViewModel","newMandate_NewMandateViewModel","ObtainedMandatesViewModel","MandateViewModel_decorate","MandateViewModel_param","MandateViewModel_a","MandateViewModel_b","MandateViewModel_c","MandateViewModel_d","MandateViewModel_e","MandateViewModel_f","MandateViewModel_g","isInitiallyExpanded","validityStepService","isDetailReady","validToMinValue","_01_Validity_ValidityWizardStep","templateNameData","representativeEntityData","transferableData","editMandate","permission","selectedValidity","EditMandateView","editMandate_EditMandateView","grantedMandateDetailService","aifoIdOrIco","grantedMandateDetail","mandates","loadDetail","getDetail","GrantedMandateDetailService","validityEnd","originalValidFrom","editMandate_SharedDataService","originalValidTo","setDate","getDate","pastOriginalDate","originalDate","notChangedValue","originalValue","ValidityStepService","_01_Validity_ValidityModel","isInputValid","isInputEmpty","limitedRadioOption","EditMandateDatesType","LIMITED_DATE","unlimitedRadioOption","UNLIMITED_DATE","original","validity","ValidityStepService_decorate","ValidityStepService_param","ValidityStepService_a","ValidityStepService_b","ValidityStepService_c","detail","companyName","isTransferable","putPdApiMandatesV1ManagementMandates","ChangeGrantedCompleteScreenViewModel","entityID","_01_Validity_ValidityStepService","EditMandateViewModel","EditMandateViewModel_decorate","EditMandateViewModel_param","editMandate_ApplicationService","EditMandateViewModel_a","EditMandateViewModel_b","queryPermissionCode","lastEntityId","noMandateError","getPdApiMandatesV1ManagementGrantedPersonMandatesDetail","src_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_1__","_shared_services_RepresentativeIdentificationService__WEBPACK_IMPORTED_MODULE_5__","src_services_ApiService__WEBPACK_IMPORTED_MODULE_2__","GrantedEntityInfo","isPO","LabelValueFlexBox","formattedAddress","components_GrantedEntityInfo","GrantedMandate","translateTable","navToObtainedMandateDetail","navToEditMandate","openDeleteModal","downloadVehiclesListCSV","canBeDeleted","parent","parentMandate","entity","represented","TypeUtils","entityIdFromIdentity","identity","transferredToMeByEntity","selectedVehiclesTableContext","permissionDescription","Separator","BasicCarIcon","vehicleId","manufacturer","commercialDesignation","rz","vin","headerInfo","NUMBER","mandateType","components_GrantedMandate","DeleteMandateModal","deleteModalVisible","closeDeleteModal","deleteBusyWatcher","deleteMandate","selectedPermissionCode","components_DeleteMandateModal","GrantedMandateDetailView","NoMandateFound","downloadVehiclesListCsv","grantedMandateDetail_GrantedMandateDetailView","GrantedMandateDetailViewModel","errorPageViewModel","downloadVehiclesListCSVBusyWatcher","loadGrantedMandateDetail","deletePdApiMandatesV1ManagementMandates","TerminateGrantedCompleteScreenViewModel","ObtainedMandateDetailViewModel","representing","getPdApiMandatesV1ManagementGrantedPersonMandatesDetailVehiclesCsv","Blob","IMPLICIT","isCurrentEntity","input","aifo_id","ico","GrantedMandateOverview","displayedValues","contentMaxWidth","additionalText","icoOrBirthDate","documentTypeNumber","TagsArray","tagValues","components_GrantedMandateOverview","GrantedMandatesView","navMandateDetail","mandatesContainer","vj","autoComplete","confirmSearchTerm","onEnterPress","cancelButtonProps","cancelSearchTerm","openSortModal","searchTerms","Cj","Sv","isPOIdentity","isFOIdentity","lastPageIndex","dK","currentPageIndex","setPage","pageIndex","sortModalVisible","closeAndCancelSortModal","sortModel","sortingOptions","closeAndConfirmSortModal","grantedMandates_GrantedMandatesView","SortModalOptions","SortModalModel","sortingOrder","GrantedMandatesModel","GrantedMandatesModel_decorate","grantedMandateDetailViewModel","editMandateViewModel","changeGrantedCompleteScreenViewModel","terminateGrantedCompleteScreenViewModel","models_GrantedMandatesModel","models_SortModalModel","grantedMandatesResponse","o5E","COMPLETE","grantedMandates","assignDisplayedValues","LIMITED","sortedMandates","NAME_ASCENDING","ASCENDING","NAME_DESCENDING","sortedSearchedMandates","SearchUtils","selector","recursive","paginatedMandates","ceil","loadMandates","OAMandatesApi","pdApiMandatesV1ManagementGrantedGroupedMandatesGet","mandatesResponse","mandatesWithDisplayedValues","mandateNames","searchTerm","cancelSortModal","confirmSortModal","GrantedMandatesViewModel_decorate","GrantedMandatesViewModel_a","GrantedMandatesViewModel_b","ChangeGrantedCompleteScreenView","navToMandateDetail","completeScreen_ChangeGrantedCompleteScreenView","TerminateGrantedCompleteScreenView","completeScreen_TerminateGrantedCompleteScreenView","obtainedMandateDetailService","obtainedMandateDetail","originalPermission","objectSpecifics","operationPermissionCode","selectedVehicles","vehicle","mapVehicleDataToModel","selected","SELECTED","ObtainedMandateDetailService","MandateOverviewService","MandateOverviewService_decorate","MandateOverviewService_param","MandateOverviewService_a","MandateOverviewService_b","mandateDelegation_SharedDataService","MandateOverviewService_c","TemplateSelectionModel_decorate","_02_TemplateSelection_TemplateSelectionModel","TemplateSelectionService_e","TemplateSelectionService_param","TemplateSelectionService_a","TemplateSelectionService_b","TemplateSelectionService_c","TemplateSelectionService_d","VALIDITY_FROM_PARENT_MANDATE","parentMandateValidFrom","parentMandateValidTo","parentMandateRangeDate","originalValidityOption","validityWithEndOption","validityWithoutEndOption","displayOptionWithoutEnd","originalValidityData","originalStartOrToday","originalEnd","minStartValue","minEndValue","maxEndValue","isInputWithEndValid","isInputWithoutEndValid","ValidityService_c","mandateOverviewService","summaryPromptName","identifiedCompanyName","selectedVehiclesForSummary","obtainedVehicles","transferMandate","objectSpecific","validityFromSource","delegateMandate","postPdApiMandatesV1ManagementObtainedMandatesTransfer","delegatedPermissionCode","ObtainedCompleteScreenViewModel","DELEGATE","_01_MandateOverview_MandateOverviewService","_02_TemplateSelection_TemplateSelectionService","MandateOverviewWizardStep","_01_MandateOverview_MandateOverviewWizardStep","_02_TemplateSelection_TemplateSelect","_02_TemplateSelection_TemplateSelectionWizardStep","MandateDelegationView","mandateDelegation_MandateDelegationView","MandateDelegationViewModel","MandateDelegationViewModel_decorate","MandateDelegationViewModel_param","MandateDelegationViewModel_a","MandateDelegationViewModel_b","mandateDelegation_ApplicationService","AllVehiclesSelectedModel","allVehiclesSelected","models_AllVehiclesSelectedModel","isPdUsable","pdUsable","selectedVehiclesCount","getPdApiMandatesV1ManagementObtainedMandatesDetail","toggleSelectAllVehicles","checkAllVehiclesSelected","SelectedVehicleModel","pcv","ObtainedMandateDetailService_decorate","ObtainedMandateEntityInfo","components_ObtainedMandateEntityInfo","ObtainedMandateChild","childMandate","transferredToEntity","navToGrantedMandate","components_ObtainedMandateChild","ObtainedMandate","displayedPermissionCode","navToMandateTransfer","openCancelModal","childMandates","childs","isTemplateValid","components_ObtainedMandate","ObtainedMandateDeleteModal","components_ObtainedMandateDeleteModal","ObtainedMandateDetailView","obtainedMandateDetail_ObtainedMandateDetailView","mainPermissionCode","loadObtainedMandateDetail","setErrors","ENTITY","getPdApiMandatesV1ManagementObtainedMandatesDetailVehiclesCsv","ObtainedMandatesEntityOverView","birthDateOrIcoLabel","addressLabel","templates","components_ObtainedMandatesEntityOverView","ObtainedMandatesView","entities","containerRef","handleEntityClick","obtainedMandates_ObtainedMandatesView","EntitiesSortOptions","ObtainedMandatesSortEntitiesModel","EntitiesFilter","ObtainedMandatesRepresentedEntitiesModel","entitiesFilter","ObtainedMandatesRepresentedEntitiesModel_decorate","obtainedMandateDetailViewModel","mandateDelegationViewModel","obtainedCompleteScreenViewModel","models_ObtainedMandatesRepresentedEntitiesModel","models_ObtainedMandatesSortEntitiesModel","entitiesResponse","entitiesOverviewData","filteredEntities","filteredSortedEntities","filteredSortedSearchedEntities","paginatedEntities","loadEntities","navDetail","OAMandatesApiV2","pdApiMandatesV2ManagementObtainedPersonMandatesGet","ObtainedMandatesViewModel_decorate","ObtainedMandatesViewModel_a","ObtainedMandatesViewModel_b","ObtainedCompleteScreenView","navToObtainedMandates","completeScreen_ObtainedCompleteScreenView","mandatesTranslate","_cendis_cedr_framework_dist_hooks_useNavigate__WEBPACK_IMPORTED_MODULE_4__","_components_gov4_icons_IconWithGradientBackground__WEBPACK_IMPORTED_MODULE_7__","iconSize","backgroundSize","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_5__","src_app_home_HomeViewModel__WEBPACK_IMPORTED_MODULE_6__","personTypeOptions","resetOptionPo","resetOptionFo","searchPo","clearSearchPo","src_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_3__","mobx__WEBPACK_IMPORTED_MODULE_4__","removeVehicle","clearSelectedVehicles","_components_gov4_paginatedTable_PaginatedTable__WEBPACK_IMPORTED_MODULE_3__","src_utils_SortUtils__WEBPACK_IMPORTED_MODULE_4__","components_VehiclePicker","searchResults","addVehicle","searchModel","MAX_SELECTED_VEHICLES","vehiclesCount","vehiclesShown","searchVehicle","searchIsVin","showNotFound","resultsOrigin","addVehiclesToResults","VehicleSearch","CarTile","components_ObtainedVehicleTable","indeterminate","components_VehicleSelectionWizardStep","vehicleSelectionAllOption","vehicleSelectionSelectedOption","initialVehiclesLoading","obtained","_components_gov4_layout_Paragraphs__WEBPACK_IMPORTED_MODULE_2__","_components_gov4_separator_Separator__WEBPACK_IMPORTED_MODULE_3__","RepresentativeIdentificationModel","models_RepresentativeIdentificationModel","identifiedCompanyResponse","identifiedPersonResponse","disableInput","isIdentifiedUserSameAsLoggedInUser","identifiedPersonType","loggedUserPersonType","firstname","entrepreneurInfo","TH","ID","OP","CA","IR","VS","PS","IX","IE","capitalizeFirstLetter","personFound","handlePersonNotFound","ErrorType","ROB_PERSON_AGE_INVALID","ROB_PERSON_INCOMPETENT","searchString","companyResponse","getPdApiMandatesV1Company","oldValues","RepresentativeIdentificationService_decorate","RepresentativeIdentificationService_a","_services_WizardStepService__WEBPACK_IMPORTED_MODULE_4__","_cendis_cedr_framework_dist_async_BusyWatcher__WEBPACK_IMPORTED_MODULE_6__","src_utils_StringFormatUtils__WEBPACK_IMPORTED_MODULE_11__","FirstDocumentOfSortedInfo","waitForUserInfo","_cendis_cedr_framework_dist_async_Watch__WEBPACK_IMPORTED_MODULE_7__","src_services_UserService__WEBPACK_IMPORTED_MODULE_8__","src_services_MandatesService__WEBPACK_IMPORTED_MODULE_9__","_services_ValidationService__WEBPACK_IMPORTED_MODULE_12__","src_services_NavigationGuardService__WEBPACK_IMPORTED_MODULE_13__","TransferAgreementModel","models_TransferAgreementModel","TransferAgreementService_decorate","VehicleSelectionModel","vehicleRegisterService","models_VehicleSelectionModel","VehicleSearchModel","searchVehicleBusyWatcher","vehiclesLoadingBusyWatcher","test","lastSearchedText","isVehicleComplete","removedVehicle","removedVehicles","vehiclesToAdd","vehicles","mapVehicleDetailToBasic","getSearchedVehicles","searchedItem","findVehicleByVin","findLicencePlate","concat","extraSections","allowedSections","extendAllowedSections","egonApiV2","getPdApiEgonV2VehiclesByVin","getPdApiEgonV2VehiclesByLicencePlate","information","mainInformation","documents","rzs","actual","VehicleSelectionService_decorate","VehicleRegisterService","notifications_NotificationSearchView","searchItem","searchTermEmpty","setSearchTermEmpty","StandaloneInput","checkEmpty","labelPlaceholder","notifications_NotificationsLoader","Notification","received","isActive","isRead","newText","classNames","renderContent","dangerouslySetInnerHTML","__html","MarkdownContent","checkInternalLinks","NotificationDetail","notification","heading","linkText","URL","hostname","isInternalLink","NotificationNoData","backAction","NotificationsView","notificationService","navToHome","isMobile","setIsMobile","loadBusyWatcher","notifications","currentNotifications","activeNotification","findNotification","unselectNotification","isLoading","initBusyWatcher","noNotifications","noActiveAndCurrentNotifications","setActive","Button","outlined","notifications_NotificationsView","NotificationsViewLoading","notifications_NotificationsViewLoading","NotificationsViewModel","resetAnimation","history","back","forceInit","firstNotificationsFetched","NotificationService","AccessibilityStatementView","page_AccessibilityStatementView","AccessibilityStatementViewModel","FaqAccordionItem","itemNum","itemNumString","AccordionItem","components_FaqAccordionItem","FaqView","numberOfFaq","Accordion","page_FaqView","FaqViewModel","ProcessingPersonalDataView","colSpan","page_ProcessingPersonalDataView","SupportView","navSupportForm","isAuthed","Envelope","CardLink","page_SupportView","supportFormVM","page_TariffChargesView","TariffCharges","TariffChargesViewModel","fileSize","SupportFormView","busyWatcherSend","sendForm","supportFormModel","setFile","setFilesSize","ScreenContext","Input","Textarea","DragAndDropFile","curr","ErrorMessage","ButtonLoader","classes","supportForm_SupportFormView","SupportFormSuccessView","SuccessMessage","InfoBox","supportForm_SupportFormSuccessView","SupportFormSuccessViewModel","supportFormSuccessViewModel","SupportFormModel","fileNames","J","user","getPdApiEgonV1UserContactInfo","File","sendFormData","supportForm_SupportFormSuccessViewModel","formData","getMapFormData","supportApi","supports","postPdApiSupportV1Support","Email","Subject","Description","addMetadataToDescription","PhoneNumber","Content","userAgent","platform","language","SupportFormViewModel_decorate","SupportFormViewModel_param","SupportFormViewModel_a","components_TaxiCard","isActiveClass","TaxiView","navFaq","navVehicleVerification","navLicenseVerification","wide","taxiVehicleVerificationViewModel","taxiLicenseVerificationViewModel","taxiGeneralVerificationViewModel","getTaxiTechnicDocument","taxi_TaxiView","TaxiFormModel","intermediaryCheck","l_","TaxiFormModelValidators","if","formModel","models_TaxiFormModel","apiData","formatTimestamp","timestamp","convertToCSV","headers","registrationPlates","plate","registrationPlate","timeZoneName","cardNumber","csvContent","rowArray","handleExportClick","vehicleApiData","licenseApiData","encodedUri","createElement","setAttribute","appendChild","removeChild","isValidRegistrationPlate","isValidLicenseNumber","parseInt","handleSessionStorage","storageResult","SessionStorageKeys","sz","parsedResults","codes","results","mapVehicleRegistrationResponse","taxi","g$","dataValidAsOf","statusMessagesCs","statusMessagesEn","rZ","wd","getData","rpsdTaxi","pVodnApi","checkVehicleRegistrationPost","checkDriverCardValidityRequestPost","TaxiVerificationForm","textareaID","checkboxID","inputID","Alert","Checkbox","components_TaxiVerificationForm","TaxiGeneralVerificationView","handleButtonClick","taxiGeneralConfirmationViewModel","infoMessage","verification_TaxiGeneralVerificationView","components_TaxiResult","resultText","resultColorClass","ECheckDriverCardValidityResult","NOT_VALID","TaxiConfirmationView","singleData","components_TaxiConfirmationView","TaxiGeneralConfirmationView","dataProps","confirmation_TaxiGeneralConfirmationView","TaxiGeneralConfirmationViewModel","TaxiGeneralConfirmationViewModel_decorate","TaxiGeneralConfirmationViewModel_param","TaxiGeneralConfirmationViewModel_a","TaxiGeneralConfirmationViewModel_b","TaxiGeneralConfirmationViewModel_c","taxi_ApplicationService","TaxiGeneralVerificationViewModel","TaxiGeneralVerificationViewModel_1","codeValid","codeValidate","cardNumbers","confirmation_TaxiGeneralConfirmationViewModel","TaxiGeneralVerificationViewModel_decorate","TaxiGeneralVerificationViewModel_param","TaxiGeneralVerificationViewModel_a","TaxiGeneralVerificationViewModel_b","TaxiGeneralVerificationViewModel_c","TaxiVehicleVerificationView","taxiVehicleConfirmationViewModel","verification_TaxiVehicleVerificationView","TaxiVehicleConfirmationView","confirmation_TaxiVehicleConfirmationView","TaxiVehicleConfirmationViewModel","TaxiVehicleConfirmationViewModel_decorate","TaxiVehicleConfirmationViewModel_param","TaxiVehicleConfirmationViewModel_a","TaxiVehicleConfirmationViewModel_b","TaxiVehicleConfirmationViewModel_c","TaxiVehicleVerificationViewModel","TaxiVehicleVerificationViewModel_1","registrationPlateValid","registrationPlateValidate","invalidCodes","validCodes","confirmation_TaxiVehicleConfirmationViewModel","TaxiVehicleVerificationViewModel_decorate","TaxiVehicleVerificationViewModel_param","TaxiVehicleVerificationViewModel_a","TaxiVehicleVerificationViewModel_b","TaxiVehicleVerificationViewModel_c","TaxiVehicleVerificationViewModel_d","TaxiLicenseVerificationView","taxiLicenseConfirmationViewModel","verification_TaxiLicenseVerificationView","TaxiLicenseConfirmationView","confirmation_TaxiLicenseConfirmationView","TaxiLicenseConfirmationViewModel","TaxiLicenseConfirmationViewModel_decorate","TaxiLicenseConfirmationViewModel_param","TaxiLicenseConfirmationViewModel_a","TaxiLicenseConfirmationViewModel_b","TaxiLicenseConfirmationViewModel_c","TaxiLicenseVerificationViewModel","TaxiLicenseVerificationViewModel_1","licenseValid","licenseValidate","confirmation_TaxiLicenseConfirmationViewModel","TaxiLicenseVerificationViewModel_decorate","TaxiLicenseVerificationViewModel_param","TaxiLicenseVerificationViewModel_a","TaxiLicenseVerificationViewModel_b","TaxiLicenseVerificationViewModel_c","TaxiLicenseVerificationViewModel_d","TaxiViewModel","navGeneralVerification","verification_TaxiGeneralVerificationViewModel","verification_TaxiVehicleVerificationViewModel","verification_TaxiLicenseVerificationViewModel","TaxiViewModel_decorate","TaxiViewModel_param","TaxiViewModel_a","TaxiViewModel_b","TaxiViewModel_c","TaxiViewModel_d","SupportDocumentService","DateHighlite","isMoreThenNow","HomeDocuments","busy","cardName","issuedOn","invalidFrom","components_HomeDocuments","ShipOwnership","components_ShipOwnership","HomeVessels","vessels","registerNumber","documentValidTo","ownershipPercentage","components_HomeVessels","ShipView","navReplacementCertificate","navNewCertificate","navValidityExtension","navVesselRegistration","navDataChangeVessel","navExamCertificate","navExchangeCertificate","navMachinistQualification","navExchangeSwimmingBook","navAdnExamCertificate","navAdnRenewalCertificate","navBuyerAuthorizationBySeller","navExtensionAndChanges","navDuplicateVesselCertificate","navChangeOwnerOrOperator","navRemovalFromRegistry","isFo","navCrewEuIssuance","busyWatcherPersonalInfo","ship_ShipView","ConfirmationView","Confirmation_ConfirmationView","PaymentDoneView","referenceNumber","examAddress","getPdf","getZip","pdfBusyWatcher","zipBusyWatcher","rightMargin","PaymentDone_PaymentDoneView","PaymentRejectedView","backToShips","PaymentDone_PaymentRejectedView","PaymentDone_PaymentWaitingView","NewPaymentDoneView","examDate","PaymentDone_NewPaymentDoneView","ReplacementPaymentDoneView","certificate","branch","PaymentDone_ReplacementPaymentDoneView","ExtensionPaymentDoneView","boat","pin","pickup","ExtensionValidityService","pk","Pickup","PaymentDone_ExtensionPaymentDoneView","ChangesPaymentDoneView","PaymentDone_ChangesPaymentDoneView","VesselRegistrationPaymentDoneView","devices","PaymentDone_VesselRegistrationPaymentDoneView","PaymentFailedView","PaymentDone_PaymentFailedView","PaymentStatuses","PaymentDoneViewModel","PaymentDoneViewModel_1","OldSpsBaseScreen","shipService","shipDownloadService","applicationShown","notFound","pdf","zip","retryGetStatus","serviceId","paymentInterval","newSummary","replacementSummary","extensionSummary","vesselRegistrationSummary","changesSummary","loadShipData","getPaymentStatus","resetFormData","getV2PaymentStatus","handleError","setPaymentInfo","CANCELED","FAIL","deleteV2Form","DONE","pickupMethod","issuingBranch","getV2Pdf","download","getV2Zip","ship_ShipViewModel","ShipServiceAbstract","ShipDownloadService","ConfirmationPage_ExamConfirmation","exam","isExamRequired","Typography","time","_06_Confirmation_ConfirmationView","downloadPdf","downloadPdfBusyWatcher","downloadZip","downloadZipBusyWatcher","ConfirmationPage","applicationNumber","isPdfBusy","isZipBusy","examService","reasonId","RelatedLicenses","newLicenses","otherLicenseService","newOtherLicenses","ConfirmedBranch","branchName","ApplicationStatusLink","OldLicences","oldLicense","oldOtherLicenses","ChangeNotification","AlertMessage","ConfirmationViewModel","ConfirmationViewModel_1","SpsBaseScreen","activateBusyWatcher","stepsService","changeStep","startPaymentStatusInterval","downloadFileService","ConfirmationViewModel_decorate","PaymentStatusScreen_PaymentWaitingView","SpsPaymentStatus","ConfirmationViewModel_param","ConfirmationViewModel_a","ConfirmationViewModel_b","ConfirmationViewModel_c","_05_Confirmation_ConfirmationView","ConfirmationViewModel_ConfirmationViewModel","ConfirmationViewModel_ConfirmationViewModel_1","_05_Confirmation_ConfirmationViewModel_decorate","_05_Confirmation_ConfirmationViewModel_param","_05_Confirmation_ConfirmationViewModel_a","_05_Confirmation_ConfirmationViewModel_b","MachinistQualification_ApplicationService","_05_Confirmation_ConfirmationViewModel_c","ConfirmationPage_ConfirmationTechnicalInspection","boatInspectionService","boatInspectionModel","ConfirmationPage_ConfirmationUtz","boatInfoService","selectedIds","boatInfoModel","selectedDescriptions","deviceDescriptions","device","_09_Confirmation_ConfirmationView_ConfirmationView","ConfirmationBoat","actionText","boatsService","selectedBoat","ConfirmationPickupAndBranch","pickupId","pickupDocumentsService","selectedPickup","updateText","_09_Confirmation_ConfirmationView","_09_Confirmation_ConfirmationViewModel_ConfirmationViewModel","_09_Confirmation_ConfirmationViewModel_ConfirmationViewModel_1","_09_Confirmation_ConfirmationViewModel_decorate","_09_Confirmation_ConfirmationViewModel_param","_09_Confirmation_ConfirmationViewModel_a","_09_Confirmation_ConfirmationViewModel_b","ExtensionAndChanges_ApplicationService","_09_Confirmation_ConfirmationViewModel_c","ChangeOwnerOrOperator_06_Confirmation_ConfirmationView","boatService","branchService","selectedBranch","itemText","CertificateReturn","_06_Confirmation_ConfirmationViewModel_ConfirmationViewModel","_06_Confirmation_ConfirmationViewModel_ConfirmationViewModel_1","_06_Confirmation_ConfirmationViewModel_decorate","_06_Confirmation_ConfirmationViewModel_param","_06_Confirmation_ConfirmationViewModel_a","_06_Confirmation_ConfirmationViewModel_b","ChangeOwnerOrOperator_ApplicationService","_06_Confirmation_ConfirmationViewModel_c","_04_Confirmation_ConfirmationView_ConfirmationView","hasAttachmentToDownload","_04_Confirmation_ConfirmationView","_04_Confirmation_ConfirmationViewModel_ConfirmationViewModel","_04_Confirmation_ConfirmationViewModel_ConfirmationViewModel_1","_04_Confirmation_ConfirmationViewModel_decorate","_04_Confirmation_ConfirmationViewModel_param","_04_Confirmation_ConfirmationViewModel_a","_04_Confirmation_ConfirmationViewModel_b","RemovalFromRegistry_ApplicationService","_04_Confirmation_ConfirmationViewModel_c","Confirmation_ConfirmationViewModel_ConfirmationViewModel","paymentDoneViewModel","D4","ID121","_06_Confirmation_ConfirmationViewModel","ID141","AdnExamCertificate_06_Confirmation_ConfirmationViewModel","ID142","_05_Confirmation_ConfirmationViewModel","ID143","MachinistQualification_05_Confirmation_ConfirmationViewModel","ID204","_09_Confirmation_ConfirmationViewModel","ID205","ChangeOwnerOrOperator_06_Confirmation_ConfirmationViewModel","ID207","_04_Confirmation_ConfirmationViewModel","ID111","ID191","ID201","ID202","ID203","Confirmation_ConfirmationViewModel_decorate","Confirmation_ConfirmationViewModel_param","Confirmation_ConfirmationViewModel_a","Confirmation_ConfirmationViewModel_b","PaymentDone_PaymentDoneViewModel","Confirmation_ConfirmationViewModel_c","AbstractExchangeCertificateViewModel","introViewModel","personalInfoViewModel","requestViewModel","attachmentsViewModel","summaryViewModel","confirmationViewModel","redirectToIntro","IntroViewModel","AbstractExchangeCertificateViewModel_decorate","AbstractExchangeCertificateViewModel_param","ExchangeOldForNewCertificate_ApplicationService","AbstractExchangeCertificateViewModel_a","AbstractExchangeCertificateViewModel_b","AbstractExchangeCertificateViewModel_c","AbstractExchangeCertificateViewModel_d","PersonalInfoViewModel","RequestViewModel","AttachmentsViewModel","SummaryViewModel","ExchangeOldForNewCertificate_05_Confirmation_ConfirmationViewModel","AbstractMachinistQualificationViewModel","examDateViewModel","_00_Intro_IntroViewModel","AbstractMachinistQualificationViewModel_decorate","AbstractMachinistQualificationViewModel_param","AbstractMachinistQualificationViewModel_a","AbstractMachinistQualificationViewModel_b","AbstractMachinistQualificationViewModel_c","AbstractMachinistQualificationViewModel_d","_01_PersonalInfo_PersonalInfoViewModel","AbstractMachinistQualificationViewModel_e","_02_Attachments_AttachmentsViewModel","AbstractMachinistQualificationViewModel_f","ExamDateViewModel","AbstractMachinistQualificationViewModel_g","_04_Summary_SummaryViewModel","AbstractMachinistQualificationViewModel_h","AbstractExamCertificateViewModel","personInfoViewModel","requestInfoViewModel","ExamCertificate_00_Intro_IntroViewModel","AbstractExamCertificateViewModel_decorate","AbstractExamCertificateViewModel_param","AbstractExamCertificateViewModel_a","AbstractExamCertificateViewModel_b","AbstractExamCertificateViewModel_c","AbstractExamCertificateViewModel_d","PersonInfoViewModel","AbstractExamCertificateViewModel_e","RequestInfoViewModel","AbstractExamCertificateViewModel_f","_03_Attachments_AttachmentsViewModel","AbstractExamCertificateViewModel_g","_04_ExamDate_ExamDateViewModel","AbstractExamCertificateViewModel_h","_05_Summary_SummaryViewModel","AbstractCrewEuIssuanceViewModel","formDataViewModel","CrewEuIssuanceCertificate_00_Intro_IntroViewModel","AbstractCrewEuIssuanceCertificateViewModel_decorate","AbstractCrewEuIssuanceCertificateViewModel_param","CrewEuIssuanceCertificate_ApplicationService","AbstractCrewEuIssuanceCertificateViewModel_a","AbstractCrewEuIssuanceCertificateViewModel_b","AbstractCrewEuIssuanceCertificateViewModel_c","AbstractCrewEuIssuanceCertificateViewModel_d","CrewEuIssuanceCertificate_01_PersonalInfo_PersonalInfoViewModel","AbstractCrewEuIssuanceCertificateViewModel_e","_02_Request_RequestViewModel","AbstractCrewEuIssuanceCertificateViewModel_f","FormDataViewModel","AbstractCrewEuIssuanceCertificateViewModel_g","_04_Attachments_AttachmentsViewModel","AbstractCrewEuIssuanceCertificateViewModel_h","CrewEuIssuanceCertificate_05_Summary_SummaryViewModel","AbstractCrewEuIssuanceCertificateViewModel_j","CrewEuIssuanceCertificate_06_Confirmation_ConfirmationViewModel","AbstractBuyerAuthorizationBySellerViewModel","selectBoatChangeTypeViewModel","buyerViewModel","BuyerAuthorizationBySeller_00_Intro_IntroViewModel","AbstractBuyerAuthorizationBySellerViewModel_decorate","AbstractBuyerAuthorizationBySellerViewModel_param","BuyerAuthorizationBySeller_ApplicationService","AbstractBuyerAuthorizationBySellerViewModel_a","AbstractBuyerAuthorizationBySellerViewModel_b","AbstractBuyerAuthorizationBySellerViewModel_c","AbstractBuyerAuthorizationBySellerViewModel_d","BuyerAuthorizationBySeller_01_PersonalInfo_PersonalInfoViewModel","AbstractBuyerAuthorizationBySellerViewModel_e","SelectBoatChangeTypeViewModel","AbstractBuyerAuthorizationBySellerViewModel_f","BuyerViewModel","AbstractBuyerAuthorizationBySellerViewModel_g","BuyerAuthorizationBySeller_04_Summary_SummaryViewModel","AbstractBuyerAuthorizationBySellerViewModel_h","BuyerAuthorizationBySeller_05_Confirmation_ConfirmationViewModel","AbstractChangeOwnerOrOperatorViewModel","branchViewModel","ChangeOwnerOrOperatorIntroViewModel","AbstractChangeOwnerOrOperatorViewModel_decorate","AbstractChangeOwnerOrOperatorViewModel_param","AbstractChangeOwnerOrOperatorViewModel_a","AbstractChangeOwnerOrOperatorViewModel_b","AbstractChangeOwnerOrOperatorViewModel_c","AbstractChangeOwnerOrOperatorViewModel_d","ChangeOwnerOrOperator_01_PersonalInfo_PersonalInfoViewModel","AbstractChangeOwnerOrOperatorViewModel_e","ChangeOwnerOrOperator_02_Request_RequestViewModel","AbstractChangeOwnerOrOperatorViewModel_f","ChangeOwnerOrOperator_03_Attachments_AttachmentsViewModel","AbstractChangeOwnerOrOperatorViewModel_g","BranchViewModel","AbstractChangeOwnerOrOperatorViewModel_h","ChangeOwnerOrOperator_05_Summary_SummaryViewModel","AbstractChangeOwnerOrOperatorViewModel_j","AbstractRemovalFromRegistryViewModel","RemovalFromRegistry_00_Intro_IntroViewModel","AbstractRemovalFromRegistryViewModel_decorate","AbstractRemovalFromRegistryViewModel_param","AbstractRemovalFromRegistryViewModel_a","AbstractRemovalFromRegistryViewModel_b","AbstractRemovalFromRegistryViewModel_c","AbstractRemovalFromRegistryViewModel_d","RemovalFromRegistry_01_PersonalInfo_PersonalInfoViewModel","AbstractRemovalFromRegistryViewModel_e","RemovalFromRegistry_02_Request_RequestViewModel","AbstractRemovalFromRegistryViewModel_f","_03_Summary_SummaryViewModel","AbstractRemovalFromRegistryViewModel_g","ExtensionAndChangesViewModel","shipSelectionViewModel","utzDevicesViewModel","typeOfChangeViewModel","technicalInspectionViewModel","licensePickupViewModel","ExtensionAndChanges_00_Intro_IntroViewModel","ExtensionAndChangesViewModel_decorate","ExtensionAndChangesViewModel_param","ExtensionAndChangesViewModel_a","ExtensionAndChangesViewModel_b","ExtensionAndChangesViewModel_c","ExtensionAndChangesViewModel_d","_01_PersonInfo_PersonInfoViewModel","ExtensionAndChangesViewModel_e","ShipSelectionViewModel","ExtensionAndChangesViewModel_f","UtzDevicesViewModel","ExtensionAndChangesViewModel_g","TypeOfChangeViewModel","ExtensionAndChangesViewModel_h","_05_Attachments_AttachmentsViewModel","ExtensionAndChangesViewModel_j","TechnicalInspectionViewModel","LicensePickupViewModel","_08_Summary_SummaryViewModel","AbstractDuplicateVesselCertificateViewModel","DuplicateVesselCertificate_00_Intro_IntroViewModel","AbstractDuplicateVesselCertificateViewModel_decorate","AbstractDuplicateVesselCertificateViewModel_param","DuplicateVesselCertificate_ApplicationService","AbstractDuplicateVesselCertificateViewModel_a","AbstractDuplicateVesselCertificateViewModel_b","AbstractDuplicateVesselCertificateViewModel_c","AbstractDuplicateVesselCertificateViewModel_d","DuplicateVesselCertificate_01_PersonalInfo_PersonalInfoViewModel","AbstractDuplicateVesselCertificateViewModel_e","DuplicateVesselCertificate_02_Request_RequestViewModel","AbstractDuplicateVesselCertificateViewModel_f","DuplicateVesselCertificate_03_Summary_SummaryViewModel","AbstractDuplicateVesselCertificateViewModel_g","DuplicateVesselCertificate_04_Confirmation_ConfirmationViewModel","AbstractExchangeSwimmingBookViewModel","ExchangeSwimmingBook_00_Intro_IntroViewModel","AbstractExchangeSwimmingBookViewModel_decorate","AbstractExchangeSwimmingBookViewModel_param","ExchangeSwimmingBook_ApplicationService","AbstractExchangeSwimmingBookViewModel_a","AbstractExchangeSwimmingBookViewModel_b","AbstractExchangeSwimmingBookViewModel_c","AbstractExchangeSwimmingBookViewModel_d","ExchangeSwimmingBook_01_PersonalInfo_PersonalInfoViewModel","AbstractExchangeSwimmingBookViewModel_e","ExchangeSwimmingBook_02_Request_RequestViewModel","AbstractExchangeSwimmingBookViewModel_f","ExchangeSwimmingBook_03_Attachments_AttachmentsViewModel","AbstractExchangeSwimmingBookViewModel_g","ExchangeSwimmingBook_04_Summary_SummaryViewModel","AbstractExchangeSwimmingBookViewModel_h","ExchangeSwimmingBook_05_Confirmation_ConfirmationViewModel","abstractChangeOwnerOrOperatorViewModel","replacementCertificateViewModel","newCertificateViewModel","extensionValidityCertificateViewModel","changesCertificateViewModel","vesselRegistrationViewModel","abstractExchangeCertificateViewModel","abstractExchangeSwimmingBookViewModel","abstractExamCertificateViewModel","abstractAdnExamCertificateViewModel","abstractCrewEuIssuanceCertificateViewModel","abstractAdnRenewalCertificateViewModel","extensionAndChangesViewModel","abstractBuyerAuthorizationBySellerViewModel","abstractDuplicateVesselCertificateViewModel","abstractMachinistQualificationViewModel","abstractRemovalFromRegistryViewModel","resetVessels","ReplacementCertificateViewModel","NewCertificateViewModel","ExtensionValidityCertificateViewModel","VesselRegistrationViewModel","ChangesCertificateViewModel","AdnExamCertificate_00_Intro_IntroViewModel","AdnRenewalCertificate_00_Intro_IntroViewModel","OASpsApi","sps","pdApiSps2V2VesselGet","compare","engineTranslate","ShipViewModel_decorate","_0","_1","ShipViewModel_param","ShipViewModel_a","ShipViewModel_b","ChangeOwnerOrOperator_AbstractChangeOwnerOrOperatorViewModel","ShipViewModel_c","ShipViewModel_d","ShipViewModel_e","ShipViewModel_f","ShipViewModel_g","ShipViewModel_h","Confirmation_ConfirmationViewModel","ShipViewModel_j","ShipViewModel_k","ExchangeOldForNewCertificate_AbstractExchangeCertificateViewModel","ShipViewModel_l","ExchangeSwimmingBook_AbstractExchangeSwimmingBookViewModel","ShipViewModel_m","ExamCertificate_AbstractExamCertificateViewModel","AbstractAdnExamCertificateViewModel","AbstractCrewEuIssuanceCertificateViewModel","AbstractAdnRenewalCertificateViewModel","ExtensionAndChanges_ExtensionAndChangesViewModel","BuyerAuthorizationBySeller_AbstractBuyerAuthorizationBySellerViewModel","DuplicateVesselCertificate_AbstractDuplicateVesselCertificateViewModel","MachinistQualification_AbstractMachinistQualificationViewModel","RemovalFromRegistry_AbstractRemovalFromRegistryViewModel","_z","IntroView","navNextStep","nextStepBusyWatcher","navBack","IntroPage","steps","navToForm","_00_Intro_IntroView","IntroViewModel_1","_01_PersonInfo_PersonInfoView","navNext","ApplicationStep","PersonOrCompanyInfo","personService","PersonInfoViewModel_1","getPerson","getCitizenships","validate","EligibilitiesViewModel","EligibilitiesView","EligibilitySelection","eligibilityService","_02_Eligibilities_EligibilitiesView","EligibilitiesViewModel_1","getEligibilities","AttachmentsView","attachmentsService","isTotalSizeOverMax","Attachments","_03_Attachments_AttachmentsView","AttachmentsViewModel_1","selectedEligibilityId","getRequiredAttachments","eligibilities","selectedEligibilitiesRequestString","_04_Exam_ExamDateView","dateError","ExamSelection","ExamDateViewModel_1","getPlaces","getRestrictions","_05_Summary_SummaryView","confirmSummaryModel","confirmAndAllow","PersonalInfoSummary","citizenShip","citizenship","SummarySection","SelectedEligibility","ExamSummary","AttachmentsSummary","ConfirmationCheckbox","PaymentInfoBox","SummaryViewModel_1","ConfirmSummaryModel","postForm","ConfirmationPage_ConfirmedEligibilityWithExam","selectedEligibilitiesString","PaymentWaitingView","_cendis_cedr_framework_dist_screen_BaseScreen__WEBPACK_IMPORTED_MODULE_4__","eligibilitiesViewModel","mobx__WEBPACK_IMPORTED_MODULE_6__","_00_Intro_IntroViewModel__WEBPACK_IMPORTED_MODULE_9__","_cendis_cedr_framework_dist_lang_translate__WEBPACK_IMPORTED_MODULE_7__","_cendis_cedr_framework_dist_view_AddInvisibleView__WEBPACK_IMPORTED_MODULE_3__","_cendis_cedr_framework_dist_screen_AddChildrenView__WEBPACK_IMPORTED_MODULE_2__","_ApplicationService__WEBPACK_IMPORTED_MODULE_8__","_01_PersonInfo_PersonInfoViewModel__WEBPACK_IMPORTED_MODULE_10__","_02_Eligibilities_EligibilitiesViewModel__WEBPACK_IMPORTED_MODULE_11__","_03_Attachments_AttachmentsViewModel__WEBPACK_IMPORTED_MODULE_12__","_04_Exam_ExamDateViewModel__WEBPACK_IMPORTED_MODULE_13__","_05_Summary_SummaryViewModel__WEBPACK_IMPORTED_MODULE_14__","_06_Confirmation_ConfirmationViewModel__WEBPACK_IMPORTED_MODULE_15__","AdnExamCertificateSteps","SpsApplicationService","formDataService","relationId","postPerson","RelationId","Person","requestPersonString","ContactAddress","contactAddress","LicenceId","Eligibilities","ExamPlaceId","ExamId","dateId","RestrictionId","restrictionId","RestrictionNote","note","filesBlobsWithDescription","AttachmentDescriptions","DeliveryAddress","getEntityDeliveryAddress","spsApi","postPdApiSps2V2Handover141","FormDataService","StepsService","PersonService","EligibilityService","AttachmentsService","ExamService","DownloadFileService","RequestInfoView","BranchSelection","_02_RequestInfo_RequestInfoView","RequestInfoViewModel_1","getBranches","SummaryView","SelectedBranch","paymentInfo","_04_Summary_SummaryView","ConfirmationPage_ConfirmedEligibility","ConfirmationPage_OldAdnCertificateNote","singular","_02_RequestInfo_RequestInfoViewModel__WEBPACK_IMPORTED_MODULE_11__","_04_Summary_SummaryViewModel__WEBPACK_IMPORTED_MODULE_13__","_05_Confirmation_ConfirmationViewModel__WEBPACK_IMPORTED_MODULE_14__","AdnRenewalCertificateSteps","ReleasePlaceId","branchId","getPersonString","getEntityContactString","postPdApiSps2V2Handover142","BranchService","ChangesCertificateStepsView","changesCertificateTranslate","Steps","ChangesCertificateSteps_ChangesCertificateStepsView","ChangesCertificateStepsViewModel","StepsViewModel","visitedStep","FormState","G","ChangesCertificateService","_cendis_cedr_framework_dist_screen_BaseScreen__WEBPACK_IMPORTED_MODULE_2__","_01_PersonalInfo_PersonalInfoView","PersonalInfoViewModel_1","SelectBoatChangeTypeView","BoatSelection","ChangeTypeSelection","changeTypeService","_02_SelectBoatChangeType_SelectBoatChangeTypeView","SelectBoatChangeTypeViewModel_1","getBoats","getChangeTypes","Application_BuyerIdentification","disableDeliveryAddress","splitName","_03_Buyer_BuyerView","buyerService","BuyerViewModel_1","identifyBuyer","loadBuyerInfo","Summary_BoatAndChangeTypeSummary","selectedChangeType","Summary_BuyerInfoSummary","buyerPersonInfo","birthdate","birthplace","AddressUtils","_9","city","street","houseNumber","postcode","buyerCompanyInfo","company","zeroPayment","PersonalOrCompanyInfoSummary","postPaymentStatus","houseReferenceNumber","BuyerAuthorizationBySellerSteps","ID281","commonRequestBody","BoatId","boatId","ChangeTypeId","Company","getCompanyString","requestBodyFO","BuyerPerson","HandoverBuyerPersonString","postPdApiSps2V2Handover281BuyerPerson","requestBodyPO","BuyerCompanyIco","HandoverBuyerCompanyIco","BuyerEmail","HandoverBuyerCompanyEmail","CompanyId","buyerId","postPdApiSps2V2Handover281BuyerCompany","deleteForm","BoatService","ChangeTypeService","BuyerService","ChangeOwnerOrOperatorIntroView","_00_Intro_ChangeOwnerOrOperatorIntroView","ChangeOwnerOrOperatorIntroViewModel_1","RequestView","allowContinue","RadioGroup","assigneeTypeService","selectedAssigneeType","assigneeTypeOptions","htmlLabel","selectDefaultAfterAssigneeTypeChange","isBuyer","boatBuyersOptions","boatSellersOptions","_02_Request_RequestView","RequestViewModel_1","getAssigneeTypes","selectDefaultSellerOrBuyerBoat","isSeller","changeTypeId","BranchView","PickupSelection","pickupService","_04_Branch_BranchView","BranchViewModel_1","getPickupDocuments","ChangeOwnerOrOperatorSteps","AssigneeTypeModel","assigneeId","mapJSONData","Partial","AssigneeTypeService","SpsService","Models_AssigneeTypeModel","assigneeTypes","ChangeTypeModel","updateAssigneeType","removeFromSessionStorage","codebooks","getPdApiSps2V2AssigneeType","changeType","changeTypeOption","AssigneeTypeService_decorate","AssigneeTypeService_a","PickupId","Firma","postPdApiSps2V2Handover205","PickupDocumentsService","Service_AssigneeTypeService","ChangesCertificateView","navPersonalInfo","goBack","ChangesCertificate_ChangesCertificateView","BoatSelectionView","goNext","boatOptions","pickupOptions","boatSelectionData","changesCertificateStepsViewModel","Fieldset","BoatSelection_BoatSelectionView","BoatModel","BoatModel_1","mapData","BoatModelValidators","BoatSelectionViewModel","BoatSelectionViewModel_1","BoatSelectionModel","VisitedShipSelection","hasVisited","formState","visitedShipSelection","clear","saveData","boatLabel","pickupLabel","setBoatSelectionData","loadBoats","loadPickups","boatData","getBoatSelectionData","toggleNotFound","boatsResponse","getV2Boats","boats","pickups","getV2Pickups","methods","BoatSelectionViewModel_decorate","ShipErrorView","RequiredAttachmentsView","handleSetFileSize","isSizeAllowed","maxSize","sublabel","comment","allowedTypes","mandatory","hideMaxSize","RequiredAttachments_RequiredAttachmentsView","RequiredAttachmentsViewModel","RequiredAttachmentsViewModel_1","VisitedAttachments","visitedAttachments","licencesChanged","hasLicencesChanged","setIsLoading","resetFiles","getAttachments","toggleFalseAndSave","HasLicencesChanged","hasMandatoryFiles","mandatoryFilesCount","setRequiredAttachments","setTo","licences","getV2AttachmentsData","RequiredAttachmentsViewModel_decorate","RequiredAttachmentsViewModel_param","RequiredAttachmentsViewModel_a","RequiredAttachmentsViewModel_b","RequiredAttachmentsViewModel_c","RequiredAttachmentsViewModel_d","EngineTablePlain","engines","enginePurposes","engineChangeTypes","enginePurpose","engine","isPurpose","purpose","change_type","serial_number","performance","weight","production_number","manufacture_year","errorMessages","submitDisabled","paymentData","enginesChanged","setChecked","tempPersonType","setTempPersonType","PersonInfoSummaryBlock","personSummary","wantDeliveryAddress","engineTableData","purposeChange","otherChange","Summary_SummaryView","VisitedSummary","isInitialized","initialization","hasAllRequiredFiles","HasEnginesChanged","paymentEntity","getV2PaymentUrl","setPayment","payId","saveShipData","SummaryViewModel_decorate","SummaryViewModel_param","SummaryViewModel_a","SummaryViewModel_b","SummaryViewModel_c","SummaryViewModel_d","SummaryViewModel_e","SummaryViewModel_f","ChangesCertificateViewModel_1","applicationStepsViewModel","requiredAttachmentsViewModel","clearSeasonChangeData","unsetRequestEntity","changeOptions","enginesData","OX","ChangesCertificateViewModel_decorate","ChangesCertificateViewModel_param","ChangesCertificateViewModel_a","ChangesCertificateViewModel_b","ChangesCertificateViewModel_c","ChangesCertificateViewModel_d","BoatSelection_BoatSelectionViewModel","ChangesCertificateViewModel_e","ChangesCertificateViewModel_f","RequiredAttachments_RequiredAttachmentsViewModel","Summary_SummaryViewModel","EngineModel","EngineModel_1","is_change_type_invalid","getRequestEngineObject","checkEmptyProperties","prop","isAddEngine","isChangeTypeNoChange","mapV2Data","serialNumber","src_enums_EnginePurposeTypes__WEBPACK_IMPORTED_MODULE_3__","PURPOSE_MAIN","src_enums_EngineChangeTypes__WEBPACK_IMPORTED_MODULE_2__","UNCHANGED_ENGINE","EngineModelValidators","year","EngineTable","PlainInput","EngineTableSelect","EngineChanges","handleChange","changes","enginesChange","changeId","engine_purposes","engine_change_types","components_EngineChanges","components_BoatPurposeChange","boatPurposeChange","handleRadioChange","components_OtherBoatChange","otherBoatChange","hint","thin","TypeOfChangeView","setChanges","isFormStateChanged","setOtherChanges","typeOfChange","licId","engineChanges","change_types","ChangeIds","ENGINE_CHANGES","boatPurposeChanges","BOAT_PURPOSE_CHANGE","otherBoatChanges","OTHER_BOAT_CHANGE","purposeOptions","boat_change_purposes","ENGINES_CHANGE","renderChanges","TypeOfChange_TypeOfChangeView","BoatPurposeChangeModel","BoatPurposeChangeModel_1","valueId","isChecked","BoatPurposeChangeValidators","OtherBoatChangeModel","OtherBoatChangeModel_1","OtherBoatChangeModel_decorate","OtherBoatChangeValidators","EnginesChangeModel","EnginesChangeModel_decorate","initialEnginesData","TypeOfChange_BoatPurposeChangeModel","TypeOfChange_OtherBoatChangeModel","TypeOfChangeViewModel_1","enginesDataCache","otherChanges","addChangeRow","initialEngines","VisitedTypeOfChange","toggleAndSave","change","engineElement","runValidations","isEngineChangedValidly","oldEngine","setTypeOfChangeData","loadChanges","loadEnginesInfo","loadChangesFromSession","attachDescriptorsToEngines","ch","engineChange","boatChange","getV2Changes","sessionEngines","engineInfo","getV2EnginesInfo","tempEngines","boat_engines","validationArray","TypeOfChangeViewModel_decorate","LicenceSelection","licenceService","getPersonLicences","FormDataView","ReasonSelection","_03_FormData_FormDataView","FormDataViewModel_1","getReasons","selectedLicence","_04_Attachments_AttachmentsView","requestReasonId","SelectedLicence","otherLicence","ReasonSummary","PaymentInfo","getOtherPersonLicenses","CrewEuIssuanceSteps","ID131","ReasonId","postPdApiSps2V2Handover131","LicenceService","OtherLicenseService","Summary_SelectedReason","_03_Summary_SummaryView","SelectedBoat","SelectedPickup","DuplicateVesselCertificateSteps","ID291","ReleaseReasonId","postPdApiSps2V2Handover291","getAdditionalDescriptions","_04_ExamDate_ExamDateView","Summary_ExamBranchNote","ExamCertificateSteps","responseBranchName","getString","RequestReasonId","postPdApiSps2V2Handover121","ExchangeCertificateSteps","ID122","OtherLicences","postPdApiSps2V2Handover122","description2","ExchangeSwimmingBookSteps","ID132","postPdApiSps2V2Handover132","ShipSelectionView","_02_ShipSelection_ShipSelectionView","ShipSelectionViewModel_1","Application_BoatInfoSelection","cabinTitle","devicesTitle","CheckboxGroup","devicesOptions","cabinOptions","UtzDevicesView","_03_UtzDevices_UtzDevicesView","UtzDevicesViewModel_1","getBoatInfo","Application_EngineChanges","OtherTextComponet","otherText","TypeOfChanges","purposeTitle","otherChangeHint","boatChangesService","n","enginesChangeType","purposesOptions","otherChangesText","hintText","showEngineError","Application_TypeOfChanges","isNextStepInValid","_04_TypeOfChange_TypeOfChangeView","getBoatChanges","getBoatEngines","_05_Attachments_AttachmentsView","getRequestedAttachments","deviceIds","toChangesArray","toEnginesArray","TechnicalInspectionSelection","inspectionOptions","Application_TechnicalInspectionSelection","TechnicalInspectionView","_06_TechnicalInspection_TechnicalInspectionView","TechnicalInspectionViewModel_1","pinIsValid","getBoatInspection","validatePin","LicensePickupView","_07_LicensePickup_LicensePickupView","LicensePickupViewModel_1","Summary_EngineChangesSummary","enginePurposesWithIdAndDescription","engineChangeTypeWithIdAndDescription","engineRow","EngineChangeTypes","engineChangeType","Summary_PurposeChangeSummary","Summary_OtherChangesSummary","Summary_TypeOfChangeSummary","selectedOptionLabel","textValue","Summary_TechnicalInspectionSummary","Summary_SelectedUtzAndCabin","cabin","Summary_SelectedBranchAndTechnicalInspection","inspectionService","_08_Summary_SummaryView","SpsPickupDocumentIds","PICKUP_POST","cabinId","getPayment204","ExtensionAndChangesSteps","BoatInfoModel","BoatInfoService","boatInfo","Models_BoatInfoModel","getPdApiSps2V2BoatInfo","devicesAndCabin","BoatInfoService_decorate","BoatInfoService_a","EnginePurposeTypes","requestEngineObject","EngineModel_decorate","EngineModel_b","EngineChangesModel","engineData","Models_EngineModel","EngineChangesModel_decorate","EngineChangesModel_a","selectedOptionId","BoatPurposeChangeModel_decorate","BoatPurposeChangeModel_a","BoatPurposeChangeModelValidators","OtherBoatChangeModel_a","OtherBoatChangeModelValidators","isChangeIdKey","isChangeModel","object","Models_EngineChangesModel","Models_BoatPurposeChangeModel","Models_OtherBoatChangeModel","BoatChangesModel","BoatChangesModel_a","nH","BoatChangesModel_b","BoatChangesModel_c","changesArray","prototype","hasOwnProperty","call","changeObject","enginesArray","BoatChangesModel_decorate","BoatChangesModel_d","BoatChangesService","boatChanges","boatEngines","Models_BoatChangesModel","purposes","BranchModel","isGetBoatChanges","convertToEngineModels","motor","updateSelectedOption","engineValidation","engineValidations","getPdApiSps2V2BoatChanges","getPdApiSps2V2BoatEngines","other_changes","validationResult","isInvalid","ADD_ENGINE","CHANGE_PURPOSE_ENGINE","REMOVE_ENGINE","changesData","optId","selectedLabel","BoatChangesService_decorate","BoatChangesService_param","BoatChangesService_a","BoatChangesService_b","BoatChangesService_c","BoatChangesService_d","BoatChangesService_e","BoatInspectionModel","BoatInspectionModel_decorate","BoatInspectionModel_b","BoatInspectionModelValidators","BoatInspectionService","inspection","Models_BoatInspectionModel","updateInspection","getPdApiSps2V2BoatInspection","getPdApiSps2V2BoatInspectionCheck","boatInspection","BoatInspectionService_decorate","BoatInspectionService_param","BoatInspectionService_a","BoatInspectionService_b","BoatInspectionService_c","BoatInspectionService_d","BoatInspectionService_e","CabinId","Pin","BranchName","Devices","Changes","Engines","postPdApiSps2V2Handover204","Service_BoatInfoService","Service_BoatChangesService","Service_BoatInspectionService","ExtensionValidityCertificateView","ExtensionValidityCertificate_ExtensionValidityCertificateView","ExtensionValidityStepsView","extensionValidityTranslate","ExtensionValiditySteps_ExtensionValidityStepsView","ExtensionValidityStepsViewModel","extensionValidityService","ShipInfoView","shipInfo","boatsOptions","mockDevicesOptions","mockCabinOptions","cabinEnabled","mockPickupOptions","extensionValidityStepsViewModel","ShipInfo_ShipInfoView","ShipInfoModel","ShipInfoModel_1","ShipInfoModel_decorate","ShipInfoModelValidators","BoatTypeKeywords","ShipInfoViewModel","ShipInfoViewModel_1","ShipInfo_ShipInfoModel","boatInfos","pickupMethods","Aj","yes","isFillingData","cabinInfo","no","VisitedShipInfo","setBoats","setDevicesAndCabins","setDocumentPickup","resetPickup","resetDevices","resetCabin","HasAttachmentsChanged","tempShipInfo","getShipInfoFormData","getShipInfo","mapBoatsToRadioGroupOptions","mapDevicesToCheckboxData","setCabinOptions","boatIds","getV2BoatInfos","getV2PickupMethods","mapPickupMethodsToRadioGroupOptions","sailBoat","validateProperty","saveDataAndProceed","goToRoute","setShipInfo","currentPickupMethods","method","currentBoatInfo","devicesValue","ShipInfoViewModel_decorate","ShipInfoViewModel_param","ShipInfoViewModel_a","ShipInfoViewModel_b","ExtensionValiditySteps_ExtensionValidityStepsViewModel","attachmentsChanged","hasAttachmentsChanged","getV2Attachments","TechnicalReviewView","technicalReviewModel","rel","Toggle","postpone","inverse","TechnicalReview_TechnicalReviewView","TechnicalReviewModel","TechnicalReviewModel_1","TechnicalReviewModel_decorate","TechnicalReviewModelValidators","TechnicalReviewViewModel","TechnicalReviewViewModel_1","disposer","TechnicalReview_TechnicalReviewModel","pinMessage","alwaysFalseModelValidators","alwaysFalse","VisitedTechnicalReview","detachDescriptor","check","getV2InspectionCheck","setTechnicalReview","displayWrongPinMessage","TechnicalReviewViewModel_decorate","TechnicalReviewViewModel_e","TechnicalReviewViewModel_f","TechnicalReviewViewModel_param","TechnicalReviewViewModel_a","TechnicalReviewViewModel_b","TechnicalReviewViewModel_c","TechnicalReviewViewModel_d","paymentSum","summaryObj","verifyModel","VerifyBoatInfoEntity","getV2PaymentSum","payments","paymentString","sum","unshift","ExtensionValidityCertificateViewModel_1","shipInfoViewModel","technicalReviewViewModel","ExtensionValidityCertificateViewModel_decorate","ExtensionValidityCertificateViewModel_param","ExtensionValidityCertificateViewModel_a","ExtensionValidityCertificateViewModel_b","ExtensionValidityCertificateViewModel_c","ExtensionValidityCertificateViewModel_d","ShipInfo_ShipInfoViewModel","ExtensionValidityCertificateViewModel_e","ExtensionValidityCertificateViewModel_f","TechnicalReview_TechnicalReviewViewModel","ExtensionValidityCertificateViewModel_g","_02_Attachments_AttachmentsView","_03_ExamDate_ExamDateView","MachinistQualificationSteps","postPdApiSps2V2Handover143","NewCertificateView","NewCertificate_NewCertificateView","DocumentInfoView","setLicences","setAreas","setEligibility","licenceChange","areaChange","areaId","eligibilityChange","eligId","eligibility","noEligibility","areas","noAreas","DocumentInfo_DocumentInfoView","ExamTermView","examTerm","datesOptions","placesOptions","disabilitiesOptions","datesBusyWatcher","Select","placesFoundError","ExamTerm_ExamTermView","ExamTermModel","ExamTermModel_1","place","disabilities","datesFoundError","alwaysFalseExamModelValidators","alwaysFalsePlaceModelValidators","ExamTermModelValidators","mapWithComma","arr","certificates","restriction","NewCertificateStepsView","ApplicationSteps_NewCertificateStepsView","NewCertificateStepsViewModel","shipService111","NewCertificateStepsViewModel_decorate","ShipService111","ApplicationSteps_NewCertificateStepsViewModel","getLicenes","NewCertificate_NewCertificateViewModel","ExamTerm_ExamTermViewModel","ExamTermViewModel","ExamTermViewModel_1","ExamTerm_ExamTermModel","formDataExamTerm","examDates","examPlaces","lastRelationId","VisitedExamTermInfo","force","setPlaces","setDisabilities","visitedExamTermInfo","resetExamTerm","tempExamTerm","getExamTermFormData","setDates","places","mapPlacesToRadioGroupOptions","getDisabilities","mapDisabilitiesToRadioGroupOptions","DocumentInfo_DocumentInfoViewModel","setExamTermInfo","mapDatesToSelectOptions","dates","restrictions","getDates","ExamTermViewModel_decorate","ExamTermViewModel_e","ExamTermViewModel_f","ExamTermViewModel_param","ExamTermViewModel_a","ExamTermViewModel_b","ExamTermViewModel_c","ExamTermViewModel_d","DocumentInfoViewModel","DocumentInfoViewModel_1","info","VisitedDocumentInfo","visitedDocumentInfo","mapLicencesToSelectOptions","getDocumentInfo","setDocumentInfo","documentInfo","mappedLicences","mapLicences","resetLicences","lic","checkValidations","area","elig","filtered","tempArea","licenceID","formDataLicences","getFormDataLicences","initialLicences","secondLicenceChecked","isDisabled","DocumentInfoViewModel_decorate","DocumentInfoViewModel_e","DocumentInfoViewModel_param","DocumentInfoViewModel_a","DocumentInfoViewModel_b","DocumentInfoViewModel_c","DocumentInfoViewModel_d","NewCertificateViewModel_1","documentInfoViewModel","examTermViewModel","NewCertificateViewModel_decorate","NewCertificateViewModel_param","NewCertificateViewModel_a","NewCertificateViewModel_b","NewCertificateViewModel_c","NewCertificateViewModel_d","NewCertificateViewModel_e","NewCertificateViewModel_f","AddressModel","unchangeable","houseRefNum","num","houseNr","referenceNr","zipNumber","AddressModelValidators","zipCode","CompanyModel","CompanyModel_1","idFirma","dataBox","telefon","officeAddress","_AddressModel__WEBPACK_IMPORTED_MODULE_2__","mapAddress","addressEntity","addressModel","_utils_StringFormatUtils__WEBPACK_IMPORTED_MODULE_3__","formatZipCode","mapV2Address","addressResponse","firma","CompanyModelValidators","PersonalInfoModel","PersonalInfoModel_1","titleBefore","titleAfter","citizenshipId","mobil","_utils_StringFormatUtils__WEBPACK_IMPORTED_MODULE_4__","_utils_DateUtils__WEBPACK_IMPORTED_MODULE_3__","czToDate","fullName","birthdateCZ","PersonalInfoModelValidators","PersonalInfoView","nationalities","showSelected","PersonalInfo_PersonalInfoView","goNextRoute","goPreviousRoute","static","path","setupPersonOrCompany","VisitedPersonalInfo","getV2Nationalities","loadPersonFromSession","getV2Person","loadCompanyFromSession","getV2Company","validations","nationality","setPersonalInfo","setCompanyInfo","shallow","RemovalFromRegistrySteps","postPdApiSps2V2Handover207","ReplacementCertificateView","ReplacementCertificate_ReplacementCertificateView","ReplacementCertificateStepsView","replacementCertificateTranslate","ReplacementCertificateSteps_ReplacementCertificateStepsView","ReplacementCertificateStepsViewModel","replacementCertificateService","ReplacementCertificateService","ExtraditionRequestView","extraditionRequest","licencesOptions","branchesOptions","reasonsOptions","replacementCertificateStepsViewModel","ExtraditionRequest_ExtraditionRequestView","ExtraditionRequestModel","ExtraditionRequestModel_1","ExtraditionRequestModel_decorate","ExtraditionRequestModelValidators","ExtraditionRequestViewModel","ExtraditionRequestViewModel_1","ExtraditionRequest_ExtraditionRequestModel","branches","VisitedExtraditionRequestInfo","visitedExtraditionRequestInfo","resetExtraditionRequest","tempExtraditionRequest","getExtraditionRequestFormData","getExtraditionRequest","setBranches","setReasons","getV2PersonLicense","mapLicencesToRadioGroupOptions","getIssueBranches","mapBranchesToRadioGroupOptions","getIssueReasons","mapReasonsToRadioGroupOptions","cert","licenceWithNumber","setExtraditionRequest","ExtraditionRequestViewModel_decorate","ExtraditionRequestViewModel_param","ExtraditionRequestViewModel_a","ExtraditionRequestViewModel_b","ReplacementCertificateSteps_ReplacementCertificateStepsViewModel","ExtraditionRequestViewModel_c","ExtraditionRequest_ExtraditionRequestViewModel","ReplacementCertificateViewModel_1","extraditionRequestViewModel","ReplacementCertificateViewModel_decorate","ReplacementCertificateViewModel_param","ReplacementCertificateViewModel_a","ReplacementCertificateViewModel_b","ReplacementCertificateViewModel_c","ReplacementCertificateViewModel_d","ReplacementCertificateViewModel_e","ReplacementCertificateViewModel_f","VesselRegistrationView","VesselRegistration_VesselRegistrationView","VesselRegistrationStepsView","vesselRegistrationTranslate","VesselRegistrationSteps_VesselRegistrationStepsView","VesselRegistrationStepsViewModel","vesselRegistrationService","VesselRegistrationService","vesselRegistrationStepsViewModel","boatType","draught","boatPurposes","ownership","VesselRegistrationSteps_VesselRegistrationStepsViewModel","boatPropertiesOptions","issueBranchesOptions","invalidDimensions","boatTypesOptions","utzEquipmentData","boatAuthorityRelationshipOptions","boatPurposesOptions","ceDeclarationData","dim","boatTypeId","boatWidth","boatLength","boatDraught","boatPurposeId","utzEquipment","ownershipId","decimal","boatPropertiesOptionsInitialData","boatProperties","issueBranches","setBoatProperties","setIssueBranches","getV2BoatProperties","mapBoatPropertiesToOptions","getV2IssueBranches","mapIssueBranchesToRadioGroupOptions","getV2BoatDocumentPickup","boat_types","boatPurpose","boat_purposes","boatAR","boat_authority_relationship","ceDeclaration","ce_declaration","utz_equipment","equipment","changeBoatType","changes_list","changeBoatPurpose","changeBoatAR","declarations","changeUtzEquipments","deviceLabels","branchLabel","ownershipLabel","boatSize","boat_size","relationship","ShipInfoViewModel_e","ShipInfoViewModel_f","ShipInfoViewModel_c","ShipInfoViewModel_d","VesselRegistrationViewModel_1","VesselRegistrationViewModel_decorate","VesselRegistrationViewModel_param","VesselRegistrationViewModel_a","VesselRegistrationViewModel_b","VesselRegistrationViewModel_c","VesselRegistrationViewModel_d","VesselRegistrationViewModel_e","VesselRegistrationViewModel_f","VesselRegistrationViewModel_g","Application_Steps","Application_ApplicationStep","_components_layout_LoaderBox__WEBPACK_IMPORTED_MODULE_2__","_cendis_cedr_framework_dist_utils_getClassName__WEBPACK_IMPORTED_MODULE_5__","_components_shared_Typography_Typography__WEBPACK_IMPORTED_MODULE_6__","fileInfo","_components_form_DragAndDropFile_DragAndDropFile__WEBPACK_IMPORTED_MODULE_3__","_components_shared_Alert_Alert__WEBPACK_IMPORTED_MODULE_4__","_components_shared_Typography_Typography__WEBPACK_IMPORTED_MODULE_5__","_components_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_3__","_components_layout_LoaderBox__WEBPACK_IMPORTED_MODULE_3__","_components_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_2__","branchOptions","changeTypeOptions","_components_form_Checkbox__WEBPACK_IMPORTED_MODULE_2__","disableVisualError","allowMultipleSelection","_components_shared_Typography_Typography__WEBPACK_IMPORTED_MODULE_3__","_components_layout_LoaderBox__WEBPACK_IMPORTED_MODULE_4__","disabledSelection","react__WEBPACK_IMPORTED_MODULE_5__","_components_form_Checkbox__WEBPACK_IMPORTED_MODULE_6__","eligibilityId","_components_form_RadioGroup_RadioButton__WEBPACK_IMPORTED_MODULE_8__","descriptions","disabledOptions","_components_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_7__","_cendis_cedr_framework_dist_utils_getClassName__WEBPACK_IMPORTED_MODULE_6__","_components_shared_Typography_Typography__WEBPACK_IMPORTED_MODULE_8__","placeOptions","_components_form_Fieldset__WEBPACK_IMPORTED_MODULE_7__","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_9__","_components_form_Select_Select__WEBPACK_IMPORTED_MODULE_4__","dateOptions","restrictionOptions","_components_form_Textarea__WEBPACK_IMPORTED_MODULE_5__","licenceOptions","Application_PersonalInfo","citizenships","Application_CompanyInfo","Application_PersonOrCompanyInfo","citizenshipsOptions","_SummarySection__WEBPACK_IMPORTED_MODULE_3__","_components_shared_Typography_Typography__WEBPACK_IMPORTED_MODULE_2__","_components_layout_LoaderBox__WEBPACK_IMPORTED_MODULE_5__","_components_shared_InfoBox_InfoBox__WEBPACK_IMPORTED_MODULE_2__","_SummarySection__WEBPACK_IMPORTED_MODULE_4__","fullNameWithTitles","_utils_StringFormatUtils__WEBPACK_IMPORTED_MODULE_2__","inlineAddress","Summary_CompanyInfoSummary","Summary_PersonalOrCompanyInfoSummary","selectedEligibilityDescription","currentStep","continueApplicationAfterError","_cendis_cedr_framework_dist_view_ViewBank__WEBPACK_IMPORTED_MODULE_1__","instance","addCondition","_ErrorPage_ErrorPageView__WEBPACK_IMPORTED_MODULE_3__","messageErrorText","src_data_sps_api__WEBPACK_IMPORTED_MODULE_4__","hD","setErrorMessage","clearErrorMessage","navShipHome","src_app_ship_ShipViewModel__WEBPACK_IMPORTED_MODULE_5__","_cendis_cedr_framework_dist_screen_BaseScreen__WEBPACK_IMPORTED_MODULE_1__","_cendis_cedr_framework_dist_view_ViewBank__WEBPACK_IMPORTED_MODULE_4__","_ErrorPage_ErrorPageView__WEBPACK_IMPORTED_MODULE_5__","_ShipViewModel__WEBPACK_IMPORTED_MODULE_2__","_cendis_cedr_framework_dist_lang_translate__WEBPACK_IMPORTED_MODULE_3__","_data_sps_api__WEBPACK_IMPORTED_MODULE_6__","notificationText","_components_shared_Typography_Typography__WEBPACK_IMPORTED_MODULE_1__","_components_layout_Container__WEBPACK_IMPORTED_MODULE_2__","_components_layout_Envelope__WEBPACK_IMPORTED_MODULE_5__","_components_form_SuccessMessage__WEBPACK_IMPORTED_MODULE_3__","authority","_components_shared_Button_Button__WEBPACK_IMPORTED_MODULE_4__","pickupOption","_utils_PickupUtils__WEBPACK_IMPORTED_MODULE_3__","_enums_SpsPickupOptions__WEBPACK_IMPORTED_MODULE_4__","V","POST","_components_shared_Alert_Alert__WEBPACK_IMPORTED_MODULE_3__","_components_form_MarkdownContent__WEBPACK_IMPORTED_MODULE_4__","_components_shared_Button_Button__WEBPACK_IMPORTED_MODULE_5__","_components_shared_Typography_Typography__WEBPACK_IMPORTED_MODULE_4__","_components_shared_Button_Button__WEBPACK_IMPORTED_MODULE_3__","_utils_AddressUtils__WEBPACK_IMPORTED_MODULE_2__","updateUnchangeableForEmptyValues","BranchModelValidators","ChangeTypeValidators","CompanyInfoModel","requestCompanyString","databox","CompanyInfoModelValidators","BuyerCompanyInfoModelValidators","LicenceModel","LicenceModelValidators","czStringToRequestString","birthNumberOrBirthDate","BuyerInfoModelValidators","placeOfBirth","_utils_StringFormatUtils__WEBPACK_IMPORTED_MODULE_1__","databoxId","_SpsService__WEBPACK_IMPORTED_MODULE_2__","totalFileSize","total","attach","hasAllMandatoryFiles","hasAll","requiredFiles","updateRequiredFiles","scrolled","postPdApiSps2V2GetRequestedAttachmentsBoat","postPdApiSps2V2RequestedAttachments","newFiles","sizeValue","blobs","fileDescription","_FormDataService__WEBPACK_IMPORTED_MODULE_3__","_services_SessionService__WEBPACK_IMPORTED_MODULE_4__","_ValidationService__WEBPACK_IMPORTED_MODULE_6__","_services_ApiService__WEBPACK_IMPORTED_MODULE_7__","Models_BoatModel","relation","updateBoats","getPdApiSps2V2PersonBoats","labelInfo","BoatService_decorate","BoatService_a","_SpsService__WEBPACK_IMPORTED_MODULE_6__","_Models_BranchModel__WEBPACK_IMPORTED_MODULE_4__","N","updateBranch","getPdApiSps2V2IssueBranches","branchOption","_FormDataService__WEBPACK_IMPORTED_MODULE_2__","_services_SessionService__WEBPACK_IMPORTED_MODULE_5__","_ValidationService__WEBPACK_IMPORTED_MODULE_7__","_services_ApiService__WEBPACK_IMPORTED_MODULE_8__","_SpsService__WEBPACK_IMPORTED_MODULE_5__","_Models_PersonalInfoModel__WEBPACK_IMPORTED_MODULE_7__","_Models_CompanyInfoModel__WEBPACK_IMPORTED_MODULE_3__","src_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_12__","src_utils_DateUtils__WEBPACK_IMPORTED_MODULE_11__","personId","HandoverBuyerPerson","BuyerCompany","Ys","_Models_AddressModel__WEBPACK_IMPORTED_MODULE_9__","V1","identities","postPdApiSps2V2BuyerPerson","postPdApiSps2V2BuyerCompany","getPdApiSps2V2BuyerPerson","getPdApiSps2V2BuyerCompany","personData","_cendis_cedr_framework_dist_lang_AddTranslationKey__WEBPACK_IMPORTED_MODULE_13__","_FormDataService__WEBPACK_IMPORTED_MODULE_4__","_services_SessionService__WEBPACK_IMPORTED_MODULE_6__","_ValidationService__WEBPACK_IMPORTED_MODULE_8__","_services_ApiService__WEBPACK_IMPORTED_MODULE_10__","_Models_ChangeTypeModel__WEBPACK_IMPORTED_MODULE_8__","changeTypes","updateChangeType","getPdApiSps2V2ChangeTypes","getFile","fileType","getPdApiSps2V2File","downloadFromBase64","base64Data","_utils_PdfUtils__WEBPACK_IMPORTED_MODULE_5__","downloadFromBase64String","_utils_ZipUtils__WEBPACK_IMPORTED_MODULE_8__","EligibilityModel","descriptionId","subEligibility","EligibilityModelValidators","NoneEligibilitySelectedValidator","EligibilityNames","isEligibilityResponse","isAnyEligibilitySelected","stringValue","selectedModel","selectedEligibilitiesInfo","subEligibilityId","allSelectedHaveDescriptionId","val","atLeastOneEligibilitySelected","toggleNoneSelectedValidator","getPdApiSps2V2PersonLicences","licenceResponse","updateEligibilities","initArray","eligibilityInit","newEligibility","Models_EligibilityModel","enumName","modelEnumName","createEligibilityReaction","selectDefault","dryCargoModel","DRY_CARGO","tankersNModel","TANKERS_N","combinationModel","COMBINATION","tankersCModel","TANKERS_C","tankersGModel","TANKERS_G","onSelectedChange","onDescriptionIdChange","doesModelNameMatchEnumName","toggleDryCargoAndTankersN","toggleTankersCD","toggleCombination","descriptionFound","descriptionInfo","triggeringModel","disableCombination","selectDryAndN","disableDryAndN","disableTankersCD","selectTankersCD","eligibilityName","modelName","EligibilityService_decorate","EligibilityService_a","ExamModel","ExamModelValidators","Models_ExamModel","examReasonIds","updatePlace","updateDate","updateRestriction","getPdApiSps2V2Places","getPdApiSps2V2Dates","getPdApiSps2V2Restrictions","placeOption","dateOption","restrictionOption","ExamService_decorate","ExamService_a","FormDataModel","firmaId","pfo","personIdOrFirmaId","Models_FormDataModel","updateFormData","companyId","FormDataService_decorate","FormDataService_a","FormDataService_b","_Models_LicenceModel__WEBPACK_IMPORTED_MODULE_4__","desc","updateLicence","licenceOption","_SpsService__WEBPACK_IMPORTED_MODULE_4__","otherLicense","license","getPdApiSps2V2PersonOtherLicences","news","olds","Models_PaymentModel","intervalId","stopPaymentStatusInterval","getPdApiSps2V2Payment","postPdApiSps2V2Payment204","postPdApiSps2V2PaymentStatus","checkPaymentStatus","REVOKED","PaymentService_a","fetchedPerson","dW","GF","updateDeliveryAddressValidation","updatePersonCitizenship","_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_11__","relations","postPdApiSps2V2RelationsServicesPersons","postPdApiSps2V2RelationsServicesCompanies","getPdApiSps2V2Persons","getPdApiSps2V2Companies","getPdApiSps2V2Citizenships","states","citizenshipOption","PickupModel","PickupModelValidators","Models_PickupModel","updatePickup","getPdApiSps2V2BoatDocumentsPickup","PickupDocumentsService_decorate","PickupDocumentsService_a","PickupDocumentsService_b","ReasonModelValidators","Models_ReasonModel","updateReason","getPdApiSps2V2RequestReasons","getPdApiSps2V2AdditionalDescriptions","reasonOption","ReasonService_a","_ValidationService__WEBPACK_IMPORTED_MODULE_2__","findMaxStep","maxStep","_cendis_cedr_framework_dist_validation_ValidationContext__WEBPACK_IMPORTED_MODULE_1__","_components_form_MarkdownContent__WEBPACK_IMPORTED_MODULE_3__","_components_ScreenContext__WEBPACK_IMPORTED_MODULE_5__","_cendis_cedr_framework_dist_hooks_useOnChange__WEBPACK_IMPORTED_MODULE_3__","evt","selectedIndex","wrapper","_components_form_isError__WEBPACK_IMPORTED_MODULE_4__","ShipZipDownloadView","zip_ShipZipDownloadView","ShipZipDownloadViewModel","shipRequest","shipServiceId","ZIPApplicationEntity","ShipPdfDownloadView","pdf_ShipPdfDownloadView","ShipPdfDownloadViewModel","PDFApplicationEntity","ShipPdfDownloadViewModel_decorate","ShipPdfDownloadViewModel_param","ShipPdfDownloadViewModel_a","ShipPdfDownloadViewModel_b","ShipPdfDownloadViewModel_c","ShipDownloadViewModel","zipViewModel","pdfViewModel","ShipDownloadViewModel_decorate","ShipDownloadViewModel_param","ShipDownloadViewModel_a","ShipDownloadViewModel_b","zip_ShipZipDownloadViewModel","ShipDownloadViewModel_c","pdf_ShipPdfDownloadViewModel","user_UserView","user_UserViewLoading","UserViewModel","getTranslateErr","errKey","AuthTokenEntity","AddBusyView","VehicleView","navVehicle","navApplicationList","VehicleIcon","CardLinkExt","RSV_SUBMITTED_APPLICATIONS","vehicle_VehicleView","registerViewModel","applicationListViewModel","rsvRequestsService","RegisterViewModel","ApplicationListViewModel","RsvRequestsService","AbstractSellerOwnerOrOperatorChangedViewModel","newSellerOwnerOrOperatorChangedViewModel","summarySellerOwnerOrOperatorChangedViewModel","introOwnerOrOperatorChangedViewModel","summarySellerOwnerOrOperatorChangedConfirmedViewModel","isUserOwner","redirectToVehicleDetail","vehicleID","VehicleDetailViewModel","SellerApplicationService","NewSellerOwnerOrOperatorChangedViewModel","SummarySellerOwnerOrOperatorChangedViewModel","IntroOwnerOrOperatorChangedViewModel","SummarySellerOwnerOrOperatorChangedConfirmedViewModel","AbstractOwnerOrOperatorChangedViewModel","abstractSellerOwnerOrOperatorChangedViewModel","AbstractOwnerOrOperatorChangedViewModel_decorate","AbstractOwnerOrOperatorChangedViewModel_param","AbstractOwnerOrOperatorChangedViewModel_a","AbstractOwnerOrOperatorChangedViewModel_b","seller_AbstractSellerOwnerOrOperatorChangedViewModel","LicencePlateLossViewModel","introLicencePlateLossViewModel","licencePlateLossFormViewModel","summaryLicencePlateLossViewModel","summaryLicencePlateLossViewConfirmedViewModel","LicencePlateLossViewModel_decorate","LicencePlateLossViewModel_param","LicencePlateLossViewModel_a","LicencePlateLossViewModel_b","LicencePlateLossViewModel_c","IntroLicencePlateLossViewModel","LicencePlateLossViewModel_d","LicencePlateLossFormViewModel","LicencePlateLossViewModel_e","SummaryLicencePlateLossViewModel","LicencePlateLossViewModel_f","LicencePlateLossViewConfirmedViewModel","NewTechnicalCertificateViewModel","introNewTechnicalCertificateViewModel","summaryNewTechnicalCertificateViewModel","newTechnicalCertificateViewConfirmedViewModel","NewTechnicalCertificateViewModel_decorate","NewTechnicalCertificateViewModel_param","NewTechnicalCertificateViewModel_a","NewTechnicalCertificateViewModel_b","IntroNewTechnicalCertificateViewModel","NewTechnicalCertificateViewModel_c","NewTechnicalCertificateFormViewModel","NewTechnicalCertificateViewModel_d","SummaryNewTechnicalCertificateViewModel","NewTechnicalCertificateViewModel_e","NewTechnicalCertificateViewConfirmedViewModel","NewTechnicalCertificateViewModel_f","NewTechnicalCertificateView_ApplicationService","RsvDataChangeViewModel","introRsvDataChangeViewModel","rsvDataChangeFormViewModel","summaryRsvDataChangeViewModel","rsvDataChangeViewConfirmedViewModel","RsvDataChangeViewModel_decorate","RsvDataChangeViewModel_param","RsvDataChangeViewModel_a","RsvDataChangeViewModel_b","IntroRsvDataChangeViewModel","RsvDataChangeViewModel_c","RsvDataChangeFormViewModel","RsvDataChangeViewModel_d","SummaryRsvDataChangeViewModel","RsvDataChangeViewModel_e","RsvDataChangeViewConfirmedViewModel","RsvDataChangeViewModel_f","RsvDataChangeView_ApplicationService","ExportPlateRequestViewModel","introExportPlateRequestViewModel","exportPlateRequestFormViewModel","exportPlateRequestSummaryViewModel","exportPlateRequestConfirmationViewModel","sharedTranslate","ExportPlateRequestViewModel_decorate","ExportPlateRequestViewModel_param","ExportPlateRequestViewModel_a","ExportPlateRequestViewModel_b","ExportPlateRequestViewModel_c","IntroExportPlateRequestViewModel","ExportPlateRequestViewModel_d","ExportPlateRequestFormViewModel","ExportPlateRequestViewModel_e","ExportPlateRequestSummaryViewModel","ExportPlateRequestViewModel_f","ExportPlateRequestConfirmationViewModel","ExportPlateRequestViewModel_g","ExportPlateRequest_ApplicationService","AbstractApplicationViewModel","abstractOwnerOrOperatorChangedViewModel","decommissioningViewModel","licencePlateLossViewModel","newLicencePlateViewModel","newTechnicalCertificateViewModel","rsvDataChangeViewModel","exportPlateRequestViewModel","hasRZS","hasVIN","AbstractApplicationViewModel_decorate","AbstractApplicationViewModel_param","AbstractApplicationViewModel_a","AbstractApplicationViewModel_b","OwnerOrOperatorChangedView_AbstractOwnerOrOperatorChangedViewModel","AbstractApplicationViewModel_c","DecommissioningViewModel","AbstractApplicationViewModel_d","LicencePlateLossView_LicencePlateLossViewModel","AbstractApplicationViewModel_e","NewLicencePlateViewModel","AbstractApplicationViewModel_f","NewTechnicalCertificateView_NewTechnicalCertificateViewModel","AbstractApplicationViewModel_g","RsvDataChangeView_RsvDataChangeViewModel","ExportPlateRequest_ExportPlateRequestViewModel","IntroDecommissioningView","applicationInProgressModalVisible","ApplicationInProgressModal","translateTariffCharges","goToVehicle","goToForm","_00_intro_IntroDecommissioningView","_00_intro_IntroDecommissioningViewLoading","IntroDecommissioningViewModel","RsvBaseScreen","shouldDisplayApplicationInProgressModal","formType","DECOMMISSIONING_ADDITIONAL_INFO","TERMINATION","toggleApplicationInProgressModal","DecommissioningFormViewModel","goToVehicleList","RsvRequestUtils","tb","AdditionalInformation","Tw","KEEP_LICENSE_PLATE","DECOMMISSIONING","components_AdditionalInformation","DecommissioningFormDataView","vehicleStatus","authorityInfoViewModel","contactInfoModel","displayLocationWarning","VehicleEnums","lM","operated","ContactInfoView","AuthorityInfoView","components_DecommissioningFormDataView","DecommissioningFormView","decommissioningTranslate","VehicleDetail","selectedVehicle","decommissioningFormModel","contactInfoViewModel","navToIntro","navToSummary","_01_form_DecommissioningFormView","_01_form_DecommissioningFormViewLoading","authorityInfoIsValid","changedFromDefault","allowedRequestTypes","VEHICLE_DECOMMISSIONING","REGISTER_VEHICLE_DEMISE","END_VEHICLE_DECOMMISSIONING","REGISTER_ADDRESS_OF_VEHICLE_DECOMMISSIONING","getHintForChangeType","headerHint","formHeaderText","DecommissioningFormModel","setInitialChangeType","initialChangeTypeSet","validToProceed","ContactInfoViewModel","AuthorityInfoViewModel","RsvApplicationService","statuses","discarded","vehicleServicePersonType","Cb","REQUEST_FOR_DECOMMISSIONING_OR_DEMISE_OF_VEHICLE","getRequest","vehicleDecommissioning","getPdApiEgonV1RsvRequestsVehicleDecommissioningRequests","requestCode","kX","getChangeTypeFromRequest","keepRegistrationPlate","keepLicensePlate","vehiclePurpose","targetAuthorityId","workPlaceId","selectedItem","requestPdf","Q7","REQUEST","pdfId","postPdApiEgonV1RsvRequestsVehicleDecommissioningRequests","postRequestBody","handoverRequest","rsvRequests","postPdApiEgonV1RsvRequestsRequestsHandover","confirmRequest","selectedAuthorityId","selectedWorkplaceId","contacts","representativeContacts","vehicleLocation","$Z","AdditionalInformationSummary","DecommissioningFormTypes","components_AdditionalInformationSummary","SummaryDecommissioningView","summaryTranslate","applicationTranslate","confirmationModalVisible","toggleConfirmationModal","sendDataError","toggleErrorModal","SummaryModal","isSending","confirmBusyWatcher","dataErrorMessage","CurrentOwner","ownerType","RepresentativeContactSummary","SummaryWarning","_02_summary_SummaryDecommissioningView","_02_summary_SummaryDecommissioningViewLoading","SummaryDecommissioningViewModel","authorityInfo","authorityText","summaryHeaderClassName","summaryHeaderText","downloadRequestPdf","ConfirmationCode","_03_confirmation_ConfirmationView","_03_confirmation_ConfirmationViewLoading","authorityTextWithComma","loadAuthorities","Qr","LISTED","getPdApiEgonV1RsvRequestsRequestsAttachments","documentName","ConfirmationViewModel_d","introDecommissioningViewModel","summaryDecommissioningViewModel","decommissioningFormView","confirmationView","DecommissioningViewModel_decorate","DecommissioningViewModel_param","DecommissioningViewModel_a","DecommissioningViewModel_b","DecommissioningViewModel_c","DecommissioningViewModel_d","_02_summary_SummaryDecommissioningViewModel","DecommissioningViewModel_e","_03_confirmation_ConfirmationViewModel","_data_egon_api__WEBPACK_IMPORTED_MODULE_1__","_cendis_cedr_framework_dist_lang_AddTranslationKey__WEBPACK_IMPORTED_MODULE_2__","DecommissioningFormModelValidators","IntroExportPlateRequestView","_00_intro_IntroExportPlateRequestView","IntroExportPlateRequestViewLoading","_00_intro_IntroExportPlateRequestViewLoading","Form","newOwnerTypeOptions","useCountrySelect","countryOptions","countryUnavailable","newOwner","components_Form","FormView","ExportPlateRequestFormView","_01_form_ExportPlateRequestFormViewLoading","OwnerModel","fetchCountryOptions","NewOwner","countryName","country","components_NewOwner","ExportPlateRequestSummaryView","navToConfirmation","Owner","isCurrentUserOriginUser","_02_summary_ExportPlateRequestSummaryView","_02_summary_ExportPlateRequestSummaryViewLoading","ExportPlateRequestConfirmationView","downloadApplicationPdf","_03_confirmation_ExportPlateRequestConfirmationView","_03_confirmation_ExportPlateRequestConfirmationViewLoading","ExportPlateRequestFormModel","T1","EXPORT_REGISTRATION_PLATE","Z","models_ExportPlateRequestFormModel","REQUEST_FOR_NEW_LICENCE_PLATE_FOR_EXPORT","countries","getPdApiEgonV1Countries","vehicleExport","getPdApiEgonV1RsvRequestsVehicleExportRequests","pdfApplication","postPdApiEgonV1RsvRequestsVehicleExportRequests","getRequestBodyFromModelData","_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_5__","_utils_DateUtils__WEBPACK_IMPORTED_MODULE_2__","permanentResidency","OwnerModel_1","_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_2__","streetDescriptiveOrientationNumber","requestAddress","OwnerModelValidators","IntroLicencePlateLossView","_00_intro_IntroLicencePlateLossView","IntroLicencePlateLossViewLoading","_00_intro_IntroLicencePlateLossViewLoading","eventOptions","plateCountOptions","unsetFile","isStolen","DatePicker","ButtonRadioGroup","AttachmentsHeader","attachPoliceProtocol","hideFormats","hideDragAndDropArea","_01_form_Form","LicencePlateLossFormView","vehicleTranslate","licencePlateLossFormModel","stepsData","registrationPlatesCountOptions","setAttachPoliceProtocol","unsetAttachPoliceProtocol","_01_form_LicencePlateLossFormView","LicencePlateLossFormViewLoading","_01_form_LicencePlateLossFormViewLoading","JZ","DAMAGED","THEFT","eventType","LicencePlateLossFormModel","X","SummaryLicencePlateLossView","fileList","eventDate","OwnerOrOperator","isLoggedUserOwner","ownerInfo","noFilesText","_02_summary_SummaryLicencePlateLossView","SummaryLicencePlateLossViewLoading","_02_summary_SummaryLicencePlateLossViewLoading","registryError","typeName","LicencePlateLossViewConfirmedView","_03_confirmation_LicencePlateLossViewConfirmedView","_Shared_services_RsvApplicationService__WEBPACK_IMPORTED_MODULE_10__","attachmentService","_models_LicencePlateLossFormModel__WEBPACK_IMPORTED_MODULE_4__","_data_egon_api__WEBPACK_IMPORTED_MODULE_3__","ANNOUNCEMENT_OF_LOSS_DAMAGE_OR_DESTRUCTION_OF_LICENCE_PLATE","registrationPlateLossTheftDestructionAnnouncement","getPdApiEgonV1RsvRequestsRegistrationPlateLossTheftDestructionAnnouncementRequests","pdfAttach","plateCount","postPdApiEgonV1RsvRequestsRegistrationPlateLossTheftDestructionAnnouncementRequests","sendAttachPoliceProtocol","sendAttachment","DOCUMENT_CERTIFYING_RECORDED_DATA","_utils_PdfUtils__WEBPACK_IMPORTED_MODULE_7__","_services_vehicle_VehicleRegisterService__WEBPACK_IMPORTED_MODULE_5__","_services_ApiService__WEBPACK_IMPORTED_MODULE_6__","_components_AuthorityInfo_AuthorityInfoViewModel__WEBPACK_IMPORTED_MODULE_8__","_services_vehicle_VehicleAttachmentService__WEBPACK_IMPORTED_MODULE_9__","_Shared_services_RsvRequestsService__WEBPACK_IMPORTED_MODULE_11__","src_services_MandatesService__WEBPACK_IMPORTED_MODULE_12__","src_services_UserService__WEBPACK_IMPORTED_MODULE_13__","src_app_components_ContactInfo_ContactInfoViewModel__WEBPACK_IMPORTED_MODULE_14__","_data_egon_api_models_Domain_Contracts_Enums_Rsv_RegistrationPlateAnnouncementType__WEBPACK_IMPORTED_MODULE_2__","newOperatorIsDifferentFromNewOwner","_utils_BrowserUtils__WEBPACK_IMPORTED_MODULE_3__","LicencePlateLossFormModelValidators","futureDate","IntroNewLicencePlateView","_00_intro_IntroNewLicencePlateView","IntroNewLicencePlateViewLoading","_00_intro_IntroNewLicencePlateViewLoading","IntroNewLicencePlateViewModel","NewLicencePlateFormViewModel","NewLicencePlateFormView","LicencePlate","licencePlate","_01_form_NewLicencePlateFormView","NewLicencePlateFormViewLoading","_01_form_NewLicencePlateFormViewLoading","summaryNewLicencePlateViewModel","authorities","NewLicencePlateFormModel","SummaryNewLicencePlateViewModel","SummaryNewLicencePlateView","_02_summary_SummaryNewLicencePlateView","SummaryNewLicencePlateViewLoading","_02_summary_SummaryNewLicencePlateViewLoading","NewLicencePlateViewConfirmedViewModel","NewLicencePlateViewConfirmedView","pdfDownloadBusyWatcher","_03_confirmation_NewLicencePlateViewConfirmedView","NewLicencePlateViewConfirmedViewLoading","_03_confirmation_NewLicencePlateViewConfirmedViewLoading","_Shared_services_RsvApplicationService__WEBPACK_IMPORTED_MODULE_9__","_models_NewLicencePlateFormModel__WEBPACK_IMPORTED_MODULE_3__","_data_egon_api__WEBPACK_IMPORTED_MODULE_7__","REQUEST_FOR_LICENCE_PLATE","newCarPlate","getPdApiEgonV1RsvRequestsNewCarPlateRequests","vQ","REGISTRATION_PLATE_PLACEMENT_ON_SUPPORT_DEVICE","postPdApiEgonV1RsvRequestsNewCarPlateRequests","_utils_PdfUtils__WEBPACK_IMPORTED_MODULE_8__","_services_vehicle_VehicleRegisterService__WEBPACK_IMPORTED_MODULE_4__","_services_ApiService__WEBPACK_IMPORTED_MODULE_5__","_components_AuthorityInfo_AuthorityInfoViewModel__WEBPACK_IMPORTED_MODULE_6__","_Shared_services_RsvRequestsService__WEBPACK_IMPORTED_MODULE_10__","src_services_MandatesService__WEBPACK_IMPORTED_MODULE_11__","src_services_UserService__WEBPACK_IMPORTED_MODULE_12__","src_app_components_ContactInfo_ContactInfoViewModel__WEBPACK_IMPORTED_MODULE_13__","introNewLicencePlateFormViewModel","newLicencePlateFormViewModel","summaryNewLicencePlateViewConfirmedViewModel","_cendis_cedr_framework_dist_async_BusyWatcher__WEBPACK_IMPORTED_MODULE_13__","_register_vehicleDetail_VehicleDetailViewModel__WEBPACK_IMPORTED_MODULE_7__","_cendis_cedr_framework_dist_lang_translate__WEBPACK_IMPORTED_MODULE_15__","_cendis_cedr_framework_dist_view_AddInvisibleView__WEBPACK_IMPORTED_MODULE_4__","_cendis_cedr_framework_dist_screen_AddChildrenView__WEBPACK_IMPORTED_MODULE_6__","_cendis_cedr_framework_dist_services_LocalizationService__WEBPACK_IMPORTED_MODULE_14__","_00_intro_IntroNewLicencePlateViewModel__WEBPACK_IMPORTED_MODULE_8__","_01_form_NewLicencePlateFormViewModel__WEBPACK_IMPORTED_MODULE_9__","_02_summary_SummaryNewLicencePlateViewModel__WEBPACK_IMPORTED_MODULE_10__","_03_confirmation_NewLicencePlateViewConfirmedViewModel__WEBPACK_IMPORTED_MODULE_11__","_ApplicationService__WEBPACK_IMPORTED_MODULE_12__","NewLicencePlateFormModelValidators","IntroNewTechnicalCertificateView","_00_intro_IntroNewTechnicalCertificateView","IntroNewTechnicalCertificateViewLoading","_00_intro_IntroNewTechnicalCertificateViewLoading","authorityInfoModel","NewTechnicalCertificateFormView","newTechnicalCertificateFormModel","_01_form_NewTechnicalCertificateFormView","NewTechnicalCertificateFormViewLoading","_01_form_NewTechnicalCertificateFormViewLoading","$B","ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_LOSS","ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_THEFT","ISSUANCE_OF_REGISTRATION_CERTIFICATE_DUE_TO_DESTRUCTION","NewTechnicalCertificateFormModel","SummaryNewTechnicalCertificateView","isOperator","operatorInfo","_02_summary_SummaryNewTechnicalCertificateView","SummaryNewTechnicalCertificateViewLoading","_02_summary_SummaryNewTechnicalCertificateViewLoading","NewTechnicalCertificateViewConfirmedView","_03_confirmation_NewTechnicalCertificateViewConfirmedView","_models_NewTechnicalCertificateFormModel__WEBPACK_IMPORTED_MODULE_4__","REQUEST_FOR_NEW_TECHNICAL_LICENCE","newTechnicalCertificate","getPdApiEgonV1RsvRequestsNewTechnicalCertificateRequests","postPdApiEgonV1RsvRequestsNewTechnicalCertificateRequests","src_data_egon_api__WEBPACK_IMPORTED_MODULE_2__","NewTechnicalCertificateFormModelValidators","ContinueWithMandateButton","continueWithCurrentIdentity","onChangeMandateBackUrl","setShowModal","showModal","selectIdentity","currentIdentityIsAllowed","isCurrentIdentity","justifyContent","marginTop","ContinueWithMandateButton_ContinueWithMandateButton","ApplicationLoaderView","loadCode","linkToForm","continueWithMandateButtonModel","mandatesReady","completionError","completionErrorMessage","requestInfoModel","foundRequest","_00_applicationLoader_ApplicationLoaderView","ContinueWithMandateButtonModel","openSelection","getIdentityIdentifier","getIdentityPersonType","BuyerCompletionError","ApplicationLoaderViewModel","mandatesDisabled","aggregatedMandatesLoaded","getAggregatedMandates","queryRequestCode","sessionRequestCode","mb","searchParams","replaceState","RequestInfoModel","fetchRequestByCode","navigateToApplicationByRequestCode","a9","Il","resolveCompletionIdentity","UNSUPPORTED_STATUS","newSubjectPersonType","newSubjectIdentificationNumber","evaluation","newSubject","aggregatedMandates","selectedIdentifier","kind","matchingIdentity","MUST_BE_PO","IDENTIFICATION_NUMBER_MISMATCH","evaluateCompanySubject","personIdentities","MUST_BE_FO","evaluatePersonSubject","evaluateBuyerCompletion","isRequestCodeValid","FormViewModel","regexp","RegExp","targetRequestId","ApplicationLoaderViewModel_decorate","ApplicationLoaderViewModel_param","ApplicationLoaderViewModel_a","ApplicationLoaderViewModel_b","BuyerApplicationService","ApplicationLoaderViewModel_c","ContinueWithMandateButton_ContinueWithMandateButtonModel","ApplicationLoaderViewModel_d","ApplicationLoaderViewModel_e","ApplicationLoaderViewModel_f","InfoSection","currentOwner","changedVehicleOperator","registrationNumber","components_InfoSection","newOperator","newOwnerPersonalInfo","newOwnerEntrepreneurInfo","isOperatorChanged","isPerson","jE","CHANGE_OPERATOR","components_DifferentMandateWarningModal","translationPersonType","buyerFormModel","newOperatorTypeOptions","busyWatcherButton","toggleDifferentMandateWarningModal","CHANGE_OWNER_AND_OPERATOR","isDifferentOperator","displayModalError","displayDifferentMandateWarningModal","ownerOrOperatorChangedViewSellerStepsViewModel","NewOperator","allowBirthDateOnly","newOperatorDifferentFromNewOwner","attachGreenCard","setGreenCardFiles","unsetGreenCardFiles","_01_form_FormView","NewOwnerSummary","components_NewOwnerSummary","NewOperatorSummary","components_NewOperatorSummary","mandatesServise","CHANGE_OWNER","headerText","_02_summary_SummaryView","ConfirmationCodeOwnerAndOperator","buyerFormLink","ClipboardCopy","textConfirmation","showModalMessage","QR","Confirmation_ConfirmationCodeOwnerAndOperator","showScreenWithQrCode","isChangedOwnerAndOperator","instructionBusyWatcher","downloadInstructionPdf","VG","_01_form_FormViewModel","blob","vehiclePdf","finishRequestInstructions","finishRequestLink","RsvBuyerFormLink","$","SummaryViewLoading","_02_summary_SummaryViewLoading","list","attachContract","attachEvidentialControl","buyerPutRequest","OwnerOrOperatorChangedViewSellerStepsViewModel","FormViewModelLoading","_01_form_FormViewModelLoading","displayPoWarning","NewOperatorModel","ts","isBuyerSamePersonAsSeller","newOwnerType","operatorType","different","_02_summary_SummaryViewModel","toggleModalError","currentFile","setEvidentialControlFiles","unsetEvidentialControlFiles","setContractFiles","unsetContractFiles","FormViewModel_decorate","FormViewModel_param","FormViewModel_a","FormViewModel_b","FormViewModel_c","FormViewModel_d","FormViewModel_e","PersonInfoModel","PersonInfoModel_1","addressId","fullAddress","formatedAddress","VehicleInfoModel","VehicleInfoModel_1","Id","manufactureYear","vehicleRegistrationNumber","vehicleType","VehicleInfoModel_decorate","cityPart","descriptiveNumber","orientationNumber","pipeSeparatedAddress","newOperatorRequestBody","evidenceNumber","PersonalInfoModel_decorate","EntrepreneurInfoModel","EntrepreneurInfoModel_1","EntrepreneurInfoModel_decorate","BuyerFormModel","models_VehicleInfoModel","owner","models_PersonInfoModel","operator","models_PersonalInfoModel","models_EntrepreneurInfoModel","BuyerFormModel_decorate","BuyerFormModel_a","models_BuyerFormModel","lastFetchedCode","personalInfoNotFound","entrepreneurInfoNotFound","CONFIRM_OPERATOR","L3","selectedMandate","GetChangeType","Kk","getBirthNumber","fetchPersonalAndEntrepreneurInfo","updateNewOperatorInfo","resetSelection","changeOwnerOrOperator","postPdApiEgonV1RsvRequestsChangeOwnerOrOperatorBuyerForm","loadModelDataFromRequest","fetchRequestById","getPdApiEgonV1RsvRequestsChangeOwnerOrOperatorRequests","updateData","putPdApiEgonV1RsvRequestsChangeOwnerOrOperatorOperatorRequests","addressPipeSeparated","putPdApiEgonV1RsvRequestsChangeOwnerOrOperatorBuyerRequests","THIRD_PARTY_LIABILITY_INSURANCE_PROOF","PROOF_OF_CHARGE","VEHICLE_REGISTRATION_CHECK_REPORT","BuyerApplicationService_decorate","BuyerApplicationService_a","BuyerApplicationService_b","VehicleAttachmentService","applyDisabling","isNewOperatorDisabled","_utils_EnvUtils__WEBPACK_IMPORTED_MODULE_10__","resetNameAndAddress","_components_form_RadioGroup_RadioGroup__WEBPACK_IMPORTED_MODULE_4__","_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_8__","_components_form_Fieldset__WEBPACK_IMPORTED_MODULE_5__","_components_form_Input__WEBPACK_IMPORTED_MODULE_6__","_components_form_DatePicker__WEBPACK_IMPORTED_MODULE_7__","OperatorRadioButtonPersonType","NewOperatorModel_1","operatorRadioButtonPersonType","birthDateOrNumber","birthDateOnly","addressFromRequest","inputWithNumbersOnly","parts","day","padStart","month","PFO","_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_3__","parseAddressFromRequest","streetPart","restPart","zipPart","newOperatorPersonalInfo","isNewOperatorDifferentFromNewOwner","NewOperatorModelValidators","icoShort","NewOperatorBirthDayOnlyModelValidators","RequestInfoModel_1","_data_egon_api__WEBPACK_IMPORTED_MODULE_2__","pdfAttachs","InvalidCodeValidator","changeOwnerOrOperatorCodeValidator","IntroOwnerOrOperatorChangedView","_00_intro_IntroOwnerOrOperatorChangedView","IntroOwnerOrOperatorChangedViewLoading","_00_intro_IntroOwnerOrOperatorChangedViewLoading","SellerFormView","SellerFormModel","aS","components_SellerFormView","RequestType","components_RequestType","NewSellerOwnerOrOperatorChangedView","translateApplications","vehicleChangeTypeEnabled","sellerFormModel","busyWatcherConfirm","_01_new_NewSellerOwnerOrOperatorChangedView","NewSellerOwnerOrOperatorChangedViewLoading","_01_new_NewSellerOwnerOrOperatorChangedViewLoading","contactInfoView","aV","formDescription","SummarySellerOwnerOrOperatorChangedView","newDetailInSummary","currentOwnerHeading","newOwnerFirstName","newOwnerLastName","newOwnerName","newOwnerIdentificationNumber","_02_summary_SummarySellerOwnerOrOperatorChangedView","SummarySellerOwnerOrOperatorChangedViewLoading","SummaryOwnerOrOperatorChangedViewLoading","SummarySellerOwnerOrOperatorChangedConfirmedView","_03_confirmed_SummarySellerOwnerOrOperatorChangedConfirmedView","SummarySellerOwnerOrOperatorChangedConfirmedViewLoading","_03_confirmed_SummarySellerOwnerOrOperatorChangedConfirmedViewLoading","changeTypeMap","EgonServiceBus_WebApi_Requests_V1_Forms_FormChangeOwnerOrOperatorRequestRsvChangeType","K","formChangeTypeMap","mapChangeType","attachements","RSV_APPLICATION_CHANGE_OWNER_OWNER_PLUS_OPERATOR","isOwner","RSV_APPLICATION_CHANGE_OWNER_OWNER","RSV_APPLICATION_CHANGE_OWNER_OPERATOR","getDescriptionForChangeType","REQUEST_FOR_REGISTRATION_OF_CHANGE_OWNER_OR_OPERATOR","getModelValuesFromRequest","postPdApiEgonV1RsvRequestsChangeOwnerOrOperatorRequests","getRequestBodyFromModel","handOverRequest","getNewOwnerInfo","personInfo","getOldOwnerInfo","_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_4__","Change_Type_Model","SELECTED_NONE","src_enums_MandatePersonType__WEBPACK_IMPORTED_MODULE_2__","SellerFormModelValidators","OwnerOrOperatorChangedViewSellerStepsView","steps_OwnerOrOperatorChangedViewSellerStepsView","companyInfo","_00_form_Owner","vehicleOriginSelectOptionsMock","vehicleOriginSelectOptions","setCocFiles","unsetCocFiles","setModsFiles","unsetModsFiles","setOriginalDocsFiles","unsetOriginalDocsFiles","loadDataByVin","loadDataByVinIsBusy","vehicleDataLoaded","jT","fetchOptions","getVehicleRegistrationVins","onOptionSelection","vinCode","vehicleOrigin","RegisterFormModel","vv","CZ","I5","De","ABROAD","attachCoc","rsvAttachmentMaxSizeMB","attachMods","attachOriginalDocs","allowedAllFilesSize","rsvAllAttachmentsMaxSizeMB","filesSizeError","_00_form_Form","RoadVehicleRegisterDigiFormView","busyWatcherLoadVinCode","_00_form_RoadVehicleRegisterDigiFormView","RoadVehicleRegisterDigiFormViewModel","summaryRoadVehicleRegisterDigiViewModel","companyUser","getPdApiEgonV2NewVehiclesByVin","mapLoadedData","resetLoadedData","hideQuestions","YB","WO","SummaryRoadVehicleRegisterDigiViewModel","VehicleSummary","vehicleMakeAndModel","vehicleSort","getVehicleColorLabel","vehicleColor","vehicleMods","vehicleCategory","components_VehicleSummary","SummaryRoadVehicleRegisterDigiView","fileAbroadList","vehicleApprovalCertificateNumber","RsvSummaryTable","ownerSummaryData","operatorSummaryData","_01_summary_SummaryRoadVehicleRegisterDigiView","sendCzRegistrationDocuments","COC_LIST","sendOriginalDocsAttachmentRequest","getPostRequestBody","addIfValid","getVehicleColorEnum","getPostRequestOperator","getPostRequestOwner","vehicleRegistration","postPdApiEgonV1RsvRequestsVehicleRegistrationRequests","postResult","putResult","SummaryRoadVehicleRegisterDigiViewConfirmedViewModel","SummaryRoadVehicleRegisterDigiViewConfirmedView","_02_confirmation_SummaryRoadVehicleRegisterDigiViewConfirmedView","SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading","_02_confirmation_SummaryRoadVehicleRegisterDigiViewConfirmedViewLoading","requestPdfId","fetchRequestInfo","getPdApiEgonV1RsvRequestsVehicleRegistrationRequests","_models_RegisterFormModel__WEBPACK_IMPORTED_MODULE_3__","_cendis_cedr_framework_dist_validation_ValidationContext__WEBPACK_IMPORTED_MODULE_10__","_OwnerOrOperatorChangedView_buyer_models_NewOperatorModel__WEBPACK_IMPORTED_MODULE_4__","vins","getPdApiEgonV1RsvRequestsVehicleRegistrationVins","vinsOptions","vinStr","opt","_components_AuthorityInfo_AuthorityInfoViewModel__WEBPACK_IMPORTED_MODULE_7__","src_app_components_ContactInfo_ContactInfoViewModel__WEBPACK_IMPORTED_MODULE_9__","src_services_UserService__WEBPACK_IMPORTED_MODULE_11__","VehicleOrigin","roadworthinessCertificateNum","_data_egon_api__WEBPACK_IMPORTED_MODULE_4__","xP","USUAL","applicationPlace","_OwnerOrOperatorChangedView_buyer_models_NewOperatorModel__WEBPACK_IMPORTED_MODULE_2__","colorKeywords","word","colorRegex","matchingOption","vehicleColorSelectOptions","dataVehicleMods","equipments","couplingDevice","couplingDeviceLoad","couplingDeviceBrakes","couplingDeviceBrakesType","typeApproval","i5","vc","RegisterFormModelValidators","_components_form_Select_Select__WEBPACK_IMPORTED_MODULE_3__","R","BLACK","WHITE","YELLOW","ORANGE","RED","PURPLE","BLUE","GREEN","GREY","BROWN","vehiclePurposeSelectOptions","TAXI","RIGHT_OF_WAY","RENT_CAR","ROAD_TRANSPORT_FOR_THE_NEEDS_OF_OTHERS_BY_ITS_OPERATOR","PUBLIC_TRANSPORT","PersonInlineData","rsvBuyerFormLink","_OwnerOrOperatorChangedView_buyer_00_applicationLoader_ApplicationLoaderViewModel__WEBPACK_IMPORTED_MODULE_0__","IntroRsvDataChangeView","_00_intro_IntroRsvDataChangeView","IntroRsvDataChangeViewLoading","_00_intro_IntroRsvDataChangeViewLoading","attachmentFiles","RsvDataChangeFormView","rsvDataChangeFormModel","setAttachmentFiles","unsetAttachmentFiles","_01_form_RsvDataChangeFormView","RsvDataChangeFormViewLoading","_01_form_RsvDataChangeFormViewLoading","RsvDataChangeFormModel","SummaryRsvDataChangeView","requestedChange","_02_summary_SummaryRsvDataChangeView","SummaryRsvDataChangeViewLoading","_02_summary_SummaryRsvDataChangeViewLoading","RsvDataChangeViewConfirmedView","_03_confirmation_RsvDataChangeViewConfirmedView","RsvDataChangeViewConfirmedViewLoading","_03_confirmation_RsvDataChangeViewConfirmedViewLoading","_models_RsvDataChangeFormModel__WEBPACK_IMPORTED_MODULE_3__","_data_egon_api__WEBPACK_IMPORTED_MODULE_5__","REQUEST_FOR_CHANGE_RECORDS","dataChange","getPdApiEgonV1RsvRequestsDataChangeRequests","requestedData","postPdApiEgonV1RsvRequestsDataChangeRequests","sendAttachmentFiles","RsvDataChangeFormModelValidators","getRsvRequestByType","formId","_data_egon_api__WEBPACK_IMPORTED_MODULE_0__","COMPLETED","DECLINED","CLOSED","isRsvRequestFinished","LOCKED","HANDOVERED","SOLVING","isBuyerRsvRequestFinished","isBuyerRsvRequestCompletable","isBuyerRsvRequestConfirmed","errorsDictionary","RSV_NOT_AUTHORIZED","RSV_DUPLICATE_REQUEST","RSV_NOT_IMPLEMENTED","RSV_NOT_AVAILABLE","RSV_NOT_FOUND","RSV_PROCESSING_IN_PROGRESS","RSV_INVALID_DATA","RSV_INVALID_REQUEST","RSV_APPLICATION_ERROR","RSV_REQUEST_IS_ALREADY_LOCKED","RSV_REQUEST_CANNOT_BE_CHANGED","RSV_SUBJECT_NOT_FOUND","RSV_MULTIPLE_SUBJECTS_FOUND","translateErrorMessage","_cendis_cedr_framework_dist_validation_ValidationContext__WEBPACK_IMPORTED_MODULE_6__","_cendis_cedr_framework_dist_async_BusyWatcher__WEBPACK_IMPORTED_MODULE_1__","entityInfo","loadApplication","waitForRsvRequests","waitForVehicleInfo","getRequestSummary","selectedRequest","_RsvRequestUtils__WEBPACK_IMPORTED_MODULE_5__","_n","src_data_egon_api__WEBPACK_IMPORTED_MODULE_4__","_cendis_cedr_framework_dist_async_Watch__WEBPACK_IMPORTED_MODULE_2__","getPdApiEgonV1RsvRequests","src_decorators_Authorize__WEBPACK_IMPORTED_MODULE_3__","typedi__WEBPACK_IMPORTED_MODULE_7__","typedi__WEBPACK_IMPORTED_MODULE_6__","src_services_ApiService__WEBPACK_IMPORTED_MODULE_4__","src_services_ErrorService__WEBPACK_IMPORTED_MODULE_5__","components_ApplicationStatusHints","ApplicationCardListItem","handleClick","handleScroll","submissionDate","ApplicationDetail","goToApplication","downloadDigitalOperation","downloadInstructionsPdf","isPdfLoading","isHandoverRequestLoading","isDigitalOperationLoading","isInstructionsLoading","displayQRCode","buyerLink","newOwnerOperator","isNewOperator","isInteger","tooltipPlacement","components_ApplicationDetail","ApplicationListView","selectedApplication","setSelectedApplication","selectAppBusyWatcher","scrollToTop","useWindowSize","unselectApplication","CardList","handoverRequestBusyWatcher","digitalOperationBusyWatcher","instructionsDownloadBusyWatcher","applicationsList_ApplicationListView","ApplicationModel","REQUEST_FOR_FIRST_VEHICLE_REGISTRATION","buyerPersonType","selectedReqSummary","workplaceId","cityName","workplaceName","fetchAuthorities","fetchRequests","app","targetAuthorities","getPdApiEgonV1TargetAuthorities","ownerOperatorLogic","getPdApiEgonV1RsvRequestsRequestsDigitalOperation","ApplicationListViewModel_decorate","ApplicationListViewModel_a","ApplicationListViewModel_b","ApplicationListViewModel_c","_applicationsDigi_Shared_services_RsvApplicationService__WEBPACK_IMPORTED_MODULE_7__","_components_shared_Modal__WEBPACK_IMPORTED_MODULE_1__","_components_shared_InfoPanel_InfoPanel__WEBPACK_IMPORTED_MODULE_2__","src_data_egon_api__WEBPACK_IMPORTED_MODULE_6__","_components_gov4_ConditionalView__WEBPACK_IMPORTED_MODULE_5__","fileURL","createObjectURL","authoritiesSelectOptions","_cendis_cedr_components__WEBPACK_IMPORTED_MODULE_6__","_components_form_Fieldset__WEBPACK_IMPORTED_MODULE_2__","showFooterText","footerText1","footerText2","footerText3","footerLink1","footerLinkText1","footerLink2","footerLinkText2","_cendis_cedr_framework_dist_async_BusyWatcher__WEBPACK_IMPORTED_MODULE_5__","bool","_cendis_cedr_framework_dist_lang_translate__WEBPACK_IMPORTED_MODULE_8__","_cendis_cedr_framework_dist_async_Watch__WEBPACK_IMPORTED_MODULE_6__","_cendis_cedr_framework_dist_view_AddDefaultView__WEBPACK_IMPORTED_MODULE_9__","_AuthorityInfoView__WEBPACK_IMPORTED_MODULE_4__","_cendis_cedr_framework_dist_lang_AddTranslationKey__WEBPACK_IMPORTED_MODULE_3__","_cendis_cedr_framework_dist_services_LocalizationService__WEBPACK_IMPORTED_MODULE_7__","_components_shared_Modal__WEBPACK_IMPORTED_MODULE_2__","_components_shared_InfoBox_InfoBox__WEBPACK_IMPORTED_MODULE_4__","_components_shared_ClipboardCopy_ClipboardCopy__WEBPACK_IMPORTED_MODULE_2__","plateFormatStart","plateFormatEnd","displayApplicant","fo","po","poIc","unidentifiedPerson","_utils_AddressUtils__WEBPACK_IMPORTED_MODULE_4__","fP","ic","hideWorkplace","_components_shared_Alert_Alert__WEBPACK_IMPORTED_MODULE_2__","OwnerDates","formattedValidFrom","formattedValidTo","OperatorDates","ownerEntity","ent","src_enums_VehicleOwnershipType__WEBPACK_IMPORTED_MODULE_1__","operatorEntities","operatorEntity","currentStatus","isHidden","SearchInput","SearchIcon","VehicleSearch_VehicleSearch","components_Chevron","direction","hoverDisable","components_Pagination","pageNumber","vehicleLimitReached","nextPageLoading","Sidebar","handleOnClick","handleVehiclesFilter","vehiclesFilter","selectedVehicleID","areVehiclesLoading","currentPage","longProcessing","timeoutWarning","notFoundWarning","setVehicleID","unloadedVehicles","navToUnloadedVehicles","unloadedVehiclesIsActive","searchInAllowedSections","isSearchResult","isUnsearchedList","shouldShowSearch","showNoVehicles","RSV_CARS","InfoCircleIcon","ACTIVE","HISTORY","CardListItem","page","VehicleListDocument","bytes","minimumFractionDigits","maximumFractionDigits","isPdf","contentType","isCsv","extension","filename","fetchVehiclePdfDocument","fetchVehicleCsvDocument","components_VehicleListDocument","VehicleListEmailNotification","visible","vehicleDocumentsNotificationModel","isMandateRepresentation","onModalClose","userEmail","refreshEmail","emailBusyWatcher","acceptVehicleDocumentsNotificationEmail","components_VehicleListEmailNotification","VehicleListDownload","vehicleDocumentsDownloadWatcher","vehicleListDownloadWatcher","downloadVehicleDocuments","documentsForDisplay","vehicleDocumentsDownloadStatus","registerSignalRHandler","removeSignalRHandler","documentsDownloadedInfoMessageVisible","emailNotificationButtonVisible","emailNotificationModalVisible","doc","components_VehicleListDownload","PersonTypeTabs","navRoadVehicleRegisterDigi","navVehicleBuyer","navVehicleList","Tabs","customClass","defaultTab","TabPane","tab","RSV_APPLICATION_UNSELECTED_CARS_EXPORT","rsvApplicationsWithAttachmentDisabled","RSV_APPLICATION_UNSELECTED_NEW_CAR_APPLICATION","RSV_APPLICATION_UNSELECTED_CHANGE_OWNER_PART2","components_PersonTypeTabs","UnloadedVehiclesTabs","components_UnloadedVehiclesTabs","RegisterView","detailRef","isLargeDisplay","vehicleDetailViewModel","roadVehicleRegisterDigiViewModel","buyerVehicleViewModel","currentPageVehicles","isCurrentPageLastPage","unloadedVehiclesViewModel","RSV_APPLICATION_UNSELECTED","register_RegisterView","RegisterViewLoading","register_RegisterViewLoading","RoadVehicleRegisterDigiView","navigateBack","navigateToForm","RoadVehicleRegisterView_RoadVehicleRegisterDigiView","RoadVehicleRegisterDigiViewModel","roadVehicleRegisterDigiFormViewModel","summaryRoadVehicleRegisterDigiViewConfirmedViewModel","register_RegisterViewModel","BuyerOwnerOrOperatorChangedView","navToApplicationLoader","buyer_BuyerOwnerOrOperatorChangedView","BuyerOwnerOrOperatorChangedViewModel","applicationLoaderViewModel","formViewModel","BuyerOwnerOrOperatorChangedViewModel_decorate","BuyerOwnerOrOperatorChangedViewModel_param","BuyerOwnerOrOperatorChangedViewModel_a","BuyerOwnerOrOperatorChangedViewModel_b","BuyerOwnerOrOperatorChangedViewModel_c","BuyerOwnerOrOperatorChangedViewModel_d","VehicleEmailNotificationModel","VehicleListEmailNotificationModel_decorate","VehicledListEmailNotificationValidators","unloadedVehicles_UnloadedVehiclesView","UnloadedVehiclesViewModel","UnloadedVehiclesViewModel_decorate","UnloadedVehiclesViewModel_param","UnloadedVehiclesViewModel_a","UnloadedVehiclesViewModel_b","UnloadedVehiclesViewModel_c","RegisterViewModel_1","vehicleInsuranceService","vehicleEdazService","signalRService","loadUnloadedVehiclesBusyWatcher","vehicleDocumentsRequestId","vehicleDocuments","VehicleListEmailNotificationModel","pdfTimeoutId","csvTimeoutId","listCreationStarted","listCreationResetId","csv","deselectVehicle","CheckDocumentCreationStatus","getVignetteTypes","getVehicleDocuments","getUnloadedVehicles","loadVehicle","allowedSectionEnum","allowed","unloadedVehicles_UnloadedVehiclesViewModel","RoadVehicleRegisterView_RoadVehicleRegisterDigiViewModel","buyer_BuyerOwnerOrOperatorChangedViewModel","isRepresentation","putPdApiEgonV1VehicleDocumentsEmail","vehicleDocumentsToastNotificationOn","checkError","getPdApiEgonV1VehicleDocumentsCreationStatus","hp","AVAILABLE","lastCreationFailed","IN_PROGRESS_WITH_NOTIFICATION","vehicleDocumentsToastReady","vehicleDocumentsToastInProgress","vehicleDocumentsToastFailed","SignalRTypes","RECEIVE_NOTIFICATION","onSignalRNotification","showToastMessage","getPdApiEgonV1VehicleDocuments","one","two","rsvUnloadedVehiclesEnabled","getPdApiEgonV1VehicleUnloadedVehicles","currentVehicleIds","pageVehicles","add","filteredUnloadedVehicles","unloadedVehicle","postPdApiEgonV1VehicleDocuments","downloadVehiclesListData","getPdApiEgonV1VehicleDocuments1","endsWith","RegisterViewModel_decorate","VehicleTabs","Me","RegisterViewModel_param","RegisterViewModel_a","RegisterViewModel_b","RegisterViewModel_c","RegisterViewModel_d","RegisterViewModel_e","RegisterViewModel_f","VehicleInsuranceService","VehicleEdazService","SignalRService","AdditionalGroup","additionalInformation","maxSpeed","powerToWeightRatio","consumption","methodology","BodyGroup","totalCapacity","seatingCapacity","standingCapacity","dimensions","gauge","axles","gauges","gauge1","gauge2","gauge3","gauge4","EngineGroup","maxPower","minSpeed","fuel","cylinderCapacity","emissions","ehses","ehkosn","ksa","co2","co2City","co2Outside","consumptionAtSpeed","consumption100KmCity","consumption100km90","consumption100km120","em","cons","InfoGroup","registration","firstRegistration","firstRegistrationCr","ztpNumber","esNumber","inclusion","RH","RHSV","type2","typeCode","version","NoiseGroup","noise","standing","atSpeed","driving","components_ArrayEcho","array","SkeletonGroup","wheels","rims","tires","pneuKey","rafsKey","rafsString","pneuString","StringUtils","joinNotEmpty","axleCount","WeightGroup","perAxle","weights","keyAllowed","keyPer","weightPer","weightAcc","string","operating","permissible","allowedJs","permissibleJs","trailerWeights","allowedBraked","permissibleBraked","allowedNonBraked","permissibleNonBraked","components_InfoTable","valueArray","RegNumberOverviewGroup","filteredRzsNumbers","rzvList","rzvHistoryList","archivedDocuments","currentRzvNumber","rzv","historyRzvNumbers","hasData","currentNumber","historyNumbers","TechCardOverviewGroup","filteredTpsNumbers","tpsList","tpsHistoryList","tps","currentTpsNumber","historyTpsNumbers","RegCertificateOverviewGroup","filteredOrvsNumbers","orvsList","orvsHistoryList","orvs","currentOrvsNumber","historyOrvsNumbers","StatusGroup","RequestList","navOwnerOrOperatorChanged","navOwnerOrOperatorChangedDigi","navDecommissioningDigi","navDecommissioningAdditionalInfoDigi","navPlateNumberRequest","navExportPlateNumberRequest","navVehicleInactivation","navRoadworthinessCertificate","navRegisterDataChange","navLicensePlateLoss","navLicencePlateLossDigi","navRoadworthinessCertificateDigi","navRegisterDataChangeDigi","navExportPlateRequestDigi","navNewLicensePlateDigi","navTerminationDigi","RSV_APPLICATION_CHANGE_OWNER_PART1","RSV_APPLICATION_CHANGE_REGISTRY","stat","lastRecord","RSV_APPLICATION_CAR_DECOMMISSIONING","RSV_APPLICATION_CAR_DECOMMISSIONING_CANCELLATION","RSV_APPLICATION_CAR_DECOMMISSIONING_INFO","RSV_APPLICATION_NEW_REGISTRATION_CERTIFICATE","RSV_APPLICATION_ADDITIONAL_NUMBERPLATE","RSV_APPLICATION_NUMBERPLATE_LOSS","RSV_APPLICATION_VEHICLE_EXPORT","RequestList_RequestList","ControlButtons","downloadVehicleDetail","unselectVehicle","showDownloadButton","NextRecordsGroup","InsuranceContract","contract","contractNumber","insuranceFrom","insuranceTo","insuranceCompany","vehicleInsurance_InsuranceContract","VehicleInsurance","insuranceInfoNotFound","vehicleInsurance","filteredContracts","errorTranslate","fetchInsuranceInfo","resetNotFound","dataList","vinIsUsed","licencePlateIsUsed","orvIsUsed","technicalLicenceIsUsed","usedData","future","past","vehicleInsurance_VehicleInsurance","vignetteTranslationMap","getVignetteTranslationKey","getHours","getMinutes","getSeconds","EdazContract","validityType","vignetteTranslationKey","vignetteName","typeLabel","chipVariant","vehicleEdaz_EdazContract","EdazPaymentButton","showQr","paymentLinkMap","loadPaymentLink","paymentLinks","isReady","ctrlKey","qr","vehicleEdaz_EdazPaymentButton","VehicleEdaz","vignetteAvailable","edazInfoNotFound","vehicleEdazMap","errorVehicles","vignetteNotAllowedMessage","Link","newTab","licencePlateIsValid","edazInfo","canBuy","paymentAvailable","exempt","invalidLicencePlate","exemptMessage","filterEdaz","isPayed","payed","vignettes","vehicleContracts","showNoContractMessage","getVignetteInfo","vignetteTypeId","vehicleEdaz_VehicleEdaz","EntityRelationGroup","relationToVehicle","relationToVehicleList","isCurrentSubject","subjectType","VehicleOwnershipType","ownerValue","operatorValue","previousOwnersCount","previousOperatorsCount","groups_EntityRelationGroup","VehicleKmState","vehicleKmStateService","VehicleKmStateService","kmState","fetchVehicleKmStatus","vehicleStk_VehicleKmState","VehicleTabs_VehicleTabs","navSubmitRequest","setActiveTab","nextRecords","ArrayUtils","getArrayFromNullableString","RSV_CAR_DETAIL","INFO","RSV_APPLICATION","APPLICATION","RSV_CAR_STK","STK","RSV_CAR_DOCUMENTS","DOCUMENTS","RSV_CAR_DOCUMENTS_NUMBERPLATES","RSV_CAR_DOCUMENTS_TECHNICAL_CERTIFICATE","RSV_CAR_DOCUMENTS_REGISTRATION_CERTIFICATE","RSV_CAR_DOCUMENTS_STATUS","RSV_CAR_DOCUMENTS_RELATION","RSV_CAR_INSURANCE","INSURANCE","RSV_CAR_VIGNETTE","EDAZ","components_VehicleTabs","VehicleDetailView","getSTKLink","vehicleDetail_VehicleDetailView","vehicleDetail_VehicleDetailViewLoading","abstractApplicationViewModel","vehicleTitle","vehicleInfo","getVehicle","setDefaultTab","OAEgonApi","createS7198VehicleDetailFromRSV","encodedVin","getPdApiEgonV1VehicleInspection","win","focus","pjson","__webpack_require__","hide","accessibilityStatementClick","_cendis_cedr_framework_dist_hooks_useRoute__WEBPACK_IMPORTED_MODULE_2__","accessibilityStatement","processingPersonalDataClick","processingPersonalData","taxiClick","supportClick","support","faqClick","faq","currentYear","tariffCharges","tagTime","envName","tagImage","taxiUrlEnabled","getPDUserDocument","RezaMandatesSelect_HeaderArrow","RezaMandatesSelect_HeaderLoader","RezaMandatesSelect_RezaMandatesHeader","toggleSelect","userHasMandates","displaySelectOptions","InitialsCircle","otherMandatesHaveNotifications","MandateName","RezaMandatesSelect_RezaMandatesOptions","refs","implicitDisplayed","explicitDisplayed","headerMandatesLimitReached","closeSelect","implicitIndexOffset","explicitIndexOffset","addToRefs","el","mandatesRoute","RezaMandatesSelect_RezaMandatesSelect","headerButtonRef","menuItemsRef","focusedIndex","setFocusedIndex","focusIndex","ceiledIndex","newIndex","focusNextItem","focusPreviousItem","relatedTarget","components_NotificationBubble","animationPlay","isAnimationOpen","closest","navToNotifications","closeAnimationBox","home_HeaderUser","img","notifRoute","clickNotifications","NotificationsCount","translation","_shared_Modal__WEBPACK_IMPORTED_MODULE_2__","backToHome","react__WEBPACK_IMPORTED_MODULE_1__","_components_form_TooltipOnClick__WEBPACK_IMPORTED_MODULE_4__","_utils_AndroidUtils__WEBPACK_IMPORTED_MODULE_2__","isDeviceAndroid","disable","_cendis_cedr_framework_dist_view_Cancel__WEBPACK_IMPORTED_MODULE_3__","NavigationStore","authorizationRequired","isAnySectionBusy","scrollToRef","section","setAuthorizationRequired","RefObject","SidebarNavigator","useNavigationContext","container_class","sidebar_SidebarNavigator","layout_SectionGrid","sideChildren","SectionContainer","_NavigationContext__WEBPACK_IMPORTED_MODULE_2__","sectionRef","normalize"],"sourceRoot":""}