{"version":3,"sources":["Common/ProcessStoreList/api.ts","Common/PageNotFound.tsx","Common/OpenLoanApplicationWrapper/OpenLoanApplicationForRemoteSigningWrapper.tsx","Common/OpenLoanApplicationWrapper/OpenLoanApplicationForRemoteSigning.tsx","Common/ReadOnlyMoneyAmountField/ReadOnlyMoneyAmountField.tsx","Common/PortalStatusAlert/PortalStatusAlert.tsx","Common/useDebounceState.ts","Common/PersonalDataProcessingDisclaimer/PersonalDataProcessingDisclaimer.tsx","Common/PreContractualDocuments/utils.ts","Common/Snackbar/branchExperienceState.ts","Common/OptionalEditFields/OptionalEditMoneyField.tsx","DigitalId/api.ts","Common/ReadOnlyDateField/ReadOnlyDateField.tsx","Common/useCriteria.ts","Common/PreContractualDocuments/state.ts","Common/ProcessStoreList/domain.ts","Common/PortalStatusAlert/api.ts","Common/OptionalEditFields/OptionalEditDropdownField.tsx","Common/ShareWithClientButton/ShareWithClientButton.tsx","Common/ShareWithClientButton/useShareWithClientButtonProps.tsx","Common/useTestEnvironment.ts","Common/Snackbar/SnackbarProvider.tsx","Common/TabLock/TabLock.tsx","ConfigBlocks.ts","DocumentTitle.tsx","Common/PortalStatusAlert/PortalStatusAlertDialog.tsx","Common/Price/DisplayMoneyAmount.tsx","Common/OptionalEditFields/OptionalEditTextField.tsx","GDPR/GDPR.tsx","GDPR/api.ts","Common/useValidators.ts","Common/PrivacyPolicyDisclamer/PrivacyPolicyDisclaimer.tsx","Common/Price/DisplayMoneyAmount.treat.ts","Common/PreContractualDocuments/ContractsPanel.tsx","Common/selectDropdownOption.ts","Common/documentAPI.ts","Common/useScrollTopOnChange.tsx","Common/PreContractualDocuments/api.ts","Common/PhoneNumberField/usePhoneNumberFieldProps.tsx","Common/YesNoRadioGroup/YesNoRadioGroupField.tsx","Common/PreContractualDocuments/Contracts.tsx","DigitalId/DigitalIdInstructions.tsx","Common/UserValidation/UserValidation.tsx","Common/useSBDeepLink.ts","Common/Stepper/FlowAccordion/FlowAccordion.treat.ts","Common/UserValidation/api.ts","Common/UserValidation/UserNotValidatedError.tsx","Common/VirtualKeyboard/virtualKeyboardUtils.ts","Common/PreContractualDocuments/DocumentDialog.tsx","Common/OptionalEditFields/OptionalEditYesNoField.tsx","Common/OverdraftCard/OverdraftCardDesktop.treat.ts","Common/ReadOnlyYesNoField/ReadOnlyYesNoField.tsx","Common/PhoneNumberField/PhoneNumberField.tsx","Common/StartNewFlow.tsx","Common/PreContractualDocuments/PreContractualDocuments.tsx","Common/PreContractualDocuments/TermsAndConditions.tsx","DigitalId/DigitalId.tsx","Common/PreContractualDocuments/MarketingConsentDialog.tsx","Common/PortalStatusAlert/PortalStatusWrapper.tsx","Common/PhoneNumberField/api.ts","Common/Stepper/FlowAccordion/FlowAccordionMacro.tsx","DigitalId/DigitalIdStart.tsx","DigitalId/DigitalIdClientProfile.tsx","DigitalId/DigitalIdStatus.tsx","DigitalId/DigitalIdStop.tsx","DigitalId/DigitalIdClientMock.tsx","Common/OptionalEditFields/OptionalEditMonthYearField.tsx","Common/OptionalEditFields/OptionalEditTextField.treat.ts","Common/documentDomain.ts","DigitalId/state.ts","Common/useTenantCurrency.ts","Common/PreContractualDocuments/MarketingConsentConfirmationDialog.tsx","Common/PreContractualDocuments/DocumentsSignature.tsx","Common/UserValidation/UserNotValidatedDialog.tsx","Common/UserValidation/utils.ts","Common/Price/MoneyField/MoneyField.tsx","Common/PreContractualDocuments/DocumentItem.tsx","Common/PreContractualDocuments/ExternalPushNotificationCard.tsx","Common/PreContractualDocuments/SBAuthorizationButton.tsx","Common/PreContractualDocuments/SBAuthorizationResultWaiting.tsx","Common/OpenLoanApplicationWrapper/domain.ts","Common/PortalStatusAlert/PortalStatusMaintenance.tsx","Common/PortalStatusAlert/PortalStatusMaintenance.treat.ts","Common/OpenLoanApplicationWrapper/OpenLoanApplicationWrapperLatest.tsx","Common/PageHeading/PageHeading.tsx"],"names":["ApplicationProductType","t","CL","UKONTO","SAVINGS","MORTGAGE","PERSONAL_PROFILE","SL","TL","RL","RPL","OD","INVESTMENTS_ONBOARDING","ApplicationLoanType","optionFromNullable","UserType","BROKER","BANKER","FRANCHISE_PARTNER","FRANCHISE_AS_BRANCH","CLIENT","UNKNOWN","FlowType","TLS","IN_PERSON","REMOTE","ApplicationStatus","BLOCKED_FOR_REMOTE_EMAIL_LINK","SENT_TO_THE_BANK","PRELIMINARY_APPROVED","TO_BE_REVIEWED_INDIVIDUALLY","PRELIMINARY_DECLINED","CREATED","PENDING_SIGNATURE","DELETED","EXPIRED","SIGNED","HARD_KO","AC_SENT_TO_THE_BANK","AC_PRELIMINARY_APPROVED","AC_TO_BE_REVIEWED_INDIVIDUALLY","AC_PRELIMINARY_DECLINED","ADDITIONAL_INFO_REQUIRED","APPLICATION_RENOUNCED","FINAL_DECISION_ACCEPTED","FINAL_DECISION_REJECTED","APPROVED","REJECTED","SIGNED_DOCUMENTS_NEEDED","UNDER_REWORK","IN_PROGRESS","AC_IN_PROGRESS","SIGNED_MIFID","CONTRACT_SIGNED","FINISHED","SLApplicationStatusFinished","TenorType","Months","Years","ApplicationRecord","brokerId","NonEmptyString","applicationId","firstName","withFallback","option","none","lastName","createdDate","DateFromISOString","lastModifiedDate","expirationDate","optionFromUndefined","productType","loanType","amount","NonNegativeInteger","currency","Currency","tenor","PositiveInteger","tenorType","status","flowType","userType","userName","locked","expiresSoon","clientPhoneNumber","BankerApplicationListInput","clientNameOrApplicationId","size","SearchStatusType","birthNumber","clientNumber","accountNumber","emailAddress","clientUserIdOrAlias","phoneNumber","productTypeList","fromDate","toDate","source","SearchSourceType","eqBankerApplicationListInput","eq","getStructEq","eqNumber","eqString","eqStrict","array","getEq","eqDate","BankerApplicationListOutput","getBankerApplicationList","apiCall","inputCodec","inputEq","path","outputCodec","BrokerApplicationListInput","searchText","page","eqBrokerApplicationListInput","BrokerApplicationListOutput","content","totalPages","totalElements","last","number","getBrokerApplicationList","GetClientApplicationsListOutput","getClientApplicationsList","fromEquals","constFalse","PageNotFound","formatMessage","useFormatMessage","config","useAppContext","title","backgroundImageURL","onLogoClick","iconAction","onStepClick","constVoid","steps","contentBackground","palette","background","type","heading","subheading","actions","variant","label","action","window","location","href","PWSURL","OpenLoanApplicationForRemoteSigningWrapper","transitionToPotentialClient","useAuthenticationContext","useEffect","OpenLoanApplicationForRemoteSigning","navigatePWS","getClientStatusResult","usePolling","api","shouldPollingContinue","intervalMS","renderStandardLoan","restoreDataObject","onPhoneVerified","onExit","some","onClientExists","authenticationMethod","initialLoanOffer","onAgeValidationFail","applicationStatus","isProspectClient","isCredentialsAndSigningRemote","clientExists","pipe","remoteData","constNull","response","foldClientStatus","isRiskyClient","ReadOnlyMoneyAmountField","props","labelId","useUniqueID","column","shrink","inverted","readonly","description","id","value","fractionDigits","feedback","units","message","PortalStatusAlert","logout","portalStatus","isAlertModalVisible","setAlertModalVisible","usePortalStatusContext","foldPortalStatus","onInitial","onNone","onActive","grow","inAuthenticatedPage","onCancel","onConfirm","onDismiss","onScheduled","useDebounceState","delay","debouncedValue","setDebouncedValue","useState","timeout","setTimeout","clearTimeout","PersonalDataProcessingDisclaimer","isBranchExperienceTouchScreen","useIsTouchScreen","dataModalOpen","setDataModalOpen","personalDataProcessingTemplates","useCommand","documentAPI","personalDataProcessingContent","disclaimerLabel","weight","buttonLink","disabledLink","file","docsets","taskEither","chain","items","docId","getFirstUnreadDocument","documents","documentsRead","findFirst","d","set","every","d2","getDocumentReadingStatus","elem","exists","useFormatError","error","getPreContractualDocumentsActions","dispatch","commands","handleContractRead","contractRead","map","readDocumentAction","handleContractUnread","contractUnread","unreadDocumentAction","handleMarketingConsentAcceptance","accepted","marketingConsent","changeMarketingConsentAction","handlePreContractualReceived","checked","termsAndConditionsReceived","changeDocumentsReceivedConfirmationAction","handleModalMarketingConsentAcceptance","confirmMarketingConsentAction","handleForeignSigningConsentAcceptance","foreignSigningConsent","changeForeignSigningConsentAction","mediationInsuranceDocset","getSmartKeyInitialMode","State","informative","success","warning","LocalizedString","targetScreen","parent","child","both","Action","state","setStateAction","reducerConfig","sharedReducerConfig","_","OptionalEditMoneyField","formatMoneyAmountValue","useFormatMoneyAmountValue","edit","fieldProps","getOrElse","constant","digitalIdStart","applicantIndex","DigitalIdStatus","stopReason","digitalIdStatus","DigitalIdClientIdentified","photo","digitalIdClientIdentified","DigitalIdQrCode","qrCode","digitalIdQrCode","DigitalIdClientCheckExistingResponse","existingClient","duplicateContacts","hasBlockingNotes","multipleUsers","personalNumberMatch","clientStatus","userID","digitalIdClientCheckExisting","digitalIdExtractData","ClientDataOutput","DigitalIdSavedDocuments","ready","name","digitalIdSaveDocuments","FlowInfo","info","digitalIdFlowInfo","digitalIdGetDocuments","digitalIdSetBirthNumber","ReadOnlyDateField","formatDate","useFormatDate","format","fold","useCriteria","lengthRange","minLength","maxLength","validator","passwordCriteriaValidators","hasDigit","hasSpecialCharacter","hasLowerLetter","hasCapitalLetter","noPartialConsecutiveDigits","noSpecialCharacters","noDigitFirstCharacter","length","maxRepetitions","clientPasswordCriteria","thirdPartyPasswordCriteria","securityPinCriteria","noDigitRepeatsMoreThanN","times","passwordStrengthLabel","strength","pinStrengthLabel","UIError","ReadDocumentsState","setFromArray","ord","ordString","documentsReceivedConfirmation","isMarketingConsentModalOpen","optionCodec","ExistingClientAuthenticationMethod","SigningDocumentsState","ReadDocumentAction","payload","documentId","UnreadDocumentAction","ChangeDocumentsReceivedConfirmationAction","confirm","ChangeMarketingConsentAction","ChangeForeignSigningConsentAction","StartSignatureAction","allDocuments","nonEmptyArrayC","DocumentMeta","checkDocumentRead","checkMarketingConsent","isForeignClient","startSignatureAction","ConfirmMarketingConsentAction","confirmation","DismissMarketingModalAction","dismissMarketingModalAction","CancelSignatureAction","checkHasReadAllContracts","nonEmptyArray","document","fromArray","difference","insert","remove","confirmDocumentsReceived","PENDING","CLOSED","ALL","YOU","CurrentPortalStatus","currentlyBlocked","portalBlockScheduled","timeFrom","timeTo","currentPortalStatus","OptionalEditDropdownField","String","ShareWithClientButton","buttonProps","useShareWithClientButtonProps","data-test-id","alwaysConfirmed","backToReadyOrSharing","branchExperienceFeaturesActive","useBranchExperienceContext","shareWithClientButtonConfirmationDelayMs","shareWithClientButtonShareDelayMs","_state","setState","branchExperienceState","Date","now","startTime","rightTask","task","of","fromIO","rightIO","resultLabel","shareWithClientLabel","submitLabel","labels","normal","loading","loadingMessage","seconds","formatDuration","Math","round","undefined","disabled","useTestEnvironment","environment","SnackbarProviderParent","sharedSnackbar","useParentSharedReducer","children","getState","getSetState","SnackbarProviderChild","_sharedSnackbar","useChildSharedReducer","flatten","SnackbarProvider","isTouchScreen","Component","snackbar","setSnackbar","alt","filter","s","newSnackbar","is","TabLock","icon","ErrorIcon","RemoteConfig","UKontoPWSPageURL","UKontoPWSPageHeight","scannerAppUrl","settingsPageURL","tinByCountryURL","CRSCountryURL","FATCAURL","mockScanner","onlineBankingInfoURL","externalCommunication","enhancedMF20","dev","sit","uat","prod","hf","ci","allowOverdraftSelection","biometricConsent","ezyPageURL","unicreditBranchesMapURL","PWSExistingClientURL","cookiesConsentInfoUrl","contactDetailsDuplicityCheck","fromNullable","OPUCEXAssignmentEnabled","multiplePackages","personalProfileDocumentUpload","personalProfileMarketingConsent","branchExperience","promotionsEnabled","virtualKeyboardEnabled","editAddresses","documentBlurAcceptableScore","specularAcceptableScore","timeToBlurMaxTolerance","LogoutRedirectUrl","ukontoRemoteFlowEnabled","ukontoExistingClientsForceSMSOtpSignature","disableNewPackageExistingClientFromPersonalProfile","windowMessageEventsLogs","forceNativePDFViewer","adaptiveEnabled","r5Enabled","r6Enabled","savingsAccountEnabled","localBirthNumberEnabled","greenMTGEnabled","enableMtgImprovementsUi","mobileUploadIdFeedBackInterval","useNewMobileIdUploadUx","enableCashLoanId3PInBranch","r8EnableDeleteReqDoc","r8Enabled","enableUkontoRestore","r8EnableReuseReservedAccount","r8EnableSimpleRefinancing","r8EnableDiscountsOnOffer","r8EnableForeignCountriesSupport","r1EnableForeignNonResidentSupport","enableVirtualCardsImpl","enableVirtualCardsLoanImpl","physicalCardDefaultCheck","virtualCardTopImgURL","virtualCardMcTopImgURL","virtualCardMcMiddleImgURL","virtualCardOpenImgURL","virtualCardMcOpenImgURL","physicalCardTopImgURL","physicalCardMcTopImgURL","physicalCardMcMiddleImgURL","physicalCardOpenImgURL","physicalCardMcOpenImgURL","packageSelectionOpenMastercardImgUrl","packageSelectionMiddleMastercardImgUrl","packageSelectionTopMastercardImgUrl","enableBankFee50FE","recaptchaEnabled","recaptchaPublicKey","r6NewSironMapping","enableMastercardImpl","enablePreapprovedOverdraftOB","enablePreapprovedOverdraftSB","enablePreapprovedOverdraftTLS","enablePAOverdraftEmailLinkRestore","enableForcedRecaptcha","enableDigitalId","enableDocumentSigning","enableInvestmentsEntryPoint","enableThirdPartyBranchSelection","enableCfRepaidLoans","importConfigurations","apiEndpoint","locale","override","fetchConfigurations","fetch","replace","method","headers","Accept","then","body","json","tryCatch","chainEitherKW","decode","bimap","e","isNonEmpty","console","failure","join","DocumentTitle","apiParameters","tenant","foldTenant","envTitle","toUpperCase","PortalStatusAlertDialog","isRemote","useIsRemoteChannel","stayLoggedAction","dark","logoutAction","subtitle","ProblemIcon","iconColor","borderColor","DisplayMoneyAmount","useFormatMoneyAmount","formatMoneyAmount","className","cx","classes","vAlignContent","OptionalEditTextField","GDPR","paperBased","onShareWithClient","getGdprData","gdprApi","setGdprConsent","formatRichMessage","useFormatRichMessage2","channel","isInPersonChannel","endsWith","isSubmitting","setIsSubmitting","gdprData","setGdprData","franchiseBranchGdprRequired","boolean","onContinue","onReject","iAgree","setIAgree","franchiseBranchName","city","franchiseBranchCity","style","overflowY","maxHeight","hAlignContent","height","width","padding","spaceUnit","display","borderRadius","border","blue800","backgroundColor","color","white","useWhitespacePreWrap","onChange","prev","issuesType","basis","getFranchiseBranchGdprDataOutput","getFranchiseBranchGdprData","setFranchiseBranchGdprConsentInput","setFranchiseBranchGdprConsent","useValidators","formatNumber","useIntl","validIco","validName","useCompanyNameAndIcoValidators","max","validators","min","errorMessage","alphaNumeric","validEmail","validPhone","lengthError","formatError","validDate","validBirthDate","validBirthNumber","validNumber","nonNegativeNumber","inSequence","nonNegativeInteger","positiveInteger","validInteger","fromPredicate","n","Number","isInteger","positiveNumber","percentageNumber","nonBlankString","nonEmptyString","digitsOnly","validStreetNumber","disableSpecialCharacters","latinCharactersOnly","validDay","validPassword","passwordMatches","validPin","pinMatches","modulo11Compliant","validCompanyIco","allowUnknown","companyIcoIsValid","commonValidator","validCompanyName","companyNameValid","minMax","defined","definedNoExtract","minAmountValidator","validAddressField","maxLengthNr","amountMinMax","amountMinMaxWithNegative","validCompanyIcoRequired","validCompanyNameRequired","validOTP","otpLength","isChanged","initialValue","minimalDate","minimalValidDate","minDate","maximalDate","maximalValidDate","maxDate","PrivacyPolicyDisclaimer","privacyPolicyTemplates","privacyPolicyContent","privacyPolicyDownload","align","neutral700","downloadAction","fileName","filePath","light","input","small","big","medium","large","ContractsPanel","getDocumentReadingConfirmProps","readingConfirmationType","readStatus","isRead","onRead","onDocumentRead","onUnread","onDocumentUnread","documentToCheckForReadingConfirmation","constTrue","headerIcon","isOpen","isSigningStarted","onSelect","divider","mapWithIndex","index","dataTestId","showErrors","onDocumentOpen","onForeignDocumentOpen","selectedDropdownOption","options","o","dropdownOptionToValue","dropdownOption","a","_tag","DocumentSetId","privacyPolicy","personalDataProcessing","overdraftInformation","representativeExample","creditBureauMemorandum","dataProcessingRegisters","loanInsurance","mtgLoanInsurance","branchContactData","PackageInsuranceInfo","CLcreditBureauMemorandum","DBN_SD_056","DBN_SD_059","DBN_SD_055","OVDRepresentativeExample","eqDocset","docTitle","docset","downloadUrl","contractualDocument","docType","PreContractualDocumentMeta","signatureRequired","DocumentTemplatesInput","nonEmptyArrayCodec","eqDocumentTemplatesInput","DocumentTemplatesOutput","templates","DocumentContentInput","CpiApplicationFormDocumentOutput","pdfContent","FileContent","pdfName","eqDocumentContentInput","DocumentContentOutput","filename","contentDocMTG","contentSealed","DocumentDownloadInput","eqDocumentDownloadInput","DocumentDownloadOutput","downloadDocument","DocumentMime","GetDocumentContentOutput","mimeType","docTypeId","docTypeName","GetDocumentContentInput","documentID","eqGetDocumentContent","getDocumentContentMortgage","getDocumentContentSL","getCpiApplicationFormDocument","useScrollTopOnChange","behavior","ref","scrollTo","top","ContractReadOutput","DocumentsListOutput","PreContractualDocumentsListOutput","ContractReadInput","documentRead","eqContractReadInput","TermsAndConditionsReceivedOutput","MarketingConsentReadInput","eqMarketingConsentReadInput","eqBoolean","ForeignSigningConsentReadInput","eqForeignSigningConsentReadInput","PhoneNumberOutput","TermsAndConditionsOutput","usePhoneNumberFieldConfig","prefixes","useQuery","phoneApi","prefixOptions","useMemo","prefix","flag","constUndefined","usePhoneNumberFieldProps","phoneNumberFieldConfig","handleSubmit","useForm","initialValues","initialPhoneNumber","fieldValidators","onSubmit","phoneNumberFieldProps","handlePhoneNumberSubmit","YesNoRadioGroupField","onBlur","optionKey","toString","renderOption","renderOptionChildren","isOptionDisabled","Contracts","showContractModal","setShowContractModal","showForeignContractModal","setShowForeignContractModal","getCashLoanContract","docArray","isSome","ukontoContracts","getUkontoContracts","currentAccountContracts","getCurrentAccountContracts","cashLoanContractAndOtherContracts","cashLoanContracts","otherContracts","getOtherContracts","contracts","concat","getCashLoanAndOtherContracts","allContracts","documents1","documents2","array2","result","extendNonEmptyArray","isCf","isOvd","useVirtualCardsContractLayout","mustReadAllDocuments","handleDismiss","handleConfirm","sealed","contractType","DigitalIdInstructions","instructions","marginTop","neutral200","paddingTop","paddingBottom","paddingLeft","paddingRight","neutral400","Initial","InProgress","Completed","AddPhone","Validation","UserValidation","userValidation","refreshUserDetails","validateDetailsCall","addPhoneState","setAddPhoneState","validationState","setValidationState","canAddPhoneIfMissing","poolingDisabled","setPoolingDisabled","updatePhoneCompleted","setUpdatePhoneCompleted","usePollingEffect","onError","onSuccess","validate","cta","onDialogExit","validateUser","hasPhoneNumber","isModal","dialogTitle","onDialogDismiss","validationResult","foldPhoneState","AddPhoneNumber","onComplete","skipValidation","foldValidationState","data","contactType","operationType","process","useSBDeepLink","link","biometric","authInfo","url","isNone","Error","flowId","useAppRedirect","redirectUrl","stickyStepper","stickyStepperTop","noPadding","ValidateDetailsOutput","hasPasswordForCommunication","hasEmailAddress","isEmailVerified","isPhoneNumberVerified","CheckStatus","DONE","ERROR","results","validateDetails","UserNotValidatedError","dialogTexts","getDialogTexts","useVirtualFormSubmit","cb","handleEnter","key","isTrusted","addEventListener","removeEventListener","DocumentDialog","documentDownload","onHandleConfirm","isModalInsuranceMediation","item","toUndefined","infoBannerContent","OptionalEditYesNoField","identity","ReadOnlyYesNoField","PhoneNumberField","StartNewFlow","StartNewFlow_","startNewFlow","startNewFlowKeepClient","startRD","useRemoteData","keepClient","render","PreContractualDocuments","isMobileLayout","useIsMobileLayout","portalBlocked","empty","showContractsAgreement","signatureProps","marketingModalOpen","setMarketingModalOpen","preContractualDocuments","getDocuments","onReadContract","onUnreadContract","onTermsAndConditionsReceived","onMarketingConsentExpressed","onForeignSigningConsentExpressed","flow","showReadingConfirm","contractsReadingConfirmationProps","ContentWrapper","marketingConsentCheckbox","multiline","event","currentTarget","documentsSignatureBox","startSignature","showMarketingConsent","shouldVerifySignatureStatus","onAfterSignature","isSignatureStarted","smartKeyInitialMode","onCancelSignature","skipContracts","hideRequestNotice","triggerRemoteFinalPage","onContinueRemoteSigning","contractsAgreementCheckbox","foreignSigningConsentCheckbox","hasInsurance","promotion","toNullable","getTermsAndConditions","showBackButton","onBack","hideDocumentsSignatureBox","startCheckingRemoteSignature","onAnswer","consent","Document","FileIcon","onClick","TermsAndConditions","setOpen","open","termsAndConditions","DigitalId","onClientIdentified","onStop","onRetry","MarketingConsentDialog","marketingConsentTemplates","marketingConsentContent","PortalStatusWrapper","initialPortalStatus","setInitialPortalStatus","redirectWrapper","additionalMessage","IDPrefixesOutput","Tenant","getStatusFromIndex","accordionItemIndex","currentIndex","visitedPanels","has","FlowAccordionMacro","setVisitedPanels","Set","changeIndex","useCallback","resetNextSteps","i","oldPanels","range","union","onStepSelect","panels","accordionItem","panelKey","disableNavigation","hideTitle","up","down","move","panelStatus","stepNumber","CheckIcon","PencilIcon","panelIcon","stripSurroundingPadding","contentRowType","zipper","z","offsetTopToStuck","classWhenStuck","lookup","DigitalIdStart","start","DigitalIdClientProfile","clientIdentified","setClientIdentified","getClientIdentified","r","blue600","useDigitalIdParentReducer","getQrCode","getQrCodeAndSave","qr","DigitalIdStop","DigitalIdClientMock","setBirthNumber","setError","setCustomerBirthNumber","left","v","unsafeLocalizedString","placeholder","issues","errors","OptionalEditMonthYearField","finalDate","month","year","setFullYear","setMonth","textAlignment","getOnlyDownloadMimes","isSafari","mimes","push","reducer","digitalIdReducerConfig","initState","useDigitalIdChildReducer","useTenantCurrency","MarketingConsentConfirmationDialog","WarningIcon","confirmLabel","cancelLabel","DocumentsSignature","matches","ID","otpAuthProps","onFailure","onSignFailure","requestNotice","otpRequestButtonLabel","otpSubmitButtonLabel","otpTitleLabel","onProcessStart","processStarted","onGenerateOTP","generateOtpCommand","onVerifyOTP","verifyOtpCommand","unsafePositiveInteger","allowResendOTP","QR","smartKeyProps","authorizeWithPush","checkAuthorizationPushPath","generateAuthorizationQR","checkAuthorizationQRPath","onFailedSignature","initialMode","PUSH_NOTIFICATION","EXTERNAL_PUSH_NOTIFICATION","onApplicationRejected","authorizeWithPushTLS","PIN","beforeAuthorizationAction","canStartProcess","canStartAuthorization","UserNotValidatedDialog","headerActions","exit","MoneyField","forwardRef","forwardedRef","formatCurrency","useFormatCurrency","decimalDigits","rightContent","assistiveText","formatOptions","maximumFractionDigits","DocumentItem","stackProps","fluid","alignItems","isFrameWorkAgreement","isProductContract","ExternalPushNotificationCard","applicationRejected","SBAuthorizationButton","sbAuthorize","sbAuthorizeCalled","setSbAuthorizeCalled","cancelSignatureRequest","SBAuthorizationResultWaiting","checkAuthorization","checkPush","foldRestoreDataType","restoreDataType","match","onById","onLatest","PortalStatusMaintenance","minHeight","msg","neutral100","linebreak","container","OpenLoanApplicationWrapperLatest","openLoan","getLastSavedLoan","restoreData"],"mappings":"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","file":"static/js/index~7b225a16.8995aba6.chunk.js","sourcesContent":["import * as t from \"io-ts\";\nimport { eq, option, array } from \"fp-ts\";\nimport { NonNegativeInteger, PositiveInteger } from \"design-system\";\nimport { apiCall } from \"../../APICall\";\nimport { withFallback } from \"io-ts-types/lib/withFallback\";\nimport { optionFromNullable } from \"io-ts-types/lib/optionFromNullable\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { DateFromISOString } from \"io-ts-types/lib/DateFromISOString\";\nimport { Currency, optionFromUndefined } from \"../../globalDomain\";\nimport { SearchSourceType, SearchStatusType } from \"./domain\";\nimport { constFalse } from \"fp-ts/function\";\nimport { IO } from \"fp-ts/IO\";\nimport { Reader } from \"fp-ts/Reader\";\n\nexport const ApplicationProductType = t.keyof({\n CL: true,\n UKONTO: true,\n SAVINGS: true,\n MORTGAGE: true,\n PERSONAL_PROFILE: true,\n SL: true,\n TL: true,\n RL: true,\n RPL: true,\n OD: true,\n INVESTMENTS_ONBOARDING: true,\n});\n\nexport type ApplicationProductType = t.TypeOf;\n\nconst ApplicationLoanType = optionFromNullable(t.literal(\"SL\"));\n\nexport type ApplicationLoanType = t.TypeOf;\n\nexport const UserType = t.keyof({\n BROKER: true,\n BANKER: true,\n FRANCHISE_PARTNER: true,\n FRANCHISE_AS_BRANCH: true,\n CLIENT: true,\n UNKNOWN: true,\n});\n\nexport type UserType = t.TypeOf;\n\nconst FlowType = t.keyof({\n TLS: true,\n IN_PERSON: true,\n REMOTE: true,\n});\ntype FlowType = t.TypeOf;\n\nexport function foldApplicationRecordFlowType(\n matches: {\n [k in FlowType]: IO;\n }\n): Reader {\n return flowType => matches[flowType]();\n}\n\nexport const ApplicationStatus = t.keyof(\n {\n BLOCKED_FOR_REMOTE_EMAIL_LINK: true,\n SENT_TO_THE_BANK: true,\n PRELIMINARY_APPROVED: true,\n TO_BE_REVIEWED_INDIVIDUALLY: true,\n PRELIMINARY_DECLINED: true,\n CREATED: true,\n PENDING_SIGNATURE: true,\n DELETED: true,\n EXPIRED: true,\n SIGNED: true,\n HARD_KO: true,\n AC_SENT_TO_THE_BANK: true,\n AC_PRELIMINARY_APPROVED: true,\n AC_TO_BE_REVIEWED_INDIVIDUALLY: true,\n AC_PRELIMINARY_DECLINED: true,\n ADDITIONAL_INFO_REQUIRED: true,\n APPLICATION_RENOUNCED: true,\n FINAL_DECISION_ACCEPTED: true,\n FINAL_DECISION_REJECTED: true,\n APPROVED: true,\n REJECTED: true,\n SIGNED_DOCUMENTS_NEEDED: true,\n UNDER_REWORK: true,\n IN_PROGRESS: true,\n AC_IN_PROGRESS: true,\n SIGNED_MIFID: true,\n CONTRACT_SIGNED: true,\n FINISHED: true,\n },\n \"ApplicationStatus\"\n);\n\nexport type ApplicationStatus = t.TypeOf;\n\nexport const SLApplicationStatusResumable = t.intersection([\n t.keyof({\n CREATED: true,\n PENDING_SIGNATURE: true,\n SIGNED_DOCUMENTS_NEEDED: true,\n UNDER_REWORK: true,\n IN_PROGRESS: true,\n }),\n ApplicationStatus,\n]);\n\nexport type SLApplicationStatusResumable = t.TypeOf<\n typeof SLApplicationStatusResumable\n>;\n\nexport const SLApplicationStatusFinished = t.intersection([\n t.keyof({\n APPROVED: true,\n REJECTED: true,\n }),\n ApplicationStatus,\n]);\n\nconst TenorType = t.keyof({\n Months: true,\n Years: true,\n});\n\nexport const ApplicationRecord = t.type(\n {\n brokerId: NonEmptyString,\n applicationId: NonEmptyString,\n firstName: withFallback(optionFromNullable(NonEmptyString), option.none),\n lastName: withFallback(optionFromNullable(NonEmptyString), option.none),\n createdDate: DateFromISOString,\n lastModifiedDate: DateFromISOString,\n expirationDate: optionFromUndefined(DateFromISOString),\n productType: ApplicationProductType,\n loanType: ApplicationLoanType,\n amount: optionFromUndefined(NonNegativeInteger),\n currency: optionFromUndefined(Currency),\n tenor: optionFromUndefined(PositiveInteger),\n tenorType: optionFromUndefined(TenorType),\n status: ApplicationStatus,\n flowType: FlowType,\n userType: UserType,\n userName: withFallback(optionFromNullable(NonEmptyString), option.none),\n locked: t.boolean,\n expiresSoon: withFallback(t.boolean, false),\n clientPhoneNumber: withFallback(\n optionFromNullable(NonEmptyString),\n option.none\n ),\n },\n \"ApplicationListRecord\"\n);\n\nconst BankerApplicationListInput = t.type(\n {\n clientNameOrApplicationId: t.string,\n size: PositiveInteger,\n status: SearchStatusType,\n birthNumber: t.string,\n clientNumber: t.string,\n accountNumber: t.string,\n emailAddress: t.string,\n clientUserIdOrAlias: t.string,\n phoneNumber: t.string,\n productTypeList: t.array(ApplicationProductType),\n fromDate: optionFromNullable(DateFromISOString),\n toDate: optionFromNullable(DateFromISOString),\n source: SearchSourceType,\n },\n \"BankerApplicationListInput\"\n);\n\nconst eqBankerApplicationListInput = eq.getStructEq({\n size: eq.eqNumber,\n clientNameOrApplicationId: eq.eqString,\n status: eq.eqStrict,\n birthNumber: eq.eqString,\n clientNumber: eq.eqString,\n accountNumber: eq.eqString,\n emailAddress: eq.eqString,\n clientUserIdOrAlias: eq.eqString,\n phoneNumber: eq.eqString,\n productTypeList: array.getEq(eq.eqStrict),\n fromDate: option.getEq(eq.eqDate),\n toDate: option.getEq(eq.eqDate),\n source: eq.eqStrict,\n});\n\nconst BankerApplicationListOutput = t.array(\n ApplicationRecord,\n \"BankerApplicationListOutput\"\n);\n\nexport type BankerApplicationListOutput = t.TypeOf<\n typeof BankerApplicationListOutput\n>;\n\nexport type ApplicationRecord = t.TypeOf;\n\nexport const getBankerApplicationList = apiCall({\n inputCodec: BankerApplicationListInput,\n inputEq: eqBankerApplicationListInput,\n path: [\"utilities\", \"process\", \"store\", \"bybankerid\"],\n outputCodec: BankerApplicationListOutput,\n});\n\nconst BrokerApplicationListInput = t.type(\n {\n searchText: t.string,\n page: NonNegativeInteger,\n size: PositiveInteger,\n },\n \"BrokerApplicationListInput\"\n);\n\nconst eqBrokerApplicationListInput = eq.getStructEq({\n searchText: eq.eqString,\n page: eq.eqNumber,\n size: eq.eqNumber,\n});\n\nconst BrokerApplicationListOutput = t.type(\n {\n content: t.array(ApplicationRecord),\n totalPages: NonNegativeInteger,\n totalElements: NonNegativeInteger,\n last: t.boolean,\n size: NonNegativeInteger,\n number: NonNegativeInteger,\n },\n \"BrokerApplicationListOutput\"\n);\n\nexport const getBrokerApplicationList = apiCall({\n inputCodec: BrokerApplicationListInput,\n inputEq: eqBrokerApplicationListInput,\n path: [\"utilities\", \"process\", \"store\", \"bybrokerid\"],\n outputCodec: BrokerApplicationListOutput,\n});\n\nconst GetClientApplicationsListOutput = t.array(ApplicationRecord);\nexport type GetClientApplicationsListOutput = t.TypeOf<\n typeof GetClientApplicationsListOutput\n>;\n\nexport const getClientApplicationsList = apiCall({\n inputCodec: t.void,\n inputEq: eq.fromEquals(constFalse),\n path: [\"utilities\", \"process\", \"store\", \"getApplicationsForClient\"],\n outputCodec: GetClientApplicationsListOutput,\n});\n","import { ContentRow, FeedbackBlock } from \"design-system\";\nimport { palette } from \"design-system/lib/styleConstants\";\nimport { option } from \"fp-ts\";\nimport { constVoid } from \"fp-ts/function\";\nimport { useFormatMessage } from \"../intl\";\nimport { useAppContext } from \"../useAppContext\";\nimport { MainLayout } from \"./MainLayout/MainLayout\";\n\nexport function PageNotFound() {\n const formatMessage = useFormatMessage();\n const { config } = useAppContext();\n return (\n \n \n (window.location.href = config.PWSURL),\n },\n ]}\n />\n \n \n );\n}\n","import { useAuthenticationContext } from \"design-system\";\nimport { useEffect } from \"react\";\nimport { OpenLoanApplicationForRemoteSigning } from \"./OpenLoanApplicationForRemoteSigning\";\n\nexport const OpenLoanApplicationForRemoteSigningWrapper = () => {\n const { transitionToPotentialClient } = useAuthenticationContext();\n\n useEffect(() => {\n transitionToPotentialClient();\n }, []);\n\n return ;\n};\n","import { usePolling } from \"../../useAPI\";\nimport * as api from \"../../StandardLoan/api\";\nimport { OpenLoanApplicationWrapperLatest } from \"./OpenLoanApplicationWrapperLatest\";\nimport StandardLoan from \"../../StandardLoan/StandardLoan\";\nimport { option } from \"fp-ts\";\nimport { constNull, constVoid, pipe } from \"fp-ts/function\";\nimport * as remoteData from \"../../RemoteData\";\nimport { BasicFullScreenLoader } from \"../BasicFullScreenLoader\";\nimport { foldClientStatus } from \"../../StandardLoan/FollowUpAndSignature/LowRiskClient/LowRiskClientState\";\nimport { CheckingContractsLoader } from \"../../StandardLoan/FollowUpAndSignature/LowRiskClient/CheckingContractsLoader\";\nimport { useAppContext } from \"../../useAppContext\";\n\nexport const OpenLoanApplicationForRemoteSigning = () => {\n const {\n config: { PWSURL },\n } = useAppContext();\n\n const navigatePWS = () => {\n window.location.href = PWSURL;\n };\n\n const [getClientStatusResult] = usePolling(api.getClientStatus, {\n shouldPollingContinue: ({ status }) => status === \"PENDING\",\n intervalMS: 3000,\n });\n\n const renderStandardLoan = (\n (\n \n )}\n />\n );\n\n return pipe(\n getClientStatusResult,\n remoteData.fold(\n () => ,\n constNull,\n response =>\n pipe(\n response,\n foldClientStatus(\n () => ,\n () => (\n \n ),\n () => renderStandardLoan\n )\n )\n )\n );\n};\n","import {\n Box,\n FieldHeader,\n InlineMessage,\n LocalizedString,\n NonNegativeInteger,\n Space,\n useUniqueID,\n} from \"design-system\";\nimport { ComponentProps } from \"react\";\nimport { MoneyAmount } from \"../../globalDomain\";\nimport { DisplayMoneyAmount } from \"../Price/DisplayMoneyAmount\";\n\ntype Props = {\n label: LocalizedString;\n value: MoneyAmount;\n inverted?: boolean;\n size: \"small\" | \"x-small\" | \"input\" | \"large\" | \"big\";\n fractionDigits?: NonNegativeInteger;\n description?: LocalizedString;\n feedback?: {\n type: ComponentProps[\"type\"];\n message: LocalizedString;\n };\n};\n\nexport function ReadOnlyMoneyAmountField(props: Props) {\n const labelId = useUniqueID();\n return (\n \n \n \n {props.feedback && (\n \n \n \n \n )}\n \n );\n}\n","import {\n Box,\n Space,\n Banner,\n useAuthenticationContext,\n LocalizedString,\n} from \"design-system\";\n\nimport { option } from \"fp-ts\";\nimport { constNull } from \"fp-ts/function\";\nimport { foldPortalStatus } from \"../../globalDomain\";\nimport { usePortalStatusContext } from \"../../PortalStatusContext\";\nimport { PortalStatusAlertDialog } from \"./PortalStatusAlertDialog\";\n\ntype Props = { inAuthenticatedPage: boolean };\n\nexport function PortalStatusAlert(props: Props) {\n const { logout } = useAuthenticationContext();\n\n const {\n portalStatus,\n isAlertModalVisible,\n setAlertModalVisible,\n } = usePortalStatusContext();\n\n return (\n <>\n {foldPortalStatus(portalStatus, {\n onInitial: constNull,\n onNone: constNull,\n onActive: (message: LocalizedString) => (\n \n \n \n {props.inAuthenticatedPage && isAlertModalVisible && (\n setAlertModalVisible(false)}\n onConfirm={logout}\n onDismiss={() => setAlertModalVisible(false)}\n />\n )}\n \n \n ),\n onScheduled: (message: LocalizedString) => (\n \n \n \n \n \n ),\n })}\n \n );\n}\n","import { useEffect, useState } from \"react\";\n\nexport function useDebounceState(value: V, delay: number) {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [value]);\n\n return debouncedValue;\n}\n","import {\n Box,\n buttonLink,\n Body,\n useIsTouchScreen,\n LocalizedString,\n} from \"design-system\";\nimport { useFormatMessage } from \"../../intl\";\nimport { useState } from \"react\";\nimport { FilePDFDialog } from \"../Dialogs/FilePDFDialog/FilePDFDialog\";\nimport { pipe } from \"fp-ts/function\";\nimport { taskEither } from \"fp-ts\";\nimport { useCommand } from \"../../useAPI\";\nimport * as documentAPI from \"../../Common/documentAPI\";\n\ntype Props = {\n label?: LocalizedString;\n disabledLink?: boolean;\n};\n\nexport function PersonalDataProcessingDisclaimer(props: Props) {\n const formatMessage = useFormatMessage();\n const isBranchExperienceTouchScreen = useIsTouchScreen();\n\n const [dataModalOpen, setDataModalOpen] = useState(false);\n\n const personalDataProcessingTemplates = useCommand(documentAPI.templates);\n const personalDataProcessingContent = useCommand(documentAPI.content);\n\n const disclaimerLabel = isBranchExperienceTouchScreen\n ? formatMessage(\n \"PersonalDataProcessingDisclaimer.byContinuingDisclaimer.externalScreeen\"\n )\n : formatMessage(\"PersonalDataProcessingDisclaimer.byContinuingDisclaimer\");\n\n return (\n \n \n {[\n props.label || disclaimerLabel,\n buttonLink(\n () => setDataModalOpen(true),\n formatMessage(\n \"PersonalDataProcessingDisclaimer.personalDataProcessing\"\n ),\n props.disabledLink\n ),\n ]}\n \n {dataModalOpen && (\n setDataModalOpen(false)}\n title={formatMessage(\n \"PersonalDataProcessingDisclaimer.personalDataProcessingTitle\"\n )}\n file={pipe(\n personalDataProcessingTemplates({\n docsets: [\"personalDataProcessing\"],\n }),\n taskEither.chain(items =>\n personalDataProcessingContent({ docId: items[0].docId })\n )\n )}\n />\n )}\n \n );\n}\n","import { LocalizedString } from \"design-system\";\nimport { array, eq, option, set, taskEither } from \"fp-ts\";\nimport { constVoid, pipe } from \"fp-ts/function\";\nimport { ReaderTaskEither } from \"fp-ts/ReaderTaskEither\";\nimport { TaskEither } from \"fp-ts//TaskEither\";\nimport { NonEmptyArray } from \"fp-ts/NonEmptyArray\";\nimport { Option } from \"fp-ts/Option\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { Dispatch } from \"react\";\nimport { useFormatMessage } from \"../../intl\";\nimport { PreContractualDocumentMeta } from \"../documentAPI\";\nimport {\n UIError,\n Action,\n unreadDocumentAction,\n readDocumentAction,\n changeMarketingConsentAction,\n changeDocumentsReceivedConfirmationAction,\n confirmMarketingConsentAction,\n changeForeignSigningConsentAction,\n} from \"./state\";\nimport { ExistingClientAuthenticationMethod } from \"../../globalDomain\";\nimport { SmartKeyMode } from \"../../SmartKey/SmartKeyState\";\n\nexport type DocumentReadStatus = \"Unread\" | \"Reading\" | \"Read\";\n\nexport function getFirstUnreadDocument(\n documents: NonEmptyArray,\n documentsRead: Set\n): Option {\n return pipe(\n documents,\n array.findFirst(d =>\n pipe(\n documentsRead,\n set.every(d2 => d2 !== d.docId)\n )\n )\n );\n}\n\nexport function getDocumentReadingStatus(\n documents: NonEmptyArray,\n documentsRead: Set\n) {\n return (docId: NonEmptyString): DocumentReadStatus => {\n const isRead = pipe(documentsRead, set.elem(eq.eqStrict)(docId));\n\n if (isRead) {\n return \"Read\";\n } else {\n if (\n pipe(\n getFirstUnreadDocument(documents, documentsRead),\n option.exists(d => d.docId === docId)\n )\n ) {\n return \"Reading\";\n }\n return \"Unread\";\n }\n };\n}\n\nexport const useFormatError = () => {\n const formatMessage = useFormatMessage();\n return (error: UIError): LocalizedString => {\n switch (error) {\n case \"DocumentsUnread\":\n return formatMessage(\"UKonto.ReadDocuments.unreadDocumentsError\");\n }\n };\n};\n\nexport const getPreContractualDocumentsActions = (\n dispatch: Dispatch,\n commands: {\n contractRead: ReaderTaskEither;\n contractUnread: ReaderTaskEither;\n marketingConsent: ReaderTaskEither;\n termsAndConditionsReceived: TaskEither;\n foreignSigningConsent?: ReaderTaskEither;\n }\n) => {\n return {\n handleContractRead: (docId: NonEmptyString) =>\n pipe(\n commands.contractRead(docId),\n taskEither.map(() => dispatch(readDocumentAction(docId)))\n ),\n handleContractUnread: (docId: NonEmptyString) =>\n pipe(\n commands.contractUnread(docId),\n taskEither.map(() => dispatch(unreadDocumentAction(docId)))\n ),\n handleMarketingConsentAcceptance: (accepted: boolean) =>\n pipe(\n commands.marketingConsent(accepted),\n taskEither.map(() => dispatch(changeMarketingConsentAction(accepted)))\n ),\n handlePreContractualReceived: (checked: boolean) =>\n pipe(\n commands.termsAndConditionsReceived,\n taskEither.map(() =>\n dispatch(changeDocumentsReceivedConfirmationAction(checked))\n )\n ),\n handleModalMarketingConsentAcceptance: (accepted: boolean) =>\n pipe(\n commands.marketingConsent(accepted),\n taskEither.map(() => dispatch(confirmMarketingConsentAction(accepted)))\n ),\n handleForeignSigningConsentAcceptance: (accepted: boolean) =>\n commands.foreignSigningConsent\n ? pipe(\n commands.foreignSigningConsent(accepted),\n taskEither.map(() =>\n dispatch(changeForeignSigningConsentAction(accepted))\n )\n )\n : constVoid,\n };\n};\n\nexport const mediationInsuranceDocset = \"uKontoInsuranceMediation\";\n\nexport function getSmartKeyInitialMode(\n authenticationMethod: Option\n): Option {\n return pipe(\n authenticationMethod,\n option.chain(value => {\n switch (value) {\n case \"QR\":\n return option.some(\"qr\");\n case \"PUSH_NOTIFICATION\":\n return option.some(\"push\");\n default:\n return option.none;\n }\n })\n );\n}\n","import { LocalizedString } from \"design-system\";\nimport * as t from \"io-ts\";\nimport { optionFromNullable } from \"io-ts-types/lib/optionFromNullable\";\nimport { sharedReducerConfig } from \"../../BranchExperience/useSharedReducer\";\n\nconst Initial = optionFromNullable(\n t.type(\n {\n type: t.keyof({\n informative: true,\n success: true,\n warning: true,\n error: true,\n }),\n message: LocalizedString,\n targetScreen: t.keyof({\n parent: true,\n child: true,\n both: true,\n }),\n },\n \"Initial\"\n )\n);\n\nconst State = Initial;\nexport type State = t.TypeOf;\n\nconst SetStateAction = t.type({\n type: t.literal(\"SetStateAction\"),\n state: State,\n});\nconst Action = SetStateAction;\nexport type Action = t.TypeOf;\n\nexport function setStateAction(state: State): Action {\n return {\n type: \"SetStateAction\",\n state,\n };\n}\n\nfunction reducer(_: State, action: Action): State {\n switch (action.type) {\n case \"SetStateAction\":\n return action.state;\n }\n}\n\nexport const reducerConfig = sharedReducerConfig(\n \"SnackbarProvider\",\n State,\n Action,\n reducer\n);\n","import { ComponentProps } from \"react\";\nimport { ReadOnlyField } from \"design-system\";\nimport { useFormatMoneyAmountValue } from \"../../intl\";\nimport { constant, pipe } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\nimport { MoneyField } from \"../Price/MoneyField/MoneyField\";\n\ntype Feedback = ComponentProps[\"feedback\"];\n\ntype Props = ComponentProps & {\n edit: boolean;\n feedback?: Feedback;\n};\n\nexport function OptionalEditMoneyField(props: Props) {\n const formatMoneyAmountValue = useFormatMoneyAmountValue();\n const { edit, ...fieldProps } = props;\n\n return edit ? (\n \n ) : (\n ({\n amount,\n currency: props.currency,\n }))\n )}\n feedback={props.feedback}\n />\n );\n}\n","import { apiCall } from \"../APICall\";\nimport * as t from \"io-ts\";\nimport { eq } from \"fp-ts\";\nimport { constFalse } from \"fp-ts/function\";\nimport { ClientDataOutput } from \"../IdUpload/api\";\n\nexport const digitalIdStart = apiCall({\n path: [\"clients\", \"digitalId\", \"start\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.type({\n applicantIndex: t.union([t.string, t.null, t.undefined]),\n }),\n outputCodec: t.union([t.void, t.null, t.undefined]),\n});\n\nconst DigitalIdStatus = t.type({\n status: t.union([\n t.literal(\"RETRY\"),\n t.literal(\"STOP\"),\n t.literal(\"CONTINUE\"),\n ]),\n stopReason: t.string,\n});\nexport const digitalIdStatus = apiCall({\n path: [\"clients\", \"digitalId\", \"status\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: DigitalIdStatus,\n});\n\nconst DigitalIdClientIdentified = t.type({\n photo: t.string,\n});\nexport type DigitalIdClientIdentified = t.TypeOf<\n typeof DigitalIdClientIdentified\n>;\nexport const digitalIdClientIdentified = apiCall({\n path: [\"clients\", \"digitalId\", \"client\", \"photo\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: DigitalIdClientIdentified,\n});\n\nconst DigitalIdQrCode = t.type({\n qrCode: t.string,\n});\nexport const digitalIdQrCode = apiCall({\n path: [\"clients\", \"digitalId\", \"qrCode\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: DigitalIdQrCode,\n});\n\nconst DigitalIdClientCheckExistingResponse = t.type({\n existingClient: t.boolean,\n duplicateContacts: t.boolean,\n hasBlockingNotes: t.boolean,\n multipleUsers: t.boolean,\n personalNumberMatch: t.boolean,\n clientNumber: t.union([t.string, t.null, t.undefined]),\n clientStatus: t.union([t.string, t.null, t.undefined]),\n userID: t.union([t.string, t.null, t.undefined]),\n});\nexport type ExistingClient = t.TypeOf<\n typeof DigitalIdClientCheckExistingResponse\n>;\nexport const digitalIdClientCheckExisting = apiCall({\n path: [\"clients\", \"digitalId\", \"client\", \"checkExisting\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: DigitalIdClientCheckExistingResponse,\n});\n\nexport const digitalIdExtractData = apiCall({\n path: [\"clients\", \"digitalId\", \"extractData\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: ClientDataOutput,\n});\n\nconst DigitalIdSavedDocuments = t.type({\n ready: t.boolean,\n documents: t.array(\n t.type({\n name: t.string,\n id: t.string,\n })\n ),\n});\n\nexport type SavedDocuments = t.TypeOf;\n\nexport const digitalIdSaveDocuments = apiCall({\n path: [\"clients\", \"digitalId\", \"identification\", \"documents\", \"save\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: t.union([t.void, t.null, t.undefined]),\n});\n\nconst FlowInfo = t.type({\n info: t.string,\n});\n\nexport const digitalIdFlowInfo = apiCall({\n path: [\"clients\", \"digitalId\", \"identification\", \"flowInfo\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: FlowInfo,\n});\n\nexport const digitalIdGetDocuments = apiCall({\n path: [\"clients\", \"digitalId\", \"identification\", \"documents\", \"get\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n outputCodec: DigitalIdSavedDocuments,\n});\n\nexport const digitalIdSetBirthNumber = apiCall({\n path: [\"clients\", \"digitalId\", \"client\", \"birthNumber\"],\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.type({ birthNumber: t.string }),\n outputCodec: t.union([t.void, t.null, t.undefined]),\n});\n","import { constant, pipe } from \"fp-ts/function\";\nimport {\n TextChildren,\n ReadOnlyField,\n InlineMessage,\n LocalizedString,\n} from \"design-system\";\n\nimport { option } from \"fp-ts\";\nimport { Option } from \"fp-ts/Option\";\nimport { useFormatDate } from \"../../intl\";\nimport { ComponentProps } from \"react\";\n\ntype Props = {\n id?: string;\n value: Option;\n label: TextChildren;\n format: \"mm-yyyy\" | \"dd-mm-yyyy\";\n feedback?: {\n type: ComponentProps[\"type\"];\n message: LocalizedString;\n };\n};\n\nexport function ReadOnlyDateField(props: Props) {\n const formatDate = useFormatDate(props.format);\n return (\n \n );\n}\n","import {\n Criteria,\n PasswordStrength,\n passwordCriteriaValidators,\n LocalizedString,\n} from \"design-system\";\nimport { useFormatMessage } from \"../intl\";\n\nexport const useCriteria = () => {\n const formatMessage = useFormatMessage();\n\n const lengthRange: (\n minLength: number,\n maxLength: number\n ) => Criteria = (minLength, maxLength) => ({\n label: formatMessage(\"Form.passwordCriteria.lengthRange\", {\n minLength,\n maxLength,\n }),\n validator: passwordCriteriaValidators.lengthRange(minLength, maxLength),\n });\n\n const minLength: (length: number) => Criteria = length => ({\n label: formatMessage(\"Form.passwordCriteria.minLength\", { length }),\n validator: passwordCriteriaValidators.minLength(length),\n });\n\n const hasDigit: Criteria = {\n label: formatMessage(\"Form.passwordCriteria.digit\"),\n validator: passwordCriteriaValidators.hasDigit,\n };\n\n const hasSpecialCharacter: Criteria = {\n label: formatMessage(\"Form.passwordCriteria.specialCharacter\"),\n validator: passwordCriteriaValidators.hasSpecialCharacter,\n };\n\n const hasLowerLetter: Criteria = {\n label: formatMessage(\"Form.passwordCriteria.lowercaseLetter\"),\n validator: passwordCriteriaValidators.hasLowerLetter,\n };\n\n const hasCapitalLetter: Criteria = {\n label: formatMessage(\"Form.passwordCriteria.capitalLetter\"),\n validator: passwordCriteriaValidators.hasCapitalLetter,\n };\n\n const noPartialConsecutiveDigits: Criteria = {\n label: formatMessage(\"Form.passwordCriteria.noConsecutiveDigits\"),\n validator: passwordCriteriaValidators.noPartialConsecutiveDigits,\n };\n\n const noDigitRepeatsMoreThanN: (\n maxRepetitions: number\n ) => Criteria = maxRepetitions => ({\n label: formatMessage(\"Form.passwordCriteria.noDigitRepeatsMoreThanN\", {\n times: maxRepetitions,\n }),\n validator: passwordCriteriaValidators.noDigitRepeatsMoreThanN(\n maxRepetitions\n ),\n });\n\n const noSpecialCharacters: Criteria = {\n label: formatMessage(\"Form.passwordCriteria.noSpecialCharacters\"),\n validator: passwordCriteriaValidators.noSpecialCharacters,\n };\n\n const noDigitFirstCharacter: Criteria = {\n label: formatMessage(\"Form.passwordCriteria.noDigitFirstCharacter\"),\n validator: passwordCriteriaValidators.noDigitFirstCharacter,\n };\n\n const clientPasswordCriteria = {\n lengthRange: lengthRange(6, 14),\n noDigitFirstCharacter,\n noSpecialCharacters,\n };\n\n const thirdPartyPasswordCriteria = {\n minLength: minLength(8),\n hasDigit,\n hasLowerLetter,\n hasCapitalLetter,\n hasSpecialCharacter,\n } as const;\n\n const securityPinCriteria = {\n lengthRange: lengthRange(6, 8),\n noPartialConsecutiveDigits,\n noDigitRepeatsMoreThanN: noDigitRepeatsMoreThanN(2),\n };\n\n const passwordStrengthLabel = (\n strength: Exclude\n ): LocalizedString => {\n switch (strength) {\n case \"good\":\n return formatMessage(\"Form.passwordField.goodPassword\");\n case \"strong\":\n return formatMessage(\"Form.passwordField.strongPassword\");\n }\n };\n\n const pinStrengthLabel = (\n strength: Exclude\n ): LocalizedString => {\n switch (strength) {\n case \"good\":\n return formatMessage(\"Form.passwordField.goodPin\");\n case \"strong\":\n return formatMessage(\"Form.passwordField.strongPin\");\n }\n };\n\n return {\n clientPasswordCriteria,\n thirdPartyPasswordCriteria,\n securityPinCriteria,\n passwordStrengthLabel,\n pinStrengthLabel,\n };\n};\n","import { set, option, eq, ord, nonEmptyArray } from \"fp-ts\";\nimport { pipe } from \"fp-ts/function\";\nimport { NonEmptyArray } from \"fp-ts/NonEmptyArray\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { nonEmptyArray as nonEmptyArrayC } from \"io-ts-types/lib/nonEmptyArray\";\nimport { DocumentMeta } from \"../documentAPI\";\nimport * as t from \"io-ts\";\nimport { setFromArray } from \"io-ts-types/lib/setFromArray\";\nimport {\n ExistingClientAuthenticationMethod,\n optionFromUndefined,\n} from \"../../globalDomain\";\nimport { sharedReducerConfig } from \"../../BranchExperience/useSharedReducer\";\nimport { option as optionCodec } from \"io-ts-types/lib/option\";\n\nconst UIError = t.literal(\"DocumentsUnread\");\nexport type UIError = t.TypeOf;\n\nconst ReadDocumentsState = t.type({\n type: t.literal(\"ReadDocuments\"),\n documentsRead: setFromArray(NonEmptyString, ord.ordString),\n documentsReceivedConfirmation: t.boolean,\n marketingConsent: t.boolean,\n foreignSigningConsent: t.boolean,\n isMarketingConsentModalOpen: t.boolean,\n error: optionFromUndefined(UIError),\n authenticationMethod: optionCodec(ExistingClientAuthenticationMethod),\n});\nconst SigningDocumentsState = t.type({\n type: t.literal(\"SigningDocuments\"),\n authenticationMethod: optionCodec(ExistingClientAuthenticationMethod),\n documentsRead: setFromArray(NonEmptyString, ord.ordString),\n documentsReceivedConfirmation: t.boolean,\n marketingConsent: t.boolean,\n foreignSigningConsent: t.boolean,\n});\nconst State = t.union([ReadDocumentsState, SigningDocumentsState]);\n\nexport type State = t.TypeOf;\n\nconst ReadDocumentAction = t.type({\n type: t.literal(\"ReadDocument\"),\n payload: NonEmptyString,\n});\nexport function readDocumentAction(documentId: NonEmptyString): Action {\n return {\n type: \"ReadDocument\",\n payload: documentId,\n };\n}\n\nconst UnreadDocumentAction = t.type({\n type: t.literal(\"UnreadDocument\"),\n payload: NonEmptyString,\n});\nexport function unreadDocumentAction(documentId: NonEmptyString): Action {\n return {\n type: \"UnreadDocument\",\n payload: documentId,\n };\n}\n\nconst ChangeDocumentsReceivedConfirmationAction = t.type({\n type: t.literal(\"ChangeDocumentsReceivedConfirmation\"),\n payload: t.boolean,\n});\nexport function changeDocumentsReceivedConfirmationAction(\n confirm: boolean\n): Action {\n return {\n type: \"ChangeDocumentsReceivedConfirmation\",\n payload: confirm,\n };\n}\n\nconst ChangeMarketingConsentAction = t.type({\n type: t.literal(\"ChangeMarketingConsent\"),\n payload: t.boolean,\n});\nexport function changeMarketingConsentAction(value: boolean): Action {\n return {\n type: \"ChangeMarketingConsent\",\n payload: value,\n };\n}\n\nconst ChangeForeignSigningConsentAction = t.type({\n type: t.literal(\"ChangeForeignSigningConsent\"),\n payload: t.boolean,\n});\nexport function changeForeignSigningConsentAction(value: boolean): Action {\n return {\n type: \"ChangeForeignSigningConsent\",\n payload: value,\n };\n}\n\nconst StartSignatureAction = t.type({\n type: t.literal(\"StartSignature\"),\n payload: t.type({\n allDocuments: nonEmptyArrayC(DocumentMeta),\n checkDocumentRead: t.boolean,\n checkMarketingConsent: t.boolean,\n isForeignClient: t.boolean,\n }),\n});\nexport function startSignatureAction(\n allDocuments: NonEmptyArray,\n checkDocumentRead: boolean,\n checkMarketingConsent: boolean,\n isForeignClient: boolean\n): Action {\n return {\n type: \"StartSignature\",\n payload: {\n allDocuments,\n checkDocumentRead,\n checkMarketingConsent,\n isForeignClient,\n },\n };\n}\n\nconst ConfirmMarketingConsentAction = t.type({\n type: t.literal(\"ConfirmMarketingConsentAction\"),\n payload: t.boolean,\n});\nexport function confirmMarketingConsentAction(confirmation: boolean): Action {\n return {\n type: \"ConfirmMarketingConsentAction\",\n payload: confirmation,\n };\n}\n\nconst DismissMarketingModalAction = t.type({\n type: t.literal(\"DismissMarketingModal\"),\n});\nexport function dismissMarketingModalAction(): Action {\n return {\n type: \"DismissMarketingModal\",\n };\n}\nconst CancelSignatureAction = t.type({\n type: t.literal(\"CancelSignature\"),\n});\n\nexport const Action = t.union([\n ReadDocumentAction,\n UnreadDocumentAction,\n ChangeDocumentsReceivedConfirmationAction,\n ChangeMarketingConsentAction,\n ChangeForeignSigningConsentAction,\n StartSignatureAction,\n ConfirmMarketingConsentAction,\n DismissMarketingModalAction,\n CancelSignatureAction,\n]);\nexport type Action = t.TypeOf;\n\nfunction checkHasReadAllContracts(\n allDocuments: NonEmptyArray,\n documentsRead: Set\n): boolean {\n const unreadDocuments = pipe(\n allDocuments,\n nonEmptyArray.map(document => document.docId),\n set.fromArray(eq.eqString),\n set.difference(eq.eqString)(documentsRead)\n );\n return unreadDocuments.size === 0;\n}\n\nfunction checkCanStartSignature(\n allDocuments: NonEmptyArray,\n documentsRead: Set,\n confirmDocumentsReceived: boolean,\n isForeignClient: boolean,\n foreignSigningConsent: boolean\n): boolean {\n return isForeignClient\n ? checkHasReadAllContracts(allDocuments, documentsRead) &&\n confirmDocumentsReceived &&\n foreignSigningConsent\n : checkHasReadAllContracts(allDocuments, documentsRead) &&\n confirmDocumentsReceived;\n}\n\nfunction reducer(state: State, action: Action): State {\n switch (action.type) {\n case \"ReadDocument\":\n if (state.type === \"ReadDocuments\") {\n return {\n ...state,\n documentsRead: pipe(\n state.documentsRead,\n set.insert(eq.eqString)(action.payload)\n ),\n error: option.none,\n };\n } else return state;\n case \"UnreadDocument\":\n if (state.type === \"ReadDocuments\") {\n return {\n ...state,\n documentsRead: pipe(\n state.documentsRead,\n set.remove(eq.eqString)(action.payload)\n ),\n error: option.none,\n };\n } else return state;\n case \"ChangeDocumentsReceivedConfirmation\":\n if (state.type === \"ReadDocuments\") {\n return {\n ...state,\n documentsReceivedConfirmation: action.payload,\n error: action.payload ? option.none : state.error,\n };\n } else return state;\n case \"ChangeMarketingConsent\":\n if (state.type === \"ReadDocuments\") {\n return {\n ...state,\n marketingConsent: action.payload,\n };\n } else return state;\n case \"ChangeForeignSigningConsent\":\n if (state.type === \"ReadDocuments\") {\n return {\n ...state,\n foreignSigningConsent: action.payload,\n };\n } else return state;\n case \"StartSignature\":\n if (state.type === \"ReadDocuments\") {\n if (\n !action.payload.checkDocumentRead ||\n checkCanStartSignature(\n action.payload.allDocuments,\n state.documentsRead,\n state.documentsReceivedConfirmation,\n action.payload.isForeignClient,\n state.foreignSigningConsent\n )\n ) {\n if (state.marketingConsent || !action.payload.checkMarketingConsent) {\n return {\n type: \"SigningDocuments\",\n marketingConsent: state.marketingConsent,\n authenticationMethod: state.authenticationMethod,\n documentsRead: state.documentsRead,\n documentsReceivedConfirmation:\n state.documentsReceivedConfirmation,\n foreignSigningConsent: state.foreignSigningConsent,\n };\n } else {\n return {\n ...state,\n isMarketingConsentModalOpen: true,\n };\n }\n } else {\n return {\n ...state,\n error: option.some(\"DocumentsUnread\"),\n };\n }\n } else return state;\n case \"ConfirmMarketingConsentAction\":\n if (state.type === \"ReadDocuments\") {\n return {\n type: \"SigningDocuments\",\n marketingConsent: action.payload,\n authenticationMethod: state.authenticationMethod,\n documentsRead: state.documentsRead,\n documentsReceivedConfirmation: state.documentsReceivedConfirmation,\n foreignSigningConsent: state.foreignSigningConsent,\n };\n } else return state;\n case \"DismissMarketingModal\":\n if (state.type === \"ReadDocuments\") {\n return {\n ...state,\n isMarketingConsentModalOpen: false,\n };\n } else {\n return state;\n }\n case \"CancelSignature\":\n if (state.type === \"SigningDocuments\") {\n return {\n ...state,\n type: \"ReadDocuments\",\n isMarketingConsentModalOpen: false,\n error: option.none,\n };\n } else {\n return state;\n }\n }\n}\n\nexport const reducerConfig = sharedReducerConfig(\n \"PreContractualDocuments\",\n State,\n Action,\n reducer\n);\n","import * as t from \"io-ts\";\n\nexport const SearchStatusType = t.keyof({\n PENDING: true,\n CLOSED: true,\n});\n\nexport type SearchStatusType = t.TypeOf;\n\nexport const SearchSourceType = t.keyof({\n ALL: true,\n YOU: true,\n});\n\nexport type SearchSourceType = t.TypeOf;\n","import * as t from \"io-ts\";\nimport { apiCall } from \"../../APICall\";\nimport { eq, option } from \"fp-ts\";\nimport { constFalse } from \"fp-ts/function\";\nimport { optionFromUndefined } from \"../../globalDomain\";\nimport { withFallback } from \"io-ts-types/lib/withFallback\";\n\nconst CurrentPortalStatus = t.union(\n [\n t.type({\n currentlyBlocked: t.literal(true),\n portalBlockScheduled: t.literal(false),\n timeFrom: withFallback(optionFromUndefined(t.number), option.none),\n timeTo: withFallback(optionFromUndefined(t.number), option.none),\n }),\n t.type({\n currentlyBlocked: t.literal(false),\n portalBlockScheduled: t.literal(true),\n timeFrom: withFallback(optionFromUndefined(t.number), option.none),\n timeTo: withFallback(optionFromUndefined(t.number), option.none),\n }),\n t.type({\n currentlyBlocked: t.literal(false),\n portalBlockScheduled: t.literal(false),\n }),\n ],\n \"CurrentPortalStatus\"\n);\nexport type CurrentPortalStatus = t.TypeOf;\n\nexport const currentPortalStatus = apiCall({\n inputEq: eq.fromEquals(constFalse),\n path: [\"utilities\", \"noauth\", \"cached\", \"currentPortalStatus\"],\n inputCodec: t.void,\n outputCodec: CurrentPortalStatus,\n});\n","import { ReadOnlyField } from \"design-system\";\nimport { constant, pipe } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\nimport {\n DropdownField,\n DropdownFieldProps,\n} from \"../DropdownField/DropdownField\";\nimport { ComponentProps } from \"react\";\n\ntype Feedback = ComponentProps[\"feedback\"];\n\ntype Props = DropdownFieldProps & {\n edit: boolean;\n feedback?: Feedback;\n};\n\nexport function OptionalEditDropdownField(props: Props) {\n const { edit, ...fieldProps } = props;\n\n if (edit) return ;\n\n const value = pipe(\n props.value,\n option.map(({ label }) => String(label)),\n option.getOrElse(constant(\"\"))\n );\n\n return (\n \n );\n}\n","import { LoadingButton } from \"design-system\";\nimport {\n Props,\n useShareWithClientButtonProps,\n} from \"./useShareWithClientButtonProps\";\n\nexport function ShareWithClientButton(props: Props) {\n const buttonProps = useShareWithClientButtonProps(props);\n return (\n \n );\n}\n","import { LoadingButton, LocalizedString } from \"design-system\";\n\nimport { task, taskEither } from \"fp-ts\";\nimport { constVoid, pipe } from \"fp-ts/function\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\nimport { ComponentProps, useEffect, useState } from \"react\";\nimport { formatDuration, useFormatMessage } from \"../../intl\";\nimport { useAppContext } from \"../../useAppContext\";\nimport { useBranchExperienceContext } from \"../../BranchExperience/BranchExperienceContext\";\n\nexport type BranchExperienceState = \"sharedWithClient\" | \"notShared\";\n\nexport type Props = {\n branchExperienceState: BranchExperienceState;\n action: TaskEither;\n submitLabel: LocalizedString;\n disabled?: boolean;\n shareWithClientLabel?: LocalizedString;\n};\n\ntype State =\n | { type: \"readyToShare\" }\n | { type: \"sharingWithCountdown\"; startTime: number }\n | { type: \"confirmedByClient\" };\n\nconst alwaysConfirmed: State = { type: \"confirmedByClient\" };\nconst backToReadyOrSharing: State = { type: \"readyToShare\" };\nconst countdownIntervalMs = 200;\n\nexport function useShareWithClientButtonProps(\n props: Props\n): Pick<\n ComponentProps,\n \"action\" | \"labels\" | \"loadingMessage\" | \"disabled\"\n> {\n const formatMessage = useFormatMessage();\n const { branchExperienceFeaturesActive } = useBranchExperienceContext();\n const {\n config: {\n shareWithClientButtonConfirmationDelayMs,\n shareWithClientButtonShareDelayMs,\n },\n } = useAppContext();\n\n const [_state, setState] = useState({ type: \"readyToShare\" });\n const state = branchExperienceFeaturesActive ? _state : alwaysConfirmed;\n useEffect(() => {\n if (props.branchExperienceState !== \"sharedWithClient\") {\n setState(backToReadyOrSharing);\n } else if (state.type === \"sharingWithCountdown\") {\n if (\n Date.now() - state.startTime >=\n shareWithClientButtonConfirmationDelayMs\n ) {\n setState({ type: \"confirmedByClient\" });\n } else {\n const timeout = setTimeout(() => {\n if (\n state.type === \"sharingWithCountdown\" &&\n props.branchExperienceState === \"sharedWithClient\"\n ) {\n setState({\n type: \"sharingWithCountdown\",\n startTime: state.startTime,\n });\n }\n }, countdownIntervalMs);\n return () => clearTimeout(timeout);\n }\n }\n return constVoid;\n }, [props.branchExperienceState, state]);\n\n const action = ((): TaskEither => {\n switch (state.type) {\n case \"readyToShare\":\n return pipe(\n props.action,\n taskEither.chain(() =>\n taskEither.rightTask(\n pipe(task.of(null), task.delay(shareWithClientButtonShareDelayMs))\n )\n ),\n taskEither.chain(() =>\n taskEither.fromIO(() =>\n setState({ type: \"sharingWithCountdown\", startTime: Date.now() })\n )\n )\n );\n case \"sharingWithCountdown\":\n return taskEither.rightIO(constVoid);\n case \"confirmedByClient\":\n return props.action;\n }\n })();\n\n const resultLabel = ((): LocalizedString => {\n switch (state.type) {\n case \"readyToShare\":\n case \"sharingWithCountdown\":\n return (\n props.shareWithClientLabel ||\n formatMessage(\"ShareWithClientButton.label\")\n );\n case \"confirmedByClient\":\n return props.submitLabel;\n }\n })();\n\n const label = ((): LocalizedString => {\n switch (state.type) {\n case \"readyToShare\":\n return (\n props.shareWithClientLabel ||\n formatMessage(\"ShareWithClientButton.label\")\n );\n case \"sharingWithCountdown\":\n case \"confirmedByClient\":\n return props.submitLabel;\n }\n })();\n\n return {\n labels: {\n normal: label,\n success: resultLabel,\n loading: label,\n error: resultLabel,\n },\n action,\n loadingMessage:\n state.type === \"sharingWithCountdown\"\n ? formatMessage(\"ShareWithClientButton.counterMessage\", {\n seconds: formatDuration(\n Math.round(\n (shareWithClientButtonConfirmationDelayMs -\n (Date.now() - state.startTime)) /\n 1000\n )\n ),\n })\n : undefined,\n disabled: state.type === \"sharingWithCountdown\" || props.disabled,\n };\n}\n","import { useAppContext } from \"../useAppContext\";\n\nexport function useTestEnvironment() {\n const {\n config: { environment },\n } = useAppContext();\n\n return (\n environment === \"sit\" ||\n environment === \"uat\" ||\n environment === \"hf\" ||\n environment === \"dev\"\n );\n}\n","import {\n useIsTouchScreen,\n SnackBarProvider as DSSnackbarProvider,\n SnackbarState,\n Children,\n LocalizedString,\n} from \"design-system\";\nimport { option } from \"fp-ts\";\nimport { pipe } from \"fp-ts/function\";\nimport { Option } from \"fp-ts/Option\";\nimport { ComponentProps, useState } from \"react\";\nimport {\n useChildSharedReducer,\n useParentSharedReducer,\n} from \"../../BranchExperience/useSharedReducer\";\nimport {\n reducerConfig,\n setStateAction,\n State,\n Action,\n} from \"./branchExperienceState\";\n\ntype Props = {\n children: Children;\n};\n\ntype LocalStateProps = {\n getState: (\n sharedState: State\n ) => ComponentProps[\"state\"];\n getSetState: (\n dispatch: (action: Action) => unknown\n ) => ComponentProps[\"setState\"];\n};\n\nfunction SnackbarProviderParent(props: Props & LocalStateProps) {\n const [sharedSnackbar, dispatch] = useParentSharedReducer(\n reducerConfig,\n option.none\n );\n return (\n \n );\n}\n\nfunction SnackbarProviderChild(props: Props & LocalStateProps) {\n const [_sharedSnackbar, dispatch] = useChildSharedReducer(reducerConfig);\n const sharedSnackbar = pipe(_sharedSnackbar, option.flatten);\n return (\n \n );\n}\n\nexport function SnackbarProvider(props: Props) {\n const isTouchScreen = useIsTouchScreen();\n const Component = isTouchScreen\n ? SnackbarProviderChild\n : SnackbarProviderParent;\n const [snackbar, setSnackbar] = useState>(option.none);\n const getState = (sharedSnackbar: State) =>\n pipe(\n snackbar,\n option.alt(() =>\n pipe(\n sharedSnackbar,\n option.filter(s => {\n switch (s.targetScreen) {\n case \"child\":\n return isTouchScreen;\n case \"parent\":\n return !isTouchScreen;\n case \"both\":\n return true;\n }\n }),\n option.map(\n (s): SnackbarState => ({\n type: s.type,\n message: s.message,\n action: option.none,\n })\n )\n )\n )\n );\n const getSetState = (dispatch: (action: Action) => unknown) => (\n newSnackbar: Option\n ) => {\n setSnackbar(\n pipe(\n newSnackbar,\n option.filter(\n s => s.targetScreen === \"self\" || s.targetScreen === \"both\"\n )\n )\n );\n dispatch(\n setStateAction(\n pipe(\n newSnackbar,\n option.chain(s =>\n LocalizedString.is(s.message)\n ? option.some({\n type: s.type,\n message: s.message,\n targetScreen: (() => {\n switch (s.targetScreen || \"self\") {\n case \"self\":\n return isTouchScreen ? \"child\" : \"parent\";\n case \"other\":\n return isTouchScreen ? \"parent\" : \"child\";\n case \"both\":\n return \"both\";\n }\n })(),\n })\n : option.none\n )\n )\n )\n );\n };\n return ;\n}\n","import { Body, Dialog, ErrorIcon } from \"design-system\";\nimport { useFormatMessage } from \"../../intl\";\nimport { option } from \"fp-ts\";\n\nexport function TabLock() {\n const formatMessage = useFormatMessage();\n\n return (\n <>\n \n \n {formatMessage(\"TabLock.anotherOpenTab.label\")}\n \n \n \n );\n}\n","import { TaskEither } from \"fp-ts/TaskEither\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport * as t from \"io-ts\";\nimport { pipe } from \"fp-ts/function\";\nimport { array, taskEither } from \"fp-ts\";\nimport { failure } from \"io-ts/lib/PathReporter\";\nimport { PositiveInteger } from \"design-system\";\nimport { Option } from \"fp-ts/Option\";\nimport { fromNullable } from \"io-ts-types/lib/fromNullable\";\nimport { SupportedLocales } from \"./globalDomain\";\n\nexport type BuildConfig = {\n apiEndpoint: Option;\n apiPort: Option;\n};\n\nconst RemoteConfig = t.type(\n {\n UKontoPWSPageURL: NonEmptyString,\n UKontoPWSPageHeight: t.number,\n scannerAppUrl: NonEmptyString,\n settingsPageURL: NonEmptyString,\n tinByCountryURL: NonEmptyString,\n CRSCountryURL: NonEmptyString,\n FATCAURL: NonEmptyString,\n mockScanner: t.boolean,\n onlineBankingInfoURL: NonEmptyString,\n externalCommunication: t.boolean,\n enhancedMF20: t.boolean,\n environment: t.keyof({\n dev: true,\n sit: true,\n uat: true,\n prod: true,\n hf: true,\n ci: true,\n }),\n allowOverdraftSelection: t.boolean,\n biometricConsent: t.boolean,\n ezyPageURL: NonEmptyString,\n PWSURL: NonEmptyString,\n unicreditBranchesMapURL: NonEmptyString,\n PWSExistingClientURL: NonEmptyString,\n cookiesConsentInfoUrl: NonEmptyString,\n contactDetailsDuplicityCheck: fromNullable(t.boolean, true),\n OPUCEXAssignmentEnabled: fromNullable(t.boolean, true),\n multiplePackages: fromNullable(t.boolean, true),\n personalProfileDocumentUpload: fromNullable(t.boolean, true),\n personalProfileMarketingConsent: fromNullable(t.boolean, true),\n branchExperience: fromNullable(t.boolean, true),\n promotionsEnabled: fromNullable(t.boolean, false),\n shareWithClientButtonConfirmationDelayMs: fromNullable(t.number, 5000),\n shareWithClientButtonShareDelayMs: fromNullable(t.number, 2000),\n virtualKeyboardEnabled: fromNullable(t.boolean, true),\n editAddresses: fromNullable(t.boolean, true),\n documentBlurAcceptableScore: fromNullable(t.number, 60),\n specularAcceptableScore: fromNullable(t.number, 60),\n timeToBlurMaxTolerance: fromNullable(t.number, 9999),\n LogoutRedirectUrl: NonEmptyString,\n \"MTG.reworkOfApplicationWorkaround\": fromNullable(t.boolean, true),\n ukontoRemoteFlowEnabled: fromNullable(t.boolean, true),\n ukontoExistingClientsForceSMSOtpSignature: fromNullable(t.boolean, false),\n disableNewPackageExistingClientFromPersonalProfile: fromNullable(\n t.boolean,\n false\n ),\n windowMessageEventsLogs: fromNullable(t.boolean, false),\n forceNativePDFViewer: fromNullable(t.boolean, false),\n adaptiveEnabled: fromNullable(t.boolean, false),\n r5Enabled: fromNullable(t.boolean, false),\n \"r5.2Enabled\": fromNullable(t.boolean, false),\n r6Enabled: fromNullable(t.boolean, false),\n savingsAccountEnabled: fromNullable(t.boolean, false),\n localBirthNumberEnabled: fromNullable(t.boolean, false),\n greenMTGEnabled: fromNullable(t.boolean, false),\n enableMtgImprovementsUi: fromNullable(t.boolean, false),\n mobileUploadIdFeedBackInterval: fromNullable(t.number, 20),\n useNewMobileIdUploadUx: fromNullable(t.boolean, true),\n enableCashLoanId3PInBranch: fromNullable(t.boolean, false),\n r8EnableDeleteReqDoc: fromNullable(t.boolean, false),\n r8Enabled: fromNullable(t.boolean, false),\n enableUkontoRestore: fromNullable(t.boolean, false),\n r8EnableReuseReservedAccount: fromNullable(t.boolean, false),\n r8EnableSimpleRefinancing: fromNullable(t.boolean, false),\n r8EnableDiscountsOnOffer: fromNullable(t.boolean, false),\n r8EnableForeignCountriesSupport: fromNullable(t.boolean, false),\n r1EnableForeignNonResidentSupport: fromNullable(t.boolean, false),\n enableVirtualCardsImpl: fromNullable(t.boolean, false),\n enableVirtualCardsLoanImpl: fromNullable(t.boolean, false),\n physicalCardDefaultCheck: fromNullable(t.boolean, false),\n virtualCardTopImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n virtualCardMcTopImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n virtualCardMcMiddleImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n virtualCardOpenImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n virtualCardMcOpenImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n physicalCardTopImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n physicalCardMcTopImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n /* physicalCardMiddleImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),*/\n physicalCardMcMiddleImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n physicalCardOpenImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n physicalCardMcOpenImgURL: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n packageSelectionOpenMastercardImgUrl: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n packageSelectionMiddleMastercardImgUrl: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n packageSelectionTopMastercardImgUrl: fromNullable(\n NonEmptyString,\n \"dummy-url\" as NonEmptyString\n ),\n enableBankFee50FE: fromNullable(t.boolean, false),\n recaptchaEnabled: fromNullable(t.boolean, false),\n recaptchaPublicKey: fromNullable(t.string, \"\"),\n r6NewSironMapping: fromNullable(t.boolean, false),\n enableMastercardImpl: fromNullable(t.boolean, false),\n enablePreapprovedOverdraftOB: fromNullable(t.boolean, false),\n enablePreapprovedOverdraftSB: fromNullable(t.boolean, false),\n enablePreapprovedOverdraftTLS: fromNullable(t.boolean, false),\n enablePAOverdraftEmailLinkRestore: fromNullable(t.boolean, false),\n enableForcedRecaptcha: fromNullable(t.boolean, false),\n enableDigitalId: fromNullable(t.boolean, false),\n enableDocumentSigning: fromNullable(t.boolean, false),\n enableInvestmentsEntryPoint: fromNullable(t.boolean, false),\n enableThirdPartyBranchSelection: fromNullable(t.boolean, false),\n enableCfRepaidLoans: fromNullable(t.boolean, false),\n },\n \"RemoteConfig\"\n);\n\nexport type RemoteConfig = t.TypeOf;\n\nexport function importConfigurations(\n apiEndpoint: NonEmptyString,\n locale: SupportedLocales,\n override: Partial = {}\n): TaskEither {\n const fetchConfigurations = () =>\n fetch(\n `${apiEndpoint.replace(\n /\\/+$/,\n \"\"\n )}/utilities/configurations/noauth?component=eShopFE`,\n {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Accept-Language\": locale,\n },\n }\n ).then(body => body.json());\n\n return pipe(\n taskEither.tryCatch(fetchConfigurations, () => [] as t.Errors),\n taskEither.chainEitherKW(RemoteConfig.decode),\n taskEither.bimap(\n e => {\n if (array.isNonEmpty(e)) {\n console.error(\"Decoding error: \", failure(e).join(\"\\n\"));\n }\n },\n config => ({ ...config, ...override })\n )\n );\n}\n","import { Helmet } from \"react-helmet\";\nimport { useFormatMessage } from \"./intl\";\nimport { useAppContext } from \"./useAppContext\";\nimport { foldTenant } from \"./globalDomain\";\n\nexport function DocumentTitle() {\n const formatMessage = useFormatMessage();\n const {\n config: { environment },\n apiParameters: { tenant },\n } = useAppContext();\n\n const title = foldTenant(\n tenant,\n () => formatMessage(\"DocumentTitle.SK\"),\n () => formatMessage(\"DocumentTitle.CZ\")\n );\n\n const envTitle = ((): string => {\n switch (environment) {\n case \"dev\":\n case \"sit\":\n case \"uat\":\n case \"hf\":\n case \"ci\":\n return `${environment.toUpperCase()} | ${title}`;\n case \"prod\":\n return title;\n }\n })();\n\n return (\n \n {envTitle}\n \n );\n}\n","import { Dialog, TextChildren, ProblemIcon, Action } from \"design-system\";\nimport { option } from \"fp-ts\";\nimport { IO } from \"fp-ts/IO\";\nimport { useFormatMessage } from \"../../intl\";\nimport { useIsRemoteChannel } from \"../../useChannel\";\n\ntype Props = {\n message: TextChildren;\n onCancel: IO;\n onDismiss: IO;\n onConfirm: IO;\n};\n\nexport function PortalStatusAlertDialog(props: Props) {\n const isRemote = useIsRemoteChannel();\n const formatMessage = useFormatMessage();\n\n const stayLoggedAction: Action = {\n label: formatMessage(\"PortalStatus.modal.blocked.cancel\"),\n action: props.onCancel,\n variant: \"secondary\",\n dark: true,\n };\n\n const logoutAction: Action = {\n label: formatMessage(\"PortalStatus.modal.blocked.confirm\"),\n action: props.onConfirm,\n variant: \"danger\",\n };\n\n const actions: [Action] | [Action, Action] = !isRemote\n ? [stayLoggedAction, logoutAction]\n : [stayLoggedAction];\n\n return (\n \n );\n}\n","import { MoneyAmount } from \"../../globalDomain\";\nimport * as classes from \"./DisplayMoneyAmount.treat\";\nimport { useFormatMoneyAmount } from \"../../intl\";\nimport { Space, NonNegativeInteger, Box } from \"design-system\";\nimport cx from \"classnames\";\n\ntype Props = {\n id?: string;\n inverted?: boolean;\n amount: MoneyAmount;\n size: \"input\" | \"small\" | \"x-small\" | \"large\" | \"big\";\n fractionDigits?: NonNegativeInteger;\n vAlignContent?: \"top\" | \"center\" | \"bottom\";\n className?: string;\n};\n\nexport function DisplayMoneyAmount(props: Props) {\n const formatMoneyAmount = useFormatMoneyAmount(props.fractionDigits);\n return formatMoneyAmount(props.amount, ({ amount, currency }) => (\n \n {amount}\n \n \n {currency}\n \n \n ));\n}\n","import { ComponentProps } from \"react\";\nimport { Box, ReadOnlyField, TextField } from \"design-system\";\nimport * as classes from \"./OptionalEditTextField.treat\";\n\ntype Feedback = ComponentProps[\"feedback\"];\n\ntype Props = ComponentProps & {\n edit: boolean;\n feedback?: Feedback;\n};\n\nexport function OptionalEditTextField(props: Props) {\n const { edit, ...fieldProps } = props;\n\n if (edit) return ;\n\n if (props.value.length === 0) return null;\n\n return (\n \n \n \n );\n}\n","import {\n Body,\n Box,\n Checkbox,\n Dialog,\n LoadingButton,\n Space,\n WarningIcon,\n} from \"design-system\";\nimport { boolean, option, taskEither } from \"fp-ts\";\nimport { useFormatMessage, useFormatRichMessage2 } from \"../intl\";\nimport { ComponentProps, useEffect, useState } from \"react\";\nimport { FranchiseBranchGdprData } from \"./api\";\nimport { pipe } from \"fp-ts/function\";\nimport { useCommand } from \"../useAPI\";\nimport * as gdprApi from \"./api\";\nimport { palette, spaceUnit } from \"design-system/lib/styleConstants\";\nimport { useAppContext } from \"../useAppContext\";\n\ntype Props = {\n onDismiss: () => void;\n onContinue: () => void;\n paperBased?: boolean;\n onShareWithClient?: (gdprData: FranchiseBranchGdprData) => void;\n accepted?: boolean;\n};\n\nexport const GDPR = ({\n paperBased = false,\n onShareWithClient,\n accepted,\n ...props\n}: Props) => {\n const getGdprData = useCommand(gdprApi.getFranchiseBranchGdprData);\n const setGdprConsent = useCommand(gdprApi.setFranchiseBranchGdprConsent);\n const formatMessage = useFormatMessage();\n const formatRichMessage = useFormatRichMessage2();\n const {\n apiParameters: { channel },\n } = useAppContext();\n const isInPersonChannel = channel.endsWith(\"InPerson\");\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [gdprData, setGdprData] = useState();\n\n useEffect(() => {\n pipe(\n getGdprData(),\n taskEither.chain(gdprData =>\n pipe(\n gdprData.franchiseBranchGdprRequired,\n boolean.fold(\n () =>\n taskEither.fromIO(() => {\n props.onContinue();\n }),\n () =>\n taskEither.fromIO(() => {\n setGdprData(gdprData);\n onShareWithClient && onShareWithClient(gdprData);\n })\n )\n )\n )\n )();\n }, []);\n\n useEffect(() => {\n if (accepted) {\n onContinue();\n }\n }, [accepted]);\n\n const onContinue = pipe(\n taskEither.fromIO(() => setIsSubmitting(true)),\n taskEither.chain(() => setGdprConsent({ accepted: true, paperBased })),\n taskEither.chain(() => taskEither.fromIO(props.onContinue))\n );\n\n const onReject = pipe(\n taskEither.fromIO(() => setIsSubmitting(true)),\n taskEither.chain(() => setGdprConsent({ accepted: false, paperBased })),\n taskEither.chain(() => taskEither.fromIO(props.onContinue))\n );\n\n const [iAgree, setIAgree] = useState(false);\n const actions: Pick<\n ComponentProps,\n \"variant\" | \"action\" | \"labels\" | \"loadingMessage\" | \"disabled\"\n >[] = onShareWithClient\n ? []\n : isInPersonChannel\n ? [\n {\n variant: \"primary\",\n disabled: !iAgree,\n labels: {\n normal: formatMessage(\"Continue\"),\n success: formatMessage(\"Continue\"),\n loading: formatMessage(\"Loading\"),\n error: formatMessage(\"Error\"),\n },\n action: onContinue,\n },\n ]\n : [\n {\n variant: \"secondary\",\n labels: {\n normal: formatMessage(\"GDPR.remote.action.reject\"),\n success: formatMessage(\"GDPR.remote.action.reject\"),\n loading: formatMessage(\"Loading\"),\n error: formatMessage(\"Error\"),\n },\n action: onReject,\n },\n {\n variant: \"primary\",\n labels: {\n normal: formatMessage(\"GDPR.remote.action.accept\", {\n name: gdprData?.franchiseBranchName,\n city: gdprData?.franchiseBranchCity,\n }),\n success: formatMessage(\"GDPR.remote.action.accept\", {\n name: gdprData?.franchiseBranchName,\n city: gdprData?.franchiseBranchCity,\n }),\n loading: formatMessage(\"Loading\"),\n error: formatMessage(\"Error\"),\n },\n action: onContinue,\n },\n ];\n\n return (\n <>\n {gdprData?.franchiseBranchGdprRequired && (\n \n \n \n \n \n \n \n \n \n {formatMessage(\"GDPR.title\")}\n \n \n \n
\n {formatRichMessage(\n isInPersonChannel\n ? paperBased\n ? \"GDPR.paperBased.subtitle\"\n : \"GDPR.subtitle\"\n : \"GDPR.remote.subtitle\",\n {\n city: gdprData.franchiseBranchCity,\n },\n { useWhitespacePreWrap: true }\n )}\n
\n \n {isInPersonChannel && !onShareWithClient && (\n <>\n \n setIAgree(prev => !prev)}\n value={iAgree}\n issuesType={option.none}\n />\n \n )}\n \n \n {actions.map(action => (\n <>\n \n \n \n ))}\n \n \n
\n \n )}\n \n );\n};\n","import * as t from \"io-ts\";\nimport { eq } from \"fp-ts\";\nimport { apiCall } from \"../APICall\";\nimport { constFalse } from \"fp-ts/function\";\n\nexport const getFranchiseBranchGdprDataOutput = t.type({\n franchiseBranchGdprRequired: t.boolean,\n franchiseBranchName: t.union([t.null, t.undefined, t.string]),\n franchiseBranchCity: t.union([t.null, t.undefined, t.string]),\n});\n\nexport type FranchiseBranchGdprData = t.TypeOf<\n typeof getFranchiseBranchGdprDataOutput\n>;\n\nexport const getFranchiseBranchGdprData = apiCall({\n path: [\"clients\", \"franchiseBranchGdpr\", \"data\"],\n inputCodec: t.void,\n inputEq: eq.fromEquals(constFalse),\n outputCodec: getFranchiseBranchGdprDataOutput,\n});\n\nconst setFranchiseBranchGdprConsentInput = t.type({\n accepted: t.boolean,\n paperBased: t.boolean,\n});\n\nexport const setFranchiseBranchGdprConsent = apiCall({\n path: [\"clients\", \"franchiseBranchGdpr\", \"consent\"],\n inputCodec: setFranchiseBranchGdprConsentInput,\n inputEq: eq.fromEquals(constFalse),\n outputCodec: t.unknown,\n});\n","import {\n validators,\n NonNegativeBrand,\n LocalizedString,\n PositiveInteger,\n} from \"design-system\";\nimport { Branded } from \"io-ts\";\nimport { useIntl } from \"react-intl\";\nimport { LocaleKey, useFormatMessage } from \"../intl\";\nimport { useCompanyNameAndIcoValidators } from \"./CompanyField/utils\";\nimport { constant } from \"fp-ts/function\";\n\nexport const useValidators = () => {\n const formatMessage = useFormatMessage();\n const { formatNumber } = useIntl();\n const { validIco, validName } = useCompanyNameAndIcoValidators();\n\n const defined = (errorMessage?: LocalizedString) =>\n validators.defined(\n errorMessage || formatMessage(\"Form.fieldError.required\")\n );\n\n const definedNoExtract = (errorMessage?: LocalizedString) =>\n validators.definedNoExtract(\n errorMessage || formatMessage(\"Form.fieldError.required\")\n );\n\n const maxLength = (max: number) =>\n validators.maxLength(\n max,\n formatMessage(\"Form.fieldError.maxLength\", {\n max,\n })\n );\n\n const minLength = (min: number, errorMessage: LocaleKey) =>\n validators.minLength(min, formatMessage(errorMessage));\n\n const alphaNumeric = validators.alphaNumeric(\n formatMessage(\"Form.fieldError.alphaNumeric\")\n );\n\n const validEmail = validators.validEmail(\n formatMessage(\"Form.fieldError.emailFormat\")\n );\n\n const validPhone = validators.validPhone({\n lengthError: formatMessage(\n \"Identification.otp.phoneNumber.validation.errorLength\"\n ),\n formatError: formatMessage(\"Form.fieldError.phoneNumberFormat\"),\n });\n\n const validDate = validators.validDate(\n formatMessage(\"Form.fieldError.invalidDateFormat\")\n );\n\n const validBirthDate = validators.validBirthDate(\n formatMessage(\"Form.fieldError.invalidDateFormat\"),\n formatMessage(\"Identification.personalData.birthDateMinError\")\n );\n\n const minimalDate = (minimalValidDate: Date) =>\n validators.minDate(\n minimalValidDate,\n formatMessage(\"Form.fieldError.dateTooOld\")\n );\n\n const maximalDate = (maximalValidDate: Date) =>\n validators.maxDate(\n maximalValidDate,\n formatMessage(\"Form.fieldError.invalidDateInFuture\")\n );\n\n const validBirthNumber = validators.validBirthNumber(\n formatMessage(\"Identification.personalData.birthNumberFormatError\")\n );\n\n const validNumber = validators.validNumber(\n formatMessage(\"Form.fieldError.validNumber\")\n );\n\n const nonNegativeNumber = validators.inSequence(\n validNumber,\n validators.nonNegativeNumber(formatMessage(\"Form.fieldError.nonNegative\"))\n );\n\n const nonNegativeInteger = validators.inSequence(\n validNumber,\n validators.nonNegativeInteger(\n formatMessage(\"Form.fieldError.nonNegativeInteger\")\n )\n );\n\n const positiveInteger = validators.inSequence(\n validNumber,\n validators.positiveInteger(formatMessage(\"Form.fieldError.positiveInteger\"))\n );\n\n const validInteger = validators.inSequence(\n validNumber,\n validators.fromPredicate(\n n => Number.isInteger(n),\n formatMessage(\"Form.fieldError.validInteger\")\n )\n );\n\n const positiveNumber = validators.inSequence(\n validNumber,\n validators.positiveNumber(formatMessage(\"Form.fieldError.positive\"))\n );\n\n const percentageNumber = validators.inSequence(\n validNumber,\n validators.percentageNumber(\n formatMessage(\"Form.fieldError.invalidPercentage\")\n )\n );\n\n const nonBlankString = validators.nonBlankString(\n formatMessage(\"Form.fieldError.required\")\n );\n\n const nonEmptyString = validators.nonEmptyString(\n formatMessage(\"Form.fieldError.required\")\n );\n\n const digitsOnly = validators.digitsOnly(\n formatMessage(\"Form.fieldError.digitsOnly\")\n );\n\n const validStreetNumber = validators.validStreetNumber(\n formatMessage(\"Form.fieldError.invalidStreetNumber\")\n );\n\n const disableSpecialCharacters = validators.disableSpecialCharacters(\n formatMessage(\"Form.fieldError.disableSpecialCharacters\")\n );\n\n const latinCharactersOnly = validators.latinCharactersOnly(\n formatMessage(\"Form.fieldError.latinCharactersOnly\")\n );\n\n const validDay = validators.validDay(formatMessage(\"Form.fieldError.day\"));\n\n const validPassword = validators.validPassword(\n formatMessage(\"Form.fieldError.required\"),\n formatMessage(\"Form.passwordField.conditionsNotFulfilled\")\n );\n\n const passwordMatches = validators.passwordMatches(\n formatMessage(\"Form.fieldError.required\"),\n formatMessage(\"Form.passwordField.passwordsDoNotMatch\")\n );\n\n const validPin = validators.validPin(\n formatMessage(\"Form.fieldError.required\"),\n formatMessage(\"Form.fieldError.digitsOnly\"),\n formatMessage(\"Form.passwordField.weakPin\")\n );\n\n const pinMatches = validators.passwordMatches(\n formatMessage(\"Form.fieldError.required\"),\n formatMessage(\"Form.passwordField.pinsDoNotMatch\")\n );\n\n const modulo11Compliant = validators.modulo11Compliant(\n formatMessage(\"Form.fieldError.invalidAccountNumber\")\n );\n\n const validCompanyIco = (\n allowUnknown: boolean,\n companyIcoIsValid?: boolean\n ) => {\n const commonValidator = validators.inSequence(\n maxLength(15),\n minLength(2, \"Form.fieldError.invalidCompanyICO\"),\n digitsOnly,\n nonBlankString\n );\n\n return allowUnknown\n ? commonValidator\n : validators.inSequence(\n commonValidator,\n companyIcoIsValid !== undefined\n ? validators.fromPredicate(\n constant(companyIcoIsValid),\n formatMessage(\"Form.fieldError.invalidCompanyICO\")\n )\n : validIco(formatMessage(\"Form.fieldError.invalidCompanyICO\"))\n );\n };\n\n const validAddressField = (maxLengthNr: number) => {\n const commonValidator = validators.inSequence(\n maxLength(maxLengthNr),\n nonBlankString\n );\n\n return commonValidator;\n };\n\n const validCompanyIcoRequired = (\n allowUnknown: boolean,\n companyIcoIsValid?: boolean\n ) =>\n validators.inSequence(\n nonEmptyString,\n validCompanyIco(allowUnknown, companyIcoIsValid)\n );\n\n const validCompanyName = (companyNameValid?: boolean) => {\n const commonValidator = validators.inSequence(\n maxLength(200),\n minLength(2, \"Form.fieldError.invalidCompanyName\"),\n nonEmptyString\n );\n\n return validators.inSequence(\n commonValidator,\n companyNameValid !== undefined\n ? validators.fromPredicate(\n constant(companyNameValid),\n formatMessage(\"Form.fieldError.invalidCompanyName\")\n )\n : validName(formatMessage(\"Form.fieldError.invalidCompanyName\"))\n );\n };\n\n const validCompanyNameRequired = (companyNameValid?: boolean) =>\n validators.inSequence(nonEmptyString, validCompanyName(companyNameValid));\n\n const minMax = (min: number, max: number) =>\n validators.fromPredicate(\n n => n >= min && n <= max,\n formatMessage(\"Form.fieldError.minMaxAmount\", {\n min: formatNumber(min),\n max: formatNumber(max),\n })\n );\n\n const amountMinMax = (min: number, max: number) =>\n validators.inSequence(\n validNumber,\n nonNegativeNumber,\n minMax>(min, max)\n );\n\n const amountMinMaxWithNegative = (min: number, max: number) =>\n validators.inSequence(validNumber, minMax(min, max));\n\n const validOTP = (otpLength: L) =>\n validators.validOTP(\n otpLength,\n formatMessage(\"Form.fieldError.validOTP\", {\n otpLength,\n })\n );\n\n const isChanged = (initialValue: T) =>\n validators.isChanged(\n initialValue,\n formatMessage(\"Form.fieldError.isChanged\")\n );\n\n const checked = (errorMessage?: LocalizedString) =>\n validators.checked(\n errorMessage || formatMessage(\"Form.fieldError.checked\")\n );\n\n const minAmountValidator = (min: number, errorMessage: LocalizedString) =>\n validators.inSequence(\n validNumber,\n validators.fromPredicate(n => n >= min, errorMessage)\n );\n\n return {\n nonBlankString,\n defined,\n definedNoExtract,\n maxLength,\n alphaNumeric,\n validEmail,\n validPhone,\n validDate,\n validBirthDate,\n nonNegativeNumber,\n validNumber,\n nonNegativeInteger,\n positiveInteger,\n validInteger,\n positiveNumber,\n percentageNumber,\n digitsOnly,\n minAmountValidator,\n validStreetNumber,\n nonEmptyString,\n disableSpecialCharacters,\n latinCharactersOnly,\n validDay,\n validPassword,\n validPin,\n passwordMatches,\n pinMatches,\n modulo11Compliant,\n validCompanyIco,\n validAddressField,\n validCompanyName,\n amountMinMax,\n amountMinMaxWithNegative,\n validCompanyIcoRequired,\n validCompanyNameRequired,\n validOTP,\n isChanged,\n checked,\n validBirthNumber,\n minimalDate,\n maximalDate,\n };\n};\n","import { Box, buttonLink, Body } from \"design-system\";\nimport { useFormatMessage } from \"../../intl\";\nimport { useState } from \"react\";\nimport { FilePDFDialog } from \"../Dialogs/FilePDFDialog/FilePDFDialog\";\nimport { pipe } from \"fp-ts/function\";\nimport { taskEither } from \"fp-ts\";\nimport { useCommand } from \"../../useAPI\";\nimport * as documentAPI from \"../../Common/documentAPI\";\nimport { palette } from \"design-system/lib/styleConstants\";\n\ntype Props = {\n align: \"center\" | \"left\";\n};\n\nexport function PrivacyPolicyDisclaimer(props: Props) {\n const formatMessage = useFormatMessage();\n\n const [dataModalOpen, setDataModalOpen] = useState(false);\n\n const privacyPolicyTemplates = useCommand(documentAPI.templates);\n const privacyPolicyContent = useCommand(documentAPI.content);\n const privacyPolicyDownload = useCommand(documentAPI.downloadDocument);\n\n return (\n \n \n {[\n formatMessage(\"PrivacyPolicyDisclaimer.byContinuingDisclaimer\"),\n buttonLink(\n () => setDataModalOpen(true),\n formatMessage(\"PrivacyPolicyDisclaimer.privacyPolicy\")\n ),\n ]}\n \n {dataModalOpen && (\n setDataModalOpen(false)}\n title={formatMessage(\"PrivacyPolicyDisclaimer.privacyPolicyTitle\")}\n file={pipe(\n privacyPolicyTemplates({\n docsets: [\"privacyPolicy\"],\n }),\n taskEither.chain(items =>\n privacyPolicyContent({ docId: items[0].docId })\n )\n )}\n downloadAction={pipe(\n privacyPolicyTemplates({\n docsets: [\"privacyPolicy\"],\n }),\n taskEither.chain(items =>\n privacyPolicyDownload({\n docId: items[0].docId,\n fileName: formatMessage(\n \"PrivacyPolicyDisclaimer.privacyPolicyFileName\"\n ),\n })\n ),\n taskEither.map(({ filePath }) => filePath)\n )}\n />\n )}\n \n );\n}\n","import \"!../../../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js!css-loader?{\\\"modules\\\":false,\\\"url\\\":false}!./DisplayMoneyAmount.treat.NKzaQC6.css\";\nexport var light = '_2RJpC';\nexport var dark = 'GHHVk';\nexport var amount = {input:'_1tx-f','x-small':'_2AF6k',small:'qrnj1',big:'_1K7Qd',medium:'xkJXm',large:'_3o3DH'};\nexport var currency = {input:'JW4ge','x-small':'_2jHOK',small:'_23ujO',medium:'_3U9bc',big:'_2mWex',large:'_1Z1jc'};","import { Panel, Stack, LocalizedString } from \"design-system\";\nimport { pipe, constTrue } from \"fp-ts/function\";\nimport { option, set, array, eq } from \"fp-ts\";\nimport { PreContractualDocumentMeta } from \"../documentAPI\";\nimport { NonEmptyArray } from \"fp-ts/NonEmptyArray\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { DocumentItem, DocumentReadingConfirmProps } from \"./DocumentItem\";\nimport { getDocumentReadingStatus, getFirstUnreadDocument } from \"./utils\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\n\nexport type ReadingConfirmProps =\n | {\n readingConfirmationType: \"none\";\n }\n | {\n readingConfirmationType: \"status\";\n documentsRead: Set;\n }\n | {\n readingConfirmationType: \"checkbox\";\n documentsRead: Set;\n onDocumentRead: (documentId: NonEmptyString) => TaskEither;\n onDocumentUnread: (\n documentId: NonEmptyString\n ) => TaskEither;\n };\n\ntype Props = {\n documents: NonEmptyArray;\n documentToCheckForReadingConfirmation?:\n | NonEmptyArray\n | undefined;\n showErrors: boolean;\n isSigningStarted?: boolean;\n isForeignClient?: boolean;\n onDocumentOpen: (document: PreContractualDocumentMeta) => unknown;\n onForeignDocumentOpen: (document: PreContractualDocumentMeta) => unknown;\n title: LocalizedString;\n} & ReadingConfirmProps;\n\nexport function ContractsPanel(props: Props) {\n function getDocumentReadingConfirmProps(\n docId: NonEmptyString\n ): DocumentReadingConfirmProps {\n switch (props.readingConfirmationType) {\n case \"none\":\n return { readingConfirmationType: \"none\" };\n case \"status\":\n return {\n readingConfirmationType: \"status\",\n readStatus: getDocumentReadingStatus(\n props.documents,\n props.documentsRead\n )(docId),\n };\n case \"checkbox\":\n const isRead = pipe(props.documentsRead, set.elem(eq.eqStrict)(docId));\n return {\n readingConfirmationType: \"checkbox\",\n isRead,\n onRead: props.onDocumentRead(docId),\n onUnread: props.onDocumentUnread(docId),\n disabled:\n !isRead &&\n pipe(\n getFirstUnreadDocument(\n props.documentToCheckForReadingConfirmation\n ? props.documentToCheckForReadingConfirmation\n : props.documents,\n props.documentsRead\n ),\n option.fold(constTrue, d => d.docId !== docId)\n ),\n };\n }\n }\n\n return (\n (\n \n {pipe(\n props.documents,\n array.mapWithIndex((index, document) => (\n \n ))\n )}\n \n )}\n />\n );\n}\n","import { Option } from \"fp-ts/Option\";\nimport { pipe } from \"fp-ts/function\";\nimport { option, array } from \"fp-ts\";\nimport { DropdownOption } from \"design-system\";\n\nexport function selectedDropdownOption(\n initialValue: Option,\n options: Array>\n): Option> {\n return pipe(\n initialValue,\n option.chain(initialValue =>\n pipe(\n options,\n array.findFirst(o => initialValue === o.value)\n )\n )\n );\n}\n\nfunction isOption(a: Option | A): a is Option {\n return \"_tag\" in a && a._tag != null;\n}\n\nexport function dropdownOptionToValue(\n dropdownOption: Option> | DropdownOption\n): Option {\n return pipe(\n isOption(dropdownOption) ? dropdownOption : option.some(dropdownOption),\n option.map(o => o.value)\n );\n}\n","import { withFallback } from \"io-ts-types/lib/withFallback\";\nimport { apiCall } from \"../APICall\";\nimport * as t from \"io-ts\";\nimport * as eq from \"fp-ts/Eq\";\nimport { FileContent, LocalizedString } from \"design-system\";\nimport { nonEmptyArray as nonEmptyArrayCodec } from \"io-ts-types/lib/nonEmptyArray\";\nimport { nonEmptyArray } from \"fp-ts\";\nimport { constFalse } from \"fp-ts/function\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { optionFromUndefined } from \"../globalDomain\";\nimport { optionFromNullable } from \"io-ts-types/optionFromNullable\";\n\nexport const DocumentSetId = t.keyof(\n {\n privacyPolicy: true,\n personalDataProcessing: true,\n overdraftInformation: true,\n marketingConsent: true,\n representativeExample: true,\n creditBureauMemorandum: true,\n dataProcessingRegisters: true,\n loanInsurance: true,\n mtgLoanInsurance: true,\n branchContactData: true,\n PackageInsuranceInfo: true,\n CLcreditBureauMemorandum: true,\n DBN_SD_056: true,\n DBN_SD_059: true,\n \"3PCertificationAtLogin\": true,\n DBN_SD_055: true,\n \"3PCertificationAtLoanStart\": true,\n OVDRepresentativeExample: true,\n },\n \"Docset\"\n);\n\nexport type Docset = t.TypeOf;\n\nexport const eqDocset: eq.Eq = eq.eqStrict;\n\nexport const DocumentMeta = t.type(\n {\n docId: NonEmptyString,\n docTitle: LocalizedString,\n docset: optionFromUndefined(NonEmptyString),\n downloadUrl: optionFromUndefined(NonEmptyString),\n // SBL-45709\n // this is actually used only for /ukonto/documents and it is required there\n // to reuse all the implementation of PrecontractualDocuments, contractualDocument has been added here as Option\n // then PrecontractualDocuments filters documents which have contractualDocument = true or without contractualDocument property\n contractualDocument: optionFromUndefined(t.boolean),\n docType: optionFromUndefined(NonEmptyString),\n },\n \"DocumentMeta\"\n);\n\nexport type DocumentMeta = t.TypeOf;\n\nexport const PreContractualDocumentMeta = t.intersection(\n [\n DocumentMeta,\n t.type({\n signatureRequired: withFallback(t.boolean, true),\n downloadUrl: optionFromUndefined(NonEmptyString),\n // SBL-45709 -> see the comment above\n contractualDocument: optionFromUndefined(t.boolean),\n }),\n ],\n \"PreContractualDocumentMeta\"\n);\nexport type PreContractualDocumentMeta = t.TypeOf<\n typeof PreContractualDocumentMeta\n>;\n\nexport const DocumentTemplatesInput = t.type(\n {\n docsets: nonEmptyArrayCodec(DocumentSetId),\n },\n \"DocumentTemplatesInput\"\n);\n\ninterface DocumentTemplatesInput\n extends t.TypeOf {}\n\nexport const eqDocumentTemplatesInput = eq.getStructEq({\n docsets: nonEmptyArray.getEq(eqDocset),\n});\n\nexport const DocumentTemplatesOutput = nonEmptyArrayCodec(DocumentMeta);\n\nexport interface DocumentTemplatesOutput\n extends t.TypeOf {}\n\nexport const templates = apiCall({\n inputEq: eqDocumentTemplatesInput,\n path: [\"document\", \"templates\"],\n inputCodec: DocumentTemplatesInput,\n outputCodec: DocumentTemplatesOutput,\n});\n\nexport const DocumentContentInput = t.type(\n {\n docId: NonEmptyString,\n },\n \"DocumentContentInput\"\n);\n\nexport const CpiApplicationFormDocumentOutput = t.type({\n pdfContent: FileContent,\n pdfName: LocalizedString,\n});\n\ninterface DocumentContentInput extends t.TypeOf {}\n\nexport const eqDocumentContentInput = eq.getStructEq({\n docId: eq.eqString,\n});\n\nexport const DocumentContentOutput = t.type(\n {\n filename: LocalizedString,\n content: FileContent,\n downloadUrl: optionFromUndefined(NonEmptyString),\n },\n \"DocumentContentOutput\"\n);\n\nexport interface DocumentContentOutput\n extends t.TypeOf {}\n\nexport const content = apiCall({\n inputEq: eqDocumentContentInput,\n path: [\"document\", \"content\"],\n inputCodec: DocumentContentInput,\n outputCodec: DocumentContentOutput,\n});\n\nexport const contentDocMTG = apiCall({\n inputEq: eqDocumentContentInput,\n path: [\n \"packages\",\n \"mortgage\",\n \"additionaldetails\",\n \"health\",\n \"document\",\n \"content\",\n ],\n inputCodec: DocumentContentInput,\n outputCodec: DocumentContentOutput,\n});\n\nexport const contentSealed = apiCall({\n inputEq: eqDocumentContentInput,\n path: [\"document\", \"contentSealed\"],\n inputCodec: DocumentContentInput,\n outputCodec: DocumentContentOutput,\n});\n\nexport const DocumentDownloadInput = t.type(\n {\n docId: NonEmptyString,\n fileName: LocalizedString,\n },\n \"DocumentDownloadInput\"\n);\n\ninterface DocumentDownloadInput\n extends t.TypeOf {}\n\nexport const eqDocumentDownloadInput = eq.getStructEq({\n docId: eq.eqString,\n fileName: eq.eqString,\n});\n\nexport const DocumentDownloadOutput = t.type(\n {\n filePath: t.string,\n },\n \"DocumentDownloadOutput\"\n);\n\nexport interface DocumentDownloadOutput\n extends t.TypeOf {}\n\nexport const downloadDocument = apiCall({\n inputEq: eqDocumentDownloadInput,\n path: [\"document\", \"dde\", \"noauth\", \"static\"],\n inputCodec: DocumentDownloadInput,\n outputCodec: DocumentDownloadOutput,\n});\n\nexport const DocumentMime = t.keyof({\n \"application/pdf\": true,\n \"image/jpeg\": true,\n \"image/tiff\": true,\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": true,\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": true,\n \"application/vnd.ms-outlook\": true,\n \".msg\": true,\n});\nexport type DocumentMime = t.TypeOf;\n\nconst GetDocumentContentOutput = t.type({\n content: FileContent,\n mimeType: DocumentMime,\n filename: NonEmptyString,\n docTypeId: optionFromNullable(NonEmptyString),\n docTypeName: optionFromNullable(NonEmptyString),\n downloadUrl: optionFromUndefined(NonEmptyString),\n});\nexport type GetDocumentContentOutput = t.TypeOf<\n typeof GetDocumentContentOutput\n>;\n\nconst GetDocumentContentInput = t.type({\n documentID: NonEmptyString,\n});\n\nconst eqGetDocumentContent = eq.getStructEq({\n documentID: eq.eqString,\n});\n\nexport const getDocumentContentMortgage = apiCall({\n inputCodec: GetDocumentContentInput,\n inputEq: eqGetDocumentContent,\n outputCodec: GetDocumentContentOutput,\n path: [\"packages\", \"mortgage\", \"document\", \"content\"],\n});\n\nexport const getDocumentContentSL = apiCall({\n inputCodec: GetDocumentContentInput,\n inputEq: eqGetDocumentContent,\n outputCodec: GetDocumentContentOutput,\n path: [\"packages\", \"loans\", \"standard-loan\", \"document\", \"content\"],\n});\n\nexport const downloadDocumentContent = apiCall({\n inputCodec: GetDocumentContentInput,\n inputEq: eq.fromEquals(constFalse),\n outputCodec: t.type({\n /** TODO: Document (download) */\n }),\n path: [\"packages\", \"mortgage\", \"document\", \"download\"],\n});\n\nexport const getCpiApplicationFormDocument = apiCall({\n inputCodec: t.void,\n inputEq: eq.fromEquals(constFalse),\n outputCodec: CpiApplicationFormDocumentOutput,\n path: [\"packages\", \"mortgage\", \"offer\", \"getCpiApplicationFormDocument\"],\n});\n","import { useEffect } from \"react\";\n\ntype Behavior = \"smooth\" | \"auto\";\n\nexport function useScrollTopOnChange(behavior: Behavior, ref?: unknown) {\n useEffect(() => {\n window.scrollTo({\n top: 0,\n behavior,\n });\n }, [ref, behavior]);\n}\n","import { eq } from \"fp-ts\";\nimport * as t from \"io-ts\";\nimport { nonEmptyArray } from \"io-ts-types/lib/nonEmptyArray\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { DocumentMeta, PreContractualDocumentMeta } from \"../documentAPI\";\n\nexport const ContractReadOutput = t.unknown;\nexport type ContractReadOutput = t.TypeOf;\n\nexport const DocumentsListOutput = nonEmptyArray(DocumentMeta);\nexport type DocumentsListOutput = t.TypeOf;\n\nexport const PreContractualDocumentsListOutput = nonEmptyArray(\n PreContractualDocumentMeta\n);\nexport type PreContractualDocumentsListOutput = t.TypeOf<\n typeof PreContractualDocumentsListOutput\n>;\n\nexport const ContractReadInput = t.type({\n docId: NonEmptyString,\n documentRead: t.boolean,\n});\nexport type ContractReadInput = t.TypeOf;\n\nexport const eqContractReadInput = eq.getStructEq({\n docId: eq.eqString,\n});\n\nexport const TermsAndConditionsReceivedOutput = t.unknown;\nexport type TermsAndConditionsReceivedOutput = t.TypeOf<\n typeof TermsAndConditionsReceivedOutput\n>;\n\nexport const MarketingConsentReadInput = t.type({\n accepted: t.boolean,\n});\nexport type MarketingConsentReadInput = t.TypeOf<\n typeof MarketingConsentReadInput\n>;\n\nexport const eqMarketingConsentReadInput = eq.getStructEq({\n accepted: eq.eqBoolean,\n});\n\nexport const ForeignSigningConsentReadInput = t.type({\n accepted: t.boolean,\n});\nexport type ForeignSigningConsentReadInput = t.TypeOf<\n typeof ForeignSigningConsentReadInput\n>;\n\nexport const eqForeignSigningConsentReadInput = eq.getStructEq({\n accepted: eq.eqBoolean,\n});\n\nexport const PhoneNumberOutput = t.type({\n phoneNumber: t.string,\n});\nexport type PhoneNumberOutput = t.TypeOf;\n\nexport const TermsAndConditionsOutput = nonEmptyArray(DocumentMeta);\nexport type TermsAndConditionsOutput = t.TypeOf<\n typeof TermsAndConditionsOutput\n>;\n","import { useMemo } from \"react\";\nimport { useFormatMessage } from \"../../intl\";\nimport { useQuery } from \"../../useAPI\";\nimport { useAppContext } from \"../../useAppContext\";\nimport * as phoneApi from \"./api\";\nimport * as remoteData from \"../../RemoteData\";\nimport { constant, constUndefined, constVoid, pipe } from \"fp-ts/function\";\nimport { array, option, taskEither } from \"fp-ts\";\nimport { CountryFlag } from \"../CountryFlag/CountryFlag\";\nimport { useForm, validators } from \"design-system\";\nimport { Option } from \"fp-ts/Option\";\nimport { useValidators } from \"../useValidators\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\nimport { NonEmptyString } from \"io-ts-types/NonEmptyString\";\n\nexport function usePhoneNumberFieldConfig() {\n const formatMessage = useFormatMessage();\n const {\n apiParameters: { tenant },\n } = useAppContext();\n\n const [prefixes] = useQuery(phoneApi.prefixes);\n const prefixOptions = useMemo(\n () =>\n pipe(\n prefixes,\n remoteData.fold(\n constant([]),\n constant([]),\n array.map(prefix => ({\n tenant: prefix.tenant,\n prefix: prefix.prefix,\n label: prefix.label,\n flag: pipe(\n prefix.tenant,\n option.fold(constUndefined, tenant => (\n \n ))\n ),\n }))\n )\n ),\n [prefixes]\n );\n\n return {\n prefixOptions,\n tenant,\n loadingMessage: formatMessage(\"LoadingEllipsis\"),\n };\n}\n\nexport function usePhoneNumberFieldProps(props: {\n initialPhoneNumber: Option;\n onSubmit: (phoneNumer: NonEmptyString) => TaskEither;\n}) {\n const phoneNumberFieldConfig = usePhoneNumberFieldConfig();\n const { validPhone, nonBlankString } = useValidators();\n const { fieldProps, handleSubmit } = useForm(\n {\n initialValues: {\n phoneNumber: pipe(\n props.initialPhoneNumber,\n option.getOrElse(constant(\"\"))\n ),\n },\n fieldValidators: () => ({\n phoneNumber: validators.inSequence(nonBlankString, validPhone),\n }),\n },\n {\n onSubmit: ({ phoneNumber }) =>\n props.onSubmit\n ? props.onSubmit(phoneNumber)\n : taskEither.fromIO(constVoid),\n }\n );\n\n return {\n phoneNumberFieldProps: {\n ...phoneNumberFieldConfig,\n ...fieldProps(\"phoneNumber\"),\n },\n handlePhoneNumberSubmit: handleSubmit,\n };\n}\n","import { FieldProps, LocalizedString, RadioGroupField } from \"design-system\";\nimport { Option } from \"fp-ts/Option\";\nimport { constant, constFalse } from \"fp-ts/function\";\nimport { boolean, option } from \"fp-ts\";\nimport { useFormatMessage } from \"../../intl\";\n\ntype Props = FieldProps> & {\n id?: string;\n value: Option;\n onChange: (value: Option) => unknown;\n description?: LocalizedString;\n cta?: {\n label: LocalizedString;\n action: () => unknown;\n };\n};\n\nexport function YesNoRadioGroupField(props: Props) {\n const formatMessage = useFormatMessage();\n\n const handleOnChange = (value: option.Option) => {\n props.onBlur();\n props.onChange(value);\n };\n\n return (\n value.toString()}\n renderOption={boolean.fold(\n () => formatMessage(\"No\"),\n () => formatMessage(\"Yes\")\n )}\n renderOptionChildren={constant(option.none)}\n isOptionDisabled={constFalse}\n />\n );\n}\n","import { pipe, constTrue, constNull } from \"fp-ts/function\";\nimport { option, set, eq } from \"fp-ts\";\nimport { useFormatMessage } from \"../../intl\";\nimport { PreContractualDocumentMeta } from \"../documentAPI\";\nimport { NonEmptyArray } from \"fp-ts/NonEmptyArray\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { DocumentReadingConfirmProps } from \"./DocumentItem\";\nimport { getDocumentReadingStatus, getFirstUnreadDocument } from \"./utils\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\nimport { useEffect, useState } from \"react\";\nimport { Option } from \"fp-ts/Option\";\nimport { DocumentDialog } from \"./DocumentDialog\";\nimport { ForeignDocumentDialog } from \"../../UKontoSecondPart/Foreign/ForeignDocumentDialog\";\nimport { ContractsPanel } from \"./ContractsPanel\";\nimport { useAppContext } from \"../../useAppContext\";\nimport { Box, Space } from \"design-system\";\n\nexport type ReadingConfirmProps =\n | {\n readingConfirmationType: \"none\";\n }\n | {\n readingConfirmationType: \"status\";\n documentsRead: Set;\n }\n | {\n readingConfirmationType: \"checkbox\";\n documentsRead: Set;\n onDocumentRead: (documentId: NonEmptyString) => TaskEither;\n onDocumentUnread: (\n documentId: NonEmptyString\n ) => TaskEither;\n };\n\ntype Props = {\n documents: NonEmptyArray;\n showErrors: boolean;\n isSigningStarted?: boolean;\n hasInsurance?: boolean;\n mustReadAllDocuments?: boolean;\n isForeignClient?: boolean;\n variant?: string;\n} & ReadingConfirmProps;\n\nexport function Contracts(props: Props) {\n const formatMessage = useFormatMessage();\n const {\n config: { enableVirtualCardsLoanImpl },\n } = useAppContext();\n\n const [showContractModal, setShowContractModal] = useState<\n Option\n >(option.none);\n\n const [showForeignContractModal, setShowForeignContractModal] = useState<\n Option\n >(option.none);\n\n function getDocumentReadingConfirmProps(\n docId: NonEmptyString\n ): DocumentReadingConfirmProps {\n switch (props.readingConfirmationType) {\n case \"none\":\n return { readingConfirmationType: \"none\" };\n case \"status\":\n return {\n readingConfirmationType: \"status\",\n readStatus: getDocumentReadingStatus(\n props.documents,\n props.documentsRead\n )(docId),\n };\n case \"checkbox\":\n const isRead = pipe(props.documentsRead, set.elem(eq.eqStrict)(docId));\n return {\n readingConfirmationType: \"checkbox\",\n isRead,\n onRead: props.onDocumentRead(docId),\n onUnread: props.onDocumentUnread(docId),\n disabled:\n !isRead &&\n pipe(\n getFirstUnreadDocument(props.documents, props.documentsRead),\n option.fold(constTrue, d => d.docId !== docId)\n ),\n };\n }\n }\n\n const onDocumentOpen = (document: PreContractualDocumentMeta) => {\n setShowContractModal(option.some(document));\n };\n\n const onForeignDocumentOpen = (document: PreContractualDocumentMeta) => {\n setShowForeignContractModal(option.some(document));\n };\n\n useEffect(() => {\n if (props.readingConfirmationType === \"status\") {\n setShowContractModal(option.none);\n }\n }, [props.readingConfirmationType === \"status\" ? props.documentsRead : null]);\n\n const getUkontoContracts = (\n documents: NonEmptyArray\n ): NonEmptyArray | undefined => {\n const docArray = documents.filter(\n document =>\n option.isSome(document.docType) &&\n (document.docType.value === \"FRAMEWORK_AGREEMENT\" ||\n document.docType.value === \"PRODUCT_CONTRACT_ACCOUNT\" ||\n document.docType.value === \"GDPR_CONSENT\")\n );\n return docArray.length === 0\n ? undefined\n : (docArray as NonEmptyArray);\n };\n\n const getCashLoanContract = (\n documents: NonEmptyArray\n ): undefined | PreContractualDocumentMeta[] => {\n const docArray = documents.filter(\n document =>\n option.isSome(document.docType) &&\n document.docType.value === \"LOAN_PRODUCT_CONTRACT_STANDARDLOAN\"\n );\n return docArray.length === 0 ? undefined : docArray;\n };\n\n const getCurrentAccountContracts = (\n documents: NonEmptyArray\n ): NonEmptyArray | undefined => {\n const docArray = documents.filter(\n document =>\n option.isSome(document.docType) &&\n (document.docType.value === \"FRAMEWORK_AGREEMENT_STANDARDLOAN\" ||\n document.docType.value === \"ACCOUNT_PRODUCT_CONTRACT_STANDARDLOAN\")\n );\n return docArray.length === 0\n ? undefined\n : (docArray as NonEmptyArray);\n };\n\n const getOtherContracts = (\n documents: NonEmptyArray\n ): undefined | NonEmptyArray => {\n const docArray = documents.filter(\n document =>\n option.isSome(document.docType) &&\n document.docType.value !== \"FRAMEWORK_AGREEMENT_STANDARDLOAN\" &&\n document.docType.value !== \"ACCOUNT_PRODUCT_CONTRACT_STANDARDLOAN\" &&\n document.docType.value !== \"LOAN_PRODUCT_CONTRACT_STANDARDLOAN\" &&\n document.docType.value !== \"FRAMEWORK_AGREEMENT\" &&\n document.docType.value !== \"PRODUCT_CONTRACT_ACCOUNT\" &&\n document.docType.value !== \"GDPR_CONSENT\"\n );\n return docArray.length === 0\n ? undefined\n : (docArray as NonEmptyArray);\n };\n\n const getCashLoanAndOtherContracts = (\n documents: NonEmptyArray\n ): NonEmptyArray | undefined => {\n const cashLoanContracts = getCashLoanContract(documents);\n const otherContracts = getOtherContracts(documents);\n let contracts: PreContractualDocumentMeta[] = [];\n if (cashLoanContracts && otherContracts) {\n contracts = otherContracts.concat(cashLoanContracts);\n } else if (cashLoanContracts && !otherContracts) {\n contracts = cashLoanContracts;\n } else if (!cashLoanContracts && otherContracts) {\n contracts = otherContracts;\n }\n return contracts.length === 0\n ? undefined\n : (contracts as NonEmptyArray);\n };\n\n const extendNonEmptyArray = (\n documents1: NonEmptyArray | undefined,\n documents2: NonEmptyArray | undefined\n ): NonEmptyArray | undefined => {\n if (!documents1) return documents2;\n if (!documents2) return documents1;\n const array1 = documents1 as PreContractualDocumentMeta[];\n const array2 = documents2 as PreContractualDocumentMeta[];\n const result = array1.concat(array2);\n return result.length === 0\n ? undefined\n : (result as NonEmptyArray);\n };\n\n const ukontoContracts = getUkontoContracts(props.documents);\n const currentAccountContracts = getCurrentAccountContracts(props.documents);\n const cashLoanContractAndOtherContracts = getCashLoanAndOtherContracts(\n props.documents\n );\n const allContracts = extendNonEmptyArray(\n currentAccountContracts,\n cashLoanContractAndOtherContracts\n );\n const isCf = !!getCashLoanContract(props.documents);\n const isOvd = props.variant === \"OVD\";\n const useVirtualCardsContractLayout = enableVirtualCardsLoanImpl && isCf;\n\n return (\n <>\n {pipe(\n showContractModal,\n option.fold(constNull, document => {\n const confirmation = getDocumentReadingConfirmProps(document.docId);\n return (\n setShowContractModal(option.none)}\n handleConfirm={\n confirmation.readingConfirmationType === \"checkbox\"\n ? () => {\n if (!confirmation.isRead) {\n confirmation.onRead();\n }\n }\n : undefined\n }\n sealed={document.signatureRequired}\n mustReadAllDocuments={props.mustReadAllDocuments}\n isForeignClient={props.isForeignClient}\n />\n );\n })\n )}\n {pipe(\n showForeignContractModal,\n option.fold(constNull, document => (\n setShowForeignContractModal(option.none)}\n title={document.docTitle}\n contractType={pipe(\n document.docType,\n option.fold(\n () => \"PRODUCT_CONTRACT\",\n docType => {\n switch (docType) {\n case \"FRAMEWORK_AGREEMENT\":\n return \"FRAMEWORK_AGREEMENT\";\n case \"PRODUCT_CONTRACT_ACCOUNT\":\n return \"PRODUCT_CONTRACT\";\n default:\n return \"PRODUCT_CONTRACT\";\n }\n }\n )\n )}\n />\n ))\n )}\n {useVirtualCardsContractLayout && currentAccountContracts && (\n \n \n \n \n )}\n {useVirtualCardsContractLayout && cashLoanContractAndOtherContracts && (\n \n )}\n {useVirtualCardsContractLayout && ukontoContracts && (\n \n )}\n {!useVirtualCardsContractLayout && (\n \n )}\n \n );\n}\n","import {\n Box,\n Heading,\n LocalizedString,\n NumberedList,\n Space,\n} from \"design-system\";\nimport { palette } from \"design-system/lib/styleConstants\";\nimport { NonEmptyArray } from \"fp-ts/NonEmptyArray\";\nimport { useFormatMessage } from \"../intl\";\n\ntype Props = {};\n\nexport function DigitalIdInstructions({}: Props) {\n const formatMessage = useFormatMessage();\n\n const instructions: NonEmptyArray = [\n formatMessage(\"DigitalId.Instruction.1\"),\n formatMessage(\"DigitalId.Instruction.2\"),\n formatMessage(\"DigitalId.Instruction.3\"),\n ];\n\n return (\n \n \n {formatMessage(\"DigitalId.Instruction.Title\")}\n \n \n \n \n );\n}\n","import {\n validateDetails as validateDetailsCall,\n ValidateDetailsOutput,\n} from \"./api\";\nimport { constVoid, pipe } from \"fp-ts/function\";\nimport { boolean } from \"fp-ts\";\nimport { UserNotValidatedDialog } from \"./UserNotValidatedDialog\";\nimport * as option from \"fp-ts/Option\";\nimport { Option } from \"fp-ts/Option\";\nimport * as t from \"io-ts\";\nimport { Branded } from \"io-ts\";\nimport {\n Action,\n Box,\n FeedbackBlock,\n FeedbackDialog,\n LocalizedStringBrand,\n} from \"design-system\";\nimport { Reader } from \"fp-ts/Reader\";\nimport { UserNotValidatedError } from \"./UserNotValidatedError\";\nimport { useState } from \"react\";\nimport { ContactChange } from \"../../ClientProfile/ContactChange\";\nimport { useAppContext } from \"../../useAppContext\";\nimport { useFormatMessage } from \"../../intl\";\nimport { useQuery, usePollingEffect } from \"../../useAPI\";\nimport * as remoteData from \"../../RemoteData\";\nimport * as api from \"./api\";\n\ntype Props = {\n validateUser: Reader;\n onDialogExit: Option<() => unknown>;\n onDialogDismiss: Option<() => unknown>;\n dialogTitle: Branded;\n children: JSX.Element | null;\n isModal: boolean;\n skipValidation?: boolean;\n};\n\nconst AddPhoneState = t.keyof(\n {\n Initial: true,\n InProgress: true,\n Completed: true,\n },\n \"AddPhoneState\"\n);\ntype AddPhoneState = t.TypeOf;\n\nconst ValidationState = t.keyof(\n {\n AddPhone: true,\n Validation: true,\n },\n \"ValidationState\"\n);\ntype ValidationState = t.TypeOf;\n\nexport function UserValidation(props: Props) {\n const {\n apiParameters: { channel },\n } = useAppContext();\n const formatMessage = useFormatMessage();\n const [userValidation, refreshUserDetails] = useQuery(validateDetailsCall);\n\n const [addPhoneState, setAddPhoneState] = useState(\"Initial\");\n const [validationState, setValidationState] = useState(\n \"Validation\"\n );\n const canAddPhoneIfMissing =\n channel === \"TLS_Remote\" ||\n channel === \"OB_Remote\" ||\n channel === \"SB_Remote\" ||\n channel === \"PWS_Remote\";\n\n const [poolingDisabled, setPoolingDisabled] = useState(true);\n const [updatePhoneCompleted, setUpdatePhoneCompleted] = useState(false);\n\n usePollingEffect(api.results, {\n intervalMS: 3000,\n shouldPollingContinue: result => result.status === \"PENDING\",\n disabled: poolingDisabled,\n onError: constVoid,\n onSuccess: result => {\n if (result.status === \"DONE\") {\n setUpdatePhoneCompleted(true);\n }\n },\n });\n\n const validate = pipe(\n userValidation,\n remoteData.fold(\n () => (\n \n \n \n ),\n () => (\n constVoid)\n ),\n }}\n />\n ),\n\n result =>\n pipe(\n props.validateUser(result),\n boolean.fold(\n () => {\n if (!result.hasPhoneNumber && canAddPhoneIfMissing) {\n if (updatePhoneCompleted) {\n return props.children;\n }\n if (validationState !== \"AddPhone\") {\n setPoolingDisabled(false);\n setValidationState(\"AddPhone\");\n }\n return null;\n }\n\n return pipe(\n props.isModal,\n boolean.fold(\n () => (\n \n ),\n () => (\n \n )\n )\n );\n },\n () => props.children\n )\n )\n )\n );\n\n const foldValidationState = () => {\n switch (validationState) {\n case \"Validation\":\n return validate;\n case \"AddPhone\":\n return foldPhoneState();\n }\n };\n\n const foldPhoneState = () => {\n switch (addPhoneState) {\n case \"Completed\":\n return (\n {\n setValidationState(\"Validation\");\n setAddPhoneState(\"Initial\");\n },\n },\n ] as [Action]\n }\n />\n );\n case \"InProgress\":\n return (\n {\n refreshUserDetails();\n setAddPhoneState(\"Completed\");\n }}\n onExit={() => setAddPhoneState(\"Initial\")}\n />\n );\n case \"Initial\":\n return (\n setAddPhoneState(\"InProgress\"),\n },\n ] as [Action]\n }\n />\n );\n }\n };\n\n return props.skipValidation ? props.children : foldValidationState();\n}\n\ntype AddPhoneProps = {\n onComplete: () => unknown;\n onExit: () => unknown;\n};\n\nfunction AddPhoneNumber(props: AddPhoneProps) {\n return (\n \n );\n}\n","import { useAuthenticationContext } from \"design-system\";\nimport { option } from \"fp-ts\";\nimport { useAppContext } from \"../useAppContext\";\n\nexport type DeepLink = \"Authorize\" | \"Exit\";\n\nexport function useSBDeepLink(link: DeepLink, biometric: boolean = false) {\n const { authInfo } = useAuthenticationContext();\n\n const url = (() => {\n switch (link) {\n case \"Authorize\":\n if (option.isNone(authInfo)) {\n throw new Error(\n \"Trying to call native app for authorization without a flow ID\"\n );\n }\n const flowId = authInfo.value.flowId;\n\n return `mb-unicredit://sign/query?section=DBN&reference=${flowId}&biometric=${biometric}`;\n case \"Exit\":\n return \"mb-unicredit://close/query?appSection=online:menu:more\";\n }\n })();\n\n return () => {\n window.location.href = url;\n return \"\";\n };\n}\n\nexport function useAppRedirect() {\n const {\n apiParameters: { tenant },\n config: { environment },\n } = useAppContext();\n\n const redirectUrl =\n (() => {\n switch (environment) {\n case \"sit\":\n case \"uat\":\n return [\"mb\", \"unicredit\", tenant, environment].join(\"-\");\n case \"dev\":\n case \"ci\":\n case \"hf\":\n case \"prod\":\n return [\"mb\", \"unicredit\", tenant].join(\"-\");\n }\n })() + \"://appredirect\";\n\n return () => (window.location.href = redirectUrl);\n}\n","import \"!../../../../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js!css-loader?{\\\"modules\\\":false,\\\"url\\\":false}!./FlowAccordion.treat.2EUkUBc.css\";\nexport var stickyStepper = '_2LMDr';\nexport var stickyStepperTop = 'WCppX';\nexport var noPadding = '_27pyl';","import * as t from \"io-ts\";\nimport { apiCall } from \"../../APICall\";\nimport { constFalse, constTrue } from \"fp-ts/function\";\nimport { eq } from \"fp-ts\";\nimport { optionFromNullable } from \"io-ts-types/lib/optionFromNullable\";\n\nexport const ValidateDetailsOutput = t.type(\n {\n hasPasswordForCommunication: t.boolean,\n hasPhoneNumber: t.boolean,\n hasEmailAddress: t.boolean,\n isEmailVerified: t.boolean,\n isPhoneNumberVerified: t.boolean,\n },\n \"ValidateDetailsOutput\"\n);\n\nexport const CheckStatus = t.keyof({\n PENDING: true,\n DONE: true,\n ERROR: true,\n});\n\nexport const results = apiCall({\n inputEq: eq.fromEquals(constFalse),\n inputCodec: t.void,\n path: [\"clients\", \"personalProfile\", \"results\"],\n outputCodec: t.type({\n id: optionFromNullable(t.string),\n status: CheckStatus,\n }),\n});\n\nexport type ValidateDetailsOutput = t.TypeOf;\n\nexport const validateDetails = apiCall({\n inputCodec: t.void,\n inputEq: eq.fromEquals(constTrue),\n path: [\"clients\", \"identification\", \"validateDetails\"],\n outputCodec: ValidateDetailsOutput,\n});\n","import { Action, FeedbackBlock, LocalizedStringBrand } from \"design-system\";\nimport { option } from \"fp-ts\";\nimport { constant, pipe } from \"fp-ts/function\";\nimport { IO } from \"fp-ts/IO\";\nimport { Option } from \"fp-ts/Option\";\nimport { ValidateDetailsOutput } from \"./api\";\nimport { Branded } from \"io-ts\";\nimport { getDialogTexts } from \"./utils\";\nimport { useFormatMessage } from \"../../intl\";\n\ntype Props = {\n validationResult: ValidateDetailsOutput;\n onDismiss: Option>;\n title: Branded;\n};\n\nexport function UserNotValidatedError(props: Props) {\n const dialogTexts = getDialogTexts(props.validationResult);\n const formatMessage = useFormatMessage();\n return (\n , [] | [Action]>(constant([]), onDismiss => [\n {\n variant: \"primary\",\n label: formatMessage(\"UserValidation.button\"),\n action: onDismiss,\n },\n ])\n )}\n />\n );\n}\n","import { useEffect } from \"react\";\n\nexport const useVirtualFormSubmit = (cb: () => void) => {\n useEffect(() => {\n const handleEnter = (e: KeyboardEvent) => {\n if (e.key === \"Enter\" && e.isTrusted === false) {\n cb();\n }\n };\n document.addEventListener(\"keydown\", handleEnter);\n\n return () => {\n document.removeEventListener(\"keydown\", handleEnter);\n };\n });\n};\n","import { useCommand } from \"../../useAPI\";\nimport { FilePDFDialog } from \"../Dialogs/FilePDFDialog/FilePDFDialog\";\nimport * as documentAPI from \"../documentAPI\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { useFormatMessage } from \"../../intl\";\nimport { option } from \"fp-ts\";\nimport { pipe } from \"fp-ts/function\";\nimport { mediationInsuranceDocset } from \"./utils\";\nimport { useState } from \"react\";\nimport { Option } from \"fp-ts/Option\";\nimport { ForeignDocumentDialog } from \"../../UKontoSecondPart/Foreign/ForeignDocumentDialog\";\nimport { LocalizedString } from \"design-system\";\n\ntype Props = {\n document: documentAPI.DocumentMeta;\n handleDismiss: () => unknown;\n handleConfirm?: (id: NonEmptyString) => unknown;\n sealed: boolean;\n mustReadAllDocuments?: boolean;\n isForeignClient?: boolean;\n subtitle?: LocalizedString;\n};\n\nexport function DocumentDialog(props: Props) {\n const { document, sealed, handleDismiss, handleConfirm } = props;\n const formatMessage = useFormatMessage();\n\n const [showForeignContractModal, setShowForeignContractModal] = useState<\n Option\n >(option.none);\n\n const documentDownload = useCommand(\n sealed ? documentAPI.contentSealed : documentAPI.content\n );\n\n const onHandleConfirm = pipe(\n handleConfirm,\n option.fromNullable,\n option.map(handleConfirm => {\n return () => {\n handleConfirm(document.docId);\n handleDismiss();\n };\n })\n );\n\n const isModalInsuranceMediation = pipe(\n props.document.docset,\n option.exists(item => item === mediationInsuranceDocset)\n );\n\n const onForeignDocumentOpen = (document: documentAPI.DocumentMeta) => {\n setShowForeignContractModal(option.some(document));\n };\n\n return pipe(\n showForeignContractModal,\n option.fold(\n () => (\n ({\n action,\n label: isModalInsuranceMediation\n ? formatMessage(\n \"UKonto.ReadDocuments.Modal.confirm.uKontoInsuranceMediation\"\n )\n : formatMessage(\"UKonto.ReadDocuments.Modal.confirm\"),\n })),\n option.toUndefined\n )}\n file={documentDownload({\n docId: document.docId,\n })}\n infoBannerContent={\n isModalInsuranceMediation\n ? formatMessage(\n \"UKonto.ReadDocuments.Modal.description.uKontoInsuranceMediation\"\n )\n : undefined\n }\n mustReadAllDocuments={props.mustReadAllDocuments}\n isForeignClient={props.isForeignClient}\n onForeignDocumentOpen={onForeignDocumentOpen}\n document={props.document}\n />\n ),\n document => (\n setShowForeignContractModal(option.none)}\n title={document.docTitle}\n contractType={pipe(\n document.docType,\n option.fold(\n () => \"PRODUCT_CONTRACT\",\n docType => {\n switch (docType) {\n case \"FRAMEWORK_AGREEMENT\":\n return \"FRAMEWORK_AGREEMENT\";\n case \"PRODUCT_CONTRACT_ACCOUNT\":\n return \"PRODUCT_CONTRACT\";\n default:\n return \"PRODUCT_CONTRACT\";\n }\n }\n )\n )}\n />\n )\n )\n );\n}\n","import { ComponentProps } from \"react\";\nimport { ReadOnlyField } from \"design-system\";\nimport { useFormatMessage } from \"../../intl\";\nimport { constant, pipe, identity } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\nimport { YesNoRadioGroupField } from \"../YesNoRadioGroup/YesNoRadioGroupField\";\n\ntype Feedback = ComponentProps[\"feedback\"];\n\ntype Props = ComponentProps & {\n edit: boolean;\n feedback?: Feedback;\n};\n\nexport function OptionalEditYesNoField(props: Props) {\n const formatMessage = useFormatMessage();\n const { edit, ...fieldProps } = props;\n\n return edit ? (\n \n ) : (\n \n );\n}\n","import \"!../../../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js!css-loader?{\\\"modules\\\":false,\\\"url\\\":false}!./OverdraftCardDesktop.treat.2NPmdTk.css\";\nexport var heading = '_3TwMi';\nexport var content = '_1KMbK';","import { pipe } from \"fp-ts/function\";\nimport { TextChildren, LocalizedString, ReadOnlyField } from \"design-system\";\nimport { boolean } from \"fp-ts\";\nimport { useFormatMessage } from \"../../intl\";\nimport { ComponentProps } from \"react\";\n\ntype Props = {\n id?: string;\n size: ComponentProps[\"size\"];\n value: boolean;\n label: TextChildren;\n description?: LocalizedString;\n};\n\nexport function ReadOnlyYesNoField(props: Props) {\n const formatMessage = useFormatMessage();\n return (\n formatMessage(\"No\"),\n () => formatMessage(\"Yes\")\n )\n )}\n />\n );\n}\n","import {\n AutocompleteInputField,\n InternalPhoneNumberField,\n} from \"design-system\";\nimport { usePhoneNumberFieldConfig } from \"./usePhoneNumberFieldProps\";\n\ntype Props = Omit<\n React.ComponentProps,\n \"suggestionsStatus\" | \"onSelectSuggestion\" | \"loadingMessage\"\n>;\n\nexport function PhoneNumberField(props: Props) {\n const config = usePhoneNumberFieldConfig();\n\n return ;\n}\n","import { ErrorBanner, useAuthenticationContext } from \"design-system\";\nimport { pipe } from \"fp-ts/function\";\nimport { useMemo } from \"react\";\nimport { useFormatMessage } from \"../intl\";\nimport * as remoteData from \"../RemoteData\";\nimport { useRemoteData } from \"../useRemoteData\";\nimport { BasicFullScreenLoader } from \"./BasicFullScreenLoader\";\nimport { PortalStatusWrapper } from \"./PortalStatusAlert/PortalStatusWrapper\";\nimport { VersionChecker } from \"../VersionCheck/VersionChecker\";\n\ntype Props = {\n render: () => JSX.Element;\n keepClient?: boolean;\n};\n\nexport function StartNewFlow(props: Props) {\n return (\n \n \n \n );\n}\n\nfunction StartNewFlow_(props: Props) {\n const { startNewFlow, startNewFlowKeepClient } = useAuthenticationContext();\n const startRD = useRemoteData(\n useMemo(\n () => (props.keepClient ? startNewFlowKeepClient : startNewFlow),\n []\n )\n );\n const formatMessage = useFormatMessage();\n return pipe(\n startRD,\n remoteData.fold(\n () => ,\n () => (\n \n \n \n ),\n props.render\n )\n );\n}\n","import { useState } from \"react\";\nimport {\n Banner,\n Box,\n Button,\n buttonLink,\n Checkbox,\n ContentRow,\n ErrorBanner,\n Loader,\n Space,\n Stack,\n useIsMobileLayout,\n LocalizedString,\n} from \"design-system\";\nimport { Contracts, ReadingConfirmProps } from \"./Contracts\";\nimport { option, set, nonEmptyArray, eq } from \"fp-ts\";\nimport { pipe, constant, constNull, flow, constTrue } from \"fp-ts/function\";\n\nimport * as remoteData from \"../../RemoteData\";\nimport {\n reducerConfig,\n startSignatureAction,\n dismissMarketingModalAction,\n} from \"./state\";\nimport { MarketingConsentConfirmationDialog } from \"./MarketingConsentConfirmationDialog\";\nimport { NonEmptyString } from \"io-ts-types/lib/NonEmptyString\";\nimport { MarketingConsentDialog } from \"./MarketingConsentDialog\";\nimport { ReaderTaskEither } from \"fp-ts/ReaderTaskEither\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\nimport { useRemoteData } from \"../../useRemoteData\";\nimport { Option } from \"fp-ts/Option\";\nimport * as api from \"./api\";\nimport { useParentSharedReducer } from \"../../BranchExperience/useSharedReducer\";\nimport { useBranchExperienceContext } from \"../../BranchExperience/BranchExperienceContext\";\nimport { DocumentsSignature, SignatureProps } from \"./DocumentsSignature\";\nimport {\n getPreContractualDocumentsActions,\n getSmartKeyInitialMode,\n useFormatError,\n} from \"./utils\";\nimport { useFormatMessage } from \"../../intl\";\nimport { TermsAndConditions } from \"./TermsAndConditions\";\nimport { CheckingRemoteClientSignature } from \"../../StandardLoan/FollowUpAndSignature/LowRiskClient/CheckingRemoteClientSignature\";\nimport { LFStatus } from \"../../StandardLoan/api\";\nimport { usePortalStatusContext } from \"../../PortalStatusContext\";\n\ninterface Props {\n onContinue: () => unknown;\n onContinueRemoteSigning: (status: Option) => unknown;\n onReadContract: ReaderTaskEither;\n onUnreadContract: ReaderTaskEither;\n onTermsAndConditionsReceived: TaskEither;\n onMarketingConsentExpressed: ReaderTaskEither;\n getDocuments: TaskEither;\n onBack: () => unknown;\n getTermsAndConditions: Option<\n TaskEither\n >;\n showReadingConfirm: boolean;\n showMarketingConsent: boolean;\n showContractsAgreement: boolean;\n inlineReadingCheckbox: boolean;\n promotion: Option;\n signatureProps: SignatureProps;\n hasInsurance?: boolean;\n mustReadAllDocuments?: boolean;\n skipContracts: boolean;\n showBackButton: boolean;\n hideDocumentsSignatureBox?: boolean;\n startCheckingRemoteSignature?: boolean;\n shouldVerifySignatureStatus?: boolean;\n onAfterSignature?: () => unknown;\n isForeignClient?: boolean;\n onForeignSigningConsentExpressed?: ReaderTaskEither<\n boolean,\n unknown,\n unknown\n >;\n variant?: string;\n}\n\nexport function PreContractualDocuments(props: Props) {\n const formatMessage = useFormatMessage();\n const formatError = useFormatError();\n const isMobileLayout = useIsMobileLayout();\n const { portalBlocked } = usePortalStatusContext();\n\n const [state, dispatch] = useParentSharedReducer(reducerConfig, {\n type: \"ReadDocuments\",\n documentsRead: set.empty,\n documentsReceivedConfirmation: !props.showContractsAgreement,\n marketingConsent: false,\n isMarketingConsentModalOpen: false,\n error: option.none,\n authenticationMethod: option.some(\n props.signatureProps.authenticationMethod\n ),\n foreignSigningConsent: false,\n });\n\n const [marketingModalOpen, setMarketingModalOpen] = useState(false);\n const preContractualDocuments = useRemoteData(props.getDocuments);\n const { branchExperienceFeaturesActive } = useBranchExperienceContext();\n\n const {\n handleContractRead,\n handleContractUnread,\n handlePreContractualReceived,\n handleMarketingConsentAcceptance,\n handleModalMarketingConsentAcceptance,\n handleForeignSigningConsentAcceptance,\n } = getPreContractualDocumentsActions(dispatch, {\n contractRead: props.onReadContract,\n contractUnread: props.onUnreadContract,\n termsAndConditionsReceived: props.onTermsAndConditionsReceived,\n marketingConsent: props.onMarketingConsentExpressed,\n foreignSigningConsent: props.onForeignSigningConsentExpressed,\n });\n\n return pipe(\n preContractualDocuments,\n remoteData.fold(\n () => (\n \n \n \n ),\n constNull,\n flow(\n nonEmptyArray.filter(({ contractualDocument }) =>\n pipe(contractualDocument, option.getOrElse(constTrue))\n ),\n option.fold(constNull, documents => {\n const documentsRead =\n state.type === \"ReadDocuments\" && props.showReadingConfirm\n ? state.documentsRead\n : pipe(\n documents,\n nonEmptyArray.map(document => document.docId),\n set.fromArray(eq.eqString)\n );\n\n const contractsReadingConfirmationProps: ReadingConfirmProps = props.showReadingConfirm\n ? branchExperienceFeaturesActive\n ? {\n readingConfirmationType: \"status\",\n documentsRead,\n }\n : {\n readingConfirmationType: \"checkbox\",\n documentsRead,\n onDocumentRead: handleContractRead,\n onDocumentUnread: handleContractUnread,\n }\n : { readingConfirmationType: \"none\" };\n\n const ContentWrapper = (props: {\n children: React.ReactElement;\n }) =>\n isMobileLayout ? (\n {props.children}\n ) : (\n props.children\n );\n\n const marketingConsentCheckbox = (\n \n \n setMarketingModalOpen(true),\n formatMessage(\n \"UKonto.ReadDocuments.marketingConsentMoreInfo\"\n )\n ),\n ])}\n value={state.marketingConsent}\n onChange={event =>\n handleMarketingConsentAcceptance(\n event.currentTarget.checked\n )()\n }\n issuesType={option.none}\n disabled={\n state.type === \"SigningDocuments\" ||\n branchExperienceFeaturesActive ||\n portalBlocked\n }\n />\n \n \n );\n\n const documentsSignatureBox = (\n \n dispatch(\n startSignatureAction(\n documents,\n props.showReadingConfirm,\n props.showMarketingConsent,\n props.isForeignClient ? props.isForeignClient : false\n )\n )\n }\n onContinue={\n props.shouldVerifySignatureStatus &&\n props.onAfterSignature !== undefined\n ? props.onAfterSignature\n : props.onContinue\n }\n isSignatureStarted={state.type === \"SigningDocuments\"}\n signatureProps={props.signatureProps}\n smartKeyInitialMode={pipe(\n getSmartKeyInitialMode(state.authenticationMethod),\n option.toUndefined\n )}\n onCancelSignature={() => dispatch({ type: \"CancelSignature\" })}\n otpLength={props.skipContracts ? 6 : undefined}\n hideRequestNotice={props.skipContracts}\n />\n );\n\n const triggerRemoteFinalPage = (\n dispatch({ type: \"CancelSignature\" })}\n />\n );\n\n const contractsAgreementCheckbox = (\n \n \n \n handlePreContractualReceived(event.currentTarget.checked)()\n }\n issuesType={\n state.type === \"ReadDocuments\"\n ? pipe(\n state.error,\n option.filter(\n constant(!state.documentsReceivedConfirmation)\n ),\n option.map(constant(\"error\" as const))\n )\n : option.none\n }\n disabled={\n state.type === \"SigningDocuments\" ||\n branchExperienceFeaturesActive ||\n portalBlocked\n }\n />\n \n \n );\n\n const foreignSigningConsentCheckbox = (\n \n \n \n handleForeignSigningConsentAcceptance(\n event.currentTarget.checked\n )()\n }\n issuesType={\n state.type === \"ReadDocuments\"\n ? pipe(\n state.error,\n option.filter(constant(!state.foreignSigningConsent)),\n option.map(constant(\"error\" as const))\n )\n : option.none\n }\n disabled={\n state.type === \"SigningDocuments\" ||\n branchExperienceFeaturesActive ||\n portalBlocked\n }\n />\n \n \n );\n\n return (\n \n {!props.skipContracts && (\n \n )}\n {pipe(\n props.promotion,\n option.map(promotion => (\n <>\n \n \n \n )),\n option.toNullable\n )}\n {!props.skipContracts &&\n pipe(\n props.getTermsAndConditions,\n option.map(getTermsAndConditions => (\n <>\n \n \n \n )),\n option.toNullable\n )}\n \n \n {props.showContractsAgreement && contractsAgreementCheckbox}\n {props.showMarketingConsent && marketingConsentCheckbox}\n {props.isForeignClient && foreignSigningConsentCheckbox}\n \n {state.type === \"ReadDocuments\"\n ? pipe(\n state.error,\n option.fold(constNull, error => (\n <>\n \n {formatError(error)}\n \n ))\n )\n : null}\n {props.signatureProps.authenticationMethod === \"PIN\" &&\n props.showBackButton ? (\n <>\n \n \n \n ) : (\n \n )}\n {!props.hideDocumentsSignatureBox &&\n props.skipContracts &&\n props.signatureProps.authenticationMethod === \"PIN\" && (\n \n )}\n {!props.hideDocumentsSignatureBox && documentsSignatureBox}\n {props.startCheckingRemoteSignature && triggerRemoteFinalPage}\n {state.type === \"ReadDocuments\" &&\n state.isMarketingConsentModalOpen &&\n !branchExperienceFeaturesActive && (\n \n handleModalMarketingConsentAcceptance(consent)()\n }\n onDismiss={flow(dismissMarketingModalAction, dispatch)}\n />\n )}\n {marketingModalOpen && (\n setMarketingModalOpen(false)}\n />\n )}\n \n );\n })\n )\n )\n );\n}\n","import { useState } from \"react\";\nimport { array, option, nonEmptyArray } from \"fp-ts\";\nimport { Panel, InlineLink, Stack, Box, FileIcon } from \"design-system\";\nimport { useFormatMessage } from \"../../intl\";\nimport { DocumentMeta } from \"../documentAPI\";\nimport { constNull, pipe, constTrue, flow } from \"fp-ts/function\";\nimport { DocumentDialog } from \"./DocumentDialog\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\nimport * as api from \"./api\";\nimport { useRemoteData } from \"../../useRemoteData\";\nimport * as remoteData from \"../../RemoteData\";\n\ntype Props = {\n getTermsAndConditions: TaskEither;\n open?: boolean;\n variant?: string;\n};\n\nfunction Document({ document }: { document: DocumentMeta }) {\n const [showContractModal, setShowContractModal] = useState(false);\n\n return (\n <>\n setShowContractModal(true)}>\n {document.docTitle}\n \n {showContractModal && (\n setShowContractModal(false)}\n sealed={false}\n />\n )}\n \n );\n}\n\nexport function TermsAndConditions(props: Props) {\n const [isOpen, setOpen] = useState(props.open || false);\n const formatMessage = useFormatMessage();\n const termsAndConditions = useRemoteData(props.getTermsAndConditions);\n const isOvd = props.variant === \"OVD\";\n\n const renderContent = () => {\n return pipe(\n termsAndConditions,\n remoteData.fold(\n constNull,\n constNull,\n flow(\n nonEmptyArray.filter(item =>\n pipe(\n item.contractualDocument,\n option.fold(constTrue, item => !item)\n )\n ),\n option.fold(constNull, documents => (\n \n {pipe(\n documents,\n array.map(document => (\n \n ))\n )}\n \n ))\n )\n )\n );\n };\n\n return (\n \n setOpen(!isOpen))}\n headerIcon={option.none}\n title={formatMessage(\n isOvd\n ? \"Overdraft.ReadDocuments.TermsAndConditions.title\"\n : \"UKonto.ReadDocuments.TermsAndConditions.title\"\n )}\n content={renderContent}\n />\n \n );\n}\n","import { option, taskEither } from \"fp-ts\";\nimport { DigitalIdStart } from \"./DigitalIdStart\";\nimport { useState } from \"react\";\nimport { DigitalIdClientProfile } from \"./DigitalIdClientProfile\";\nimport { DigitalIdStatus } from \"./DigitalIdStatus\";\nimport { DigitalIdStop } from \"./DigitalIdStop\";\nimport { FeedbackBlock } from \"design-system\";\nimport { useFormatMessage } from \"../intl\";\nimport { useAppContext } from \"../useAppContext\";\nimport { DigitalIdClientMock } from \"./DigitalIdClientMock\";\n\ntype Props = {\n onClientIdentified: () => unknown;\n applicantIndex?: string;\n};\n\ntype State = \"error\" | \"start\" | \"status\" | \"stop\" | \"clientProfile\";\n\nexport function DigitalId({ onClientIdentified, applicantIndex }: Props) {\n const formatMessage = useFormatMessage();\n const [state, setState] = useState(\"start\");\n const {\n config: { mockScanner },\n } = useAppContext();\n\n return (\n <>\n {state === \"error\" && (\n \n )}\n {state === \"start\" && (\n setState(\"status\")}\n onError={() => setState(\"error\")}\n applicantIndex={applicantIndex}\n />\n )}\n {state === \"status\" && (\n setState(\"clientProfile\")}\n onStop={() => setState(\"stop\")}\n />\n )}\n {state === \"stop\" && (\n setState(\"start\"))} />\n )}\n {state === \"clientProfile\" && (\n <>\n \n {mockScanner && }\n \n )}\n \n );\n}\n","import { taskEither } from \"fp-ts\";\nimport { pipe } from \"fp-ts/function\";\nimport { useFormatMessage } from \"../../intl\";\nimport { FilePDFDialog } from \"../Dialogs/FilePDFDialog/FilePDFDialog\";\nimport { useCommand } from \"../../useAPI\";\nimport * as documentAPI from \"../documentAPI\";\n\ntype Props = {\n onDismiss: () => unknown;\n};\n\nexport function MarketingConsentDialog(props: Props) {\n const formatMessage = useFormatMessage();\n\n const marketingConsentTemplates = useCommand(documentAPI.templates);\n const marketingConsentContent = useCommand(documentAPI.content);\n\n return (\n \n marketingConsentContent({ docId: items[0].docId })\n )\n )}\n />\n );\n}\n","import { Loader, Box, LocalizedString } from \"design-system\";\nimport { boolean, option } from \"fp-ts\";\nimport { pipe } from \"fp-ts/function\";\nimport { useEffect, useState } from \"react\";\n\nimport { foldPortalStatus } from \"../../globalDomain\";\nimport { useFormatMessage } from \"../../intl\";\nimport { usePortalStatusContext } from \"../../PortalStatusContext\";\nimport PortalStatusMaintenance from \"./PortalStatusMaintenance\";\n\ntype Props = {\n children: JSX.Element;\n redirectWrapper?: boolean;\n};\n\nexport function PortalStatusWrapper(props: Props) {\n const { portalStatus } = usePortalStatusContext();\n const formatMessage = useFormatMessage();\n\n const [initialPortalStatus, setInitialPortalStatus] = useState(portalStatus);\n\n useEffect(() => {\n if (initialPortalStatus.type === \"initial\") {\n setInitialPortalStatus(portalStatus);\n }\n }, [portalStatus]);\n\n return (\n <>\n {foldPortalStatus(\n props.redirectWrapper ? initialPortalStatus : portalStatus,\n {\n onInitial: () => (\n \n \n \n ),\n onNone: () => <>{props.children},\n onActive: (message: LocalizedString) => (\n option.none,\n () =>\n option.some(\n formatMessage(\n \"ClientRedirect.closePageAfterPortalUnblockMessage\"\n )\n )\n )\n )}\n />\n ),\n onScheduled: () => <>{props.children},\n }\n )}\n \n );\n}\n","import * as t from \"io-ts\";\nimport { LocalizedString } from \"design-system\";\nimport { optionFromNullable } from \"io-ts-types/lib/optionFromNullable\";\nimport { apiCall } from \"../../APICall\";\nimport { Tenant } from \"../../globalDomain\";\nimport { constTrue } from \"fp-ts/function\";\nimport { eq } from \"fp-ts\";\n\nconst IDPrefixesOutput = t.array(\n t.type(\n {\n tenant: optionFromNullable(Tenant),\n label: LocalizedString,\n prefix: LocalizedString,\n },\n \"Prefix\"\n ),\n \"Prefixes\"\n);\n\nexport const prefixes = apiCall({\n inputEq: eq.fromEquals(constTrue),\n path: [\"clients\", \"identification\", \"phoneNumber\", \"prefixes\"],\n inputCodec: t.void,\n outputCodec: IDPrefixesOutput,\n});\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { array, boolean, eq, nonEmptyArray, option, set } from \"fp-ts\";\nimport * as zipper from \"fp-ts-contrib/Zipper\";\nimport { Option } from \"fp-ts/Option\";\nimport { NonEmptyArray } from \"fp-ts/NonEmptyArray\";\nimport { constant, pipe } from \"fp-ts/function\";\nimport * as classes from \"./FlowAccordion.treat\";\nimport {\n Box,\n CheckIcon,\n ContentRow,\n LocalizedString,\n MacroStepper,\n Panel,\n PanelHeaderIcon,\n PencilIcon,\n Stack,\n Sticky,\n useIsMobileLayout,\n} from \"design-system\";\nimport { spaceUnit } from \"design-system/lib/styleConstants\";\n\ntype Props = {\n value: Option;\n items: NonEmptyArray;\n onChange: (value: Option) => unknown;\n disableNavigation?: boolean;\n contentRowType?: \"lateral-margins\" | \"full\";\n};\n\ntype PanelProps = React.ComponentProps;\n\ntype FlowAccordionContentProps = {\n down: () => unknown;\n up: (resetNextSteps?: boolean) => unknown;\n move: (index: number, resetNextSteps?: boolean) => unknown;\n resetNextSteps: () => unknown;\n};\n\nexport type FlowAccordionItem = {\n /**\n * Title of the Panel\n */\n title: LocalizedString;\n /**\n * Content of the Panel, to be rendered only when open\n */\n content: (contentProps: FlowAccordionContentProps) => JSX.Element | null;\n /**\n * Alternative key for accordion panels\n */\n key?: React.Key | null;\n disabled?: boolean;\n hideTitle?: boolean;\n};\n\nfunction panelIcon(\n panelStatus: PanelProps[\"status\"],\n stepNumber: number,\n disabled?: boolean\n): JSX.Element {\n switch (panelStatus) {\n case \"complete\":\n return disabled ? (\n \n ) : (\n \n );\n case \"active\":\n case \"static\":\n return disabled ? (\n \n ) : (\n \n );\n case \"hanging\":\n return disabled ? (\n \n ) : (\n \n );\n case \"disabled\":\n return (\n \n );\n }\n}\n\nfunction getStatusFromIndex(\n accordionItemIndex: number,\n currentIndex: Option,\n visitedPanels: Set\n): PanelProps[\"status\"] {\n return pipe(\n currentIndex,\n option.fold(constant(\"disabled\"), currentIndex => {\n if (accordionItemIndex < currentIndex) {\n return \"complete\";\n }\n if (accordionItemIndex === currentIndex) {\n return \"active\";\n }\n if (visitedPanels.has(accordionItemIndex)) {\n return \"hanging\";\n }\n return \"disabled\";\n })\n );\n}\n\nexport function FlowAccordionMacro(props: Props) {\n const { items, onChange } = props;\n const isMobileLayout = useIsMobileLayout();\n\n const [visitedPanels, setVisitedPanels] = useState>(new Set());\n\n const changeIndex = useCallback(\n (index: number, resetNextSteps?: boolean) => {\n if (resetNextSteps) {\n setVisitedPanels(set.filter(i => i < index));\n } else {\n setVisitedPanels(set.insert(eq.eqNumber)(index));\n }\n\n return onChange(option.some(index));\n },\n [onChange]\n );\n\n useEffect(() => {\n pipe(\n props.value,\n option.map(i =>\n setVisitedPanels(oldPanels =>\n pipe(\n array.range(0, i),\n set.fromArray(eq.eqNumber),\n set.union(eq.eqNumber)(oldPanels)\n )\n )\n )\n );\n }, [props.value]);\n\n const onStepSelect = useCallback(\n (index: number) => {\n const status = props.items[index].disabled\n ? \"disabled\"\n : getStatusFromIndex(index, props.value, visitedPanels);\n\n const isOpen = status === \"active\";\n\n return pipe(\n status !== \"disabled\" && !isOpen,\n boolean.fold(\n () => option.none,\n () => option.some(() => changeIndex(index, false))\n )\n );\n },\n [changeIndex, props.items, props.value, visitedPanels]\n );\n\n const panels = useMemo(\n () =>\n items.map((accordionItem, index) => {\n const status = getStatusFromIndex(index, props.value, visitedPanels);\n\n const isOpen = status === \"active\";\n\n const panelKey = pipe(\n !!accordionItem.key || accordionItem.key === 0,\n boolean.fold(\n () => accordionItem.title,\n () => accordionItem.key\n )\n );\n\n return (\n \n accordionItem.content({\n up: resetNextSteps => changeIndex(index - 1, resetNextSteps),\n down: () => changeIndex(index + 1, false),\n move: (index, resetNextSteps = false) =>\n changeIndex(index, resetNextSteps),\n resetNextSteps: () =>\n setVisitedPanels(set.filter(i => i < index)),\n })\n }\n headerIcon={pipe(\n isMobileLayout,\n boolean.fold(\n () =>\n option.some(\n panelIcon(status, index + 1, accordionItem.disabled)\n ),\n () => option.none\n )\n )}\n isOpen={isOpen}\n onSelect={onStepSelect(index)}\n data-test-id={\n status === \"active\" ? \"accordion_panel_active\" : undefined\n }\n stripSurroundingPadding={true}\n />\n );\n }),\n [\n items,\n changeIndex,\n visitedPanels,\n isMobileLayout,\n props.disableNavigation,\n props.value,\n onStepSelect,\n ]\n );\n\n return pipe(\n isMobileLayout,\n boolean.fold(\n () => (\n \n \n {panels}\n \n \n ),\n () => {\n const currentIndex = pipe(\n props.value,\n // on mobile we always have one visible panel, default to 0 in case it's none for some reason\n option.getOrElse(constant(0))\n );\n const steps = pipe(\n items,\n nonEmptyArray.map(item => item.title),\n zipper.fromNonEmptyArray,\n z =>\n pipe(\n zipper.move(constant(currentIndex), z),\n option.getOrElse(constant(z))\n )\n );\n\n return (\n \n \n \n \n {pipe(panels, array.lookup(currentIndex), option.toNullable)}\n \n );\n }\n )\n );\n}\n","import { Loader } from \"design-system\";\nimport { useEffect } from \"react\";\nimport { useCommand } from \"../useAPI\";\nimport * as api from \"./api\";\nimport { pipe } from \"fp-ts/function\";\nimport { taskEither } from \"fp-ts\";\n\ntype Props = {\n onContinue: () => unknown;\n onError: () => unknown;\n applicantIndex?: string;\n};\n\nexport function DigitalIdStart({ onContinue, onError, applicantIndex }: Props) {\n const start = useCommand(api.digitalIdStart);\n\n useEffect(() => {\n pipe(\n start({ applicantIndex }),\n taskEither.fold(\n _ => taskEither.fromIO(onError),\n _ => taskEither.fromIO(onContinue)\n )\n )();\n }, []);\n\n return (\n <>\n \n \n );\n}\n","import { Body, CheckIcon, FileContent, Loader, Stack } from \"design-system\";\nimport { palette, spaceUnit } from \"design-system/lib/styleConstants\";\nimport { useFormatMessage } from \"../intl\";\nimport { ImageViewer } from \"../Common/DocumentViewer/DocumentViewer\";\nimport { useCommand } from \"../useAPI\";\nimport * as api from \"./api\";\nimport { useEffect, useState } from \"react\";\nimport { pipe } from \"fp-ts/function\";\nimport { taskEither } from \"fp-ts\";\nimport { DigitalIdClientIdentified } from \"./api\";\n\ntype Props = {\n onClientIdentified: () => unknown;\n};\n\nexport function DigitalIdClientProfile({ onClientIdentified }: Props) {\n const formatMessage = useFormatMessage();\n const [\n clientIdentified,\n setClientIdentified,\n ] = useState();\n const getClientIdentified = useCommand(api.digitalIdClientIdentified);\n\n useEffect(() => {\n pipe(\n getClientIdentified(),\n taskEither.map(r => {\n setClientIdentified(r);\n onClientIdentified();\n })\n )();\n }, []);\n\n if (!clientIdentified) {\n return ;\n }\n\n return (\n <>\n \n \n \n \n \n {formatMessage(\"DigitalId.ClientIdentified\")}\n \n \n \n \n );\n}\n","import { Body, Box, Loader, LoadingButton, Space, Stack } from \"design-system\";\nimport { useFormatMessage } from \"../intl\";\nimport { useCommand, usePollingEffect } from \"../useAPI\";\nimport { constNull, pipe } from \"fp-ts/function\";\nimport * as api from \"./api\";\nimport { useEffect } from \"react\";\nimport { taskEither } from \"fp-ts\";\nimport { useDigitalIdParentReducer } from \"./state\";\nimport { DigitalIdInstructions } from \"./DigitalIdInstructions\";\n\ntype Props = {\n onContinue: () => unknown;\n onStop: () => unknown;\n};\n\nexport function DigitalIdStatus({ onContinue, onStop }: Props) {\n const formatMessage = useFormatMessage();\n const [, setState] = useDigitalIdParentReducer();\n const getQrCode = useCommand(api.digitalIdQrCode);\n\n const getQrCodeAndSave = pipe(\n getQrCode(),\n taskEither.map(qr => setState(qr))\n );\n\n useEffect(() => {\n getQrCodeAndSave();\n return () => setState(undefined);\n }, []);\n\n usePollingEffect(api.digitalIdStatus, {\n intervalMS: 2000,\n shouldPollingContinue: ({ status }) => status === \"RETRY\",\n onError: constNull,\n onSuccess: ({ status }) => {\n if (status === \"CONTINUE\") {\n onContinue();\n } else if (status === \"STOP\") {\n onStop();\n }\n },\n });\n\n return (\n <>\n \n \n \n {formatMessage(\"DigitalId.Message\")}\n \n \n {formatMessage(\"DigitalId.Description\")}\n \n \n \n {formatMessage(\"DigitalId.Button.Message\")}\n \n \n \n \n \n \n \n );\n}\n","import {\n Body,\n Box,\n LoadingButton,\n Space,\n Stack,\n WrongIcon,\n} from \"design-system\";\nimport { useFormatMessage } from \"../intl\";\nimport { DigitalIdInstructions } from \"./DigitalIdInstructions\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\nimport { palette, spaceUnit } from \"design-system/lib/styleConstants\";\n\ntype Props = {\n onRetry: TaskEither;\n};\n\nexport function DigitalIdStop({ onRetry }: Props) {\n const formatMessage = useFormatMessage();\n\n return (\n <>\n \n \n \n \n \n \n \n {formatMessage(\"DigitalId.Stop.Message\")}\n \n \n \n \n {formatMessage(\"DigitalId.Stop.Button.Message\")}\n \n \n \n \n \n \n \n );\n}\n","import { option, taskEither } from \"fp-ts\";\nimport {\n Box,\n FormErrors,\n LoadingButton,\n Space,\n TextField,\n unsafeLocalizedString,\n} from \"design-system\";\nimport { useFormatMessage } from \"../intl\";\nimport { useState } from \"react\";\nimport { useCommand } from \"../useAPI\";\nimport { pipe } from \"fp-ts/function\";\nimport { digitalIdSetBirthNumber } from \"./api\";\n\ntype Props = {};\n\nexport function DigitalIdClientMock(_: Props) {\n const formatMessage = useFormatMessage();\n const [birthNumber, setBirthNumber] = useState(\"\");\n const [error, setError] = useState();\n const setCustomerBirthNumber = useCommand(digitalIdSetBirthNumber);\n\n const handleSubmit = birthNumber\n ? pipe(\n setCustomerBirthNumber({ birthNumber: birthNumber }),\n taskEither.fold(\n () => taskEither.fromIO(() => setError(\"Invalid birth number\")),\n () => taskEither.fromIO(() => {})\n )\n )\n : taskEither.left(() => {});\n\n return (\n <>\n \n \n \n {\n setError(undefined);\n setBirthNumber(v);\n }}\n value={birthNumber}\n label={unsafeLocalizedString(\"\")}\n placeholder={formatMessage(\n \"Identification.personalData.birthNumber\"\n )}\n issues={option.none}\n onBlur={() => {}}\n />\n \n \n \n \n \n \n {error ? (\n <>\n \n \n \n \n \n ) : (\n <>\n )}\n \n );\n}\n","import { ComponentProps } from \"react\";\nimport { ReadOnlyDateField } from \"../ReadOnlyDateField/ReadOnlyDateField\";\nimport { pipe } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\nimport { MonthYearField } from \"../MonthYearField/MonthYearField\";\n\ntype Feedback = ComponentProps[\"feedback\"];\n\ntype Props = ComponentProps & {\n edit: boolean;\n feedback?: Feedback;\n};\n\nexport function OptionalEditMonthYearField(props: Props) {\n const { edit, ...fieldProps } = props;\n\n const finalDate = pipe(\n props.value,\n option.map(({ month, year }) => {\n const finalDate = new Date();\n finalDate.setFullYear(year);\n finalDate.setMonth(month - 1);\n return finalDate;\n })\n );\n\n return edit ? (\n \n ) : (\n \n );\n}\n","import \"!../../../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js!css-loader?{\\\"modules\\\":false,\\\"url\\\":false}!./OptionalEditTextField.treat.1XiUC1i.css\";\nexport var textAlignment = '_3PM4x';","export function getOnlyDownloadMimes(isSafari: boolean) {\n const mimes = [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \"application/vnd.ms-outlook\",\n ];\n if (!isSafari) {\n mimes.push(\"image/tiff\");\n }\n return mimes;\n}\n","import * as t from \"io-ts\";\nimport {\n sharedReducerConfig,\n useChildSharedReducer,\n useParentSharedReducer,\n} from \"../BranchExperience/useSharedReducer\";\nimport { Dispatch } from \"react\";\nimport { pipe } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\n\nconst State = t.union([\n t.type({\n qrCode: t.string,\n }),\n t.undefined,\n]);\n\nexport type State = t.TypeOf;\n\nconst UpdateAction = t.type({\n type: t.literal(\"UpdateAction\"),\n payload: State,\n});\n\nconst Action = UpdateAction;\n\nexport type Action = t.TypeOf;\n\nfunction reducer(_: State, action: Action): State {\n switch (action.type) {\n case \"UpdateAction\":\n return action.payload;\n }\n}\n\nfunction digitalIdReducerConfig() {\n return sharedReducerConfig(\"DigitalId\", State, Action, reducer);\n}\n\nexport function useDigitalIdParentReducer(\n initState?: State\n): [State, Dispatch] {\n const [state, dispatch] = useParentSharedReducer(\n digitalIdReducerConfig(),\n initState\n );\n const setState = (s: State) => dispatch({ type: \"UpdateAction\", payload: s });\n\n return [state, setState];\n}\n\nexport function useDigitalIdChildReducer(): [State, Dispatch] {\n const [state, dispatch] = useChildSharedReducer(digitalIdReducerConfig());\n const setState = (s: State) => dispatch({ type: \"UpdateAction\", payload: s });\n\n return [\n pipe(\n state,\n option.fold(\n () => undefined,\n state => state\n )\n ),\n setState,\n ];\n}\n","import { useAppContext } from \"../useAppContext\";\nimport { Currency } from \"../globalDomain\";\n\nexport function useTenantCurrency(): Currency {\n const {\n apiParameters: { tenant },\n } = useAppContext();\n\n switch (tenant) {\n case \"CZ\":\n return \"CZK\";\n case \"SK\":\n return \"EUR\";\n }\n}\n","import { AlertDialog, WarningIcon } from \"design-system\";\nimport { useFormatMessage } from \"../../intl\";\n\ntype Props = {\n onAnswer: (answer: boolean) => unknown;\n onDismiss: () => unknown;\n};\n\nexport function MarketingConsentConfirmationDialog(props: Props) {\n const formatMessage = useFormatMessage();\n return (\n props.onAnswer(true)}\n onCancel={() => props.onAnswer(false)}\n onDismiss={props.onDismiss}\n />\n );\n}\n","import { Reader } from \"fp-ts/Reader\";\nimport {\n ExistingClientAuthenticationMethod,\n GenericError,\n} from \"../../globalDomain\";\nimport {\n SmartKey,\n SmartKeyChild,\n SmartKeyProps,\n} from \"../../SmartKey/SmartKey\";\nimport { ExternalPushNotificationCard } from \"./ExternalPushNotificationCard\";\nimport {\n OtpGenerationError,\n OtpGenerationInput,\n OtpGenerationOutput,\n OtpVerifyError,\n OtpVerifyInput,\n} from \"../../OTP/domain\";\nimport { Path } from \"../../APICall\";\nimport * as smartKeyApi from \"../../SmartKey/api\";\nimport { SBAuthorizationButton } from \"./SBAuthorizationButton\";\nimport { IO } from \"fp-ts/IO\";\nimport {\n OTPAuthorization,\n OTPAuthorizationChild,\n} from \"../../OTPAuthorization/OTPAuthorization\";\nimport { ReaderTaskEither } from \"fp-ts/ReaderTaskEither\";\nimport { Option } from \"fp-ts/Option\";\nimport {\n LocalizedString,\n unsafePositiveInteger,\n Banner,\n Stack,\n useIsTouchScreen,\n} from \"design-system\";\nimport { useFormatMessage } from \"../../intl\";\nimport { pipe } from \"fp-ts/function\";\nimport { option, taskEither } from \"fp-ts\";\n\nimport { useBranchExperienceContext } from \"../../BranchExperience/BranchExperienceContext\";\nimport { OTPAuthorizationParent } from \"../../OTPAuthorization/OTPAuthorizationParent\";\nimport { SmartKeyMode } from \"../../SmartKey/SmartKeyState\";\nimport { SmartKeyParent } from \"../../SmartKey/SmartKeyParent\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\n\nexport type IDProps = {\n authenticationMethod: Extract;\n phoneNumber: string;\n generateOtpCommand: ReaderTaskEither<\n OtpGenerationInput,\n OtpGenerationError | GenericError,\n OtpGenerationOutput & { transactionId: Option }\n >;\n verifyOtpCommand: ReaderTaskEither<\n OtpVerifyInput,\n OtpVerifyError | GenericError,\n unknown\n >;\n onSignFailure: () => unknown;\n};\n\nexport type PushNotificationAndQRProps = {\n authenticationMethod: Extract<\n ExistingClientAuthenticationMethod,\n \"PUSH_NOTIFICATION\" | \"QR\"\n >;\n authorizeWithPush: ReaderTaskEither<\n void,\n unknown,\n smartKeyApi.SendPushOutput\n >;\n checkAuthorizationPushPath: Path;\n generateAuthorizationQR: ReaderTaskEither<\n void,\n unknown,\n smartKeyApi.GenerateQRCodeOutput\n >;\n checkAuthorizationQRPath: Path;\n onFailedSignature: () => unknown;\n};\n\nexport type ExternalPushNotificationProps = {\n authenticationMethod: Extract<\n ExistingClientAuthenticationMethod,\n \"EXTERNAL_PUSH_NOTIFICATION\"\n >;\n onApplicationRejected: () => unknown;\n authorizeWithPushTLS: ReaderTaskEither<\n void,\n unknown,\n smartKeyApi.SendPushNoTransactionOutput\n >;\n};\n\nexport type PINProps = {\n authenticationMethod: Extract;\n beforeAuthorizationAction: IO;\n checkAuthorizationPushPath: Path;\n canStartAuthorization?: TaskEither;\n biometric?: boolean;\n};\n\nexport type SignatureProps =\n | IDProps\n | PushNotificationAndQRProps\n | ExternalPushNotificationProps\n | PINProps;\n\ntype Props = {\n onContinue: () => unknown;\n startSignature: () => unknown;\n onCancelSignature: () => unknown;\n isSignatureStarted: boolean;\n signatureProps: SignatureProps;\n smartKeyInitialMode?: SmartKeyMode;\n otpLength?: number;\n hideRequestNotice?: boolean;\n};\n\nfunction foldPropsAuthenticationMethod(matches: {\n ID: Reader;\n PUSH_NOTIFICATION: Reader;\n QR: Reader;\n EXTERNAL_PUSH_NOTIFICATION: Reader;\n PIN: Reader;\n}): Reader {\n return props => {\n switch (\n props.signatureProps.authenticationMethod // NOSONAR\n ) {\n case \"ID\":\n return matches.ID(props.signatureProps);\n case \"PUSH_NOTIFICATION\":\n return matches.PUSH_NOTIFICATION(props.signatureProps);\n case \"QR\":\n return matches.QR(props.signatureProps);\n case \"PIN\":\n return matches.PIN(props.signatureProps);\n case \"EXTERNAL_PUSH_NOTIFICATION\":\n return matches.EXTERNAL_PUSH_NOTIFICATION(props.signatureProps);\n }\n };\n}\n\nexport function DocumentsSignature(props: Props) {\n const formatMessage = useFormatMessage();\n const { branchExperienceFeaturesActive } = useBranchExperienceContext();\n const isTouchScreen = useIsTouchScreen();\n\n return pipe(\n props,\n foldPropsAuthenticationMethod({\n ID: signatureProps => {\n const otpAuthProps = {\n phoneNumber: signatureProps.phoneNumber,\n onSuccess: taskEither.fromIO(props.onContinue),\n onFailure: signatureProps.onSignFailure,\n requestNotice: props.hideRequestNotice\n ? option.none\n : option.some(\n formatMessage(\"Identification.otp.authorizeWithSMS.subtitle\")\n ),\n otpRequestButtonLabel: formatMessage(\n \"UKonto.ReadDocuments.sendOTPToSign\"\n ),\n otpSubmitButtonLabel: formatMessage(\"Identification.otp.signViaOTP\"),\n otpTitleLabel: formatMessage(\n \"Identification.otp.authorizeWithSMS.title\"\n ),\n onProcessStart: taskEither.fromIO(() => props.startSignature()),\n processStarted: props.isSignatureStarted,\n onGenerateOTP: signatureProps.generateOtpCommand,\n onVerifyOTP: signatureProps.verifyOtpCommand,\n length: props.otpLength\n ? unsafePositiveInteger(props.otpLength)\n : unsafePositiveInteger(4),\n };\n\n if (isTouchScreen) {\n return (\n \n \n \n \n );\n }\n if (branchExperienceFeaturesActive) {\n return ;\n } else {\n return ;\n }\n },\n QR: signatureProps => {\n const smartKeyProps: SmartKeyProps = {\n variant: \"authorization\",\n onSuccess: props.onContinue,\n onProcessStart: props.startSignature,\n processStarted: props.isSignatureStarted,\n authorizeWithPush: signatureProps.authorizeWithPush,\n checkAuthorizationPushPath: signatureProps.checkAuthorizationPushPath,\n generateAuthorizationQR: signatureProps.generateAuthorizationQR,\n checkAuthorizationQRPath: signatureProps.checkAuthorizationQRPath,\n onFailedSignature: signatureProps.onFailedSignature,\n initialMode: props.smartKeyInitialMode,\n };\n if (isTouchScreen) {\n return ;\n }\n if (branchExperienceFeaturesActive) {\n return ;\n } else {\n return ;\n }\n },\n PUSH_NOTIFICATION: signatureProps => {\n const smartKeyProps: SmartKeyProps = {\n variant: \"authorization\",\n onSuccess: props.onContinue,\n onProcessStart: props.startSignature,\n processStarted: props.isSignatureStarted,\n authorizeWithPush: signatureProps.authorizeWithPush,\n checkAuthorizationPushPath: signatureProps.checkAuthorizationPushPath,\n generateAuthorizationQR: signatureProps.generateAuthorizationQR,\n checkAuthorizationQRPath: signatureProps.checkAuthorizationQRPath,\n onFailedSignature: signatureProps.onFailedSignature,\n initialMode: props.smartKeyInitialMode,\n };\n if (isTouchScreen) {\n return ;\n }\n if (branchExperienceFeaturesActive) {\n return ;\n } else {\n return ;\n }\n },\n EXTERNAL_PUSH_NOTIFICATION: signatureProps => {\n return (\n \n );\n },\n PIN: signatureProps => {\n return (\n \n );\n },\n })\n );\n}\n","import { LocalizedStringBrand } from \"design-system\";\nimport { option } from \"fp-ts\";\nimport { constVoid, pipe } from \"fp-ts/function\";\nimport { IO } from \"fp-ts/IO\";\nimport { Option } from \"fp-ts/Option\";\nimport { MainLayout } from \"../MainLayout/MainLayout\";\nimport { PortalStatusAlert } from \"../PortalStatusAlert/PortalStatusAlert\";\nimport { ValidateDetailsOutput } from \"./api\";\nimport { Branded } from \"io-ts\";\nimport { UserNotValidatedError } from \"./UserNotValidatedError\";\nimport { headerActions, MainContent } from \"../MainContent\";\n\ntype Props = {\n validationResult: ValidateDetailsOutput;\n onExit: Option>;\n onDismiss: Option>;\n title: Branded;\n};\n\nexport function UserNotValidatedDialog(props: Props) {\n return (\n headerActions.exit(onExit))\n )}\n title={option.some(props.title)}\n >\n \n \n \n \n \n );\n}\n","import { ValidateDetailsOutput } from \"./api\";\nimport { LocaleKey } from \"../../intl\";\n\nexport function getDialogTexts(\n validationResult: ValidateDetailsOutput\n): { title: LocaleKey; message: LocaleKey } {\n if (!validationResult.hasPhoneNumber) {\n return {\n title: \"UserValidation.missingPhoneNumberTitle\",\n message: \"UserValidation.missingPhoneNumberMessage\",\n };\n } else if (!validationResult.isPhoneNumberVerified) {\n return {\n title: \"UserValidation.phoneNumberNotVerifiedTitle\",\n message: \"UserValidation.phoneNumberNotVerifiedMessage\",\n };\n } else if (!validationResult.hasPasswordForCommunication) {\n return {\n title: \"UserValidation.passwordNotSpecifiedTitle\",\n message: \"UserValidation.passwordNotSpecifiedMessage\",\n };\n } else if (!validationResult.hasEmailAddress) {\n return {\n title: \"UserValidation.missingEmailTitle\",\n message: \"UserValidation.missingEmailMessage\",\n };\n } else if (!validationResult.isEmailVerified) {\n return {\n title: \"UserValidation.emailNotVerifiedTitle\",\n message: \"UserValidation.emailNotVerifiedMessage\",\n };\n } else {\n return {\n title: \"Ok\",\n message: \"Ok\",\n };\n }\n}\n","import { option } from \"fp-ts\";\nimport { ComponentProps, forwardRef } from \"react\";\nimport { Option } from \"fp-ts/Option\";\nimport {\n FieldProps,\n LocalizedString,\n NumberField,\n TextChildren,\n} from \"design-system\";\nimport { useFormatCurrency } from \"../../../intl\";\nimport { Currency, Positive } from \"../../../globalDomain\";\n\ntype Props = FieldProps> & {\n id?: string;\n description?: LocalizedString;\n placeholder: LocalizedString;\n autoFocus?: boolean;\n min?: number;\n max?: number;\n step?: Positive;\n currency: Currency;\n cta?: ComponentProps[\"cta\"];\n assistiveText?: TextChildren;\n decimalDigits?: number;\n};\n\nexport const MoneyField = forwardRef(\n (props, forwardedRef) => {\n const formatCurrency = useFormatCurrency();\n const decimalDigits =\n props.decimalDigits !== undefined ? props.decimalDigits : 3;\n\n return (\n \n );\n }\n);\n","import {\n Box,\n Button,\n Checkbox,\n FileIcon,\n Space,\n Stack,\n StatusLabel,\n useIsMobileLayout,\n} from \"design-system\";\nimport { option } from \"fp-ts\";\nimport { constFalse, pipe } from \"fp-ts/function\";\nimport { useFormatMessage } from \"../../intl\";\nimport { PreContractualDocumentMeta } from \"../documentAPI\";\nimport { DocumentReadStatus, mediationInsuranceDocset } from \"./utils\";\n\nexport type DocumentReadingConfirmProps =\n | {\n readingConfirmationType: \"none\";\n }\n | {\n readingConfirmationType: \"status\";\n readStatus: DocumentReadStatus;\n }\n | {\n readingConfirmationType: \"checkbox\";\n isRead: boolean;\n onRead: () => unknown;\n onUnread: () => unknown;\n disabled: boolean;\n };\n\ntype Props = {\n document: PreContractualDocumentMeta;\n dataTestId: string;\n showErrors: boolean;\n onDocumentOpen: (document: PreContractualDocumentMeta) => unknown;\n isForeignClient?: boolean;\n onForeignDocumentOpen: (document: PreContractualDocumentMeta) => unknown;\n} & DocumentReadingConfirmProps;\n\nexport function DocumentItem(props: Props) {\n const isMobileLayout = useIsMobileLayout();\n const formatMessage = useFormatMessage();\n\n const rightContent = (() => {\n switch (props.readingConfirmationType) {\n case \"none\":\n return null;\n case \"status\":\n switch (props.readStatus) {\n case \"Read\":\n return (\n \n );\n case \"Reading\":\n return (\n \n );\n case \"Unread\":\n return (\n \n );\n }\n case \"checkbox\":\n return (\n item === mediationInsuranceDocset)\n )\n ? formatMessage(\n \"UKonto.ReadDocuments.Modal.checkbox.uKontoInsuranceMediation\"\n )\n : formatMessage(\"UKonto.ReadDocuments.clientHasRead\")\n )}\n value={props.isRead}\n onChange={() => {\n if (props.isRead) {\n props.onUnread();\n } else {\n props.onDocumentOpen(props.document);\n }\n }}\n issuesType={\n props.showErrors && !props.isRead\n ? option.some(\"error\")\n : option.none\n }\n disabled={props.disabled}\n />\n );\n }\n })();\n\n const stackProps = isMobileLayout\n ? {\n column: true,\n units: 6,\n }\n : ({\n column: false,\n fluid: true,\n vAlignContent: \"center\",\n } as\n | { column: boolean; units: number }\n | { column: boolean; fluid: true; vAlignContent: \"center\" });\n\n const isFrameWorkAgreement = (document: PreContractualDocumentMeta) =>\n pipe(\n document.docType,\n option.fold(constFalse, docType => docType === \"FRAMEWORK_AGREEMENT\")\n );\n\n const isProductContract = (document: PreContractualDocumentMeta) =>\n pipe(\n document.docType,\n option.fold(constFalse, docType => docType === \"PRODUCT_CONTRACT_ACCOUNT\")\n );\n\n return (\n \n \n props.onDocumentOpen(props.document)}\n disabled={\n props.readingConfirmationType === \"checkbox\" && props.disabled\n }\n />\n {props.isForeignClient &&\n (isFrameWorkAgreement(props.document) ||\n isProductContract(props.document)) && (\n \n \n props.onForeignDocumentOpen(props.document)}\n disabled={\n props.readingConfirmationType === \"checkbox\" && props.disabled\n }\n />\n \n )}\n \n {rightContent}\n \n );\n}\n","import {\n Body,\n Card,\n Heading,\n LoadingButton,\n SmartphoneIcon,\n Stack,\n} from \"design-system\";\nimport { boolean, taskEither } from \"fp-ts\";\nimport { constVoid, flow, pipe } from \"fp-ts/function\";\nimport { useFormatMessage } from \"../../intl\";\nimport * as api from \"../../SmartKey/api\";\nimport { ReaderTaskEither } from \"fp-ts/ReaderTaskEither\";\n\ntype Props = {\n onContinue: () => unknown;\n onApplicationRejected: () => unknown;\n authorizeWithPushTLS: ReaderTaskEither<\n void,\n unknown,\n api.SendPushNoTransactionOutput\n >;\n};\n\nexport function ExternalPushNotificationCard(props: Props) {\n const formatMessage = useFormatMessage();\n\n return (\n \n \n \n \n \n {formatMessage(\"SmartKey.title.authorization\")}\n \n \n {formatMessage(\"SmartKey.externalAuthorizationMessage\")}\n \n \n applicationRejected,\n boolean.fold(props.onContinue, props.onApplicationRejected)\n )\n )\n )}\n size=\"default\"\n />\n \n \n );\n}\n","import { ContentRow, Box, Button, LocalizedString } from \"design-system\";\nimport { IO } from \"fp-ts/IO\";\nimport { useSBDeepLink } from \"../useSBDeepLink\";\nimport { SBAuthorizationResultWaiting } from \"./SBAuthorizationResultWaiting\";\nimport { useState } from \"react\";\nimport { Path } from \"../../APICall\";\nimport { option, taskEither } from \"fp-ts\";\nimport { constVoid, pipe } from \"fp-ts/function\";\nimport { TaskEither } from \"fp-ts/TaskEither\";\nimport { Option } from \"fp-ts/Option\";\nimport { usePortalStatusContext } from \"../../PortalStatusContext\";\n\ntype Props = {\n label: LocalizedString;\n onProcessStart: () => unknown;\n processStarted: boolean;\n beforeAuthorizationAction: IO;\n onCancelSignature: () => unknown;\n checkAuthorizationPushPath: Path;\n canStartProcess: Option>;\n} & {\n onSuccess: () => unknown;\n biometric: boolean;\n};\n\nexport function SBAuthorizationButton(props: Props) {\n const sbAuthorize = useSBDeepLink(\"Authorize\", props.biometric);\n const [sbAuthorizeCalled, setSbAuthorizeCalled] = useState(false);\n const { portalBlocked } = usePortalStatusContext();\n\n if (props.processStarted && !sbAuthorizeCalled) {\n setSbAuthorizeCalled(true);\n props.beforeAuthorizationAction();\n sbAuthorize();\n }\n\n const cancelSignatureRequest = () => {\n props.onCancelSignature();\n setSbAuthorizeCalled(false);\n };\n\n const onSignButtonClicked = () =>\n pipe(\n props.canStartProcess,\n option.fold(props.onProcessStart, canStartProcess =>\n pipe(\n canStartProcess,\n taskEither.map(canStartProcess =>\n canStartProcess ? props.onProcessStart() : constVoid\n )\n )()\n )\n );\n\n return (\n \n \n {props.processStarted ? (\n \n ) : (\n \n )}\n \n \n );\n}\n","import { Box, Loader, Space } from \"design-system\";\nimport { IO } from \"fp-ts/IO\";\nimport { useMemo } from \"react\";\nimport { checkPush } from \"../../SmartKey/api\";\nimport { usePollingEffect } from \"../../useAPI\";\nimport { Path } from \"../../APICall\";\n\ntype Props = {\n onSuccess: IO;\n onFailure: IO;\n onCancel: IO;\n checkAuthorizationPushPath: Path;\n};\n\nexport function SBAuthorizationResultWaiting(props: Props) {\n const checkAuthorization = useMemo(\n () => checkPush(props.checkAuthorizationPushPath),\n []\n );\n\n usePollingEffect(checkAuthorization, {\n intervalMS: 3000,\n shouldPollingContinue: ({ status }) => status === \"RETRY\",\n onError: props.onFailure,\n onSuccess: ({ status }) => {\n switch (status) {\n case \"RETRY\":\n return;\n case \"ERR\":\n return props.onFailure();\n case \"OK\":\n return props.onSuccess();\n case \"CANCEL\":\n return props.onCancel();\n }\n },\n });\n\n return (\n \n \n \n \n );\n}\n","import { RestoreNewestLoanApplicationOutput as SLRestoreData } from \"../../StandardLoan/api\";\n\nexport type RestoreDataType = \"latest\" | \"byId\";\n\nexport type RestoreDataObjectSL = {\n restoreData: SLRestoreData;\n restoreDataType: RestoreDataType;\n};\n\nexport function foldRestoreDataType(\n restoreDataType: RestoreDataType,\n match: { onById: () => T; onLatest: () => T }\n) {\n switch (restoreDataType) {\n case \"byId\":\n return match.onById();\n case \"latest\":\n return match.onLatest();\n }\n}\n","import * as classes from \"./PortalStatusMaintenance.treat\";\nimport {\n Box,\n Space,\n ContentRow,\n SettingsIcon,\n useIsMobileLayout,\n Heading,\n LocalizedString,\n Body,\n TextChildren,\n linebreak,\n} from \"design-system\";\nimport { option } from \"fp-ts\";\nimport { Option } from \"fp-ts/Option\";\nimport { useFormatMessage } from \"../../intl\";\nimport { KOError } from \"../KOError/KOError\";\nimport { palette } from \"design-system/lib/styleConstants\";\nimport { constVoid, pipe } from \"fp-ts/function\";\nimport { MainLayout } from \"../MainLayout/MainLayout\";\n\ntype Props = {\n message: LocalizedString;\n additionalMessage: Option;\n};\n\nfunction PortalStatusMaintenance(props: Props) {\n const formatMessage = useFormatMessage();\n const isMobileLayout = useIsMobileLayout();\n\n if (isMobileLayout) {\n return (\n \n \n \n \n \n \n \n \n {formatMessage(\"PortalStatus.maintenance.header.title\")}\n \n \n \n \n \n {props.message}\n \n {pipe(\n props.additionalMessage,\n option.map(msg => (\n <>\n \n \n {msg}\n \n \n )),\n option.toNullable\n )}\n \n \n \n \n );\n }\n\n return (\n \n >(\n () => option.some(props.message),\n msg => option.some([props.message, linebreak, linebreak, msg])\n )\n )}\n action={option.none}\n />\n \n );\n}\n\nexport default PortalStatusMaintenance;\n","import \"!../../../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js!css-loader?{\\\"modules\\\":false,\\\"url\\\":false}!./PortalStatusMaintenance.treat.2gKkukt.css\";\nexport var container = '_38W6F';","import { pipe, constNull } from \"fp-ts/function\";\nimport { option } from \"fp-ts\";\nimport { getLastSavedLoan } from \"../../StandardLoan/api\";\nimport { Option } from \"fp-ts/Option\";\n\nimport { RestoreDataObjectSL } from \"./domain\";\n\nimport * as remoteData from \"../../RemoteData\";\nimport { useQuery } from \"../../useAPI\";\n\nexport const OpenLoanApplicationWrapperLatest = (props: {\n renderStandardLoan: (restoreData: Option) => JSX.Element;\n}) => {\n const [openLoan] = useQuery(getLastSavedLoan);\n\n return pipe(\n openLoan,\n remoteData.fold(\n constNull,\n () => props.renderStandardLoan(option.none),\n response =>\n props.renderStandardLoan(\n option.some({\n restoreData: response.restoreData,\n restoreDataType: \"latest\",\n })\n )\n )\n );\n};\n","// NOTE(gabro): PageHeading was moved to the DS, and this re-export is to avoid\n// changing all the imports in blocks\nexport { PageHeading } from \"design-system\";\n"],"sourceRoot":""}