{"version":3,"sources":["img/content/card-caixa-iu_only.png","img/logo_cgd.svg","../node_modules/pdfjs-dist/build sync","img/icn/icn_app-store.png","img/icn/icn_google-play.png","img/icn/icon-whatsapp.svg","img/icn/icn_lock_field.svg","img/icn/icn_edit_field.svg","img/content/card-caixa-iu_hand.png","img/logo/logo_descontos.png","img/content/app-caixadireta_logo.png","img/content/app-caixadireta1.png","img/icn/icn_app-gallery.png","img/content/card-caixa-isic.png","img/logo/logo_Booking.png","img/logo/logo_Galp.png","img/logo/logo_gms_store.png","img/logo/logo_fitnessup.png","img/logo/logo_new_balance.png","img/logo/logo_TheBodyShop.jpg","img/logo/logo_Hard-Rock-Cafe.png","img/logo/logo_British_council.png","img/logo/logo_copimatica.png","img/logo/logo_waynabox.png","img/logo/logo_American_tourister.png","img/logo/logo_samsung.png","img/logo/logo_flag.png","img/logo/logo_totto.png","img/logo/logo_omio.png","img/content/app-continente-1.png","img/content/app-continente-2.png","img/content/app-continente-3.png","img/content/app-continente-4.png","img/content/continente-offers.png","img/bg/bg_conta-poupanca.png","img/icn/icn_file_upload.svg","img/logo/logo_Lenovo.png","img/logo/logo_PC para todos.png","img/logo/logo_Kalorias.png","img/logo/logo_Paez.jpg","img/logo/logo_ambar.png","img/logo/logo_Papelaria Fernandes.jpg","img/logo/logo_MakeNotes.jpg","img/logo/logo_iServices.png","img/logo/logo_Myprotein.jpg","img/icn sync /^/icon/-.*/.svg$","img/icn/icon-001.svg","img/icn/icon-002.svg","img/icn/icon-003.svg","img/icn/icon-004.svg","img/icn/icon-005.svg","components/Global/NavMenu.js","components/Global/Footer.js","components/Global/CookieBar.js","components/Layout.js","components/api-authorization/User.js","components/api-authorization/UserManager.js","components/api-authorization/AuthorizeService.js","components/Global/Loading.js","components/Fields/LogoutButton.js","components/Global/LogoutBar.js","components/Homepage/Banner.js","components/Homepage/Benefits.js","components/Homepage/CreateCard.js","components/Homepage/FAQs.js","components/Homepage/Home.js","components/Global/SettingsManager.js","components/Authentication/AuthNavigation.js","img/icn/icn_gov-authentication.svg","img/icn/icn_sms.svg","components/Authentication/Authentication.js","components/Fields/NifField.js","components/Fields/TooltipItem.js","components/Fields/PhoneNumberField.js","components/Authentication/RequestTokenForm.js","components/Fields/SMSTokenField.js","components/Authentication/TokenForm.js","components/Authentication/AuthByToken.js","components/Authentication/AuthByDigitalKey.js","components/api-authorization/ApiAuthorizationConstants.js","components/api-authorization/AuthorizeRoute.js","components/Form/MainFormNavInfo.js","components/Form/MainFormNavigation.js","components/Form/MainFormStep1.js","components/Fields/NameField.js","components/Fields/CountryAutoCompleteField.js","components/Fields/IdentificationField.js","components/Fields/GendersField.js","components/Fields/CountingInput.js","components/Fields/PoliticalRelations.js","components/Fields/EmailField.js","components/Form/SideBarStep2.js","components/Fields/AddressField.js","components/Fields/PlaceOfBirthField.js","components/Form/MainFormStep2.js","components/Form/Product/CardCaixaIU.js","components/Form/Product/CaixaDireta.js","components/Form/Product/CardCaixaISIC.js","components/Fields/ContinenteCardNumberField.js","components/Form/Product/CardContinente.js","components/Form/Product/ContaPoupanca.js","components/Form/pdf/all-pages.js","components/Form/Modal.js","components/Fields/ClientQuestionField.js","components/Fields/NumberOfClientField.js","components/Fields/AccountNumberField.js","components/Fields/CardNumberField.js","components/Form/MainFormStep3.js","img/icn/icn_camera.svg","components/Fields/UploadField.js","components/Fields/BusinessRelationshipField.js","components/Fields/SourceFundsField.js","components/Form/MainFormStep4.js","components/Fields/PinField.js","components/Fields/SubmitButton.js","components/DigitalSignature/CryptoService.js","components/DigitalSignature/DigitalSignatureRequest.js","components/DigitalSignature/DigitalSignatureConfirmation.js","components/DigitalSignature/AMADigitalSignature.js","components/Fields/FirstExperienceField.js","components/Fields/SecondExperienceFields.js","components/Fields/ThirdFieldQuiz.js","components/Fields/FourthFieldQuiz.js","components/Fields/fifthFieldQuiz.js","components/DigitalSignature/DownloadPdf.js","components/Form/MainFormStep5.js","components/Form/LegalDocumentation.js","components/Form/FormManager.js","components/Authentication/FooterDocuments.js","components/Form/MainForm.js","components/Global/ErrorPage.js","components/Global/SuccessPage.js","components/Global/ResourcesManager.js","components/Global/GoogleTagManager.js","App.js","index.js"],"names":["module","exports","webpackEmptyContext","req","e","Error","code","keys","resolve","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","NavMenu","Component","constructor","props","super","this","state","visibility","toggleNavbar","bind","setState","render","globalResources","React","createElement","Navbar","className","dark","Container","NavbarToggler","onClick","Modal","isOpen","fade","toggle","wrapClassName","backdropClassName","ModalBody","NavbarBrand","tag","Link","to","src","LogoCGD","height","alt","LogoCGDAltText","Nav","navbar","NavItem","NavLink","href","Menu1LinkURL","Menu1","Menu2LinkURL","Menu2","Menu3LinkURL","Menu3","Menu4LinkURL","Menu4","displayName","name","Footer","Row","Col","xs","md","dangerouslySetInnerHTML","__html","FooterContacts","FooterContactsNumber","FooterCopyRight","width","CookieBar","hidden","handleClick","componentDidMount","localStorage","getItem","event","preventDefault","setItem","role","aria-hidden","CookieBarDescription","Button","type","color","outline","NavAcceptText","Layout","Fragment","children","User","access_token","profile","expires_at","errorCode","now","parseInt","Date","value","expires_in","undefined","toStorageString","JSON","stringify","storageString","parse","UserManager","response","fetch","method","cache","headers","result","json","status","ok","error","data","body","message","jwtToken","username","expirationDate","keepalive","window","location","authService","_callbacks","_nextSubscriptionId","_user","_isAuthenticated","_popUpDisabled","ensureUserManagerInitialized","userManager","isAuthenticated","userSignedIn","signIn","updateState","success","url","user","signinCallback","userSignedOut","signOut","notifySubscribers","subscribe","callback","push","subscription","unsubscribe","subscriptionId","subscriptionIndex","element","index","found","filter","length","splice","i","createArguments","useReplaceToNavigate","AuthenticationResultStatus","Fail","Success","redirect","Redirect","Loading","loadingText","Spinner","LogoutButton","loading","requestLogout","logoutForm","LogoutBar","authenticated","populateAuthenticationState","then","LogoutLinkButton","LogoutTextMessage","LoadingPageText","Banner","lg","HPBannerTitle","HPBannerLead","target","HPBannerCTAText","rel","HPCreatCardCTAText","ImgCardCaixaIUOnly","Benefits","HPBenefitsTitle1","HPBenefitsTitle2","HPBenefitsLead","HPBenefitsSubTitle1","HPBenefitsDescription1","HPBenefitsSubTitle2","HPBenefitsDescription2","CreateCard","HPCreatCardTitle","FAQ","activeBTN","handleToogle","faqsHP","faqsList","obj","key","block","active","question","Collapse","toggler","answer","HPFAQTitle","Home","ConfigManager","enableDigitalSign","AuthNavigation","linkURL","linkText","linkClickFunction","buttonName","arrowIcon","buttonDisable","buttonClickFunction","analyticsId","assign","disabled","_extends","arguments","source","prototype","hasOwnProperty","call","apply","_ref2","xlinkHref","_ref3","fill","transform","SvgIcnGovAuthentication","_ref","svgRef","title","ref","ForwardRef","forwardRef","d","clipPath","fillRule","_ref4","SvgIcnSms","Authentication","selectedOption","configs","errors","validateConfig","requestFormSubmit","handleChange","scrollTo","configManager","_configs","getConfigs","_enableSMSAuth","enableSMSAuth","amaLoginRedirect","amaLogin","isSMSAuthEnable","submitFormData","history","amaErrorResources","Generic","formResources","FormErrorChooseAnOption","AuthenticationTitle","Form","noValidate","FormGroup","AuthenticationLegend","AuthenticationByToken2Title","Alert","checked","onChange","required","htmlFor","IcoGovAuthentication","FormLabelGovAuthentication","FormHelperGovAuthenticationCode","IcoSMS","FormLabelSMS","FormHelperSMSCode","NavAuthBackText","NavForwardText","NifField","maxLength","touched","regex","handleBlur","country","inputValue","turnFieldTouched","onChangeFunction","files","hasError","validate","test","field","number","total","mod11","Number","inputHelpText","inputValidationText","autoFocus","readonly","Input","aria-describedby","invalid","defaultValue","onBlur","inputMode","readOnly","empty","TooltipItem","text","invertColor","tooltipOpen","setTooltipOpen","useState","Tooltip","placement","modifiers","offset","autohide","PhoneNumberField","mobilePhoneDialogCodeID","mobilePhoneID","tootipMobilePhoneDialogCode","defaultDialogCode","tootipMobilePhone","showContryCodeValue","Label","for","FormLabelMobilePhoneDialogCode","autoComplete","FormLabelMobilephone","RequestTokenForm","authenticationData","nif","mobilePhoneNumber","countryCode","mobilePhoneDialogValue","isValid","requestToken","hasErrors","requestTokenSuccess","validateTokenError","ErrorGateway","handleCompareKeys","a","b","aKeys","sort","bKeys","values","reduce","acc","rawData","prevState","errorMessage","RequestTokenLegend","FormLabelNIF","FormTooltipNIF","FormErrorFieldEmpty","FormErrorNIF","FormLabelMobilephoneNumb","FormTooltipMobilephone","FormErrorMobilephoneNumb","NavBackText","NavSubmitText","withRouter","SMSTokenField","TokenForm","smsCode","toMainForm","validateToken","ErrorUserNotFound","ErrorFormAlreadySubmitted","ErrorSMSCode","setStep","mobileLastNumbers","slice","formMessageTokenSMS","FormMessageTokenSMS","tokenMessage","replace","TokenTitle","TokenLegend","FormLabelTokenCode","FormErrorSMSCode","NavStartText","TokenResendCode","TokenCodeProblemsLinkURL","TokenCodeProblemsLinkText","AuthByToken","step","handleStep","AuthenticationByTokenTitle","AuthByDigitalKey","AuthenticationByDigitalKeyTitle","QueryParameterNames","prefix","ApplicationPaths","AuthorizeRoute","ready","_subscription","authenticationChanged","componentWillUnmount","link","document","path","returnUrl","protocol","host","pathname","search","hash","redirectUrl","encodeURI","faqsStep2","component","rest","Route","MainFormNavInfo","activeStep","stepList","Step1Title","Step2Title","Step3Title","Step4Title","Step5Title","toString","MainFormNavigation","continue","back","nextStep","prevStep","prevText","nextText","hasPreviousStep","hasNextStep","lastStep","onClickFunction","clickButton","MainFormStep1","loadingData","step1Summary","Step1Summary","dataSummary","schoolReplace","summaryDataReplace","nameReplace","school","memberNumber","LoadingPageContentText","xl","Step1Description","NameField","minLength","CountryAutoCompleteField","fieldName","fieldNameCode","updateOnlyFields","userInput","currentTarget","noSuggestions","fetchData","filteredSuggestions","description","toUpperCase","activeSuggestion","showSuggestions","userCode","dataset","innerText","defaultCode","params","getElementById","tootipText","labelText","validationText","suggestionsListComponent","suggestion","data-code","defaultProps","suggestions","IdentificationField","identificationTypes","inputHelpTextState","bidNumb","ccNumb","othersNumb","showHiddenField","setSelect","selectValue","biNumb","dropdownResults","find","el","isRequired","issuerValue","issuer","hasErrorId","object","selectID","selectAutoFocus","selectReadonly","selectDisabled","multiple","SelectDefaultOption","FormHelperIdentificationID","FormHelperIdentificationCard","raw","select","ccVal","str","RegExp","sum","secondDigit","valor","char","asciiVal","charCodeAt","isNumber","letter","charAt","selectLabel","tootipSelectText","selectHelpText","selectValidationText","inputID","inputLabel","tootipInputText","inputAutoFocus","inputReadonly","inputDisabled","showIssuedBy","FormLabelIssuer","FormErrorIssuer","GendersField","genders","item","CustomInput","label","data-description","CountingInput","limit","actual","PoliticalRelations","politicalRelations","PoliticalRelationLegend1","PoliticalRelationLegend3","PoliticalRelationLegend2","FormLabelPosition","position","onLoad","politicalRelationCode","FormErrorPosition","FormLabelEntity","entity","FormErrorEntity","EmailField","email","autoCapitalize","autoCorrect","spellCheck","SideBarStep2","SideBarStep2Title","SideBarStep2Descrition1","IcnLock","IcnEdit","SideBarStep2Descrition2","AddressField","onChangeDistricts","selectedIndex","getAttribute","nameFields","districtValue","list","counties","enable","parishs","setSelectDistrict","setSelectCounty","setSelectParish","districtCode","countyCode","countyValue","parishCode","parishValue","onChangeCounties","onChangeParishs","onChangePostalCode","invalidFields","postalCodeErrors","postalCodeRegex","postalCode","districts","address","place","addressErrors","placeErrors","addressName","secondaryAddress","postalCodeValue","defaultDistrict","defaultCounty","defaultParish","showValidateAddress","addressIsValid","defaultPostalCode","defaultAddress","defaultPlace","tooltipAddressText","FormLabelAddress","FormErrorAddress","ValidateAddressLegend","check","FormLabelValidateAddress","FormLabelPostalCodeCode","FormHelperPostalCodeCode","FormErrorPostalCodeCode","FormLabelPlace","FormErrorPlace","FormLabelDiscrictValue","FormErrorDiscrictValue","FormLabelCountyValue","FormErrorCountyValue","FormLabelParishValue","FormErrorParishValue","PlaceOfBirthField","placeOfBirthDistrictCode","placeOfBirthDistrictValue","placeOfBirthCountyValue","placeOfBirthCountyCode","MainFormStep2","checkFormValidate","faqsStep","checkFormStatus","FormLabelName","FormErrorName","gender","FormLabelGender","referenceData","FormLabelIdentificationTypeCode","FormTooltipIdentificationType","FormErrorIdentificationTypeCode","identificationTypeCode","FormLabelIdentification","FormTooltipIdentification","FormErrorIdentification","identification","FormLabelEmail","FormErrorEmail","FormLabelPlaceOfBirth","placeOfBirthCountryCode","placeOfBirthCountryValue","FormErrorPlaceOfBirth","FormLabelFiscalCountry","FormErrorFiscalCountry","fiscalCountryValue","fiscalCountryCode","FormLabelFiscalNumber","fiscalNumber","mobilePhoneDialogCode","mobilePhone","FormTooltipAddress","postalCodeCode","addressIsvalid","secondAddress","FormLabelSecondAddress","FormInfoOptional","SecondAddressLegend","FormTooltipSecondAddress","fiscalAddress","fiscalPostalCodeCode","fiscalPlace","fiscalParishCode","fiscalDistrictCode","fiscalCountyCode","CardCaixaIU","isDesktop","innerWidth","handleWindowResize","addEventListener","removeEventListener","ContaExtratoJovemExtratoTitle","FormTooltipCartaoEstudante","TitleInfoDocs","ContaExtratoJovemExtratoInfoDocs","CartaoEstudanteCaixaIUText2","UniqueCardTitle","sm","LogoDescontos","DescontosAltText","size","ImgCardCaixaIUHand","ImgCardCaixaIU","CaixaDireta","CaixaDiretaTitle","FormTooltipCaixaDireta","CaixaDiretaDescription3","ImgCaixaDiretaLogo","DownloadAppsText","AppStore","AppStoreAltText","GooglePlay","GooglePlayAltText","AppGallery","AppGalleryAltText","ContaCaixaDiretaInfoDocs","ImgCaixaDireta","CardCaixaISIC","CardCaixaISICTitle","FormTooltipCardCaixaISIC","InternationalStudentStatus","CardCaixaISICDescription","SaveEurosTitle","SaveEurosDescription","ImgCardCaixaIsic","CaixaISICTAEG","CardCaixaISISAdvantagesText","LogoGms","GmsAltText","LogoFitnessUp","FitnessupAltText","LogoBooking","BookingAltText","LogoNewBalance","NewBalanceAltText","LogoTheBodyShop","TheBodyShopAltText","LogoGalp","GalpAltText","LogoHardRockCafe","HardRockCafeAltText","LogoCouncil","BritishCouncilAltText","LogoCopimatica","CopimaticaAltText","LogoWaynabox","WaynaboxAltTex","LogoAmerican","AmericanTouristerAltText","LogoSamsung","SamsungAltText","LogoFlag","FlagAltText","LogoTotto","TottoAltText","LogoOmio","OmioAltText","CardCaixaISICInfoDocs","ContinenteCardNumberField","continenteCardMin","continenteCardMax","hasRange","val","replaceAll","checkRange","escapeRegExp","string","checkGTIN","checkDigit","CardContinente","activeIndex","animating","sliderItems","AppContinente1","altText","caption","AdvantagesContinenteCardDescription1","AppContinente2","AdvantagesContinenteCardDescription2","AppContinente3","AdvantagesContinenteCardDescription3","AppContinente4","AdvantagesContinenteCardDescription4","prevSlide","nextSlide","goToIndex","nextIndex","newIndex","sliderImage","CarouselItem","onExiting","onExited","sliderCaption","ContinentePartnershipTitle","ContinenteCardLegend","FormLabelContineteCardNumber","FormErrorContinenteCardNumber","FormHelperContinenteCardNumber","continentCardNumber","Carousel","next","previous","CarouselIndicators","items","onClickHandler","AdvantagesContinenteCardTitle","slide","ContinenteCardAdvantagesText","ContinenteOffers","ContinenteOffersAltText","ContinenteCardInfoDocs","ContaPoupanca","onPoupancaTermsChanged","handleTermsLinkModalContaPoupancaClicked","contaPoupanca","FormLabelContaPoupanca","ContaPoupancaDescription","FormLabelContaPoupancaKnowledge","ContaPoupancaInfoDocs","ImgContaPoupanca","AllPages","numPages","setNumPages","myprops","pdf","Document","file","options","workerSrc","onLoadSuccess","onDocumentLoadSuccess","Array","from","Page","pageNumber","ModalForm","toggleChange","isChecked","onHide","isHidden","onFileLoaded","UNSAFE_componentWillReceiveProps","terms","show","modalInputCaller","scrollable","dialogClassName","aria-labelledby","centered","Header","closeButton","Body","AllPagesPDFViewer","ClientQuestionField","reponse","resetCardStudent","QuestionIsClientText","useExistingAccount","NumberOfClientField","valid","clientNumber","FormClientNumberError","AccountNumberField","accountNumber","FormAccountNumberError","CardNumberField","cardNumber","FormCardNumberError","MainFormStep3","handleShowModalContaM","contaCaixaM","studentCard","isModalChecked","handleShowModalUseAccount","prevstate","ValidUseExistingAccount","handleTermsLinkModalContaMClicked","handleClose","fromModal","currState","handleStudentCardChange","onresetCardStudent","regexInputNumberClient","regexInputCardNumber","regexInputAccountNumber","validateFieds","personData","inputsInvalid","Math","min","inputvalidClientNumber","inputvalidNumberAccount","inputvalidNumberCard","validateInputs","ConfirmYourMembershipLegend","FormLabelWantToJoin","FormTooltipContaCaixaM","FormLabelHigherEducationAccessSeveralSdvantages","FormLabelHigherEducationAccessSeveralSdvantages2","FormLabelHigherEducationAccessSeveralSdvantages3","style","columnGap","ClientNumberText","AccountNumberText","CardNumberText","ErrorTextFieldsClient","FormLabelInfoDocs","FormLabelTerms1","FormLabelTerms2","FormLabelDeclareKnowledge","MultiProductSolution","UncontrolledCollapse","CardStudentNonBankingTitle","CardStudentNonBankingDescription","ModalHeader","ModalLabel","_ref5","_ref6","SvgIcnCamera","UploadField","uploadStatus","fileMaxSize","fileSizes","errorType","handleInputFile","formData","FormData","append","fromDefault","inputName","renderThumb","onlyImages","fileEl","querySelector","innerHTML","fileTypes","content","dataImg","img","classList","add","nameFile","appendChild","icnFileUploaded","errorMessages","click","LoadingImageContentText","accept","IcnCamera","FormHelperUploadPhoto","FormHelperUploadDocument","invalidSize","BusinessRelationshipField","clientPurposeBusinessRelationships","handlecodeChange","handlerOpen","toggleTooltip","componentDidUpdate","container","contains","clientPurposeBusinessRelationshipTemp","includes","codeValue","PurposeBusinessRelationshipLabel","PurposeBusinessRelationshipSubLabel","PurposeBusinessRelationshipText","SourceFundsField","clientSourceFunds","sourceFundsComments","handlerSourceFundsComments","sourceFundsTemp","others","requiredComments","selectList","SourceFundsLabel","SourceFundsText","sourceFunds","OtherFundsLabel","MainFormStep4","submitForm","purposeBusinessRelationship","otherFunds","submitFormPost","person","consentData","product","summary","fullDate","photographyFile","documentIDCoverFile","documentIDBackFile","addressFile","secondAddressFile","fiscalNumberCardFile","Headers","ErrorCreatingPDF","ErrorGeneric","formatBytes","bytes","decimals","dm","floor","log","parseFloat","pow","toFixed","step2Values","documentDescriptionPhotoUpload","DocumentDescriptionPhotoUpload","photoUploadMessage","photoMaxUploadSize","documentDescriptionFilesUpload","DocumentDescriptionFilesUpload","fileUploadMessage","fileMaxUploadSize","DocumentDescription","DocumentLegend","FormLabelPhotographyFile","formCheck","FormErrorUploadInvalid","FormErrorUploadInvalidSize","IdentityDocument","FormLabelDocumentIDCoverFile","FormLabelDocumentIDBackFile","FormLabelFiscalNumberCardFile","ProofOfAddressLegend","FormLabelAddressFile","FormLabelSecondAddressFile","PersonalDataAuthorizationLegend","FormLabelDirectMarketing","rgpAgrement","FormLabelCampaignsEvents","rgpdAgreementCampaignsAndEvents","FormLabelAgreementLegalDocumentation","agreementLegalDocumentation","TookNoticeDescription","PinField","SubmitButton","paddings","attrClass","cryptoService","encryptMessage","publicKey","jsEncrypt","JSEncrypt","setPublicKey","encrypt","DigitalSignatureRequest","pin","submit","cancel","signPdfRequest","_enableDigitalSign","getPublicKey","signPdfRequestSuccess","Erro_Interno","DigitalSignatureDescription","AMADigitalSignatureLegend","FormLabelPin","FormTooltipPin","FormErrorPin","DigitalSignatureDescriptionWarning","DigitalSignatureConfirmation","token","processId","loadingResend","loadingValidate","infoMessage","resend","resendToken","signPdfConfirmationSuccess","DigitalSignatureConfirmationDescription","AMADigitalSignatureDescription","NavValidateText","TokenResendCodeText","LoadingSentData","AMADigitalSignature","signPdfRequestError","sucess","cancelDigitalSignature","FirstExperienceField","onchangeValue","questionsData","idx","Questions","findIndex","QuestionCode","ResponseCodes","Code","firstDate","responseData","answers","require","FieldRequired","SecondExperienceFields","secondData","ThirdFiedQuiz","ResponseValue","thirdData","responseEmpty","rows","FouthFieldQuiz","ischeck","verifyneedComments","idxFifth","responseCodeRemoved","elem","respose","needComments","codeRequiredInput","fourthData","fifthData","responseDataFifth","otherInputValid","Comments","FifthFieldQuiz","texts","textsWhat","split","icon_whatsapp","DownloadPdf","QuizData","download","formSubmit","getData","responde","console","ErrorPageDescription","open","quiz1","quiz2","quiz3","quiz4","quiz5","questions","codeNeedComments","DigitalSignatureTitle","DigitalSignatureText","NavDownloadForm","QuizTitle","NavSubmitProposalText","MainFormStep5","finalData","zoomPDF","pdfSigned","handleLoadSuccess","handleZoomToogle","handlePrevStep","handleNextStep","questiondata","FileViewer","fileType","filePath","linkPdf","onError","ConfirmDataAndProductsTitle","FormLabelConfirmDataAndProducts","confirmDataAndProducts","NavSignText","LegalDocumentation","onGoToStep","LegalDocumentationTitle","FormManager","FooterDocuments","downloadLinkDoc","noGlossary","FooterLinkFAQs","FooterLinkGlossario","MainForm","questionData","1","2","3","4","5","handleSubmit","handleValidation","validateForm","goToStep","getFormData","formManager","form","getForm","_getFileSizes","getFileSize","_value","_files","_errors","errorsList","fiscalCountyValue","fiscalDistrictValue","fiscalParishValue","fiscalPostalCodeValue","_this$state$reference","_this$state$reference2","elementList","genderValue","forEach","k","codeRequeredComments","noDocumentation","ErrorPage","queryString","errorDescription","ErrorPageTitle","SuccessPage","sucessTitle","sucessDescription","AlreadySubmittedTitle","SuccessPageTitle","SuccessPageDescription","GoToHomepageText","ResourcesManager","GoogleTagManager","siteId","endpoint","isDataLoaded","isEnable","catch","iframeHTML","App","resources","resourceManager","getResources","faqs","Switch","exact","baseUrl","getElementsByTagName","rootElement","ReactDOM","BrowserRouter","basename"],"mappings":"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","file":"static/js/main.3d56b010.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/card-caixa-iu_only.208db180.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_cgd.602e7de1.svg\";","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 46;","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/icon-whatsapp.ff62fbb7.svg\";","module.exports = __webpack_public_path__ + \"static/media/icn_lock_field.e0a7e99f.svg\";","module.exports = __webpack_public_path__ + \"static/media/icn_edit_field.9319613f.svg\";","module.exports = __webpack_public_path__ + \"static/media/card-caixa-iu_hand.a258aac1.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_descontos.61b90c73.png\";","module.exports = __webpack_public_path__ + \"static/media/app-caixadireta_logo.85d15cd7.png\";","module.exports = __webpack_public_path__ + \"static/media/app-caixadireta1.7ad230a0.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/card-caixa-isic.695cfdf7.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_Booking.6277b643.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_Galp.e6524950.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo_fitnessup.d3ef08c8.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_new_balance.551ea070.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_TheBodyShop.9daac2d4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/logo_Hard-Rock-Cafe.3df7b115.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_British_council.cb094c98.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/app-continente-1.3841d00a.png\";","module.exports = __webpack_public_path__ + \"static/media/app-continente-2.b0a07d0b.png\";","module.exports = __webpack_public_path__ + \"static/media/app-continente-3.49c427e8.png\";","module.exports = __webpack_public_path__ + \"static/media/app-continente-4.48508fa6.png\";","module.exports = __webpack_public_path__ + \"static/media/continente-offers.799f8fed.png\";","module.exports = __webpack_public_path__ + \"static/media/bg_conta-poupanca.0934e9c0.png\";","module.exports = __webpack_public_path__ + \"static/media/icn_file_upload.d65bc3d5.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo_Lenovo.530c16bd.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_PC para todos.15de5521.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAADsCAYAAAAIAljlAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAACAWSURBVHhe7Z0JfBXV9cdPSEggCUskIEQwWBQ3Fle0dWltq1IFq4JdxAVQUKEubApufz6igpbFpaCAVXFrVVzBClhLq7UtFquCrQJS1wIaliSQQBIg//ndzH1MHm/eezNv7sydeeebz/tklvdmuTO/e84998ydnEYDYhjGU1qY/xmG8RAWFsMogIXFMApgYTGMAlhYDKMAFhbDKICFxTAKYGExjAJYWAyjABYWwyiAhcUwCmBhMYwCWFgMowAWFsMogIXFMApgYTGMAlhYDKMAFhbDKICFxTAKYGGFgMbdu+nft95MHyxaZC5hdIcHk9GcusUvUc2kUfTYR5toszHfoV8/+vn8+dStT5+mLzBawsLSlM3vraSWM6bQnlX/oA/3tKXVn0FWRBvrKqnW+H/K+PF00dSplJOXJ5YzesGuoGY0VlXS9lvGUYvBJ9Le9Z9QTmkZ/fOTb8y1RCXUhopyW9K706fThJYtablhvRj9YIulETt//yTtvHM85RS1J8ovEMsWf7qVtm2rEdOSTbub5hv3NAjr1aV3Hxry1JPsHmoEC0sDGt57l2puG0t7v1pPOe07mksNd7C2nl761wZqVZBrLtmHFBeQAjvmsstp0IMPUNu2bZtWMIHBwgoQuH07Jk+khpfnUk6nnjErJXnyn1+ZU/uzq24PVebuMueaqDcEBs6dN4/OGDFCTDPBwG2sgKh9bB5tO6aEdv9tOeV07b2fqD7YvFOIx45EVizfaHu1NP6/NnIkTe7Yida+/XbTCsZ32GL5TP1bf6Ka28dRY+UWymljtKUSkZtL8/+yPqF4rCSyWhKre3j+XXdSSdeuTSsYX2Bh+cSer76gmim3GBbqDcopOdBcmpgVW+tp7fp9kcBkWNtaiYB7CAfx3Bkz6ayxY5oWMsphYSkGWRO1cx+kuuljE7aj4kkWsLAjlbhgvSAuuIk/f/VVOmbgQLGcUQcLSyF1byyh2luvp8a6nfZuXxyJwuupSOYSWpHu4aFn96dLHpnP7qFCWFgKgNu346brRNZEKrfPyufb6+mND51ZK0kqq2VFCoyzN9TBwvIQhM+F2/fQ7Wm5ffEkC6+nIl2rZQXtL3YP1cDC8giRLGu4fSBdt88KwusyH9AtTqyWRFqvbpzc6yksrAyJZU18uc6R29eMNMPrqWhRkE8baraZc86QAus3ajQNnHo3Z29kCAvLJSJr4t4p1PDMTFdunxU3AQs73FgtK5y94Q0sLBckSpZ1i5vweioyFZcMz5dycq9rWFgOsEuWzYRMAhZ21Bfm09Zqdy6hFekeIntj6AP3UU47523HbIVzBdMA4fPtY66m7YNPosbt1Z6JKlU+oFvyDSvoBTm5LcWzX/9+YgHd0L6En/1yAFusFNTMnkV1D03zxO1rhkcBCzvchN+TId3D4tKOdPGLL1DP005rWsEkhIVlg0iWveUGw0JVugqfp8JJPqBbMm1rJUK6h5y9kRwWVhxOkmXdoiJgkYhMwu+pkAJDcu+Z113L2RtxsLBMRLLszKmusyac4GV4PRVeBTLs4OyNxLCwDJAsWzNhpJhW4fZZySQf0C0qXEIr0nohe+OKF15g99Agq4XlNlk2E55e9Q3trfMmapcuXgcy7JAC4+TeLBWWn26fFS/yAd2i2mpZYfcwC4UlsyYor0C529cMxeH1VKgMZCRCWq9sHZota4TlSbJsBvgZsLBDdSAjEVJg2ZbcG/nMCzmyrMia2FIRiKgQXt+4qdqcCw6vMjKcILM33p8zm+5o1y5rsjcibbEwxNiuO67ytR2ViCACFnYEYbUksF7Zkr0RSWHB7dsx7irDQm3yLK/PLQhYYOz1oNpWifAzkJEI6R5GeWi2SAlLuH0TfqU0a8IRAQcs7PA7kGGHfPbrrAgOzRYJYTkdYswv/MgHdEvQVksi3UOE54e99VZk3MPQC0sky064xtEQY37gVz6gW3SxWhLpHkYluTe0wgoia8IJOoTXUxFkIMMOKbCwj9wbunA73L6ae6dQ1endm17MpqGokA+oQ3g9FUGE31OB8Hyh8X/ZuLE0KScntO9dDpXFynSIMb/QKbyeCh2tlsTqHp5/7z2hyt4IhbB0d/usBJkP6BZdAhl2SIGFKblXa1dQZk3o7PY1Ize32fuCw0JZUYk5pScyeyNM713W1mJ5OcSYX4QhYGGHzi6hFWm9dE/u1c5iIWui8pxTaeddNzZZqJCIKiwBCztaeT9YlBKk9apavYqm9+1LT4/+FVVX61fu2lgsMbJskvfx6k6YAhZ2hMVqWUH2BjqYz9ds5F4thCWSZWfcFiq3z4qO+YBu0T2QkQi4hxDXwT2Pov6PPKxF9kagwkrrfby6o2k+oFt0y8hwgmx/6ZDcG0gbC+Hz6pGX0I7Lf2TM7AmvqAxWVOyMjKhAmN1Z68i9k7t1o2UzZ5lr/MdXi6VrsqxbdM8HdEuYrZZEuof5htCGLn/Td/fQN2G5eR+v7oQ5vJ6KMAYyEiHdQ7+Te5W7gnD7qi7+KdWMuVxYqKiIKuzh9VSEJfyeCukebli6RLiHz02YIDwn1SizWEENMeYXUQivpyIqVsuKX0OzKRFWWJJl3RLGfEC3hDH8ngrpHqocuddzYSFrIqghxnwhYuH1VEQhkGGHFNjF8x6hk0Zc0bTQIzxtY8H9+2zD5qaO3oiyeE1F1ogKwN09oK3eSbpukc9+FW6taFrgIZ4HL75pMA64Q7AjI6ki6gELO6ISyIgH7a2jjj3GnPMWJVHBlTvMiYjxzmfbsspaSaJoteAG9jjyCDowV01gXFm4fUPraLmDCFjUVu8057IPHR/jzwR0Hh9W2qFpRgHKhLVx117R0I8E5gOM2WitrETFasEF7KvIBZQoExZYnx8NqxW1fEC3wGqFXVxwATHEdZfiInOJGpQKq3JXA+1o1cacCyfIB1z1nw3mHBP2QAZcwFOP7Nk0oxClwgJr6nLMqXDyjw072FpZkIEM1PxhQwYs/EC5sEBYAxnZGl5PBawW+oDCBo5ZZcDCii/CQiAjp03IXjiWm5u14fVUhDH8joDFkX2ONufU44uwwKe7w1XDffDNjsgn2WZCmMLvfgUsrPgmrDAFMhCwCOP4gH6j+3iEEr8CFlZ8ExYQgYwQ9G1xwCI9wuAS+hmwsOKrsIDo26qvM+f0gwMWztA5/A5RFRguoF8BCyu+C0u4hG1LzTn94ICFM3QOv+OIenQ7qGnGZ3wXFtC1byvb8wHdomP4XbqAfgYsrAQiLKBd3xbnA7pG17ZWEC6gJDBh6Zaky/mAmaFTHqHK56zSJTBhAV2SdDkf0Bt0CGQE0WeViECFpUvfFofXvUGHQEYQfVaJCFRYIOi+LQ6ve0uQgQwZsNABT0dpwmAyr5cfRHllzoaTOqikiLpsXGcIzN8LklPQmh59d605x3jJRvO/n+DuOeOE45pm0mRvbQ0ddNlQ6n3TRHOJN3gurP8uXGjOOaNMGHF/2WBcis3bozlEdNDU0l5zyj8KDQestI3ztlVe125Ufuop5pw3KBsJl2GymcDbWAwTRVhYDKMAFhbDKICFxTAKYGExjAJYWAyjABYWwyiAhcUwCmBhMYwCWFgMowAWFsMoQKtcwdcWL6b1n64X07t27aJzBpxLvXr1EvPx3DvtHmrVqpWYxneP7nU0nTtggJhPlyceX0CXXjKEcvLyzCWpid/v1aOuobZtMxvlt6Kigt5dsYLeeecdWrdmLVVWVlL79u3psMN70imnnEKnnX562vt44L77zanmYHugV+9edOhhh6W1PRzXY799NHa+4Lobml7ani7y3JxeG8myZcvoz8uXi3Kpr6+nbgcfTP369aPzL7wg43JXCoSlC1cOHw6RN5a2bSf+L1261FzTnEkTJ8a+176gUExXVVWZa9MHv1u8aJE5l5q9DQ3iN9inPMZvv/3WXOscHPPoa0aJ7eCDbZaXHRT7yH3gg3PG/lOB78rjs36wTJYVPtjv559/bv4qMViP78rfYzqdY7By/6z7xLk4BeX64zN+GNt/5w4dxXbwXx6L3f2hA1pZrF+NGk0vPPc8FRUX0fovPiej4Oiss84y1zaBGuzss8+mHuXdxTy+997KlXTc8ceL+XSBdRwwcCD1OuJIWv3xf8ylycFjMS1atmy2b+MGoI4dnb9zWZ6HcdNQu5LmY0XsbmigPGM/VrZs+lb8f3vlClsrDkpaFVGHzp3MOXtqdtTQpi0VZFQsttbkiy++oO7du8fOF7/ZsGlD2hYe5VXWuUzsJ9G1tAO/O8TYZ11dvbgXAMoEWMvF7h7RgVC1saqrq/cT1T1TpzkWFZh6191k1ID00Scfi5vcCY2i0nePtXKQoqratk2cD/63MVwcCAnzuJkBxNKuQwn17t2b/vXee2JZOmAb1g+2D3DDYv+oXJyef7r8YckSISqU8+wHHjSXpubB38ymqi3bYqJCWaBMuhpuIM5BigyMu/4Gc0ovQiWsSy8eQoYrIKZxwxmuAt048SYx7wTcmO/84++i9nN60TMFVsBaOQDcLCOMtprhelFFVaWwoNt21dCaNWto0M8uEuuBPN7jTzhBVDKpwO9gzQ2XU1hWTGM/cnsAx4HjUYGsvHDcr762mD766CNzTXLmz50rKhGAimDS5NtFmfz1738TZQRwDqhU0/U2fEc4hJoAvx8+tHGx9/Oh4atjGdbJ9W7bN2jLyf3Iba1evdpca49sY32nvNz1MaDdYNxszfZt3PDm2sSgHYjvyd+gzYFzSATaH9ZtG+I01+wD+7NuD9OJ2pqyjSW/hzJLt40Vvw/81u6Y44k/tvj2M65VOtcrSEJhsVDTXT/mhmYuINoGbto2sBiPPPpozM0AsIL3z5plzqkDlvKPy/8UayfI80jlyqINZFQssXYW3EecA87FDdjf4AsujLmZaOchIuklD82ZE/MuAMobx4wooVO+/PJLc6oJtDGTtTN1IBTCOn/AQOFSALgGhmVzHb599ne/FzcSsLY33F50JyxcuDC2b7QTTjn5u2mfB8LceQX7Gu6GZaJXXnrZnHMOQvi7TGEVFReLcLZXoBxl5YXztAoY4ftUwMWX7Shcd1x/J+1KHdBaWKUdOtDNkyaJmhq1PAq7c1kZ/WbObPMbzkC06aZJE0WNj23OuP/+mBXARZ81c6aYVsWil18RNzFA43zkVVeJ6XSZYJSFrAzQBnnzj38U026Q/VoS9BF5BcSD8sT16nvssTRm/Dhx3Ch3lH+q9uGll11GX2z4n5iW1x3tylO/+z0RzQ0D2goLNfLGjRtp6rRpsfAxCvt3zz8npt3w5FNPi+1KLht6OQ0ZPlTUqLjo2Fc6QQE3YLuIQEo3sLKuVnTWOuGY446lzdVVYhrb+fD998W0Gz5Z8wm1Mt1hhLXR8eoFqLymTr5DlCeu18irr6Kf//IXseNG+b/84kti2g5cF1gtWenhXNEM+NpwCRHF7H5QV9G5rzPaCgs18ryH58ZcQIBa8A+LXzPnnPPre+4R25WRJjD8iuEiJAzSuehuqavb/51gHUqdvc4IFtyKrNWdApHPn/OQcNUAXEJkM3gBKi9UGhK4nOXl5TH3DuV/+y23mGvtWbZsKf34nP6iHSrdQikwcPmwocKCqXbf3aKtsGSNLGt4IF0JN/42+mqkxUDtiZQYgIY8Oolx8WAZx13vLGUnXQoKCsypfSQSmxOs1teO+P2i7M45u3/MJQUQgiyPTEHlhcoQXgDawjLt6IaxY0RFgPLH/1QuHTqhn3/xBdEBLPuvZFtNCmz9uk+pU6dOyryMTNC6jYUCRGFKlwDgol00aJA5lz7oq8JvISDUnj177hvfe8JNN4k2D4DoVPjxuMGsUTIg+2TS5aPVH8XEhPM4+ti+YtoOnO+Vw4bTmT/8kajdkZWBtgpcKllh4YZd8NjjnuTdQbSy8oIXAG9AAsslwXFNnHCjOZccZFWg/wp9cKeeflozCwaLCy9m3JgxYl4ntBYWRIXCRBoPChTgom3dVCGCGumydu1a0UGJ30JAaBxbQW0t3RdcdHRsqgDnImtdiOzVl18R0+ny5BNPxDpOa3bsoNN/8H0xbQfOd92aNeIDMcEio6aPFxXaNF6AcsN54caHF2DtRoBwJ02cKNxw7B8CdOJ5YFuwYOg0hwWT4oIXgwikblZLW2Gh4Eo7ltJzzz0r+izQyy4tF24QBBrSvTCPP/aYqNlAIrcHFx1uC256XHRkZbhxN1MxdPiwWHsOte3sh+ak3ReF47H2gcGy/uCMM8S0G1CWsJheiQrnsfClF8V5ofKCFxDP0GHDYkEMCNBNBQZP4w9Ll+zXvvx03TpzSg+0FRYKbsb998USPpG61PWQ8lhNBcvys0GDRRQqGajJIELUbBCO1e+3Yg1iuL3oqTinf/9m7SKcw5Bf/DKtc8C54vtAWoRUyaf43mGHHy5C3ieedFIsVC/5y/I/m1OZM/fhh5tVXj859xwxbQWiQN8djgsChBDhTcQDkV504SDbR2Bw/eR2dEVrVzAehNplTYWaG7XuLbfdJubtQJRP3szxfr8VuBpwk1Jd9HgSBSXsQCXx1MJnm7m1aID36d3H1kIi6NLnyKPEcUlrhTJY8NSTYjoZ+N4jjz1KryxeJNyoEaOuaWb1EVlzm71hJb7yQlaHXVYM+u5kexYVmFU8qGDwvBsy6v/61tsi2yZRWB1lJXM9JcVtgn/PmpXQPTaCgkc/iezbwvfQsLX681bQ5yFBhnSypE1cxOuvHiW2jRsECbDWzmhceDw28p3ycsox/nCzwxIkAx2vo6+7ttl54DzhBsrQMbYDEaAWRrup84GdadM3m0SHMtoisFTyJsL5wi22Sz62PjaC76JNYg3UyPLA9nCOvfr0pjf+9KZYFg9El85jI9Zys7tuEoiwXbt2sW3i+/LRG5QvHjMpKMhvdr4ol/N++lPxwOXq1atEm8padvjup59/Jua1QWQMakKyJFwrhhsUS2TFf3wSJYfi99gOvmdYrUajoW6uSQwSauX35TFYk2zjk3Ct+7f72J0HztW6L7ktw51q9mCfdR2+b4jK3EJicJ7yN/h+fBJuogRcu3JJNwlXnis++E4q8NCmvM44V+s5yX3Gnzu+h3OTv5MffDdRAnHQaOcK7m6oF7VQMuAGoYaX34NrkcglvOP/JseiVHZ+vxXUmlcOHy7aIvgNXMhEuW17GnaL9amOMxmwhEjARY2MD7aFmhfuFD6w2tKqYD2igLAE6Twmk+zYYNnRzoRLiO8YN61wCZN1tMrt4drEA1dVuue4DkhfSsXgwYOFW45toj8NfZOynYnOZARV4F3ElwssIsoFy3CNsB5RTbd5oyrRTlgoQBQqBGEHbg64Qyhw8QDcIeX7RQmREQ8/HJFFfA+CSScb/ppRo8R/ud1Z02c0C+VCbFiX7ifZeeCGMCyAuDkQYMDNLoWGD+YRoocA8ZxWqmAFQDhe7hvHmoi7p00V5ya/Z9T8or8rEdbzxbWJB/2D+D3WA6QvpQLXD+6d3C7KCBkbEogLLjvOG+ViLRN8kIKF9iLc3Ms8imp6Db94TiNQa282auLa2loqLCx09VhMFAljubCwGEYBoQq3M0xYYGExjAJYWAyjABYWwyiAhcUwCmBhMYwCWFgMowAWFsMogIXFMApgYTGMAjxPadr83kpzyhlba3eaU/5RkMP1igrqGvfSIYXpPwDqFVUu7URJp46U263cnPMGT4WFZMnXyw+iFu33z4JORsXWHbRy0/9o3/Og/oD9ORvZj0mHLsan/9Gp39HlNTlF7emfe4tpb23TgD3pULB3D5UOvYJ63zTRXOINngtrad9elNfB2e3614/XUt3mCsrJ9VdajXsaqENJJ8qv9W545WxnV90eGvH9HkR79phL/GVD6/a0cddecy41e3fupC6DL/JcWIH7Qht31NCOAEQFsM+t1duoRUG+uYTJBIjqxCMODExUoGxnpTkVLIEL68P3P6D8AEQlgdXalWvOMBlR2LY1HXPgvhF2g+LwguCfhApUWHABg5NUE2y1vAHW6pRDjLZ1gNZKUly9mdq3CvbOCkxYQbqAidicz897ZkKXzm2pextNKqf8AupRH6xLGJiwPl7170BdwHgQPKkvZKvlBlirk8uCdwGbYVjOIF3CQIS1bvMW0bbRCXYJ3dPnqDIq1bBSKt61PTCXMBBhrf/4E21cQCscyHAOKqKTOrY25/Tj0LxgKnDfhaVDwMIOtlrOgAt4dFlbLQIWdjRur6Yurfy3H77uUbeAhR1stdJDhNdL9bVWkiD6tnwVlm4BCztgtTiQkZxYeD0k+B3I8E1YOgYskgFxMfZoFV5PA7/7tnwRFlxAXQMWdqASYKuVGFirAYeHbJRen/u2fBHW+q/8z1zPFA5kJAaiCjof0DXGMfsVyFC+F7iAYQhY2MGBjObokg/oFr8CGcqFBRcwDAELO9hq7SMWsAijtbJwgg/1glJh6dxn5YQNNRzIAGELWNjRuKVCuUuobOth6bNKBw5kNFkr7fIB3ZJfQGX1280ZNSgTVlj6rNKBAxn65gO6RnGSrhJhha3PKh2yOY9Q93xAtyBJ94CSpjdReo0SYYWtzyodstVqRSVgYUePnVvMKW/xVFg5eXn0l/+sMeeiSbZZLYTXoxCwsKPx69X0nWLvh2rz3GJNqqqiY0eNphrDdYqaOwiyyWrBWp19aHjyAZ3QuL1SfIrmvU5Fo8eYS71D2TuIv1q1ip6+5FLauHoV4d3tUXMNO+cVmVPRpaSkiAYceoA5FxHq66jx27VUcM0dVDh2kvCyVKD85d4fLFpEz553HsF2RSVKCA5oWxLp8QhhrYIcH1AFjdu+obzvnUlFt93l+ci38SgLt0uOGTiQ7m5ooH7jx0fKPYyySwhRhTYfMAFw+UDxnN9R23lPKRcVUG6xrGz7+mt66soR9OnSJZFwD6NqtVBhDOljCCvsmG5fq9vnUuGwkeZCf1BusayUdO1K1y55nYa9+qqYrw+59Yqi1YqF10MOon153zuDSj7Y5ruogK8WK55lM2fRa+PGht56RSmQEfaARWNlBeV06EzFM+ZSy+P7mUv9J1BhgSi4h1FxCWGtLjgupKlLcPtqKqn1rdOp9S8uNRcGR+DCkqx9+2165sJBInEX0gqbwKJgtXr2OJBOOiBkojLbUS0vHkvFN95GOe3amyuCxdc2VjJ6nnYaTa74ls6aMZNqjfmwtb/Cnv2OtmLY8gERPs/p0JHaLFxBbe6aoY2ogDYWy0p1dTW9cO119METC0LlHpYVldDeuvC5hHABz+xbFprUJRk+L7rzfioYcIGY1g0thSWR2RubV68KjXsYRpcwNOF1n7ImvEAbVzAR3fr0oYmrPqRz580TmRthcA/DFn6HtQpDPiDcvhY9jqB2b31ORWhLaSwqoLXFsoLXsD5z/Q307pzZ2ruHYbJauofX4fblFLSmQrh9Z/Y3l+pPaIQlgXv47IgR9NW772orsLCE32GttM0HlG7f+JlUeNW12luoeEInLAmSe5867zwxrWNyr+5WC6JCPqCOY6+LrIkzh/iSLKsKrdtYyUBy7681Tu7VPfyu4wsNRLQvN5eKF7zpW7KsKkJrsazomr2ha/hdu/C6mTXRatyUQPL6VBAJYUmsz35BWjoITEeXUJuAhcyaOP8qKp48TasO3kwJrSuYCLiHU416QqfsDd1cQlgrHcYHbEqWNbMmZj0cKVGBSFksK3APX77lVi2yN3SyWoHnA5puny7JsqqIlMWygme/hi14nEa/9RYVlHYU1iuoAIcuVgvWKrB8QAgK0b4fD6CSd9ZEWlQgshYrnuXz59NrI5saxkGE54MOZAQZsEDWRG6fk6n4ngdCHelzQtYICzRWVdIzN98aWPZGkC5hEAGLMCTLqiKyrmAi0EAeMvs3NP7DD6ld7z6+938FlUfoe8DCdPsKLh5BJSv/m3WiAlllseIJwj0Mwmr5aa2y0e1LRFYLC+DZryVTptA706f74h76nUcIa+VHPqBMli369UOUf/oPzaXZS9YLS+Jncq9fVguiUp4PaHbyhjVZVhUsrDj8GLnXL6ul+gFGuH0tz7wgclkTXpBVwYt08GPkXj/GI4S1UjU+ILImkCzbZsGiSGZNeAFbrCSoTu5V6RIqCViYbl8QI8uGDRZWGmBotsfP+JHI3oC0vBJY+z2tqFWB9y/cgrXydHxAU1C6DTGmMywsB8iReyErr9pfKqxW70NKPQtYiLEmDj6MiqbMDHRk2bDBwnKI18m9KgIZl57cPePwusia2F1HRdMezsoO3kxhYbnEy5F7vbJacAEzzgeU4fMQDDGmMyysDEH2xssjR2bsHnohrkwDFpw14R0sLA9A9saiSTdnlNybaSAjk4BFNifLqoKF5SGZvnc5E6vlylqx26cM7iD2EDly7/kuR+6F1XEDfjfg8I7mXHoIt6/viaEZWTZssMVSBEbufX7SJMfJvU6tFkTlJB9QJMu2aU9Fd93HybIKYWEpBuH53w4a5Ci516m4Lj2xmzmVBLh9ERtiTGfYFVQMxt4Yv2KFo/cup5tHCGt1Gt5unwwIynwfb7vXDXGzqHyBLZaPwD1844EH03rvcjpWK1XAAsmyLbr14KyJAGBhBUA6yb2pwu9Jw+um2xf1IcZ0hoUVIKmSe5NZrYT5gGb4nJNlg4fbWAGC9y7fvbveduReu/A7lseLCuFzXd/Hm42wxdIEu+TeeKsFUVnzATlrQk9YWJqRKLnXKq5YwMKaNYGxJthCaQULS1OsQ7N1ojYikCEDFh3qtnGyrOawsDRGJve+P2c2dTHm8flJv56hex9vNsLCCgFI7n3pol/SFdddyUOMhQQWFsMogMPtDKMAFhbDKICFxTAKYGExjAJYWAyjABYWwyiAhcUwCmBhMYwCWFgMowAWFsMogIXFMApgYTGMAlhYDKMAFhbDKICFxTAKYGExjAJYWAyjABYWwyiAhcUwCmBhMYznEP0/22B2TTqot7IAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/logo_Paez.a2ee35cf.jpg\";","module.exports = __webpack_public_path__ + \"static/media/logo_ambar.279e9cfa.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_Papelaria Fernandes.0a0fc011.jpg\";","module.exports = __webpack_public_path__ + \"static/media/logo_MakeNotes.768c42e4.jpg\";","module.exports = __webpack_public_path__ + \"static/media/logo_iServices.55f1e140.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_Myprotein.a293ee1f.jpg\";","var map = {\n\t\"./icon-001.svg\": 215,\n\t\"./icon-002.svg\": 216,\n\t\"./icon-003.svg\": 217,\n\t\"./icon-004.svg\": 218,\n\t\"./icon-005.svg\": 219,\n\t\"./icon-whatsapp.svg\": 62\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 214;","module.exports = __webpack_public_path__ + \"static/media/icon-001.f87127eb.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-002.ad4aa914.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-003.18e14f15.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-004.da70cf23.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-005.15c4e32e.svg\";","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Container, Navbar, NavbarBrand, NavbarToggler, Nav, NavItem, NavLink, Modal, ModalBody } from 'reactstrap';\r\nimport './NavMenu.scss';\r\nimport LogoCGD from '../../img/logo_cgd.svg';\r\n\r\nexport class NavMenu extends Component {\r\n    static displayName = NavMenu.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.state = {\r\n            visibility: true\r\n        };\r\n\r\n        this.toggleNavbar = this.toggleNavbar.bind(this);\r\n    }\r\n\r\n    toggleNavbar() {\r\n        this.setState({\r\n            visibility: !this.state.visibility\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { globalResources } = this.props;\r\n\r\n        return (\r\n            <header>\r\n                <Navbar className=\"main-nav bg-info fixed-top\" dark>\r\n                    <Container>\r\n                        <NavbarToggler onClick={this.toggleNavbar} className=\"mr-auto\" />\r\n                        <Modal isOpen={!this.state.visibility} fade={false} toggle={this.toggleNavbar} wrapClassName=\"main-menu\" backdropClassName=\"bg-info\">\r\n                            <ModalBody>\r\n                                <Navbar dark>\r\n                                    <Container>\r\n                                        <NavbarToggler onClick={this.toggleNavbar} className=\"mr-auto\" />\r\n                                        <NavbarBrand tag={Link} to=\"/\" className=\"mr-2\">\r\n                                            <img src={LogoCGD} className=\"my-1\" height=\"46\" alt={globalResources.LogoCGDAltText} />\r\n                                        </NavbarBrand>\r\n                                    </Container>\r\n                                </Navbar>\r\n\r\n                                <Nav className=\"mt-4\" navbar>\r\n                                    <NavItem>\r\n                                        {/* <NavLink tag={Link} to=\"/\" onClick={this.toggleNavbar} className=\"text-light\">{globalResources.Menu1}</NavLink> */}                                        \r\n                                        <NavLink href={`${globalResources.Menu1LinkURL}`} onClick={this.toggleNavbar} className=\"text-light\">{globalResources.Menu1}</NavLink>\r\n                                    </NavItem>\r\n                                    <NavItem>\r\n                                        <NavLink href={`/${globalResources.Menu2LinkURL}`} onClick={this.toggleNavbar} className=\"text-light\">{globalResources.Menu2}</NavLink>\r\n                                    </NavItem>\r\n                                    <NavItem>\r\n                                        <NavLink href={`${globalResources.Menu3LinkURL}`} onClick={this.toggleNavbar} className=\"text-light\">{globalResources.Menu3}</NavLink>\r\n                                    </NavItem>\r\n                                    <NavItem>\r\n                                        <NavLink href={`${globalResources.Menu4LinkURL}`} onClick={this.toggleNavbar} className=\"text-light\">{globalResources.Menu4}</NavLink>\r\n                                    </NavItem>\r\n                                </Nav>\r\n                            </ModalBody>\r\n                        </Modal>\r\n                        <NavbarBrand tag={Link} to=\"/\" className=\"mr-2\">\r\n                            <img src={LogoCGD} className=\"my-1\" height=\"46\" alt={globalResources.LogoCGDAltText} />\r\n                        </NavbarBrand>\r\n                    </Container>\r\n                </Navbar>\r\n            </header>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport LogoCGD from '../../img/logo_cgd.svg';\r\n\r\nexport class Footer extends Component {\r\n    static displayName = Footer.name;\r\n\r\n    render() {\r\n        const { globalResources } = this.props;\r\n\r\n        return (\r\n            <footer className=\"page-footer sticky-footer bg-primary text-light\">\r\n                <Container>\r\n                    <Row className=\"my-4 align-items-center\">\r\n                        <Col xs=\"12\" md=\"auto\">\r\n                            <div className=\"d-block d-sm-inline-block\" dangerouslySetInnerHTML={{ __html: globalResources.FooterContacts }} />\r\n                            <div className=\"d-inline-block\" dangerouslySetInnerHTML={{ __html: globalResources.FooterContactsNumber }} />\r\n                        </Col>\r\n                        <Col xs=\"9\" md=\"auto pl-lg-5\" dangerouslySetInnerHTML={{ __html: globalResources.FooterCopyRight }} />\r\n                        <Col xs=\"3\" className=\"text-right col-md\">\r\n                            <img src={LogoCGD} width=\"44\" height=\"36\" alt={globalResources.LogoCGDAltText} />\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </footer>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Button } from 'reactstrap';\r\n\r\nexport class CookieBar extends Component {\r\n    static displayName = CookieBar.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            hidden: false\r\n        };\r\n\r\n        this.handleClick = this.handleClick.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        localStorage.getItem('cookies') &&\r\n            this.setState({\r\n                hidden: true\r\n            });\r\n    }\r\n\r\n    handleClick(event) {\r\n        event.preventDefault();\r\n\r\n        this.setState({\r\n            hidden: !this.state.hidden\r\n        });\r\n\r\n        localStorage.setItem('cookies', true);\r\n    }\r\n\r\n    render() {\r\n        const { hidden } = this.state;\r\n        const { globalResources } = this.props;\r\n\r\n        return (\r\n            <div className=\"page-cookiebar fixed-bottom bg-primary text-light\" role=\"dialog\" aria-hidden={hidden}>\r\n                <Container>\r\n                    <Row className=\"my-4 align-items-center text-center\">\r\n                        <Col className=\"text-md-left\">\r\n                            <div dangerouslySetInnerHTML={{ __html: globalResources.CookieBarDescription }} />\r\n                        </Col>\r\n                        <Col xs=\"12\" md=\"auto\" className=\"text-md-right\">\r\n                            <Button\r\n                                type=\"button\"\r\n                                color=\"light\"\r\n                                outline\r\n                                onClick={this.handleClick}\r\n                            >\r\n                                {globalResources.NavAcceptText}\r\n                            </Button>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </div>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { NavMenu } from './Global/NavMenu';\r\nimport { Footer } from './Global/Footer';\r\nimport { CookieBar } from './Global/CookieBar';\r\n\r\nexport class Layout extends Component {\r\n\r\n    render() {\r\n        return (\r\n            <>\r\n                <CookieBar globalResources={this.props.globalResources} />\r\n                <NavMenu globalResources={this.props.globalResources} />\r\n                {this.props.children}\r\n                <Footer globalResources={this.props.globalResources} />\r\n            </>\r\n        );\r\n    }\r\n}","export class User {\r\n    constructor({ access_token, profile, expires_at, errorCode }) {\r\n        this.access_token = access_token;\r\n        this.profile = profile;\r\n        this.expires_at = expires_at;\r\n        this.errorCode = errorCode;\r\n    }\r\n\r\n    get expires_in() {\r\n        if (this.expires_at) {\r\n            let now = parseInt(Date.now() / 1000);\r\n            return this.expires_at - now;\r\n        }\r\n        return undefined;\r\n    }\r\n    set expires_in(value) {\r\n        let expires_in = parseInt(value);\r\n        if (typeof expires_in === 'number' && expires_in > 0) {\r\n            let now = parseInt(Date.now() / 1000);\r\n            this.expires_at = now + expires_in;\r\n        }\r\n    }\r\n\r\n    get expired() {\r\n        let expires_in = this.expires_in;\r\n        if (expires_in !== undefined) {\r\n            return expires_in <= 0;\r\n        }\r\n        return undefined;\r\n    }\r\n\r\n    toStorageString() {\r\n        return JSON.stringify({\r\n            access_token: this.access_token,\r\n            profile: this.profile,\r\n            expires_at: this.expires_at\r\n        });\r\n    }\r\n\r\n    static fromStorageString(storageString) {\r\n        return new User(JSON.parse(storageString));\r\n    }\r\n}\r\n","import { User } from './User';\r\n\r\nexport class UserManager {\r\n    async isAuthenticated() {\r\n        const response = await fetch('/Authentication/IsAuthenticated', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' }\r\n        });\r\n        var result = await response.json();\r\n\r\n        //console.log('isAuthenticated', result);\r\n\r\n        if (response.status === 200 && response.ok && !result.error) {\r\n            return true;\r\n        } else {\r\n            return false;\r\n        }\r\n    }\r\n\r\n    async signIn(data) {\r\n        const response = await fetch('/Authentication/SignIn', {\r\n            method: 'POST',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n            body: JSON.stringify(data)\r\n        });\r\n        var result = await response.json();\r\n\r\n        if (response.status === 200 && !result.error) {\r\n            let user = new User({\r\n                access_token: result.jwtToken,\r\n                profile: result.username,\r\n                expires_at: result.expirationDate\r\n            });\r\n\r\n            return user;\r\n        } else {\r\n            let user = new User({\r\n                access_token: '',\r\n                profile: '',\r\n                expires_at: '',\r\n                errorCode: result.message\r\n            });\r\n\r\n            return user;\r\n        }\r\n    }\r\n\r\n    async signOut() {\r\n        const response = await fetch('/Authentication/Logout', {\r\n            method: 'POST',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n            keepalive: true\r\n        });\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            window.location.href = \"/\";\r\n        }\r\n    }\r\n}","//import { ApplicationPaths, ApplicationName } from './ApiAuthorizationConstants';\r\nimport { UserManager } from './UserManager';\r\n\r\nexport class AuthorizeService {\r\n    _callbacks = [];\r\n    _nextSubscriptionId = 0;\r\n    _user = null;\r\n    _isAuthenticated = false;\r\n\r\n    // By default pop ups are disabled because they don't work properly on Edge.\r\n    // If you want to enable pop up authentication simply set this flag to false.\r\n    _popUpDisabled = true;\r\n\r\n    async isAuthenticated() {\r\n        await this.ensureUserManagerInitialized();\r\n        const isAuthenticated = await this.userManager.isAuthenticated();\r\n\r\n        return isAuthenticated;\r\n    }\r\n\r\n    async signIn(state) {\r\n        await this.ensureUserManagerInitialized();\r\n        const userSignedIn = await this.userManager.signIn(state);\r\n\r\n        //console.log('signIn', userSignedIn);\r\n\r\n        if (!userSignedIn.errorCode) {\r\n            this.updateState(userSignedIn);\r\n\r\n            return this.success(state);\r\n        }\r\n\r\n        return this.error(userSignedIn.errorCode);\r\n    }\r\n\r\n    async completeSignIn(url) {\r\n        try {\r\n            await this.ensureUserManagerInitialized();\r\n            const user = await this.userManager.signinCallback(url);\r\n            this.updateState(user);\r\n\r\n            return this.success(user && user.state);\r\n        } catch (error) {\r\n            //console.log('There was an error signing in: ', error);\r\n            return this.error('There was an error signing in.');\r\n        }\r\n    }\r\n\r\n    async signOut() {\r\n        await this.ensureUserManagerInitialized();\r\n        const userSignedOut = await this.userManager.signOut();\r\n\r\n        if (userSignedOut) {\r\n            this.updateState(userSignedOut);\r\n\r\n            return this.success();\r\n        }\r\n\r\n        return this.error('There was an error signing out.');\r\n    }\r\n\r\n    updateState(user) {\r\n        this._user = user;\r\n        this._isAuthenticated = !!this._user;\r\n        this.notifySubscribers();\r\n    }\r\n\r\n    subscribe(callback) {\r\n        this._callbacks.push({ callback, subscription: this._nextSubscriptionId++ });\r\n        return this._nextSubscriptionId - 1;\r\n    }\r\n\r\n    unsubscribe(subscriptionId) {\r\n        const subscriptionIndex = this._callbacks\r\n            .map((element, index) => element.subscription === subscriptionId ? { found: true, index } : { found: false })\r\n            .filter(element => element.found === true);\r\n        if (subscriptionIndex.length !== 1) {\r\n            throw new Error(`Found an invalid number of subscriptions ${subscriptionIndex.length}`);\r\n        }\r\n\r\n        this._callbacks.splice(subscriptionIndex[0].index, 1);\r\n    }\r\n\r\n    notifySubscribers() {\r\n        for (let i = 0; i < this._callbacks.length; i++) {\r\n            const callback = this._callbacks[i].callback;\r\n            callback();\r\n        }\r\n    }\r\n\r\n    createArguments(state) {\r\n        return { useReplaceToNavigate: true, data: state };\r\n    }\r\n\r\n    error(message) {\r\n        return { status: AuthenticationResultStatus.Fail, message };\r\n    }\r\n\r\n    success(state) {\r\n        return { status: AuthenticationResultStatus.Success, state };\r\n    }\r\n\r\n    redirect() {\r\n        return { status: AuthenticationResultStatus.Redirect };\r\n    }\r\n\r\n    async ensureUserManagerInitialized() {\r\n        if (this.userManager !== undefined) {\r\n            return;\r\n        }\r\n\r\n        /*let response = await fetch(ApplicationPaths.ApiAuthorizationClientConfigurationUrl);\r\n        if (!response.ok) {\r\n            throw new Error(`Could not load settings for '${ApplicationName}'`);\r\n        }\r\n\r\n        let settings = await response.json();\r\n        settings.automaticSilentRenew = true;\r\n        settings.includeIdTokenInSilentRenew = true;\r\n        settings.userStore = new WebStorageStateStore({\r\n            prefix: ApplicationName\r\n        });*/\r\n\r\n        //this.userManager = new UserManager(settings);\r\n        this.userManager = new UserManager();\r\n        /*this.userManager.events.addUserSignedOut(async () => {\r\n            await this.userManager.removeUser();\r\n            this.updateState(undefined);\r\n        });*/\r\n    }\r\n\r\n    static get instance() { return authService }\r\n}\r\n\r\nconst authService = new AuthorizeService();\r\n\r\nexport default authService;\r\n\r\nexport const AuthenticationResultStatus = {\r\n    Redirect: 'redirect',\r\n    Success: 'success',\r\n    Fail: 'fail'\r\n};\r\n","import React from 'react';\r\nimport { Spinner } from 'reactstrap';\r\n\r\nconst Loading = (props) => {\r\n    const { loadingText } = props;\r\n\r\n    return <Spinner color=\"primary\" type=\"grow\" children={loadingText} />;\r\n}\r\n\r\nexport default Loading;","import React, { Component } from 'react';\r\nimport { Button } from 'reactstrap';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport Loading from '../Global/Loading';\r\n\r\nexport class LogoutButton extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            loading: false\r\n        };\r\n\r\n        this.requestLogout = this.requestLogout.bind(this);\r\n    }\r\n\r\n    requestLogout(event) {\r\n        event.preventDefault();\r\n        this.setState({ loading: true });\r\n\r\n        this.logoutForm();\r\n    }\r\n\r\n    async logoutForm() {\r\n        await authService.signOut();\r\n    }\r\n\r\n    render() {\r\n        const { loading } = this.state;\r\n        const { name, loadingText } = this.props;\r\n\r\n        return (\r\n            loading\r\n                ? <Loading loadingText={loadingText} />\r\n                : <Button\r\n                    type=\"button\"\r\n                    color=\"link\"\r\n                    className=\"p-2\"\r\n                    onClick={this.requestLogout}\r\n                >\r\n                    {name ? name : ''}\r\n                </Button>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport { LogoutButton } from '../Fields/LogoutButton';\r\n\r\nexport class LogoutBar extends Component {\r\n    static displayName = LogoutBar.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            authenticated: false\r\n        };\r\n    }\r\n\r\n    componentDidMount() {\r\n        this.populateAuthenticationState();\r\n    }\r\n\r\n    async populateAuthenticationState() {\r\n        await authService.isAuthenticated().then((response) => {\r\n            response ? this.setState({ authenticated: true }) : this.setState({ authenticated: false });\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { authenticated } = this.state;\r\n        const { globalResources } = this.props;\r\n\r\n        if (authenticated) {\r\n            return (\r\n                <div className=\"page-logoutbar fixed-top bg-light\">\r\n                    <Container>\r\n                        <Row>\r\n                            <Col className=\"text-right my-2\">\r\n                                <LogoutButton name={globalResources.LogoutLinkButton} message={globalResources.LogoutTextMessage} loadingText={globalResources.LoadingPageText} />\r\n                            </Col>\r\n                        </Row>\r\n                    </Container>\r\n                </div>\r\n            );\r\n        } else {\r\n            return null;\r\n        }\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport ImgCardCaixaIUOnly from '../../img/content/card-caixa-iu_only.png';\r\nimport './Banner.scss';\r\n\r\nexport class Banner extends Component {\r\n    static displayName = Banner.name;\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            url: 'Authentication'\r\n        };\r\n    }\r\n\r\n    render() {\r\n        const { globalResources } = this.props;\r\n\r\n        return (\r\n            <section className=\"banner\">\r\n                <Container>\r\n                    <Row className=\"pt-4 py-lg-4 align-items-center\">\r\n                        <Col lg=\"4\">\r\n                            <h1 className=\"mb-3\">{globalResources.HPBannerTitle}</h1>\r\n                            <div className=\"lead mb-4\" dangerouslySetInnerHTML={{ __html: globalResources.HPBannerLead }} />\r\n\r\n                            <div className='d-flex justify-content-center'>\r\n                                <p className=\"d-flex justify-content-center justify-content-lg-start p_btnplay\">\r\n                                    <a href=\"#vantagens\" target=\"_self\" className=\"btn btn-outline-primary btn-banner text-uppercase py-2 w-100 px-5\">{globalResources.HPBannerCTAText}</a>\r\n                                </p>\r\n\r\n                                <p className=\"d-flex justify-content-center justify-content-lg-start ml-3 p_btnplay\">\r\n                                    <a href=\"https://www.cgd.pt/Particulares/A-sua-Medida/Universitarios/Pages/Universitarios-CaixaIU.aspx#mediaplayer\" \r\n                                        target=\"_blank\" \r\n                                        rel=\"noopener noreferrer\" \r\n                                        className=\"d-flex justify-content-center btn btn-outline-primary btn-banner text-uppercase px-5 py-2 w-100\">\r\n                                        vê o video\r\n                                        <span className=\"btnplay\"></span>\r\n                                    </a>\r\n                                </p>\r\n                            </div>\r\n                            <div className='d-flex justify-content-center'>\r\n                                <p className=\"d-flex justify-content-center justify-content-lg-start p_btnplay\">\r\n                                    <a href={`/${this.state.url}`} target='_self' className=\"btn btn-primary btn-banner text-uppercase py-2 w-100 px-5\">{globalResources.HPCreatCardCTAText}</a>\r\n                                </p>\r\n                            </div>\r\n                        </Col>\r\n\r\n                        <Col lg=\"8\" className=\"text-center text-lg-right\">\r\n                            <p><img className=\"img\" src={ImgCardCaixaIUOnly} alt=\"\" /></p>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport './Benefits.scss';\r\n\r\nexport class Benefits extends Component {\r\n    static displayName = Benefits.name;\r\n\r\n    render() {\r\n        const { globalResources } = this.props;\r\n\r\n        return (\r\n            <section className=\"benefits\">\r\n                <div className=\"benefits__header\">\r\n                    <Container>\r\n                        <Row className=\"pt-2 pb-5 py-lg-4 justify-content-center justify-content-lg-start\">\r\n                            <Col className=\"col-12 mb-4 mb-lg-0 benefits__title\">\r\n                                <h2 id=\"vantagens\" className=\"benefits__title--h h1 mb-0 anchor-position\">\r\n                                    {globalResources.HPBenefitsTitle1}\r\n                                    <div className=\"benefits__title--img\"><span className=\"sr-only\">{globalResources.HPBenefitsTitle2}</span></div>\r\n                                </h2>\r\n                            </Col>\r\n                            <div className=\"icon\"><span className=\"btn-arrow-icon\"></span></div>\r\n                        </Row>\r\n                    </Container>\r\n                </div>\r\n                <div className=\"bg-light\">\r\n                    <Container>\r\n                        <Row className=\"py-5\">\r\n                            <Col lg=\"4\" className=\"mb-3 m-lg-0\">\r\n                                <div className=\"h1\" dangerouslySetInnerHTML={{ __html: globalResources.HPBenefitsLead }} />\r\n                            </Col>\r\n                            <Col lg=\"4\" className=\"my-3 m-lg-0 px-lg-5\">\r\n                                <h3 className=\"h4\">{globalResources.HPBenefitsSubTitle1}</h3>\r\n                                <div className=\"mt-3\" dangerouslySetInnerHTML={{ __html: globalResources.HPBenefitsDescription1 }} />\r\n                            </Col>\r\n                            <Col lg=\"4\" className=\"mt-3 m-lg-0 pl-lg-4\">\r\n                                <h3 className=\"h4\">{globalResources.HPBenefitsSubTitle2}</h3>\r\n                                <div className=\"mt-3\" dangerouslySetInnerHTML={{ __html: globalResources.HPBenefitsDescription2 }} />\r\n                            </Col>\r\n                        </Row>\r\n                    </Container>\r\n                </div>\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport './CreateCard.scss';\r\n\r\nexport class CreateCard extends Component {\r\n    static displayName = CreateCard.name;\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            url: 'Authentication'\r\n        };\r\n    }\r\n\r\n    async componentDidMount() {\r\n        await authService.isAuthenticated().then((response) => {\r\n            response && this.setState({ url: 'MainForm' });\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { globalResources } = this.props;\r\n\r\n        return (\r\n            <section className=\"create-card\">\r\n                <Container>\r\n                    <Row className=\"center-row my-5 align-items-center\">\r\n                        <Col xs=\"auto\">\r\n                            <h2 id=\"aderir\" className=\"h4 mb-3 mb-md-0 text-center text-md-right anchor-position\">{globalResources.HPCreatCardTitle}</h2>\r\n                        </Col>\r\n                        <Col xs=\"auto\">\r\n                            <Link to={`/${this.state.url}`} id=\"subscribe_hp\" className=\"btn btn-primary text-uppercase px-5 py-2\">{globalResources.HPCreatCardCTAText}</Link>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Button, Collapse } from 'reactstrap';\r\nimport './FAQs.scss';\r\n\r\nexport class FAQ extends Component {\r\n    static displayName = FAQ.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            activeBTN: {}\r\n        };\r\n\r\n        this.handleToogle = this.handleToogle.bind(this);\r\n    }\r\n\r\n    handleToogle(id) {\r\n        this.setState({\r\n            activeBTN: {\r\n                [id]: !this.state.activeBTN[id]\r\n            }\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { activeBTN } = this.state;\r\n        const { globalResources, faqsHP } = this.props;\r\n\r\n        const faqsList = faqsHP.map((obj, index) => (\r\n            <article key={`faq-${index}`}>\r\n                <Button type=\"button\" id={`faq-${index}`} color=\"link\" block className=\"btn-faqs text-left\" onClick={() => this.handleToogle(index)} active={activeBTN[index]}>\r\n                    <h3 className=\"faqs__sub-title h4\">{obj.question}<span className=\"btn-arrow-icon\"></span></h3>\r\n                </Button>\r\n                <Collapse toggler={`#faq-${index}`} isOpen={activeBTN[index] ? activeBTN[index] : false}>\r\n                    <div className=\"text\" dangerouslySetInnerHTML={{ __html: obj.answer }}></div>\r\n                </Collapse>\r\n            </article>\r\n        ));\r\n\r\n        return (\r\n            <section className=\"faqs bg-light\">\r\n                <Container>\r\n                    <Row className=\"pt-3\">\r\n                        <Col>\r\n                            <div id=\"faq\" className=\"anchor-position\">\r\n                                <h2 className=\"faqs__title text-center my-4\"><span className=\"sr-only\">{globalResources.HPFAQTitle}</span></h2>\r\n                            </div>\r\n                        </Col>\r\n                    </Row>\r\n                    <Row>\r\n                        <Col className=\"pb-5\">\r\n                            {faqsList}\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { LogoutBar } from '../Global/LogoutBar';\r\nimport { Banner } from './Banner';\r\nimport { Benefits } from './Benefits';\r\nimport { CreateCard } from './CreateCard';\r\nimport { FAQ } from './FAQs';\r\n\r\nexport class Home extends Component {\r\n    static displayName = Home.name;\r\n\r\n    render() {\r\n        const { globalResources, faqsHP } = this.props;\r\n\r\n        return (\r\n            <main className=\"page-content\">\r\n                <LogoutBar globalResources={globalResources} />\r\n                <Banner globalResources={globalResources} />\r\n                <Benefits globalResources={globalResources} />\r\n                <CreateCard globalResources={globalResources} />\r\n                <FAQ globalResources={globalResources} faqsHP={faqsHP} />\r\n            </main>\r\n        );\r\n    }\r\n}\r\n","export class ConfigManager {\r\n    async getConfigs() {\r\n        const response = await fetch('/Settings/GetConfigs', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n        });\r\n\r\n        //console.log('GetConfigs', response);\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            let data = await response.json();\r\n\r\n            return data;\r\n        }\r\n\r\n        return null;\r\n    }\r\n\r\n    async enableSMSAuth() {\r\n        const response = await fetch('/Settings/EnableSMSAuth', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n        });\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            let data = await response.json();\r\n\r\n            return data;\r\n        }\r\n\r\n        return null;\r\n    }\r\n\r\n    async enableDigitalSign() {\r\n        const response = await fetch('/Settings/EnableDigitalSign', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n        });\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            let data = await response.json();\r\n\r\n            return data.enableDigitalSign;\r\n        }\r\n\r\n        return null;\r\n    }\r\n    \r\n    async getFileSize() {\r\n        const response = await fetch('/Settings/GetFileSizeData', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n        });\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            let data = await response.json();\r\n\r\n            return data;\r\n        }\r\n\r\n        return null;\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Row, Col, Button } from 'reactstrap';\r\nimport Loading from '../Global/Loading';\r\n\r\nexport class AuthNavigation extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n    }\r\n\r\n    render() {\r\n        const { linkURL, linkText, linkClickFunction, buttonName, arrowIcon, buttonDisable, buttonClickFunction, loading, loadingText, analyticsId } = this.props;\r\n\r\n        return (\r\n            <Row className=\"mb-4\">\r\n                <Col className=\"col-6 order-last text-right align-self-center\">\r\n                    {loading\r\n                        ? <Loading loadingText={loadingText} />\r\n                        : <Button\r\n                            {...(analyticsId && {id: analyticsId})}\r\n                            type=\"submit\"\r\n                            color=\"primary\"\r\n                            className=\"text-uppercase px-4 py-2\"\r\n                            onClick={buttonClickFunction}\r\n                            disabled={buttonDisable}\r\n                        >\r\n                            {buttonName ? buttonName : ''}\r\n                            {arrowIcon && <span aria-hidden=\"true\">&nbsp;&gt;</span>}\r\n                        </Button>\r\n                    }\r\n                </Col>\r\n                <Col className=\"col-6 order-first align-self-center\">\r\n                    {linkURL &&\r\n                        <Link to={linkURL}>\r\n                            <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                            {linkText ? linkText : ''}\r\n                        </Link>\r\n                    }\r\n                    {linkClickFunction &&\r\n                        <Button\r\n                            type=\"button\"\r\n                            color=\"link\"\r\n                            onClick={linkClickFunction}\r\n                        >\r\n                            <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                            {linkText ? linkText : ''}\r\n                        </Button>\r\n                    }\r\n                </Col>\r\n            </Row>\r\n        );\r\n    }\r\n}","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"image\", {\n  width: 512,\n  height: 512,\n  xlinkHref: \"data:image/png;base64,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\",\n  id: \"A\"\n}));\nvar _ref3 = /*#__PURE__*/React.createElement(\"use\", {\n  xlinkHref: \"#A\",\n  fill: \"#fff\",\n  transform: \"scale(.09765625)\"\n});\nconst SvgIcnGovAuthentication = _ref => {\n  let {\n    svgRef,\n    title,\n    ...props\n  } = _ref;\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 50,\n    height: 50,\n    ref: svgRef\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIcnGovAuthentication, _extends({\n  svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/icn_gov-authentication.d8b9e459.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M0 0h36.265v60.228H0V0z\",\n  transform: \"translate(0 .204)\",\n  id: \"A\"\n}), /*#__PURE__*/React.createElement(\"use\", {\n  xlinkHref: \"#A\"\n}));\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n  clipPath: \"url(#B)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M35.38 6.604l.29 3.906c.86 7.858.62 46.042.317 47.778-.278 1.59-3.835 2.034-9.95 2.12l-2.08.016-1.186.006c-.652.01-1.307-.055-2.348-.157-1.276-.125-3.132-.307-6.274-.48l-4.46.064c-3.9.054-6.36.022-7.7-1.275-1.17-1.124-1.41-3.063-1.45-6.25L.01 16.25C-.195 1.827 2.648.592 5.836.548l18.27-.334c1.832-.025 3.647-.01 5.236.193 5.7-.162 5.816 1.87 6.037 6.198zM32.972 58.33c.513-.007.71-.154.816-.263.576-.6.493-2.575.367-5.564L34 47.512l-.62-43.146c-.025-1.78-1.49-2.6-4.13-2.937l-.387.016c-.12.01-.224-.03-.314-.092-1.268-.114-2.76-.14-4.468-.117l-18.24.333C3.206 1.606.855 2.754 1.048 16.2l.516 36.026c.033 2.837.23 4.65 1.134 5.52.634.608 1.74.86 3.337.95 0-.01-.001-.022-.002-.033-.002-.02-.003-.04 0-.06.05-.276.32-.46.6-.4.06.01-.01.027-.11.05-.332.083-.976.244 2.078.415l24.37-.34z\",\n  fill: \"#0068a0\",\n  fillRule: \"evenodd\"\n}));\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n  fill: \"#0068a0\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M29.095 5.392c2.234.215 2.353 1.643 2.395 4.594l.506 35.798c.034 2.437-.144 4.82-2.692 4.857L9.393 51c-4.157.06-4.675-2.576-4.704-4.564L4.6 42.72 4.15 6.936C4.493 5.673 5.418 5.022 6.9 5c.5-.007 1.107.062 1.772.205 1.336.288 4.676.257 10.252.206l2.226-.02h7.945zM9.37 49.9l19.868-.36c1.18-.016 1.733-.593 1.688-3.82L30.42 10c-.047-3.337-.297-3.477-1.474-3.6-.58-.056-3.88-.028-7.717.004l-2.344.02c-5.878.054-8.996.082-10.434-.228-.6-.126-1.107-.188-1.54-.182-1.3.018-1.624.6-1.78 1.184-.385 1.423.267 27.007.483 35.414l.1 3.72c.026 1.875.5 3.603 3.665 3.558zm5.016 2.666c.428-.46.85-.562 1.13-.565.705-.01 1.336.578 1.465 1.366.065.398-.05.8-.33 1.107-.3.33-.7.52-1.153.527a1.59 1.59 0 0 1-.787-.2c-.387-.214-.626-.54-.693-.937-.094-.556.175-1.1.367-1.297zm.425.56a.25.25 0 0 0 .305-.052c.042-.048.06-.107.05-.166-.02-.13-.12-.234-.22-.233-.058.001-.12.035-.18.1a.31.31 0 0 0-.058.217c.01.058.043.102.103.135z\",\n  fillRule: \"evenodd\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M17.62 19c-2.155.005-4.11.328-5.084.52-2.932.58-4.293 2.416-4.918 3.854-.833 1.917-.824 4.3.022 5.794 1.188 2.1 5.878 2.255 7.287 2.252l.628-.014c.112 0 .205.056.253.147.04.073.84 1.62.32 4.445.816-1.07 2.043-2.87 2.36-4.373.027-.127.132-.22.256-.225.02-.001 1.925-.095 3.764-1.006 2.418-1.198 3.6-3.183 3.485-5.9-.178-4.556-4.65-5.503-8.372-5.495\"\n}));\nconst SvgIcnSms = _ref => {\n  let {\n    svgRef,\n    title,\n    ...props\n  } = _ref;\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 37,\n    height: 61,\n    ref: svgRef\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIcnSms, _extends({\n  svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/icn_sms.5c29b509.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Form, FormGroup, Alert } from 'reactstrap';\r\nimport { ConfigManager } from '../Global/SettingsManager';\r\nimport { AuthNavigation } from './AuthNavigation';\r\nimport { ReactComponent as IcoGovAuthentication } from '../../img/icn/icn_gov-authentication.svg';\r\nimport { ReactComponent as IcoSMS } from '../../img/icn/icn_sms.svg';\r\nimport ImgCardCaixaIUOnly from '../../img/content/card-caixa-iu_only.png';\r\nimport './Authentication.scss';\r\n\r\nexport class Authentication extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            selectedOption: '',\r\n            configs: {},\r\n            loading: false,\r\n            errors: ''\r\n        };\r\n\r\n        this.validateConfig = this.validateConfig.bind(this);\r\n        this.requestFormSubmit = this.requestFormSubmit.bind(this);\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        window.scrollTo(0, 0);\r\n\r\n        this.validateConfig();\r\n    }\r\n\r\n    async validateConfig() {\r\n        var configManager = new ConfigManager();\r\n        const _configs = await configManager.getConfigs();\r\n        const _enableSMSAuth = await configManager.enableSMSAuth();\r\n\r\n        if (this.state.configs) {\r\n            this.setState({\r\n                configs: {\r\n                    amaLoginRedirect: _configs.amaLogin,\r\n                    isSMSAuthEnable: _enableSMSAuth.isSMSAuthEnable\r\n                }\r\n            });\r\n\r\n            if (_enableSMSAuth && _enableSMSAuth.isSMSAuthEnable === false) {\r\n                this.setState({\r\n                    selectedOption: 'govAuthentication'\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    requestFormSubmit(event) {\r\n        event.preventDefault();\r\n\r\n        this.setState({ loading: true });\r\n        this.submitFormData();\r\n    }\r\n\r\n    async submitFormData() {\r\n        if (this.state.selectedOption === 'tokenSMS') {\r\n            this.props.history.push('/Authentication/Token');\r\n        } else if (this.state.selectedOption === 'govAuthentication') {\r\n            if (this.state.configs && this.state.configs.amaLoginRedirect) {\r\n                window.location.href = this.state.configs.amaLoginRedirect;\r\n            } else {\r\n                this.setState({\r\n                    loading: false,\r\n                    errors: this.props.amaErrorResources.Generic\r\n                });\r\n            }\r\n        } else {\r\n            this.setState({\r\n                loading: false,\r\n                errors: this.props.formResources.FormErrorChooseAnOption\r\n            });\r\n        }\r\n    }\r\n\r\n    handleChange(event) {\r\n        this.setState({\r\n            selectedOption: event.target.value\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { selectedOption, configs, errors, loading } = this.state;\r\n        const { globalResources, formResources } = this.props;\r\n\r\n        return (\r\n            <main className=\"page-content authentication\">\r\n                <Container>\r\n                    <Row>\r\n                        <Col lg=\"5\">\r\n                            <h1>{formResources.AuthenticationTitle}</h1>\r\n\r\n                            <Form className=\"needs-validation\" noValidate>\r\n                                <FormGroup tag=\"fieldset\" className=\"mb-0 min-lg-h300\">\r\n                                    <legend className=\"text-primary\"><strong>{formResources.AuthenticationLegend}</strong><br></br><strong>{formResources.AuthenticationByToken2Title}</strong></legend>\r\n                                    {errors &&\r\n                                        <Alert key={errors} color=\"danger\"><div dangerouslySetInnerHTML={{ __html: errors }} /></Alert>\r\n                                    }\r\n\r\n                                    <div className=\"form-check form-check-img\">\r\n                                        <input type=\"radio\" name=\"authentication\" id=\"govAuthentication\" className=\"form-check-input\" value=\"govAuthentication\" checked={configs && configs.isSMSAuthEnable ? selectedOption === 'govAuthentication' : true} onChange={this.handleChange} required={true} />\r\n                                        <label htmlFor=\"govAuthentication\" className=\"form-check-label\">\r\n                                            <IcoGovAuthentication className=\"form-check-img__ico\" width=\"50\" height=\"50\" alt=\"\" />\r\n                                            <div className=\"form-check-img__label\">\r\n                                                <strong className=\"form-label text-uppercase\">{formResources.FormLabelGovAuthentication}<br /></strong>\r\n                                                <small dangerouslySetInnerHTML={{ __html: formResources.FormHelperGovAuthenticationCode }}></small>\r\n                                            </div>\r\n                                        </label>\r\n                                    </div>\r\n\r\n                                    {configs && configs.isSMSAuthEnable &&\r\n                                        <div className=\"form-check form-check-img\">\r\n                                            <input type=\"radio\" name=\"authentication\" id=\"tokenSMS\" className=\"form-check-input\" value=\"tokenSMS\" checked={selectedOption === 'tokenSMS'} onChange={this.handleChange} required={true} />\r\n                                            <label htmlFor=\"tokenSMS\" className=\"form-check-label\">\r\n                                                <IcoSMS className=\"form-check-img__ico\" width=\"37\" height=\"61\" alt=\"\" />\r\n                                                <div className=\"form-check-img__label\">\r\n                                                    <strong className=\"form-label text-uppercase\">{formResources.FormLabelSMS}<br /></strong>\r\n                                                    <small>{formResources.FormHelperSMSCode}</small>\r\n                                                </div>\r\n                                            </label>\r\n                                        </div>\r\n                                    }\r\n                                </FormGroup>\r\n\r\n                                <AuthNavigation analyticsId=\"continue_1\" linkURL={\"/\"} linkText={globalResources.NavAuthBackText} buttonName={globalResources.NavForwardText} buttonClickFunction={this.requestFormSubmit} buttonDisable={!selectedOption} loading={loading} loadingText={globalResources.LoadingPageText} arrowIcon={true} />\r\n                            </Form>\r\n                        </Col>\r\n                        <Col lg=\"7\" className=\"text-center text-lg-right\">\r\n                            <p><img className=\"img\" src={ImgCardCaixaIUOnly} alt=\"\" /></p>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </main>\r\n        );\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class NifField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            errors: false,\r\n            maxLength: '',\r\n            touched: {}\r\n        }\r\n\r\n        this.regex = /^[0-9]*$/;\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { country, inputValue, id } = this.props;\r\n\r\n        country === 'PT' &&\r\n            this.setState({\r\n                maxLength: 9\r\n            });\r\n\r\n        if (!!inputValue) {\r\n            this.turnFieldTouched(id);\r\n        } else {\r\n            this.setState({\r\n                errors: true\r\n            });\r\n\r\n            this.props.onChangeFunction && this.props.onChangeFunction('', '', true, { name: id, value: inputValue, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    handleChange(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (this.props.country === 'PT') {\r\n            if (value === '' || (this.regex.test(value) && value.length <= this.state.maxLength)) {\r\n                this.setState({\r\n                    errors: hasError\r\n                });\r\n\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n            }\r\n        } else {\r\n            //TODO\r\n            if (value === '' || this.regex.test(value)) {\r\n                this.setState({\r\n                    errors: true\r\n                });\r\n\r\n                this.props.onChangeFunction(event.target, '', true);\r\n            }\r\n        }\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name, value } = event.target;\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (this.props.country === 'PT') {\r\n            if (value !== '') {\r\n                var hasError = !this.validate(value);\r\n\r\n                this.setState({\r\n                    errors: hasError\r\n                });\r\n            }\r\n        } else {\r\n            //TODO\r\n            if (value === '') {\r\n                this.setState({\r\n                    errors: true\r\n                });\r\n            } else {\r\n                this.setState({\r\n                    errors: false\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state;\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n\r\n    validate(number) {\r\n        if (number !== null) {\r\n            if (!this.regex.test(number) && number.length !== this.state.maxLength) {\r\n                return false;\r\n            }\r\n        } else {\r\n            return false;\r\n        }\r\n\r\n        const total = number[0] * 9 + number[1] * 8 + number[2] * 7 + number[3] * 6 + number[4] * 5 + number[5] * 4 + number[6] * 3 + number[7] * 2;\r\n        const mod11 = (Number(total) % 11);\r\n        const checkDigit = mod11 < 2 ? 0 : 11 - mod11;\r\n\r\n        return checkDigit === Number(number[8]);\r\n    }\r\n\r\n    render() {\r\n        const { maxLength, errors, touched } = this.state;\r\n        const { id, inputHelpText, inputValidationText, inputValue, required, autoFocus, readonly, disabled } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Input\r\n                    type=\"text\"\r\n                    name={id}\r\n                    id={id}\r\n                    aria-describedby={`${id}Help`}\r\n                    invalid={errors}\r\n                    defaultValue={inputValue}\r\n                    onChange={this.handleChange}\r\n                    onBlur={this.handleBlur}\r\n                    maxLength={maxLength}\r\n                    required={required}\r\n                    autoFocus={autoFocus}\r\n                    inputMode=\"numeric\"\r\n                    readOnly={readonly}\r\n                    disabled={disabled}\r\n                />\r\n                {inputHelpText &&\r\n                    <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                }\r\n                {inputValidationText &&\r\n                    <div className=\"invalid-feedback\">{touched[id] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Tooltip } from \"reactstrap\";\r\n\r\nconst TooltipItem = props => {\r\n    const { id, text, invertColor } = props;\r\n    const [tooltipOpen, setTooltipOpen] = useState(false);\r\n\r\n    const toggle = () => setTooltipOpen(!tooltipOpen);\r\n\r\n    return (\r\n        <>\r\n            <span className={`icn-tooltip${invertColor ? ` icn-tooltip__invert` : ''} mr-1`} id={`Tooltip-${id}`}>i<span className=\"sr-only\"> de informação</span></span>\r\n            <Tooltip\r\n                placement=\"right\"\r\n                modifiers={{ offset: { offset: '0, 15px' } }}\r\n                isOpen={tooltipOpen}\r\n                target={`Tooltip-${id}`}\r\n                toggle={toggle}\r\n                autohide={false}\r\n            >\r\n                <div dangerouslySetInnerHTML={{ __html: text }} />\r\n            </Tooltip>\r\n        </>\r\n    );\r\n};\r\n\r\nexport default TooltipItem;","import React, { Component } from 'react';\r\nimport { Row, FormGroup, Label, Input } from 'reactstrap';\r\nimport TooltipItem from '../Fields/TooltipItem';\r\n\r\nexport class PhoneNumberField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            errors: false,\r\n            maxLength: '',\r\n            touched: {}\r\n        }\r\n\r\n        this.regex = /^[0-9]*$/;\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n        this.turnFieldTouched = this.turnFieldTouched.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { country, id, inputValue } = this.props;\r\n\r\n        country === 'PT' &&\r\n            this.setState({\r\n                maxLength: 9\r\n            });\r\n\r\n        if (!!inputValue) {\r\n            this.turnFieldTouched(id);\r\n        } else {\r\n            this.setState({\r\n                errors: true\r\n            });\r\n\r\n            this.props.onChangeFunction && this.props.onChangeFunction('', '', true, { name: id, value: inputValue, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    handleChange(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (this.props.country === 'PT') {\r\n            if (value === '' || (this.regex.test(value) && value.length <= this.state.maxLength)) {\r\n                this.setState({\r\n                    errors: hasError\r\n                });\r\n\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n            }\r\n        } else {\r\n            //TODO\r\n            if (value === '' || !this.regex.test(value)) {\r\n                this.setState({\r\n                    errors: true\r\n                });\r\n\r\n                this.props.onChangeFunction(event.target, '', true);\r\n            }\r\n        }\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name, value } = event.target;\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (this.props.country === 'PT') {\r\n            if (value !== '') {\r\n                var hasError = !this.validate(value);\r\n\r\n                this.setState({\r\n                    errors: hasError\r\n                });\r\n            }\r\n        } else {\r\n            //TODO\r\n            if (value === '') {\r\n                this.setState({\r\n                    errors: true\r\n                });\r\n            } else {\r\n                this.setState({\r\n                    errors: false\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state;\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n\r\n    validate(number) {\r\n        if (number !== null) {\r\n            if (!this.regex.test(number) && number.length !== this.state.maxLength) {\r\n                return false;\r\n            }\r\n        } else {\r\n            return false;\r\n        }\r\n\r\n        if (this.props.type === 'phone') {\r\n            const phoneNumber = /^((2[\\d]{8})|(30[\\d]{7}))$/;\r\n\r\n            return phoneNumber.test(number);\r\n        } else {\r\n            const mobilePhoneNumber = /^(9[1236][\\d]{7})$/;\r\n\r\n            return mobilePhoneNumber.test(number);\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { maxLength, errors, touched } = this.state;\r\n        const { id, mobilePhoneDialogCodeID, mobilePhoneID, tootipMobilePhoneDialogCode, inputHelpText, inputValidationText, defaultDialogCode, inputValue, tootipMobilePhone, formResources, required, showContryCodeValue, autoFocus, readonly, disabled } = this.props;\r\n\r\n        return (\r\n            mobilePhoneDialogCodeID\r\n                ? <Row>\r\n                    <FormGroup className=\"col-4 col-md-2\">\r\n                        <Label for={mobilePhoneDialogCodeID} className=\"form-label text-uppercase\">{formResources.FormLabelMobilePhoneDialogCode}{required && \"*\"}</Label>\r\n                        {tootipMobilePhoneDialogCode &&\r\n                            <TooltipItem key={`FormTooltip${mobilePhoneDialogCodeID}`} id={`FormTooltip${mobilePhoneDialogCodeID}`} text={tootipMobilePhoneDialogCode} />\r\n                        }\r\n                        <Input\r\n                            type=\"text\"\r\n                            name={mobilePhoneDialogCodeID}\r\n                            id={mobilePhoneDialogCodeID}\r\n                            defaultValue={defaultDialogCode}\r\n                            required={required}\r\n                            autoComplete=\"tel-country-code\"\r\n                            autoFocus={autoFocus}\r\n                            readOnly={true}\r\n                            disabled={disabled}\r\n                        />\r\n                    </FormGroup>\r\n                    <FormGroup className=\"col-8 col-md-4\">\r\n                        <Label for={mobilePhoneID} className=\"form-label text-uppercase\">{formResources.FormLabelMobilephone}{required && \"*\"}</Label>\r\n                        {tootipMobilePhone &&\r\n                            <TooltipItem key={`FormTooltip${mobilePhoneID}`} id={`FormTooltip${mobilePhoneID}`} text={tootipMobilePhone} />\r\n                        }\r\n                        <Input\r\n                            type=\"tel\"\r\n                            name={mobilePhoneID}\r\n                            id={mobilePhoneID}\r\n                            aria-describedby={`${id}Help`}\r\n                            invalid={errors}\r\n                            defaultValue={inputValue}\r\n                            onChange={this.handleChange}\r\n                            onBlur={this.handleBlur}\r\n                            maxLength={maxLength}\r\n                            required={required}\r\n                            autoComplete=\"tel-national\"\r\n                            autoFocus={autoFocus}\r\n                            readOnly={readonly}\r\n                            disabled={disabled}\r\n                        />\r\n                        {inputHelpText &&\r\n                            <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                        }\r\n                        {inputValidationText &&\r\n                            <div className=\"invalid-feedback\">{touched[id] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                        }\r\n                    </FormGroup>\r\n                </Row>\r\n                : <>\r\n                    <Input\r\n                        type=\"tel\"\r\n                        name={id}\r\n                        id={id}\r\n                        aria-describedby={`${id}Help`}\r\n                        invalid={errors}\r\n                        defaultValue={inputValue}\r\n                        onChange={this.handleChange}\r\n                        onBlur={this.handleBlur}\r\n                        maxLength={maxLength}\r\n                        required={required}\r\n                        autoComplete={showContryCodeValue ? \"tel\" : \"tel-national\"}\r\n                        autoFocus={autoFocus}\r\n                        readOnly={readonly}\r\n                        disabled={disabled}\r\n                    />\r\n                    {inputHelpText &&\r\n                        <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                    }\r\n                    {inputValidationText &&\r\n                        <div className=\"invalid-feedback\">{touched[id] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                    }\r\n                </>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { withRouter } from \"react-router\";\r\nimport { Form, FormGroup, Label, Alert } from 'reactstrap';\r\nimport { NifField } from '../Fields/NifField';\r\nimport { PhoneNumberField } from '../Fields/PhoneNumberField';\r\nimport TooltipItem from '../Fields/TooltipItem';\r\nimport { AuthNavigation } from './AuthNavigation';\r\n\r\nclass RequestTokenForm extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            authenticationData: {\r\n                nif: '',\r\n                mobilePhoneNumber: ''\r\n            },\r\n            countryCode: 'PT',\r\n            mobilePhoneDialogValue: 'PT',\r\n            response: '',\r\n            loading: false,\r\n            errors: [],\r\n            isValid: false\r\n        };\r\n\r\n        this.requestFormSubmit = this.requestFormSubmit.bind(this);\r\n        this.requestToken = this.requestToken.bind(this);\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    requestFormSubmit(event) {\r\n        event.preventDefault();\r\n\r\n        //console.log('erros:', this.state.errors);\r\n\r\n        if (!this.hasErrors()) {\r\n            this.setState({ loading: true });\r\n            this.requestToken();\r\n        }\r\n    }\r\n\r\n    async requestToken() {\r\n        const { authenticationData } = this.state;\r\n        const data = authenticationData;\r\n        const response = await fetch('/Authentication/SendOtpToken', {\r\n            method: 'POST',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n            body: JSON.stringify(data)\r\n        });\r\n\r\n        //console.log('requestToken', response);\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            this.props.requestTokenSuccess(authenticationData);\r\n        } else {\r\n            this.setState({ loading: false });\r\n\r\n            this.props.validateTokenError(this.props.globalResources.ErrorGateway);\r\n        }\r\n    }\r\n\r\n    handleCompareKeys(a, b) {\r\n        var aKeys = Object.keys(a).sort();\r\n        var bKeys = Object.keys(b).sort();\r\n\r\n        //console.log('handleCompareKeys', JSON.stringify(aKeys) === JSON.stringify(bKeys));\r\n\r\n        return JSON.stringify(aKeys) === JSON.stringify(bKeys);\r\n    }\r\n\r\n    hasErrors() {\r\n        var errors = Object.values(this.state.errors);\r\n        var hasErrors = errors.length === 0 || errors.reduce(function (acc, value) {\r\n            return acc || value;\r\n        }, false);\r\n\r\n        return hasErrors;\r\n    }\r\n\r\n    handleChange(event, target, errors, rawData) {\r\n        const { name, value } = !!rawData ? rawData : target !== undefined ? event : event.target;\r\n        //console.log(event, name, value);\r\n\r\n        this.setState(prevState => ({\r\n            authenticationData: {\r\n                ...prevState.authenticationData,\r\n                [name]: value\r\n            },\r\n            errors: {\r\n                ...prevState.errors,\r\n                [name]: errors\r\n            }\r\n        }), () => this.setState({\r\n            isValid: !this.hasErrors() && this.handleCompareKeys(this.state.errors, this.state.authenticationData)\r\n        }));\r\n    }\r\n\r\n    render() {\r\n        const { authenticationData, countryCode, mobilePhoneDialogValue, isValid, loading } = this.state;\r\n        const { globalResources, formResources, errorMessage } = this.props;\r\n\r\n        return (\r\n            <Form className=\"needs-validation\" noValidate>\r\n                <FormGroup tag=\"fieldset\" className=\"mb-0 min-lg-h300\">\r\n                    <legend className=\"text-primary\"><strong>{formResources.RequestTokenLegend}</strong></legend>\r\n\r\n                    {errorMessage &&\r\n                        <Alert key={errorMessage} color=\"danger\"><div dangerouslySetInnerHTML={{ __html: errorMessage }} /></Alert>\r\n                    }\r\n\r\n                    <FormGroup>\r\n                        <Label for=\"nif\" className=\"form-label text-uppercase mr-sm-2\">{formResources.FormLabelNIF}*</Label>\r\n                        <TooltipItem key=\"FormTooltipNIF\" id=\"FormTooltipNIF\" text={formResources.FormTooltipNIF} />\r\n                        <NifField id=\"nif\" inputValidationText={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorNIF }} inputValue={authenticationData.nif} country={countryCode} onChangeFunction={this.handleChange} required={true} autoFocus={true} />\r\n                    </FormGroup>\r\n                    <FormGroup>\r\n                        <Label for=\"mobilePhoneNumber\" className=\"form-label text-uppercase mr-sm-2\">{formResources.FormLabelMobilephoneNumb}*</Label>\r\n                        <TooltipItem key=\"FormTooltipMobilephone\" id=\"FormTooltipMobilephone\" text={formResources.FormTooltipMobilephone} />\r\n                        <PhoneNumberField id=\"mobilePhoneNumber\" inputValidationText={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorMobilephoneNumb }} inputValue={authenticationData.mobilePhoneNumber} country={mobilePhoneDialogValue} onChangeFunction={this.handleChange} required={true} />\r\n                    </FormGroup>\r\n                </FormGroup>\r\n\r\n                <AuthNavigation linkURL={\"/Authentication\"} linkText={globalResources.NavBackText} buttonName={globalResources.NavSubmitText} buttonClickFunction={this.requestFormSubmit} buttonDisable={!isValid} loading={loading} loadingText={globalResources.LoadingPageText} />\r\n            </Form>\r\n        );\r\n    }\r\n}\r\n\r\nexport default withRouter(RequestTokenForm);","import React, { Component } from 'react';\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class SMSTokenField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            errors: false,\r\n            maxLength: 6,\r\n            touched: {}\r\n        }\r\n\r\n        this.regex = /^[0-9]*$/;\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { id, inputValue } = this.props;\r\n\r\n        if (!!inputValue) {\r\n            this.turnFieldTouched(id);\r\n        } else {\r\n            this.setState({\r\n                errors: true\r\n            });\r\n\r\n            this.props.onChangeFunction && this.props.onChangeFunction('', '', true, { name: id, value: inputValue, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    handleChange(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        if (this.props.required) {\r\n            this.turnFieldTouched(name);\r\n\r\n            if (value === '' || (this.regex.test(value) && value.length <= this.state.maxLength)) {\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n\r\n                if (value.length === this.state.maxLength) {\r\n                    this.setState({\r\n                        errors: hasError\r\n                    });\r\n                }\r\n\r\n                if (value === '') {\r\n                    this.setState({\r\n                        errors: true\r\n                    });\r\n                } else {\r\n                    this.setState({\r\n                        errors: false\r\n                    });\r\n                }\r\n            }\r\n        } else {\r\n            if (value !== '' || (this.regex.test(value) && value.length <= this.state.maxLength)) {\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n\r\n                if (value.length === this.state.maxLength) {\r\n                    this.setState({\r\n                        errors: hasError\r\n                    });\r\n                }\r\n\r\n                if (value === '') {\r\n                    this.setState({\r\n                        errors: false\r\n                    });\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (this.props.required) {\r\n            this.setState({\r\n                errors: hasError\r\n            });\r\n        } else {\r\n            if (value !== '') {\r\n                this.setState({\r\n                    errors: hasError\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state;\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n\r\n    validate(number) {\r\n        if (this.regex.test(number) && number.length === this.state.maxLength) {\r\n            return true;\r\n        } else {\r\n            return false;\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { maxLength, errors, touched } = this.state;\r\n        const { id, inputHelpText, inputValidationText, inputValue, required, autoFocus, readonly, disabled } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Input\r\n                    type=\"text\"\r\n                    name={id}\r\n                    id={id}\r\n                    aria-describedby={`${id}Help`}\r\n                    invalid={errors}\r\n                    value={inputValue}\r\n                    onChange={this.handleChange}\r\n                    onBlur={this.handleBlur}\r\n                    maxLength={maxLength}\r\n                    required={required}\r\n                    autoComplete=\"one-time-code\"\r\n                    autoFocus={autoFocus}\r\n                    inputMode=\"numeric\"\r\n                    readOnly={readonly}\r\n                    disabled={disabled}\r\n                />\r\n                {inputHelpText &&\r\n                    <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                }\r\n                {inputValidationText &&\r\n                    <div className=\"invalid-feedback\">{touched[id] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { withRouter } from \"react-router\";\r\nimport { Container, Row, Col, Form, FormGroup, Label, Alert, Button } from 'reactstrap';\r\nimport authService from '../api-authorization/AuthorizeService';\r\nimport { SMSTokenField } from '../Fields/SMSTokenField';\r\nimport { AuthNavigation } from './AuthNavigation';\r\nimport './Authentication.scss';\r\n\r\nclass TokenForm extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            authenticationData: {\r\n                nif: this.props.authenticationData.nif || '',\r\n                mobilePhoneNumber: this.props.authenticationData.mobilePhoneNumber || '',\r\n                smsCode: this.props.authenticationData.smsCode || ''\r\n            },\r\n            toMainForm: false,\r\n            loading: false,\r\n            errors: [],\r\n            isValid: false\r\n        };\r\n\r\n        this.requestFormSubmit = this.requestFormSubmit.bind(this);\r\n        this.validateToken = this.validateToken.bind(this);\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    requestFormSubmit(event) {\r\n        event.preventDefault();\r\n\r\n        //console.log('errors', this.state.errors);\r\n\r\n        if (!this.hasErrors()) {\r\n            this.setState({ loading: true });\r\n            this.validateToken();\r\n        }\r\n    }\r\n\r\n    async validateToken() {\r\n        const { authenticationData } = this.state;\r\n        const data = {\r\n            nif: authenticationData.nif,\r\n            mobilePhoneNumber: authenticationData.mobilePhoneNumber,\r\n            smsCode: authenticationData.smsCode,\r\n        }\r\n        const response = await authService.signIn(data);\r\n\r\n        //console.log('response', response);\r\n\r\n        if (response.status === 'success') {\r\n            this.props.history.push('/MainForm');\r\n        } else {\r\n            if (response.status === 'fail' && response.message === 'Student_NotFound') {\r\n                this.setState({ loading: false });\r\n\r\n                this.props.validateTokenError(this.props.globalResources.ErrorUserNotFound);\r\n            } else if (response.status === 'fail' && response.message === 'Form_AlreadySubmitted') {\r\n                this.setState({ loading: false });\r\n\r\n                this.props.validateTokenError(this.props.globalResources.ErrorFormAlreadySubmitted);\r\n            } else if (response.status === 'fail' && response.message === 'Code_NotFound') {\r\n                this.setState({ loading: false });\r\n\r\n                this.props.validateTokenError(this.props.globalResources.ErrorSMSCode);\r\n            } else {\r\n                this.setState({ loading: false });\r\n\r\n                this.props.validateTokenError(this.props.globalResources.ErrorGateway);\r\n            }\r\n        }\r\n    }\r\n\r\n    hasErrors() {\r\n        var errors = Object.values(this.state.errors);\r\n        var hasErrors = errors.length === 0 || errors.reduce(function (acc, value) {\r\n            return acc || value;\r\n        }, false);\r\n\r\n        return hasErrors;\r\n    }\r\n\r\n    handleChange(event, target, errors, rawData) {\r\n        const { name, value } = !!rawData ? rawData : target !== undefined ? event : event.target;\r\n\r\n        this.setState(prevState => ({\r\n            authenticationData: {\r\n                ...prevState.authenticationData,\r\n                [name]: value\r\n            },\r\n            errors: {\r\n                ...prevState.errors,\r\n                [name]: errors\r\n            }\r\n        }), () => this.setState({\r\n            isValid: !this.hasErrors()\r\n        }));\r\n    }\r\n\r\n    render() {\r\n        const { authenticationData, isValid, loading } = this.state;\r\n        const { setStep, globalResources, formResources, errorMessage } = this.props;\r\n\r\n        const mobilePhoneNumber = authenticationData.mobilePhoneNumber;\r\n        const mobileLastNumbers = mobilePhoneNumber ? mobilePhoneNumber.slice(-2) : '';\r\n        const formMessageTokenSMS = formResources.FormMessageTokenSMS;\r\n        const tokenMessage = mobileLastNumbers !== '' ? formMessageTokenSMS.replace('[NUM]', '[' + mobileLastNumbers + ']') : formMessageTokenSMS;\r\n\r\n        return (\r\n            <main className=\"page-content authentication\">\r\n                <Container>\r\n                    <Row>\r\n                        <Col className=\"col-lg-5\">\r\n                            <h1>{formResources.TokenTitle}</h1>\r\n\r\n                            <div className=\"lead\" dangerouslySetInnerHTML={{ __html: tokenMessage }} />\r\n\r\n                            <Form className=\"needs-validation\" noValidate>\r\n                                <FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n                                    <legend className=\"sr-only\">{formResources.TokenLegend}</legend>\r\n\r\n                                    {errorMessage &&\r\n                                        <Alert key={errorMessage} color=\"danger\"><div dangerouslySetInnerHTML={{ __html: errorMessage }} /></Alert>\r\n                                    }\r\n\r\n                                    <FormGroup>\r\n                                        <Label for=\"smsCode\" className=\"form-label text-uppercase mr-sm-2\">{formResources.FormLabelTokenCode}*</Label>\r\n                                        <SMSTokenField id=\"smsCode\" inputValidationText={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorSMSCode }} inputValue={authenticationData.smsCode} onChangeFunction={this.handleChange} required={true} autoFocus={true} />\r\n                                    </FormGroup>\r\n                                </FormGroup>\r\n\r\n                                <AuthNavigation linkText={globalResources.NavBackText} linkClickFunction={setStep} buttonName={globalResources.NavStartText} buttonClickFunction={this.requestFormSubmit} buttonDisable={!isValid} loading={loading} loadingText={globalResources.LoadingPageText} />\r\n\r\n                                <p className=\"mt-3\">\r\n                                    <Button type=\"button\" color=\"link\" onClick={setStep}>{globalResources.TokenResendCode}</Button><br />\r\n                                    <a href={globalResources.TokenCodeProblemsLinkURL} target=\"_blank\" rel=\"external noopener noreferrer\">{globalResources.TokenCodeProblemsLinkText}</a>\r\n                                </p>\r\n                            </Form>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </main>\r\n        );\r\n    }\r\n}\r\n\r\nexport default withRouter(TokenForm);","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport RequestTokenForm from './RequestTokenForm';\r\nimport TokenForm from './TokenForm';\r\nimport ImgCardCaixaIUOnly from '../../img/content/card-caixa-iu_only.png';\r\nimport './Authentication.scss';\r\n\r\nexport class AuthByToken extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            authenticationData: {\r\n                nif: '',\r\n                mobilePhoneNumber: '',\r\n                smsCode: ''\r\n            },\r\n            step: 'requestToken',\r\n            error: ''\r\n        };\r\n\r\n        this.handleStep = this.handleStep.bind(this);\r\n        this.validateTokenError = this.validateTokenError.bind(this);\r\n        this.requestTokenSuccess = this.requestTokenSuccess.bind(this);\r\n    }\r\n\r\n    handleStep() {\r\n        this.setState({\r\n            step: 'requestToken'\r\n        });\r\n    }\r\n\r\n    validateTokenError(errorMessage) {\r\n        this.setState({\r\n            authenticationData: {},\r\n            step: 'requestToken',\r\n            error: errorMessage\r\n        });\r\n\r\n        window.scrollTo(0, 0);\r\n    }\r\n\r\n    requestTokenSuccess(data) {\r\n        this.setState({\r\n            authenticationData: data,\r\n            step: 'validateToken',\r\n            error: ''\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { step, authenticationData } = this.state;\r\n        const { globalResources, formResources } = this.props;\r\n\r\n        switch (step) {\r\n            case 'validateToken':\r\n                return (\r\n                    <TokenForm globalResources={globalResources} formResources={formResources} setStep={this.handleStep} authenticationData={authenticationData} validateTokenError={this.validateTokenError} errorMessage={this.state.error} />\r\n                );\r\n            case 'requestToken':\r\n            default:\r\n                return (\r\n                    <main className=\"page-content authentication\">\r\n                        <Container>\r\n                            <Row>\r\n                                <Col lg=\"5\">\r\n                                    <h1>{formResources.AuthenticationByTokenTitle}</h1>\r\n                                    <RequestTokenForm globalResources={globalResources} formResources={formResources} requestTokenSuccess={this.requestTokenSuccess} validateTokenError={this.validateTokenError} errorMessage={this.state.error} />\r\n                                </Col>\r\n                                <Col lg=\"7\" className=\"text-center text-lg-right\">\r\n                                    <p><img className=\"img\" src={ImgCardCaixaIUOnly} alt=\"\" /></p>\r\n                                </Col>\r\n                            </Row>\r\n                        </Container>\r\n                    </main>\r\n                );\r\n        }\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Form, FormGroup } from 'reactstrap';\r\nimport { AuthNavigation } from './AuthNavigation';\r\nimport './Authentication.scss';\r\n\r\nexport class AuthByDigitalKey extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            loading: false,\r\n            errors: [],\r\n            isValid: false\r\n        };\r\n    }\r\n\r\n    render() {\r\n        const { isValid, loading } = this.state;\r\n        const { globalResources, formResources } = this.props;\r\n\r\n        return (\r\n            <main className=\"page-content authentication\">\r\n                <Container>\r\n                    <Row>\r\n                        <Col className=\"col-lg-5\">\r\n                            <h1>{formResources.AuthenticationByDigitalKeyTitle}</h1>\r\n\r\n                            <Form>\r\n                                <FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n                                    <legend className=\"text-primary\"><strong></strong></legend>\r\n\r\n\r\n                                </FormGroup>\r\n\r\n                                <AuthNavigation linkURL={\"/Authentication\"} linkText={globalResources.NavBackText} buttonName={globalResources.NavForwardText} buttonDisable={!isValid} loading={loading} loadingText={globalResources.LoadingPageText} />\r\n                            </Form>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </main>\r\n        );\r\n    }\r\n}\r\n","export const ApplicationName = 'NEUSite';\r\n\r\nexport const QueryParameterNames = {\r\n    ReturnUrl: 'returnUrl',\r\n    Message: 'message'\r\n};\r\n\r\nexport const LogoutActions = {\r\n    LogoutCallback: 'logout-callback',\r\n    Logout: 'logout',\r\n    LoggedOut: 'logged-out'\r\n};\r\n\r\nexport const LoginActions = {\r\n    Login: 'Token',\r\n    LoginCallback: 'login-callback',\r\n    LoginFailed: 'login-failed',\r\n    Profile: 'profile',\r\n    Register: 'register'\r\n};\r\n\r\nconst prefix = '/Authentication';\r\n\r\nexport const ApplicationPaths = {\r\n    DefaultLoginRedirectPath: '/',\r\n    ApiAuthorizationClientConfigurationUrl: `/_configuration/${ApplicationName}`,\r\n    ApiAuthorizationPrefix: prefix,\r\n    Login: `${prefix}/${LoginActions.Login}`,\r\n    LoginFailed: `${prefix}/${LoginActions.LoginFailed}`,\r\n    LoginCallback: `${prefix}/${LoginActions.LoginCallback}`,\r\n    Register: `${prefix}/${LoginActions.Register}`,\r\n    Profile: `${prefix}/${LoginActions.Profile}`,\r\n    LogOut: `${prefix}/${LogoutActions.Logout}`,\r\n    LoggedOut: `${prefix}/${LogoutActions.LoggedOut}`,\r\n    LogOutCallback: `${prefix}/${LogoutActions.LogoutCallback}`,\r\n    IdentityRegisterPath: '/Identity/Account/Register',\r\n    IdentityManagePath: '/Identity/Account/Manage'\r\n};\r\n","import React from 'react';\r\nimport { Component } from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { Container } from 'reactstrap';\r\nimport { ApplicationPaths, QueryParameterNames } from './ApiAuthorizationConstants';\r\nimport authService from './AuthorizeService';\r\nimport Loading from '../Global/Loading';\r\n\r\nexport default class AuthorizeRoute extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            ready: false,\r\n            authenticated: false\r\n        };\r\n    }\r\n\r\n    componentDidMount() {\r\n        this._subscription = authService.subscribe(() => this.authenticationChanged());\r\n        this.populateAuthenticationState();\r\n    }\r\n\r\n    componentWillUnmount() {\r\n        authService.unsubscribe(this._subscription);\r\n    }\r\n\r\n    render() {\r\n        const { ready, authenticated } = this.state;\r\n\r\n        var link = document.createElement(\"a\");\r\n        link.href = this.props.path;\r\n\r\n        const returnUrl = `${link.protocol}//${link.host}${link.pathname}${link.search}${link.hash}`;\r\n        const redirectUrl = `${ApplicationPaths.ApiAuthorizationPrefix}?${QueryParameterNames.ReturnUrl}=${encodeURI(returnUrl)}`\r\n\r\n        if (!ready) {\r\n            return (\r\n                <Container className=\"d-flex flex-column h-100 justify-content-center align-items-center\">\r\n                    <Loading loadingText={this.props.globalResources.LoadingPageText} />\r\n                </Container>\r\n            );\r\n        } else {\r\n            const { globalResources, formResources, faqsStep2, component: Component, ...rest } = this.props;\r\n\r\n            return <Route {...rest}\r\n                render={(props) => {\r\n                    if (authenticated) {\r\n                        return <Component {...props} globalResources={globalResources} formResources={formResources} faqsStep2={faqsStep2} />\r\n                    } else {\r\n                        return <Redirect to={redirectUrl} />\r\n                    }\r\n                }} />\r\n        }\r\n    }\r\n\r\n    async populateAuthenticationState() {\r\n        const authenticated = await authService.isAuthenticated();\r\n        this.setState({ ready: true, authenticated });\r\n    }\r\n\r\n    async authenticationChanged() {\r\n        this.setState({ ready: false, authenticated: false });\r\n        await this.populateAuthenticationState();\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport class MainFormNavInfo extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n    }\r\n\r\n    render() {\r\n        const { activeStep, formResources } = this.props;\r\n        const mainFormSteps = [\r\n            {\r\n                index: '1',\r\n                text: formResources.Step1Title,\r\n                activeStep: activeStep\r\n            },\r\n            {\r\n                index: '2',\r\n                text: formResources.Step2Title,\r\n                activeStep: activeStep\r\n            },\r\n            {\r\n                index: '3',\r\n                text: formResources.Step3Title,\r\n                activeStep: activeStep\r\n            },\r\n            {\r\n                index: '4',\r\n                text: formResources.Step4Title,\r\n                activeStep: activeStep\r\n            },\r\n            {\r\n                index: '5',\r\n                text: formResources.Step5Title,\r\n                activeStep: activeStep\r\n            }\r\n        ];\r\n\r\n        const stepList = mainFormSteps.map((event, index) =>\r\n            <li key={`step-${index}`} className=\"nav-item\" {...event.index === activeStep.toString() ? { \"aria-current\": \"step\" } : {}}>\r\n                <strong className=\"txt\">{event.text}</strong>\r\n            </li>\r\n        );\r\n\r\n        return (\r\n            <ol className=\"nav nav-tabs nav-form\">\r\n                {stepList}\r\n            </ol>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, Col, Button } from 'reactstrap';\r\nimport Loading from '../Global/Loading';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport class MainFormNavigation extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n\r\n        this.continue = this.continue.bind(this);\r\n        this.back = this.back.bind(this);\r\n    }\r\n\r\n    continue(event) {\r\n        event.preventDefault();\r\n        this.props.nextStep();\r\n    }\r\n\r\n    back(event) {\r\n        event.preventDefault();\r\n        this.props.prevStep();\r\n    }\r\n\r\n    render() {\r\n        const { prevText, nextText, hasPreviousStep, hasNextStep, lastStep, buttonDisable, onClickFunction, loading, loadingText, analyticsId } = this.props;\r\n        var clickButton;\r\n\r\n        if (onClickFunction) {\r\n            clickButton = onClickFunction;\r\n        } else {\r\n            clickButton = this.continue;\r\n        }\r\n\r\n        return (\r\n            <Row>\r\n                {hasNextStep &&\r\n                    <Col className={`col-8${hasPreviousStep ? ' text-right' : ''} order-last align-self-center`}>\r\n                        {loading\r\n                            ? <Loading loadingText={loadingText} />\r\n                            : <Button\r\n                                {...(analyticsId && {id: analyticsId})}\r\n                                type=\"submit\"\r\n                                color=\"primary\"\r\n                                className=\"text-uppercase px-4 py-2\"\r\n                                onClick={clickButton}\r\n                                disabled={buttonDisable}\r\n                            >\r\n                                {nextText ? nextText : ''}\r\n                                {!lastStep && <span aria-hidden=\"true\">&nbsp;&gt;</span>}\r\n                            </Button>\r\n                        }\r\n                    </Col>\r\n                }\r\n                {hasPreviousStep &&\r\n                    <Col className=\"col-4 order-first align-self-center\">\r\n                        <Button\r\n                            type=\"button\"\r\n                            color=\"link\"\r\n                            onClick={this.back}\r\n                        >\r\n                            <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                            {prevText ? prevText : ''}\r\n                        </Button>\r\n                    </Col>\r\n                }\r\n            </Row>\r\n        );\r\n    }\r\n}\r\n\r\nMainFormNavigation.propTypes = {\r\n    prevStep: PropTypes.func,\r\n    nextStep: PropTypes.func\r\n};","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport { MainFormNavInfo } from './MainFormNavInfo';\r\nimport { MainFormNavigation } from './MainFormNavigation';\r\nimport Loading from '../Global/Loading';\r\n\r\nexport class MainFormStep1 extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n\r\n        this.continue = this.continue.bind(this);\r\n        this.back = this.back.bind(this);\r\n    }\r\n\r\n    back() {\r\n        this.props.prevStep('summary', this.props.data);\r\n    }\r\n\r\n    continue() {\r\n        this.props.nextStep('summary', this.props.data);\r\n    }\r\n\r\n    render() {\r\n        const { activeStep, hasPreviousStep, hasNextStep, globalResources, formResources, data, loadingData } = this.props;\r\n\r\n        const step1Summary = formResources.Step1Summary;\r\n        const dataSummary = data;\r\n        var schoolReplace, summaryDataReplace = '';\r\n\r\n        if (Object.keys(dataSummary).length > 0 && dataSummary.constructor === Object) {\r\n            const nameReplace = dataSummary.name ? step1Summary.replace('[NAME]', dataSummary.name) : '';\r\n            schoolReplace = dataSummary.school ? nameReplace.replace('[SCHOOL]', dataSummary.school) : '';\r\n            summaryDataReplace = dataSummary.memberNumber ? schoolReplace.replace('[MEMBERNUMBER]', dataSummary.memberNumber) : '';\r\n        }\r\n\r\n        if (loadingData) {\r\n            return (\r\n                <Container className=\"d-flex flex-column h-100 justify-content-center align-items-center\">\r\n                    <Loading loadingText={globalResources.LoadingPageContentText} />\r\n                </Container>\r\n            );\r\n        }\r\n\r\n        return (\r\n            <Container>\r\n                <Row className=\"main-form__header\">\r\n                    <Col>\r\n                        <h1 className=\"sr-only\">{formResources.Step1Title}</h1>\r\n\r\n                        <MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n                    </Col>\r\n                </Row>\r\n                <Row>\r\n                    <Col lg=\"8\" xl=\"6\">\r\n                        <div className=\"summary\" dangerouslySetInnerHTML={{ __html: summaryDataReplace }} />\r\n\r\n                        <div className=\"description\" dangerouslySetInnerHTML={{ __html: formResources.Step1Description }} />\r\n\r\n                        <MainFormNavigation analyticsId=\"continue_2\" prevStep={this.back} nextStep={this.continue} hasPreviousStep={hasPreviousStep} hasNextStep={hasNextStep} prevText={globalResources.NavBackText} nextText={globalResources.NavForwardText} loadingText={globalResources.LoadingPageText}/>\r\n                    </Col>\r\n                </Row>\r\n            </Container>\r\n        );\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class NameField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            errors: false,\r\n            minLength: 2,\r\n            maxLength: '',\r\n            touched: {}\r\n        }\r\n\r\n        this.regex = /[a-zA-Z\\u00C0-\\u017F\\s]+/;\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { id, inputValue } = this.props;\r\n\r\n        if (!!inputValue) {\r\n            this.turnFieldTouched(id);\r\n        } else {\r\n            this.setState({\r\n                errors: true\r\n            });\r\n\r\n            this.props.onChangeFunction && this.props.onChangeFunction('', '', true, { name: id, value: inputValue, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    handleChange(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (value === '' || this.regex.test(value)) {\r\n            this.props.onChangeFunction(event.target, '', hasError);\r\n        }\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name, value } = event.target;\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (value !== '') {\r\n            var hasError = !this.validate(value);\r\n\r\n            this.setState({\r\n                errors: hasError\r\n            });\r\n        }\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state;\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n\r\n    validate(text) {\r\n        if (text !== null) {\r\n            if (!this.regex.test(text) && text.length !== this.state.minLength) {\r\n                return false;\r\n            }\r\n        } else {\r\n            return false;\r\n        }\r\n\r\n        return this.regex.test(text);\r\n    }\r\n\r\n    render() {\r\n        const { minLength, maxLength, errors, touched } = this.state;\r\n        const { id, inputHelpText, inputValidationText, inputValue, required, autoFocus, readonly, disabled } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Input\r\n                    type=\"text\"\r\n                    name={id}\r\n                    id={id}\r\n                    aria-describedby={`${id}Help`}\r\n                    invalid={errors}\r\n                    defaultValue={inputValue}\r\n                    onChange={this.handleChange}\r\n                    onBlur={this.handleBlur}\r\n                    minLength={minLength}\r\n                    maxLength={maxLength}\r\n                    required={required}\r\n                    autoComplete=\"name\"\r\n                    autoFocus={autoFocus}\r\n                    readOnly={readonly}\r\n                    disabled={disabled}\r\n                />\r\n                {inputHelpText &&\r\n                    <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                }\r\n                {inputValidationText &&\r\n                    <div className=\"invalid-feedback\">{touched[id] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Label, Input } from 'reactstrap';\r\nimport TooltipItem from '../Fields/TooltipItem';\r\n\r\nclass CountryAutoCompleteField extends Component {\r\n    static defaultProps = {\r\n        suggestions: []\r\n    };\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            activeSuggestion: 0,\r\n            filteredSuggestions: [],\r\n            showSuggestions: false,\r\n            userInput: this.props.defaultValue,\r\n            userCode: this.props.defaultCode,\r\n            noSuggestions: false,\r\n            errors: '',\r\n            touched: {}\r\n        };\r\n\r\n        this.fetchData = this.fetchData.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n        this.onChange = this.onChange.bind(this);\r\n        this.onClick = this.onClick.bind(this);\r\n        this.validate = this.validate.bind(this);\r\n        this.turnFieldTouched = this.turnFieldTouched.bind(this);\r\n    }\r\n\r\n    async fetchData(method, params = undefined) {\r\n        const response = await fetch(`/form/${method}${params ? (`?${params}`) : ''}`, {\r\n            method: 'GET',\r\n            headers: {\r\n                'Content-Type': 'application/json'\r\n            }\r\n        });\r\n\r\n        return await response.json();\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name } = event.target;\r\n\r\n        this.turnFieldTouched(name);\r\n    }\r\n\r\n    onChange = (e) => {\r\n        const { fieldName, fieldNameCode, updateOnlyFields, onChangeFunction } = this.props\r\n\r\n        const userInput = e.currentTarget.value;\r\n        this.turnFieldTouched(fieldName);\r\n\r\n        if (userInput.length > 2) {\r\n            this.setState({ noSuggestions: false });\r\n\r\n            this.fetchData('GetCountry', `description=${userInput}`)\r\n                .then(filteredSuggestions => {\r\n                    if (filteredSuggestions.length > 0 && (filteredSuggestions[0].description === userInput.toUpperCase())) {\r\n                        if (updateOnlyFields) {\r\n                            onChangeFunction('', '', '', { name: `${fieldNameCode}`, value: filteredSuggestions[0].code, checked: false, files: undefined });\r\n                            onChangeFunction('', '', '', { name: `${fieldName}`, value: filteredSuggestions[0].description, checked: false, files: undefined });\r\n                        } else {\r\n                            onChangeFunction('', '', '', { name: \"issuer\", value: filteredSuggestions[0].code, checked: false, files: undefined });\r\n                            onChangeFunction('', '', '', { name: `issuerValue`, value: filteredSuggestions[0].description, checked: false, files: undefined });\r\n                        }\r\n                        this.setState({\r\n                            activeSuggestion: 0,\r\n                            filteredSuggestions: [],\r\n                            showSuggestions: false,\r\n                            userInput: filteredSuggestions[0].description,\r\n                            userCode: filteredSuggestions[0].code,\r\n                            errors: false\r\n                        });\r\n                    } else {\r\n                        this.setState({\r\n                            activeSuggestion: 0,\r\n                            filteredSuggestions,\r\n                            showSuggestions: true,\r\n                            userInput,\r\n                            noSuggestions: filteredSuggestions.length > 0 ? false : true,\r\n                            errors: true\r\n                        });\r\n\r\n                        var hasError = (userInput === '' || this.state.showSuggestions === true || this.state.noSuggestions === true) ? true : false;\r\n                        this.setState({\r\n                            errors: hasError\r\n                        });\r\n\r\n                        if (updateOnlyFields) {\r\n                            onChangeFunction('', '', hasError, { name: `${fieldNameCode}`, value: hasError ? '' : e.target.dataset.code, checked: false, files: undefined });\r\n                            onChangeFunction('', '', hasError, { name: `${fieldName}`, value: hasError ? '' : e.currentTarget.innerText, checked: false, files: undefined });\r\n                        } else {\r\n                            onChangeFunction('', '', hasError, { name: \"issuer\", value: hasError ? '' : e.target.dataset.code, checked: false, files: undefined });\r\n                            onChangeFunction('', '', hasError, { name: \"issuerValue\", value: hasError ? '' : e.currentTarget.innerText, checked: false, files: undefined });\r\n                        }\r\n                    }\r\n                });\r\n        } else {\r\n            var hasError = true;\r\n            this.setState({\r\n                userInput: e.currentTarget.value,\r\n                errors: hasError\r\n            });\r\n\r\n            if (updateOnlyFields) {\r\n                onChangeFunction('', '', hasError, { name: `${fieldNameCode}`, value: '', checked: false, files: undefined });\r\n                onChangeFunction('', '', hasError, { name: `${fieldName}`, value: '', checked: false, files: undefined });\r\n            } else {\r\n                onChangeFunction('', '', hasError, { name: \"issuer\", value: '', checked: false, files: undefined });\r\n                onChangeFunction('', '', hasError, { name: \"issuerValue\", value: '', checked: false, files: undefined });\r\n            }\r\n        }\r\n    };\r\n\r\n    onClick = (e) => {\r\n        const { fieldName, fieldNameCode, updateOnlyFields, onChangeFunction } = this.props\r\n\r\n        if (updateOnlyFields) {\r\n            onChangeFunction('', '', '', { name: `${fieldNameCode}`, value: e.target.dataset.code, checked: false, files: undefined });\r\n            onChangeFunction('', '', '', { name: `${fieldName}`, value: e.currentTarget.innerText, checked: false, files: undefined });\r\n        } else {\r\n            onChangeFunction('', '', '', { name: \"issuer\", value: e.target.dataset.code, checked: false, files: undefined });\r\n            onChangeFunction('', '', '', { name: `issuerValue`, value: e.currentTarget.innerText, checked: false, files: undefined });\r\n        }\r\n\r\n        this.setState({\r\n            activeSuggestion: 0,\r\n            filteredSuggestions: [],\r\n            showSuggestions: false,\r\n            userInput: e.currentTarget.innerText,\r\n            userCode: e.target.dataset.code,\r\n            errors: false\r\n        });\r\n    };\r\n\r\n    validate() {\r\n        const { userInput, showSuggestions, noSuggestions } = this.state;\r\n\r\n        return !userInput || (userInput !== null && userInput.length < 2) || showSuggestions === true || noSuggestions === true ? true : false\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { fieldName, fieldNameCode, userInput, onChangeFunction } = this.props\r\n        let target = document.getElementById(`${fieldName}`);\r\n\r\n        userInput && this.turnFieldTouched(fieldName);\r\n\r\n        var hasError = this.validate();\r\n        this.setState({\r\n            errors: hasError\r\n        });\r\n\r\n        if (hasError) {\r\n            onChangeFunction(target, '', hasError, { name: fieldNameCode, value: target.dataset.code, checked: false, files: undefined });\r\n            onChangeFunction(target, '', hasError, { name: fieldName, value: target.value, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const {\r\n            onClick,\r\n            onChange,\r\n            state: {\r\n                activeSuggestion,\r\n                filteredSuggestions,\r\n                showSuggestions,\r\n                userInput,\r\n                userCode,\r\n                noSuggestions,\r\n                touched,\r\n                errors\r\n            },\r\n            props: {\r\n                fieldName,\r\n                tootipText,\r\n                labelText,\r\n                validationText,\r\n                required,\r\n                readonly,\r\n                disabled\r\n            }\r\n        } = this;\r\n\r\n        let suggestionsListComponent;\r\n\r\n        if (showSuggestions && userInput) {\r\n            if (filteredSuggestions.length) {\r\n                suggestionsListComponent = (\r\n                    <ul className=\"suggestions\">\r\n                        {filteredSuggestions.map((suggestion, index) => {\r\n                            let className;\r\n\r\n                            // Flag the active suggestion with a class\r\n                            if (index === activeSuggestion) {\r\n                                className = \"suggestion-active\";\r\n                            }\r\n\r\n                            return (\r\n                                <li className={className} key={suggestion.description} data-code={suggestion.code} onClick={onClick}>\r\n                                    {suggestion.description}\r\n                                </li>\r\n                            );\r\n                        })}\r\n                    </ul>\r\n                );\r\n            } else {\r\n\r\n            }\r\n        }\r\n        return (\r\n            <>\r\n                <Label for={fieldName} className=\"form-label text-uppercase\">{labelText}{required && \"*\"}</Label>\r\n                {tootipText &&\r\n                    <TooltipItem key={`FormTooltip${fieldName}`} id={`FormTooltip${fieldName}`} text={tootipText} />\r\n                }\r\n                <Input\r\n                    type=\"text\"\r\n                    name={fieldName}\r\n                    id={fieldName}\r\n                    onBlur={this.handleBlur}\r\n                    onChange={onChange}\r\n                    value={userInput ? userInput : ''}\r\n                    invalid={!!noSuggestions || !userInput || !!errors}\r\n                    data-code={userCode}\r\n                    required={required}\r\n                    autoComplete=\"country-name\"\r\n                    readOnly={readonly}\r\n                    disabled={disabled}\r\n                />\r\n                {suggestionsListComponent}\r\n                {validationText &&\r\n                    <div className=\"invalid-feedback\">{touched[fieldName] ? validationText.invalid : validationText.empty}</div>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n\r\nexport default CountryAutoCompleteField;\r\n","import React, { Component } from 'react';\r\nimport { Row, FormGroup, Label, Input } from 'reactstrap';\r\nimport TooltipItem from '../Fields/TooltipItem';\r\nimport CountryAutoCompleteField from './CountryAutoCompleteField';\r\n\r\nexport class IdentificationField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            identificationTypes: {},\r\n            inputHelpTextState: '',\r\n            maxLength: 8,\r\n            bidNumb: 8,\r\n            ccNumb: 12,\r\n            othersNumb: 20,\r\n            step: 1,\r\n            errors: false,\r\n            showHiddenField: false,\r\n            setSelect: this.props.selectValue,\r\n            touched: {}\r\n        }\r\n\r\n        this.regex = /^[0-9]*$/;\r\n        this.biNumb = 8;\r\n        this.ccNumb = 12;\r\n        this.othersNumb = 20;\r\n        this.validate = this.validate.bind(this);\r\n        \r\n        this.dropdownResults = this.dropdownResults.bind(this);\r\n        this.inputHelpText = this.inputHelpText.bind(this);\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n        this.turnFieldTouched = this.turnFieldTouched.bind(this);\r\n    }\r\n\r\n\r\n    componentDidMount() {\r\n        const { selectValue, inputValue, onChangeFunction, data } = this.props\r\n\r\n        if (selectValue) {\r\n            this.inputHelpText(selectValue);\r\n        }\r\n\r\n        this.setState({\r\n            identificationTypes: this.props.identificationTypes\r\n        });\r\n\r\n        \r\n        let element = this.props.identificationTypes.find((el) => el.code === selectValue);\r\n\r\n        if (!!element && element.isRequired && element.defaultCode === null) {\r\n            onChangeFunction('', '', '', { name: 'showIssuedBy', value: true, checked: false, files: undefined });\r\n\r\n            if (!data.issuerValue || !data.issuer) {\r\n                onChangeFunction('', '', true, { name: 'issuer', value: '', checked: false, files: undefined });\r\n                onChangeFunction('', '', true, { name: 'issuerValue', value: '', checked: false, files: undefined });\r\n            }\r\n        }else if(!element){\r\n            this.setState({\r\n                setSelect: ''\r\n            });\r\n            onChangeFunction('', '', true, { name: 'identificationTypeCode', value: '', checked: false, files: undefined });\r\n        }\r\n\r\n        var hasErrorId = !inputValue || !this.validate(inputValue, selectValue);\r\n        this.setState({\r\n            errors: hasErrorId\r\n        });\r\n\r\n        !!inputValue && this.turnFieldTouched('identification');\r\n\r\n        onChangeFunction('', '', hasErrorId, { name: 'identification', value: inputValue, checked: false, files: undefined });\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n    dropdownResults(object) {\r\n        const { setSelect } = this.state;\r\n        const { selectID, required, selectAutoFocus, selectReadonly, selectDisabled, formResources } = this.props;\r\n\r\n        const array = Object.values(object);\r\n\r\n        const result = array.map((obj, index) => (\r\n            <option key={`option-${index + 1}`} value={obj.code} >{obj.description}</option>\r\n        ));\r\n        const input = <Input\r\n            type=\"select\"\r\n            name={selectID}\r\n            id={selectID}\r\n            aria-describedby={`${selectID}Help`}\r\n            onChange={this.handleChange}\r\n            onBlur={this.handleBlur}\r\n            value={setSelect}\r\n            multiple={false}\r\n            invalid={setSelect === '' ? true : false}\r\n            required={required}\r\n            autoFocus={selectAutoFocus}\r\n            readOnly={selectReadonly}\r\n            disabled={selectDisabled}\r\n        >\r\n            <option key={`option-0`} value=\"\" >{formResources.SelectDefaultOption}</option>\r\n            {result}\r\n        </Input>;\r\n\r\n        return input;\r\n    }\r\n\r\n    inputHelpText(value) {\r\n        if (value === 101) {\r\n            this.setState(prevState => ({\r\n                ...prevState.inputHelpTextState,\r\n                inputHelpTextState: this.props.formResources.FormHelperIdentificationID\r\n            }));\r\n        } else if (value === 801) {\r\n            this.setState(prevState => ({\r\n                ...prevState.inputHelpTextState,\r\n                inputHelpTextState: this.props.formResources.FormHelperIdentificationCard\r\n            }));\r\n        } else {\r\n            this.setState(prevState => ({\r\n                ...prevState.inputHelpTextState,\r\n                inputHelpTextState: ''\r\n            }));\r\n        }\r\n    }\r\n\r\n    handleChange(event, raw) {\r\n        const { onChangeFunction, inputValue } = this.props\r\n        const { name, value } = event.target;\r\n\r\n        if (name === 'identification') {\r\n            var hasError = !value || !this.validate(value);\r\n            this.setState({\r\n                errors: hasError\r\n            });\r\n\r\n            this.turnFieldTouched(name);\r\n\r\n            onChangeFunction(event.target, '', hasError);\r\n        } else {\r\n            hasError = false;\r\n            let element = this.state.identificationTypes.find((el) => el.code === value);\r\n         \r\n            this.inputHelpText(value);\r\n            this.setState({\r\n                setSelect: element ? element.code : ''\r\n            });\r\n\r\n            if (element && element.isRequired && element.defaultCode === null) {\r\n                onChangeFunction('', '', '', { name: 'showIssuedBy', value: true, checked: false, files: undefined });\r\n                onChangeFunction('', '', true, { name: 'issuer', value: '', checked: false, files: undefined });\r\n                onChangeFunction('', '', true, { name: 'issuerValue', value: '', checked: false, files: undefined });\r\n            } else {\r\n                onChangeFunction('', '', '', { name: 'showIssuedBy', value: false, checked: false, files: undefined });\r\n                onChangeFunction('', '', false, { name: 'issuer', value: null, checked: false, files: undefined });\r\n                onChangeFunction('', '', false, { name: 'issuerValue', value: null, checked: false, files: undefined });\r\n            }\r\n            \r\n            onChangeFunction(event.target, '', hasError, raw);\r\n\r\n            var hasErrorId = !this.validate(inputValue, value) || !inputValue;\r\n            this.setState({\r\n                errors: hasErrorId\r\n            });\r\n\r\n            onChangeFunction('', '', hasErrorId, { name: 'identification', value: inputValue, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name, value } = event.target;\r\n\r\n        if (name === 'identification') {\r\n            var hasError = !value || !this.validate(value);\r\n            this.setState({\r\n                errors: hasError\r\n            });\r\n\r\n            this.turnFieldTouched(name);\r\n\r\n            this.props.onChangeFunction(event.target, '', hasError);\r\n        }\r\n    }\r\n\r\n    validate(number, select = false) {\r\n        const { selectValue } = this.props;\r\n\r\n        let idCode = !!select ? select : selectValue;\r\n\r\n        function escapeRegExp(string) {\r\n            return string.replace(/([.*+?^=!:${}()|\\]\\\\])/g, \"\\\\$1\");\r\n        }\r\n\r\n        function replaceAll(find, replace, str) {\r\n            return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);\r\n        }\r\n\r\n        function isNumber(char) {\r\n            var asciiVal = char.charCodeAt(0);\r\n            return (asciiVal >= 48 && asciiVal <= 57);\r\n        }\r\n\r\n        function getNumberFromChar(letter) {\r\n            if (isNumber(letter)) {\r\n                return parseInt(letter);\r\n            } else {\r\n                return letter.charCodeAt(0) - 55;\r\n            }\r\n        }\r\n\r\n        switch (idCode) {\r\n            case '101':\r\n                const validBi = /^[A-Za-z0-9]{0,8}$/;\r\n\r\n                return validBi.test(number);\r\n            case '801':\r\n                const regex = /^[A-Za-z0-9]{0,12}$/;\r\n                var ccVal = replaceAll(\" \", \"\", number).toUpperCase();\r\n                if (!regex.test(ccVal)) {\r\n                    return false;\r\n                }\r\n\r\n                var sum = 0;\r\n                var secondDigit = false;\r\n                if (ccVal.length === 12) {\r\n                    for (let i = ccVal.length - 1; i >= 0; i--) {\r\n                        var valor = getNumberFromChar(ccVal.charAt(i));\r\n\r\n                        if (secondDigit) {\r\n                            valor *= 2;\r\n                            if (valor > 9) {\r\n                                valor -= 9;\r\n                            }\r\n                        }\r\n\r\n                        sum += valor;\r\n                        secondDigit = !secondDigit;\r\n                    }\r\n\r\n                    return !!(sum % 10 === 0 ? 1 : 0);\r\n                } else {\r\n                    return false;\r\n                }\r\n            default:\r\n                const others = /^[A-Za-z0-9]{0,20}$/;\r\n\r\n                return others.test(number);\r\n        }\r\n\r\n    }\r\n\r\n    render() {\r\n        const { identificationTypes, inputHelpTextState, errors, touched, setSelect } = this.state;\r\n        const { formResources, selectID, selectLabel, tootipSelectText, selectHelpText, selectValidationText, required, inputID, inputLabel, tootipInputText, inputValidationText, inputValue, inputAutoFocus, inputReadonly, inputDisabled, data, onChangeFunction } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Row>\r\n                    <FormGroup className=\"col-sm-8 col-lg-6\">\r\n                        <Label for={selectID} className=\"form-label text-uppercase\">{selectLabel}{required && \"*\"}</Label>\r\n                        {tootipSelectText &&\r\n                            <TooltipItem key={`FormTooltip${selectID}`} id={`FormTooltip${selectID}`} text={tootipSelectText} />\r\n                        }\r\n                        {this.dropdownResults(identificationTypes)}\r\n                        {selectHelpText &&\r\n                            <small id={`${inputID}Help`} className=\"form-text text-right text-primary\">{selectHelpText}</small>\r\n                        }\r\n                        <div className={`invalid-feedback ${setSelect === '' || setSelect === null ? 'visible' : ''}`} >{selectValidationText}</div>\r\n                        \r\n                    </FormGroup>\r\n                    <FormGroup className=\"col-sm-4 col-lg-3\">\r\n                        <Label for={inputID} className=\"form-label text-uppercase\">{inputLabel}{required && \"*\"}</Label>\r\n                        {tootipInputText &&\r\n                            <TooltipItem key={`FormTooltip${inputID}`} id={`FormTooltip${inputID}`} text={tootipInputText} />\r\n                        }\r\n                        <Input\r\n                            type=\"text\"\r\n                            name={inputID}\r\n                            id={inputID}\r\n                            aria-describedby={`${inputID}Help`}\r\n                            invalid={!!errors}\r\n                            defaultValue={inputValue}\r\n                            onChange={this.handleChange}\r\n                            onBlur={this.handleBlur}\r\n                            maxLength={20}\r\n                            required={required}\r\n                            autoFocus={inputAutoFocus}\r\n                            readOnly={inputReadonly}\r\n                            disabled={inputDisabled}\r\n                        />\r\n                        {inputHelpTextState &&\r\n                            <small id={`${inputID}Help`} className=\"form-text text-right text-primary\">{inputHelpTextState}</small>\r\n                        }\r\n                        {inputValidationText &&\r\n                            <div className=\"invalid-feedback\">{touched[inputID] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                        }\r\n                    </FormGroup>\r\n                </Row>\r\n                {data.showIssuedBy &&\r\n                    <Row>\r\n                        <FormGroup className=\"col-lg-4\">\r\n                            <CountryAutoCompleteField fieldName=\"issuer\" fieldNameCode=\"issuerValue\" labelText={formResources.FormLabelIssuer} validationText={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorIssuer }} defaultValue={data.issuerValue} defaultCode={data.issuer} onChangeFunction={onChangeFunction} updateOnlyFields={false} required={true} />\r\n                        </FormGroup>\r\n                    </Row>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, FormGroup, CustomInput, Label } from 'reactstrap';\r\n\r\nexport class GendersField extends Component {\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.props = props;\r\n\r\n      this.state = {\r\n          errors: false,\r\n          genders : [\r\n              {\r\n                  code: 'F',\r\n                  description: 'FEMININO',\r\n              },\r\n              {\r\n                  code: 'M',\r\n                  description: 'MASCULINO',\r\n              },\r\n          ]\r\n      };\r\n\r\n    this.handleChange = this.handleChange.bind(this);\r\n  }\r\n\r\n  componentDidMount() {\r\n      const { selectValue, onChangeFunction } = this.props;\r\n\r\n      let element = this.state.genders.find((el) => el.code === selectValue);\r\n      this.setState({\r\n          setSelect: element ? element.code : '',\r\n          errors: !selectValue,\r\n      });\r\n\r\n\r\n      onChangeFunction('', '', !selectValue, {\r\n          name: 'gender',\r\n          value: selectValue,\r\n          checked: false,\r\n          files: undefined,\r\n          type: 'radio',\r\n      });\r\n  }\r\n\r\n  handleChange(e) {\r\n    this.setState({\r\n      setSelect: e.target.value,\r\n      errors: !e.target.value,\r\n    });\r\n    let hasError = !e.target.value;\r\n    this.props.onChangeFunction(e.target, '', false, hasError);\r\n  }\r\n\r\n  render() {\r\n    const { errors, setSelect } = this.state;\r\n    const {\r\n      required,\r\n      selectLabel,\r\n      selectValue,\r\n      inputValidationText,\r\n    } = this.props;\r\n\r\n    return (\r\n      <>\r\n        <Row>\r\n          <FormGroup tag=\"fieldset\" className=\"col form-group pb-4\">\r\n            <Label for=\"Genders\" className=\"form-label text-uppercase\">\r\n              {selectLabel}\r\n            </Label>\r\n            <div className=\"d-flex\">\r\n              {this.state.genders.map((item, key) => (\r\n                <CustomInput\r\n                  className=\"py-1\"\r\n                  type=\"radio\"\r\n                  name=\"gender\"\r\n                  id={item.code}\r\n                  key={item.code}\r\n                  value={item.code}\r\n                  label={item.description}\r\n                  onChange={this.handleChange}\r\n                  data-description={item.description}\r\n                  checked={setSelect === item.code}\r\n                  invalid={errors === null}\r\n                  required={required}\r\n                />\r\n              ))}\r\n            </div>\r\n\r\n            {inputValidationText && (\r\n              <div\r\n                className={`invalid-feedback ${!selectValue ? 'visible' : ''}`}\r\n              >\r\n                {this.state.errors ? inputValidationText.empty : null}\r\n              </div>\r\n            )}\r\n          </FormGroup>\r\n        </Row>\r\n      </>\r\n    );\r\n  }\r\n}\r\n","import React from 'react'\r\n\r\nexport const CountingInput = ({ limit, actual }) => {\r\n    return (\r\n        <span>{`${actual}/${limit}`}</span>\r\n    );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, FormGroup, CustomInput, Label, Input } from 'reactstrap';\r\nimport { CountingInput } from './CountingInput';\r\n\r\nexport class PoliticalRelations extends Component {\r\n  constructor(props) {\r\n    super(props);\r\n\r\n    this.props = props;\r\n    this.state = {\r\n      politicalRelations: [],\r\n    };\r\n    this.handleChange = this.handleChange.bind(this);\r\n  }\r\n\r\n  componentDidMount(){\r\n    let element = this.props.politicalRelations.find((el) => el.code === this.props.selectValue)\r\n    this.setState({\r\n      politicalRelations: this.props.politicalRelations,\r\n      setSelect: element ? element.code : '',\r\n      errors: !this.props.selectValue,\r\n    });\r\n\r\n    this.props.onChangeFunction('', '', !this.props.selectValue, {\r\n      name: 'politicalRelationCode',\r\n      value: this.props.selectValue,\r\n      checked: false,\r\n      files: undefined,\r\n      type: 'radio',\r\n    });\r\n  }\r\n\r\n\r\n\r\n  handleChange(e) {\r\n    this.setState({\r\n      // politicalRelation: e.target.value,\r\n      setSelect: e.target.value,\r\n      errors: !e.target.value,\r\n    });\r\n    let hasError = !e.target.value;\r\n    this.props.onChangeFunction(e.target, '', false, hasError);\r\n  }\r\n\r\n  render() {\r\n    const { errors, setSelect } = this.state;\r\n    const {\r\n      data,\r\n      touched,\r\n      required,\r\n      selectValue,\r\n      formResources,\r\n      onChangeFunction,\r\n      inputValidationText,\r\n    } = this.props;\r\n\r\n    return (\r\n      <>\r\n        <FormGroup tag=\"fieldset\">\r\n          <legend className=\"form-label\">\r\n            {formResources.PoliticalRelationLegend1}\r\n          </legend>\r\n\r\n          <Row>\r\n            <FormGroup tag=\"fieldset\" className=\"col form-group\">\r\n              {this.state.politicalRelations.map((item, key) => (\r\n                <CustomInput\r\n                  className=\"py-1\"\r\n                  type=\"radio\"\r\n                  name=\"politicalRelationCode\"\r\n                  id={item.code}\r\n                  key={item.code}\r\n                  value={item.code}\r\n                  label={item.description}\r\n                  checked={setSelect === item.code}\r\n                  onChange={this.handleChange}\r\n                  data-description={item.description}\r\n                  invalid={errors === null}\r\n                  required={required}\r\n                />\r\n              ))}\r\n              {inputValidationText && (\r\n                <div\r\n                  className={`invalid-feedback ${\r\n                    !selectValue ? 'visible' : ''\r\n                  }`}\r\n                >\r\n                  {this.state.errors ? inputValidationText.empty : null}\r\n                </div>\r\n            )}\r\n\r\n                        {setSelect !== '' && setSelect !== '0'  && (\r\n              <fieldset className=\"form-label mb-4 mt-2\">\r\n                {formResources.PoliticalRelationLegend3}\r\n                            </fieldset>)}\r\n            </FormGroup>\r\n          </Row>\r\n\r\n          {(setSelect === '1' || setSelect === '3') && (\r\n            <>\r\n              <FormGroup tag=\"fieldset\">\r\n                <legend className=\"form-label\">\r\n                  {formResources.PoliticalRelationLegend2}\r\n                </legend>\r\n\r\n                <FormGroup>\r\n                  <Row>\r\n                    <FormGroup className=\"col-sm-6 col-md-5\">\r\n                      <Label\r\n                        for=\"position\"\r\n                        className=\"form-label text-uppercase\"\r\n                      >\r\n                        {formResources.FormLabelPosition}*\r\n                      </Label>\r\n                      <Input\r\n                        type=\"text\"\r\n                        name=\"position\"\r\n                        id=\"position\"\r\n                        maxLength={30}\r\n                        defaultValue={data.position}\r\n                        onBlur={this.handleBlur}\r\n                        onChange={onChangeFunction}\r\n                        onLoad={onChangeFunction}\r\n                        required={true}\r\n                        invalid={\r\n                          data.politicalRelationCode &&\r\n                          (data.position === null || data.position === '')\r\n                        }\r\n                      />\r\n                      <small\r\n                        id={`positionHelp`}\r\n                        className=\"form-text text-right text-primary\"\r\n                      >\r\n                        <CountingInput\r\n                          limit=\"30\"\r\n                          actual={data.position ? data.position.length : 0}\r\n                        />\r\n                      </small>\r\n                      <div className=\"invalid-feedback\">\r\n                        {touched.position\r\n                          ? formResources.FormErrorPosition\r\n                          : formResources.FormErrorFieldEmpty}\r\n                      </div>\r\n                    </FormGroup>\r\n\r\n                    <FormGroup className=\"col-sm-6 col-md-4\">\r\n                      <Label for=\"entity\" className=\"form-label text-uppercase\">\r\n                        {formResources.FormLabelEntity}*\r\n                      </Label>\r\n                      <Input\r\n                        type=\"text\"\r\n                        name=\"entity\"\r\n                        id=\"entity\"\r\n                        maxLength={30}\r\n                        defaultValue={data.entity}\r\n                        onBlur={this.handleBlur}\r\n                        onChange={onChangeFunction}\r\n                        onLoad={onChangeFunction}\r\n                        required={true}\r\n                        invalid={\r\n                          data.politicalRelationCode &&\r\n                          (data.entity === null || data.entity === '')\r\n                        }\r\n                      />\r\n                      <small\r\n                        id={`entityHelp`}\r\n                        className=\"form-text text-right text-primary\"\r\n                      >\r\n                        <CountingInput\r\n                          limit=\"30\"\r\n                          actual={data.entity !== null ? data.entity.length : 0}\r\n                        />\r\n                      </small>\r\n                      <div className=\"invalid-feedback\">\r\n                        {touched.entity\r\n                          ? formResources.FormErrorEntity\r\n                          : formResources.FormErrorFieldEmpty}\r\n                      </div>\r\n                    </FormGroup>\r\n                  </Row>\r\n                </FormGroup>\r\n              </FormGroup>\r\n            </>\r\n          )}\r\n        </FormGroup>\r\n      </>\r\n    );\r\n  }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class EmailField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            errors: false,\r\n            minLength: 5,\r\n            maxLength: 250,\r\n            touched: {}\r\n        }\r\n\r\n        // this.regex = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&' * +/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\r\n        \r\n        this.regex = /^(([^<>()\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n        this.turnFieldTouched = this.turnFieldTouched.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { id, inputValue } = this.props;\r\n\r\n        !!inputValue && this.turnFieldTouched(id);\r\n\r\n        let hasError = !this.validate(inputValue) ? true : '';\r\n        this.setState({\r\n            errors: !this.validate(inputValue)\r\n        });\r\n        let target = document.getElementById(`${id}`);\r\n        this.props.onChangeFunction(target, '', hasError, { name: target.name, value: target.value, checked: false, files: undefined });\r\n    }\r\n\r\n    handleChange(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        this.setState({\r\n            errors: !this.validate(value)\r\n        });\r\n\r\n        //if (value === '' || (this.regex.test(value) && value.length >= this.state.minLength)) {\r\n        this.props.onChangeFunction(event.target, '', hasError);\r\n        //}\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name, value } = event.target;\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (value !== '') {\r\n            var hasError = !this.validate(value);\r\n\r\n            this.setState({\r\n                errors: hasError\r\n            });\r\n        }\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n\r\n    validate(email) {\r\n        if (email !== null) {\r\n            if (!this.regex.test(email) && email.length !== this.state.minLength) {\r\n                return false;\r\n            }\r\n        } else {\r\n            return false;\r\n        }\r\n\r\n        return this.regex.test(email);\r\n    }\r\n\r\n    render() {\r\n        const { minLength, maxLength, errors, touched } = this.state;\r\n        const { id, inputHelpText, inputValidationText, inputValue, required, autoFocus, readonly, disabled } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Input\r\n                    type=\"email\"\r\n                    name={id}\r\n                    id={id}\r\n                    aria-describedby={`${id}Help`}\r\n                    invalid={errors}\r\n                    defaultValue={inputValue}\r\n                    onChange={this.handleChange}\r\n                    onBlur={this.handleBlur}\r\n                    minLength={minLength}\r\n                    maxLength={maxLength}\r\n                    required={required}\r\n                    autoCapitalize=\"off\"\r\n                    autoCorrect=\"off\"\r\n                    autoComplete=\"email\"\r\n                    autoFocus={autoFocus}\r\n                    spellCheck=\"false\"\r\n                    readOnly={readonly}\r\n                    disabled={disabled}\r\n                />\r\n                {inputHelpText &&\r\n                    <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                }\r\n                {inputValidationText &&\r\n                    <div className=\"invalid-feedback\">{touched[id] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport IcnLock from '../../img/icn/icn_lock_field.svg';\r\nimport IcnEdit from '../../img/icn/icn_edit_field.svg';\r\n\r\nexport class SideBarStep2 extends Component {\r\n    static displayName = SideBarStep2.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n    }\r\n\r\n    render() {\r\n        const { formResources } = this.props;\r\n\r\n        return (\r\n            <aside className=\"sidebar\">\r\n                <h2 id=\"sidebar\" className=\"mb-4\">{formResources.SideBarStep2Title}</h2>\r\n\r\n                <div dangerouslySetInnerHTML={{ __html: formResources.SideBarStep2Descrition1 }} />\r\n                <div>\r\n                    <dl>\r\n                        <dt className=\"float-left\">\r\n                            <img src={IcnLock} className=\"mr-2\" width=\"19\" alt=\"Cadeado\" />\r\n                        </dt>\r\n                        <dd className=\"mb-3\">\r\n                            Dados que não carecem de alteração\r\n                        </dd>\r\n                        <dt className=\"float-left\">\r\n                            <img src={IcnEdit} className=\"mr-2\" width=\"19\" alt=\"Lápis de edição\" />\r\n                        </dt>\r\n                        <dd className=\"mb-3\">\r\n                            Dados que podem ser alterados\r\n                        </dd>\r\n                        <dt className=\"float-left\">\r\n                            <span className=\"text-primary ml-1 mr-3\">*<span className=\"sr-only\"> de obrigatoriedade</span></span>\r\n                        </dt>\r\n                        <dd className=\"mb-3\">\r\n                            Dados de preenchimento obrigatório\r\n                        </dd>\r\n                        <dt className=\"float-left\">\r\n                            <span className=\"icn-tooltip ml-0 mr-2\">i<span className=\"sr-only\"> de informação</span></span>\r\n                        </dt>\r\n                        <dd className=\"mb-3\">\r\n                            Consulta de informação adicional\r\n                        </dd>\r\n                    </dl>\r\n                    <div dangerouslySetInnerHTML={{ __html: formResources.SideBarStep2Descrition2 }} />\r\n                </div>\r\n            </aside>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, FormGroup, Label, Input } from 'reactstrap';\r\nimport TooltipItem from '../Fields/TooltipItem';\r\nimport { CountingInput } from './CountingInput';\r\n\r\nexport class AddressField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            districts: [],\r\n            counties: { enable: false, list: [] },\r\n            parishs: { enable: false, list: [] },\r\n            step: 1,\r\n            errors: false,\r\n            maxLength: {\r\n                address: 40,\r\n                place: 30\r\n            },\r\n            touched: {},\r\n            invalidFields: {\r\n                addressErrors: false,\r\n                postalCodeErrors: false,\r\n                placeErrors: false\r\n            },\r\n            nameFields: {\r\n                addressName: (this.props.secondaryAddress ? 'fiscalAddress' : 'address'),\r\n                postalCode: (this.props.secondaryAddress ? 'fiscalPostalCodeCode' : 'postalCodeCode'),\r\n                postalCodeValue: (this.props.secondaryAddress ? 'fiscalPostalCodeValue' : 'postalCodeValue'),\r\n                districtCode: (this.props.secondaryAddress ? 'fiscalDistrictCode' : 'districtCode'),\r\n                districtValue: (this.props.secondaryAddress ? 'fiscalDistrictValue' : 'districtValue'),\r\n                countyCode: (this.props.secondaryAddress ? 'fiscalCountyCode' : 'countyCode'),\r\n                countyValue: (this.props.secondaryAddress ? 'fiscalCountyValue' : 'countyValue'),\r\n                parishCode: (this.props.secondaryAddress ? 'fiscalParishCode' : 'parishCode'),\r\n                parishValue: (this.props.secondaryAddress ? 'fiscalParishValue' : 'parishValue'),\r\n                place: (this.props.secondaryAddress ? 'fiscalPlace' : 'place'),\r\n            },\r\n            setSelectDistrict: this.props.defaultDistrict,\r\n            setSelectCounty: this.props.defaultCounty,\r\n            setSelectParish: this.props.defaultParish,\r\n            showValidateAddress: !this.props.secondaryAddress && !this.props.addressIsValid\r\n        }\r\n\r\n        this.postalCodeRegex = /^\\d{4}-\\d{3}?$/;\r\n\r\n        this.fetchData = this.fetchData.bind(this);\r\n\r\n        this.onChangeDistricts = this.onChangeDistricts.bind(this);\r\n        this.onChangeCounties = this.onChangeCounties.bind(this);\r\n        this.onChangeParishs = this.onChangeParishs.bind(this);\r\n        this.onChangePostalCode = this.onChangePostalCode.bind(this);\r\n        this.turnFieldTouched = this.turnFieldTouched.bind(this);\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n    }\r\n\r\n    async fetchData(method, params = undefined) {\r\n        const response = await fetch(`/form/${method}${params ? (`?${params}`) : ''}`, {\r\n            method: 'GET',\r\n            headers: {\r\n                'Content-Type': 'application/json'\r\n            }\r\n        });\r\n\r\n        if (response.status === 200) {\r\n            return await response.json();\r\n        } else {\r\n            return [];\r\n        }\r\n    }\r\n\r\n    handleChange(event, el) {\r\n        const { invalidFields, showValidateAddress } = this.state\r\n        const { name, value, checked } = event.target;\r\n\r\n\r\n        var hasError = (value === '' || value === null) ? true : false;\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (name === 'address' || name === 'fiscalAddress') {\r\n            this.setState({\r\n                errors: hasError,\r\n                invalidFields: {\r\n                    ...invalidFields,\r\n                    addressErrors: hasError\r\n                }\r\n            });\r\n\r\n            showValidateAddress && this.props.onChangeFunction('', '', '', { name: 'addressIsvalid', value: true, checked: false, files: undefined });\r\n        }\r\n\r\n        if (name === 'place' || name === 'fiscalPlace') {\r\n            this.setState({\r\n                errors: hasError,\r\n                invalidFields: {\r\n                    ...invalidFields,\r\n                    placeErrors: hasError\r\n                }\r\n            });\r\n        }\r\n\r\n        if (name === 'addressIsvalid') {\r\n            hasError = !checked;\r\n\r\n        }\r\n\r\n        this.props.onChangeFunction(event.target, '', hasError);\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name } = event.target;\r\n\r\n        this.turnFieldTouched(name);\r\n    }\r\n\r\n    onChangeDistricts = (e) => {\r\n        const el = { code: e.target.value, description: e.target[e.target.selectedIndex].getAttribute('data-description') }\r\n        const { nameFields} = this.state;\r\n\r\n        this.turnFieldTouched(nameFields.districtValue);\r\n\r\n        var hasError;\r\n\r\n        if (el.code !== \"\") {\r\n            this.fetchData('GetCounties', `districtCode=${el.code}`)\r\n                .then(list => {\r\n                    // const { districts } = data\r\n                    this.setState({\r\n                        counties: { enable: true, list },\r\n                        parishs: { enable: false, list: [] },\r\n                        setSelectDistrict: el.code,\r\n                        setSelectCounty: null,\r\n                        setSelectParish: null,\r\n                        errors: false\r\n\r\n                    });\r\n                });\r\n            \r\n            hasError = false;\r\n        } else {\r\n            hasError = true;\r\n            this.setState({\r\n                counties: { enable: false, list: [] },\r\n                parishs: { enable: false, list: [] },\r\n                setSelectDistrict: null,\r\n                setSelectCounty: null,\r\n                setSelectParish: null\r\n            });\r\n        }\r\n        let hasErrorOthers = true;\r\n\r\n        this.props.onChangeFunction(e, e.target, hasError, { name: nameFields.districtCode, value: el.code ? el.code : null, checked: false, files: undefined });\r\n        this.props.onChangeFunction(e, e.target, hasError, { name: nameFields.districtValue, value: el.description, checked: false, files: undefined });\r\n        this.props.onChangeFunction('', '', hasErrorOthers, { name: nameFields.countyCode, value: null, checked: false, files: undefined });\r\n        this.props.onChangeFunction('', '', hasErrorOthers, { name: nameFields.countyValue, value: null, checked: false, files: undefined });\r\n        this.props.onChangeFunction('', '', hasErrorOthers, { name: nameFields.parishCode, value: null, checked: false, files: undefined });\r\n        this.props.onChangeFunction('', '', hasErrorOthers, { name: nameFields.parishValue, value: null, checked: false, files: undefined });\r\n    }\r\n\r\n    onChangeCounties = (e) => {\r\n        var hasError = this.state.errors;\r\n        const el = { code: e.target.value, description: e.target[e.target.selectedIndex].getAttribute('data-description') }\r\n        const { nameFields } = this.state;\r\n\r\n        this.turnFieldTouched(nameFields.countyValue);\r\n\r\n        if (el.code !== \"\") {\r\n            hasError = false;\r\n\r\n            this.fetchData('GetParishs', `countyCode=${el.code}`)\r\n                .then(list => {\r\n                    // const { districts } = data\r\n                    this.setState({\r\n                        parishs: { enable: true, list },\r\n                        setSelectCounty: el.code,\r\n                    });\r\n                });\r\n        } else {\r\n            hasError = true;\r\n\r\n            this.setState({\r\n                parishs: { enable: false, list: [] },\r\n                setSelectCounty: null,\r\n                setSelectParish: null\r\n            });\r\n        }\r\n\r\n        let hasErrorOthers = true;\r\n\r\n        this.props.onChangeFunction(e, '', hasError, { name: nameFields.countyCode, value: el.code, checked: false, files: undefined });\r\n        this.props.onChangeFunction(e, '', hasError, { name: nameFields.countyValue, value: el.description, checked: false, files: undefined });\r\n\r\n        this.props.onChangeFunction('', '', hasErrorOthers, { name: nameFields.parishCode, value: null, checked: false, files: undefined });\r\n        this.props.onChangeFunction('', '', hasErrorOthers, { name: nameFields.parishValue, value: null, checked: false, files: undefined });\r\n    }\r\n\r\n    onChangeParishs = (e) => {\r\n        var hasError = this.state.errors;\r\n        const el = { code: e.target.value, description: e.target[e.target.selectedIndex].getAttribute('data-description') }\r\n        const { nameFields } = this.state;\r\n\r\n        this.turnFieldTouched(nameFields.parishValue);\r\n\r\n        if (el.code !== \"\") {\r\n            hasError = false;\r\n\r\n            this.setState({\r\n                setSelectParish: el.code,\r\n\r\n            });\r\n        } else {\r\n            hasError = true;\r\n\r\n            this.setState({\r\n                setSelectParish: null\r\n            });\r\n        }\r\n\r\n        this.props.onChangeFunction(e, '', hasError, { name: nameFields.parishCode, value: el.code, checked: false, files: undefined });\r\n        this.props.onChangeFunction(e, '', hasError, { name: nameFields.parishValue, value: el.description, checked: false, files: undefined });\r\n    }\r\n\r\n    onChangePostalCode = (e) => {\r\n        const { invalidFields, nameFields } = this.state;\r\n        const el = e.target.value;\r\n\r\n        invalidFields.postalCodeErrors = !this.postalCodeRegex.test(e.target.value);\r\n        this.turnFieldTouched(nameFields.postalCode);\r\n\r\n        if (!invalidFields.postalCodeErrors) {\r\n            this.fetchData('ValidatePostalCode', `code=${e.target.value}`).then(result => {\r\n                this.setState({\r\n                    errors: !result,\r\n                    invalidFields: {\r\n                        ...invalidFields,\r\n                        postalCodeErrors: !result\r\n                    }\r\n                });\r\n\r\n                this.props.onChangeFunction('', '', !result, { name: nameFields.postalCode, value: result ? el : null, checked: false, files: undefined });\r\n            }\r\n            )\r\n        } else {\r\n            this.setState({\r\n                errors: this.postalCodeRegex\r\n                    .test(e.target.value)\r\n            });\r\n            this.props.onChangeFunction('', '', !this.postalCodeRegex.test(e.target.value), { name: nameFields.postalCode, value: el, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state;\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n    \r\n    componentDidMount() {\r\n        const { defaultDistrict, defaultCounty, defaultParish, defaultPostalCode, defaultAddress, defaultPlace, onChangeFunction, districts } = this.props;\r\n        const { nameFields, invalidFields } = this.state;\r\n\r\n        this.setState({\r\n            districts\r\n        });\r\n\r\n        if (!!defaultDistrict) {\r\n            this.turnFieldTouched(nameFields.districtValue);\r\n\r\n            let element = districts.find((el) => el.code === defaultDistrict);\r\n\r\n            onChangeFunction('', '', false, { name: nameFields.districtValue, value: element.description, checked: false, files: undefined });\r\n\r\n            this.fetchData('GetCounties', `districtCode=${defaultDistrict}`)\r\n                .then(list => {\r\n                    this.setState({\r\n                        counties: { enable: true, list }\r\n                    });\r\n\r\n                    let element = list.find((el) => el.code === defaultCounty);\r\n\r\n                    if (element === null || element === undefined) {\r\n                        this.setState({\r\n                            setSelectCounty: null,\r\n                            setSelectParish: null\r\n                        });\r\n                        onChangeFunction('', '', true, { name: nameFields.countyValue, value: null, checked: false, files: undefined });\r\n                        onChangeFunction('', '', true, { name: nameFields.countyCode, value: null, checked: false, files: undefined });\r\n                        onChangeFunction('', '', true, { name: nameFields.parishValue, value: null, checked: false, files: undefined });\r\n                        onChangeFunction('', '', true, { name: nameFields.parishCode, value: null, checked: false, files: undefined });\r\n\r\n                    } else {\r\n                        this.turnFieldTouched(nameFields.countyValue);\r\n\r\n                        onChangeFunction('', '', false, { name: nameFields.countyValue, value: element.description, checked: false, files: undefined });\r\n                        this.fetchData('GetParishs', `countyCode=${defaultCounty}`)\r\n                            .then(list => {\r\n                                // const { districts } = data\r\n                                this.setState({\r\n                                    parishs: { enable: true, list }\r\n                                });\r\n\r\n                                let element = list.find((el) => el.code === defaultParish);\r\n\r\n                                if (element === null || element === undefined) {\r\n                                    this.setState({\r\n                                        setSelectParish: null\r\n                                    });\r\n                                    onChangeFunction('', '', true, { name: nameFields.parishValue, value: null, checked: false, files: undefined });\r\n                                    onChangeFunction('', '', true, { name: nameFields.parishCode, value: null, checked: false, files: undefined });\r\n                                } else {\r\n\r\n                                    this.turnFieldTouched(nameFields.parishValue);\r\n\r\n                                    onChangeFunction('', '', false, { name: nameFields.parishValue, value: element.description, checked: false, files: undefined });\r\n                                }\r\n                            });\r\n                    }\r\n\r\n                });\r\n        } else {\r\n            this.setState({\r\n                setSelectDistrict: null,\r\n                setSelectCounty: null,\r\n                setSelectParish: null\r\n            });\r\n            var hasError = true;\r\n            onChangeFunction('', '', hasError, { name: nameFields.districtCode, value: null, checked: false, files: undefined });\r\n            onChangeFunction('', '', hasError, { name: nameFields.districtValue, value: null, checked: false, files: undefined });\r\n            onChangeFunction('', '', hasError, { name: nameFields.countyValue, value: null, checked: false, files: undefined });\r\n            onChangeFunction('', '', hasError, { name: nameFields.countyCode, value: null, checked: false, files: undefined });\r\n            onChangeFunction('', '', hasError, { name: nameFields.parishCode, value: null, checked: false, files: undefined });\r\n            onChangeFunction('', '', hasError, { name: nameFields.parishValue, value: null, checked: false, files: undefined });\r\n        }\r\n            \r\n        if (!!defaultPostalCode) {\r\n            let validate = !this.postalCodeRegex.test(defaultPostalCode);\r\n            invalidFields.postalCodeErrors = validate;\r\n\r\n            this.turnFieldTouched(nameFields.postalCode);\r\n\r\n            if (!invalidFields.postalCodeErrors) {\r\n                this.fetchData('ValidatePostalCode', `code=${defaultPostalCode}`).then(result => {\r\n                    this.setState({\r\n                        errors: !result,\r\n                        invalidFields: {\r\n                            ...invalidFields,\r\n                            postalCodeErrors: !result\r\n                        }\r\n                    });\r\n\r\n                    onChangeFunction('', '', !result, { name: nameFields.postalCode, value: defaultPostalCode, checked: false, files: undefined });\r\n                }\r\n                )\r\n            } else {\r\n                this.setState({\r\n                    errors: this.postalCodeRegex\r\n                        .test(defaultPostalCode)\r\n                });\r\n\r\n                onChangeFunction('', '', true, { name: nameFields.postalCode, value: defaultPostalCode, checked: false, files: undefined });\r\n\r\n\r\n            }\r\n        } else {\r\n\r\n            this.setState({\r\n                errors: this.postalCodeRegex\r\n                    .test(defaultPostalCode)\r\n            });\r\n\r\n            this.props.onChangeFunction('', '', !this.postalCodeRegex.test(defaultPostalCode), { name: nameFields.postalCode, value: defaultPostalCode, checked: false, files: undefined });\r\n\r\n\r\n        }\r\n        if (!defaultAddress) {\r\n\r\n            onChangeFunction('', '', true, { name: nameFields.addressName, value: defaultAddress ? defaultAddress : null, checked: false, files: undefined });\r\n        } else {\r\n\r\n            this.turnFieldTouched(nameFields.addressName);\r\n        }\r\n        if (!defaultPlace) {\r\n\r\n            onChangeFunction('', '', true, { name: nameFields.place, value: defaultPlace ? defaultPlace : null, checked: false, files: undefined });\r\n        } else {\r\n\r\n            this.turnFieldTouched(nameFields.place);\r\n\r\n        }\r\n\r\n        if (this.state.showValidateAddress) {\r\n\r\n            this.props.onChangeFunction('', '', true, { name: 'addressIsvalid', value: false, checked: false, files: undefined });\r\n        }\r\n    }\r\n    render() {\r\n        const { maxLength, invalidFields: { addressErrors, postalCodeErrors, placeErrors }, nameFields: { addressName, districtValue, countyValue, parishValue, postalCode, place }, setSelectDistrict, setSelectCounty, setSelectParish, showValidateAddress } = this.state;\r\n        const { required, readonly, disabled, formResources, tooltipAddressText, defaultAddress, defaultPostalCode, defaultPlace, addressIsValid } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Row>\r\n                    <FormGroup className=\"col-lg-9\">\r\n                        <Label for={addressName} className=\"form-label text-uppercase\">{formResources.FormLabelAddress}{required && \"*\"}</Label>\r\n                        {tooltipAddressText &&\r\n                            <TooltipItem key={`FormTooltip${addressName}`} id={`FormTooltip${addressName}`} text={tooltipAddressText} />\r\n                        }\r\n                        <Input\r\n                            type=\"text\"\r\n                            name={addressName}\r\n                            id={addressName}\r\n                            aria-describedby={`${addressName}Help`}\r\n                            invalid={addressErrors || defaultAddress == null}\r\n                            defaultValue={defaultAddress}\r\n                            onChange={this.handleChange}\r\n                            onBlur={this.handleBlur}\r\n                            maxLength={maxLength.address}\r\n                            required={required}\r\n                            autoComplete=\"street-address\"\r\n                            readOnly={readonly}\r\n                            disabled={disabled}\r\n                        />\r\n                        <div className=\"row\">\r\n                            <small id={`${addressName}Help`} className=\"col-auto order-last form-text text-right text-primary\"><CountingInput limit={maxLength.address} actual={defaultAddress !== null ? defaultAddress.length : 0} /></small>\r\n                            <div className=\"col invalid-feedback\">{this.state.touched[addressName] ? formResources.FormErrorAddress : formResources.FormErrorFieldEmpty}</div>\r\n                        </div>\r\n                    </FormGroup>\r\n                </Row>\r\n                {showValidateAddress &&\r\n                    <FormGroup tag=\"fieldset\">\r\n                        <legend className=\"form-label\">{formResources.ValidateAddressLegend}</legend>\r\n\r\n                        <Row>\r\n                            <FormGroup className=\"col-lg-9\">\r\n                                <FormGroup check>\r\n                                    <Label check>\r\n                                        <Input type=\"checkbox\" name=\"addressIsvalid\" invalid={showValidateAddress && !addressIsValid} checked={addressIsValid} onChange={this.handleChange} required={true} />\r\n                                        <strong className=\"form-label ml-1\">{formResources.FormLabelValidateAddress}{required && \"*\"}</strong>\r\n                                    </Label>\r\n                                </FormGroup>\r\n                                <div className={`invalid-feedback ${!addressIsValid ? 'visible' : ''}`} >{formResources.FormErrorFieldEmpty}</div>\r\n                            </FormGroup>\r\n                        </Row>\r\n                    </FormGroup>\r\n                }\r\n\r\n                <Row>\r\n                    <FormGroup className=\"col-6 col-sm-4 col-md-3\">\r\n                        <Label for={postalCode} className=\"form-label text-uppercase\">{formResources.FormLabelPostalCodeCode}{required && \"*\"}</Label>\r\n                        <Input\r\n                            type=\"text\"\r\n                            name={postalCode}\r\n                            id={postalCode}\r\n                            aria-describedby={`${postalCode}Help`}\r\n                            invalid={postalCodeErrors || !defaultPostalCode}\r\n                            defaultValue={defaultPostalCode}\r\n                            onChange={this.onChangePostalCode}\r\n                            onBlur={this.handleBlur}\r\n                            required={required}\r\n                            autoComplete=\"postal-code\"\r\n                            readOnly={readonly}\r\n                            disabled={disabled}\r\n                        />\r\n                        <small id={`${postalCode}Help`} className=\"form-text text-right text-primary\">{formResources.FormHelperPostalCodeCode}</small>\r\n                        <div className=\"invalid-feedback\">{!!this.state.touched[postalCode] ? formResources.FormErrorPostalCodeCode : formResources.FormErrorFieldEmpty}</div>\r\n                    </FormGroup>\r\n                    <FormGroup className=\"col-6 col-sm-8 col-md-4\">\r\n                        <Label for={place} className=\"form-label text-uppercase\">{formResources.FormLabelPlace}{required && \"*\"}</Label>\r\n                        <Input\r\n                            type=\"text\"\r\n                            name={place}\r\n                            id={place}\r\n                            invalid={placeErrors || defaultPlace === null}\r\n                            defaultValue={defaultPlace}\r\n                            onChange={this.handleChange}\r\n                            onBlur={this.handleBlur}\r\n                            maxLength={maxLength.place}\r\n                            required={required}\r\n                            readOnly={readonly}\r\n                            disabled={disabled}\r\n                        />\r\n                        <small id={`${place}Help`} className=\"col-auto order-last form-text text-right text-primary\"> <CountingInput limit={maxLength.place} actual={defaultPlace !== null ? defaultPlace.length : 0} /></small>\r\n                        <div className=\"invalid-feedback\">{!!this.state.touched[place] ? formResources.FormErrorPlace : formResources.FormErrorFieldEmpty}</div>\r\n                    </FormGroup>\r\n                </Row>\r\n                <Row>\r\n                    <FormGroup className=\"col-sm-4 col-lg-3\">\r\n                        <Label for={districtValue} className=\"form-label text-uppercase\">{formResources.FormLabelDiscrictValue}{required && \"*\"}</Label>\r\n                        <Input\r\n                            type=\"select\"\r\n                            name={districtValue}\r\n                            id={districtValue}\r\n                            invalid={setSelectDistrict === null || setSelectDistrict === ''}\r\n                            value={!!setSelectDistrict && setSelectDistrict}\r\n                            onChange={this.onChangeDistricts}\r\n                            onBlur={this.handleBlur}\r\n                            required={required}\r\n                            readOnly={readonly}\r\n                            disabled={disabled}\r\n                        >\r\n                            <option value=\"\">{formResources.SelectDefaultOption}</option>\r\n                            {this.state.districts.map((el, i) =>\r\n                                <option key={i} value={el.code} data-description={el.description}>{el.description}</option>\r\n                            )}\r\n                        </Input>\r\n                        <div className=\"invalid-feedback\">{this.state.touched[districtValue] ? formResources.FormErrorDiscrictValue : formResources.FormErrorFieldEmpty}</div>\r\n                    </FormGroup>\r\n                    <FormGroup className=\"col-sm-4 col-lg-3\">\r\n                        <Label for={countyValue} className=\"form-label text-uppercase\">{formResources.FormLabelCountyValue}{required && \"*\"}</Label>\r\n                        <Input\r\n                            type=\"select\"\r\n                            name={countyValue}\r\n                            id={countyValue}\r\n                            invalid={setSelectCounty === null || setSelectCounty === ''}\r\n                            value={!!setSelectCounty && setSelectCounty}\r\n                            onChange={this.onChangeCounties}\r\n                            onBlur={this.handleBlur}\r\n                            required={required}\r\n                            readOnly={readonly}\r\n                            disabled={!this.state.counties.enable}\r\n                        >\r\n                            {this.state.counties.enable && <option value=\"\">{formResources.SelectDefaultOption}</option>}\r\n                            {this.state.counties.list.map((el, i) =>\r\n                                <option key={i} value={el.code} data-description={el.description}>{el.description}</option>\r\n                            )}\r\n                        </Input>\r\n                        <div className=\"invalid-feedback\">{this.state.touched[countyValue] ? formResources.FormErrorCountyValue : formResources.FormErrorFieldEmpty}</div>\r\n                    </FormGroup>\r\n                    <FormGroup className=\"col-sm-4 col-lg-3\">\r\n                        <Label for={parishValue} className=\"form-label text-uppercase\">{formResources.FormLabelParishValue}{required && \"*\"}</Label>\r\n                        <Input\r\n                            type=\"select\"\r\n                            name={parishValue}\r\n                            id={parishValue}\r\n                            invalid={setSelectParish === null || setSelectParish === ''}\r\n                            value={!!setSelectParish && setSelectParish}\r\n                            onChange={this.onChangeParishs}\r\n                            onBlur={this.handleBlur}\r\n                            required={required}\r\n                            readOnly={readonly}\r\n                            disabled={!this.state.parishs.enable}\r\n                        >\r\n                            {this.state.parishs.enable && <option value=\"\">{formResources.SelectDefaultOption}</option>}\r\n                            {this.state.parishs.list.map((el, i) =>\r\n                                <option key={i} value={el.code} data-description={el.description}>{el.description}</option>\r\n                            )}\r\n                        </Input>\r\n                        <div className=\"invalid-feedback\">{this.state.touched[parishValue] ? formResources.FormErrorParishValue : formResources.FormErrorFieldEmpty}</div>\r\n                    </FormGroup>\r\n                </Row>\r\n            </>\r\n        );\r\n    }\r\n}","import React, { Component } from \"react\";\r\nimport { Row, Label, Input } from \"reactstrap\";\r\n\r\nexport default class PlaceOfBirthField extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.props = props;\r\n\t\tthis.state = {\r\n\t\t\tdistricts: [],\r\n\t\t\tcounties: { enable: false, list: [] },\r\n\t\t\terrors: false,\r\n\t\t\ttouched: {},\r\n\t\t\tinvalidFields: {\r\n\t\t\t\taddressErrors: false,\r\n\t\t\t\tpostalCodeErrors: false,\r\n\t\t\t\tplaceErrors: false,\r\n\t\t\t},\r\n\t\t\tnameFields: {\r\n\t\t\t\tplaceOfBirthDistrictCode: \"placeOfBirthDistrictCode\",\r\n\t\t\t\tplaceOfBirthDistrictValue: \"placeOfBirthDistrictValue\",\r\n\t\t\t\tplaceOfBirthCountyCode: \"placeOfBirthCountyCode\",\r\n\t\t\t\tplaceOfBirthCountyValue: \"placeOfBirthCountyValue\",\r\n\t\t\t},\r\n\t\t\tsetSelectDistrict: this.props.defaultDistrict,\r\n\t\t\tsetSelectCounty: this.props.defaultCounty,\r\n\t\t\tshowValidateAddress: !this.props.secondaryAddress && !this.props.addressIsValid,\r\n\t\t};\r\n\r\n\t\tthis.fetchData = this.fetchData.bind(this);\r\n\t\tthis.onChangeDistricts = this.onChangeDistricts.bind(this);\r\n\t\tthis.onChangeCounties = this.onChangeCounties.bind(this);\r\n\t\tthis.turnFieldTouched = this.turnFieldTouched.bind(this);\r\n\t\tthis.handleChange = this.handleChange.bind(this);\r\n\t\tthis.handleBlur = this.handleBlur.bind(this);\r\n\t}\r\n\r\n\tasync fetchData(method, params = undefined) {\r\n\t\tconst response = await fetch(`/form/${method}${params ? `?${params}` : \"\"}`, {\r\n\t\t\tmethod: \"GET\",\r\n\t\t\theaders: {\r\n\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\tif (response.status === 200) {\r\n\t\t\treturn await response.json();\r\n\t\t} else {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t}\r\n\r\n\thandleChange(event) {\r\n\t\tconst { name, value } = event.target;\r\n\t\tvar hasError = value === \"\" || value === null ? true : false;\r\n\r\n\t\tthis.turnFieldTouched(name);\r\n\t\tthis.props.onChangeFunction(event.target, \"\", hasError);\r\n\t}\r\n\r\n\thandleBlur(event) {\r\n\t\tconst { name } = event.target;\r\n\t\tthis.turnFieldTouched(name);\r\n\t}\r\n\r\n\tonChangeDistricts = (e) => {\r\n\t\tconst el = { code: e.target.value, description: e.target[e.target.selectedIndex].getAttribute(\"data-description\") };\r\n\t\tconst { nameFields } = this.state;\r\n\r\n\t\tthis.turnFieldTouched(nameFields.districtValue);\r\n\r\n\t\tvar hasError;\r\n\r\n\t\tif (el.code !== \"\") {\r\n\t\t\tthis.fetchData(\"GetCounties\", `districtCode=${el.code}`).then((list) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcounties: { enable: true, list },\r\n\t\t\t\t\tsetSelectDistrict: el.code,\r\n\t\t\t\t\tsetSelectCounty: \"\",\r\n\t\t\t\t\terrors: false,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\thasError = false;\r\n\t\t} else {\r\n\t\t\thasError = true;\r\n\t\t\tthis.setState({\r\n\t\t\t\tcounties: { enable: false, list: [] },\r\n\t\t\t\tsetSelectDistrict: \"\",\r\n\t\t\t\tsetSelectCounty: \"\",\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.props.onChangeFunction(e, e.target, hasError, {\r\n\t\t\tname: nameFields.placeOfBirthDistrictCode,\r\n\t\t\tvalue: el.code ? el.code : \"\",\r\n\t\t\tchecked: false,\r\n\t\t\tfiles: undefined,\r\n\t\t});\r\n\t\tthis.props.onChangeFunction(e, e.target, hasError, {\r\n\t\t\tname: nameFields.placeOfBirthDistrictValue,\r\n\t\t\tvalue: el.description,\r\n\t\t\tchecked: false,\r\n\t\t\tfiles: undefined,\r\n\t\t});\r\n\t};\r\n\r\n\tonChangeCounties = (e) => {\r\n\t\tvar hasError = this.state.errors;\r\n\t\tconst el = { code: e.target.value, description: e.target[e.target.selectedIndex].getAttribute(\"data-description\") };\r\n\t\tconst { nameFields } = this.state;\r\n\r\n\t\tthis.turnFieldTouched(nameFields.placeOfBirthCountyValue);\r\n\r\n\t\tif (el.code !== \"\") {\r\n\t\t\thasError = false;\r\n\t\t\tthis.setState({\r\n\t\t\t\tsetSelectCounty: el.code,\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\thasError = true;\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\tsetSelectCounty: null,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.props.onChangeFunction(e, \"\", hasError, { name: nameFields.placeOfBirthCountyCode, value: el.code, checked: false, files: undefined });\r\n\t\tthis.props.onChangeFunction(e, \"\", hasError, { name: nameFields.placeOfBirthCountyValue, value: el.description, checked: false, files: undefined });\r\n\t};\r\n\r\n\tturnFieldTouched(field) {\r\n\t\tconst { touched } = this.state;\r\n\r\n\t\tthis.setState({\r\n\t\t\ttouched: {\r\n\t\t\t\t...touched,\r\n\t\t\t\t[field]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst { defaultDistrict, defaultCounty, onChangeFunction, districts } = this.props;\r\n\t\tconst { nameFields } = this.state;\r\n\r\n\t\tthis.setState({\r\n\t\t\tdistricts,\r\n\t\t});\r\n\r\n\t\tif (!!defaultDistrict) {\r\n\t\t\tthis.turnFieldTouched(nameFields.placeOfBirthDistrictValue);\r\n\r\n\t\t\tlet element = districts.find((el) => el.code === defaultDistrict);\r\n\r\n\t\t\tonChangeFunction(\"\", \"\", false, { name: nameFields.placeOfBirthDistrictValue, value: element.description, checked: false, files: undefined });\r\n\r\n\t\t\tthis.fetchData(\"GetCounties\", `districtCode=${defaultDistrict}`).then((list) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcounties: { enable: true, list },\r\n\t\t\t\t});\r\n\r\n\t\t\t\tlet element = list.find((el) => el.code === defaultCounty);\r\n\r\n\t\t\t\tif (element === null || element === undefined) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tsetSelectCounty: \"\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\tonChangeFunction(\"\", \"\", true, { name: nameFields.placeOfBirthCountyValue, value: \"\", checked: false, files: undefined });\r\n\t\t\t\t\tonChangeFunction(\"\", \"\", true, { name: nameFields.placeOfBirthCountyCode, value: \"\", checked: false, files: undefined });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.turnFieldTouched(nameFields.placeOfBirthCountyValue);\r\n\r\n\t\t\t\t\tonChangeFunction(\"\", \"\", false, {\r\n\t\t\t\t\t\tname: nameFields.placeOfBirthCountyValue,\r\n\t\t\t\t\t\tvalue: element.description,\r\n\t\t\t\t\t\tchecked: false,\r\n\t\t\t\t\t\tfiles: undefined,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.setState({\r\n\t\t\t\tsetSelectDistrict: \"\",\r\n\t\t\t\tsetSelectCounty: \"\",\r\n\t\t\t});\r\n\t\t\tvar hasError = true;\r\n\t\t\tonChangeFunction(\"\", \"\", hasError, { name: nameFields.placeOfBirthDistrictCode, value: \"\", checked: false, files: undefined });\r\n\t\t\tonChangeFunction(\"\", \"\", hasError, { name: nameFields.placeOfBirthDistrictValue, value: \"\", checked: false, files: undefined });\r\n\t\t\tonChangeFunction(\"\", \"\", hasError, { name: nameFields.placeOfBirthCountyValue, value: \"\", checked: false, files: undefined });\r\n\t\t\tonChangeFunction(\"\", \"\", hasError, { name: nameFields.placeOfBirthCountyCode, value: \"\", checked: false, files: undefined });\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\tnameFields: { placeOfBirthDistrictValue, placeOfBirthCountyCode },\r\n\t\t\tsetSelectDistrict,\r\n\t\t\tsetSelectCounty,\r\n\t\t} = this.state;\r\n\t\tconst { required, disabled, readonly, formResources } = this.props;\r\n\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t<Row>\r\n\t\t\t\t\t<div className=\"col-sm-6 col-lg-6\">\r\n\t\t\t\t\t\t<Label for={placeOfBirthDistrictValue} className=\"form-label text-uppercase\">\r\n\t\t\t\t\t\t\t{formResources.FormLabelDiscrictValue}\r\n\t\t\t\t\t\t\t{required && \"*\"}\r\n\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\ttype=\"select\"\r\n\t\t\t\t\t\t\tname={placeOfBirthDistrictValue}\r\n\t\t\t\t\t\t\tid={placeOfBirthDistrictValue}\r\n\t\t\t\t\t\t\tinvalid={setSelectDistrict === null || setSelectDistrict === \"\"}\r\n\t\t\t\t\t\t\tvalue={!!setSelectDistrict && setSelectDistrict}\r\n\t\t\t\t\t\t\tonChange={this.onChangeDistricts}\r\n\t\t\t\t\t\t\tonBlur={this.handleBlur}\r\n\t\t\t\t\t\t\trequired={required}\r\n\t\t\t\t\t\t\treadOnly={readonly}\r\n\t\t\t\t\t\t\tdisabled={disabled}>\r\n\t\t\t\t\t\t\t<option value=\"\">{formResources.SelectDefaultOption}</option>\r\n\t\t\t\t\t\t\t{this.state.districts.map((el, i) => (\r\n\t\t\t\t\t\t\t\t<option key={i} value={el.code} data-description={el.description}>\r\n\t\t\t\t\t\t\t\t\t{el.description}\r\n\t\t\t\t\t\t\t\t</option>\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t</Input>\r\n\t\t\t\t\t\t<div className=\"invalid-feedback\">\r\n\t\t\t\t\t\t\t{this.state.touched[placeOfBirthDistrictValue] ? formResources.FormErrorDiscrictValue : formResources.FormErrorFieldEmpty}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div className=\"col-sm-6 col-lg-6\">\r\n\t\t\t\t\t\t<Label for={placeOfBirthCountyCode} className=\"form-label text-uppercase\">\r\n\t\t\t\t\t\t\t{formResources.FormLabelCountyValue}\r\n\t\t\t\t\t\t\t{required && \"*\"}\r\n\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\ttype=\"select\"\r\n\t\t\t\t\t\t\tname={placeOfBirthCountyCode}\r\n\t\t\t\t\t\t\tid={placeOfBirthCountyCode}\r\n\t\t\t\t\t\t\tinvalid={setSelectCounty === null || setSelectCounty === \"\"}\r\n\t\t\t\t\t\t\tvalue={!!setSelectCounty && setSelectCounty}\r\n\t\t\t\t\t\t\tonChange={this.onChangeCounties}\r\n\t\t\t\t\t\t\tonBlur={this.handleBlur}\r\n\t\t\t\t\t\t\trequired={required}\r\n\t\t\t\t\t\t\treadOnly={readonly}\r\n\t\t\t\t\t\t\tdisabled={!this.state.counties.enable}>\r\n\t\t\t\t\t\t\t{this.state.counties.enable && <option value=\"\">{formResources.SelectDefaultOption}</option>}\r\n\t\t\t\t\t\t\t{this.state.counties.list.map((el, i) => (\r\n\t\t\t\t\t\t\t\t<option key={i} value={el.code} data-description={el.description}>\r\n\t\t\t\t\t\t\t\t\t{el.description}\r\n\t\t\t\t\t\t\t\t</option>\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t</Input>\r\n\t\t\t\t\t\t<div className=\"invalid-feedback\">\r\n\t\t\t\t\t\t\t{this.state.touched[placeOfBirthCountyCode] ? formResources.FormErrorCountyValue : formResources.FormErrorFieldEmpty}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</Row>\r\n\t\t\t</>\r\n\t\t);\r\n\t}\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Container, Row, Col, Form, FormGroup, Label, Input } from \"reactstrap\";\r\nimport { MainFormNavInfo } from \"./MainFormNavInfo\";\r\nimport { NameField } from \"../Fields/NameField\";\r\nimport { IdentificationField } from \"../Fields/IdentificationField\";\r\nimport { GendersField } from \"../Fields/GendersField\";\r\nimport { PoliticalRelations } from \"../Fields/PoliticalRelations\";\r\nimport { NifField } from \"../Fields/NifField\";\r\nimport { EmailField } from \"../Fields/EmailField\";\r\nimport { PhoneNumberField } from \"../Fields/PhoneNumberField\";\r\nimport { MainFormNavigation } from \"./MainFormNavigation\";\r\nimport { SideBarStep2 } from \"./SideBarStep2\";\r\nimport { AddressField } from \"../Fields/AddressField\";\r\nimport Loading from \"../Global/Loading\";\r\nimport CountryAutoCompleteField from \"../Fields/CountryAutoCompleteField\";\r\nimport PlaceOfBirthField from \"../Fields/PlaceOfBirthField\";\r\n\r\nexport class MainFormStep2 extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.props = props;\r\n\t\tthis.state = {\r\n\t\t\tloading: false,\r\n\t\t\terrors: [],\r\n\t\t\tisValid: false,\r\n\t\t\ttouched: {\r\n\t\t\t\tentity: !!this.props.data.entity,\r\n\t\t\t\tposition: !!this.props.data.position,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tthis.back = this.back.bind(this);\r\n\t\tthis.continue = this.continue.bind(this);\r\n\t\tthis.onChangeFunction = this.onChangeFunction.bind(this);\r\n\t\tthis.turnFieldTouched = this.turnFieldTouched.bind(this);\r\n\t\tthis.handleBlur = this.handleBlur.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\twindow.scrollTo(0, 0);\r\n\t\tthis.props.checkFormValidate();\r\n\t}\r\n\r\n\tback() {\r\n\t\tthis.props.prevStep(\"person\", this.props.data);\r\n\t}\r\n\r\n\tcontinue() {\r\n\t\tthis.props.nextStep(\"person\", this.props.data);\r\n\t}\r\n\r\n\tturnFieldTouched(field) {\r\n\t\tconst { touched } = this.state;\r\n\r\n\t\tthis.setState({\r\n\t\t\ttouched: {\r\n\t\t\t\t...touched,\r\n\t\t\t\t[field]: true,\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\thandleBlur(event) {\r\n\t\tconst { name } = event.target;\r\n\t\tthis.turnFieldTouched(name);\r\n\t}\r\n\tonChangeFunction(e) {\r\n\t\tlet hasError = e.target.value === \"\" || e.target.value === null ? true : false;\r\n\r\n\t\tthis.props.handleChange(e.target, \"\", hasError);\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst { loading, touched } = this.state;\r\n\t\tconst { activeStep, handleChange, hasPreviousStep, hasNextStep, globalResources, formResources, faqsStep, data, loadingData } = this.props;\r\n\r\n\t\tif (loadingData) {\r\n\t\t\treturn (\r\n\t\t\t\t<Container className=\"d-flex flex-column h-100 justify-content-center align-items-center\">\r\n\t\t\t\t\t<Loading loadingText={globalResources.LoadingPageContentText} />\r\n\t\t\t\t</Container>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t<Container>\r\n\t\t\t\t<Row className=\"main-form__header\">\r\n\t\t\t\t\t<Col>\r\n\t\t\t\t\t\t<h1 className=\"sr-only\">{formResources.Step2Title}</h1>\r\n\r\n\t\t\t\t\t\t<MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n\t\t\t\t\t</Col>\r\n\t\t\t\t</Row>\r\n\t\t\t\t<Row>\r\n\t\t\t\t\t<Col lg=\"3\" xl=\"4\" className=\"order-first order-lg-last\">\r\n\t\t\t\t\t\t<SideBarStep2 formResources={formResources} faqsStep={faqsStep} />\r\n\t\t\t\t\t</Col>\r\n\r\n\t\t\t\t\t<Col lg=\"9\" xl=\"8\">\r\n\t\t\t\t\t\t<Form className=\"needs-validation\" noValidate onChange={this.checkFormStatus}>\r\n\t\t\t\t\t\t\t<FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n\t\t\t\t\t\t\t\t<legend className=\"sr-only\">Confirma os teus dados pessoais</legend>\r\n\r\n\t\t\t\t\t\t\t\t<Row>\r\n\t\t\t\t\t\t\t\t\t<FormGroup className=\"col-lg-9 pb-1\">\r\n\t\t\t\t\t\t\t\t\t\t<Label for=\"name\" className=\"form-label text-uppercase\">\r\n\t\t\t\t\t\t\t\t\t\t\t{formResources.FormLabelName}\r\n\t\t\t\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t\t\t\t\t<NameField\r\n\t\t\t\t\t\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\t\t\t\t\t\tinputValidationText={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid: formResources.FormErrorName,\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tinputValue={data.name}\r\n\t\t\t\t\t\t\t\t\t\t\treadonly={true}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t</Row>\r\n\r\n\t\t\t\t\t\t\t\t<GendersField\r\n\t\t\t\t\t\t\t\t\tdata={data}\r\n\t\t\t\t\t\t\t\t\tinputID=\"gender\"\r\n\t\t\t\t\t\t\t\t\tselectID=\"gender\"\r\n\t\t\t\t\t\t\t\t\tselectValue={data.gender}\r\n\t\t\t\t\t\t\t\t\tselectLabel={formResources.FormLabelGender}\r\n\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\tinputValidationText={{\r\n\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<IdentificationField\r\n\t\t\t\t\t\t\t\t\tidentificationTypes={!this.props.referenceData? null : this.props.referenceData.identificationTypes}\r\n\t\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\t\tselectID=\"identificationTypeCode\"\r\n\t\t\t\t\t\t\t\t\tselectLabel={formResources.FormLabelIdentificationTypeCode}\r\n\t\t\t\t\t\t\t\t\ttootipSelectText={formResources.FormTooltipIdentificationType}\r\n\t\t\t\t\t\t\t\t\tselectValidationText={formResources.FormErrorIdentificationTypeCode}\r\n\t\t\t\t\t\t\t\t\tselectValue={data.identificationTypeCode}\r\n\t\t\t\t\t\t\t\t\tinputID=\"identification\"\r\n\t\t\t\t\t\t\t\t\tinputLabel={formResources.FormLabelIdentification}\r\n\t\t\t\t\t\t\t\t\ttootipInputText={formResources.FormTooltipIdentification}\r\n\t\t\t\t\t\t\t\t\tinputValidationText={{\r\n\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t\tinvalid: formResources.FormErrorIdentification,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tinputValue={data.identification}\r\n\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\tdata={data}\r\n\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<Row>\r\n\t\t\t\t\t\t\t\t\t<FormGroup className=\"col-lg-9\">\r\n\t\t\t\t\t\t\t\t\t\t<Label for=\"email\" className=\"form-label text-uppercase\">\r\n\t\t\t\t\t\t\t\t\t\t\t{formResources.FormLabelEmail}*\r\n\t\t\t\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t\t\t\t\t<EmailField\r\n\t\t\t\t\t\t\t\t\t\t\tid=\"email\"\r\n\t\t\t\t\t\t\t\t\t\t\tinputValidationText={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid: formResources.FormErrorEmail,\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tinputValue={data.email}\r\n\t\t\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t</Row>\r\n\t\t\t\t\t\t\t\t<Row>\r\n\t\t\t\t\t\t\t\t\t<FormGroup className=\"col-sm-12 col-lg-9\">\r\n\t\t\t\t\t\t\t\t\t\t<CountryAutoCompleteField\r\n\t\t\t\t\t\t\t\t\t\t\tfieldName=\"placeOfBirthCountryValue\"\r\n\t\t\t\t\t\t\t\t\t\t\tfieldNameCode=\"placeOfBirthCountryCode\"\r\n\t\t\t\t\t\t\t\t\t\t\tlabelText={formResources.FormLabelPlaceOfBirth}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultCode={data.placeOfBirthCountryCode}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue={data.placeOfBirthCountryValue}\r\n\t\t\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\t\t\tupdateOnlyFields={true}\r\n\t\t\t\t\t\t\t\t\t\t\tvalidationText={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid: formResources.FormErrorPlaceOfBirth,\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t\t<FormGroup className=\"col-sm-12 col-lg-9\">\r\n\t\t\t\t\t\t\t\t\t\t{data.placeOfBirthCountryCode === \"PT\" && (\r\n\t\t\t\t\t\t\t\t\t\t\t<PlaceOfBirthField\r\n\t\t\t\t\t\t\t\t\t\t\t\tdistricts={!this.props.referenceData? null : this.props.referenceData.districts}\r\n\t\t\t\t\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultDistrict={data.placeOfBirthDistrictCode}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultCounty={data.placeOfBirthCountyCode}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t</Row>\r\n\r\n\t\t\t\t\t\t\t\t<Row>\r\n\t\t\t\t\t\t\t\t\t<FormGroup className=\"col-sm-6 col-lg-5\">\r\n\t\t\t\t\t\t\t\t\t\t<CountryAutoCompleteField\r\n\t\t\t\t\t\t\t\t\t\t\tfieldName=\"fiscalCountryValue\"\r\n\t\t\t\t\t\t\t\t\t\t\tfieldNameCode=\"fiscalCountryCode\"\r\n\t\t\t\t\t\t\t\t\t\t\tlabelText={formResources.FormLabelFiscalCountry}\r\n\t\t\t\t\t\t\t\t\t\t\tvalidationText={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid: formResources.FormErrorFiscalCountry,\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue={data.fiscalCountryValue}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultCode={data.fiscalCountryCode}\r\n\t\t\t\t\t\t\t\t\t\t\tupdateOnlyFields={true}\r\n\t\t\t\t\t\t\t\t\t\t\treadonly={true}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\r\n\t\t\t\t\t\t\t\t\t<FormGroup className=\"col-sm-6 col-lg-4\">\r\n\t\t\t\t\t\t\t\t\t\t<Label for=\"fiscalNumber\" className=\"form-label text-uppercase\">\r\n\t\t\t\t\t\t\t\t\t\t\t{formResources.FormLabelFiscalNumber}\r\n\t\t\t\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t\t\t\t\t<NifField\r\n\t\t\t\t\t\t\t\t\t\t\tid=\"fiscalNumber\"\r\n\t\t\t\t\t\t\t\t\t\t\tinputValidationText={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t\t\t\tinvalid: formResources.FormErrorNIF,\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tinputValue={data.fiscalNumber}\r\n\t\t\t\t\t\t\t\t\t\t\tcountry={data.countryCode}\r\n\t\t\t\t\t\t\t\t\t\t\treadonly={true}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t</Row>\r\n\r\n\t\t\t\t\t\t\t\t<PhoneNumberField\r\n\t\t\t\t\t\t\t\t\tmobilePhoneDialogCodeID=\"mobilePhoneDialogCode\"\r\n\t\t\t\t\t\t\t\t\tmobilePhoneID=\"mobilePhone\"\r\n\t\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\t\tinputValidationText={{\r\n\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t\tinvalid: formResources.FormErrorMobilephoneNumb,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tdefaultDialogCode={data.mobilePhoneDialogCode}\r\n\t\t\t\t\t\t\t\t\tinputValue={data.mobilePhone}\r\n\t\t\t\t\t\t\t\t\tcountry={data.mobilePhoneDialogValue}\r\n\t\t\t\t\t\t\t\t\treadonly={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<AddressField\r\n\t\t\t\t\t\t\t\t\tdistricts={!this.props.referenceData? null : this.props.referenceData.districts}\r\n\t\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\t\ttooltipAddressText={formResources.FormTooltipAddress}\r\n\t\t\t\t\t\t\t\t\tdefaultAddress={data.address}\r\n\t\t\t\t\t\t\t\t\tdefaultPostalCode={data.postalCodeCode}\r\n\t\t\t\t\t\t\t\t\tdefaultPlace={data.place}\r\n\t\t\t\t\t\t\t\t\tdefaultParish={data.parishCode}\r\n\t\t\t\t\t\t\t\t\tdefaultDistrict={data.districtCode}\r\n\t\t\t\t\t\t\t\t\tdefaultCounty={data.countyCode}\r\n\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\taddressIsValid={data.addressIsvalid}\r\n\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<Row>\r\n\t\t\t\t\t\t\t\t\t<FormGroup className=\"col\">\r\n\t\t\t\t\t\t\t\t\t\t<FormGroup check>\r\n\t\t\t\t\t\t\t\t\t\t\t<Label check>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Input type=\"checkbox\" name=\"secondAddress\" onChange={handleChange} checked={!!data.secondAddress} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t<strong className=\"form-label ml-1\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{formResources.FormLabelSecondAddress} <small>({formResources.FormInfoOptional})</small>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</strong>\r\n\t\t\t\t\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t</Row>\r\n\r\n\t\t\t\t\t\t\t\t{!!data.secondAddress && (\r\n\t\t\t\t\t\t\t\t\t<FormGroup tag=\"fieldset\">\r\n\t\t\t\t\t\t\t\t\t\t<legend className=\"sr-only\">{formResources.SecondAddressLegend}</legend>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<AddressField\r\n\t\t\t\t\t\t\t\t\t\t\tdistricts={!this.props.referenceData? null : this.props.referenceData.districts}\r\n\t\t\t\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipAddressText={formResources.FormTooltipSecondAddress}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultAddress={data.fiscalAddress}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultPostalCode={data.fiscalPostalCodeCode}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultPlace={data.fiscalPlace}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultParish={data.fiscalParishCode}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultDistrict={data.fiscalDistrictCode}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultCounty={data.fiscalCountyCode}\r\n\t\t\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\t\t\tsecondaryAddress={true}\r\n\t\t\t\t\t\t\t\t\t\t\taddressIsValid={true}\r\n\t\t\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t<PoliticalRelations\r\n\t\t\t\t\t\t\t\t\tpoliticalRelations={!this.props.referenceData? null : this.props.referenceData.politicalRelations}\r\n\t\t\t\t\t\t\t\t\tdata={data}\r\n\t\t\t\t\t\t\t\t\ttouched={touched}\r\n\t\t\t\t\t\t\t\t\tinputID=\"politicalRelationCode\"\r\n\t\t\t\t\t\t\t\t\tselectID=\"politicalRelationCode\"\r\n\t\t\t\t\t\t\t\t\tselectValue={data.politicalRelationCode}\r\n\t\t\t\t\t\t\t\t\tonChangeFunction={handleChange}\r\n\t\t\t\t\t\t\t\t\tinputValidationText={{\r\n\t\t\t\t\t\t\t\t\t\tempty: formResources.FormErrorFieldEmpty,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<MainFormNavigation\r\n\t\t\t\t\t\t\t\t\tanalyticsId=\"continue_3\"\r\n\t\t\t\t\t\t\t\t\tprevStep={this.back}\r\n\t\t\t\t\t\t\t\t\tnextStep={this.continue}\r\n\t\t\t\t\t\t\t\t\thasPreviousStep={hasPreviousStep}\r\n\t\t\t\t\t\t\t\t\thasNextStep={hasNextStep}\r\n\t\t\t\t\t\t\t\t\tprevText={globalResources.NavBackText}\r\n\t\t\t\t\t\t\t\t\tnextText={globalResources.NavForwardText}\r\n\t\t\t\t\t\t\t\t\tbuttonDisable={!this.props.isValid}\r\n\t\t\t\t\t\t\t\t\tloading={loading}\r\n\t\t\t\t\t\t\t\t\tloadingText={globalResources.LoadingPageText}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</FormGroup>\r\n\t\t\t\t\t\t</Form>\r\n\t\t\t\t\t</Col>\r\n\t\t\t\t</Row>\r\n\t\t\t</Container>\r\n\t\t);\r\n\t}\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport TooltipItem from '../../Fields/TooltipItem';\r\nimport ImgCardCaixaIUHand from '../../../img/content/card-caixa-iu_hand.png';\r\nimport ImgCardCaixaIU from '../../../img/content/card-caixa-iu_only.png';\r\n\r\nimport LogoDescontos from '../../../img/logo/logo_descontos.png';\r\n\r\nexport class CardCaixaIU extends Component {\r\n    static displayName = CardCaixaIU.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            isDesktop: window.innerWidth >= 992 ? true : false\r\n        }\r\n\r\n        this.handleWindowResize = this.handleWindowResize.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        window.addEventListener('resize', this.handleWindowResize);\r\n    }\r\n\r\n    componentWillUnmount() {\r\n        window.removeEventListener('resize', this.handleWindowResize);\r\n    }\r\n\r\n    handleWindowResize() {\r\n        this.setState({ isDesktop: window.innerWidth >= 992 });\r\n    }\r\n\r\n    render() {\r\n        const { isDesktop } = this.state;\r\n        const { formResources } = this.props;\r\n\r\n        return (\r\n            <section className=\"product__card-caixaiu\">\r\n                <Row className=\"mx-0\">\r\n                    <Col xs=\"11\" lg=\"8\">\r\n                        <div className=\"pl-5\">\r\n                            <h2 className=\"h3 text-dark mb-4 icn-position\"><span className=\"icn-approved\"></span><strong>{formResources.ContaExtratoJovemExtratoTitle}</strong> <TooltipItem key=\"FormTooltipCartaoEstudante\" id=\"FormTooltipCartaoEstudante\" text={formResources.FormTooltipCartaoEstudante} /></h2>\r\n\r\n                            <div className=\"mb-3 ml-5 title-info-docs\" dangerouslySetInnerHTML={{ __html: formResources.TitleInfoDocs }} />\r\n                                <div className=\"mb-5 pl-5\" dangerouslySetInnerHTML={{ __html: formResources.ContaExtratoJovemExtratoInfoDocs }} />\r\n                                <div className=\"h3 mb-5\" dangerouslySetInnerHTML={{ __html: formResources.CartaoEstudanteCaixaIUText2 }} />\r\n                                <h3 className=\"h3 mb-3\">{formResources.UniqueCardTitle}</h3>\r\n                            <div>\r\n                                <ul className=\"list-unstyled\">\r\n                                    <li className=\"mb-4\"><strong className=\"text-primary\">Cartão de Identificação:<br /></strong>para te reconhecer como estudante de Ensino Superior.</li>\r\n                                    <li className=\"mb-4\"><strong className=\"text-primary\">Cartão de Descontos:<br /></strong> para teres acesso a descontos em parceiros e bilhetes de cinema, espetáculos ou exposições.</li>\r\n                                    <Row xs=\"3\" sm=\"4\" md=\"5\" className=\"mt-3\">\r\n                                        <Col className=\"text-center align-self-center\">\r\n                                            <img className=\"img\" src={LogoDescontos} alt={formResources.DescontosAltText} />\r\n                                        </Col>\r\n                                    </Row>\r\n                                    <li className=\"mb-4\"><strong className=\"text-primary\">Cartão de débito:<br /></strong> para levantamentos de dinheiro ou pagamentos em lojas, em Portugal, no estrangeiro ou na internet.</li>\r\n                                </ul>\r\n                            </div>\r\n                        </div>\r\n                    </Col>\r\n                    <Col xs={{ size: 10, offset: 1 }} lg={{ size: 4, offset: 0 }} className=\"text-center\">\r\n                        {isDesktop\r\n                            ? <img className=\"img img__desktop\" src={ImgCardCaixaIUHand} alt=\"\" />\r\n                            : <img className=\"img img__mobile\" src={ImgCardCaixaIU} alt=\"\" />\r\n                        }\r\n                    </Col>\r\n                </Row>\r\n            </section> \r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport TooltipItem from '../../Fields/TooltipItem';\r\nimport ImgCaixaDiretaLogo from '../../../img/content/app-caixadireta_logo.png';\r\nimport ImgCaixaDireta from '../../../img/content/app-caixadireta1.png';\r\nimport AppStore from '../../../img/icn/icn_app-store.png';\r\nimport GooglePlay from '../../../img/icn/icn_google-play.png';\r\nimport AppGallery from '../../../img/icn/icn_app-gallery.png';\r\n\r\nexport class CaixaDireta extends Component {\r\n    static displayName = CaixaDireta.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            isDesktop: window.innerWidth >= 992 ? true : false\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { globalResources, formResources } = this.props;\r\n\r\n        return (\r\n            <section className=\"product__caixadireta\">\r\n                <Row className=\"mx-0\">\r\n                    <Col xs=\"11\" lg=\"7\">\r\n                        <div className=\"pl-5 mb-5\">\r\n                            <h2 className=\"h3 text-dark mb-3 icn-position\"><span className=\"icn-approved\"></span><strong>{formResources.CaixaDiretaTitle}</strong><TooltipItem key=\"FormTooltipCaixaDireta\" id=\"FormTooltipCaixaDireta\" text={formResources.FormTooltipCaixaDireta} /><br /></h2>\r\n                            <div className=\"mb-4 mr-5 pr-5\" dangerouslySetInnerHTML={{ __html: formResources.CaixaDiretaDescription3 }} />\r\n                            <img className=\"img mb-2\" src={ImgCaixaDiretaLogo} width=\"45\" alt=\"\" />\r\n                            <h3 className=\"h6 text-dark mb-3\"><strong>{formResources.DownloadAppsText}</strong></h3>\r\n                            <Row className=\"icn-apps\">\r\n                                <Col xs=\"6\" sm=\"auto\" className=\"pr-1\">\r\n                                    <a href=\"https://apps.apple.com/pt/app/caixadirecta/id1369089471\" target=\"_blank\" rel=\"external noopener noreferrer\"><img className=\"img\" src={AppStore} alt={globalResources.AppStoreAltText} /></a>\r\n                                </Col>\r\n                                <Col xs=\"6\" sm=\"auto\" className=\"pl-1 pr-3 pr-md-1\">\r\n                                    <a href=\"https://play.google.com/store/apps/details?id=cgd.pt.caixadirectaparticulares&hl=pt_PT\" target=\"_blank\" rel=\"external noopener noreferrer\"><img className=\"img\" src={GooglePlay} alt={globalResources.GooglePlayAltText} /></a>\r\n                                </Col>\r\n                                <Col xs=\"6\" sm=\"auto\" className=\"pt-2 pt-md-0 pt-xl-0 pl-md-1 pl-xl-1 pr-1\">\r\n                                    <a href=\"https://appgallery7.huawei.com/#/app/C102312221\" target=\"_blank\" rel=\"external noopener noreferrer\"><img className=\"img\" src={AppGallery} alt={globalResources.AppGalleryAltText} /></a>\r\n                                </Col>\r\n                            </Row>\r\n\r\n                            <div className=\"mb-3 ml-5 mt-5 title-info-docs\" dangerouslySetInnerHTML={{ __html: formResources.TitleInfoDocs }} />\r\n                            <div className=\"mb-5 pl-5\" dangerouslySetInnerHTML={{ __html: formResources.ContaCaixaDiretaInfoDocs }} />\r\n                        </div>\r\n\r\n                    </Col>\r\n                    <Col xs=\"11\" lg=\"5\" className=\"text-center mt-3 pr-1\">\r\n                        <img className=\"img img-caixadireta\" src={ImgCaixaDireta} alt=\"\" />\r\n                    </Col>\r\n                </Row>\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport TooltipItem from '../../Fields/TooltipItem';\r\nimport ImgCardCaixaIsic from '../../../img/content/card-caixa-isic.png';\r\n\r\nimport LogoBooking from '../../../img/logo/logo_Booking.png';\r\nimport LogoGalp from '../../../img/logo/logo_Galp.png';\r\nimport LogoLenovo from '../../../img/logo/logo_Lenovo.png';\r\nimport LogoPcParaTodos from '../../../img/logo/logo_PC para todos.png';\r\nimport LogoKalorias from '../../../img/logo/logo_Kalorias.png';\r\nimport LogoPaez from '../../../img/logo/logo_Paez.jpg';\r\nimport LogoGms from '../../../img/logo/logo_gms_store.png';\r\nimport LogoFitnessUp from '../../../img/logo/logo_fitnessup.png';\r\nimport LogoNewBalance from '../../../img/logo/logo_new_balance.png';\r\nimport LogoTheBodyShop from '../../../img/logo/logo_TheBodyShop.jpg';\r\n\r\nimport LogoAmbar from '../../../img/logo/logo_ambar.png';\r\nimport LogoPapelariaFernandes from '../../../img/logo/logo_Papelaria Fernandes.jpg';\r\nimport LogoHardRockCafe from '../../../img/logo/logo_Hard-Rock-Cafe.png';\r\nimport LogoMakeNotes from '../../../img/logo/logo_MakeNotes.jpg';\r\nimport LogoiServices from '../../../img/logo/logo_iServices.png';\r\nimport LogoMyProtein from '../../../img/logo/logo_Myprotein.jpg';\r\n\r\nimport LogoCouncil from '../../../img/logo/logo_British_council.png';\r\nimport LogoCopimatica from '../../../img/logo/logo_copimatica.png';\r\nimport LogoWaynabox from '../../../img/logo/logo_waynabox.png';\r\n\r\nimport LogoAmerican from '../../../img/logo/logo_American_tourister.png';\r\nimport LogoSamsung from '../../../img/logo/logo_samsung.png';\r\nimport LogoFlag from '../../../img/logo/logo_flag.png';\r\nimport LogoTotto from '../../../img/logo/logo_totto.png';\r\nimport LogoOmio from '../../../img/logo/logo_omio.png'\r\n\r\nexport class CardCaixaISIC extends Component {\r\n    static displayName = CardCaixaISIC.name;\r\n\r\n    render() {\r\n        const { formResources } = this.props;\r\n\r\n        return (\r\n            <section className=\"product__card-caixa-isic\">\r\n                <div className=\"product__bg pl-5\">\r\n                    <Row className=\"mx-0\">\r\n                        <Col xs=\"11\" lg=\"7\">\r\n                            <h2 className=\"h3 icn-position\"><span className=\"icn-approved\"></span><strong>{formResources.CardCaixaISICTitle}</strong>\r\n                                <TooltipItem key=\"FormTooltipCardCaixaISIC\" id=\"FormTooltipCardCaixaISIC\" text={formResources.FormTooltipCardCaixaISIC} />\r\n                                <br />\r\n                                <div className=\"mt-2\">{formResources.InternationalStudentStatus}</div>\r\n                            </h2>\r\n                            <div dangerouslySetInnerHTML={{ __html: formResources.CardCaixaISICDescription }} />\r\n                        </Col>\r\n                    </Row>\r\n                    <Row className=\"mx-0\">\r\n                        <Col xs=\"11\" lg=\"4\">\r\n                            <h2 className=\"h3 text-uppercase\"><strong>{formResources.SaveEurosTitle}</strong></h2>\r\n                            <div className=\"mt-4\" dangerouslySetInnerHTML={{ __html: formResources.SaveEurosDescription }} />\r\n                            <p className=\"text-center text-lg-left mt-4\"><img className=\"img\" src={ImgCardCaixaIsic} alt=\"\" /></p>\r\n                        </Col>\r\n                        <Col xs=\"11\" lg=\"8\" className=\"align-flex-end \">\r\n                            <p className=\"mt-4 mb-0\">{formResources.CaixaISICTAEG}</p>\r\n                        </Col>\r\n                    </Row>\r\n                </div>\r\n                <Row className=\"mx-0 mt-4 align-items-center\">\r\n                    <Col xs=\"11\" lg=\"5\">\r\n                        <div className=\"h5 text-secondary pl-5 mb-0\" dangerouslySetInnerHTML={{ __html: formResources.CardCaixaISISAdvantagesText }} />\r\n                    </Col>\r\n                    <Col xs=\"11\" lg={{ size: 6, offset: 1 }}>\r\n                        <div className=\"pl-5 pl-lg-0 pr-md-4\">\r\n                            <Row xs=\"3\" sm=\"4\" md=\"5\">\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoGms} alt={formResources.GmsAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoFitnessUp} alt={formResources.FitnessupAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoBooking} alt={formResources.BookingAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoNewBalance} alt={formResources.NewBalanceAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoTheBodyShop} alt={formResources.TheBodyShopAltText} />\r\n                                </Col>\r\n                            </Row>\r\n                            <Row xs=\"3\" sm=\"4\" md=\"5\" className=\"mt-3\">\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoGalp} alt={formResources.GalpAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoHardRockCafe} alt={formResources.HardRockCafeAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoCouncil} alt={formResources.BritishCouncilAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoCopimatica} alt={formResources.CopimaticaAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoWaynabox} alt={formResources.WaynaboxAltTex} />\r\n                                </Col>\r\n                            </Row>\r\n                            <Row xs=\"3\" sm=\"4\" md=\"5\" className=\"mt-3\">\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoAmerican} alt={formResources.AmericanTouristerAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoSamsung} alt={formResources.SamsungAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoFlag} alt={formResources.FlagAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoTotto} alt={formResources.TottoAltText} />\r\n                                </Col>\r\n                                <Col className=\"text-center align-self-center\">\r\n                                    <img className=\"img\" src={LogoOmio} alt={formResources.OmioAltText} />\r\n                                </Col>\r\n                            </Row>\r\n                        </div>\r\n                    </Col>\r\n                        <div className=\"pl-5\">\r\n                            <div className=\"mb-3 ml-5 mt-3 title-info-docs\" dangerouslySetInnerHTML={{ __html: formResources.TitleInfoDocs }} />\r\n                            <div className=\"mb-2 pl-5\" dangerouslySetInnerHTML={{ __html: formResources.CardCaixaISICInfoDocs }} />\r\n                        </div>\r\n\r\n                </Row>\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class ContinenteCardNumberField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            errors: false,\r\n            maxLength: 13\r\n        }\r\n\r\n        this.regex = /^[\\d\\s]{1,13}$/;\r\n        this.continenteCardMin = 1850351240247; //1 850351 240247\r\n        this.continenteCardMax = 1850352440219; //1 850352 440219\r\n        //hasRange = 1850351240254; //1 850351 240254\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { id, inputValue, onChangeFunction, hasRange } = this.props\r\n         \r\n        if (inputValue !== null && inputValue.length > 0 ) {\r\n            var val = this.replaceAll(\" \", \"\", inputValue);\r\n            var hasError = hasRange ? this.checkRange(val) : !this.validate(val);\r\n\r\n            if (val === '' || (this.regex.test(val) && val.length <= this.state.maxLength)) {\r\n                this.setState({\r\n                    errors: hasError\r\n                });\r\n\r\n                onChangeFunction('', '', hasError, { name: id, value: inputValue, checked: false, files: undefined });\r\n\r\n                if (this.regex.test(val) && val.length === this.state.maxLength) {\r\n                    this.setState({\r\n                        errors: hasRange ? this.checkRange(val) : hasError\r\n                    });\r\n                }\r\n\r\n                if (val === '') {\r\n                    this.setState({\r\n                        errors: false\r\n                    });\r\n\r\n                    onChangeFunction('', '', false, { name: id, value: inputValue, checked: false, files: undefined });\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    handleChange(event) {\r\n        const { value } = event.target;\r\n        var val = this.replaceAll(\" \", \"\", value);\r\n        var hasError = !this.validate(val);\r\n\r\n        if(value === \"\"){\r\n            this.props.onChangeFunction({name: \"continentCardNumber\", value: null}, '', '', '');\r\n            return;\r\n        }\r\n\r\n        if (this.props.required) {\r\n            if (val !== '' || (val.length <= this.state.maxLength)) {\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n\r\n                if (val.length === this.state.maxLength) {\r\n                    this.setState({\r\n                        errors: this.props.hasRange ? this.checkRange(val) : hasError\r\n                    });\r\n                } else {\r\n                    this.setState({\r\n                        errors: true\r\n                    });\r\n\r\n                    this.props.onChangeFunction(event.target, '', true);\r\n                }\r\n            }\r\n        } else {\r\n            if (val === '' || (this.regex.test(val) && val.length <= this.state.maxLength)) {\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n\r\n                if (this.regex.test(val) && val.length === this.state.maxLength) {\r\n                    this.setState({\r\n                        errors: this.props.hasRange ? this.checkRange(val) : hasError\r\n                    });\r\n                }\r\n\r\n                if (val === '') {\r\n                    this.setState({\r\n                        errors: false\r\n                    });\r\n                    this.props.onChangeFunction(event.target, '', false);\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { value } = event.target;\r\n        var val = this.replaceAll(\" \", \"\", value);\r\n        var hasError = !this.validate(val);\r\n\r\n        if (this.props.required) {\r\n            this.setState({\r\n                errors: this.props.hasRange ? this.checkRange(val) : hasError\r\n            });\r\n        } else {\r\n            if (val !== '' && val.length <= this.state.maxLength) {\r\n                this.setState({\r\n                    errors: this.props.hasRange ? this.checkRange(val) : hasError\r\n                });\r\n            } else {\r\n                this.setState({\r\n                    errors: false\r\n                });\r\n\r\n                this.props.onChangeFunction(event.target, '', false);\r\n            }\r\n        }\r\n    }\r\n\r\n    escapeRegExp(string) {\r\n        return string.replace(/([.*+?^=!:${}()|\\]\\\\])/g, \"\\\\$1\");\r\n    }\r\n\r\n    replaceAll(find, replace, str) {\r\n        return str.replace(new RegExp(this.escapeRegExp(find), 'g'), replace);\r\n    }\r\n\r\n    checkRange(value) {\r\n        if (!(this.continenteCardMin < value && value < this.continenteCardMax)) {\r\n            return true;\r\n        } else {\r\n            var hasError = !this.validate(value);\r\n\r\n            return hasError;\r\n        }\r\n    }\r\n\r\n    checkGTIN(number) {\r\n        var checkDigit = Number(number[12]);\r\n        var total = (10 - ((Number(number[0])\r\n            + Number(number[2])\r\n            + Number(number[4])\r\n            + Number(number[6])\r\n            + Number(number[8])\r\n            + Number(number[10])\r\n            +\r\n            (Number(number[1])\r\n                + Number(number[3])\r\n                + Number(number[5])\r\n                + Number(number[7])\r\n                + Number(number[9])\r\n                + Number(number[11])) * 3) % 10)) % 10;\r\n\r\n        //console.log('checkDigit', checkDigit);\r\n        //console.log('total', total);\r\n        //console.log('checkDigit === total', checkDigit === total);\r\n\r\n        return total === checkDigit;\r\n    }\r\n\r\n    validate(number) {\r\n        if (this.regex.test(number) && number.length === this.state.maxLength && this.checkGTIN(number)) {\r\n            return true;\r\n        } else {\r\n            return false;\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { maxLength, errors } = this.state;\r\n        const { id, inputHelpText, inputValidationText, inputValue, required, autoFocus, readonly, disabled } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Input\r\n                    type=\"text\"\r\n                    name={id}\r\n                    id={id}\r\n                    aria-describedby={`${id}Help`}\r\n                    invalid={errors}\r\n                    value={!inputValue? \"\" : inputValue}\r\n                    onChange={this.handleChange}\r\n                    onBlur={this.handleBlur}\r\n                    maxLength={maxLength + 2}\r\n                    required={required}\r\n                    autoFocus={autoFocus}\r\n                    inputMode=\"numeric\"\r\n                    readOnly={readonly}\r\n                    disabled={disabled}\r\n                />\r\n                {inputHelpText &&\r\n                    <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                }\r\n                {inputValidationText &&\r\n                    <div className=\"invalid-feedback\">{inputValidationText}</div>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Label, Row, Col, Carousel, CarouselIndicators, CarouselItem } from 'reactstrap';\r\nimport { ContinenteCardNumberField } from '../../Fields/ContinenteCardNumberField';\r\nimport AppContinente1 from '../../../img/content/app-continente-1.png';\r\nimport AppContinente2 from '../../../img/content/app-continente-2.png';\r\nimport AppContinente3 from '../../../img/content/app-continente-3.png';\r\nimport AppContinente4 from '../../../img/content/app-continente-4.png';\r\nimport ContinenteOffers from '../../../img/content/continente-offers.png';\r\nimport AppStore from '../../../img/icn/icn_app-store.png';\r\nimport GooglePlay from '../../../img/icn/icn_google-play.png';\r\n\r\nexport class CardContinente extends Component {\r\n    static displayName = CardContinente.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            activeIndex: 0,\r\n            animating: false,\r\n            loading: false\r\n        };\r\n\r\n        this.sliderItems = [\r\n            {\r\n                src: AppContinente1,\r\n                altText: '',\r\n                caption: this.props.formResources.AdvantagesContinenteCardDescription1\r\n            },\r\n            {\r\n                src: AppContinente2,\r\n                altText: '',\r\n                caption: this.props.formResources.AdvantagesContinenteCardDescription2\r\n            },\r\n            {\r\n                src: AppContinente3,\r\n                altText: '',\r\n                caption: this.props.formResources.AdvantagesContinenteCardDescription3\r\n            },\r\n            {\r\n                src: AppContinente4,\r\n                altText: '',\r\n                caption: this.props.formResources.AdvantagesContinenteCardDescription4\r\n            }\r\n        ];\r\n\r\n        this.prevSlide = this.prevSlide.bind(this);\r\n        this.nextSlide = this.nextSlide.bind(this);\r\n        this.goToIndex = this.goToIndex.bind(this);\r\n    }\r\n\r\n    prevSlide() {\r\n        if (this.state.animating) {\r\n            return;\r\n        }\r\n\r\n        const nextIndex = this.state.activeIndex === 0 ? this.sliderItems.length - 1 : this.state.activeIndex - 1;\r\n        this.setState({\r\n            activeIndex: nextIndex\r\n        });\r\n    }\r\n\r\n    nextSlide() {\r\n        if (this.state.animating) {\r\n            return;\r\n        }\r\n\r\n        const nextIndex = this.state.activeIndex === this.sliderItems.length - 1 ? 0 : this.state.activeIndex + 1;\r\n        this.setState({\r\n            activeIndex: nextIndex\r\n        });\r\n    }\r\n\r\n    goToIndex(newIndex) {\r\n        if (this.state.animating) {\r\n            return;\r\n        }\r\n\r\n        this.setState({\r\n            activeIndex: newIndex\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { activeIndex } = this.state;\r\n        const { onChangeFunction, globalResources, formResources, data } = this.props;\r\n\r\n        const sliderImage = this.sliderItems.map((item) => {\r\n            return (\r\n                <CarouselItem\r\n                    key={item.src}\r\n                    className=\"text-center\"\r\n                    onExiting={() => this.setState({ animating: true })}\r\n                    onExited={() => this.setState({ animating: false })}\r\n                >\r\n                    <img src={item.src} alt=\"\" onClick={() => this.nextSlide()} />\r\n                </CarouselItem>\r\n            );\r\n        });\r\n\r\n        const sliderCaption = this.sliderItems.map((item) => {\r\n            return (\r\n                <CarouselItem\r\n                    key={item.src}\r\n                    className=\"mb-4\"\r\n                >\r\n                    <div key={item.src} dangerouslySetInnerHTML={{ __html: item.caption }} />\r\n                </CarouselItem>\r\n            );\r\n        });\r\n\r\n        return (\r\n            <section className=\"product__card-continente mb-1\">\r\n                <Row className=\"mx-0\">\r\n                    <Col sm=\"11\" lg=\"5\">\r\n                        <div className=\"pl-5 mt-4\">\r\n                            <h2 className=\"h3 text-dark icn-position\"><span className=\"icn-approved\"></span><strong>{formResources.ContinentePartnershipTitle}</strong></h2>\r\n                            <FormGroup tag=\"fieldset\">\r\n                                <legend className=\"h3 text-dark mb-lg-4\">{formResources.ContinenteCardLegend}</legend>\r\n\r\n                                <Row className=\"mt-3 mt-lg-4\">\r\n                                    <Col>\r\n                                        <FormGroup>\r\n                                            <Label for=\"continentCardNumber\" className=\"form-label text-uppercase\"><span dangerouslySetInnerHTML={{ __html: formResources.FormLabelContineteCardNumber }} /></Label>\r\n                                            <ContinenteCardNumberField id=\"continentCardNumber\" inputValidationText={formResources.FormErrorContinenteCardNumber} inputHelpText={formResources.FormHelperContinenteCardNumber} inputValue={data.continentCardNumber} onChangeFunction={onChangeFunction} />\r\n                                        </FormGroup>\r\n                                    </Col>\r\n                                </Row>\r\n                            </FormGroup>\r\n                        </div>\r\n                    </Col>\r\n                    <Col sm=\"11\" lg=\"3\">\r\n                        <Carousel\r\n                            activeIndex={activeIndex}\r\n                            next={this.nextSlide}\r\n                            previous={this.prevSlide}\r\n                            className=\"app mb-5\"\r\n                            aria-hidden=\"true\"\r\n                        >\r\n                            <CarouselIndicators items={this.sliderItems} activeIndex={activeIndex} onClickHandler={this.goToIndex} />\r\n                            {sliderImage}\r\n                        </Carousel>\r\n                    </Col>\r\n                    <Col sm=\"11\" lg=\"4\">\r\n                        <div className=\"pl-5 pl-lg-0 pr-lg-5 mt-4\">\r\n                            <h3 className=\"sr-only\">{formResources.AdvantagesContinenteCardTitle}</h3>\r\n                            <Carousel\r\n                                activeIndex={activeIndex}\r\n                                next={this.nextSlide}\r\n                                previous={this.prevSlide}\r\n                                className=\"caption\"\r\n                                slide={false}\r\n                            >\r\n                                {sliderCaption}\r\n                            </Carousel>\r\n\r\n                            <h3 className=\"h6 text-dark mb-3\"><strong>{formResources.DownloadAppsText}</strong></h3>\r\n                            <Row className=\"icn-apps\">\r\n                                <Col xs=\"6\" sm=\"auto\" lg=\"6\" xl=\"auto\" className=\"pr-1\">\r\n                                    <a href=\"https://apps.apple.com/pt/app/cart%C3%A3o-continente/id600514064\" target=\"_blank\" rel=\"external noopener noreferrer\"><img className=\"img\" src={AppStore} alt={globalResources.AppStoreAltText} /></a>\r\n                                </Col>\r\n                                <Col xs=\"6\" sm=\"auto\" lg=\"6\" xl=\"auto\" className=\"pl-1\">\r\n                                    <a href=\"https://play.google.com/store/apps/details?id=pt.continente.ContinenteTelemovel&hl=pt_PT\" target=\"_blank\" rel=\"external noopener noreferrer\"><img className=\"img\" src={GooglePlay} alt={globalResources.GooglePlayAltText} /></a>\r\n                                </Col>\r\n                            </Row>\r\n                        </div>\r\n                    </Col>\r\n                </Row>\r\n\r\n                <Row className=\"mx-0 mt-4\">\r\n                    <Col sm={{ size: 10, offset: 1 }}>\r\n                        <h3 className=\"h6 text-dark text-center\"><strong>{formResources.ContinenteCardAdvantagesText}</strong></h3>\r\n                    </Col>\r\n                </Row>\r\n\r\n                <Row className=\"mx-0 mt-4\">\r\n                    <div className=\"native-slider\">\r\n                        <Col className=\"slide text-center\">\r\n                            <div>\r\n                                <img className=\"img\" width={1000} height={301} src={ContinenteOffers} alt={formResources.ContinenteOffersAltText} />\r\n                            </div>\r\n                        </Col>\r\n                    </div>\r\n                </Row>\r\n\r\n                <div className=\"pl-5 mt-5\">\r\n                    <div className=\"mb-3 ml-5 mt-3 title-info-docs\" dangerouslySetInnerHTML={{ __html: formResources.TitleInfoDocs }} />\r\n                    <div className=\"mb-2 pl-5\" dangerouslySetInnerHTML={{ __html: formResources.ContinenteCardInfoDocs }} />\r\n                </div>\r\n\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Label, Input, Row, Col } from 'reactstrap';\r\nimport ImgContaPoupanca from '../../../img/bg/bg_conta-poupanca.png';\r\n\r\nexport class ContaPoupanca extends Component {\r\n    static displayName = ContaPoupanca.name;\r\n    \r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n        };\r\n\r\n        this.onPoupancaTermsChanged = this.onPoupancaTermsChanged.bind(this);\r\n        this.handleTermsLinkModalContaPoupancaClicked = this.handleTermsLinkModalContaPoupancaClicked.bind(this);\r\n    }\r\n\r\n    onPoupancaTermsChanged = () => {\r\n        this.props.onPoupancaTermsChanged();\r\n    }\r\n\r\n    handleTermsLinkModalContaPoupancaClicked = () => {\r\n        this.props.handleTermsLinkModalContaPoupancaClicked();\r\n    }\r\n\r\n  \r\n\r\n    render() {\r\n        const { formResources, data } = this.props;\r\n\r\n        return (\r\n            <section className=\"product__conta-poupanca my-5\">\r\n                <Row>\r\n\r\n                    <Col xs=\"11\" lg=\"6\" xl=\"6\"  className=\"pr-0\">\r\n\r\n                        <div className=\"ml-3 pl-3 my-sm-3\">\r\n\r\n                            <FormGroup check className=\"form-check__big\">\r\n                                <Label check>\r\n                                    <Input type=\"checkbox\" name=\"contaPoupanca\" defaultValue={!data.contaPoupanca} checked={this.props.data.contaPoupanca} onChange={this.onPoupancaTermsChanged} disabled={!this.props.data.contaPoupanca} />\r\n                                    <h2 className=\"form-check-text h3\">{formResources.FormLabelContaPoupanca}</h2>\r\n                                </Label>\r\n                                <div className=\"pl-5\" dangerouslySetInnerHTML={{ __html: formResources.ContaPoupancaDescription }} />\r\n                                <Label check>\r\n                                    <Input type=\"checkbox\" name=\"contaPoupanca\" defaultValue={!data.contaPoupanca} checked={this.props.data.contaPoupanca} onChange={this.onPoupancaTermsChanged} />\r\n                                    <p className=\"pl-5 mt-1\"><strong>{formResources.FormLabelContaPoupancaKnowledge}</strong></p>\r\n                                </Label>\r\n                            </FormGroup>\r\n\r\n                            <div className=\"mt-4 mb-3\">\r\n                                <div className=\"mb-3 ml-5 mt-3 title-info-docs\" dangerouslySetInnerHTML={{ __html: formResources.TitleInfoDocs }} />\r\n                                <div className=\"mb-2 pl-5\" dangerouslySetInnerHTML={{ __html: formResources.ContaPoupancaInfoDocs }} />\r\n                            </div>\r\n\r\n                        </div>\r\n                    </Col>\r\n                    <Col lg=\"6\" xl=\"6\" className=\"text-right pl-0 cropImage\">\r\n                        <img className=\"img\" src={ImgContaPoupanca} alt=\"\" />\r\n                    </Col>\r\n                </Row>\r\n            </section>\r\n        );\r\n    }\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Document, Page } from \"react-pdf\";\r\n\r\nexport default function AllPages(props) {\r\n    const [numPages, setNumPages] = useState(null);\r\n\r\n    function onDocumentLoadSuccess({ numPages }) {\r\n        setNumPages(numPages);\r\n        myprops.onDocumentLoadSuccess();\r\n    }\r\n\r\n    var myprops = props;\r\n\r\n    const { pdf } = props;\r\n\r\n    return (\r\n        <Document\r\n            file={pdf}\r\n            options={{ workerSrc: \"/pdf.worker.js\" }}\r\n            onLoadSuccess={onDocumentLoadSuccess}\r\n        >\r\n            {Array.from(new Array(numPages), (el, index) => (\r\n                <Page key={`page_${index + 1}`} pageNumber={index + 1} />\r\n            ))}\r\n        </Document>\r\n    );\r\n}","import React, { Component } from 'react';\r\nimport { FormGroup, Label, Input } from 'reactstrap';\r\nimport { Modal } from 'react-bootstrap';\r\nimport AllPagesPDFViewer from \"./pdf/all-pages\";\r\nimport './Modal.scss';\r\n\r\nexport class ModalForm extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.state = {\r\n            isChecked: this.props.isChecked,\r\n            isHidden: true\r\n        };\r\n\r\n        this.onHide = this.onHide.bind(this);\r\n    }\r\n\r\n    toggleChange = () => {\r\n        this.setState({\r\n            isChecked: !this.state.isChecked,\r\n        });\r\n    }\r\n\r\n    UNSAFE_componentWillReceiveProps(props) {\r\n        this.setState({ isChecked: props.isChecked })\r\n    }\r\n\r\n    onHide = () => {\r\n        this.props.onHide({ isChecked: this.state.isChecked });\r\n        this.setState({\r\n            isChecked: false,\r\n            isHidden: true\r\n        });\r\n    }\r\n\r\n    onFileLoaded = () => {\r\n        this.setState({\r\n            isHidden: false,\r\n        });\r\n    }\r\n\r\n    render() {\r\n        var terms = \"\";\r\n\r\n        if (this.props.show)\r\n        {\r\n            if (this.props.modalInputCaller === \"contaCaixaM\" || this.props.modalInputCaller === \"contaCaixaMUseAccount\") {\r\n                terms = \"/file/getfile?filename=CC\";\r\n            }\r\n\r\n            if (this.props.modalInputCaller === \"contaPoupanca\") {\r\n                terms = \"/file/getfile?filename=CPM\";\r\n            }\r\n        }\r\n\r\n        return (\r\n            <div>\r\n                <Modal\r\n                    scrollable={true}\r\n                    dialogClassName=\"modal-pdf\"\r\n                    show={this.props.show}\r\n                    onHide={this.onHide}\r\n                    size=\"lg\"\r\n                    aria-labelledby=\"contained-modal-title-vcenter\"\r\n                    centered\r\n                >\r\n                    <Modal.Header closeButton>\r\n                        <p className=\"pl-1 mb-0\">{this.props.title}</p>\r\n                    </Modal.Header>\r\n\r\n                    <Modal.Body className=\"mr-3 modal-scrollbar\">\r\n                        <AllPagesPDFViewer pdf={terms} onDocumentLoadSuccess={this.onFileLoaded} />\r\n                        <FormGroup check className=\"form-check__big mt-2\" hidden={this.state.isHidden}>\r\n                            <Label check className=\"pl-1 cursor-pointer\">\r\n                                <Input type=\"checkbox\" id=\"modalCheckboxContaCaixaM\" name=\"modalCheckboxContaCaixaM\" defaultValue={this.props.isChecked} checked={this.state.isChecked} onChange={this.toggleChange} />\r\n                                <div className=\"form-check-text mt-1 mb-0 ml-4 text-indigo\">{this.props.label}</div>\r\n                            </Label>\r\n                        </FormGroup>\r\n                    </Modal.Body>\r\n\r\n                    <Modal.Footer>\r\n                        \r\n                    </Modal.Footer>\r\n\r\n                </Modal>\r\n            </div>\r\n        )\r\n    };\r\n}","import React, { Component } from 'react';\r\nimport { Row, FormGroup, CustomInput, Label, Col } from 'reactstrap';\r\n\r\nexport class ClientQuestionField extends Component {\r\n\r\n    constructor(props){\r\n        super(props);\r\n\r\n        this.state={\r\n            errors: false,\r\n            reponse: [\r\n                {\r\n                    code: 'S',\r\n                    description: 'SIM',\r\n                    value: true\r\n                },\r\n                {\r\n                    code: 'N',\r\n                    description: 'NÃO',\r\n                    value: false\r\n                },\r\n            ],\r\n        };\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    handleChange(e) {\r\n        this.setState({\r\n          checked: e.target.value,\r\n          errors: !e.target.value,\r\n        });\r\n        let hasError = !e.target.value;\r\n\r\n        const response = e.target.value === 'true'? true: false;\r\n        this.props.onChangeFunction({name: e.target.name, value:response }, '', false, hasError);\r\n\r\n        //reset values \r\n        this.props.onChangeFunction({name: \"accountNumber\", value: null}, '', false, hasError);\r\n        this.props.onChangeFunction({name: \"cardNumber\", value: null}, '', false, hasError);\r\n        this.props.onChangeFunction({name: \"clientNumber\", value: null}, '', false, hasError);\r\n        this.props.onChangeFunction({name: \"contaPoupanca\", value: false}, '', false, hasError);\r\n        this.props.onChangeFunction({name: \"contaCaixaM\", value: false}, '', false, hasError);\r\n        this.props.onChangeFunction({name: \"continentCardNumber\", value: null}, '', false, hasError);\r\n        this.props.onChangeFunction({name: \"ValidUseExistingAccount\", value: false}, '', false, hasError);\r\n        this.props.resetCardStudent();\r\n    }\r\n\r\n    render(){\r\n        return(\r\n            <>\r\n                <Row>\r\n                    <Col>\r\n                        <FormGroup tag=\"fieldset\" className=\"col\">\r\n                            <Label className=\"h5\">\r\n                                {this.props.formResources.QuestionIsClientText}\r\n                            </Label>\r\n                            <div className='d-flex'>\r\n                                {this.state.reponse.map((item) => (\r\n                                    <CustomInput\r\n                                        className=\"py-1 radioIsclient\"\r\n                                        type=\"radio\"\r\n                                        name=\"useExistingAccount\"\r\n                                        id={item.code}\r\n                                        key={item.code}\r\n                                        value={item.value}\r\n                                        label={item.description}\r\n                                        onChange={this.handleChange}\r\n                                        data-description={item.description}\r\n                                        checked={this.props.data.useExistingAccount === item.value}\r\n                                        invalid={this.state.errors === null}\r\n                                        required={true}\r\n                                    />\r\n                                ))}\r\n                            </div>\r\n                        </FormGroup>\r\n                    </Col>\r\n                </Row>\r\n            </>\r\n        )\r\n    }\r\n\r\n\r\n}\r\n","import React,  { Component } from \"react\";\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class NumberOfClientField extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    handleChange(event){\r\n        if(event.target.value === \"\"){\r\n            this.props.onChangeFunction('', '', '', { name: event.target.name, value: null, checked: false, files: undefined });\r\n        }else{\r\n            this.props.onChangeFunction(event.target, \"\",false);\r\n        }\r\n    }\r\n\r\n    render(){\r\n        const {valid} = this.props;\r\n        return(\r\n            <>\r\n                <Input \r\n                    type=\"text\"\r\n                    name=\"clientNumber\"\r\n                    onChange={this.handleChange}\r\n                    invalid={!valid}\r\n                    inputMode=\"numeric\"\r\n                    maxLength={9}\r\n                    value={!this.props.data.clientNumber ? \"\": this.props.data.clientNumber}\r\n                />\r\n                 {!valid && \r\n                    <div className=\"invalid-feedback\">{this.props.formResources.FormClientNumberError}</div>\r\n                }\r\n            </>\r\n        )\r\n    }\r\n}","import React,  { Component } from \"react\";\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class AccountNumberField extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    handleChange(event){\r\n        if(event.target.value === \"\"){\r\n            this.props.onChangeFunction('', '', '', { name: event.target.name, value: null, checked: false, files: undefined });\r\n        }else{\r\n            this.props.onChangeFunction(event.target, \"\",false);\r\n        }\r\n    }\r\n\r\n    render(){\r\n        const {valid} = this.props;          \r\n        return(\r\n            <>\r\n                <Input \r\n                    type=\"text\"\r\n                    name=\"accountNumber\"\r\n                    onChange={this.handleChange}\r\n                    invalid={!valid}\r\n                    value={!this.props.data.accountNumber ? \"\": this.props.data.accountNumber }\r\n                    inputMode=\"numeric\"\r\n                    maxLength={13}\r\n                />\r\n                {!valid && \r\n                    <div className=\"invalid-feedback\">{this.props.formResources.FormAccountNumberError}</div>\r\n                }\r\n            </>\r\n        )\r\n    }\r\n}","import React,  { Component } from \"react\";\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class CardNumberField extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    handleChange(event){\r\n        if(event.target.value === \"\"){\r\n            this.props.onChangeFunction('', '', '', { name: event.target.name, value: null, checked: false, files: undefined });\r\n        }else{\r\n            this.props.onChangeFunction(event.target, \"\",false);\r\n        }\r\n    }\r\n\r\n    render(){\r\n        const {valid} = this.props;\r\n        return(\r\n            <>\r\n                <Input \r\n                    type=\"text\"\r\n                    name=\"cardNumber\"\r\n                    onChange={this.handleChange}\r\n                    invalid={!valid}\r\n                    value={!this.props.data.cardNumber? \"\": this.props.data.cardNumber}\r\n                    inputMode=\"numeric\"\r\n                    maxLength={16}\r\n                />\r\n                 {!valid && \r\n                    <div className=\"invalid-feedback\">{this.props.formResources.FormCardNumberError}</div>\r\n                }\r\n            </>\r\n        )\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Form, FormGroup, Label, Input, UncontrolledCollapse } from 'reactstrap';\r\nimport { MainFormNavInfo } from './MainFormNavInfo';\r\nimport TooltipItem from '../Fields/TooltipItem';\r\nimport { CardCaixaIU } from './Product/CardCaixaIU';\r\nimport { CaixaDireta } from './Product/CaixaDireta';\r\nimport { CardCaixaISIC } from './Product/CardCaixaISIC';\r\nimport { CardContinente } from './Product/CardContinente';\r\nimport { ContaPoupanca } from './Product/ContaPoupanca';\r\nimport { MainFormNavigation } from './MainFormNavigation';\r\nimport Loading from '../Global/Loading';\r\nimport { ModalForm } from './Modal';\r\nimport { ClientQuestionField } from '../Fields/ClientQuestionField';\r\nimport { NumberOfClientField } from '../Fields/NumberOfClientField';\r\nimport { AccountNumberField } from '../Fields/AccountNumberField';\r\nimport { CardNumberField } from '../Fields/CardNumberField';\r\n\r\nexport class MainFormStep3 extends Component {\r\n    constructor(props) {\r\n      \r\n        super(props);\r\n        this.state = {\r\n            error: true,\r\n            loading: false,\r\n            show: false,\r\n            studentCard: this.props.data.studentCard ? this.props.data.studentCard : false,\r\n            isModalChecked: false,\r\n            modalInputCaller: \"\",\r\n            isValid: this.props.data.contaCaixaM || this.props.data.ValidUseExistingAccount || (this.props.data.studentCard ? this.props.data.studentCard : false)\r\n                \r\n        };\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleStudentCardChange = this.handleStudentCardChange.bind(this);\r\n\r\n        this.handleShowModalContaM = this.handleShowModalContaM.bind(this);\r\n        this.onPoupancaTermsChanged = this.onPoupancaTermsChanged.bind(this);\r\n\r\n        this.handleTermsLinkModalContaMClicked = this.handleTermsLinkModalContaMClicked.bind(this);\r\n        this.handleTermsLinkModalContaPoupancaClicked = this.handleTermsLinkModalContaPoupancaClicked.bind(this);\r\n        this.onresetCardStudent = this.onresetCardStudent.bind(this);\r\n        \r\n        this.continue = this.continue.bind(this);\r\n        this.back = this.back.bind(this); \r\n\r\n        this.regexInputNumberClient = /^(\\d{9})?$/;\r\n        this.regexInputCardNumber = /^(\\d{16})?$/;\r\n        this.regexInputAccountNumber = /^(\\d{13})?$/;\r\n    }\r\n\r\n    handleShowModalContaM = () => {\r\n        if (this.props.data.contaCaixaM) {\r\n            this.props.data.contaCaixaM = !this.props.data.contaCaixaM\r\n            this.props.data.contaPoupanca = false\r\n            this.setState({\r\n               ...this.state.studentCard,\r\n                studentCard: this.props.data.contaCaixaM ? false : this.state.studentCard\r\n            });\r\n           return\r\n        }\r\n\r\n        this.setState({\r\n            modalInputCaller: \"contaCaixaM\",\r\n            isModalChecked: this.props.data.contaCaixaM,\r\n            show: true \r\n        });\r\n    };\r\n\r\n    handleShowModalUseAccount = () => {\r\n        this.props.data.contaCaixaM = false;\r\n        this.props.data.contaPoupanca = false;\r\n        this.setState((prevstate) => ({\r\n            ...prevstate,\r\n            studentCard: false,\r\n        }));\r\n\r\n        this.setState({\r\n            modalInputCaller: \"contaCaixaMUseAccount\",\r\n            isModalChecked: this.props.data.ValidUseExistingAccount,\r\n            show: true \r\n        });\r\n    }\r\n\r\n    handleTermsLinkModalContaMClicked = () => {\r\n        this.setState({\r\n            modalInputCaller: \"contaCaixaM\",\r\n            isModalChecked: this.props.data.contaCaixaM,\r\n            show: true\r\n        });\r\n    };\r\n\r\n    handleTermsLinkModalContaPoupancaClicked = () => {\r\n        this.setState({\r\n            modalInputCaller: \"contaPoupanca\",\r\n            isModalChecked: this.props.data.contaPoupanca,\r\n            show: true\r\n        });\r\n    };\r\n\r\n   onPoupancaTermsChanged = () => {\r\n        if (this.props.data.contaPoupanca) {\r\n            this.props.data.contaPoupanca = !this.props.data.contaPoupanca\r\n            this.setState({\r\n            });\r\n            return\r\n        }\r\n\r\n        this.setState({\r\n            modalInputCaller: \"contaPoupanca\",\r\n            isModalChecked: this.props.data.contaPoupanca,\r\n            show: true \r\n        });\r\n    };\r\n\r\n    handleClose = (fromModal) => {\r\n        if (this.state.modalInputCaller === \"contaCaixaM\") {\r\n            this.props.data.contaCaixaM = fromModal.isChecked;\r\n            if(this.props.data.contaCaixaM){\r\n                this.setState( (currState) =>{return({ ...currState, studentCard: false})})\r\n            }\r\n        } \r\n        \r\n        if(this.state.modalInputCaller === \"contaCaixaMUseAccount\"){\r\n            this.props.onChangeFunction({name: \"ValidUseExistingAccount\", value: fromModal.isChecked}, '', '', '');\r\n        }\r\n\r\n        if (this.state.modalInputCaller === \"contaPoupanca\") {\r\n            this.props.onChangeFunction({name: \"contaPoupanca\", value: fromModal.isChecked}, '', '', '');\r\n        }\r\n        \r\n        this.setState({\r\n            modalInputCaller:\"\",\r\n            show: false\r\n        });\r\n\r\n        this.handleChange()\r\n    };\r\n\r\n    componentDidMount() {\r\n        window.scrollTo(0, 0);\r\n        this.props.onChangeFunction({name: \"studentCard\", value: false}, '', '', '');\r\n    }\r\n\r\n    handleChange() {\r\n        this.setState({\r\n            isValid: this.state.contaCaixaM\r\n        });\r\n    }\r\n\r\n    handleStudentCardChange() {\r\n        this.props.data.contaCaixaM = false\r\n        this.props.data.contaPoupanca = false;\r\n        this.props.data.useExistingAccount = false;\r\n        this.props.data.continentCardNumber = null;\r\n        this.props.data.ValidUseExistingAccount = false;\r\n\r\n\r\n        this.props.onChangeFunction({name: \"contaCaixaM\", value: false}, '', '', '');\r\n        this.props.onChangeFunction({name: \"contaPoupanca\", value: false}, '', '', '');\r\n        this.props.onChangeFunction({name: \"useExistingAccount\", value: false}, '', '', '');\r\n        this.props.onChangeFunction({name: \"continentCardNumber\", value: null}, '', '', '');\r\n        this.props.onChangeFunction({name: \"ValidUseExistingAccount\", value: false}, '', '', '');\r\n        this.props.onChangeFunction({name: \"cardNumber\", value: null}, '', '', '');\r\n        this.props.onChangeFunction({name: \"accountNumber\", value: null}, '', '', '');\r\n        this.props.onChangeFunction({name: \"clientNumber\", value: null}, '', '', '');\r\n\r\n        this.setState({\r\n            studentCard: !this.state.studentCard,\r\n            ...this.props.data.contaCaixaM,\r\n            contaCaixaM: this.props.data.contaCaixaM\r\n        });\r\n\r\n        this.handleChange();\r\n    }\r\n\r\n    onresetCardStudent(){\r\n        this.setState({\r\n            ...this.state,\r\n            studentCard: false,\r\n        });\r\n    }\r\n\r\n    back() {\r\n        this.props.data.studentCard = this.state.studentCard;\r\n        this.props.prevStep('product', this.props.data);\r\n    }\r\n\r\n    continue() {\r\n        this.props.data.studentCard = this.state.studentCard;\r\n        this.props.nextStep('product', this.props.data);\r\n    }\r\n\r\n    validateFieds(value, regex){\r\n        if(value === null || value === \"\"){return false;}\r\n        if(regex.test(value)){return true;}\r\n        return false;\r\n    }\r\n\r\n\r\n    render() {\r\n        const { loading } = this.state;\r\n        const { activeStep, onChangeFunction, hasPreviousStep, hasNextStep, globalResources, formResources, data, personData, loadingData } = this.props;\r\n        const inputsInvalid =  (!Math.min.apply(\r\n            null,[!this.validateFieds(this.props.personData.accountNumber,\r\n            this.regexInputAccountNumber), !this.validateFieds(this.props.personData.cardNumber,this.regexInputCardNumber),\r\n            !this.validateFieds(this.props.personData.clientNumber, this.regexInputNumberClient)]\r\n            ) && this.props.data.ValidUseExistingAccount);\r\n        \r\n        const inputvalidClientNumber = personData.clientNumber === null? inputsInvalid : this.validateFieds(personData.clientNumber, this.regexInputNumberClient);\r\n        const inputvalidNumberAccount = personData.accountNumber === null? inputsInvalid : this.validateFieds(personData.accountNumber, this.regexInputAccountNumber);\r\n        const inputvalidNumberCard = personData.cardNumber === null? inputsInvalid : this.validateFieds(personData.cardNumber, this.regexInputCardNumber);\r\n\r\n        const validateInputs = inputvalidClientNumber && inputvalidNumberAccount && inputvalidNumberCard\r\n\r\n        var buttonDisable = true;\r\n        \r\n        if(this.state.studentCard){\r\n            buttonDisable = false; \r\n        } else if (this.props.data.useExistingAccount && validateInputs && this.props.data.ValidUseExistingAccount) {\r\n            buttonDisable = false\r\n        }else if(this.props.data.contaCaixaM){\r\n            buttonDisable = false\r\n        }else{\r\n            buttonDisable = true;\r\n        }\r\n\r\n        if (loadingData) {\r\n            return (\r\n                <Container className=\"d-flex flex-column h-100 justify-content-center align-items-center\">\r\n                    <Loading loadingText={globalResources.LoadingPageContentText} />\r\n                </Container>\r\n            );\r\n        }\r\n\r\n        return (\r\n            <Container>\r\n                <Row className=\"main-form__header\">\r\n                    <Col>\r\n                        <h1 className=\"sr-only\">{formResources.Step3Title}</h1>\r\n                        <MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n                    </Col>\r\n                </Row>\r\n                <ClientQuestionField\r\n                    // analyticsId=\"update_profile\"\r\n                    formResources={formResources}\r\n                    onChangeFunction={onChangeFunction}\r\n                    resetCardStudent = {this.onresetCardStudent}\r\n                    data={data}\r\n                />\r\n                {data.useExistingAccount === undefined ? \"\" : \r\n                    <Row>\r\n                        <Col>\r\n                            <Form className=\"needs-validation\" noValidate>\r\n                                <FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n                                    <legend className=\"sr-only\">{formResources.ConfirmYourMembershipLegend}</legend>\r\n                                    <Row>\r\n                                        {!data.useExistingAccount ? \r\n                                            <Col>\r\n                                                <FormGroup className=\"btn btn-primary btn-primary__tradius d-block p-0 m-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        <Label check className=\"p-4 pr-5 cursor-pointer\">\r\n                                                            <Input type=\"checkbox\" id=\"contaCaixaM1\" name=\"contaCaixaM\" defaultValue={false} checked={data.contaCaixaM} onClick={this.handleShowModalContaM} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h5 mb-0 text-white\">{formResources.FormLabelWantToJoin} <strong>Conta Caixa M <TooltipItem key=\"FormTooltipContaCaixaM\" id=\"FormTooltipContaCaixaM\" invertColor={true} text={formResources.FormTooltipContaCaixaM} /> - {formResources.FormLabelHigherEducationAccessSeveralSdvantages} </strong> {formResources.FormLabelHigherEducationAccessSeveralSdvantages2} <strong>{formResources.FormLabelHigherEducationAccessSeveralSdvantages3}</strong></div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                </FormGroup>\r\n                                                <FormGroup className=\"sub-btnbox d-block mb-5 p-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        <p className=\"sub-btnbox__title h5 pt-4 pr-4 pl-4 cursor-pointer\" onClick={this.handleTermsLinkModalContaMClicked}><strong>{formResources.FormLabelInfoDocs}</strong></p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms1}</p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms2}</p>\r\n                                                        <Label check className=\"pt-3 pr-4 pb-4 pl-4 cursor-pointer\">\r\n                                                            <Input type=\"checkbox\" id=\"contaCaixaM2\" name=\"contaCaixaM\" defaultValue={false} checked={data.contaCaixaM} onClick={this.handleShowModalContaM} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h5 mb-0\"><strong>{formResources.FormLabelDeclareKnowledge}</strong></div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                    <span id=\"contaCaixaMCollapse\" />\r\n                                                </FormGroup>\r\n                                            </Col>\r\n                                        : \r\n                                            <Col>\r\n                                                <FormGroup className=\"btn btn-primary btn-primary__tradius d-block p-0 m-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        <Label check className=\"p-4 pr-5 cursor-pointer\">\r\n                                                        <Input type=\"checkbox\" id=\"contaCaixaM5\" name=\"contaCaixaM\" defaultValue={false} checked={this.props.data.ValidUseExistingAccount} onClick={this.handleShowModalUseAccount} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h5 mb-0 text-white\">{formResources.FormLabelWantToJoin} <strong>Conta Caixa M <TooltipItem key=\"FormTooltipContaCaixaM\" id=\"FormTooltipContaCaixaM\" invertColor={true} text={formResources.FormTooltipContaCaixaM} /> - {formResources.FormLabelHigherEducationAccessSeveralSdvantages}, </strong> com a tua conta {formResources.FormLabelHigherEducationAccessSeveralSdvantages2} <strong>{formResources.FormLabelHigherEducationAccessSeveralSdvantages3}</strong> </div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                </FormGroup>\r\n                                                <FormGroup className=\"sub-btnbox d-block mb-5 p-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        \r\n                                                        <div className='d-flex flex-wrap pt-4 pr-4 pl-4' style={{columnGap:\"10px\"}}>\r\n                                                            <FormGroup className=\"col-sm-4 col-lg-3 pl-0 pr-4\">\r\n                                                                <Label for=\"numberClient\" className=\"h6\">\r\n                                                                   {formResources.ClientNumberText}\r\n                                                                </Label>\r\n                                                                <NumberOfClientField formResources={formResources} data={personData} valid={inputvalidClientNumber} onChangeFunction={onChangeFunction}  />\r\n                                                            </FormGroup>\r\n                                                            <FormGroup className=\"col-sm-4 col-lg-3 pl-0 pr-4\">\r\n                                                                <Label for=\"numberClient\" className=\"h6\">\r\n                                                                    {formResources.AccountNumberText}\r\n                                                                </Label>\r\n                                                                <AccountNumberField formResources={formResources} data={personData} valid={inputvalidNumberAccount} onChangeFunction={onChangeFunction} />\r\n                                                            </FormGroup>\r\n                                                            <FormGroup className=\"col-sm-4 col-lg-3 pl-0 pr-4\">\r\n                                                                <Label for=\"numberClient\" className=\"h6\">\r\n                                                                    {formResources.CardNumberText}\r\n                                                                </Label>\r\n                                                                <CardNumberField formResources={formResources} data={personData} valid={inputvalidNumberCard} onChangeFunction={onChangeFunction} />\r\n                                                            </FormGroup>\r\n                                                            \r\n                                                            <div className={!inputsInvalid? 'is-invalid': '' }></div>\r\n                                                            <div className=\"invalid-feedback\">\r\n                                                                {formResources.ErrorTextFieldsClient}\r\n                                                            </div> \r\n                                                        </div>\r\n\r\n                                                        <p className=\"sub-btnbox__title h5 pt-4 pr-4 pl-4 cursor-pointer\" onClick={this.handleTermsLinkModalContaMClicked}><strong>{formResources.FormLabelInfoDocs}</strong></p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms1}</p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms2}</p>\r\n                                                        <Label check className=\"pt-3 pr-4 pb-4 pl-4 cursor-pointer\">\r\n                                                            <Input type=\"checkbox\" id=\"UseExistingAccountM1\" name=\"UseExistingAccount\" defaultValue={false} checked={this.props.data.ValidUseExistingAccount} onClick={this.handleShowModalUseAccount} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h5 mb-0\"><strong>{formResources.FormLabelDeclareKnowledge}</strong></div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                    <span id=\"contaCaixaMCollapse\"></span>\r\n                                                </FormGroup>\r\n\r\n                                            </Col>\r\n                                        }\r\n                                    </Row>\r\n\r\n                                    <Row>\r\n                                        <Col>\r\n                                            <div className=\"h4 mb-4 px-4\" dangerouslySetInnerHTML={{ __html: formResources.MultiProductSolution }} />\r\n                                        </Col>\r\n                                    </Row>\r\n\r\n                                    <CardCaixaIU formResources={formResources} />\r\n\r\n                                    <CaixaDireta globalResources={globalResources} formResources={formResources} />\r\n\r\n                                    <CardCaixaISIC formResources={formResources} />\r\n\r\n                                    <UncontrolledCollapse toggler=\"#contaCaixaMCollapse\" isOpen={data.contaCaixaM || data.ValidUseExistingAccount}>\r\n                                        {/*<CardContinente globalResources={globalResources} formResources={formResources} data={data} onChangeFunction={onChangeFunction} />*/}\r\n                                        <ContaPoupanca formResources={formResources} data={data} onChangeFunction={onChangeFunction} isChecked={true} onPoupancaTermsChanged={this.onPoupancaTermsChanged} handleTermsLinkModalContaPoupancaClicked={this.handleTermsLinkModalContaPoupancaClicked}/>\r\n                                    </UncontrolledCollapse>\r\n                                \r\n\r\n                                    <Row>\r\n                                        {!data.useExistingAccount ? \r\n                                            <Col>\r\n                                                <FormGroup className=\"btn btn-primary btn-primary__tradius d-block p-0 m-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        <Label check className=\"p-4 pr-5 cursor-pointer\">\r\n                                                            <Input type=\"checkbox\" id=\"contaCaixaM3\" name=\"contaCaixaM\" defaultValue={false} checked={data.contaCaixaM} onClick={this.handleShowModalContaM} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h5 mb-0 text-white\">{formResources.FormLabelWantToJoin} <strong>Conta Caixa M <TooltipItem key=\"FormTooltipContaCaixaM\" id=\"FormTooltipContaCaixaM\" invertColor={true} text={formResources.FormTooltipContaCaixaM} /> - {formResources.FormLabelHigherEducationAccessSeveralSdvantages} </strong> {formResources.FormLabelHigherEducationAccessSeveralSdvantages2} <strong>{formResources.FormLabelHigherEducationAccessSeveralSdvantages3}</strong></div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                </FormGroup>\r\n                                                <FormGroup className=\"sub-btnbox d-block mb-5 p-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        <p className=\"sub-btnbox__title h5 pt-4 pr-4 pl-4 cursor-pointer\" onClick={this.handleTermsLinkModalContaMClicked}><strong>{formResources.FormLabelInfoDocs}</strong></p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms1}</p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms2}</p>\r\n                                                        <Label check className=\"pt-3 pr-4 pb-4 pl-4 cursor-pointer\">\r\n                                                            <Input type=\"checkbox\" id=\"contaCaixaM4\" name=\"contaCaixaM\" defaultValue={false} checked={data.contaCaixaM} onClick={this.handleShowModalContaM} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h5 mb-0\"><strong>{formResources.FormLabelDeclareKnowledge}</strong></div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                    <span id=\"contaCaixaMCollapse\" />\r\n                                                </FormGroup>\r\n                                            </Col> \r\n                                        : \r\n                                        \r\n                                            <Col>\r\n                                                <FormGroup className=\"btn btn-primary btn-primary__tradius d-block p-0 m-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        <Label check className=\"p-4 pr-5 cursor-pointer\">\r\n                                                        <Input type=\"checkbox\" id=\"contaCaixaM7\" name=\"contaCaixaM\" defaultValue={false} checked={this.props.data.ValidUseExistingAccount} onClick={this.handleShowModalUseAccount} onChange={this.handleChange} required />\r\n                                                        <div className=\"form-check-text h5 mb-0 text-white\">{formResources.FormLabelWantToJoin} <strong>Conta Caixa M <TooltipItem key=\"FormTooltipContaCaixaM\" id=\"FormTooltipContaCaixaM\" invertColor={true} text={formResources.FormTooltipContaCaixaM} /> - {formResources.FormLabelHigherEducationAccessSeveralSdvantages}, </strong> com a tua conta {formResources.FormLabelHigherEducationAccessSeveralSdvantages2} <strong>{formResources.FormLabelHigherEducationAccessSeveralSdvantages3}</strong> </div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                </FormGroup>\r\n                                                <FormGroup className=\"sub-btnbox d-block mb-5 p-0 text-left\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        \r\n                                                        <div className='d-flex flex-wrap pt-4 pr-4 pl-4' style={{columnGap:\"10px\"}}>\r\n                                                            <FormGroup className=\"col-sm-4 col-lg-3 pl-0 pr-4\">\r\n                                                                <Label for=\"numberClient\" className=\"h6\">\r\n                                                                    {formResources.ClientNumberText}\r\n                                                                </Label>\r\n                                                                <NumberOfClientField formResources={formResources} data={personData} valid={inputvalidClientNumber} onChangeFunction={onChangeFunction} />\r\n                                                            </FormGroup>\r\n                                                            <FormGroup className=\"col-sm-4 col-lg-3 pl-0 pr-4\">\r\n                                                                <Label for=\"numberClient\" className=\"h6\">\r\n                                                                    {formResources.AccountNumberText}\r\n                                                                </Label>\r\n                                                                <AccountNumberField formResources={formResources} data={personData} valid={inputvalidNumberAccount} onChangeFunction={onChangeFunction}/>\r\n                                                            </FormGroup>\r\n                                                            <FormGroup className=\"col-sm-4 col-lg-3 pl-0 pr-4\">\r\n                                                                <Label for=\"numberClient\" className=\"h6\">\r\n                                                                    {formResources.CardNumberText}\r\n                                                                </Label>\r\n                                                                <CardNumberField formResources={formResources} data={personData} valid={inputvalidNumberCard} onChangeFunction={onChangeFunction}/>\r\n                                                            </FormGroup>\r\n                                                            \r\n                                                            <div className={!inputsInvalid? 'is-invalid': '' }></div>\r\n                                                            <div className=\"invalid-feedback\">\r\n                                                                {formResources.ErrorTextFieldsClient}\r\n                                                            </div> \r\n                                                        </div>\r\n\r\n                                                        <p className=\"sub-btnbox__title h5 pt-4 pr-4 pl-4 cursor-pointer\" onClick={this.handleShowModalUseAccount}><strong>{formResources.FormLabelInfoDocs}</strong></p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms1}</p>\r\n                                                        <p className=\"sub-btnbox__note h6 pl-4 pr-4 mb-0\">{formResources.FormLabelTerms2}</p>\r\n                                                        <Label check className=\"pt-3 pr-4 pb-4 pl-4 cursor-pointer\">\r\n                                                            <Input type=\"checkbox\" id=\"UseExistingAccountM2\" name=\"UseExistingAccount\" defaultValue={false} checked={this.props.data.ValidUseExistingAccount} onClick={this.handleShowModalContaM} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h5 mb-0\"><strong>{formResources.FormLabelDeclareKnowledge}</strong></div>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                </FormGroup>\r\n                                            </Col>\r\n                                        }\r\n                                    </Row>\r\n\r\n                                    <section className=\"product__card-student mb-5 pb-4\">\r\n                                        <Row>\r\n                                            <Col>\r\n                                                <FormGroup className=\"btn btn-link btn-block btn-cards text-left text-dark text-decoration-none\">\r\n                                                    <FormGroup check className=\"form-check__big\">\r\n                                                        <Label check className=\"cursor-pointer\">\r\n                                                            {/* <Input type=\"checkbox\" id=\"studentCard\" name=\"studentCard\" defaultValue={false} checked={this.state.studentCard} onClick={this.handleStudentCardChange} onChange={this.handleChange} required /> */}\r\n                                                            <Input type=\"checkbox\" id=\"non_bank_card\" name=\"studentCard\" defaultValue={false} checked={this.state.studentCard} onClick={this.handleStudentCardChange} onChange={this.handleChange} required />\r\n                                                            <div className=\"form-check-text h6 text-uppercase\"><strong>{formResources.CardStudentNonBankingTitle}</strong></div>\r\n                                                            <p className=\"ml-5 mb-0\">{formResources.CardStudentNonBankingDescription}</p>\r\n                                                        </Label>\r\n                                                    </FormGroup>\r\n                                                </FormGroup>\r\n                                            </Col>\r\n                                        </Row>\r\n                                    </section>\r\n                                </FormGroup>\r\n                                <MainFormNavigation analyticsId=\"continue_4\" prevStep={this.back} nextStep={this.continue} hasPreviousStep={hasPreviousStep} hasNextStep={hasNextStep} prevText={globalResources.NavBackText} nextText={globalResources.NavForwardText} buttonDisable={buttonDisable} loading={loading} loadingText={globalResources.LoadingPageText} />\r\n                            </Form>\r\n                        </Col>\r\n                    </Row >\r\n                }\r\n\r\n                <ModalForm\r\n                    isChecked={this.state.isModalChecked}\r\n                    show={this.state.show}\r\n                    title={formResources.ModalHeader}\r\n                    modalInputCaller={this.state.modalInputCaller}\r\n                    label={formResources.ModalLabel}\r\n                    onClick={this.handleClose}\r\n                    onHide={this.handleClose}\r\n                />\r\n                \r\n            </Container>\r\n        );\r\n    }\r\n}\r\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M0 0h46.368v28.265H0V0z\",\n  transform: \"translate(0 .735)\",\n  id: \"A\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M0 0h4.038v3.3H0V0z\",\n  transform: \"translate(.288 .08)\",\n  id: \"B\"\n}), /*#__PURE__*/React.createElement(\"clipPath\", {\n  id: \"C\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n  xlinkHref: \"#A\"\n})), /*#__PURE__*/React.createElement(\"clipPath\", {\n  id: \"D\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n  xlinkHref: \"#B\"\n})));\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n  clipPath: \"url(#C)\",\n  transform: \"translate(0 1)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M45.98 26.068c-.213 2.255-1.628 2.376-4.552 2.417l-36.25.512C2.76 29.03.4 28.85.363 26.28l-.357-20.1C-.052 1.982.248 1.46 2.22 1.43l5.994-.092L43.68.886c1.253.346 2.668 1.28 2.69 2.775.008.516-.06 1.118-.203 1.79-.285 1.346-.254 4.708-.203 10.32l.02 2.312v7.986zM1.847 6.494l.343 19.34c.016 1.148.566 1.688 3.65 1.643l34.88-.492c3.2-.046 3.324-.3 3.433-1.435.054-.568.027-3.796-.003-7.546v-.068l-.02-2.204c-.052-5.707-.08-8.735.217-10.133.122-.574.18-1.078.174-1.5-.018-1.256-1.323-1.58-1.873-1.732-1.36-.375-25.813.26-33.848.47l-5.78.088c-1.376.02-1.358.3-1.255 1.816.03.46.07 1.036.08 1.753z\",\n  fill: \"#0068a0\",\n  fillRule: \"evenodd\"\n}));\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n  fill: \"#0068a0\",\n  fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M41.273 5.06c.56.033.59.25.6.7L42 11.206c.008.37-.036.734-.673.74L36.348 12c-1.04.01-1.17-.393-1.176-.695l-.022-.565-.113-5.446c.086-.19.317-.3.687-.294a3.17 3.17 0 0 1 .443.031c.338.045 1.186.04 2.605.03l.58-.003h1.92zm-4.928 6.787l4.977-.055c.296-.002.435-.1.423-.582L41.62 5.76c-.013-.51-.075-.53-.37-.548-.147-.008-.987-.004-1.96.001l-.57.003c-1.468.008-2.246.013-2.606-.035a2.76 2.76 0 0 0-.386-.028c-.323.002-.406.093-.446.18-.095.213.063 4.003.118 5.34l.002.06.023.568c.006.286.123.55.92.542z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M41.805 11.722c.164-.17.195-.395.195-.62v-.068l-.12-5.115c-.01-.465-.075-.824-.76-.864-.154-.01-.853-.006-1.82-.001l-.57.003c-1.304.008-2.092.012-2.393-.028a3.1 3.1 0 0 0-.445-.03c-.438.004-.72.138-.836.402-.078.175-.087 1.057.086 5.2l.006.128.016.4c.013.58.457.87 1.318.86l4.678-.05c.294-.003.505-.077.648-.227zm-5.58-1.464l-.122-3.852.013-.366s.035-.03.2-.032c.08-.001.176.006.283.02.3.04.906.036 2.114.03l.437-.002 1.55-.001c.03.002.094.005.095-.002.01.014.023.07.028.26l.1 4.33c.007.205-.028.25-.035.258s-.027.02-.124.02l-3.96.044c-.545.005-.55-.145-.552-.255v-.001l-.018-.454zM8.585.026c.32.014.336.108.342.3L9 2.66c.005.16-.02.315-.385.317L5.77 3c-.593.004-.668-.168-.672-.298l-.014-.242L5.02.126C5.07.044 5.2.001 5.413 0a2.89 2.89 0 0 1 .253.013c.2.02.665.017 1.458.014L7.45.026h1.135zM5.77 2.933L8.613 2.9c.17-.001.248-.04.242-.25L8.782.326C8.775.108 8.74.1 8.57.1c-.083-.003-.563 0-1.12 0L7.193.09C6.3.097 5.848.1 5.637.078l-.22-.012c-.185.001-.233.04-.255.077-.055.092.038 1.765.07 2.314l.013.243c.004.122.07.235.525.232z\"\n}));\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", {\n  clipPath: \"url(#D)\",\n  transform: \"translate(5)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M4.326 2.958c0 .106-.018.21-.112.292-.082.07-.204.106-.374.106L1.14 3.38c-.496.004-.753-.133-.76-.406l-.012-.25L.32.27C.386.145.548.08.8.08.875.08.96.084 1.058.094c.174.018.628.017 1.38.014l.33-.002h1.05c.396.018.433.188.44.408l.07 2.444\",\n  fill: \"#0068a0\"\n}));\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M28.607 10.188c2.764 2.426 3.37 4.824 3.393 6.4.057 3.997-3.465 7.566-8.194 8.302-2.4.37-4.75-.293-6.644-1.872-1.972-1.643-3.123-4.025-3.16-6.53-.02-1.54.395-3.082 1.205-4.46 1.287-2.19 3.23-3.55 5.623-3.93 3.337-.53 6.54.993 7.778 2.08zm-10.7 3.408c-1.382 2.346-.776 5.32 1.26 7.013 1.165.973 2.6 1.383 4.038 1.16 3.155-.49 5.694-2.773 5.66-5.085-.02-1.328-.85-2.753-2.408-4.118-.614-.54-3.005-1.685-5.273-1.326-1.405.223-2.478.993-3.28 2.357z\",\n  fill: \"#0068a0\",\n  fillRule: \"evenodd\"\n});\nconst SvgIcnCamera = _ref => {\n  let {\n    svgRef,\n    title,\n    ...props\n  } = _ref;\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 47,\n    height: 30,\n    ref: svgRef\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6);\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgIcnCamera, _extends({\n  svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/icn_camera.8b1afa05.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from \"react\";\r\nimport { Input, Label, Button } from \"reactstrap\";\r\nimport Loading from '../Global/Loading';\r\nimport { ReactComponent as IcnCamera } from '../../img/icn/icn_camera.svg';\r\nimport icnFileUploaded from '../../img/icn/icn_file_upload.svg';\r\n\r\nexport class UploadField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            loading: false,\r\n            errors: false,\r\n            isValid: false,\r\n            touched: false,\r\n            uploadStatus: false,\r\n            fileMaxSize: '',\r\n            fileSizes: {},\r\n            errorType: ''\r\n        };\r\n\r\n        this.fetchData = this.fetchData.bind(this);\r\n        this.handleInputFile = this.handleInputFile.bind(this);\r\n    }\r\n\r\n    async fetchData(method, data) {\r\n        let formData = new FormData();\r\n        formData.append('files', data, \"teste\");\r\n        const response = await fetch(`/form/${method}`, {\r\n            method: 'POST',\r\n            body: formData\r\n        });\r\n\r\n        if (response.status === 200) {\r\n            return await response.json();\r\n        } else {\r\n            return [];\r\n        }\r\n    }\r\n\r\n    handleInputFile(e, fromDefault = false) {\r\n        const { inputName, onChangeFunction, renderThumb, onlyImages = false, fileMaxSize } = this.props;\r\n        //const { fileMaxSize } = this.state;\r\n\r\n        this.setState(() => ({\r\n            touched: true,\r\n            uploadStatus: true\r\n        }));\r\n\r\n        let fileEl = !fromDefault ? e.target.files[0] : e;\r\n        document.querySelector(`#${inputName}__wrapper .result`).innerHTML = \"\";\r\n        let fileTypes = fileEl !== undefined ? onlyImages ? (fileEl.type === 'image/jpeg' || fileEl.type === 'image/png') : (fileEl.type === 'application/pdf' || fileEl.type === 'image/jpeg' || fileEl.type === 'image/png') : '';\r\n\r\n        if (fileEl && fileEl.size <= fileMaxSize && fileTypes) {\r\n            if (renderThumb && fileEl.type !== 'application/pdf') {\r\n                this.fetchData('PhotoPreview', fileEl).then(\r\n                    ({ content }) => {\r\n                        if (content !== undefined) {\r\n                            let dataImg = `data:image/jpeg;base64,${content}`;\r\n\r\n                            var img = document.createElement('img');\r\n                            img.src = dataImg;\r\n                            img.classList.add('uploadFileThumb')\r\n                            var nameFile = document.createElement('span');\r\n                            nameFile.innerHTML = fileEl.name\r\n                            nameFile.classList.add('uploadFileName');\r\n\r\n                            document.querySelector(`#${inputName}__wrapper .result`).appendChild(img);\r\n                            document.querySelector(`#${inputName}__wrapper .result`).appendChild(nameFile);\r\n\r\n                            this.setState(() => ({\r\n                                uploadStatus: false, errors: false\r\n                            }));\r\n                        } else {\r\n                            this.setState(() => ({\r\n                                uploadStatus: false, errors: true\r\n                            }));\r\n                        }\r\n                    }\r\n                );\r\n            } else {\r\n                var img = document.createElement('img');\r\n                img.src = icnFileUploaded;\r\n                img.classList.add('uploadFileThumb');\r\n\r\n                var nameFile = document.createElement('span');\r\n                nameFile.innerHTML = fileEl.name;\r\n                nameFile.classList.add('uploadFileName');\r\n\r\n                document.querySelector(`#${inputName}__wrapper .result`).appendChild(img);\r\n                document.querySelector(`#${inputName}__wrapper .result`).appendChild(nameFile);\r\n\r\n                this.setState(() => ({\r\n                    uploadStatus: false, errors: false\r\n                }));\r\n            }\r\n\r\n            !fromDefault && onChangeFunction(e);\r\n            fromDefault && onChangeFunction(e, '', null, { name: inputName, value: '', checked: false, files: [e] });\r\n        } else {\r\n            let errorType = fileEl && !(fileEl.size <= fileMaxSize) ? 'size' : 'type';\r\n\r\n            var hasError = true;\r\n            this.setState({\r\n                errorType,\r\n                errors: hasError,\r\n                uploadStatus: false\r\n            });\r\n\r\n            onChangeFunction(e, '', hasError, { name: inputName, value: '', checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { defaultValue, onChangeFunction, inputName } = this.props;\r\n\r\n        if (!!defaultValue) {\r\n            this.setState({\r\n                touched: true\r\n            });\r\n\r\n            this.handleInputFile(defaultValue, true);\r\n        } else {\r\n            var hasError = true;\r\n            this.setState({\r\n                errors: hasError\r\n            });\r\n\r\n            onChangeFunction('', '', hasError, { name: inputName, value: '', checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { inputName, inputLabel, onlyImages, errorMessages, formResources, required, readonly, disabled } = this.props;\r\n        const { uploadStatus, errors, touched, errorType } = this.state;\r\n\r\n        return (\r\n            <>\r\n                <Label for={inputName} className=\"form-label text-uppercase\">{inputLabel}{required && \"*\"}</Label>\r\n                <div id={`${inputName}__wrapper`} className=\"customUploadFile\" onClick={() => document.querySelector(`#${inputName}__wrapper .js-uploadFile`).click()}>\r\n                    {uploadStatus && <Loading loadingText={formResources.LoadingImageContentText} />}\r\n\r\n                    <div className={`customUploadFile__wrapper ${uploadStatus ? 'd-none' : ''}`}>\r\n                        <Input\r\n                            type=\"file\"\r\n                            name={inputName}\r\n                            id={inputName}\r\n                            aria-describedby={`${inputName}Help`}\r\n                            invalid={errors}\r\n                            className=\"d-none js-uploadFile\"\r\n                            onChange={this.handleInputFile}\r\n                            required={required}\r\n                            accept={onlyImages ? \"image/jpeg,image/png\" : \"application/pdf,image/jpeg,image/png\"}\r\n                            autoComplete=\"photo\"\r\n                            readOnly={readonly}\r\n                            disabled={disabled}\r\n                        />\r\n                        <div className=\"result\">\r\n\r\n                        </div>\r\n                        <div className=\"controllers\">\r\n                            <Button\r\n                                type=\"button\"\r\n                                color=\"link\"\r\n                            >\r\n                                <IcnCamera alt=\"Camera\" />\r\n                                <span className=\"buttonDivisor\" />\r\n                                Upload\r\n                            </Button>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n                <small id={`${inputName}Help`} className=\"form-text text-left text-primary\">{onlyImages ? formResources.FormHelperUploadPhoto : formResources.FormHelperUploadDocument}</small>\r\n                {errorMessages && <div className={`invalid-feedback ${!uploadStatus && errors ? 'visible' : ''}`} >{!touched ? errorMessages.empty : errorType === 'size' ? errorMessages.invalidSize : errorMessages.invalid}</div>}\r\n            </>\r\n        );\r\n    }\r\n};\r\n\r\nexport default UploadField;","import React, { Component } from 'react';\r\nimport { FormGroup, Label, Input, Tooltip } from 'reactstrap';\r\n\r\nexport class BusinessRelationshipField extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.props = props;\r\n        this.state = {\r\n            isOpen: false,\r\n            clientPurposeBusinessRelationships: this.props.data.clientPurposeBusinessRelationships,\r\n            tooltipOpen: false,\r\n        }\r\n        this.handlecodeChange = this.handlecodeChange.bind(this);\r\n        this.handlerOpen = this.handlerOpen.bind(this);\r\n        this.select = this.select.bind(this);\r\n        this.toggleTooltip = this.toggleTooltip.bind(this);\r\n    }\r\n\r\n    toggleTooltip() {\r\n        this.setState({\r\n            tooltipOpen: !this.state.tooltipOpen\r\n        });\r\n    }\r\n\r\n    componentDidUpdate() {\r\n        if (this.state.isOpen === true) {\r\n            document.addEventListener('click', this.handlerOpen);\r\n        }\r\n        else {\r\n            document.removeEventListener('click', this.handlerOpen);\r\n        }\r\n    }\r\n\r\n    handlerOpen(e) {\r\n        if (this.state.isOpen && this.container.contains(e.target) && e.target !== e.currentTarget) {\r\n            return;\r\n        } else {\r\n            this.setState((prevState) => { return { isOpen: !prevState.isOpen } });\r\n        }\r\n    }\r\n\r\n    handlecodeChange(value) {\r\n        var clientPurposeBusinessRelationshipTemp;\r\n\r\n        if (this.state.clientPurposeBusinessRelationships !== null && this.state.clientPurposeBusinessRelationships.includes(value)) {\r\n            clientPurposeBusinessRelationshipTemp = this.state.clientPurposeBusinessRelationships.filter((e) => e !== value);\r\n        } else {\r\n            if (this.state.clientPurposeBusinessRelationships === null) {\r\n                clientPurposeBusinessRelationshipTemp = [value];\r\n            } else {\r\n                clientPurposeBusinessRelationshipTemp = [...this.state.clientPurposeBusinessRelationships, value];\r\n            }\r\n        }\r\n\r\n        this.setState({\r\n            clientPurposeBusinessRelationships: clientPurposeBusinessRelationshipTemp\r\n        });\r\n\r\n        const clientPurposeBusinessRelationships = { name: 'clientPurposeBusinessRelationships', value: clientPurposeBusinessRelationshipTemp }\r\n        this.props.onChange(clientPurposeBusinessRelationships, \"\", false);\r\n    }\r\n\r\n    select(codeValue) {\r\n        return this.state.clientPurposeBusinessRelationships && this.state.clientPurposeBusinessRelationships.includes(codeValue);\r\n    }\r\n\r\n    render(){\r\n        const { options } = this.props;\r\n        const { isOpen } = this.state;\r\n\r\n        return(\r\n            <>\r\n                <FormGroup>\r\n                    <Label className=\"form-label text-uppercase\">\r\n                        {this.props.formResources.PurposeBusinessRelationshipLabel}\r\n                    </Label>\r\n                    <p className=\"form-label m-0\"><small>{this.props.formResources.PurposeBusinessRelationshipSubLabel}</small></p>\r\n\r\n                    <div  style={{ position: \"relative\" }}>\r\n                        <div id=\"TooltipSelect-1\" className={`form-control ${this.state.clientPurposeBusinessRelationships === null || this.state.clientPurposeBusinessRelationships.length === 0 ? 'is-invalid' : ''}`} onClick={this.handlerOpen}>\r\n                            {this.state.clientPurposeBusinessRelationships === null || this.state.clientPurposeBusinessRelationships === undefined || options === undefined || this.state.clientPurposeBusinessRelationships.length === 0 ?\r\n                                <p>{this.props.formResources.PurposeBusinessRelationshipText}</p>\r\n                                :\r\n                                <>\r\n                                    <p className=\"selectedOptions\">{this.state.clientPurposeBusinessRelationships.map((value, index) => {\r\n                                        return `${options.filter((e) => e.code === value)[0].description}${(this.state.clientPurposeBusinessRelationships.length > 1) && (index > 0 || index < this.state.clientPurposeBusinessRelationships.length - 1) ? '; ' : ''}`\r\n                                    })}\r\n                                    </p>\r\n                                </>\r\n                            }\r\n                        </div>\r\n                        <div ref={(el) => { this.container = el; }} className={`${isOpen ? 'open' : ''} options-multiple`}>\r\n                            {options && options.map((value, index) => {\r\n                                return (\r\n                                    <div className={this.select(value.code) ? 'options selected' : 'options'} key={`optionsM-${index}`} onClick={() => this.handlecodeChange(value.code)}>\r\n                                        <Input type=\"checkbox\" readOnly checked={this.select(value.code) ? true : false}></Input>\r\n                                        <p>{value.description}</p>\r\n                                    </div>\r\n                                );\r\n                            })}\r\n                        </div>\r\n                        {(this.state.clientPurposeBusinessRelationships === null || this.state.clientPurposeBusinessRelationships.length === 0) &&\r\n                            <div className='invalid-feedback'>{this.props.formResources.FormErrorFieldEmpty}</div>\r\n                        }\r\n                    </div>\r\n\r\n                    {options !== undefined && this.state.clientPurposeBusinessRelationships !== null && this.state.clientPurposeBusinessRelationships.length > 0 &&\r\n                        <Tooltip\r\n                            placement=\"right\"\r\n                            modifiers={{ offset: { offset: '0, 15px' } }}\r\n                            isOpen={this.state.tooltipOpen}\r\n                            target={`TooltipSelect-1`}\r\n                            toggle={this.toggleTooltip}\r\n                            autohide={false}\r\n                        >\r\n                            {this.state.clientPurposeBusinessRelationships.map((value, index) => {\r\n                                return `${options.filter((e) => e.code === value)[0].description}${(this.state.clientPurposeBusinessRelationships.length > 1) && (index > 0 || index < this.state.clientPurposeBusinessRelationships.length) ? '; ' : ''}`\r\n                            })}\r\n                        </Tooltip>\r\n                    }\r\n                </FormGroup>\r\n            </>\r\n        )\r\n    }\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { FormGroup, Label, Input, Tooltip} from 'reactstrap';\r\nimport { CountingInput } from './CountingInput';\r\n\r\nexport class SourceFundsField extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.props = props;\r\n        this.state = {\r\n            //isOpen: false,\r\n            //tooltipOpen: false,\r\n            clientSourceFunds: !this.props.data.clientSourceFunds? \"-1\" : this.props.data.clientSourceFunds,\r\n            sourceFundsComments: !this.props.data.sourceFundsComments ? \"\": this.props.data.sourceFundsComments\r\n        }\r\n        //this.handlerOpen = this.handlerOpen.bind(this);\r\n        //this.toggleTooltip = this.toggleTooltip.bind(this);\r\n        this.handlecodeChange = this.handlecodeChange.bind(this);\r\n        this.handlerSourceFundsComments = this.handlerSourceFundsComments.bind(this);\r\n\r\n        this.select = this.select.bind(this);\r\n    }\r\n\r\n    //componentDidUpdate() {\r\n    //    if (this.state.isOpen === true) {\r\n    //        document.addEventListener('click', this.handlerOpen);\r\n    //    }\r\n    //    else {\r\n    //        document.removeEventListener('click', this.handlerOpen);\r\n    //    }\r\n    //}\r\n\r\n    //toggleTooltip() {\r\n    //    this.setState({\r\n    //        tooltipOpen: !this.state.tooltipOpen\r\n    //    });\r\n    //}\r\n\r\n    //handlerOpen(e) {\r\n    //    if (this.state.isOpen && this.containerSource.contains(e.target) && e.target !== e.currentTarget) {\r\n    //        return;\r\n    //    } else {\r\n    //        this.setState((prevState) => { return { isOpen: !prevState.isOpen } });\r\n    //    }\r\n    //}\r\n\r\n\r\n    //handlecodeChange(event, value) {\r\n    //    event.persist();\r\n    //    var sourceFundsTemp;\r\n    //    var resetComments = false;\r\n\r\n    //    if (this.state.clientSourceFunds !== null && this.state.clientSourceFunds.includes(value)) {\r\n\r\n    //        if (this.props.options.filter((e) => e.code === value && e.requiredComments).length === 1) {\r\n    //            resetComments = true;\r\n    //        }\r\n\r\n    //        sourceFundsTemp = this.state.clientSourceFunds.filter((e) => e !== value);\r\n    //    } else {\r\n    //        if (this.state.clientSourceFunds === null) {\r\n    //            sourceFundsTemp = [value];\r\n    //        } else {\r\n    //            sourceFundsTemp = [...this.state.clientSourceFunds, value];\r\n    //        }\r\n    //    }\r\n\r\n    //    this.setState({\r\n    //        clientSourceFunds: sourceFundsTemp\r\n    //    });\r\n\r\n    //    const clientSourceFunds = { name: 'clientSourceFunds', value: sourceFundsTemp }\r\n    //    this.props.onChange(clientSourceFunds, \"\", false);\r\n    //    if (resetComments) {\r\n    //        this.setState({sourceFundsComments: \"\"})\r\n    //        this.props.onChange({ name: 'sourceFundsComments', value: null }, \"\", false);\r\n    //    }\r\n    //}\r\n\r\n    handlecodeChange(event) {\r\n        var sourceFundsTemp = [event.target.value]\r\n        this.setState({\r\n            clientSourceFunds: sourceFundsTemp,\r\n            sourceFundsComments: \"\"\r\n        })\r\n        const clientSourceFunds = { name: 'clientSourceFunds', value: sourceFundsTemp }\r\n        this.props.onChange(clientSourceFunds, \"\", false);\r\n        this.props.onChange({ name: 'sourceFundsComments', value: null }, \"\", false);\r\n    }\r\n\r\n    handlerSourceFundsComments(event) {\r\n        this.setState({\r\n            sourceFundsComments: event.target.value\r\n        })\r\n        this.props.onChange(event.target, \"\", false);\r\n    }\r\n\r\n    select(codeValue) {\r\n        return this.state.clientSourceFunds && this.state.clientSourceFunds.includes(codeValue);\r\n    }\r\n\r\n    render(){\r\n\r\n        const { options } = this.props;\r\n        /*const { isOpen, tooltipOpen } = this.state;*/\r\n        const others = options && this.state.clientSourceFunds ? options.filter((e) => this.state.clientSourceFunds.includes(e.code) && e.requiredComments) : '';\r\n            \r\n        const selectList = !options ? \"\" : options.map((event, index) =>\r\n            <option key={`option-${index + 1}`} value={event.code}>{event.description}  </option>\r\n        );\r\n \r\n\r\n        return(\r\n            <>\r\n\r\n                <FormGroup>\r\n                    <Label className=\"form-label text-uppercase\">\r\n                        {this.props.formResources.SourceFundsLabel}\r\n                    </Label>\r\n                    {/*<p className=\"form-label m-0\"><small>{this.props.formResources.SourceFundsSubLabel}</small></p>*/}\r\n\r\n                    {/*<div style={{ position: \"relative\" }}>*/}\r\n                    {/*    <div id=\"TooltipSelect-2\" className={`form-control ${this.state.clientSourceFunds === null || this.state.clientSourceFunds.length === 0 ? 'is-invalid' : ''}`} onClick={this.handlerOpen}>*/}\r\n                    {/*        {this.state.clientSourceFunds === null || this.state.clientSourceFunds === undefined || options === undefined || this.state.clientSourceFunds.length === 0 ?*/}\r\n                    {/*            <p>{this.props.formResources.SourceFundsText}</p>*/}\r\n                    {/*            :*/}\r\n                    {/*            <>*/}\r\n                    {/*                <p className=\"selectedOptions\">{this.state.clientSourceFunds.map((value, index) => {*/}\r\n                    {/*                    return `${options.filter((e) => e.code === value)[0].description}${(this.state.clientSourceFunds.length > 1) && (index > 0 || index < this.state.clientSourceFunds.length - 1) ? '; ' : ''}`*/}\r\n                    {/*                })}*/}\r\n                    {/*                </p>*/}\r\n                    {/*            </>*/}\r\n                    {/*        }*/}\r\n                    {/*    </div>*/}\r\n                    {/*    <div ref={(el) => { this.containerSource = el; }} className={`${isOpen ? 'open' : ''} options-multiple`}>*/}\r\n                    {/*        {options && options.map((value, index) => {*/}\r\n                    {/*            return (*/}\r\n                    {/*                <div className={this.select(value.code) ? 'options selected' : 'options'} key={`optionsM-${index}`} onClick={(e) => this.handlecodeChange(e, value.code)}>*/}\r\n                    {/*                    <Input type=\"checkbox\" readOnly checked={this.select(value.code) ? true : false}></Input>*/}\r\n                    {/*                    <p>{value.description}</p>*/}\r\n                    {/*                </div>*/}\r\n                    {/*            );*/}\r\n                    {/*        })}*/}\r\n                    {/*    </div>*/}\r\n                    {/*    {(this.state.clientSourceFunds === null || this.state.clientSourceFunds.length === 0) &&*/}\r\n                    {/*        <div className='invalid-feedback'>{this.props.formResources.FormErrorFieldEmpty}</div>*/}\r\n                    {/*    }*/}\r\n                    {/*</div>*/}\r\n\r\n                    {/*{options !== undefined && this.state.clientSourceFunds !== null && this.state.clientSourceFunds.length > 0 &&*/}\r\n                    {/*   <Tooltip*/}\r\n                    {/*       placement=\"right\"*/}\r\n                    {/*        modifiers={{ offset: { offset: '0, 15px' } }}*/}\r\n                    {/*        isOpen={tooltipOpen}*/}\r\n                    {/*        target={`TooltipSelect-2`}*/}\r\n                    {/*        toggle={this.toggleTooltip}*/}\r\n                    {/*        autohide={false}*/}\r\n                    {/*    >*/}\r\n                    {/*       {this.state.clientSourceFunds.map((value, index) => {*/}\r\n                    {/*           return `${options.filter((e) => e.code === value)[0].description}${(this.state.clientSourceFunds.length > 1) && (index > 0 || index < this.state.clientSourceFunds.length) ? '; ' : ''}`*/}\r\n                    {/*       })}*/}\r\n                    {/*   </Tooltip>*/}\r\n                    {/*}*/}\r\n                    <Input\r\n                        type=\"select\"\r\n                        name=\"sourceFunds\"\r\n                        id=\"sourceFunds\"\r\n                        key={this.state.clientSourceFunds}\r\n                        value={this.state.clientSourceFunds[0]}\r\n                        onChange={this.handlecodeChange}\r\n                        required={true}\r\n                        invalid={this.state.clientSourceFunds === \"-1\"}\r\n                        disabled={false}\r\n                    >\r\n                        <option key={`option-0`} value=\"-1\" disabled >{this.props.formResources.SourceFundsText}</option>\r\n                        {selectList}\r\n                    </Input>\r\n                    {this.state.sourceFunds === \"-1\" &&\r\n                        <div className='invalid-feedback'>{this.props.formResources.FormErrorFieldEmpty}</div>\r\n                    }\r\n                </FormGroup>\r\n\r\n                {others.length === 1 ?\r\n                    <FormGroup>\r\n                        <Label className=\"form-label\">{this.props.formResources.OtherFundsLabel}</Label>\r\n\r\n                        <Input\r\n                            type=\"text\"\r\n                            name=\"sourceFundsComments\"\r\n                            defaultValue={this.state.sourceFundsComments}\r\n                            required={true}\r\n                            onChange={this.handlerSourceFundsComments}\r\n                            invalid={this.state.sourceFundsComments === \"\"}\r\n                            disabled={false}\r\n                            maxLength={35}\r\n                        />\r\n\r\n                        <small className='form-text text-right text-primary'>\r\n                            <CountingInput limit=\"35\" actual={this.state.sourceFundsComments? this.state.sourceFundsComments.length : 0}/>\r\n                        </small>\r\n                        {this.state.sourceFundsComments === \"\" &&\r\n                          <div className='invalid-feedback'>{this.props.formResources.FormErrorFieldEmpty}</div>\r\n                        }\r\n                    </FormGroup>\r\n                    :\r\n                    ''}\r\n             \r\n            </>\r\n        )\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Form, FormGroup, Alert, CustomInput } from 'reactstrap';\r\nimport { MainFormNavInfo } from './MainFormNavInfo';\r\nimport { MainFormNavigation } from './MainFormNavigation';\r\nimport Loading from '../Global/Loading';\r\nimport UploadField from '../Fields/UploadField';\r\nimport { BusinessRelationshipField } from '../Fields/BusinessRelationshipField';\r\nimport { SourceFundsField } from '../Fields/SourceFundsField';\r\n\r\n\r\nexport class MainFormStep4 extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            loading: false,\r\n            errors: [],\r\n            errorMessage: '',\r\n            fileSizes: {}\r\n        };\r\n\r\n        this.submitForm = this.submitForm.bind(this);\r\n        this.continue = this.continue.bind(this);\r\n        this.back = this.back.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const {referenceData} = this.props;\r\n        this.setState({\r\n            ...this.state, \r\n            purposeBusinessRelationship: referenceData.purposeBusinessRelationship,\r\n            sourceFunds: referenceData.sourceFunds,\r\n            otherFunds: undefined\r\n        });\r\n\r\n        this.props.checkFormValidate();\r\n        window.scrollTo(0, 0);\r\n    }\r\n\r\n    submitForm(e) {\r\n        e.preventDefault();\r\n\r\n        this.setState({ loading: true });\r\n        this.submitFormPost();\r\n    }\r\n\r\n    async submitFormPost() {\r\n        const { person, consentData, product, summary } = this.props.fullDate;\r\n        var formData = new FormData();\r\n        formData.append('Data', JSON.stringify({summary, person, product,consentData}));\r\n        formData.append('files', consentData.photographyFile, \"Photo\");\r\n        if (product.contaCaixaM || product.ValidUseExistingAccount) {\r\n            formData.append('files', consentData.documentIDCoverFile, \"IdCardFront\");\r\n            formData.append('files', consentData.documentIDBackFile, \"IdCardBack\");\r\n            formData.append('files', consentData.addressFile, \"Address\");\r\n            person.secondAddress && formData.append('files', consentData.secondAddressFile, \"FiscalAddress\");\r\n            person.identificationTypeCode !== '801' && formData.append('files', consentData.fiscalNumberCardFile, \"FiscalCard\");\r\n        }\r\n\r\n        var headers = new Headers({});\r\n        const response = await fetch('/Form/GetPdf', {\r\n            method: 'POST',\r\n            headers: headers,\r\n            body: formData\r\n        });\r\n        const result = await response.json();\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            if (!result.error) {\r\n                this.props.handleChange('', '', '', { name: 'linkPdf', value: result.value, checked: false, files: undefined });\r\n                this.continue();\r\n            } else {\r\n                this.setState(prevState => ({\r\n                    ...prevState,\r\n                    errors: true,\r\n                    errorMessage: this.props.globalResources.ErrorCreatingPDF,\r\n                    loading: false\r\n                }));\r\n\r\n                window.scrollTo(0, 0);\r\n            }\r\n        } else {\r\n            this.setState(prevState => ({\r\n                ...prevState,\r\n                errors: this.props.globalResources.ErrorGeneric,\r\n                loading: false\r\n            }));\r\n\r\n            window.scrollTo(0, 0);\r\n        }\r\n    }\r\n\r\n    back() {\r\n        this.props.prevStep('consentData', this.props.data);\r\n    }\r\n\r\n    continue() {\r\n        this.props.nextStep('consentData', this.props.data);\r\n    }\r\n\r\n    formatBytes(bytes, decimals = 2) {\r\n        if (bytes === 0) {\r\n            return '0 Bytes';\r\n        }\r\n\r\n        const k = 1024;\r\n        const dm = decimals < 0 ? 0 : decimals;\r\n        const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n        const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n        return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n    }\r\n\r\n   \r\n    render() {\r\n        const { loading, errorMessage } = this.state;\r\n        const { activeStep, handleChange, checkFormValidate, hasPreviousStep, hasNextStep, globalResources, formResources, data, step2Values, loadingData, isValid, fullDate } = this.props;\r\n\r\n        const documentDescriptionPhotoUpload = formResources.DocumentDescriptionPhotoUpload;\r\n        const photoUploadMessage = data.fileSizes && data.fileSizes.photoMaxUploadSize ? documentDescriptionPhotoUpload.replace('[PHOTOSIZE]', this.formatBytes(data.fileSizes.photoMaxUploadSize)) : documentDescriptionPhotoUpload;\r\n\r\n        const documentDescriptionFilesUpload = formResources.DocumentDescriptionFilesUpload;\r\n        const fileUploadMessage = data.fileSizes && data.fileSizes.fileMaxUploadSize ? documentDescriptionFilesUpload.replace('[FILESIZE]', this.formatBytes(data.fileSizes.fileMaxUploadSize)) : documentDescriptionFilesUpload;\r\n\r\n        if (loadingData) {\r\n            return (\r\n                <Container className=\"d-flex flex-column h-100 justify-content-center align-items-center\">\r\n                    <Loading loadingText={globalResources.LoadingPageContentText} />\r\n                </Container>\r\n            );\r\n        }\r\n\r\n        return (\r\n            <Container>\r\n                <Row className=\"main-form__header\">\r\n                    <Col>\r\n                        <h1 className=\"sr-only\">{formResources.Step4Title}</h1>\r\n\r\n                        <MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n                    </Col>\r\n                </Row>\r\n                <Row>\r\n                    <Col lg=\"9\" xl=\"8\">\r\n                        <div>\r\n                            <h2>{formResources.Step4Title}</h2>\r\n\r\n                            <p>{formResources.DocumentDescription}<br />\r\n                                {photoUploadMessage}\r\n                                {fullDate.product.contaCaixaM && <><br />{fileUploadMessage}</>}\r\n                            </p>\r\n                        </div>\r\n\r\n                        <Form className=\"needs-validation\" noValidate>\r\n                            <FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n                                <legend className=\"sr-only\">{formResources.DocumentLegend}</legend>\r\n\r\n                                {errorMessage &&\r\n                                    <Alert key={errorMessage} color=\"danger\"><div dangerouslySetInnerHTML={{ __html: errorMessage }} /></Alert>\r\n                                }\r\n\r\n                                <div className=\"bg-light ml-n2 ml-sm-n4 mr-n2 mr-sm-n4 mr-lg-0 mb-5 px-4 pt-3 pb-1\">\r\n                                    <FormGroup className=\"mb-5\">\r\n                                        <UploadField inputName=\"photographyFile\" fileMaxSize={data.fileSizes.photoMaxUploadSize} inputLabel={formResources.FormLabelPhotographyFile} renderThumb={true} defaultValue={data.photographyFile} onChangeFunction={handleChange} onlyImages={true} formCheck={checkFormValidate} errorMessages={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorUploadInvalid, invalidSize: formResources.FormErrorUploadInvalidSize }} formResources={{ ...formResources }} required={true} />\r\n                                    </FormGroup>\r\n                                    {(fullDate.product.contaCaixaM || fullDate.product.ValidUseExistingAccount) && <>\r\n                                        <FormGroup tag=\"fieldset\" className=\"mb-4\">\r\n                                            <legend className=\"form-label text-uppercase\">{formResources.IdentityDocument}</legend>\r\n\r\n                                            <Row>\r\n                                                <FormGroup className=\"col-sm-6 col-md-4\">\r\n                                                    <UploadField inputName=\"documentIDCoverFile\" fileMaxSize={data.fileSizes.fileMaxUploadSize} inputLabel={formResources.FormLabelDocumentIDCoverFile} renderThumb={false} defaultValue={data.documentIDCoverFile} onChangeFunction={handleChange} formCheck={checkFormValidate} errorMessages={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorUploadInvalid, invalidSize: formResources.FormErrorUploadInvalidSize }} formResources={{ ...formResources }} required={true} />\r\n                                                </FormGroup>\r\n                                                <FormGroup className=\"col-sm-6 col-md-4\">\r\n                                                    <UploadField inputName=\"documentIDBackFile\" fileMaxSize={data.fileSizes.fileMaxUploadSize} inputLabel={formResources.FormLabelDocumentIDBackFile} renderThumb={false} defaultValue={data.documentIDBackFile} onChangeFunction={handleChange} formCheck={checkFormValidate} errorMessages={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorUploadInvalid, invalidSize: formResources.FormErrorUploadInvalidSize }} formResources={{ ...formResources }} required={true} />\r\n                                                </FormGroup>\r\n                                            </Row>\r\n                                            {step2Values.identificationTypeCode !== '801' &&\r\n                                                <Row>\r\n                                                    <FormGroup className=\"col-sm-6 col-md-4\">\r\n                                                        <UploadField inputName=\"fiscalNumberCardFile\" fileMaxSize={data.fileSizes.fileMaxUploadSize} inputLabel={formResources.FormLabelFiscalNumberCardFile} renderThumb={false} defaultValue={data.fiscalNumberCardFile} onChangeFunction={handleChange} formCheck={checkFormValidate} errorMessages={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorUploadInvalid, invalidSize: formResources.FormErrorUploadInvalidSize }} formResources={{ ...formResources }} required={true} />\r\n                                                    </FormGroup>\r\n                                                </Row>\r\n                                            }\r\n                                        </FormGroup>\r\n                                        <FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n                                            <legend className=\"form-label text-uppercase\">{formResources.ProofOfAddressLegend}</legend>\r\n\r\n                                            <Row>\r\n                                                <FormGroup className=\"col-sm-6 col-md-4\">\r\n                                                    <UploadField inputName=\"addressFile\" fileMaxSize={data.fileSizes.fileMaxUploadSize} inputLabel={formResources.FormLabelAddressFile} renderThumb={false} defaultValue={data.addressFile} onChangeFunction={handleChange} formCheck={checkFormValidate} errorMessages={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorUploadInvalid, invalidSize: formResources.FormErrorUploadInvalidSize }} formResources={{ ...formResources }} required={true} />\r\n                                                </FormGroup>\r\n                                                {step2Values.secondAddress && <FormGroup className=\"col-sm-6 col-md-4\">\r\n                                                    <UploadField inputName=\"secondAddressFile\" fileMaxSize={data.fileSizes.fileMaxUploadSize} inputLabel={formResources.FormLabelSecondAddressFile} renderThumb={false} defaultValue={data.secondAddressFile} onChangeFunction={handleChange} formCheck={checkFormValidate} errorMessages={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorUploadInvalid, invalidSize: formResources.FormErrorUploadInvalidSize }} formResources={{ ...formResources }} required={true} />\r\n                                                </FormGroup>\r\n                                                }\r\n                                            </Row>\r\n                                        </FormGroup>\r\n                                    </>}\r\n                                </div>\r\n                                {(fullDate.product.contaCaixaM || fullDate.product.ValidUseExistingAccount) && <>\r\n                                    <FormGroup>\r\n                                        <Row className=\"col-6 col-md-6\">\r\n                                            <Col className=\"pl-0\">\r\n                                                <BusinessRelationshipField formResources={formResources} data={step2Values} options={this.state.purposeBusinessRelationship} onChange={handleChange}/>\r\n                                            </Col>\r\n                                        </Row>\r\n                                        <Row className=\"col-6 col-md-6\" >\r\n                                            <Col className=\"pl-0\">\r\n                                                <SourceFundsField formResources={formResources} data={step2Values} options={this.state.sourceFunds} onChange={handleChange}/>\r\n                                            </Col>\r\n                                        </Row>\r\n                                    </FormGroup>\r\n                                </>}\r\n\r\n                                <FormGroup tag=\"fieldset\">\r\n                                    <legend className=\"sr-only\">{formResources.PersonalDataAuthorizationLegend}</legend>\r\n\r\n                                    <Row>\r\n                                        <FormGroup className=\"col\">\r\n                                            <FormGroup tag=\"fieldset\">\r\n                                                <legend>{formResources.FormLabelDirectMarketing}*</legend>\r\n\r\n                                                <FormGroup className=\"mb-0\">\r\n                                                    <div className=\"d-flex\">\r\n                                                        \r\n                                                        <CustomInput type=\"radio\" id=\"rgpAgrement1\" name=\"rgpAgrement\" label=\"Sim\" value={true} checked={data.rgpAgrement === \"true\" ? true: false} onChange={handleChange} required />\r\n                                                        <CustomInput type=\"radio\" id=\"rgpAgrement2\" name=\"rgpAgrement\" label=\"Não\" value={false} checked={data.rgpAgrement === \"false\" ? true: false} onChange={handleChange} required />\r\n                                                    </div>\r\n                                                </FormGroup>\r\n                                            </FormGroup>\r\n                                        </FormGroup>\r\n                                    </Row>\r\n                                    <Row>\r\n                                        <FormGroup className=\"col\">\r\n                                            <FormGroup tag=\"fieldset\">\r\n                                                <legend>{formResources.FormLabelCampaignsEvents}*</legend>\r\n\r\n                                                <FormGroup className=\"mb-0\">\r\n                                                    <div className=\"d-flex\">\r\n                                                        <CustomInput type=\"radio\" id=\"rgpdAgreementCampaignsAndEvents1\" name=\"rgpdAgreementCampaignsAndEvents\" label=\"Sim\" value={true} checked={data.rgpdAgreementCampaignsAndEvents === \"true\" ? true: false} onChange={handleChange} required />\r\n                                                        <CustomInput type=\"radio\" id=\"rgpdAgreementCampaignsAndEvents2\" name=\"rgpdAgreementCampaignsAndEvents\" label=\"Não\" value={false} checked={data.rgpdAgreementCampaignsAndEvents === \"false\" ? true: false} onChange={handleChange} required />\r\n                                                    </div>\r\n                                                </FormGroup>\r\n                                            </FormGroup>\r\n                                        </FormGroup>\r\n                                    </Row>\r\n                                    <Row>\r\n                                        <FormGroup className=\"col\">\r\n                                            <FormGroup tag=\"fieldset\">\r\n                                                <legend>{formResources.FormLabelAgreementLegalDocumentation}*</legend>\r\n\r\n                                                <FormGroup className=\"mb-0\">\r\n                                                    <div className=\"d-flex\">\r\n                                                        <CustomInput type=\"radio\" id=\"agreementLegalDocumentation1\" name=\"agreementLegalDocumentation\" label=\"Sim\" value={true} checked={data.agreementLegalDocumentation === \"true\" ? true: false} onChange={handleChange} required />\r\n                                                        <CustomInput type=\"radio\" id=\"agreementLegalDocumentation2\" name=\"agreementLegalDocumentation\" label=\"Não\" value={false} checked={data.agreementLegalDocumentation === \"false\" ? true: false} onChange={handleChange} required />\r\n                                                    </div>\r\n                                                </FormGroup>\r\n                                            </FormGroup>\r\n                                        </FormGroup>\r\n                                    </Row>\r\n                                    <Row>\r\n                                        <Col dangerouslySetInnerHTML={{ __html: formResources.TookNoticeDescription }} />\r\n                                    </Row>\r\n                                </FormGroup>\r\n                            </FormGroup>\r\n\r\n                            <MainFormNavigation analyticsId=\"continue_5\" prevStep={this.back} nextStep={this.continue} hasPreviousStep={hasPreviousStep} hasNextStep={hasNextStep} prevText={globalResources.NavBackText} nextText={globalResources.NavForwardText} loading={loading} loadingText={globalResources.LoadingPageText} buttonDisable={!isValid} onClickFunction={this.submitForm} />\r\n                        </Form>\r\n                    </Col>\r\n                </Row>\r\n            </Container>\r\n        );\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Input } from 'reactstrap';\r\n\r\nexport class PinField extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            errors: false,\r\n            minLength: 4,\r\n            maxLength: 8,\r\n            touched: {}\r\n        }\r\n\r\n        this.regex = /^[0-9]*$/;\r\n\r\n        this.handleChange = this.handleChange.bind(this);\r\n        this.handleBlur = this.handleBlur.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        const { id, inputValue } = this.props;\r\n\r\n        if (!!inputValue) {\r\n            this.turnFieldTouched(id);\r\n        } else {\r\n            this.setState({\r\n                errors: true\r\n            });\r\n\r\n            this.props.onChangeFunction && this.props.onChangeFunction('', '', true, { name: id, value: inputValue, checked: false, files: undefined });\r\n        }\r\n    }\r\n\r\n    handleChange(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        if (this.props.required) {\r\n            this.turnFieldTouched(name);\r\n\r\n            if (value === '' || (this.regex.test(value) && value.length <= this.state.maxLength)) {\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n\r\n                if (value.length === this.state.minLength) {\r\n                    this.setState({\r\n                        errors: hasError\r\n                    });\r\n                }\r\n\r\n                if (value === '') {\r\n                    this.setState({\r\n                        errors: true\r\n                    });\r\n                } else {\r\n                    this.setState({\r\n                        errors: false\r\n                    });\r\n                }\r\n            }\r\n        } else {\r\n            if (value !== '' || (this.regex.test(value) && value.length <= this.state.maxLength)) {\r\n                this.props.onChangeFunction(event.target, '', hasError);\r\n\r\n                if (value.length === this.state.minLength) {\r\n                    this.setState({\r\n                        errors: hasError\r\n                    });\r\n                }\r\n\r\n                if (value === '') {\r\n                    this.setState({\r\n                        errors: false\r\n                    });\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    handleBlur(event) {\r\n        const { name, value } = event.target;\r\n        var hasError = !this.validate(value);\r\n\r\n        this.turnFieldTouched(name);\r\n\r\n        if (this.props.required) {\r\n            this.setState({\r\n                errors: hasError\r\n            });\r\n        } else {\r\n            if (value !== '') {\r\n                this.setState({\r\n                    errors: hasError\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    turnFieldTouched(field) {\r\n        const { touched } = this.state;\r\n\r\n        this.setState({\r\n            touched: {\r\n                ...touched,\r\n                [field]: true\r\n            }\r\n        });\r\n    }\r\n\r\n    validate(number) {\r\n        if (this.regex.test(number) && number.length >= this.state.minLength && number.length <= this.state.maxLength) {\r\n            return true;\r\n        } else {\r\n            return false;\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { minLength, maxLength, errors, touched } = this.state;\r\n        const { id, inputHelpText, inputValidationText, inputValue, required, autoFocus, readonly, disabled } = this.props;\r\n\r\n        return (\r\n            <>\r\n                <Input\r\n                    type=\"password\"\r\n                    name={id}\r\n                    id={id}\r\n                    aria-describedby={`${id}Help`}\r\n                    invalid={errors}\r\n                    value={inputValue}\r\n                    onChange={this.handleChange}\r\n                    onBlur={this.handleBlur}\r\n                    minLength={minLength}\r\n                    maxLength={maxLength}\r\n                    required={required}\r\n                    autoComplete=\"current-password\"\r\n                    autoFocus={autoFocus}\r\n                    inputMode=\"numeric\"\r\n                    readOnly={readonly}\r\n                    disabled={disabled}\r\n                />\r\n                {inputHelpText &&\r\n                    <small id={`${id}Help`} className=\"form-text text-right text-primary\">{inputHelpText}</small>\r\n                }\r\n                {inputValidationText &&\r\n                    <div className=\"invalid-feedback\">{touched[id] ? inputValidationText.invalid : inputValidationText.empty}</div>\r\n                }\r\n            </>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Button } from 'reactstrap';\r\nimport Loading from '../Global/Loading';\r\n\r\nexport class SubmitButton extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n    }\r\n\r\n    render() {\r\n        const { name, disabled, onClickFunction, loading, loadingText, paddings } = this.props;\r\n        const attrClass = paddings === '' || paddings === undefined ? 'text-uppercase px-4 py-2' : 'text-uppercase ' + paddings;\r\n\r\n        return (\r\n            loading\r\n                ? <Loading loadingText={loadingText} />\r\n                : <Button\r\n                    type=\"submit\"\r\n                    color=\"primary\"\r\n                    className={attrClass}\r\n                    onClick={onClickFunction}\r\n                    disabled={disabled}\r\n                >\r\n                    {name ? name : ''}\r\n                </Button>\r\n        );\r\n    }\r\n}\r\n","import JSEncrypt from 'jsencrypt';\r\n\r\nexport class CryptoService {\r\n    async getPublicKey() {\r\n        const response = await fetch('/DigitalSignature/GetPublicKey', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' }\r\n        });\r\n        var result = await response.json();\r\n\r\n        if (response.status === 200 && response.ok && !result.error) {\r\n            return result.value\r\n        }\r\n\r\n        return null;\r\n    }\r\n\r\n    encryptMessage(message, publicKey) {\r\n        const jsEncrypt = new JSEncrypt();\r\n        jsEncrypt.setPublicKey(publicKey);\r\n\r\n        return jsEncrypt.encrypt(message);\r\n    }\r\n}\r\n\r\nconst cryptoService = new CryptoService();\r\n\r\nexport default cryptoService;\r\n","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport { Form, FormGroup, Label, Alert, Button } from 'reactstrap';\r\nimport { PhoneNumberField } from '../Fields/PhoneNumberField';\r\nimport { PinField } from '../Fields/PinField';\r\nimport TooltipItem from '../Fields/TooltipItem';\r\nimport { SubmitButton } from '../Fields/SubmitButton';\r\nimport cryptoService from './CryptoService';\r\nimport { ConfigManager } from '../Global/SettingsManager';\r\n\r\nexport class DigitalSignatureRequest extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            mobilePhone: this.props.mobilePhone,\r\n            authenticationData: {\r\n                pin: ''\r\n            },\r\n            loading: false,\r\n            errors: [],\r\n            errorMessage: '',\r\n            isValid: false,\r\n            configs: {},\r\n        };\r\n\r\n        this.submit = this.submit.bind(this);\r\n        this.cancel = this.cancel.bind(this);\r\n        this.validateConfig = this.validateConfig.bind(this);\r\n        this.signPdfRequest = this.signPdfRequest.bind(this);\r\n        this.handleChange = this.handleChange.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        window.scrollTo(0, 0);\r\n\r\n        this.validateConfig();\r\n    }\r\n\r\n    submit(event) {\r\n        event.preventDefault();\r\n\r\n        if (!this.hasErrors()) {\r\n            this.setState({ loading: true });\r\n            this.signPdfRequest();\r\n        }\r\n    }\r\n\r\n    cancel(event) {\r\n        event.preventDefault();\r\n        this.props.cancel();\r\n    }\r\n\r\n    async validateConfig() {\r\n        var configManager = new ConfigManager();\r\n        const _enableDigitalSign = await configManager.enableDigitalSign();\r\n        if (this.state.configs) {\r\n            this.setState({\r\n                configs: {\r\n                    enableDigitalSign: _enableDigitalSign\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n    async signPdfRequest() {\r\n        const { authenticationData } = this.state;\r\n        const publicKey = await cryptoService.getPublicKey();\r\n        const encryptedPin = cryptoService.encryptMessage(authenticationData.pin, publicKey);\r\n\r\n        const data = {\r\n            pin: encryptedPin\r\n        };\r\n        const response = await fetch('/DigitalSignature/DocumentDigitalSign', {\r\n            method: 'POST',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n            body: JSON.stringify(data)\r\n        });\r\n        var result = await response.json();\r\n\r\n        if (response.status === 200 && response.ok && !result.error) {\r\n            this.props.signPdfRequestSuccess(result.value);\r\n        } else {\r\n            this.setState({\r\n                loading: false,\r\n                errorMessage: result && result.message ? result.message : this.props.globalResources.Erro_Interno\r\n            });\r\n\r\n            window.scrollTo(0, 0);\r\n        }\r\n    }\r\n\r\n    handleCompareKeys(a, b) {\r\n        var aKeys = Object.keys(a).sort();\r\n        var bKeys = Object.keys(b).sort();\r\n\r\n        return JSON.stringify(aKeys) === JSON.stringify(bKeys);\r\n    }\r\n\r\n    hasErrors() {\r\n        var errors = Object.values(this.state.errors);\r\n        var hasErrors = errors.length === 0 || errors.reduce(function (acc, value) {\r\n            return acc || value;\r\n        }, false);\r\n\r\n        return hasErrors;\r\n    }\r\n\r\n    handleChange(event, target, errors, rawData) {\r\n        const { name, value } = !!rawData ? rawData : target !== undefined ? event : event.target;\r\n\r\n        this.setState(prevState => ({\r\n            authenticationData: {\r\n                ...prevState.authenticationData,\r\n                [name]: value\r\n            },\r\n            errors: {\r\n                ...prevState.errors,\r\n                [name]: errors\r\n            }\r\n        }), () => this.setState({\r\n            isValid: !this.hasErrors() && this.handleCompareKeys(this.state.errors, this.state.authenticationData)\r\n        }));\r\n    }\r\n\r\n    render() {\r\n        const { authenticationData, configs, mobilePhone, isValid, loading, errorMessage } = this.state;\r\n        const { globalResources, formResources } = this.props;\r\n\r\n        if (configs !== null && configs.enableDigitalSign) {\r\n            return (\r\n                <Row>\r\n                    <Col className=\"order-first order-lg-last col-lg-6 offset-lg-1\">\r\n                        <aside className=\"description\" dangerouslySetInnerHTML={{ __html: globalResources.DigitalSignatureDescription }} />\r\n                    </Col>\r\n                    <Col lg=\"5\">\r\n                        <Form className=\"needs-validation\" noValidate>\r\n                            <FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n                                <legend className=\"text-primary\"><strong>{formResources.AMADigitalSignatureLegend}</strong></legend>\r\n\r\n                                {errorMessage &&\r\n                                    <Alert key={errorMessage} color=\"danger\"><div dangerouslySetInnerHTML={{ __html: errorMessage }} /></Alert>\r\n                                }\r\n\r\n                                <FormGroup>\r\n                                    <Label for=\"mobilePhone\" className=\"form-label text-uppercase mr-sm-2\">{formResources.FormLabelMobilephoneNumb}</Label>\r\n                                    <PhoneNumberField id=\"mobilePhone\" inputValidationText={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorMobilephoneNumb }} inputValue={mobilePhone} readonly={true} />\r\n                                </FormGroup>\r\n                                <FormGroup>\r\n                                    <Label for=\"pin\" className=\"form-label text-uppercase mr-sm-2\">{formResources.FormLabelPin}*</Label>\r\n                                    <TooltipItem key=\"FormTooltipPin\" id=\"FormTooltipPin\" text={formResources.FormTooltipPin} />\r\n                                    <PinField id=\"pin\" inputValidationText={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorPin }} inputValue={authenticationData.pin} onChangeFunction={this.handleChange} required={true} />\r\n                                </FormGroup>\r\n                            </FormGroup>\r\n\r\n                            <Row>\r\n                                <Col className=\"col-6 align-self-center\">\r\n                                    <Button\r\n                                        type=\"button\"\r\n                                        color=\"link\"\r\n                                        onClick={this.cancel}\r\n                                    >\r\n                                        <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                                        {globalResources.NavBackText}\r\n                                    </Button>\r\n                                </Col>\r\n                                <Col className=\"col-6 text-right align-self-center\">\r\n                                    <SubmitButton\r\n                                        name={globalResources.NavSubmitText}\r\n                                        disabled={!isValid}\r\n                                        onClickFunction={this.submit}\r\n                                        loading={loading}\r\n                                    />\r\n                                </Col>\r\n                            </Row>\r\n                        </Form>\r\n                    </Col>\r\n                </Row>\r\n            );\r\n        } else {\r\n            return (\r\n                <>\r\n                    <Row>\r\n                        <Col className=\"order-first order-lg-last col-lg-6 offset-lg-1\">\r\n                            <aside className=\"description\" dangerouslySetInnerHTML={{ __html: globalResources.DigitalSignatureDescription }} />\r\n                        </Col>\r\n                        <Col lg=\"5\" className=\"align-self-center\">\r\n                            <Alert key={globalResources.DigitalSignatureDescriptionWarning} color=\"danger\"><div dangerouslySetInnerHTML={{ __html: globalResources.DigitalSignatureDescriptionWarning }} /></Alert>\r\n                        </Col>\r\n                    </Row>\r\n                    <Row>\r\n                        <Col className=\"col-6 align-self-center\">\r\n                            <Button\r\n                                type=\"button\"\r\n                                color=\"link\"\r\n                                onClick={this.cancel}\r\n                            >\r\n                                <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                                {globalResources.NavBackText}\r\n                            </Button>\r\n                        </Col>\r\n                    </Row>\r\n                </>\r\n            );\r\n        }\r\n\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Row, Col, Form, FormGroup, Label, Alert, Button } from 'reactstrap';\r\nimport { SMSTokenField } from '../Fields/SMSTokenField';\r\nimport { SubmitButton } from '../Fields/SubmitButton';\r\nimport Loading from '../Global/Loading';\r\nimport cryptoService from './CryptoService';\r\n\r\nexport class DigitalSignatureConfirmation extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            authenticationData: {\r\n                token: '',\r\n                processId: this.props.processId || ''\r\n            },\r\n            loadingResend: false,\r\n            loadingValidate: false,\r\n            errors: [],\r\n            errorMessage: '',\r\n            infoMessage: '',\r\n            isValid: false\r\n        };\r\n\r\n        this.submit = this.submit.bind(this);\r\n        this.resend = this.resend.bind(this);\r\n        this.cancel = this.cancel.bind(this);\r\n        this.handleChange = this.handleChange.bind(this);\r\n\r\n        this.resendToken = this.resendToken.bind(this);\r\n        this.validateToken = this.validateToken.bind(this);\r\n    }\r\n\r\n    cancel(event) {\r\n        event.preventDefault();\r\n        this.props.cancel();\r\n    }\r\n\r\n    resend(event) {\r\n        event.preventDefault();\r\n        this.setState({ loadingResend: true });\r\n        this.resendToken();\r\n    }\r\n\r\n    submit(event) {\r\n        event.preventDefault();\r\n\r\n        if (!this.hasErrors()) {\r\n            this.setState({ loadingValidate: true });\r\n            this.validateToken();\r\n        }\r\n    }\r\n\r\n    async resendToken() {\r\n        const { authenticationData } = this.state;\r\n        const data = {\r\n            processId: authenticationData.processId\r\n        };\r\n        const response = await fetch('/DigitalSignature/RequestNewToken', {\r\n            method: 'POST',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n            body: JSON.stringify(data)\r\n        });\r\n        var result = await response.json();\r\n\r\n        if (response.status === 200 && response.ok && !result.error) {\r\n            this.setState({\r\n                infoMessage: this.props.globalResources.ErrorSMSCode,\r\n                errorMessage: ''\r\n            });\r\n        } else {\r\n            this.setState({\r\n                infoMessage: '',\r\n                errorMessage: this.props.globalResources.Erro_Interno\r\n            });\r\n        }\r\n\r\n        this.setState({\r\n            loadingResend: false\r\n        });\r\n\r\n        window.scrollTo(0, 0);\r\n    }\r\n\r\n    async validateToken() {\r\n        const { authenticationData } = this.state;\r\n        const publicKey = await cryptoService.getPublicKey();\r\n        const encryptedToken = cryptoService.encryptMessage(authenticationData.token, publicKey);\r\n        const data = {\r\n            token: encryptedToken,\r\n            processId: authenticationData.processId\r\n        };\r\n        const response = await fetch('/DigitalSignature/ValidateDigitalSignToken', {\r\n            method: 'POST',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n            body: JSON.stringify(data)\r\n        });\r\n        var result = await response.json();\r\n\r\n        if (response.status === 200 && response.ok && !result.error) {\r\n            this.props.signPdfConfirmationSuccess(result.value);\r\n        } else {\r\n            this.setState({\r\n                loadingValidate: false,\r\n                errorMessage: result && result.message ? result.message : this.props.globalResources.Erro_Interno\r\n            });\r\n\r\n            window.scrollTo(0, 0);\r\n        }\r\n    }\r\n\r\n    hasErrors() {\r\n        var errors = Object.values(this.state.errors);\r\n\r\n        var hasErrors = errors.length === 0 || errors.reduce(function (acc, value) {\r\n            return acc || value;\r\n        }, false);\r\n\r\n        return hasErrors;\r\n    }\r\n\r\n    handleChange(event, target, errors, rawData) {\r\n        const { name, value } = !!rawData ? rawData : target !== undefined ? event : event.target;\r\n\r\n        this.setState(prevState => ({\r\n            authenticationData: {\r\n                ...prevState.authenticationData,\r\n                [name]: value\r\n            },\r\n            errors: {\r\n                ...prevState.errors,\r\n                [name]: errors\r\n            }\r\n        }), () => this.setState({\r\n            isValid: !this.hasErrors()\r\n        }));\r\n    }\r\n\r\n    render() {\r\n        const { authenticationData, isValid, loadingResend, loadingValidate, errorMessage, infoMessage } = this.state;\r\n        const { globalResources, formResources } = this.props;\r\n\r\n        return (\r\n            <Row>\r\n                <Col className=\"order-first order-lg-last col-lg-6 offset-lg-1\">\r\n                    <aside className=\"description\" dangerouslySetInnerHTML={{ __html: globalResources.DigitalSignatureConfirmationDescription }} />\r\n                </Col>\r\n                <Col lg=\"5\">\r\n                    <Form className=\"needs-validation\" noValidate>\r\n                        <FormGroup tag=\"fieldset\" className=\"mb-0\">\r\n                            <legend className=\"text-primary\"><strong>{formResources.TokenLegend}</strong></legend>\r\n\r\n                            <div className=\"lead\" dangerouslySetInnerHTML={{ __html: formResources.AMADigitalSignatureDescription }} />\r\n\r\n                            {errorMessage &&\r\n                                <Alert key={errorMessage} color=\"danger\"><div dangerouslySetInnerHTML={{ __html: errorMessage }} /></Alert>\r\n                            }\r\n\r\n                            {infoMessage &&\r\n                                <Alert key={infoMessage} color=\"info\" className=\"text-primary\"><div dangerouslySetInnerHTML={{ __html: infoMessage }} /></Alert>\r\n                            }\r\n\r\n                            <Row>\r\n                                <Col className=\"col-lg-12\">\r\n                                    <FormGroup>\r\n                                        <Label for=\"smsCode\" className=\"form-label text-uppercase mr-sm-2\">{formResources.FormLabelTokenCode}*</Label>\r\n                                        <SMSTokenField id=\"token\" inputValidationText={{ empty: formResources.FormErrorFieldEmpty, invalid: formResources.FormErrorSMSCode }} inputValue={authenticationData.token} onChangeFunction={this.handleChange} required={true} autoFocus={true} />\r\n                                    </FormGroup>\r\n                                </Col>\r\n                            </Row>\r\n                        </FormGroup>\r\n\r\n                        <Row>\r\n                            <Col className=\"col-6 col-lg-6 align-self-center\">\r\n                                <Button\r\n                                    type=\"button\"\r\n                                    color=\"link\"\r\n                                    onClick={this.cancel}\r\n                                >\r\n                                    <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                                    {globalResources.NavBackText}\r\n                                </Button>\r\n                            </Col>\r\n                            <Col className=\"col-6 col-lg-6 text-right align-self-center\">\r\n                                <SubmitButton\r\n                                    name={globalResources.NavValidateText}\r\n                                    onClickFunction={this.submit}\r\n                                    disabled={!isValid}\r\n                                    loading={loadingValidate}\r\n                                />\r\n                            </Col>\r\n                        </Row>\r\n\r\n                        <p className=\"mt-3\">\r\n                            {globalResources.TokenResendCodeText} {globalResources.TokenResendCode}.\r\n                        </p>\r\n\r\n                        {loadingResend\r\n                            ? <Loading loadingText={globalResources.LoadingSentData} />\r\n                            : <Button\r\n                                type=\"button\"\r\n                                color=\"link\"\r\n                                onClick={this.resend}\r\n                            >\r\n                                {globalResources.TokenResendCode}\r\n                            </Button>\r\n                        }\r\n                    </Form>\r\n                </Col>\r\n            </Row>\r\n        );\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport { DigitalSignatureRequest } from './DigitalSignatureRequest';\r\nimport { DigitalSignatureConfirmation } from './DigitalSignatureConfirmation';\r\nimport { MainFormNavInfo } from '../Form/MainFormNavInfo';\r\n\r\nexport class AMADigitalSignature extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            processId: '',\r\n            step: 'signPdfRequest',\r\n            error: ''\r\n        };\r\n\r\n        this.handleStep = this.handleStep.bind(this);\r\n        this.signPdfRequestError = this.signPdfRequestError.bind(this);\r\n        this.signPdfRequestSuccess = this.signPdfRequestSuccess.bind(this);\r\n        this.signPdfConfirmationSuccess = this.signPdfConfirmationSuccess.bind(this);\r\n    }\r\n\r\n    handleStep() {\r\n        this.setState({\r\n            step: 'signPdfRequest'\r\n        });\r\n    }\r\n\r\n    signPdfRequestError(errorMessage) {\r\n        this.setState({\r\n            processId: '',\r\n            step: 'signPdfRequest',\r\n            error: errorMessage\r\n        });\r\n\r\n        window.scrollTo(0, 0);\r\n    }\r\n\r\n    signPdfRequestSuccess(data) {\r\n        this.setState({\r\n            processId: data,\r\n            step: 'signPdfConfirmation',\r\n            error: ''\r\n        });\r\n    }\r\n\r\n    signPdfConfirmationSuccess(pdf) {\r\n        this.props.sucess(pdf);\r\n    }\r\n\r\n    render() {\r\n        const { step, processId, error } = this.state;\r\n        const { globalResources, formResources, mobilePhone, mobilePhoneDialogCode, activeStep, cancelDigitalSignature } = this.props;\r\n\r\n        switch (step) {\r\n            case 'signPdfConfirmation':\r\n                return (\r\n                    <main className=\"page-content main-form main-form__step5\">\r\n                        <Container>\r\n                            <Row className=\"main-form__header\">\r\n                                <Col>\r\n                                    <h1 className=\"sr-only\">{formResources.Step5Title}</h1>\r\n\r\n                                    <MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n                                </Col>\r\n                            </Row>\r\n\r\n                            <DigitalSignatureConfirmation\r\n                                formResources={formResources}\r\n                                globalResources={globalResources}\r\n                                processId={processId}\r\n                                cancel={this.handleStep}\r\n                                signPdfConfirmationSuccess={this.signPdfConfirmationSuccess}\r\n                                validateTokenError={this.validateTokenError}\r\n                                errorMessage={error}\r\n                            />\r\n                        </Container>\r\n                    </main>\r\n                );\r\n            case 'signPdfRequest':\r\n            default:\r\n                return (\r\n                    <main className=\"page-content main-form main-form__step5\">\r\n                        <Container>\r\n                            <Row className=\"main-form__header\">\r\n                                <Col>\r\n                                    <h1 className=\"sr-only\">{formResources.Step5Title}</h1>\r\n\r\n                                    <MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n                                </Col>\r\n                            </Row>\r\n\r\n                            <DigitalSignatureRequest\r\n                                mobilePhone={mobilePhone}\r\n                                mobilePhoneDialogCode={mobilePhoneDialogCode}\r\n                                globalResources={globalResources}\r\n                                formResources={formResources}\r\n                                cancel={cancelDigitalSignature}\r\n                                signPdfRequestSuccess={this.signPdfRequestSuccess}\r\n                                signPdfRequestError={this.signPdfRequestError}\r\n                                errorMessage={error}\r\n                            />\r\n                        </Container>\r\n                    </main>\r\n                );\r\n        }\r\n    }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Row, FormGroup, CustomInput, Label} from 'reactstrap';\r\n\r\nexport class FirstExperienceField extends Component{\r\n\r\n    constructor(props){\r\n        super(props);\r\n        this.onchangeValue = this.onchangeValue.bind(this);\r\n    }\r\n\r\n    onchangeValue(event){\r\n        let obj = this.props.questionsData;\r\n        let name= event.target.name;\r\n        let value= event.target.value;\r\n        \r\n        let idx =  obj.Questions.findIndex(object => {\r\n            return object.QuestionCode === name;\r\n        });\r\n\r\n        if(idx === undefined || idx === -1){\r\n            obj.Questions.push({QuestionCode: name, ResponseCodes:[{Code: value}]});\r\n        }else{\r\n            obj.Questions[idx] = {QuestionCode: name, ResponseCodes:[{Code: value}]}\r\n        }\r\n        \r\n        this.props.onChange({name: \"questionData\", value: obj}, \"\", false);\r\n    }\r\n\r\n    render(){\r\n\r\n        const {data, questionsData, formResources} = this.props;\r\n        let firstDate = \"\"\r\n        if(data){firstDate = data[0]}\r\n\r\n        let responseData = questionsData.Questions.find(obj => obj.QuestionCode === firstDate.code)\r\n        \r\n        return(\r\n            <FormGroup className=\"col p-0\">\r\n                <Label className=\"h6\"><strong>{firstDate.text}</strong> {firstDate.isRequired? \" *\": \"\"} </Label>\r\n                <Row className=\"columngap-2 m-0 pt-2\">\r\n                    {firstDate &&\r\n                        firstDate.answers.map((obj) => \r\n                        <div key={`col1-${obj.code}`} className=\"d-flex flex-column align-items-center\">\r\n                            <img className=\"img pb-2\" src={require(`../../img/icn/icon-${obj.code}.svg`)} alt=\"\" />\r\n                            <FormGroup className=\"mb-0\"  key={`formgroup1-${obj.code}`}>\r\n                                <CustomInput\r\n                                    key={`CustomInput1-${obj.code}`} \r\n                                    id={obj.code} \r\n                                    name={firstDate.code} \r\n                                    value={obj.code} \r\n                                    checked = {!responseData? false : responseData.ResponseCodes[0].Code === obj.code}\r\n                                    onChange={this.onchangeValue}\r\n                                    className=\"mr-0 checkLabelPad-0\" \r\n                                    type=\"radio\">\r\n                                </CustomInput>\r\n                            </FormGroup>\r\n                            <Label key={`label1-${obj.code}`} htmlFor={obj.code} className=\"form-label\">{obj.text}</Label>\r\n                        </div>\r\n                        )\r\n                    }\r\n                    {firstDate && firstDate.isRequired && !responseData &&\r\n                        <>\r\n                            <div className=\"is-invalid\"></div>\r\n                            <div className=\"invalid-feedback\">\r\n                                {formResources.FieldRequired}\r\n                            </div> \r\n                        </>\r\n                    }\r\n                </Row>\r\n            </FormGroup>\r\n        )\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Row, FormGroup, CustomInput, Label} from 'reactstrap';\r\n\r\nexport class SecondExperienceFields extends Component{\r\n    constructor(props){\r\n        super(props)\r\n\r\n        this.onchangeValue = this.onchangeValue.bind(this);\r\n    }\r\n\r\n\r\n    onchangeValue(event){\r\n        let obj = this.props.questionsData;\r\n        let name= event.target.name;\r\n        let value= event.target.value;\r\n        \r\n        let idx =  obj.Questions.findIndex(object => {\r\n            return object.QuestionCode === name;\r\n        });\r\n\r\n        if(idx === undefined || idx === -1){\r\n            obj.Questions.push({QuestionCode: name, ResponseCodes:[{Code: value}]});\r\n        }else{\r\n            obj.Questions[idx] = {QuestionCode: name, ResponseCodes:[{Code: value}]}\r\n        }\r\n\r\n        this.props.onChange({name: \"questionData\", value:obj}, \"\", false);\r\n    }\r\n\r\n    render(){\r\n        const {data, questionsData, formResources} = this.props;\r\n        let secondData = \"\"\r\n        if(data){secondData = data[1];}\r\n        \r\n        let responseData = questionsData.Questions.find(obj => obj.QuestionCode === secondData.code);\r\n\r\n        return(\r\n            <FormGroup className=\"col p-0 mt-4\">\r\n                <Label className=\"h6\"><strong>{secondData.text}</strong> {secondData.isRequired? \" *\": \"\"}</Label>\r\n                <Row className=\"m-0 pt-3 columngap-1_5\">\r\n                    {secondData &&\r\n                        secondData.answers.map((obj) => \r\n                        <div key={`col2-${obj.code}`} className=\"d-flex flex-column align-items-center\">\r\n                            <FormGroup className=\"mb-0\"  key={`formgroup2-${obj.code}`}>\r\n                                <CustomInput \r\n                                    key={`CustomInput2-${obj.code}`} \r\n                                    id={obj.code} \r\n                                    name={secondData.code} \r\n                                    value={obj.code} \r\n                                    onChange={this.onchangeValue}\r\n                                    checked={!responseData? false: responseData.ResponseCodes[0].Code === obj.code }\r\n                                    className=\"mr-0 checkLabelPad-0\"\r\n                                    type=\"radio\">\r\n                                </CustomInput>\r\n                            </FormGroup>\r\n                            <Label key={`label2-${obj.code}`} htmlFor={obj.code} className=\"form-label\">{Number(obj.text)+1}</Label>\r\n                        </div>\r\n                        )\r\n                    }\r\n                    {secondData && secondData.isRequired && !responseData &&\r\n                        <>\r\n                            <div className=\"is-invalid\"></div>\r\n                            <div className=\"invalid-feedback\">\r\n                                {formResources.FieldRequired}\r\n                            </div> \r\n                        </>\r\n                    }\r\n                </Row>\r\n            </FormGroup>\r\n        )\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { FormGroup, Label, Input} from 'reactstrap';\r\nimport { CountingInput } from './CountingInput';\r\n\r\nexport class ThirdFiedQuiz extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.onchangeValue = this.onchangeValue.bind(this);\r\n    }\r\n\r\n    onchangeValue(event){\r\n        let obj = this.props.questionsData;\r\n\r\n        let name= event.target.name;\r\n        let value= event.target.value;\r\n        let idx =  obj.Questions.findIndex(object => {\r\n            return object.QuestionCode === name;\r\n        });\r\n\r\n        if(idx === undefined || idx === -1){\r\n            obj.Questions.push({QuestionCode: name, ResponseValue: value});\r\n        }else{\r\n            obj.Questions[idx] = {QuestionCode: name, ResponseValue: value}\r\n        }\r\n\r\n\r\n        this.props.onChange({name: \"questionData\", value:obj}, \"\", false);\r\n    }\r\n\r\n    render(){\r\n        const {data, maxLength, questionsData, formResources} = this.props;\r\n        let thirdData = \"\"\r\n        if(data){thirdData = data[2];}\r\n\r\n        let responseData = questionsData.Questions.find(obj => obj.QuestionCode === thirdData.code);\r\n\r\n        let responseEmpty = !responseData? 0 : responseData.ResponseValue.length\r\n\r\n        return(\r\n            <FormGroup className=\"col p-0 mt-4\">\r\n                <Label className=\"h6\"><strong>{thirdData.text}</strong> {thirdData.isRequired? \" *\": \"\"}</Label>\r\n                <Input\r\n                    type=\"textarea\" \r\n                    className=\"FeedBackTextAreaQuiz\" \r\n                    rows={6}  \r\n                    maxLength={maxLength} \r\n                    onChange={this.onchangeValue}\r\n                    defaultValue = {!responseData? \"\" : responseData.ResponseValue}\r\n                    name={thirdData.code}>\r\n                </Input>\r\n                <div className='row ml-0 justify-content-between'>\r\n                    <div>\r\n                        {thirdData && thirdData.isRequired && !responseEmpty &&\r\n                            <>\r\n                                <div className=\"is-invalid d-none\"></div>\r\n                                <div className=\"invalid-feedback w-auto\" >\r\n                                    {formResources.FieldRequired}\r\n                                </div> \r\n                            </>\r\n                        }\r\n                    </div>\r\n                    \r\n                    <small className=\"col-auto form-text text-right text-primary\">\r\n                        <CountingInput limit={maxLength} actual={!responseData? 0 : responseData.ResponseValue.length} />\r\n                    </small>\r\n                </div>\r\n            </FormGroup>\r\n        )\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { FormGroup, Label, Input} from 'reactstrap';\r\n\r\nexport class FouthFieldQuiz extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.onchangeValue = this.onchangeValue.bind(this);\r\n        this.ischeck = this.ischeck.bind(this);\r\n        this.verifyneedComments = this.verifyneedComments.bind(this);\r\n    }\r\n\r\n    onchangeValue(event){\r\n        let obj = this.props.questionsData;\r\n        let name= event.target.name;\r\n        let value= event.target.value;\r\n        \r\n        if(event.target.type === \"text\"){\r\n            let idxFifth = obj.Questions.findIndex(object => {return object.QuestionCode === name});\r\n            value = value === \"\" ? null : value;\r\n            obj.Questions[idxFifth].ResponseValue = value;\r\n        }else{\r\n            let idx =  obj.Questions.findIndex(object => {\r\n                return object.QuestionCode === name;\r\n            });\r\n\r\n            if(idx === undefined || idx === -1){\r\n                obj.Questions.push({QuestionCode: name, ResponseCodes:[{Code: value}]});\r\n                if(value === this.verifyneedComments()){\r\n                    obj.Questions.push({QuestionCode: '005', ResponseValue: null});\r\n                }\r\n            }else{\r\n                let idxResponseCode = obj.Questions[idx].ResponseCodes.findIndex(object => {\r\n                    return object.Code === value\r\n                });\r\n                //add ResponseCode\r\n                if(idxResponseCode === -1){\r\n                    obj.Questions[idx] = {QuestionCode: name, ResponseCodes:[...obj.Questions[idx].ResponseCodes, {Code: value}]}\r\n                    if(value === this.verifyneedComments()){\r\n                        obj.Questions.push({QuestionCode: '005', ResponseValue: null});\r\n                    }\r\n                }else{\r\n                    //Remove Respose code\r\n                    let responseCodes = obj.Questions[idx].ResponseCodes;\r\n                    \r\n                    let responseCodeRemoved = responseCodes.filter((elem) => {\r\n                        return elem.Code !== value\r\n                    });\r\n                    \r\n                    if(responseCodeRemoved.length === 0){\r\n                        obj.Questions = obj.Questions.filter((elem) => {\r\n                            return elem.QuestionCode !== name\r\n                        });\r\n                    }else{\r\n                        obj.Questions[idx] = {QuestionCode: name, ResponseCodes: responseCodeRemoved}\r\n                    }\r\n\r\n                    if(value === this.verifyneedComments()){\r\n                        obj.Questions = obj.Questions.filter((elem) =>{\r\n                            return elem.QuestionCode !== '005'\r\n                        });\r\n                    }\r\n\r\n                }\r\n            }\r\n        }\r\n        this.props.onChange({name: \"questionData\", value: obj}, \"\", false);\r\n    }\r\n\r\n\r\n    ischeck(respose, code){\r\n        return !!(!respose? false : respose.ResponseCodes.find(elem => elem.Code === code))\r\n    }\r\n\r\n    verifyneedComments(){\r\n        return !this.props.data[3] ? undefined : this.props.data[3].answers.find(elem => elem.needComments === true).code; \r\n    }\r\n\r\n    render(){\r\n        const {data, questionsData,formResources} = this.props;\r\n        let fourthData = \"\"\r\n        let fifthData = \"\";\r\n        let codeRequiredInput;\r\n        if(data){\r\n            fourthData = data[3];\r\n            fifthData = data[4];\r\n            codeRequiredInput = fourthData.answers.find(elem => {\r\n                return elem.needComments === true; \r\n            }).code;\r\n        }\r\n\r\n        let responseData = questionsData.Questions.find(obj => obj.QuestionCode === fourthData.code);\r\n        let responseDataFifth = questionsData.Questions.find(obj => obj.QuestionCode === fifthData.code);\r\n        \r\n\r\n        let needComments = !responseData? true : responseData.ResponseCodes.find(obj => obj.Code === this.verifyneedComments());\r\n        let otherInputValid = true;\r\n        if(needComments !== undefined){\r\n            if(responseDataFifth){\r\n                otherInputValid = responseDataFifth.ResponseValue !== null? false: true\r\n            }\r\n        }else if(responseData){\r\n            otherInputValid = false;\r\n        }\r\n\r\n        return(\r\n            <FormGroup className=\"col p-0 mb-5\">\r\n                <Label className=\"h6\"><strong>{fourthData.text}</strong> {fourthData.isRequired? \" *\": \"\"} </Label>\r\n\r\n                {fourthData && fourthData.answers.map((obj) => \r\n                    <FormGroup key={`form-${obj.code}`} className={this.verifyneedComments() === obj.code? \"mb-0\": \"\"}>\r\n                        <Input \r\n                            key={`checkbox-${obj.code}`} id={obj.code}\r\n                            name={fourthData.code} \r\n                            className=\"ml-0\" \r\n                            checked = {this.ischeck(responseData, obj.code)}\r\n                            value={obj.code} \r\n                            type=\"checkbox\" \r\n                            onChange={this.onchangeValue}\r\n                        />\r\n                        <Label key={`label-${obj.code}`} htmlFor={obj.code} className=\"form-label ml-4\">{obj.text}</Label>\r\n                    </FormGroup>\r\n                )}\r\n\r\n                {responseDataFifth && \r\n                    <Input\r\n                        name={fifthData.code}\r\n                        id={codeRequiredInput}\r\n                        value={!responseData? \"\" : responseData.ResponseCodes.find((el) => el.Code === this.verifyneedComments()).Comments}\r\n                        onChange={this.onchangeValue}\r\n                        type=\"text\"\r\n                    />\r\n                }\r\n\r\n                {((otherInputValid && fourthData && fourthData.isRequired) || (otherInputValid && responseData)) &&\r\n                        <>\r\n                        <div className=\"is-invalid\"></div>\r\n                        <div className=\"invalid-feedback\">\r\n                            {formResources.FieldRequired}\r\n                        </div> \r\n                    </>\r\n                }\r\n            </FormGroup>\r\n        )\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Row, FormGroup, Label, CustomInput} from 'reactstrap';\r\nimport icon_whatsapp from '../../img/icn/icon-whatsapp.svg'\r\n\r\nexport class FifthFieldQuiz extends Component{\r\n    constructor(props){\r\n        super(props);\r\n        this.onchangeValue = this.onchangeValue.bind(this);\r\n    }\r\n\r\n    onchangeValue(event){\r\n        let obj = this.props.questionsData;\r\n        let name= event.target.name;\r\n        let value= event.target.value;\r\n        \r\n        let idx =  obj.Questions.findIndex(object => {\r\n            return object.QuestionCode === name;\r\n        });\r\n\r\n        if(idx === undefined || idx === -1){\r\n            obj.Questions.push({QuestionCode: name, ResponseCodes:[{Code: value}]});\r\n        }else{\r\n            obj.Questions[idx] = {QuestionCode: name, ResponseCodes:[{Code: value}]}\r\n        }\r\n        \r\n        this.props.onChange({name: \"questionData\", value: obj}, \"\", false);\r\n    }\r\n\r\n    render(){\r\n        const {data, questionsData, formResources} = this.props;\r\n        let fifthData = \"\"\r\n        let texts = [];\r\n        let textsWhat = [];\r\n        if(data){\r\n            fifthData = data[5];\r\n            texts = fifthData.text.split('<br />');\r\n            textsWhat = texts[1].split('\\r\\n\\r\\n');\r\n        }\r\n\r\n        let responseData = questionsData.Questions.find(obj => obj.QuestionCode === fifthData.code)\r\n\r\n        return(\r\n            <FormGroup className=\"col p-0 pt-3\">\r\n                <Label className=\"h6\"><strong>{texts[0]}</strong> {fifthData.isRequired? \" *\": \"\"}</Label>\r\n                <Row className=\"align-items-center m-0\">\r\n                    <img className=\"img\" src={icon_whatsapp} alt=\"\"/>\r\n                    <Label className=\"form-label mb-0 ml-1\">{textsWhat[0]} <br/> {textsWhat[1]}</Label>\r\n                </Row>\r\n                <Label className=\"h6 mt-3\"><strong>{texts[2]}</strong></Label>\r\n                <p className='form-label'>{texts[3]}</p>\r\n                <p className='form-label'>{texts[4]}</p>\r\n                <Row className=\"columngap-2 m-0 pt-2\">\r\n                    {fifthData && \r\n                        fifthData.answers.map((obj) => \r\n                            <div key={`col5-${obj.code}`} className=\"d-flex flex-column align-items-center\">\r\n                                <FormGroup key={`formgroup5-${obj.code}`} className=\"mb-0\">\r\n                                    <CustomInput\r\n                                        type=\"radio\" \r\n                                        value={obj.code} \r\n                                        name={fifthData.code} \r\n                                        key={`CustomInput5-${obj.code}`} \r\n                                        id={obj.code} \r\n                                        checked = {!responseData? false : responseData.ResponseCodes[0].Code === obj.code}\r\n                                        onChange={this.onchangeValue}\r\n                                        className=\"mr-0 checkLabelPad-0\">\r\n                                    </CustomInput>\r\n                                </FormGroup>\r\n                                <Label key={`label5-${obj.code}`} htmlFor={obj.code} className=\"form-label\">{(obj.text)}</Label>\r\n                            </div>    \r\n                        )\r\n                    }\r\n                </Row>\r\n\r\n                {fifthData && fifthData.isRequired && !responseData &&\r\n                    <>\r\n                        <div className=\"is-invalid\"></div>\r\n                        <div className=\"invalid-feedback\">\r\n                            {formResources.FieldRequired}\r\n                        </div> \r\n                    </>\r\n                }\r\n\r\n            </FormGroup>\r\n        )\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { withRouter } from \"react-router\";\r\nimport { Alert, Row, Col, Button } from 'reactstrap';\r\nimport { SubmitButton } from '../Fields/SubmitButton';\r\nimport {FirstExperienceField} from '../Fields/FirstExperienceField';\r\nimport { SecondExperienceFields } from '../Fields/SecondExperienceFields';\r\nimport { ThirdFiedQuiz } from '../Fields/ThirdFieldQuiz';\r\nimport { FouthFieldQuiz } from '../Fields/FourthFieldQuiz';\r\nimport { FifthFieldQuiz } from '../Fields/fifthFieldQuiz';\r\n\r\nclass DownloadPdf extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            loading: false,\r\n            errorMessage: '',\r\n            QuizData: {}\r\n        };\r\n\r\n        this.download = this.download.bind(this);\r\n        this.cancel = this.cancel.bind(this);\r\n        this.submit = this.submit.bind(this);\r\n    }\r\n\r\n    submit(event) {\r\n        event.preventDefault();\r\n        this.setState({ loading: true });\r\n        this.formSubmit();\r\n    }\r\n\r\n    componentDidMount(){\r\n        this.getData();\r\n    }\r\n\r\n    async getData(){\r\n        const responde = await fetch('/Form/GetQuiz',{\r\n            method: 'GET',\r\n            headers: {\r\n                'Content-Type': 'application/json'\r\n            },\r\n        });\r\n        if(responde.status === 200 && responde.ok){\r\n            let result = await responde.json();\r\n\r\n            this.setState({\r\n                ...this.state,\r\n                QuizData: result\r\n            });\r\n        }else{console.log('Error')}\r\n    }\r\n\r\n    async formSubmit() {\r\n        this.setState({ loading: true });\r\n        var formData = new FormData();\r\n        formData.append('Data', JSON.stringify(this.props.data));\r\n        var headers = new Headers({});\r\n\r\n        const response = await fetch('/Form/SubmitForm', {\r\n            method: 'POST',\r\n            headers:headers,\r\n            body: formData,\r\n        });\r\n        var result = await response.json();\r\n\r\n        if (response.status === 200 && response.ok && !result.error) {\r\n            this.props.history.push('/SuccessPage', {error: false });\r\n        } else {\r\n            this.setState(\r\n                {\r\n                    errorMessage: this.props.globalResources.ErrorPageDescription,\r\n                    loading: false\r\n                }\r\n            );\r\n\r\n            window.scrollTo(0, 0);\r\n        }\r\n    }\r\n\r\n    cancel(event) {\r\n        event.preventDefault();\r\n        this.props.cancel();\r\n    }\r\n\r\n    download(event) {\r\n        event.preventDefault();\r\n        window.open('/Form/DownloadForm', \"_blank\");\r\n    }\r\n\r\n    render() {\r\n        const { loading, errorMessage } = this.state;\r\n        const { globalResources, formResources, data} = this.props;\r\n\r\n\r\n        let quiz1, quiz2, quiz3, quiz4, quiz5 = true;\r\n\r\n        if(data && this.state.QuizData.questions){\r\n            quiz1 = this.state.QuizData.questions[0].isRequired? !data.Questions.find(obj => obj.QuestionCode === this.state.QuizData.questions[0].code) : false\r\n            quiz2 = this.state.QuizData.questions[1].isRequired? !data.Questions.find(obj => obj.QuestionCode === this.state.QuizData.questions[1].code) : false\r\n            quiz3 = this.state.QuizData.questions[2].isRequired? (!data.Questions.find(obj => obj.QuestionCode === this.state.QuizData.questions[2].code)? true: data.Questions.find(obj => obj.QuestionCode === this.state.QuizData.questions[2].code).ResponseValue === \"\"? true: false ) : false\r\n\r\n            let responseData = data.Questions.find(obj => obj.QuestionCode === this.state.QuizData.questions[3].code);\r\n            \r\n            let responseDataFifth = data.Questions.find(obj => obj.QuestionCode === this.state.QuizData.questions[4].code);\r\n            \r\n            if (this.state.QuizData.questions[3].isRequired || !!responseData ){\r\n                let codeNeedComments = this.state.QuizData.questions[3].answers.find(elem => elem.needComments === true).code\r\n                let needComments = !responseData? true : responseData.ResponseCodes.find(obj => obj.Code === codeNeedComments);\r\n                if(needComments !== undefined){\r\n                    if(responseDataFifth){\r\n                        quiz4 = responseDataFifth.ResponseValue !== null? false: true\r\n                        //console.log(quiz4);\r\n                    }else{\r\n                        quiz4 = true;\r\n                    }\r\n                }else if(responseData) {\r\n                    quiz4 = false;\r\n                }\r\n            }else{\r\n                quiz4 = false\r\n            }\r\n            \r\n            quiz5 = this.state.QuizData.questions[5].isRequired? !data.Questions.find(obj => obj.QuestionCode === this.state.QuizData.questions[5].code) : false\r\n        }\r\n\r\n        return (\r\n            <>\r\n                <Row>\r\n                    <Col className=\"col-lg-8 min-lg-h300\">\r\n                        <div className=\"\">\r\n                            <h1>{globalResources.DigitalSignatureTitle}</h1>\r\n\r\n                            <div dangerouslySetInnerHTML={{ __html: globalResources.DigitalSignatureText }} />\r\n\r\n                            <Button\r\n                                type=\"button\"\r\n                                color=\"secondary\"\r\n                                outline\r\n                                onClick={this.download}\r\n                                className=\"mb-5\"\r\n                            >\r\n                                {globalResources.NavDownloadForm}\r\n                            </Button>\r\n                        </div>\r\n\r\n                        {errorMessage &&\r\n                            <Alert key={errorMessage} color=\"danger\" className=\"mb-5\"><div dangerouslySetInnerHTML={{ __html: errorMessage }} /></Alert>\r\n                        }\r\n                    </Col>\r\n                </Row>\r\n                <Row>\r\n                    <Col className=\"col-lg-8 min-lg-h300\">\r\n                        <p className='h3 mb-3'>{formResources.QuizTitle}</p>\r\n                        <FirstExperienceField formResources={formResources} data={this.state.QuizData.questions} onChange={this.props.onChange} questionsData={this.props.data}></FirstExperienceField>\r\n                        <SecondExperienceFields formResources={formResources} data={this.state.QuizData.questions} onChange={this.props.onChange} questionsData={this.props.data}></SecondExperienceFields>\r\n                        <ThirdFiedQuiz formResources={formResources} maxLength={200} data={this.state.QuizData.questions} onChange={this.props.onChange} questionsData={this.props.data}></ThirdFiedQuiz>\r\n                        <FouthFieldQuiz formResources={formResources} data={this.state.QuizData.questions} onChange={this.props.onChange} questionsData={this.props.data}></FouthFieldQuiz>\r\n                        <FifthFieldQuiz formResources={formResources} data={this.state.QuizData.questions} onChange={this.props.onChange} questionsData={this.props.data}></FifthFieldQuiz>\r\n                    </Col>\r\n                </Row>\r\n                <Row>\r\n                    <Col className=\"col-6 col-lg-4 align-self-center\">\r\n                        <Button\r\n                            type=\"button\"\r\n                            color=\"link\"\r\n                            onClick={this.cancel}\r\n                        >\r\n                            <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                            {globalResources.NavBackText}\r\n                        </Button>\r\n                    </Col>\r\n                    <Col className=\"col-6 col-lg-4 text-right align-self-center\">\r\n                        <SubmitButton\r\n                            name={globalResources.NavSubmitProposalText}\r\n                            onClickFunction={this.submit}\r\n                            loading={loading}\r\n                            disabled={quiz1 || quiz2 || quiz3 || quiz4 || quiz5}\r\n                        />\r\n                    </Col>\r\n                </Row>\r\n            </>\r\n        );\r\n    }\r\n}\r\nexport default withRouter(DownloadPdf);","import React, { Component } from 'react';\r\nimport { withRouter } from \"react-router\";\r\nimport { Container, Row, Col, CustomInput, FormGroup } from 'reactstrap';\r\n\r\nimport { LogoutBar } from '../Global/LogoutBar';\r\nimport { MainFormNavInfo } from './MainFormNavInfo';\r\nimport { MainFormNavigation } from './MainFormNavigation';\r\nimport { AMADigitalSignature } from '../DigitalSignature/AMADigitalSignature';\r\nimport DownloadPdf from '../DigitalSignature/DownloadPdf';\r\nimport Loading from '../Global/Loading';\r\nimport FileViewer from \"react-file-viewer\";\r\nclass MainFormStep5 extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.state = {\r\n            finalData: {\r\n                numPages: null,\r\n                mobilePhone: this.props.data != null ? this.props.data.mobilePhone : ''\r\n            },\r\n            zoomPDF: false,\r\n            pdfSigned: '',\r\n            step: 'previewPDF',\r\n            loading: false,\r\n            errors: []\r\n        };\r\n\r\n        this.handleLoadSuccess = this.handleLoadSuccess.bind(this);\r\n        this.handleZoomToogle = this.handleZoomToogle.bind(this);\r\n\r\n        this.handlePrevStep = this.handlePrevStep.bind(this);\r\n        this.handleNextStep = this.handleNextStep.bind(this);\r\n\r\n        this.continue = this.continue.bind(this);\r\n        this.back = this.back.bind(this);\r\n\r\n        this.cancelDigitalSignature = this.cancelDigitalSignature.bind(this);\r\n        this.pdfSigned = this.pdfSigned.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        window.scrollTo(0, 0);\r\n        \r\n        this.props.handleChange('', '', '', { name: 'confirmDataAndProducts', value: null, checked: false, files: undefined });\r\n        \r\n    }\r\n\r\n    back() {\r\n        this.props.prevStep('finalData', this.state.finalData);\r\n    }\r\n\r\n    continue() {\r\n        this.props.nextStep('finalData', this.state.finalData);\r\n    }\r\n\r\n    handleLoadSuccess({ numPages }) {\r\n        this.setState(prevState => ({\r\n            ...prevState,\r\n            finalData: {\r\n                ...prevState.finalData,\r\n                numPages: numPages\r\n            }\r\n        }));\r\n    }\r\n\r\n    handleZoomToogle() {\r\n        this.setState({\r\n            ...this.state.zoomPDF,\r\n            zoomPDF: !this.state.zoomPDF\r\n        });\r\n    }\r\n\r\n    handlePrevStep() {\r\n        this.setState({\r\n            step: 'previewPDF'\r\n        });\r\n    }\r\n\r\n    handleNextStep() {\r\n        this.setState({\r\n            step: 'signPDF'\r\n        });\r\n    }\r\n\r\n    cancelDigitalSignature() {\r\n        this.setState({\r\n            step: 'previewPDF',\r\n            error: ''\r\n        });\r\n    }\r\n\r\n    pdfSigned(pdf) {\r\n        this.setState({\r\n            step: 'previewSignedPDF',\r\n            pdfSigned: pdf,\r\n            error: ''\r\n        });\r\n    }\r\n\r\n    render() {\r\n        const { step, finalData, loading } = this.state;\r\n        const { activeStep, hasPreviousStep, hasNextStep, globalResources, formResources, loadingData, data, handleChange, questiondata } = this.props;\r\n\r\n        if (loadingData) {\r\n            return (\r\n                <Container className=\"d-flex flex-column h-100 justify-content-center align-items-center\">\r\n                    <Loading loadingText={globalResources.LoadingPageContentText} />\r\n                </Container>\r\n            );\r\n        }\r\n\r\n        switch (step) {\r\n            case 'signPDF':\r\n                return (\r\n                    <AMADigitalSignature\r\n                        globalResources={globalResources}\r\n                        formResources={formResources}\r\n                        activeStep={activeStep}\r\n                        cancelDigitalSignature={this.cancelDigitalSignature}\r\n                        sucess={this.pdfSigned}\r\n                        mobilePhone={finalData.mobilePhone}\r\n                        mobilePhoneDialogCode={finalData.mobilePhoneDialogCode}\r\n                    />\r\n                );\r\n            case 'previewSignedPDF':\r\n                return (\r\n                    <main className=\"page-content main-form main-form__step5\">\r\n                        <Container>\r\n                            <Row className=\"main-form__header\">\r\n                                <Col>\r\n                                    <h1 className=\"sr-only\">{formResources.Step5Title}</h1>\r\n\r\n                                    <MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n                                </Col>\r\n                            </Row>\r\n\r\n                            <DownloadPdf\r\n                                data={questiondata}\r\n                                globalResources={globalResources}\r\n                                formResources={formResources}\r\n                                onChange={handleChange}\r\n                                cancel={this.cancelDigitalSignature}\r\n                            />\r\n                        </Container>\r\n                    </main>\r\n                );\r\n            case 'previewPDF':\r\n            default:\r\n                return (\r\n                    <main className=\"page-content main-form main-form__step5\">\r\n                        <LogoutBar globalResources={globalResources} />\r\n\r\n                        <Container>\r\n                            <Row className=\"main-form__header\">\r\n                                <Col>\r\n                                    <h1 className=\"sr-only\">{formResources.Step5Title}</h1>\r\n\r\n                                    <MainFormNavInfo activeStep={activeStep} formResources={formResources} />\r\n                                </Col>\r\n                            </Row>\r\n                            <Row>\r\n                                <Col>\r\n                                    <div className=\"react-pdf__Wrapper mb-5\">\r\n                                        {/* <Document\r\n                                            file={`data:application/pdf;base64,${data.linkPdf}`}\r\n                                            className={`${zoomPDF && 'zoom-page'}`}\r\n                                            onClick={() => this.handleZoomToogle()}\r\n                                            onTouchStartCapture={() => this.handleZoomToogle()}\r\n                                            onLoadSuccess={this.handleLoadSuccess}\r\n                                            loading={\r\n                                                <Loading loadingText={globalResources.LoadingPageContentText} />\r\n                                            }\r\n                                        >\r\n                                            {Array.from(\r\n                                                new Array(finalData.numPages),\r\n                                                (el, index) => (\r\n                                                    <Page\r\n                                                        key={`page_${index + 1}`}\r\n                                                        renderMode=\"svg\"\r\n                                                        pageNumber={index + 1}\r\n                                                        loading={\r\n                                                            <Loading loadingText={globalResources.LoadingPageContentText} />\r\n                                                        }\r\n                                                    />\r\n                                                ),\r\n                                            )}\r\n                                        </Document> */}\r\n                                       \r\n                                        <FileViewer fileType={'pdf'} filePath={`data:application/pdf;base64,${data.linkPdf}`} onError={()=> console.log('error')}></FileViewer>\r\n\r\n                                    </div>\r\n                                </Col>\r\n                            </Row>\r\n                            <Row>\r\n                                <Col>\r\n                                    <div className=\"text-primary\">\r\n                                        <h2 className=\"h6\">{formResources.ConfirmDataAndProductsTitle}</h2>\r\n                                    </div>\r\n                                </Col>\r\n                            </Row>\r\n                            <Row>\r\n                                <FormGroup className=\"col\">\r\n                                    <FormGroup tag=\"fieldset\">\r\n                                        <legend>{formResources.FormLabelConfirmDataAndProducts}*</legend>\r\n\r\n                                        <FormGroup className=\"mb-0\">\r\n                                            <div className=\"d-flex\">\r\n                                                <CustomInput type=\"radio\" id=\"confirmDataAndProducts1\" name=\"confirmDataAndProducts\" label=\"Sim\" value={true} onChange={handleChange} required />\r\n                                                <CustomInput type=\"radio\" id=\"confirmDataAndProducts2\" name=\"confirmDataAndProducts\" label=\"Não\" value={false} onChange={handleChange} required />\r\n\r\n                                            </div>\r\n                                            <div className={`invalid-feedback ${data.confirmDataAndProducts === false ? 'visible' : ''}`} >{`Por favor corrige os teus dados.`}</div>\r\n                                        </FormGroup>\r\n                                    </FormGroup>\r\n                                </FormGroup>\r\n                            </Row>\r\n                            <Row>\r\n                                <Col className=\"align-self-center\">\r\n                                    <MainFormNavigation analyticsId=\"continue_6\" prevStep={this.back} nextStep={this.handleNextStep} hasPreviousStep={hasPreviousStep} hasNextStep={hasNextStep} prevText={globalResources.NavBackText} nextText={globalResources.NavSignText} lastStep={true} loading={loading} loadingText={globalResources.LoadingPageText} buttonDisable={!this.props.isValid} />\r\n                                </Col>\r\n                            </Row>\r\n                        </Container>\r\n                    </main>\r\n                );\r\n        }\r\n    }\r\n}\r\n\r\nexport default withRouter(MainFormStep5);","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport { MainFormNavigation } from './MainFormNavigation';\r\n\r\nexport class LegalDocumentation extends Component {\r\n    static displayName = LegalDocumentation.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.back = this.back.bind(this);\r\n    }\r\n\r\n    componentDidMount() {\r\n        window.scrollTo(0, 0);\r\n    }\r\n\r\n    back() {\r\n        this.props.onGoToStep(this.props.data);\r\n    }\r\n\r\n    render() {\r\n        const { hasPreviousStep, globalResources, formResources } = this.props;\r\n\r\n        return (\r\n            <Container>\r\n                <Row>\r\n                    <Col lg=\"8\">\r\n                        <h1>{formResources.LegalDocumentationTitle}</h1>\r\n\r\n                        <dl className=\"mt-4 mb-5\">\r\n                            <dt className=\"h6\"><strong>Abertura de Conta e Prestação de Serviços</strong></dt>\r\n                            <dl className=\"text\">\r\n                                <a href=\"/File/downloadFile?filename=CGP\" target=\"_blank\" rel=\"external noopener noreferrer\">Condições Gerais</a>\r\n                            </dl>\r\n\r\n                            <dt className=\"h6\"><strong>Conta Caixa</strong></dt>\r\n                            <dl className=\"text\">\r\n                                <a href=\"/File/downloadFile?filename=CGCC\" target=\"_blank\" rel=\"external noopener noreferrer\">Condições Gerais de Adesão</a>\r\n                            </dl>\r\n\r\n                            <dt className=\"h6\"><strong>Conta Extrato</strong></dt>\r\n                            <dl className=\"text\">\r\n                                <a href=\"/File/downloadFile?filename=FCE\" target=\"_blank\" rel=\"external noopener noreferrer\">Ficha de Informação Normalizada</a><br />\r\n                                <a href=\"/File/downloadFile?filename=DCE\" target=\"_blank\" rel=\"external noopener noreferrer\">Documento de Informação sobre Comissões</a>\r\n                            </dl>\r\n\r\n                            <dt className=\"h6\"><strong>Conta Jovem Extrato</strong></dt>\r\n                            <dl className=\"text\">\r\n                                <a href=\"/File/downloadFile?filename=FCJE\" target=\"_blank\" rel=\"external noopener noreferrer\">Ficha de Informação Normalizada</a><br />\r\n                                <a href=\"/File/downloadFile?filename=DCJE\" target=\"_blank\" rel=\"external noopener noreferrer\">Documento de Informação sobre Comissões</a>\r\n                            </dl>\r\n\r\n                            <dt className=\"h6\"><strong>Conta CaixaPoupança</strong></dt>\r\n                            <dl className=\"text\">\r\n                                <a href=\"/File/downloadFile?filename=CP\" target=\"_blank\" rel=\"external noopener noreferrer\">Ficha de Informação Normalizada</a>\r\n                            </dl>\r\n\r\n                            <dt className=\"h6\"><strong>Caixadirecta</strong></dt>\r\n                            <dl className=\"text\">\r\n                                <a href=\"/File/downloadFile?filename=RSCD\" target=\"_blank\" rel=\"external noopener noreferrer\">Recomendações de Segurança na utilização do Caixadirecta através da Internet</a>\r\n                            </dl>\r\n\r\n                            <dt className=\"h6\"><strong>Cartão ISIC</strong></dt>\r\n                            <dl className=\"text\">\r\n                                <a href=\"/File/downloadFile?filename=FCCISICO\" target=\"_blank\" rel=\"external noopener noreferrer\">Ficha de Informação Normalizada</a><br />\r\n                                <a href=\"/File/downloadFile?filename=RSPI\" target=\"_blank\" rel=\"external noopener noreferrer\">Recomendações de Segurança Cartões</a><br />\r\n                                <a href=\"/File/downloadFile?filename=SCISIC\" target=\"_blank\" rel=\"external noopener noreferrer\">Seguro ISIC</a>\r\n                            </dl>\r\n                        </dl>\r\n\r\n                        <MainFormNavigation prevStep={this.back} hasPreviousStep={hasPreviousStep} prevText={globalResources.NavBackText} />\r\n                    </Col>\r\n                </Row>\r\n            </Container>\r\n        );\r\n    }\r\n}\r\n","export class FormManager {\r\n    async getForm() {\r\n        const response = await fetch('/Form/GetForm', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' }\r\n        });\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            let data = await response.json();\r\n\r\n            return data;\r\n        }\r\n\r\n        return null;\r\n    }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Nav, NavItem, NavLink } from 'reactstrap';\r\n\r\nexport class FooterDocuments extends Component {\r\n    static displayName = FooterDocuments.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n        this.downloadLinkDoc = false;\r\n    }\r\n\r\n    render() {\r\n        const { globalResources, noGlossary } = this.props;\r\n\r\n        return (\r\n            <div className=\"page-footer page-footer--second-level sticky-footer bg-color-gray-300\">\r\n                <Container>\r\n                    <Row className=\"my-2 align-items-center\">\r\n                        <Col>\r\n                            <Nav>\r\n                                <NavItem>\r\n                                    <NavLink href=\"/File/downloadFile?filename=PP\" target=\"_blank\" rel=\"external noopener noreferrer\">{globalResources.FooterLinkFAQs}</NavLink>\r\n                                </NavItem>\r\n                                {!noGlossary &&\r\n                                    <NavItem>\r\n                                    <NavLink href=\"/File/downloadFile?filename=G\" target=\"_blank\" rel=\"external noopener noreferrer\">{globalResources.FooterLinkGlossario}</NavLink>\r\n                                    </NavItem>\r\n                                }\r\n                            </Nav>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </div>\r\n        );\r\n    }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { LogoutBar } from \"../Global/LogoutBar\";\r\nimport { MainFormStep1 } from \"./MainFormStep1\";\r\nimport { MainFormStep2 } from \"./MainFormStep2\";\r\nimport { MainFormStep3 } from \"./MainFormStep3\";\r\nimport { MainFormStep4 } from \"./MainFormStep4\";\r\nimport MainFormStep5 from \"./MainFormStep5\";\r\nimport { LegalDocumentation } from \"./LegalDocumentation\";\r\nimport { FormManager } from \"./FormManager\";\r\nimport { FooterDocuments } from \"../Authentication/FooterDocuments\";\r\nimport \"./MainForm.scss\";\r\nimport { ConfigManager } from \"../Global/SettingsManager\";\r\n\r\nexport class MainForm extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.props = props;\r\n\t\tthis.state = {\r\n\t\t\tsummary: {},\r\n\t\t\tperson: {},\r\n\t\t\tproduct: {},\r\n\t\t\tconsentData: {},\r\n\t\t\tfinalData: {},\r\n\t\t\tquestionData:{\r\n\t\t\t\tQuestions: [],\r\n\t\t\t},\r\n\t\t\tprevStep: 1,\r\n\t\t\tstep: 1,\r\n\t\t\tloading: false,\r\n\t\t\terrors: {},\r\n\t\t\tisValid: {\r\n\t\t\t\t1: false,\r\n\t\t\t\t2: false,\r\n\t\t\t\t3: false,\r\n\t\t\t\t4: false,\r\n\t\t\t\t5: false,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tthis.handleChange = this.handleChange.bind(this);\r\n\t\tthis.handleSubmit = this.handleSubmit.bind(this);\r\n\t\tthis.handleValidation = this.handleValidation.bind(this);\r\n\t\tthis.validateForm = this.validateForm.bind(this);\r\n\r\n\t\tthis.nextStep = this.nextStep.bind(this);\r\n\t\tthis.prevStep = this.prevStep.bind(this);\r\n\t\tthis.goToStep = this.goToStep.bind(this);\r\n\r\n\t\tif (this.state.summary && this.state.person && this.state.product && this.state.consentData && this.state.finalData) {\r\n\t\t\tthis.state.loading = true;\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tif (this.state.summary && this.state.person && this.state.product && this.state.consentData && this.state.finalData) {\r\n\t\t\tthis.getFormData();\r\n\t\t\tthis.fetchData();\r\n\t\t}\r\n\t}\r\n\r\n\tasync fetchData(){\r\n\t\tconst response = await fetch('/form/GetReferenceData', {\r\n\t\t\tmethod: 'GET',\r\n\t\t\theaders: {\r\n\t\t\t  'Content-Type': 'application/json',\r\n\t\t\t},\r\n\t\t});\r\n\t\tvar result = await response.json();\r\n\t\tif(response.ok && response.status === 200){\r\n\t\t\tthis.setState({\r\n\t\t\t\t...this.state,\r\n\t\t\t\treferenceData: result,\r\n\t\t\t});\r\n\t\t}else{\r\n\t\t\tconsole.log(\"Error\");\r\n\t\t}\r\n\t}\r\n\r\n\tasync getFormData() {\r\n\t\tvar formManager = new FormManager();\r\n\t\tvar form = await formManager.getForm();\r\n\t\tvar configManager = new ConfigManager();\r\n\t\tvar _getFileSizes = await configManager.getFileSize();\r\n\r\n\t\tif (form !== null && _getFileSizes !== null && Object.keys(form).length > 0 && form.constructor === Object) {\r\n\t\t\tvar { summary, person, product, consentData } = form;\r\n\r\n\t\t\t\r\n\r\n\t\t\tconst mobilePhoneDialogCode = person.mobilePhoneDialogCode !== null && person.mobilePhoneDialogCode !== \"\" ? person.mobilePhoneDialogCode : \"+351\";\r\n\t\t\tconst mobilePhone = mobilePhoneDialogCode + \" \" + person.mobilePhone;\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\tsummary: {\r\n\t\t\t\t\t...summary,\r\n\t\t\t\t},\r\n\t\t\t\tperson: {\r\n\t\t\t\t\t...person,\r\n\t\t\t\t\tshowIssuedBy: false,\r\n\t\t\t\t},\r\n\t\t\t\tproduct: {\r\n\t\t\t\t\tcontaCaixaM: product && product.contaCaixaM ? product.contaCaixaM : false,\r\n\t\t\t\t\tcontinentCardNumber: null,\r\n\t\t\t\t\tcontaPoupanca: false,\r\n\t\t\t\t\tuseExistingAccount: undefined,\r\n\t\t\t\t\tValidUseExistingAccount: false,\r\n\t\t\t\t},\r\n\t\t\t\tconsentData: {\r\n\t\t\t\t\t...consentData,\r\n\t\t\t\t\tphotographyFile: \"\",\r\n\t\t\t\t\tdocumentIDCoverFile: \"\",\r\n\t\t\t\t\tdocumentIDBackFile: \"\",\r\n\t\t\t\t\tfiscalNumberCardFile: \"\",\r\n\t\t\t\t\taddressFile: \"\",\r\n\t\t\t\t\tsecondAddressFile: \"\",\r\n\t\t\t\t\tfileSizes: _getFileSizes,\r\n\t\t\t\t},\r\n\t\t\t\tfinalData: {\r\n\t\t\t\t\tmobilePhone: mobilePhone,\r\n\t\t\t\t\tagreementLegalDocumentation: null,\r\n\t\t\t\t\tconfirmDataAndProducts: null,\r\n\t\t\t\t\trgpAgrement: null,\r\n\t\t\t\t\trgpdAgreementCampaignsAndEvents: null,\r\n\t\t\t\t},\r\n\t\t\t\tloading: false,\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.setState({\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: this.props.globalResources.Erro_Interno,\r\n\t\t\t});\r\n\t\t\tthis.props.history.push(\"/Authentication\");\r\n\t\t}\r\n\t}\r\n\r\n\thasErrors() {\r\n\t\tvar errors = Object.values(this.state.errors);\r\n\t\tvar hasErrors =\r\n\t\t\terrors.length === 0 ||\r\n\t\t\terrors.reduce(function (acc, value) {\r\n\t\t\t\treturn acc || value;\r\n\t\t\t}, false);\r\n\r\n\t\treturn hasErrors;\r\n\t}\r\n\r\n\thandleChange(event, target, errors, rawData) {\r\n\t\tconst { name, value, checked, files, type } = !!rawData ? rawData : target !== undefined ? event : event.target;\r\n\t\tconst { person } = this.state;\r\n\t\tvar _value;\r\n\r\n\t\tswitch (type) {\r\n\t\t\tcase \"checkbox\":\r\n\t\t\t\t_value = checked;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"radio\":\r\n\t\t\t\t_value = value !== \"\" ? value : false;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\t_value = value;\r\n\t\t}\r\n\r\n\t\tvar _files = files !== null && files !== undefined ? files[0] : _value;\r\n\t\tvar _errors = errors !== undefined ? errors : false;\r\n\r\n\t\tif (!_errors) {\r\n\t\t\tlet errorsList = this.state.errors;\r\n\t\t\tdelete errorsList[name];\r\n\r\n\t\t\tthis.setState(() => ({\r\n\t\t\t\terrors: {\r\n\t\t\t\t\t...errorsList,\r\n\t\t\t\t},\r\n\t\t\t}));\r\n\t\t} else {\r\n\t\t\tthis.setState((prevState) => ({\r\n\t\t\t\terrors: {\r\n\t\t\t\t\t...prevState.errors,\r\n\t\t\t\t\t[name]: _errors,\r\n\t\t\t\t},\r\n\t\t\t}));\r\n\t\t}\r\n\r\n\t\tif (name === \"secondAddress\" && checked === false) {\r\n\t\t\tlet errorsList = this.state.errors;\r\n\r\n\t\t\tdelete errorsList[\"fiscalCountyCode\"];\r\n\t\t\tdelete errorsList[\"fiscalCountyValue\"];\r\n\t\t\tdelete errorsList[\"fiscalDistrictCode\"];\r\n\t\t\tdelete errorsList[\"fiscalDistrictValue\"];\r\n\t\t\tdelete errorsList[\"fiscalParishCode\"];\r\n\t\t\tdelete errorsList[\"fiscalParishValue\"];\r\n\t\t\tdelete errorsList[\"fiscalPlace\"];\r\n\t\t\tdelete errorsList[\"fiscalPostalCodeCode\"];\r\n\t\t\tdelete errorsList[\"fiscalPostalCodeValue\"];\r\n\t\t\tdelete errorsList[\"fiscalAddress\"];\r\n\r\n\t\t\tthis.setState((prevState) => ({\r\n\t\t\t\tperson: {\r\n\t\t\t\t\t...prevState.person,\r\n\t\t\t\t\tfiscalAddress: \"\",\r\n\t\t\t\t\tfiscalCountyCode: \"\",\r\n\t\t\t\t\tfiscalCountyValue: \"\",\r\n\t\t\t\t\tfiscalDistrictCode: \"\",\r\n\t\t\t\t\tfiscalDistrictValue: \"\",\r\n\t\t\t\t\tfiscalParishCode: \"\",\r\n\t\t\t\t\tfiscalParishValue: \"\",\r\n\t\t\t\t\tfiscalPlace: \"\",\r\n\t\t\t\t\tfiscalPostalCodeCode: \"\",\r\n\t\t\t\t\tfiscalPostalCodeValue: \"\",\r\n\t\t\t\t},\r\n\t\t\t\terrors: {\r\n\t\t\t\t\t...prevState.errors,\r\n\t\t\t\t\t...errorsList,\r\n\t\t\t\t},\r\n\t\t\t}));\r\n\t\t}\r\n\r\n\t\tif (name === \"politicalRelationCode\") {\r\n\t\t\tif (_value === \"0\"  || _value === \"\" || _value === \"2\") {\r\n\t\t\t\tlet errorsList = this.state.errors;\r\n\r\n\t\t\t\tdelete errorsList[\"entity\"];\r\n\t\t\t\tdelete errorsList[\"position\"];\r\n\r\n\t\t\t\tthis.setState((prevState) => ({\r\n\t\t\t\t\tperson: {\r\n\t\t\t\t\t\t...prevState.person,\r\n\t\t\t\t\t\tentity: null,\r\n\t\t\t\t\t\tposition: null,\r\n\t\t\t\t\t},\r\n\t\t\t\t\terrors: {\r\n\t\t\t\t\t\t...prevState.errors,\r\n\t\t\t\t\t\t...errorsList,\r\n\t\t\t\t\t},\r\n\t\t\t\t}));\r\n\t\t\t} else {\r\n\t\t\t\tif (person.entity === \"\" || person.entity === null) {\r\n\t\t\t\t\tthis.setState((prevState) => ({\r\n\t\t\t\t\t\terrors: {\r\n\t\t\t\t\t\t\t...prevState.errors,\r\n\t\t\t\t\t\t\tentity: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t\tif (person.position === \"\" || person.position === null) {\r\n\t\t\t\t\tthis.setState((prevState) => ({\r\n\t\t\t\t\t\terrors: {\r\n\t\t\t\t\t\t\t...prevState.errors,\r\n\t\t\t\t\t\t\tposition: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (name === \"placeOfBirthCountryCode\") {\r\n\t\t\tif (_value && _value !== \"PT\") {\r\n\t\t\t\tlet errorsList = this.state.errors;\r\n\r\n\t\t\t\tdelete errorsList[\"placeOfBirthDistrictCode\"];\r\n\t\t\t\tdelete errorsList[\"placeOfBirthDistrictValue\"];\r\n\t\t\t\tdelete errorsList[\"placeOfBirthCountyCode\"];\r\n\t\t\t\tdelete errorsList[\"placeOfBirthCountyValue\"];\r\n\r\n\t\t\t\tthis.setState((prevState) => ({\r\n\t\t\t\t\tperson: {\r\n\t\t\t\t\t\t...prevState.person,\r\n\t\t\t\t\t\tplaceOfBirthDistrictCode: null,\r\n\t\t\t\t\t\tplaceOfBirthDistrictValue: null,\r\n\t\t\t\t\t\tplaceOfBirthCountyCode: null,\r\n\t\t\t\t\t\tplaceOfBirthCountyValue: null,\r\n\t\t\t\t\t},\r\n\t\t\t\t\terrors: {\r\n\t\t\t\t\t\t...prevState.errors,\r\n\t\t\t\t\t\t...errorsList,\r\n\t\t\t\t\t},\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState(\r\n\t\t\t(prevState) => ({\r\n\t\t\t\tsummary: {\r\n\t\t\t\t\t...prevState.summary,\r\n\t\t\t\t\t[name]: _value,\r\n\t\t\t\t},\r\n\t\t\t\tperson: {\r\n\t\t\t\t\t...prevState.person,\r\n\t\t\t\t\t[name]: _value,\r\n\t\t\t\t},\r\n\t\t\t\tproduct: {\r\n\t\t\t\t\t...prevState.product,\r\n\t\t\t\t\t[name]: _value,\r\n\t\t\t\t},\r\n\t\t\t\tconsentData: {\r\n\t\t\t\t\t...prevState.consentData,\r\n\t\t\t\t\t[name]: _files,\r\n\t\t\t\t},\r\n\t\t\t\tfinalData: {\r\n\t\t\t\t\t...prevState.finalData,\r\n\t\t\t\t\t[name]: _value,\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\t() =>\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisValid: {\r\n\t\t\t\t\t\t2: this.validateForm(2),\r\n\t\t\t\t\t\t3: Object.keys(this.state.errors) <= 0,\r\n\t\t\t\t\t\t4: this.validateForm(4),\r\n\t\t\t\t\t\t5: this.validateForm(5),\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\thandleSubmit(event) {\r\n\t\tevent.preventDefault();\r\n\t}\r\n\r\n\tprevStep(name, value) {\r\n\t\tthis.setState(\r\n\t\t\t(prevState) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t[name]: value,\r\n\t\t\t\t\tstep: prevState.step - 1,\r\n\t\t\t\t\terrors: {},\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t() =>\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisValid: {\r\n\t\t\t\t\t\t2: this.validateForm(2),\r\n\t\t\t\t\t\t3: Object.keys(this.state.errors) <= 0,\r\n\t\t\t\t\t\t4: this.validateForm(4),\r\n\t\t\t\t\t\t5: this.validateForm(5),\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tnextStep(name, value) {\r\n\t\tthis.setState((prevState) => {\r\n\t\t\treturn {\r\n\t\t\t\t[name]: value,\r\n\t\t\t\tstep: prevState.step + 1,\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n\r\n\tgoToStep(prevStep) {\r\n\t\tthis.setState(() => {\r\n\t\t\treturn {\r\n\t\t\t\tprevStep: this.state.step,\r\n\t\t\t\tstep: typeof prevStep === \"object\" ? 6 : prevStep,\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n\r\n\tvalidateForm(step) {\r\n\t\tconst { person, consentData, product, errors, finalData } = this.state;\r\n\t\tlet result = true;\r\n\r\n\t\tswitch (step) {\r\n\t\t\tcase 2:\r\n\t\t\t\tlet elementList = {\r\n\t\t\t\t\t...person.email,\r\n\t\t\t\t\t...person.identificationTypeCode,\r\n\t\t\t\t\t...person.identification,\r\n\t\t\t\t\t...person.fiscalCountryCode,\r\n\t\t\t\t\t...person.fiscalCountryValue,\r\n\t\t\t\t\t...person.districtCode,\r\n\t\t\t\t\t...person.districtValue,\r\n\t\t\t\t\t...person.mobilePhone,\r\n\t\t\t\t\t...person.address,\r\n\t\t\t\t\t...person.postalCodeCode,\r\n\t\t\t\t\t...person.place,\r\n\t\t\t\t\t...person.countyCode,\r\n\t\t\t\t\t...person.countyValue,\r\n\t\t\t\t\t...person.parishCode,\r\n\t\t\t\t\t...person.parishValue,\r\n\t\t\t\t\t...person.fiscalNumber,\r\n\t\t\t\t\t...person.addressIsvalid,\r\n\t\t\t\t\t...person.politicalRelationCode,\r\n\t\t\t\t\t...person.placeOfBirthCountryCode,\r\n\t\t\t\t\t...person.placeOfBirthCountryValue,\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (person.placeOfBirthCountryCode === \"PT\") {\r\n\t\t\t\t\telementList = {\r\n\t\t\t\t\t\t...elementList,\r\n\t\t\t\t\t\t...person.placeOfBirthCountyCode,\r\n\t\t\t\t\t\t...person.placeOfBirthCountyValue,\r\n\t\t\t\t\t\t...person.placeOfBirthDistrictCode,\r\n\t\t\t\t\t\t...person.placeOfBirthDistrictValue,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (person.secondAddress) {\r\n\t\t\t\t\telementList = {\r\n\t\t\t\t\t\t...elementList,\r\n\t\t\t\t\t\t...person.fiscalAddress,\r\n\t\t\t\t\t\t...person.fiscalPostalCodeCode,\r\n\t\t\t\t\t\t...person.fiscalPlace,\r\n\t\t\t\t\t\t...person.fiscalDistrictCode,\r\n\t\t\t\t\t\t...person.fiscalDistrictValue,\r\n\t\t\t\t\t\t...person.fiscalCountyCode,\r\n\t\t\t\t\t\t...person.fiscalCountyValue,\r\n\t\t\t\t\t\t...person.fiscalParishCode,\r\n\t\t\t\t\t\t...person.fiscalParishValue,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (person.politicalRelationCode) {\r\n\t\t\t\t\telementList = {\r\n\t\t\t\t\t\t...elementList,\r\n\t\t\t\t\t\t...person.position,\r\n\t\t\t\t\t\t...person.entity,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (person.showIssuedBy) {\r\n\t\t\t\t\telementList = {\r\n\t\t\t\t\t\t...elementList,\r\n\t\t\t\t\t\t...person.issuer,\r\n\t\t\t\t\t\t...person.issuerValue,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (person.gender) {\r\n\t\t\t\t\telementList = {\r\n\t\t\t\t\t\t...elementList,\r\n\t\t\t\t\t\t...person.gender,\r\n\t\t\t\t\t\t...person.genderValue,\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tObject.keys(elementList).forEach(function (k) {\r\n\t\t\t\t\tif (result && (elementList[k] === null || elementList[k] === \"\")) {\r\n\t\t\t\t\t\tresult = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 4:\r\n\t\t\t\tresult = true;\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tresult &&\r\n\t\t\t\t\t(product.contaCaixaM || product.ValidUseExistingAccount) &&\r\n\t\t\t\t\t(consentData.photographyFile === null ||\r\n\t\t\t\t\t\tconsentData.photographyFile === \"\" ||\r\n\t\t\t\t\t\tconsentData.documentIDCoverFile === null ||\r\n\t\t\t\t\t\tconsentData.documentIDCoverFile === \"\" ||\r\n\t\t\t\t\t\tconsentData.documentIDBackFile === null ||\r\n\t\t\t\t\t\tconsentData.documentIDBackFile === \"\" ||\r\n\t\t\t\t\t\tconsentData.addressFile === null ||\r\n\t\t\t\t\t\tconsentData.addressFile === \"\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (\r\n\t\t\t\t\tresult &&\r\n\t\t\t\t\t(product.contaCaixaM || product.ValidUseExistingAccount) && \r\n\t\t\t\t\tperson.identificationTypeCode.split(\"#\")[0] !== \"801\" &&\r\n\t\t\t\t\t(consentData.fiscalNumberCardFile === null || consentData.fiscalNumberCardFile === \"\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (result && (product.contaCaixaM || product.ValidUseExistingAccount) && person.secondAddress && (consentData.secondAddressFile === null || consentData.secondAddressFile === \"\")) {\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (\r\n\t\t\t\t\tresult &&\r\n\t\t\t\t\t(finalData.agreementLegalDocumentation === null ||\r\n\t\t\t\t\t\tfinalData.agreementLegalDocumentation === \"false\" ||\r\n\t\t\t\t\t\tfinalData.rgpAgrement === null ||\r\n\t\t\t\t\t\tfinalData.rgpdAgreementCampaignsAndEvents === null)\r\n\t\t\t\t) {\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (result && !product.contaCaixaM && (consentData.photographyFile === null || consentData.photographyFile === \"\")) {\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (result && (product.contaCaixaM || product.ValidUseExistingAccount) && (person.clientPurposeBusinessRelationships === null || person.clientPurposeBusinessRelationships.length === 0 || person.clientSourceFunds === null || person.clientSourceFunds.length === 0)) {\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tlet codeRequeredComments = this.state.referenceData?.sourceFunds?.find((e)=> e.requiredComments === true).code\r\n\t\t\t\tif (result && (product.contaCaixaM || product.ValidUseExistingAccount) && (person.clientSourceFunds.includes(codeRequeredComments) && (person.sourceFundsComments === null || person.sourceFundsComments === \"\"))){\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 5:\r\n\t\t\t\tresult = true;\r\n\t\t\t\tif (\r\n\t\t\t\t\tresult &&\r\n\t\t\t\t\t(consentData.confirmDataAndProducts === null ||\r\n\t\t\t\t\t\tconsentData.confirmDataAndProducts === \"false\")\r\n\t\t\t\t) {\r\n\t\t\t\t\tresult = false;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tdefault: result = true;\r\n\t\t}\r\n\r\n\t\treturn Object.keys(errors) <= 0 ? result : false;\r\n\t}\r\n\r\n\thandleValidation() {\r\n\t\tthis.setState({\r\n\t\t\tisValid: {\r\n\t\t\t\t2: this.validateForm(2),\r\n\t\t\t\t3: Object.keys(this.state.errors) <= 0,\r\n\t\t\t\t4: this.validateForm(4),\r\n\t\t\t\t5: this.validateForm(5),\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst { step, summary, person, product, consentData, finalData, loading, isValid, errors } = this.state;\r\n\t\tlet { globalResources, formResources, faqsStep2 } = this.props;\r\n\r\n\t\tswitch (step) {\r\n\t\t\tcase 1:\r\n\t\t\tdefault:\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t<main className=\"page-content main-form main-form__step1\">\r\n\t\t\t\t\t\t\t<LogoutBar globalResources={globalResources} />\r\n\t\t\t\t\t\t\t<MainFormStep1\r\n\t\t\t\t\t\t\t\tactiveStep={step}\r\n\t\t\t\t\t\t\t\tnextStep={this.nextStep}\r\n\t\t\t\t\t\t\t\tprevStep={this.prevStep}\r\n\t\t\t\t\t\t\t\thandleChange={this.handleChange}\r\n\t\t\t\t\t\t\t\tdata={summary}\r\n\t\t\t\t\t\t\t\tloadingData={loading}\r\n\t\t\t\t\t\t\t\thasPreviousStep={false}\r\n\t\t\t\t\t\t\t\thasNextStep={true}\r\n\t\t\t\t\t\t\t\tglobalResources={globalResources}\r\n\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</main>\r\n\t\t\t\t\t\t<FooterDocuments globalResources={globalResources} noGlossary={true} noDocumentation={true} />\r\n\t\t\t\t\t</>\r\n\t\t\t\t);\r\n\t\t\tcase 2:\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t<main className=\"page-content main-form main-form__step2\">\r\n\t\t\t\t\t\t\t<LogoutBar globalResources={globalResources} />\r\n\t\t\t\t\t\t\t<MainFormStep2\r\n\t\t\t\t\t\t\t\treferenceData={this.state.referenceData}\r\n\t\t\t\t\t\t\t\tactiveStep={step}\r\n\t\t\t\t\t\t\t\tnextStep={this.nextStep}\r\n\t\t\t\t\t\t\t\tprevStep={this.prevStep}\r\n\t\t\t\t\t\t\t\thandleChange={this.handleChange}\r\n\t\t\t\t\t\t\t\tdata={person}\r\n\t\t\t\t\t\t\t\tloadingData={loading}\r\n\t\t\t\t\t\t\t\tisValid={isValid[2]}\r\n\t\t\t\t\t\t\t\thasPreviousStep={true}\r\n\t\t\t\t\t\t\t\thasNextStep={true}\r\n\t\t\t\t\t\t\t\tglobalResources={globalResources}\r\n\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\tfaqsStep={faqsStep2}\r\n\t\t\t\t\t\t\t\tcheckFormValidate={this.validateForm}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</main>\r\n\t\t\t\t\t\t<FooterDocuments globalResources={globalResources} noDocumentation={true} />\r\n\t\t\t\t\t</>\r\n\t\t\t\t);\r\n\t\t\tcase 3:\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t<main className=\"page-content main-form main-form__step3\">\r\n\t\t\t\t\t\t\t<LogoutBar globalResources={globalResources} />\r\n\t\t\t\t\t\t\t<MainFormStep3\r\n\t\t\t\t\t\t\t\tactiveStep={step}\r\n\t\t\t\t\t\t\t\tnextStep={this.nextStep}\r\n\t\t\t\t\t\t\t\tprevStep={this.prevStep}\r\n\t\t\t\t\t\t\t\tonChangeFunction={this.handleChange}\r\n\t\t\t\t\t\t\t\tdata={product}\r\n\t\t\t\t\t\t\t\terrors={errors}\r\n\t\t\t\t\t\t\t\tpersonData={person}\r\n\t\t\t\t\t\t\t\tloadingData={loading}\r\n\t\t\t\t\t\t\t\tisValid={isValid[3]}\r\n\t\t\t\t\t\t\t\thasPreviousStep={true}\r\n\t\t\t\t\t\t\t\thasNextStep={true}\r\n\t\t\t\t\t\t\t\tglobalResources={globalResources}\r\n\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\tcheckFormValidate={this.validateForm}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</main>\r\n\t\t\t\t\t\t<FooterDocuments globalResources={globalResources} onGoToStep={this.goToStep} />\r\n\t\t\t\t\t</>\r\n\t\t\t\t);\r\n\t\t\tcase 4:\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t<main className=\"page-content main-form main-form__step4\">\r\n\t\t\t\t\t\t\t<LogoutBar globalResources={globalResources} />\r\n\t\t\t\t\t\t\t<MainFormStep4\r\n\t\t\t\t\t\t\t\treferenceData={this.state.referenceData}\r\n\t\t\t\t\t\t\t\tactiveStep={step}\r\n\t\t\t\t\t\t\t\tnextStep={this.nextStep}\r\n\t\t\t\t\t\t\t\tprevStep={this.prevStep}\r\n\t\t\t\t\t\t\t\thandleChange={this.handleChange}\r\n\t\t\t\t\t\t\t\tdata={consentData}\r\n\t\t\t\t\t\t\t\tstep2Values={person}\r\n\t\t\t\t\t\t\t\tloadingData={loading}\r\n\t\t\t\t\t\t\t\tisValid={isValid[4]}\r\n\t\t\t\t\t\t\t\thasPreviousStep={true}\r\n\t\t\t\t\t\t\t\thasNextStep={true}\r\n\t\t\t\t\t\t\t\tglobalResources={globalResources}\r\n\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\tcheckFormValidate={this.handleValidation}\r\n\t\t\t\t\t\t\t\tfullDate={this.state}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</main>\r\n\t\t\t\t\t\t<FooterDocuments globalResources={globalResources} onGoToStep={this.goToStep} />\r\n\t\t\t\t\t</>\r\n\t\t\t\t);\r\n\t\t\tcase 5:\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t<MainFormStep5\r\n\t\t\t\t\t\t\tactiveStep={step}\r\n\t\t\t\t\t\t\tnextStep={this.nextStep}\r\n\t\t\t\t\t\t\tprevStep={this.prevStep}\r\n\t\t\t\t\t\t\thandleChange={this.handleChange}\r\n\t\t\t\t\t\t\thandleSubmit={this.handleSubmit}\r\n\t\t\t\t\t\t\tdata={{ ...finalData, ...consentData }}\r\n\t\t\t\t\t\t\tquestiondata={this.state.questionData}\r\n\t\t\t\t\t\t\tloadingData={loading}\r\n\t\t\t\t\t\t\tisValid={isValid[5]}\r\n\t\t\t\t\t\t\thasPreviousStep={true}\r\n\t\t\t\t\t\t\thasNextStep={true}\r\n\t\t\t\t\t\t\tglobalResources={globalResources}\r\n\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<FooterDocuments globalResources={globalResources} onGoToStep={this.goToStep} />\r\n\t\t\t\t\t</>\r\n\t\t\t\t);\r\n\t\t\tcase 6:\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t<main className=\"page-content main-form\">\r\n\t\t\t\t\t\t\t<LogoutBar globalResources={globalResources} />\r\n\t\t\t\t\t\t\t<LegalDocumentation\r\n\t\t\t\t\t\t\t\tprevStep={this.prevStep}\r\n\t\t\t\t\t\t\t\thasPreviousStep={true}\r\n\t\t\t\t\t\t\t\tglobalResources={globalResources}\r\n\t\t\t\t\t\t\t\tformResources={formResources}\r\n\t\t\t\t\t\t\t\tdata={this.state.prevStep}\r\n\t\t\t\t\t\t\t\tonGoToStep={this.goToStep}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</main>\r\n\t\t\t\t\t\t<FooterDocuments globalResources={globalResources} />\r\n\t\t\t\t\t</>\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport queryString from 'query-string'\r\nimport './ErrorPage.scss';\r\n\r\nclass ErrorPage extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.props = props;\r\n    }\r\n\r\n    render() {\r\n        const { globalResources } = this.props;\r\n        const values = queryString.parse(this.props.location.search);\r\n        let errorDescription = globalResources.Erro_Interno;\r\n\r\n        if (values !== null && values !== undefined && values.errorCode !== null) {\r\n            switch (values.errorCode) {\r\n                case 'InvalidSignature':\r\n                case 'InvalidNIF':\r\n                case 'StudentNotFoundException':\r\n                    errorDescription = globalResources.ErrorUserNotFound;\r\n                    break;\r\n                default:\r\n                    errorDescription = globalResources.Erro_Interno;\r\n                    break;\r\n            }\r\n        }\r\n\r\n        return (\r\n            <main className=\"page-content error-pages\">\r\n                <Container className=\"d-flex flex-column h-100 bg-img\" role=\"alert\">\r\n                    <Row className=\"h-100\">\r\n                        <Col lg=\"6\">\r\n                            <h1>{globalResources.ErrorPageTitle}</h1>\r\n                            <div dangerouslySetInnerHTML={{ __html: errorDescription }}></div>\r\n                        </Col>\r\n                    </Row>\r\n                    <Row>\r\n                        <Col lg=\"6\" className=\"align-self-center\">\r\n                            <Link to=\"/\">\r\n                                <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                                {globalResources.NavBackText}\r\n                            </Link>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </main>\r\n        );\r\n    }\r\n};\r\n\r\nexport default ErrorPage;","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport queryString from 'query-string'\r\nimport ImgCardCaixaIUOnly from '../../img/content/card-caixa-iu_only.png';\r\nimport './SuccessPage.scss';\r\n\r\nclass SuccessPage extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n        this.props = props;\r\n\r\n        const values = queryString.parse(this.props.location.search);\r\n        let hasError = !values.code\r\n\r\n        this.state = {\r\n            error: hasError,\r\n            values: !!values.code ? values.code : '',\r\n            ...this.props.history.location.state\r\n        }\r\n    }\r\n\r\n    componentDidMount() {\r\n        if (this.state.error) {\r\n            this.props.history.push('/ErrorPage');\r\n        }\r\n    }\r\n\r\n    render() {\r\n        const { globalResources } = this.props;\r\n        const { values } = this.state;\r\n        let sucessTitle, sucessDescription;\r\n\r\n        switch (values) {\r\n            case 'FormAlreadySubmittedException':\r\n                sucessTitle = globalResources.AlreadySubmittedTitle;\r\n                sucessDescription = globalResources.ErrorFormAlreadySubmitted;\r\n                break;\r\n            default:\r\n                sucessTitle = globalResources.SuccessPageTitle;\r\n                sucessDescription = globalResources.SuccessPageDescription;\r\n                break;\r\n        }\r\n\r\n        return (\r\n            <main className=\"page-content success-pages\">\r\n                <Container role=\"alert\">\r\n                    <Row>\r\n                        <Col lg=\"5\">\r\n                            <h1>{sucessTitle}</h1>\r\n                            <div className=\"mb-5 min-lg-h300\" dangerouslySetInnerHTML={{ __html: sucessDescription }}></div>\r\n\r\n                            <Link to=\"/\" className=\"text-uppercase px-4 py-2 btn btn-primary\">\r\n                                <span aria-hidden=\"true\">&lt;&nbsp;</span>\r\n                                {globalResources.GoToHomepageText}\r\n                            </Link>\r\n                        </Col>\r\n                        <Col lg=\"7\" className=\"text-center text-lg-right\">\r\n                            <p><img className=\"img\" src={ImgCardCaixaIUOnly} alt=\"\" /></p>\r\n                        </Col>\r\n                    </Row>\r\n                </Container>\r\n            </main>\r\n        );\r\n    }\r\n};\r\n\r\nexport default SuccessPage;","export class ResourcesManager {\r\n    async getResources() {\r\n        const response = await fetch('/Resources/GetResources', {\r\n            method: 'GET',\r\n            headers: { 'Content-Type': 'application/json' },\r\n        });\r\n\r\n        if (response.status === 200 && response.ok) {\r\n            let data = await response.json();\r\n\r\n            return data;\r\n        }\r\n\r\n        return null;\r\n    }\r\n}","import React, { Component } from \"react\";\r\n\r\nclass GoogleTagManager extends Component {\r\n    constructor(props){\r\n        super(props);\r\n        this.state = {\r\n            siteId: null,\r\n            endpoint: null,\r\n            isDataLoaded: false\r\n        };\r\n    }\r\n\r\n    componentDidMount() {\r\n        fetch('/Settings/GetAnalitcsData', {\r\n            method: 'GET',\r\n            cache: 'no-cache',\r\n            headers: { 'Content-Type': 'application/json' },\r\n        }).then(response => response.json()).then(data => {\r\n            if (data && data.isEnable) {\r\n                this.setState({\r\n                    siteId: data.siteId,\r\n                    endpoint: data.endpoint,\r\n                    isDataLoaded: true,\r\n                });\r\n            }\r\n        }).catch((error) => console.error('Error GTM', error));\r\n    }\r\n\r\n    render() {\r\n        const { siteId, endpoint, isDataLoaded } = this.state;        \r\n\r\n        if (!isDataLoaded) {\r\n            return null;\r\n        }\r\n\r\n        const iframeHTML = `\r\n        <iframe\r\n            src=\"${endpoint + siteId}\"\r\n            height=\"0\"\r\n            width=\"0\"\r\n            style=\"display:none;visibility:hidden\"\r\n        ></iframe>`;\r\n\r\n        return (\r\n            <noscript\r\n            dangerouslySetInnerHTML={{__html: iframeHTML}}\r\n            />\r\n        );\r\n    }\r\n}\r\n\r\nexport default GoogleTagManager;","import React, { Component } from 'react';\r\nimport { Route, Switch } from 'react-router';\r\nimport { Layout } from './components/Layout';\r\nimport { Home } from './components/Homepage/Home';\r\nimport { Authentication } from './components/Authentication/Authentication';\r\nimport { AuthByToken } from './components/Authentication/AuthByToken';\r\nimport { AuthByDigitalKey } from './components/Authentication/AuthByDigitalKey';\r\nimport TokenForm from './components/Authentication/TokenForm';\r\nimport AuthorizeRoute from './components/api-authorization/AuthorizeRoute';\r\nimport { MainForm } from './components/Form/MainForm';\r\nimport ErrorPage from './components/Global/ErrorPage';\r\nimport SuccessPage from './components/Global/SuccessPage';\r\nimport { ResourcesManager } from './components/Global/ResourcesManager';\r\nimport GoogleTagManager from './components/Global/GoogleTagManager';\r\n\r\n\r\nexport default class App extends Component {\r\n    static displayName = App.name;\r\n\r\n    constructor(props) {\r\n        super(props);\r\n\r\n        this.state = {\r\n            resources: {},\r\n            globalResources: {},\r\n            faqsHP: [],\r\n            formResources: {},\r\n        };\r\n    }\r\n\r\n    async componentDidMount() {\r\n        var resourceManager = new ResourcesManager();\r\n        const resources = await resourceManager.getResources();\r\n\r\n        this.setState({\r\n            globalResources: resources.globalResources,\r\n            faqsHP: resources.faqs,\r\n            formResources: resources.formResources,\r\n            amaErrorResources: resources.amaErrorResources,\r\n            faqsStep2: resources.faqsStep2\r\n        });\r\n    }\r\n\r\n    render() {\r\n        return (\r\n            <Layout globalResources={this.state.globalResources}>\r\n                {/* Google Tag Manager Component */}\r\n                <GoogleTagManager/>\r\n\r\n                <Switch>\r\n                    <Route exact path='/' render={(props) => (<Home {...props} globalResources={this.state.globalResources} faqsHP={this.state.faqsHP} />)} />\r\n                    <Route exact path='/Authentication' render={(props) => (<Authentication {...props} globalResources={this.state.globalResources} formResources={this.state.formResources} amaErrorResources={this.state.amaErrorResources} />)} />\r\n                    <Route exact path='/Authentication/Token' render={(props) => (<AuthByToken {...props} globalResources={this.state.globalResources} formResources={this.state.formResources} />)} />\r\n                    <Route exact path='/Authentication/Token/ValidateToken' render={(props) => (<TokenForm {...props} globalResources={this.state.globalResources} formResources={this.state.formResources} />)} />\r\n                    <Route exact path='/Authentication/DigitalKey' render={(props) => (<AuthByDigitalKey {...props} globalResources={this.state.globalResources} formResources={this.state.formResources} />)} />\r\n                    <Route exact path='/SuccessPage' render={(props) => (<SuccessPage {...props} globalResources={this.state.globalResources} />)} />\r\n                    <Route exact path='/ErrorPage' render={(props) => (<ErrorPage {...props} globalResources={this.state.globalResources} />)} />\r\n                    <AuthorizeRoute path='/MainForm' component={MainForm} globalResources={this.state.globalResources} formResources={this.state.formResources} faqsStep2={this.state.faqsStep2} />\r\n                    <Route component={(props) => <ErrorPage {...props} globalResources={this.state.globalResources} />} />\r\n                </Switch>\r\n            </Layout>\r\n        );\r\n    }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\n//mport registerServiceWorker from './registerServiceWorker';\r\nimport './styles/custom-bootstrap.scss';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n    <BrowserRouter basename={baseUrl}>\r\n        <App />\r\n    </BrowserRouter>,\r\n    rootElement);\r\n\r\n//registerServiceWorker();\r\n"],"sourceRoot":""}