{"version":3,"sources":["utils/i18n/locales lazy /^/.//.*//common/.json$/ groupOptions: {} namespace object","components/Steps/index.js","components/Side/index.js","utils/redux-helper/helper.js","utils/fetch/actionDefinitions.js","utils/userManager.js","utils/fetch/actionCreators.js","utils/fetch/axios.js","containers/Login/utils.js","containers/Login/index.js","components/HeaderLogin/actionDefinitions.js","components/HeaderLogin/callback.js","components/HeaderLogin/actionsCreator.js","components/HeaderLogin/silent_renew.js","utils/commonFormsConfig.js","components/ContractConfirm/index.js","components/InfoMessage/index.js","containers/Form/actionDefinitions.js","containers/Form/actionCreator.js","utils/scroll/index.js","containers/Form/selectors.js","containers/Form/renderField.js","containers/Step2/utils.js","utils/commonFormsHandlers.js","containers/Form/checkField.js","containers/App/selectors.js","containers/FormButton/index.js","containers/App/actionDefinitions.js","containers/App/actionCreator.js","components/HeaderLogin/selectors.js","containers/Step1/index.js","components/DataValue/index.js","components/HelpChat/index.js","containers/Step2/index.js","components/CustomModal/index.js","containers/Step3/NormalizeAddressForm.js","containers/Step3/index.js","containers/Step4/index.js","utils/localStorage.js","containers/Alert/actionDefinitions.js","containers/Alert/actionCreator.js","containers/Step5/index.js","containers/Form/index.js","containers/Alert/index.js","containers/App/App.js","containers/Download/index.js","containers/PrivacyPolicy/index.js","containers/TermsAndConditions/index.js","components/NotFound/index.js","components/Language/index.js","components/HeaderLogin/index.js","components/Header/index.js","components/Footer/index.js","containers/Routing/index.js","containers/Alert/reducer.js","containers/App/reducer.js","utils/fetch/reducer.js","containers/Form/reducer.js","components/HeaderLogin/reducer.js","utils/reducerProvider.js","utils/store.js","utils/i18n/index.js","index.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","t","keys","Object","module","exports","Steps","step","steps","num","label","s","i","className","Side","createAction","type","payload","scopes","authority","FETCH_FAILURE","FETCH_REQUEST","FETCH_SUCCESS","fetchRequest","source","ActionDefinitions","fetchSuccess","fetchFailure","error","updatedFetch","method","url","params","beforeActions","successActions","errorActions","options","dispatch","log","location","window","forEach","br","axiosOptions","headers","data","JSON","stringify","merge","axios","response","sa","catch","ea","reject","baseURL","postelURL","userManagerConfig","client_id","redirect_uri","protocol","hostname","port","post_logout_redirect_uri","response_type","scope","monitorSession","automaticSilentRenew","silent_redirect_uri","userManager","createUserManager","authOnIdentity","history","origin","asset_manifest","files","settings","extraQueryParams","appCssPath","signinState","state","path","signinRedirect","Login","useDispatch","onClick","href","SET_IS_LOGGED","LoginCallback","this","props","successCallback","setIsLogged","push","errorCallback","React","Component","mapDispatchToProps","connectedLoginCallback","connect","SilentRenew","processSilentRenew","HELPER_TIMEOUT","payment_type_options","value","contractTypes","personTypeOptions","isPhysicalPerson","getPrivacyInfo","authComunicazioniPromo","authProfilazioneUtente","authComunicazioneDati","tcModalContent","title","content","target","rel","privacyModalContent","disclaimer","style","border","verticalAlign","backgroundColor","textAlign","width","ContractConfirm","consumption","name","InfoMessage","redirectToIndex","withRouter","GOTO_STEP","GOTO_PREV_STEP","GOTO_NEXT_STEP","SET_CONVENTION","SET_PRIVACY_INFO","SET_PRODUCTS","FORM_STEP1","FORM_STEP2","FORM_STEP3","FORM_STEP4","goToStep","goToNextStep","initializeSpecificForm","numStep","initialize","scrollToForm","scroller","scrollTo","duration","delay","smooth","offset","getStep","get","getProductsDetails","Map","getConvention","createSelector","productsDetails","getProducts","List","info_tooltip","old_conv_card_number","old_phone","renderFieldText","feedback","input","focus","blur","tooltipTextType","labelClass","iconClass","inputClass","autocomplete","required","disabled","disablePaste","meta","touched","warning","info","htmlFor","key","autoComplete","onPaste","preventDefault","onFocus","onKeyPress","event","charCode","onBlur","trim","renderFieldSelect","change","searchable","SelectComponent","Select","Async","loadOptions","callback","toLowerCase","start_options","filter","opt","substr","length","include_options","includes","union","slice","complete","setTimeout","filterSelectOptions","allOptions","preselectValue","isMap","toJS","cacheOptions","defaultOptions","placeholder","noResultsText","searchPromptText","loadingPlaceholder","onChange","selectedOption","renderFieldRadio","optionsContainerClassName","labelOptionClassName","centered","inverted","separator","forceInline","checked","renderFieldRadioIcon","icon","renderFieldRadioList","text","description","promo","renderFieldCheckbox","subLabel","postLabel","renderFieldDatePicker","minDate","maxDate","calendarClassName","dateFormat","dropdownMode","peekNextMonth","placeholderText","selected","showMonthDropdown","showYearDropdown","renderFieldPhone","i18n","localization","it","language","fr","country","preferredCountries","specialLabel","containerClass","buttonClass","dropdownClass","prefix","dialCode","fakePaymentCountries","getCountries","N_15","N_18","N_20","N_21","N_22","N_24","N_27","N_28","CHECK_CODE_EVEN","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","CHECK_CODE_ODD","onSubmitFail","errors","requiredElemName","requiredFields","getCheckCode","codiceFiscale","val","c","charAt","fillInAddress","CODE_LENGTHS","AD","AE","AT","AZ","BA","BE","BG","BH","BR","CH","CR","CY","CZ","DE","DK","DO","EE","ES","FI","FO","FR","GB","GI","GL","GR","GT","HR","HU","IE","IL","IS","IT","JO","KW","KZ","LB","LI","LT","LU","LV","MC","MD","ME","MK","MR","MT","MU","NL","NO","PK","PL","PS","PT","QA","RO","RS","SA","SE","SI","SK","SM","TN","TR","cb","componentForm","name_type","place","getPlace","component","address_components","fraction","city","intersection","types","currCountry","v_required","undefined","v_cf_2","toUpperCase","expectedCheckCode","cf","checkCF","n_emailchar","previousValue","test","n_onlyalfa_special","n_onlychar","n_general","n_cf_length","n_phone","n_plate_length","n_vat_number","n_vat_number_generic","n_sdi_code","n_street_number_length","n_province","n_cap_length","getApp","getIsFetching","app","getHasProfile","getEmail","getMessage","FormButton","goToPrevStep","stopNext","isFetching","isTestCase","handleBack","lastStep","onSubmit","FETCH_STARTED","FETCH_COMPLETED","SET_CONTACT_INFO","SET_MESSAGE","SET_FINGERPRINT","fetchStarted","fetchCompleted","getOidc","getOidcReducer","oidc","getLogin","getIsLogged","login","getUser","getIdToken","user","getAccessToken","getFetchAuth","access_token","getContractTypes","Step1","conventionInfo","baseProducts","conventionProducts","onLoading","formatProducts","products","p","product_code","toString","product_name","product_description","family","setProducts","fetchAuth","setState","productType","salesChannel","list","openInfo","prevState","registerConventionCode","valuesStep1","setConvention","values","tipoContratto","promoCode","codicePromozionale","initialValues","convention","plainMergedValues","mergeDeep","validity","handleSubmit","cardType","contractOptions","Array","from","noValidate","validate","height","getFormValues","reduxForm","form","destroyOnUnmount","DataValue","uOM","moreInfo","HelpChat","useTranslation","fcWidget","isOpen","open","Step2","openHelpChat","handleMobilePhoneSelect","handlePhoneSelect","valuesStep2","hasProfile","callGAEventsCondition","isIta","firstName","normalize","lastName","dataDiNascita","subYears","Date","personType","rappresentanteLegaleNome","rappresentanteLegaleCognome","ragioneSociale","partitaIva","v_vat_number_length","codiceFiscaleAzienda","v_vat_number_length_2","pec","v_email","codiceSDI","v_sdi_length","callGAEvents","defaultValues","mobilePhone1","mobilePhone1Prefix","CustomModal","hideModal","currentTitle","currentContent","buttons","tabIndex","role","NORMALIZE_ADDRESS_FORM","NormalizeAddressForm","addresses","a","indirizzo","civico","frazione","comune","provincia","cap","n_address","formValues","Step3","loading","setAddress","address","saveNormalizedAddress","normalizeAddressFormValues","index","valuesStep3","isCountryIT","nazione","countries","numeroCivico","localita","citta","localitaAggiuntiva","candidati","normAddress","autocompleteInput","document","getElementById","observerHack","MutationObserver","disconnect","setAttribute","observe","attributes","attributeFilter","google","maps","places","Autocomplete","addListener","navigator","geolocation","getCurrentPosition","position","lat","coords","latitude","lng","longitude","circle","Circle","center","radius","accuracy","setBounds","getBounds","geolocate","v_province_length","phone1Prefix","Step4","handleTcModal","isModalTcOpen","handlePrivacyModal","isModalOpen","setAddressInfo","addressInfo","indexOf","currentCountry","short_name","valuesStep4","privacy","consent_options","paymentType","copyDebData","bankCountryCode","codiceIBAN","substring","deleteFromLocalStorage","item","localStorage","removeItem","err","SET_ALERT_OPTIONS","setAlertOptions","config","clearData","Step5","formatStepsData","email","step1","step2","step3","step4","formatISO","persona","phone1","personaDeb","firstNameDeb","lastNameDeb","ragioneSocialeDeb","indirizzoDeb","civicoDeb","capDeb","cittaDeb","provinciaDeb","nazioneDeb","copySotData","activateService","manageResponseAlerts","saving","renderPrivacyAuthorizations","getStep1Data","currentOffer","currentProduct","productCode","getStep2Data","dateOfBirth","format","getStep3Data","nation","fullAddress","targaVeicolo","modelloVeicolo","getStep4Data","prevStep1Values","getSummary","isSuccessful","specificMessage","message","mode","ok","Form","currentStep","Alert","getLoading","getContent","alertConfig","alertClass","confirmAction","confirmLabel","bind","getIn","App","fetching","getStepData","nazioneLabel","tipoPersona","setFingerprint","setMessage","Fingerprint2","components","fingerprint","x64hash128","join","contactEmail","hasContract","hasConfirmedOTP","dashboard","idTipoTessera","quoteType","stepData","show","Download","PrivacyPolicy","TermsAndConditions","NotFound","lngs","IconOption","handleMouseDown","stopPropagation","onSelect","option","handleMouseEnter","handleMouseMove","isFocused","onMouseDown","onMouseEnter","onMouseMove","IconValue","Language","valueComponent","optionComponent","lang","culture","cookie","encodeURIComponent","changeLanguage","clearable","HeaderLogin","isLogged","useSelector","idToken","useHistory","useState","waitingOAuth","setWaitingAuth","signoutRedirect","id_token_hint","Header","Footer","getFullYear","Routing","accessToken","checkIsLogged","routerProps","to","requireAuth","pathname","routes","exact","alertInitialState","alert","action","set","appInitialState","setIn","FetchRecord","Record","lastFetchSource","lastFetchSuccess","lastFetchError","initialState","fetch","responseText","productsInitialState","privacyInfo","headerLogin","oidcReducer","createImmutableReducer","immutable","appReducer","combineReducers","browser","createResponsiveStateReducer","extraSmall","small","medium","large","reduxFormReducer","rootReducer","browserState","enhancer","createLogger","stateTransformer","Iterable","isIterable","collapsed","compose","responsiveStoreEnhancer","applyMiddleware","thunkMiddleware","persistedState","timeToExpire","serializedState","getItem","updateTime","getTime","currentTime","fromJS","parse","loadState","store","createStore","reducers","subscribe","throttle","setItem","saveState","getState","use","LanguageDetector","initReactI18next","resourcesToBackend","namespace","resources","init","debug","fallbackLng","interpolation","escapeValue","googleTagManagerID","GTMLoader","w","d","l","f","getElementsByTagName","j","createElement","dl","async","src","parentNode","insertBefore","initGTM","ReactDOM","render","fallback"],"mappings":"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,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAAE,uBACxB,CAAEuG,MAAO,KAAM9F,MAAOT,EAA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","file":"static/js/main.a88aa0c1.chunk.js","sourcesContent":["var map = {\n\t\"./en/common.json\": [\n\t\t497,\n\t\t3\n\t],\n\t\"./fr/common.json\": [\n\t\t498,\n\t\t4\n\t],\n\t\"./it/common.json\": [\n\t\t499,\n\t\t5\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 490;\nmodule.exports = webpackAsyncContext;","import React from 'react';\nimport PropTypes from 'prop-types';\n\nlet STEPS_BAR = [];\n\nconst Steps = ({ step, t }) => {\n STEPS_BAR = [\n {\n num: 1,\n label: t('steps.step1')\n },\n {\n num: 2,\n label: t('steps.step2')\n },\n {\n num: 3,\n label: t('steps.step3')\n },\n {\n num: 4,\n label: t('steps.step4')\n },\n {\n num: 5,\n label: t('steps.step5')\n }\n ];\n\n const steps = STEPS_BAR.map((s, i) => {\n // const stepClickable = stepsValidity.get(s.num);\n // const goInClass = stepClickable ? ' go-in' : '';\n return
s.num ? \"done\" : \"\")}>\n {\n // if(stepClickable) {\n // goToStep(s.num);\n // }\n // }}\n >\n {s.num}\n
\n
\n {s.label}\n ;\n });\n\n return
\n
\n
\n {/* Steps n° {step} */}\n {steps}\n
\n
\n
;\n};\n\nSteps.propTypes = {\n step: PropTypes.number,\n t: PropTypes.func\n // stepsValidity: PropTypes.object.isRequired,\n // goToStep: PropTypes.func.isRequired\n};\n\nexport { Steps, STEPS_BAR };\n","import React from 'react';\n\nconst Side = () => {\n return (\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default Side;\n","export function createAction(type, payload) {\n\treturn {\n\t\ttype,\n\t\tpayload\n\t};\n}","export const FETCH_FAILURE = 'FETCH_FAILURE@fetch';\nexport const FETCH_REQUEST = 'FETCH_REQUEST@fetch';\nexport const FETCH_SUCCESS = 'FETCH_SUCCESS@fetch';","import { createUserManager } from 'redux-oidc';\n// import { WebStorageStateStore } from 'oidc-client';\n\nlet client_id;\nlet scopes;\nlet authority;\nswitch(process.env.REACT_APP_ENV) {\n default:\n case 'development':\n client_id = 'attivazione-online-mobility';\n scopes = 'user_info apiu400 api-localization';\n authority = 'https://test-auth-emobility.dufercoenergia.com';\n break;\n case 'test':\n client_id = 'attivazione-online-mobility';\n scopes = 'user_info apiu400 api-localization';\n authority = 'https://test-auth-emobility.dufercoenergia.com';\n break;\n case 'staging':\n client_id = 'attivazione-online-mobility';\n scopes = 'user_info apiu400 api-localization';\n authority = 'https://test-auth-emobility.dufercoenergia.com';\n break;\n case 'production':\n client_id = 'attivazione-online-mobility';\n scopes = 'user_info apiu400 api-localization';\n authority = 'https://auth-emobility.dufercoenergia.com';\n break;\n}\n\nconst userManagerConfig = {\n client_id,\n redirect_uri: `${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}/callback`,\n post_logout_redirect_uri: `${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}/`,\n response_type: 'token id_token',\n scope: 'openid profile email '+ scopes,\n authority,\n monitorSession: false, //evita di utilizzare i cookie di sessione forniti dall'identity server\n automaticSilentRenew: true,\n //il silent_redirect_uri deve essere impostato nella lista di redirect_uris consentiti lato Identity Server\n silent_redirect_uri: `${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}/silent_renew`,\n // filterProtocolClaims: true, // from Docs: \"Should OIDC protocol claims be removed from profile\"\n // loadUserInfo: true, // Di default salva (e con questa opzione carica) i dati su sessionStorage, ma noi già lo salviamo su localStorage\n // userStore: new WebStorageStateStore({ store: window.localStorage })\n};\n\nconst userManager = createUserManager(userManagerConfig);\nexport default userManager;\n","import axios from 'axios';\nimport forEach from 'lodash/forEach';\nimport merge from 'lodash/merge';\n\nimport { createAction } from '../../utils/redux-helper';\nimport * as ActionDefinitions from './actionDefinitions';\n\n/* TO REMOVE */\nexport const fetch = (id, options, beforeActions = false, successActions = false, errorActions = false) => dispatch => {\n dispatch(fetchRequest(id));\n beforeActions && beforeActions.forEach(ba => dispatch(ba()));\n\n return axios(options).then(function (response) {\n // console.log(response);\n dispatch(fetchSuccess(id));\n successActions && successActions.forEach(sa => dispatch(sa(response.data)));\n return Promise.resolve(response.data);\n\n }).catch(function (error) {\n // console.log(error);\n dispatch(fetchFailure(id, error));\n errorActions && errorActions.forEach(ea => dispatch(ea(error)));\n return Promise.reject(error);\n });\n};\n\nexport const fetchRequest = (source) => {\n const payload = { source };\n return createAction(ActionDefinitions.FETCH_REQUEST, payload);\n};\n\nexport const fetchSuccess = (source) => {\n const payload = { source };\n return createAction(ActionDefinitions.FETCH_SUCCESS, payload);\n};\n\nexport const fetchFailure = (source, error) => {\n const payload = { source, error };\n return createAction(ActionDefinitions.FETCH_FAILURE, payload);\n};\n\n\nexport const updatedFetch = (method = 'GET', url = '/', params = {}, beforeActions = [], successActions = [], errorActions = [], options = {}) => dispatch => {\n const log = { location: window.location, method, url, params, beforeActions, successActions, errorActions, options };\n dispatch(fetchRequest(log));\n beforeActions && forEach(beforeActions, br => dispatch(br()));\n\n const axiosOptions = {\n method,\n headers: { 'Content-Type': 'application/json' },\n url\n };\n\n if(method !== 'GET') {\n axiosOptions.data = JSON.stringify(params);\n } else {\n axiosOptions.params = params;\n }\n\n if(options) {\n merge(axiosOptions, options);\n }\n\n return axios(axiosOptions)\n .then(response => {\n dispatch(fetchSuccess(log));\n successActions && forEach(successActions, sa => dispatch(sa(response.data)));\n return Promise.resolve(response.data);\n }).catch((error) => {\n dispatch(fetchFailure(log, error));\n errorActions && forEach(errorActions, ea => dispatch(ea(error)));\n return Promise.reject(error);\n });\n};\n","let baseURL, postelURL;\nswitch(process.env.REACT_APP_ENV) {\n default:\n case 'development':\n baseURL = 'https://test-apiu400.dufercoenergia.com/api/v4.0';\n // baseURL = 'http://10.0.208.122:50151/api/v4.0';\n postelURL = 'https://test-localization.dufercoenergia.com';\n break;\n case 'test':\n baseURL = 'https://test-apiu400.dufercoenergia.com/api/v4.0';\n postelURL = 'https://test-localization.dufercoenergia.com';\n break;\n case 'staging':\n baseURL = 'https://test-apiu400.dufercoenergia.com/api/v4.0';\n postelURL = 'https://test-localization.dufercoenergia.com';\n break;\n case 'production':\n baseURL = 'https://prod-apiu400.dufercoenergia.com/api/v4.0';\n postelURL = 'https://localization.dufercoenergia.com';\n break;\n}\n\nexport { baseURL, postelURL };\n","import { updatedFetch } from '../../utils/fetch/actionCreators';\nimport userManager from '../../utils/userManager';\n\nexport const authOnIdentity = (dispatch, history) => {\n const origin = `${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}`;\n const url = origin + '/asset-manifest.json';\n dispatch(updatedFetch('GET', url))\n .then(asset_manifest => {\n //NOTE: in PROD asset_manifest['main.css'] è il path al css, in DEVELOPMENT è undefined\n if(process.env.REACT_APP_ENV === 'development') {\n userManager.settings.extraQueryParams = { appCssPath: origin + '/styleguidist/main.css' };\n }\n if(asset_manifest.files && asset_manifest.files['main.css']) {\n userManager.settings.extraQueryParams = { appCssPath: origin + asset_manifest.files['main.css'] };\n }\n const signinState = {};\n if(history.location.state) {\n signinState['data'] = { path: history.location.state };\n }\n userManager.signinRedirect(signinState);\n })\n .catch(() => {\n const signinState = {};\n if (history.location.state) {\n signinState['data'] = { path: history.location.state };\n }\n userManager.signinRedirect(signinState);\n });\n};\n","import React, { Fragment } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useDispatch } from \"react-redux\";\n\nimport { Steps } from \"../../components/Steps\";\nimport Side from \"../../components/Side\";\n\nimport { authOnIdentity } from \"./utils\";\n\nconst Login = ({ history, t }) => {\n const dispatch = useDispatch();\n\n return (\n \n
\n
\n
\n
\n
\n {t(\"login.title_1\")}\n
\n
\n {t(\"login.title_2\")}\n
\n
{t(\"login.subtitle\")}
\n
\n authOnIdentity(dispatch, history)}\n >\n {t(\"login.signin\")}\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
{t(\"login.paragraph_1\")}
\n
\n {t(\"login.paragraph_2\")}\n
\n
\n
\n
\n
\n \n \n {t(\"login.consumption.title\")}\n {\" \"}\n {t(\"login.consumption.description\")}\n \n
\n
\n
\n
{t(\"login.consumption.subDescription_1\")}
\n
{t(\"login.consumption.subDescription_2\")}
\n
{t(\"login.consumption.day_1\")}
\n
    \n
  • {t(\"login.consumption.subList_1\")}
  • \n
  • {t(\"login.consumption.subList_2\")}
  • \n
  • {t(\"login.consumption.subList_3\")}
  • \n
  • {t(\"login.consumption.subList_4\")}
  • \n
\n
{t(\"login.consumption.day_2\")}
\n
    \n
  • {t(\"login.consumption.subList_5\")}
  • \n
\n
{t(\"login.consumption.subDescription_3\")}
\n
{t(\"login.consumption.subDescription_4\")}
\n
\n {t(\"login.consumption.subDescription_5\")} \n {t(\"login.consumption.link\")}\n
\n
\n
\n
\n
\n
\n
\n \n \n {t(\"login.rechargeable.title\")}\n {\" \"}\n {t(\"login.rechargeable.description\")}\n \n
\n
\n
\n {t(\"login.rechargeable.subDescription\")}\n
\n
\n
\n
\n
\n
\n \n \n {t(\"login.flat.title\")}\n {\" \"}\n {t(\"login.flat.description\")}\n \n
\n
\n
{t(\"login.flat.subDescription\")}
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n {t(\"login.documents.title\")}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{t(\"login.documents.fiscalCode\")}
\n
\n
\n
\n
{t(\"login.documents.paymentMode\")}
\n
\n
\n
\n
{t(\"login.documents.plate\")}
\n
\n
\n
\n
\n
\n );\n};\n\nLogin.propTypes = {\n history: PropTypes.object,\n t: PropTypes.func,\n};\n\nexport default Login;\n","export const SET_IS_LOGGED = 'SET_IS_LOGGED@headerLogin';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { CallbackComponent } from 'redux-oidc';\n\nimport { setIsLogged } from './actionsCreator';\n\nimport userManager from '../../utils/userManager';\n\nclass LoginCallback extends React.Component {\n render() {\n const { t } = this.props;\n return (\n {\n const { history, setIsLogged } = this.props;\n // const redirectUrl = user.state ? user.state.path : '/';\n setIsLogged();\n history.push('/contract');\n // history.push(redirectUrl);\n }}\n errorCallback={() => {\n this.props.history.push('/');\n }}\n >\n
\n
\n
{t('login.redirect')}
\n
\n
\n
\n \n );\n }\n}\n\nLoginCallback.propTypes = {\n history: PropTypes.object,\n setIsLogged: PropTypes.func,\n t: PropTypes.func\n};\n\nconst mapStateToProps = () => {\n return {};\n};\n\nconst mapDispatchToProps = {\n setIsLogged\n};\n\nconst connectedLoginCallback = connect(mapStateToProps, mapDispatchToProps)(LoginCallback);\nexport { connectedLoginCallback as LoginCallback };\n","import { createAction } from '../../utils/redux-helper';\nimport * as ActionDefinitions from './actionDefinitions';\n\nexport const setIsLogged = () => {\n return createAction(ActionDefinitions.SET_IS_LOGGED);\n};\n","import { processSilentRenew } from 'redux-oidc';\n\nexport const SilentRenew = () => { processSilentRenew(); return null; };\n","import React from \"react\";\n\nexport const HELPER_TIMEOUT = 10000;\n\nexport const payment_type_options = [\n { value: \"2\", label: \"Carta di credito (o PayPal)\" },\n { value: \"1\", label: \"SDD - Sepa Direct Debit\" },\n];\n\nexport const contractTypes = {\n flat: \"Flat\",\n rechargeable: \"Ricaricabile\",\n consumption: \"AConsumo\",\n};\n\nexport const personTypeOptions = [\n { value: \"1\", label: \"Persona fisica\" },\n { value: \"2\", label: \"Persona giuridica\" },\n];\n\nexport const defaultPersonType = \"1\";\n\nexport const isPhysicalPerson = (value) => {\n return value === \"1\";\n};\n\nexport const getPrivacyInfo = (t) => {\n return {\n authComunicazioniPromo: t(\"privacy.promo\"),\n authProfilazioneUtente: t(\"privacy.profilation\"),\n authComunicazioneDati: t(\"privacy.authComunicazioneDati\"),\n };\n};\n\nexport const tcModalContent = {\n title: \"Condizioni Generali\",\n content: (\n
\n
\n Le seguenti Condizioni Generali di contratto si applicano a tutti i\n servizi forniti da Duferco Mobility S.r.l. (d’ora innanzi “Duferco”)\n attraverso l’applicazione “D-MOBILITY” e il sito{\" \"}\n \n mobility.dufercoenergia.com\n \n . Il Cliente flaggando il tasto “Accedi” dichiara di essere persona\n fisica di maggiore età o persona giuridica e di avere attentamente letto\n ed espressamente accettato tutti i termini e le condizioni d’utilizzo\n dei servizi di seguito indicati (d’ora innanzi i “Servizi”).\n
\n
\n
Servizi forniti
\n
\n L’applicazione D-MOBILITY e/o il sito mobility.dufercoenergia.com\n consentono di gestire le seguenti operazioni:\n
    \n
  • \n visualizzazione su mappa delle stazioni di ricarica dedicate ai\n veicoli elettrici direttamente gestite da Duferco, abilitate ai\n servizi di ricarica di Duferco o da altro service provider italiano\n ed europeo con cui Duferco abbia concluso contratto di roaming;\n
  • \n
  • \n registrazione come Cliente e adesione al servizio di ricarica dei\n veicoli elettrici tramite smartphone e tablet. Per registrarsi come\n Cliente ed accedere all’utilizzo dei Servizi forniti è necessario\n compilare il modulo che apparirà sul video al momento della scelta\n dell'opzione \"Registrati\" e creare un proprio codice identificativo\n “Username\" e \"Password\". Ai fini del buon esito della registrazione,\n il Cliente dovrà poi fornire i propri dati personali oltre ad\n indicare un metodo di pagamento che sarà utilizzato per il pagamento\n delle ricariche Pay per use (a consumo), l’acquisto delle soluzioni\n a contratto (es. abbonamento mensile o prepagata ricaricabile) ed\n eventuali servizi aggiuntivi o corrispettivi addizionali, come\n l’occupazione presa. Il trattamento dei dati avverrà nel rispetto\n delle disposizioni contenute Reg. UE 2016/679 (Regolamento Europeo\n per la protezione dei dati personali). Il Cliente dichiara e\n garantisce la completezza, correttezza e veridicità dei dati\n personali e di pagamento forniti in fase di registrazione, inclusa\n la titolarità a fruire di codici promozionali o convenzioni\n dedicate, e si impegna ad aggiornare gli stessi tempestivamente;\n
  • \n
  • \n sottoscrizione di offerte per la fornitura di servizi di ricarica\n per veicoli elettrici;{\" \"}\n
  • \n
  • \n acquisto ed associazione di una card RFID al profilo utente\n registrato;\n
  • \n
  • \n abilitazione alla ricarica a consumo, c.d. Pay per use, e pagamento\n del corrispettivo per il servizio di ricarica;\n
  • \n
  • \n abilitazione alla ricarica, grazie all’attivazione di codici\n promozionali e/o convenzioni;\n
  • \n
  • \n attivazione di opzioni di servizio rese disponibili anche in un\n momento successivo alla registrazione in App o in sito e alla\n sottoscrizione o acquisto delle soluzioni precedentemente citate;\n
  • \n
  • invio feedback sulla qualità del servizio erogato;
  • \n
  • \n invio richiesta contatto finalizzata al supporto nella ricarica;\n
  • \n
  • \n possibilità di contatto telefonico attraverso numero verde dedicato\n per l’assistenza;\n
  • \n
  • \n visualizzazione delle sessioni di ricarica e dei pagamenti\n effettuati;\n
  • \n
  • \n sblocco della presa da utilizzare ed avvio del processo di ricarica\n alla stazione selezionata (solo per talune stazioni di ricarica\n abilitate);\n
  • \n
  • \n monitoraggio del processo di ricarica (solo per talune stazioni di\n ricarica abilitate);\n
  • \n
  • \n interruzione del processo di ricarica mediante apposito comando\n dedicato (solo per talune stazioni di ricarica abilitate).\n
  • \n
\n Duferco precisa che alcuni dei servizi sopraelencati potrebbero non\n essere disponibili al momento dell'accettazione delle presenti\n Condizioni Generali e che gli stessi potranno essere attivati in una\n fase successiva. La fatturazione dei servizi Mobility di Duferco è a\n cadenza mensile o superiore e copia della fattura verrà inviata al\n Cliente all’indirizzo di posta elettronica fornito. Per talune stazioni\n di ricarica, direttamente gestite da Duferco e visualizzabili tramite\n sito e/o App, è possibile l’abilitazione alla ricarica a sessione\n tramite SMS e il pagamento del corrispettivo per il servizio di ricarica\n tramite credito telefonico.\n
\n
\n
\n Extra soglia e Corrispettivo addizionale\n
\n
\n In caso di fruizione di un’offerta in abbonamento mensile Flat o di\n offerta assimilabile che preveda una soglia periodica, al superamento\n della soglia di utilizzo mensile, Duferco si riserva di addebitare un\n importo indicato su base contrattuale per ogni incremento di\n disponibilità compreso fra 1 e 100 kWh da consumarsi nello stesso mese.\n In talune infrastrutture di ricarica pubblica, espressamente segnalate\n in App e sul sito, è prevista l’applicazione di un Corrispettivo\n Addizionale per occupazione presa (di seguito il “Corrispettivo\n Addizionale”) il cui importo è indicato nella scheda di dettaglio della\n singola infrastruttura di ricarica. Tale importo è da intendersi Esente\n IVA.\n
\n
\n
Link
\n
\n Duferco può fornire link ad altri siti o ad altre risorse della rete\n Internet/Web. Il Cliente dà atto e riconosce che Duferco non può essere\n in alcun modo ritenuta responsabile per il funzionamento di tali siti o\n risorse esterne, né è tenuta a controllare il contenuto degli stessi e/o\n il materiale, anche pubblicitario, divulgatovi o i prodotti/Servizi ivi\n offerti, del cui eventuale acquisto il Cliente assume ogni\n responsabilità.\n
\n
\n
\n Divieto di rivendita o di uso commerciale dei Servizi\n
\n
\n Il diritto del Cliente di usare i Servizi sottoscritti è personale e non\n cedibile. Al Cliente è fatto divieto di rivendere o fare qualsiasi altro\n uso commerciale dei Servizi, senza il consenso scritto di Duferco.\n
\n
\n
\n Variazioni delle Condizioni Generali per modifiche normative e\n variazioni unilaterali di clausole contrattuali\n
\n
\n Le presenti Condizioni Generali prevalgono su qualunque accordo o intesa\n precedente intervenuta tra Duferco e il Cliente. Duferco si riserva il\n diritto di modificare le stesse qualora sia necessario per la corretta\n esecuzione dei Servizi, nonché di recepire in maniera automatica ogni\n obbligo imposto dalla legge o da provvedimenti di Pubbliche Autorità.\n Ove necessario Duferco indicherà al Cliente le conseguenti modifiche e i\n relativi effetti. Senza pregiudizio per le disposizioni precedenti,\n Duferco ha facoltà di apportare unilateralmente qualunque modifica alle\n condizioni economiche, normative o tecniche del contratto (quali, a\n titolo esemplificativo e non esaustivo, il mutamento delle condizioni\n del mercato o delle proprie politiche commerciali). L'uso di anche solo\n un Servizio da parte del Cliente costituirà una conferma della sua\n volontà di aderire alle Condizioni Generali e alle relative successive\n modificazioni.\n
\n
\n
Diritti di proprietà intellettuale
\n
\n Il Cliente riconosce espressamente che tutti i diritti di proprietà\n intellettuale, tutelabili sulla base delle norme relative al diritto\n d’autore o di altre disposizioni (fra cui, a titolo esemplificativo e\n non esaustivo, know-how, codice sorgente, software, hardware, progetti,\n applicativi, brevetti, segreti industriali, formule, algoritmi, modelli\n e banche dati relativi ai Servizi provenienti da Duferco o comunque\n messi a disposizione del Cliente in forza delle Condizioni Generali),\n sono e restano di titolarità di Duferco, e non potranno essere copiati,\n modificati, venduti e trasferiti a terzi.\n
\n
\n
\n Modalità di erogazione del servizio di ricarica ed interruzioni dello\n stesso\n
\n
\n Il servizio di ricarica potrà avvenire solo disponendo di un cavo a\n norma con spina di tipo 2 (generalmente detta ‘Mennekes’ monofase o\n trifase) o di tipo 3A (generalmente detta ‘Scame’, monofase) dotate di\n segnale pilota per la ricarica in Modo 3, o di presa lato vettura tipo\n Chademo e Combo 2 come richiesto dalle norme IEC 61851 per le ricariche\n in luogo pubblico. Il servizio di ricarica è erogato con continuità e\n può essere interrotto o ridotto di potenza temporaneamente da parte dei\n gestori di rete rispettivamente competenti per cause di oggettivo\n pericolo, per ragioni di servizio (quali, a titolo esemplificativo e non\n esaustivo, manutenzione, riparazione dei guasti, ampliamento,\n miglioramento o avanzamento tecnologico degli impianti) e per motivi di\n sicurezza ed efficienza e ottimizzazione del sistema. Tali interruzioni,\n nonché le interruzioni o limitazioni della fornitura dovute a cause\n accidentali, a cause di forza maggiore o comunque non imputabili a\n Duferco non comporteranno alcun obbligo di indennizzo o risarcimento né\n potranno costituire motivo di risoluzione del contratto. In particolare,\n Duferco non risponde dei danni conseguenti a problemi tecnici alla\n medesima non imputabili concernenti la consegna dell’energia elettrica\n quali, a titolo esemplificativo e non esaustivo, variazioni della\n tensione o frequenza della forma d’onda, interruzioni della continuità\n della fornitura o del servizio di trasmissione e distribuzione\n dell’energia elettrica, micro-interruzioni, buchi di tensione e, in\n generale, anomalie derivanti dalla gestione della connessione degli\n impianti del Cliente alla rete elettrica. Il Cliente dichiara, altresì,\n che il proprio veicolo è conforme agli standard di cui sopra e che il\n cavo e la presa a bordo veicolo sono stati forniti ed approvati dal\n costruttore del mezzo elettrico o sono comunque certificati e idonei\n alla ricarica del veicolo. Il mancato rispetto delle modalità di\n utilizzo previste e qualsiasi tentativo di uso improprio e/o\n manomissione del collegamento comporteranno l’immediata disabilitazione\n del servizio. Duferco si riserva di richiedere il risarcimento di\n qualsiasi danno derivante dall’utilizzo improprio e non conforme alle\n modalità specificate delle infrastrutture. Duferco risponderà\n esclusivamente di eventuali danni diretti causati al Cliente a seguito\n del verificarsi di un inconveniente tecnico nell’erogazione del servizio\n di ricarica nel limite euro 100.000,00 (centomila/00).\n
\n
\n
Manleva e garanzia
\n
\n Il Cliente si impegna ad utilizzare i Servizi esclusivamente per scopi\n leciti e ammessi dalle vigenti disposizioni di legge applicabili, in\n ogni caso senza ledere diritti di terzi ed assumendosi ogni\n responsabilità sul contenuto dei messaggi/feedback inviati. Il Cliente\n si obbliga a tenere indenne e a manlevare Duferco da ogni contestazione\n o risarcimento di oneri o danni che, direttamente o indirettamente,\n dovessero derivare alla stessa nell’ambito del presente contratto e che\n dipendano da fatto o comportamento del Cliente. Conseguentemente, il\n Cliente si obbliga a comunicare immediatamente a Duferco qualsiasi uso\n non autorizzato da parte di terzi del proprio User Id e/o Password o\n ogni altra violazione della sicurezza di cui venisse a conoscenza. Il\n Cliente riconosce che l’uso dei Servizi avviene a proprio esclusivo\n rischio. Duferco declina ogni responsabilità nel caso in cui i Servizi\n non corrispondano ai requisiti attesi dal Cliente o nel caso in cui gli\n stessi siano interrotti per qualsivoglia motivo alla stessa non\n addebitabile.\n
\n
\n
\n Sospensione e/o interruzione dei Servizi da parte di Duferco\n
\n
\n Duferco si riserva il diritto di sospendere o interrompere\n definitivamente l’erogazione dei Servizi in ogni momento, e senza\n preavviso alcuno, in caso di violazioni di legge o di inadempimento\n delle presenti Condizioni Generali da parte del Cliente.\n
\n
\n
Clausola di conservazione
\n
\n Qualora una clausola o una delle disposizioni delle presenti Condizioni\n Generali risulti invalida, inefficace o inapplicabile, essa non\n comporterà l’invalidità, l’inefficacia o lo scioglimento delle stesse,\n fatta salva l’applicazione dell’art. 1419, comma 1, cod. civ..\n
\n
\n
Legge applicabile e foro competente
\n
\n Per quanto non previsto dalle presenti Condizioni Generali, i Servizi\n forniti attraverso l’applicazione D-MOBILITY e il sito\n mobility.dufercoenergia.com sono regolati dalla legge italiana e dalla\n normativa specifica del settore. Per qualsiasi controversia dovesse\n insorgere tra Duferco e il Cliente in merito all’utilizzo dei Servizi\n forniti si farà ricorso al foro del consumatore per il Cliente persona\n fisica e al foro esclusivo di Genova per il Cliente persona giuridica.\n
\n
\n
Clausole vessatorie
\n
\n Il Cliente dichiara espressamente di accettare il contenuto delle\n seguenti clausole: (Extra soglia e Corrispettivo addizionale);\n (Variazioni delle Condizioni Generali per modifiche normative e\n variazioni unilaterali di clausole contrattuali); (Modalità di\n erogazione del servizio di ricarica ed interruzioni dello stesso);\n (Manleva e garanzia); (Sospensione e/o interruzione dei Servizi da parte\n di Duferco); (Legge applicabile e foro competente).\n
\n
\n ),\n};\n\nexport const privacyModalContent = {\n title:\n \"Documento informativo ai sensi dell’art. 13 Reg. UE 2016/679 (GDPR) – Informativa per il trattamento dei dati personali raccolti presso l’interessato*\",\n disclaimer:\n \"* Informativa non valida per siti web eventualmente consultabili tramite links presenti sull’APP o sulla presente area a dominio del Titolare.\",\n content: (\n
\n
\n 1. Titolare del trattamento (artt. 4 e 24 GDPR)\n
\n Duferco Mobility Srl, con sede\n legale in Via Paolo Imperiale n. 4, 16126 Genova, in persona del legale\n rappresentante pro-tempore. Lei potrà contattare il Titolare ai seguenti\n contatti: fax +39 010.275.60200, email:{\" \"}\n privacy@d-mobility.it, numero\n di telefono +39 010 275 601.\n
\n
\n \n Responsabile della Protezione dei Dati (RPD/DPO – Data Protection\n Officer)\n \n , ai sensi degli artt. 37 – 39 del GDPR, è individuato all’interno\n dell’organizzazione ed i relativi dati di contatto sono n. tel.: +39 010\n 275 601; e-mail dpo@d-mobility.it.\n
\n
\n
\n 2. Categorie di dati personali trattati\n
\n Dato personale: qualsiasi\n informazione riguardante una persona fisica identificata o identificabile\n («interessato»); si considera identificabile la persona fisica che può\n essere identificata, direttamente o indirettamente, con particolare\n riferimento a un identificativo come il nome, un numero di\n identificazione, dati relativi all’ubicazione, un identificativo online o\n a uno o più elementi caratteristici della sua identità fisica,\n fisiologica, genetica, psichica, economica, culturale o sociale (art. 4,\n comma 1 n. 1 – C26, C27, C30 GDPR).\n
\n
\n Dati di Pagamento: dati necessari\n al fine di evadere un ordine, come i dati di carta di credito o bancomat\n (nome del titolare, numero della carta, data di scadenza, ecc.) o di altre\n forme di pagamento (se disponibili). In ogni caso, Duferco Mobility, o i\n consulenti che si occupano dei pagamenti per conto della stessa,\n gestiscono tali pagamenti e i dati finanziari nel rispetto delle leggi e\n delle normative in vigore e degli standard di Sicurezza come PCI DSS\n (Payment Card Industry Data Security Standard).\n
\n
\n
\n 3. Finalità di trattamento/Base Giuridica – Periodo di conservazione\n dati e natura del conferimento\n
\n
\n \n \n \n \n FINALITÀ DEL TRATTAMENTO\n \n \n BASE GIURIDICA\n \n \n PERIODO CONSERVAZIONE DATI\n \n \n NATURA DEL CONFERIMENTO\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n A) Accesso/utilizzo\n dell’area clienti e delle web APP di Duferco Mobility Srl, per la\n creazione di un account e per finalità amministrativo-contabili.\n L’APP potrà avere accesso anche ai seguenti dati: cronologia App;\n telefono; foto/elementi multimediali/file sul dispositivo, memoria\n esterna del dispositivo; fotocamera; informazioni sulla\n connessione; ID dispositivo; credenziali di accesso.\n \n \n Art. 6 par. 1, lett. b) GDPR\n \n
\n Contratto – adozione di misure precontrattuali adottate su\n richiesta dell’interessato\n
\n Dati per la creazione e successivo utilizzo dell’account: fino\n alla disattivazione dell’account stesso.\n \n Necessario\n
per poter accedere ed utilizzare l’area clienti/web APP. In\n caso di mancato conferimento, non potrà utilizzare le funzionalità\n offerte tramite l’area clienti/web APP.\n
\n \n B) Evasione della Sua richiesta di fornitura relativa ai servizi\n Duferco Mobility:\n {\" \"}\n adempimento di obblighi contrattuali, di legge e attività\n amministrativo contabili correlate.Gestione di richieste di\n fornitura e/o servizi ulteriori che non necessitano di uno\n specifico contratto (es. richiesta di{\" \"}\n \n ricariche occasionali, anche via SMS\n \n )\n \n \n Art. 6 par. 1, lett. b) GDPR\n \n
\n Contratto
(Richiesta di fornitura)\n
\n 10 anni dalla cessazione del contratto/rapporto di fornitura.\n \n Necessario\n
per adempiere gli obblighi derivanti dal contratto. In caso\n di mancato conferimento non sarà possibile instaurare il\n contratto/rapporto di fornitura.\n
\n C) Evasione eventuale{\" \"}\n \n richiesta di assistenza o di informazioni\n {\" \"}\n tramite form dedicati (es. per richiedere un contratto Flat e\n Ricaricabile o rilascio di feedback) o chiamando uno dei numeri\n verdi/contatti presenti sul sito (es. associazione di card al\n proprio account). In alcuni casi, per ragioni contrattuali o\n meramente tecniche, una volta creato l’account, sarà necessario\n contattare il Titolare ai numeri di supporto indicati per\n associare l’account alla propria card e fruire/accedere ai\n correlati servizi (es. Utilizzo del servizio di ricarica\n pubblica).\n \n \n Art. 6 par. 1, lett. f) GDPR\n \n
\n Legittimo interesse\n
\n Non oltre 2 anni dall’inoltro della Sua richiesta\n \n Necessario\n
per riscontrare la Sua richiesta. In caso di mancato\n conferimento non sarà possibile fornirLe l’assistenza e/o le\n informazioni richieste.\n
\n \n D) attività di marketing diretto del Titolare\n {\" \"}\n dietro consenso da lei prestato, con invio di materiale\n pubblicitario/promozionale, vendita diretta di nuovi prodotti e\n servizi e/o questionari per la rilevazione del grado di\n soddisfazione tramite mezzi automatizzati di posta elettronica,\n telefax, messaggi del tipo Mms o Sms o di altro tipo (messagistica\n istanea, notifiche in App), nonché mediante telefonate tramite\n operatore e posta cartacea.

Il Titolare per\n confrontare ed eventualmente migliorare i risultati delle\n comunicazioni, utilizza sistemi per invio di newsletter e\n comunicazioni promozionali con report. Grazie ai report il\n Titolare potrà conoscere, per esempio: il numero dei lettori,\n delle aperture, dei “cliccatori” unici e dei clic; i dispositivi\n ed i sistemi operativi utilizzati per leggere la comunicazione; il\n dettaglio sull’attività dei singoli utenti; il dettaglio delle\n email inviate, email recapitate e non, di quelle inoltrate. Tutti\n questi dati sono utilizzati allo scopo di confrontare, ed\n eventualmente migliorare, i risultati delle comunicazioni.\n
\n \n Art. 6 par. 1, lett. a) GDPR\n \n
\n Consenso dell’interessato\n
\n Fino a cessazione del contratto (o fino a revoca del consenso se\n antecedente)\n \n Facoltativo e{\" \"}\n libero.\n
In mancanza, Lei potrà comunque usufruire dei servizi\n Mobility e di fornitura del Titolare.\n
\n E) previo consenso,{\" \"}\n profilazione{\" \"}\n dell’interessato sulla base della tipologia consumi e correlate\n abitudini per ricevere offerte in linea con i Suoi interessi.\n \n \n Art. 6 par. 1, lett. a) GDPR\n \n
\n Consenso dell’interessato\n
\n 24 mesi (o fino a revoca del consenso)\n \n Facoltativo e{\" \"}\n libero.\n
In mancanza, Lei potrà comunque usufruire dei servizi\n Mobility e di fornitura del Titolare.\n
\n \n F) Comunicazione/Cessione dei dati a terzi\n {\" \"}\n (altre società del Gruppo e a Partner commerciali, con sede in\n Paesi SEE), per loro finalità di marketing diretto. Per elenco\n completo delle società del gruppo e partner, scrivere a{\" \"}\n privacy@d-mobility.it.\n \n \n Art. 6 par. 1, lett. a) GDPR\n \n
\n Consenso dell’interessato\n
\n Fino a revoca del consenso. Si rimanda inoltre alla informativa\n per il trattamento dati personali dei terzi Titolari autonomi del\n trattamento dati.\n \n Il conferimento è{\" \"}\n facoltativo. Il mancato\n conferimento dei dati necessari comporterà l’impossibilità di\n comunicare/cedere i dati a terzi per le loro finalità.\n
\n
\n
4. Cookies
\n Per maggiori informazioni consulta la sezione dedicata del presente sito\n web.\n
\n
\n
\n 5. Destinatari/categorie di destinatari dei dati\n
\n I dati di natura personale forniti dal Cliente potranno essere comunicati\n a destinatari, che tratteranno i dati in qualità di Responsabili (art. 28\n GDPR) e/o in qualità di persone fisiche che agiscono sotto l’autorità del\n Titolare e del Responsabile (art. 29 GDPR), oppure che operano in totale\n autonomia come distinti Titolari del trattamento, al fine di ottemperare\n alle finalità perseguite da Duferco come sopra riportate. L’elenco dei\n Responsabili del trattamento designati è costantemente aggiornato e\n disponibile contattando il Titolare del Trattamento ai recapiti indicati\n in premessa.
I dati potranno essere comunicati a destinatari\n appartenenti alle seguenti categorie: – Società controllanti/controllate\n e/o collegate a Duferco Mobility Srl; – Soggetti che forniscono servizi\n per la gestione del sistema informativo e delle reti di comunicazione di\n Duferco Mobility Srl (ivi compresa la posta elettronica ed il servizio di\n hosting) delle reti di telecomunicazioni e sviluppo dell’APP; – Società\n nell’ambito dei rapporti di assistenza e consulenza per la gestione\n dell’APP; – Studi o Società nell’ambito di rapporti di assistenza e\n consulenza nel settore marketing; - Istituti Finanziari e Assicurativi; –\n Autorità competenti per adempimenti di obblighi di legge e/o di\n disposizioni di organi pubblici, su richiesta; - società partner in\n specifiche iniziative commerciali.\n
\n
\n
\n 6. Trasferimento dati verso un paese terzo\n
\n Nel caso di trasferimento dei Dati Personali al di fuori dell’Unione\n Europea verso Paesi considerati non adeguati dalla Commissione Europea,\n Duferco Mobility adotterà tutte le misure di sicurezza necessarie per\n proteggere i Dati Personali e fornirà garanzie adeguate per gli\n interessati ai sensi della normativa applicabile e, in particolare, degli\n articoli 45 e 46 del Regolamento EU 2016/679.\n
\n
\n
7. Diritti degli interessati
\n Lei potrà far valere i Suoi diritti come espressi dal Regolamento UE\n 2016/679, contattando il Titolare all’indirizzo email{\" \"}\n privacy@d-mobility.it oppure\n scrivendo al DPO all’indirizzo mail{\" \"}\n dpo@d-mobility.it. Ha il diritto,\n in qualunque momento, di chiedere al Titolare del trattamento l’accesso ai\n Suoi dati personali (art. 15), la rettifica (art. 16) o la cancellazione\n (art 17) degli stessi, la limitazione del trattamento (art 18). Le è\n inoltre riconosciuto il diritto alla portabilità del dato, ove previsto\n (art. 20): in tal caso, il Titolare Le fornirà in un formato strutturato,\n di uso comune e leggibile, da dispositivo automatico, i dati personali che\n la riguardano. Inoltre, ha il diritto di opporsi in qualsiasi momento al\n trattamento di dei suoi dati (inclusi trattamenti automatizzati, es.\n profilazione). Nello specifico, per revocare i consensi prestati potrà\n scrivere in qualsiasi momento un’e-mail all’indirizzo{\" \"}\n privacy@d-mobility.it. In\n alternativa potrà anche utilizzare i nostri sistemi di\n cancellazione/modifica automatica presenti sulle applicazioni.\n
\n
\n
\n Fatto salvo ogni altro ricorso amministrativo e giurisdizionale, se\n ritiene che il trattamento dei dati che la riguardano violi il Reg. UE\n 2016/679, ai sensi dell’art. 15 lettera f), Lei ha il diritto di\n proporre reclamo all’Autorità di Controllo, ovvero il Garante Italiano\n per la protezione dei dati personali (\n \n https://www.garanteprivacy.it/\n \n ) e, con riferimento all’art. 6 paragrafo 1, lettera a), ha il diritto\n di revocare in qualsiasi momento il consenso prestato scrivendo al\n Titolare e/o al DPO secondo le modalità sopra descritte.\n
\n
\n Data di aggiornamento: 02 Aprile\n 2024\n
\n
\n ),\n};\n\n/* eslint-disable */\nexport const modalContents = {\n 3: {\n title: \"CONDIZIONI ECONOMICHE E ACCETTAZIONE ESPRESSA DI CLAUSOLE\",\n content: (\n
\n
\n Il Cliente sopra identificato propone a Duferco Energia S.p.A. (il\n “Fornitore”) di concludere un contratto per la fornitura di energia\n elettrica e/o gas secondo i termini, le condizioni e i prezzi indicati\n nella presente richiesta di fornitura (la “Richiesta Di Fornitura”).\n Le condizioni di fornitura di energia elettrica e gas sono\n disciplinate nelle Condizioni Generali di fornitura “DE-CGDualFuel-\n 052018”, disponibili anche sul sito{\" \"}\n \n www.dufercoenergia.com\n {\" \"}\n che costituiscono parte integrante del contratto assieme agli\n allegati: A) Condizioni Tecnico Economiche di Fornitura, B) Richiesta\n di Inserimento punti aggiuntivi (per forniture di 2 o più POD/PDR), D)\n Modalità di pagamento, E) il modulo “Dati Catastali” (da compilare ed\n inviare a Duferco Energia entro novanta giorni); F) Informativa e\n consenso al trattamento dei dati personali ai sensi dell’art. 13, e,\n per chi ne ha diritto, il “Modulo Accise”. La Richiesta di Fornitura è\n proposta irrevocabile per 45 giorni dalla sottoscrizione della stessa,\n decorso il quale termine deve considerarsi revocata. Il contratto si\n intenderà concluso solo nel momento in cui il Fornitore, che rimane\n libero di non accettare, comunica al Cliente l’accettazione della\n Richiesta Di Fornitura. La data di inizio della fornitura verrà\n comunicata dal Fornitore. Ai sensi e per gli effetti di cui agli\n articoli 1341 e 1342 del codice civile il cliente dichiara ad ogni\n effetto di legge, di conoscere ed accettare espressamente le\n condizioni di cui all’allegato A), nonché tutte le condizioni di\n vendita di questa richiesta e dei suoi ulteriori allegati sopra\n citati. Ai sensi e per gli effetti di cui agli artt. 1341 e 1342 cod.\n civ. il Cliente dichiara di conoscere e approvare espressamente anche\n le seguenti clausole delle “Condizioni Generali di fornitura”: Art. 3\n (Perfezionamento del contratto); Art. 4 (Requisiti di solvibilità del\n cliente e garanzia del credito); Art. 11 (Fatturazione e pagamenti);\n Art. 16 (Risoluzione del contratto); Art. 17 (Cessione del contratto,\n subentro nel contratto e divieto di sub-fornitura); Art. 20\n (Limitazioni di responsabilità e impossibilità sopravvenuta della\n prestazione); Art. 25 (Legge applicabile e Foro territoriale\n competente).\n
\n
\n ),\n },\n 4: {\n title:\n \"NOTA INFORMATIVA PER IL CLIENTE FINALE (ai sensi del Codice di Condotta Commerciale del. ARERA n. 104/10)\",\n content: (\n
\n
\n Tutti i clienti sono liberi di scegliere il proprio fornitore di\n energia elettrica e/o di gas naturale. Aderendo al contratto che Le è\n stato sottoposto o sottoscrivendo la relativa proposta contrattuale\n Lei entrerà/rimarrà nel mercato libero. Se Lei è un cliente domestico\n di gas naturale o comunque un cliente avente diritto al servizio di\n tutela (ad esempio un cliente domestico), l’esercente la vendita è\n sempre tenuto ad informarla della possibilità di richiedere\n l’applicazione delle condizioni economiche e contrattuali fissate\n dall’Autorità di Regolazione per Energia Reti e Ambiente, in\n alternativa all’offerta attuale. Se Lei è un cliente domestico\n elettrico o una PMI, Lei ha sempre la possibilità di richiedere\n all’esercente il servizio di maggior tutela della sua località, in\n alternativa all’offerta attuale, l’attivazione del servizio a\n condizioni economiche e contrattuali fissate dall’Autorità di\n Regolazione per Energia Reti e Ambiente. Per garantire che i clienti\n dispongano degli elementi necessari per poter consapevolmente\n scegliere, l’ARERA ha emanato un Codice di condotta commerciale che\n impone a tutte le imprese di vendita precise regole di comportamento.\n Per ulteriori informazioni sul Codice di condotta commerciale e più in\n generale sui diritti del cliente può visitare il sito{\" \"}\n \n www.arera.it\n {\" \"}\n o chiamare il numero verde 800.166.654. Di seguito vengono riassunte,\n come promemoria, le informazioni che devono essere fornite nel corso\n della presentazione di una offerta contrattuale:\n
\n
\n 1) IDENTITA’ DELL’IMPRESA E DELL’OPERATORE COMMERCIALE\n
\n
\n Nome impresa; indirizzo utile anche per l’invio di reclami scritti o\n dell’esercizio dei diritti di ripensamento; codice identificativo o\n nome del personale commerciale che l’ha contattata; data e ora del\n contatto; firma del personale commerciale che l’ha contattata.\n
\n
\n 2) SCADENZE ED EVENTUALI ONERI PER L’ATTIVAZIONE DEL CONTRATTO\n
\n
\n Data di presunta attivazione; periodo di validità della proposta;\n eventuali oneri a carico del Cliente.\n
\n NOTA: in caso di proposta contrattuale del cliente domestico o cliente\n PMI, se l’impresa di vendita non invia l’accettazione della proposta\n entro 45 (quarantacinque) giorni dalla sottoscrizione da parte del\n cliente, la proposta si considera decaduta.\n
\n
3) CONTENUTO DEL CONTRATTO
\n
\n Il contratto che Le è stato proposto deve sempre contenere almeno le\n seguenti clausole: prezzo del servizio; durata del contratto; modalità\n di utilizzo dei dati di lettura; modalità e tempistiche di pagamento;\n conseguenze del mancato pagamento; eventuali garanzie richieste;\n modalità e tempistiche per l’esercizio dei diritti di recesso;\n modalità per ottenere informazioni, presentare un reclamo o risolvere\n una controversia con l’impresa di vendita.\n
\n
\n DOCUMENTI DA CONSEGNARSI OLTRE ALLA PRESENTE NOTA INFORMATIVA\n
\n
Copia contratto.
\n
\n ),\n },\n 5: {\n title:\n \"DICHIARAZIONE SOSTITUTIVA DELL'ATTO DI NOTORIETÀ (Art 47 D.P.R. 28 dicembre 2000, n. 445)\",\n content: (\n
\n
\n Il Cliente, consapevole delle sanzioni penali richiamate dall'art.76\n del d.P.R. 28.12.2000 n.445, in caso di dichiarazioni mendaci e di\n formazione o uso di atti falsi, DICHIARA di avere titolo attestante la\n proprietà e/o il regolare possesso e/o la regolare detenzione\n dell'unità immobiliare ubicata presso l'indirizzo di fornitura sopra\n indicato per la quale richiede l'allacciamento dei servizi di Energia\n Elettrica e/o Gas Naturale.\n
\n
\n ),\n },\n 6: {\n title: \"DELEGA PER RECESSO\",\n content: (\n
\n
\n Il Cliente, conformemente a quanto previsto dalla delibera ARERA n\n 783/2017/R/com dichiara la propria decisione di recedere dal contratto\n o dai contratti di somministrazione dallo stesso stipulati con altro\n fornitore aventi ad oggetto i punti di prelievo della presente\n proposta. A tal proposito il Cliente DELEGA il nuovo fornitore, in\n persona dei relativi legali rappresentanti, a compiere, a proprio nome\n e per proprio conto, tutti gli atti necessari a disdire i contratti di\n fornitura in essere con il vecchio fornitore, nel rispetto delle\n modalità e dei tempi sopra richiamati e solo successivamente al\n termine previsto dal proprio \"diritto di ripensamento\", che se\n esercitato renderà inefficace la presente delega.\n
\n
\n ),\n },\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { contractTypes } from '../../utils/commonFormsConfig';\n\nconst ContractConfirm = ({ history, t }) => {\n const consumption = history?.location?.state?.type === contractTypes.consumption;\n\n let url = \"https://mobility.dufercoenergia.com\";\n if(process.env.REACT_APP_ENV !== 'production') {\n url = \"https://test-mobility.dufercoenergia.com\";\n }\n\n return
\n
\n
\n
\n
\n
\n

{t('contractConfirm.title')}

\n

{!consumption ? t('contractConfirm.subtitle_1') : t('contractConfirm.subtitle_cons')}

\n {!consumption &&

{t('contractConfirm.subtitle_2')}

}\n {t('contractConfirm.action')}\n

{t('contractConfirm.info')}

\n

{t('contractConfirm.phone')} 800.92.22.00

\n

{t('contractConfirm.mail')} mobility@dufercoenergia.com

\n
\n
\n
\n
\n
\n
;\n};\n\nContractConfirm.propTypes = {\n history: PropTypes.object,\n t: PropTypes.func\n};\n\nexport default ContractConfirm;\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nclass InfoMessage extends Component {\n redirectToIndex = () => {\n const { history } = this.props;\n history.push('/');\n };\n\n render() {\n const { type, t } = this.props;\n\n return (\n
\n
\n
\n
\n {type === 'notfound' && [\n

{t('infoMessage.notFound')}

,\n ,\n ]}\n {\n type === 'error' && \n

{t('infoMessage.error_1')}

\n

{t('infoMessage.error_2')} 800.92.22.00 {t('infoMessage.error_3')}

\n
\n }\n {\n type === 'loading' && \n

{t('infoMessage.loading')}

\n
\n }\n {\n type === 'confirm' && \n

{t('infoMessage.confirm_1')}

\n

{t('infoMessage.confirm_2')}

\n
\n }\n {\n type === 'active' &&

{t('infoMessage.active_1')} 800.92.22.00 {t('infoMessage.active_2')}

\n }\n
\n
\n
\n
\n );\n }\n}\n\nInfoMessage.propTypes = {\n type: PropTypes.string,\n history: PropTypes.object,\n t: PropTypes.func\n};\n\nexport default withRouter(InfoMessage);\n","export const GOTO_STEP = 'GOTO_STEP@form';\nexport const GOTO_PREV_STEP = 'GOTO_PREV_STEP@form';\nexport const GOTO_NEXT_STEP = 'GOTO_NEXT_STEP@form';\nexport const SET_CONVENTION = 'SET_CONVENTION@form';\nexport const SET_PRIVACY_INFO = 'SET_PRIVACY_INFO@form';\nexport const SET_PRODUCTS = 'SET_PRODUCTS@form';\n","import { initialize } from 'redux-form/immutable';\n\nimport * as ActionDefinitions from './actionDefinitions';\n\nimport { createAction } from '../../utils/redux-helper';\n\nexport const FORM_STEP1 = 'step1';\nexport const FORM_STEP2 = 'step2';\nexport const FORM_STEP3 = 'step3';\nexport const FORM_STEP4 = 'step4';\nexport const FORM_STEP5 = 'step5';\n\nexport const goToStep = (step) => {\n const payload = {\n step\n };\n return createAction(ActionDefinitions.GOTO_STEP, payload);\n};\n\nexport const goToPrevStep = () => {\n const payload = {};\n return createAction(ActionDefinitions.GOTO_PREV_STEP, payload);\n};\n\nexport const goToNextStep = () => {\n const payload = {};\n return createAction(ActionDefinitions.GOTO_NEXT_STEP, payload);\n};\n\nexport const initializeSpecificForm = (numStep, data) => dispatch => {\n dispatch(initialize(numStep, data));\n};\n\nexport const setConvention = (name, validity) => {\n const payload = {\n name,\n validity\n };\n return createAction(ActionDefinitions.SET_CONVENTION, payload);\n};\n\nexport const setPrivacyInfo = (data) => {\n return createAction(ActionDefinitions.SET_PRIVACY_INFO, data);\n};\n\nexport const setProducts = (products) => {\n const payload = {\n products\n };\n return createAction(ActionDefinitions.SET_PRODUCTS, payload);\n};\n","import { scroller, Element } from 'react-scroll';\n\nconst SCROLL_FORM_DURATION = 0;\nconst SCROLL_FORM_DELAY = 0;\nconst SCROLL_FORM_OFFSET = -50;\n\nconst scrollToForm = () => {\n scroller.scrollTo('form_top', {\n duration: SCROLL_FORM_DURATION,\n delay: SCROLL_FORM_DELAY,\n smooth: true,\n offset: 0\n });\n};\n\nconst scrollToRequiredElem = (requiredElemName) => {\n scroller.scrollTo(requiredElemName, {\n duration: SCROLL_FORM_DURATION,\n delay: SCROLL_FORM_DELAY,\n smooth: true,\n offset: SCROLL_FORM_OFFSET\n });\n};\n\nexport { scrollToForm, scrollToRequiredElem, Element };\n","import { List, Map } from 'immutable';\nimport { createSelector } from 'reselect';\n\nexport const getStep = (state) => state.get('step', 1);\n\nexport const getProductsDetails = (state) => state.get('productsDetails', Map());\n\nexport const getConvention = createSelector(\n getProductsDetails,\n productsDetails => productsDetails.get('convention', Map())\n);\n\nexport const getProducts = createSelector(\n getProductsDetails,\n productsDetails => productsDetails.get('products', List())\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select';\nimport DatePicker from 'react-datepicker';\nimport MaskedInput from 'react-text-mask';\nimport PhoneInput from 'react-phone-input-2';\nimport it from 'react-phone-input-2/lang/it.json';\nimport fr from 'react-phone-input-2/lang/fr.json';\nimport { union } from 'lodash';\nimport { Map } from 'immutable';\n\nconst ENTER_KEY_CODE = 13;\n\nconst info_tooltip = {\n\told_conv_card_number: {\n\t\ttitle: 'Codice tessera',\n\t\t'1': 'Inserisci qui il codice della tua tessera relativa alla convenzione. È possibile che venga verificata la validità della stessa e che quindi tu abbia diritto alla convenzione in corso.'\n\t},\n\told_phone: {\n\t\ttitle: 'Telefono',\n\t\t'1': 'Inserisci il tuo numero di telefono mobile o fisso. Ci servirà per contattarti in caso di necessità per aiutarci velocizzare il processo di attivazione della tua fornitura!'\n\t}\n};\n\nconst FieldString = ({ label, name, content, tooltipTextType }) => {\n\tconst info = info_tooltip[name] ?\n\t\t\n\t\t\t\n\t\t\t\t
{info_tooltip[name].title}
\n\t\t\t\t

{info_tooltip[name][tooltipTextType]}

\n\t\t\t
\n\t\t
\n\t\t: '';\n\n\treturn [\n\t\t,\n\t\tinfo,\n\t\t
{content}
\n\t];\n};\n\nFieldString.propTypes = {\n\tlabel: PropTypes.string,\n\tname: PropTypes.string,\n\tcontent: PropTypes.string,\n\ttooltipTextType: PropTypes.string\n};\n\nconst renderFieldText = ({ input, label, focus, blur, tooltipTextType, labelClass = \"\", iconClass = \"\", inputClass = \"\", autocomplete = true, required = false, disabled = false, disablePaste = false, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tconst info = info_tooltip[input.name] ?\n\t\t\n\t\t\t\n\t\t\t\t
{info_tooltip[input.name].title}
\n\t\t\t\t

{info_tooltip[input.name][tooltipTextType]}

\n\t\t\t
\n\t\t
\n\t\t: '';\n\n\tautocomplete = autocomplete ? \"on\" : \"new-password\";\n\n\treturn [\n\t\t,\n\t\tinfo,\n\t\t {\n\t\t\t\tif (disablePaste) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonFocus={(e) => {\n\t\t\t\tif (focus) {\n\t\t\t\t\tfocus();\n\t\t\t\t}\n\t\t\t\tinput.onFocus();\n\t\t\t}}\n\t\t\tonKeyPress={(event) => {\n\t\t\t\tif (event.charCode === ENTER_KEY_CODE) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonBlur={() => {\n\t\t\t\tlet value = input.value.trim();\n\t\t\t\tif (blur) {\n\t\t\t\t\tvalue = blur(value);\n\t\t\t\t}\n\t\t\t\tinput.onBlur(value);\n\t\t\t}} />,\n\t\tfeedback\n\t];\n};\n\nrenderFieldText.propTypes = {\n\tinput: PropTypes.object,\n\tlabel: PropTypes.string,\n\tfocus: PropTypes.func,\n\tblur: PropTypes.func,\n\ttooltipTextType: PropTypes.string,\n\tlabelClass: PropTypes.string,\n\ticonClass: PropTypes.string,\n\tinputClass: PropTypes.string,\n\tautocomplete: PropTypes.bool,\n\trequired: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\tdisablePaste: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\nconst renderFieldMask = ({ input, label, handleChangeMaskField, tooltipTextType, labelClass = \"\", inputClass = \"\", required = false, disabled = false, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tconst info = info_tooltip[input.name] ?\n\t\t\n\t\t\t\n\t\t\t\t
{info_tooltip[input.name].title}
\n\t\t\t\t

{info_tooltip[input.name][tooltipTextType]}

\n\t\t\t
\n\t\t
\n\t\t: '';\n\n\treturn [\n\t\t,\n\t\tinfo,\n\t\t {\n\t\t\t\tinput.onBlur(input.value.trim());\n\t\t\t}}\n\t\t\tonChange={(e) => {\n\t\t\t\thandleChangeMaskField(e);\n\t\t\t}}\n\t\t/>,\n\t\tfeedback\n\t];\n};\n\nrenderFieldMask.propTypes = {\n\tinput: PropTypes.object,\n\tlabel: PropTypes.string,\n\thandleChangeMaskField: PropTypes.func,\n\ttooltipTextType: PropTypes.string,\n\tlabelClass: PropTypes.string,\n\tinputClass: PropTypes.string,\n\trequired: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\nconst SELECT_MAX_RESULT = 20;\nconst SELECT_DELAY_RESULT = 300;\n\nconst filterSelectOptions = (input = '', callback, options) => {\n\tinput = input.toLowerCase();\n\n\t// search for options that \"start with *\"\n\tconst start_options = options.filter(opt => {\n\t\treturn opt.label.toLowerCase().substr(0, input.length) === input;\n\t});\n\n\t// search for options that \"includes *\"\n\tconst include_options = options.filter(opt => {\n\t\treturn opt.label.toLowerCase().includes(input);\n\t});\n\n\t// merge results, first \"start with *\", then \"includes *\"\n\toptions = union(start_options, include_options);\n\n\t// IDEA: test for highlight matched words, IT DOSEN'T WORK!\n\t// options = options.map(opt => {\n\t// \tconst ind = opt.label.toLowerCase().indexOf(input);\n\t// \tif(ind > -1) {\n\t// \t\topt.label = opt.label.substr(0, ind) + '' + opt.label.substr(ind, input.length) + '' + opt.label.substr(input.length);\n\t// \t}\n\t// \treturn opt;\n\t// });\n\n\tconst data = {\n\t\toptions: options.slice(0, SELECT_MAX_RESULT),\n\t\tcomplete: options.length <= SELECT_MAX_RESULT,\n\t};\n\tsetTimeout(function () {\n\t\tcallback(null, data);\n\t}, SELECT_DELAY_RESULT);\n};\n\nconst renderFieldSelect = ({ input, options, label, change, tooltipTextType, searchable = false, required = false, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tconst info = info_tooltip[input.name] ?\n\t\t\n\t\t\t\n\t\t\t\t
{info_tooltip[input.name].title}
\n\t\t\t\t

{info_tooltip[input.name][tooltipTextType]}

\n\t\t\t
\n\t\t
\n\t\t: '';\n\n\tconst SelectComponent = searchable ? Select.Async : Select;\n\tconst loadOptions = searchable ? (input, callback) => filterSelectOptions(input, callback, options) : false;\n\tconst allOptions = searchable ? [] : options;\n\n\t// NOTE: se da API -> Map, se da onChange -> Object\n\tconst preselectValue = (input.value) ? Map.isMap(input.value) ? input.value.toJS() : input.value : \"\";\n\n\treturn [\n\t\t,\n\t\tinfo,\n\t\t {\n\t\t\t\tif (change) {\n\t\t\t\t\tchange(selectedOption);\n\t\t\t\t}\n\t\t\t\tinput.onChange(selectedOption);\n\t\t\t}}\n\t\t\tonBlur={() => {\n\t\t\t\tinput.onBlur(input.value);\n\t\t\t}}\n\t\t\tclassName={\"form-control\" + (feedback ? ' is-invalid' : '')}\n\t\t/>,\n\t\tfeedback\n\t];\n};\n\nrenderFieldSelect.propTypes = {\n\tinput: PropTypes.object,\n\toptions: PropTypes.array,\n\tlabel: PropTypes.string,\n\tchange: PropTypes.func,\n\ttooltipTextType: PropTypes.string,\n\tsearchable: PropTypes.bool,\n\trequired: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\nconst renderFieldRadio = ({ input, options, label, className, optionsContainerClassName, labelOptionClassName, centered, inverted, separator, forceInline, tooltipTextType, required, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tconst info = info_tooltip[input.name] ?\n\t\t\n\t\t\t\n\t\t\t\t
{info_tooltip[input.name].title}
\n\t\t\t\t

{info_tooltip[input.name][tooltipTextType]}

\n\t\t\t
\n\t\t
\n\t\t: '';\n\n\tconst opt = options.map((o, i) => {\n\t\treturn
\n\t\t\t\n\t\t\t\n\t\t\t{separator &&
}\n\t\t
;\n\t});\n\n\treturn [\n\t\t,\n\t\tinfo,\n\t\t
\n\t\t\t{opt}\n\t\t
,\n\t\tfeedback\n\t];\n};\n\nrenderFieldRadio.propTypes = {\n\tinput: PropTypes.object,\n\toptions: PropTypes.array,\n\tlabel: PropTypes.string,\n\tclassName: PropTypes.string,\n\toptionsContainerClassName: PropTypes.string,\n\tlabelOptionClassName: PropTypes.string,\n\tcentered: PropTypes.bool,\n\tinverted: PropTypes.bool,\n\tseparator: PropTypes.bool,\n\tforceInline: PropTypes.bool,\n\ttooltipTextType: PropTypes.string,\n\trequired: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\n\nconst renderFieldRadioIcon = ({ input, options, change, inverted, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tconst opt = options.map((o, i) => {\n\t\treturn
\n\t\t\t {\n\t\t\t\t\tif (change) {\n\t\t\t\t\t\tchange(e.target.checked, o.value);\n\t\t\t\t\t}\n\t\t\t\t\tinput.onChange(o.value);\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t
;\n\t});\n\n\treturn [\n\t\t
\n\t\t\t{opt}\n\t\t
,\n\t\tfeedback\n\t];\n};\n\nrenderFieldRadioIcon.propTypes = {\n\tinput: PropTypes.object,\n\toptions: PropTypes.array,\n\tchange: PropTypes.func,\n\tinverted: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\nconst renderFieldRadioList = ({ input, options, inverted, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tconst opt = options.map((o, i) => {\n\t\treturn
\n\t\t\t\n\t\t\t\n\t\t
;\n\t});\n\n\treturn [\n\t\t
\n\t\t\t{opt}\n\t\t
,\n\t\tfeedback\n\t];\n};\n\nrenderFieldRadioList.propTypes = {\n\tinput: PropTypes.object,\n\toptions: PropTypes.array,\n\tinverted: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\n\nconst renderFieldCheckbox = ({ input, label, centered, forceInline, subLabel, postLabel, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\treturn [\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
,\n\t\t
\n\t\t\t{subLabel}\n\t\t
,\n\t\t
\n\t\t\t{postLabel}\n\t\t
,\n\t\tfeedback\n\t];\n};\n\nrenderFieldCheckbox.propTypes = {\n\tinput: PropTypes.object,\n\tlabel: PropTypes.string,\n\tcentered: PropTypes.bool,\n\tforceInline: PropTypes.bool,\n\tsubLabel: PropTypes.object,\n\tpostLabel: PropTypes.object,\n\tmeta: PropTypes.object\n};\n\nconst renderFieldCheckboxList = ({ input, options, change, inverted, higher, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\tconst opt = options.map((o, i) => {\n\t\treturn
\n\t\t\t {\n\t\t\t\t\tconst newValue = [...input.value];\n\t\t\t\t\tif (e.target.checked) {\n\t\t\t\t\t\tnewValue.push(o.value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewValue.splice(newValue.indexOf(o.value), 1);\n\t\t\t\t\t}\n\t\t\t\t\tif (change) {\n\t\t\t\t\t\tchange(e.target.checked, o.value);\n\t\t\t\t\t}\n\t\t\t\t\tinput.onChange(newValue);\n\t\t\t\t}}\n\t\t\t\tonBlur={(e) => {\n\t\t\t\t\tinput.onBlur(input.value);\n\t\t\t\t}} />\n\t\t\t\n\t\t
;\n\t});\n\n\treturn [\n\t\t
\n\t\t\t{opt}\n\t\t
,\n\t\tfeedback\n\t];\n};\n\nrenderFieldCheckboxList.propTypes = {\n\tinput: PropTypes.object,\n\toptions: PropTypes.array,\n\tchange: PropTypes.func,\n\tinverted: PropTypes.bool,\n\thigher: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\n\n// ORIGINAL SELECT WITH DEFAULT BROWSER BEHAVIOR\n// const renderFieldSelectBase = ({ input, options, label, meta: { touched, error, warning } }) => {\n// \tlet feedback;\n// \tif(touched) {\n// \t\tif(error) {\n// \t\t\tfeedback =
{error}
;\n// \t\t}\n// \t\tif(warning) {\n// \t\t\tfeedback =
{warning}
;\n// \t\t}\n// \t}\n//\n// \tconst info = info_tooltip[input.name] ?\n// \t\n// \t\t\n// \t\t\t
{info_tooltip[input.name].title}
\n// \t\t\t

{info_tooltip[input.name].text}

\n// \t\t
\n// \t
\n// \t: '';\n//\n// \tconst opt = options.map((o, i) => {\n// \t\t// console.log(o.value, input.value, o.value === input.value);\n// \t\treturn ;\n// \t});\n//\n// \treturn
\n// \t\t\n// \t\t{info}\n// \t\t\n// \t\t{feedback}\n// \t
;\n// };\n//\n// renderFieldSelectBase.propTypes = {\n// \tinput: PropTypes.object,\n// \toptions: PropTypes.array,\n// \tlabel: PropTypes.string,\n// \tmeta: PropTypes.object\n// };\n\nconst renderFieldDatePicker = ({ input, label, focus, minDate = null, maxDate = null, tooltipTextType, labelClass = \"\", inputClass = \"\", required = false, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tconst info = info_tooltip[input.name] ?\n\t\t\n\t\t\t\n\t\t\t\t
{info_tooltip[input.name].title}
\n\t\t\t\t

{info_tooltip[input.name][tooltipTextType]}

\n\t\t\t
\n\t\t
\n\t\t: '';\n\n\treturn [\n\t\t,\n\t\tinfo,\n\t\t {\n\t\t\t\tinput.onBlur(input.value);\n\t\t\t}}\n\t\t\tonChange={(value) => {\n\t\t\t\tinput.onChange(value);\n\t\t\t}}\n\t\t\tonFocus={() => {\n\t\t\t\tif (focus) {\n\t\t\t\t\tfocus();\n\t\t\t\t}\n\t\t\t\tinput.onFocus();\n\t\t\t}}\n\t\t/>,\n\t\tfeedback\n\t];\n};\n\nrenderFieldDatePicker.propTypes = {\n\tinput: PropTypes.object,\n\tlabel: PropTypes.string,\n\tfocus: PropTypes.func,\n\ttooltipTextType: PropTypes.string,\n\tlabelClass: PropTypes.string,\n\tinputClass: PropTypes.string,\n\trequired: PropTypes.bool,\n\tmeta: PropTypes.object\n};\n\n// focus, autocomplete\nconst renderFieldPhone = ({ input, label, inputClass = '', labelClass = '', placeholder = '', required = false, disabled = false, change = null, blur = null, i18n, meta: { touched, error, warning } }) => {\n\tlet feedback;\n\tif (touched) {\n\t\tif (error) {\n\t\t\tfeedback =
{error}
;\n\t\t}\n\t\tif (warning) {\n\t\t\tfeedback =
{warning}
;\n\t\t}\n\t}\n\n\tlet localization = it;\n\tconst preferredCountries = ['it'];\n\tconst country = 'it';\n\tswitch (i18n.language) {\n\t\tcase 'en':\n\t\t\tlocalization = {};\n\t\t\t// preferredCountries = [ 'us', 'gb' ];\n\t\t\t// country = 'us';\n\t\t\tbreak;\n\t\tcase 'fr':\n\t\t\tlocalization = fr;\n\t\t\t// preferredCountries = [ 'fr' ];\n\t\t\t// country = 'fr';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\treturn [\n\t\t,\n\t\t {\n\t\t\t\tconst prefix = `+${country.dialCode}`;\n\t\t\t\tchange && change(prefix);\n\t\t\t\tinput.onChange(value);\n\t\t\t}}\n\t\t\tonBlur={(e, country) => {\n\t\t\t\tinput.onBlur(input.value);\n\t\t\t}}\n\t\t//* NOTA: onBlur e onFocus hanno come parametri: e, country\n\t\t//* e è l'evento\n\t\t//* country è l'oggetto (vedi onChange)\n\t\t/>,\n\t\tfeedback\n\t];\n};\n\nrenderFieldPhone.propTypes = {\n\tinput: PropTypes.object,\n\tlabel: PropTypes.string,\n\tinputClass: PropTypes.string,\n\tlabelClass: PropTypes.string,\n\tplaceholder: PropTypes.string,\n\trequired: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\tchange: PropTypes.func,\n\tblur: PropTypes.func,\n\ti18n: PropTypes.object,\n\tmeta: PropTypes.object\n};\n\nexport { FieldString, renderFieldText, renderFieldMask, renderFieldSelect, renderFieldRadio, renderFieldRadioIcon, renderFieldRadioList, renderFieldCheckbox, renderFieldCheckboxList, renderFieldDatePicker, renderFieldPhone };\n","export const fakePaymentCountries = [\n {\"value\":\"Italy\",\"label\":\"Italia\"},\n {\"value\":\"Afghanistan\",\"label\":\"Afghanistan\"},\n {\"value\":\"Albania\",\"label\":\"Albania\"},\n {\"value\":\"Algeria\",\"label\":\"Algeria\"},\n {\"value\":\"Andorra\",\"label\":\"Andorra\"},\n {\"value\":\"Angola\",\"label\":\"Angola\"},\n {\"value\":\"Anguilla\",\"label\":\"Anguilla\"},\n {\"value\":\"Antarctica\",\"label\":\"Antartide\"},\n {\"value\":\"Antigua and Barbuda\",\"label\":\"Antigua e Barbuda\"},\n {\"value\":\"Netherlands Antilles\",\"label\":\"Antille Olandesi\"},\n {\"value\":\"Saudi Arabia\",\"label\":\"Arabia Saudita\"},\n {\"value\":\"Argentina\",\"label\":\"Argentina\"},\n {\"value\":\"Armenia\",\"label\":\"Armenia\"},\n {\"value\":\"Aruba\",\"label\":\"Aruba\"},\n {\"value\":\"Australia\",\"label\":\"Australia\"},\n {\"value\":\"Austria\",\"label\":\"Austria\"},\n {\"value\":\"PS\",\"label\":\"Autorità Palestinese\"},\n {\"value\":\"Azerbaidjan\",\"label\":\"Azerbaigian\"},\n {\"value\":\"Bahamas\",\"label\":\"Bahamas\"},\n {\"value\":\"Bahrain\",\"label\":\"Bahrein\"},\n {\"value\":\"Bangladesh\",\"label\":\"Bangladesh\"},\n {\"value\":\"Barbados\",\"label\":\"Barbados\"},\n {\"value\":\"Belgium\",\"label\":\"Belgio\"},\n {\"value\":\"Belize\",\"label\":\"Belize\"},\n {\"value\":\"Benin\",\"label\":\"Benin\"},\n {\"value\":\"Bermuda\",\"label\":\"Bermuda\"},\n {\"value\":\"Bhutan\",\"label\":\"Bhutan\"},\n {\"value\":\"Belarus\",\"label\":\"Bielorussia\"},\n {\"value\":\"Bolivia\",\"label\":\"Bolivia\"},\n {\"value\":\"Bosnia-Herzegovina\",\"label\":\"Bosnia-Erzegovina\"},\n {\"value\":\"Botswana\",\"label\":\"Botswana\"},\n {\"value\":\"Brazil\",\"label\":\"Brasile\"},\n {\"value\":\"Brunei\",\"label\":\"Brunei\"},\n {\"value\":\"Bulgaria\",\"label\":\"Bulgaria\"},\n {\"value\":\"BurkinaFaso\",\"label\":\"Burkina Faso\"},\n {\"value\":\"Burundi\",\"label\":\"Burundi\"},\n {\"value\":\"Cambodia\",\"label\":\"Cambogia\"},\n {\"value\":\"Cameroon\",\"label\":\"Camerun\"},\n {\"value\":\"Canada\",\"label\":\"Canada\"},\n {\"value\":\"Cape Verde\",\"label\":\"Capo Verde\"},\n {\"value\":\"Chad\",\"label\":\"Ciad\"},\n {\"value\":\"Chile\",\"label\":\"Cile\"},\n {\"value\":\"China\",\"label\":\"Cina\"},\n {\"value\":\"Cyprus\",\"label\":\"Cipro\"},\n {\"value\":\"Vatican City State\",\"label\":\"Città del Vaticano\"},\n {\"value\":\"Colombia\",\"label\":\"Colombia\"},\n {\"value\":\"Comoros\",\"label\":\"Comore\"},\n {\"value\":\"Congo\",\"label\":\"Congo\"},\n {\"value\":\"South Korea\",\"label\":\"Corea\"},\n {\"value\":\"North Korea\",\"label\":\"Corea del Nord\"},\n {\"value\":\"Ivory Coast(Cote D Ivoire)\",\"label\":\"Costa d'Avorio\"},\n {\"value\":\"CostaRica\",\"label\":\"Costa Rica\"},\n {\"value\":\"Croatia\",\"label\":\"Croazia\"},\n {\"value\":\"Cuba\",\"label\":\"Cuba\"},\n {\"value\":\"Denmark\",\"label\":\"Danimarca\"},\n {\"value\":\"Dominica\",\"label\":\"Dominica\"},\n {\"value\":\"Ecuador\",\"label\":\"Ecuador\"},\n {\"value\":\"Egypt\",\"label\":\"Egitto\"},\n {\"value\":\"El Salvador\",\"label\":\"El Salvador\"},\n {\"value\":\"United Arab Emirates\",\"label\":\"Emirati Arabi Uniti\"},\n {\"value\":\"Eritrea\",\"label\":\"Eritrea\"},\n {\"value\":\"Estonia\",\"label\":\"Estonia\"},\n {\"value\":\"Ethiopia\",\"label\":\"Etiopia\"},\n {\"value\":\"Philippines\",\"label\":\"Filippine\"},\n {\"value\":\"Finland\",\"label\":\"Finlandia\"},\n {\"value\":\"France\",\"label\":\"Francia\"},\n {\"value\":\"Gabon\",\"label\":\"Gabon\"},\n {\"value\":\"Gambia\",\"label\":\"Gambia\"},\n {\"value\":\"Georgia\",\"label\":\"Georgia\"},\n {\"value\":\"S.Georgia & S.SandwichIsls\",\"label\":\"Georgia del Sud e Sandwich Australi\"},\n {\"value\":\"Germany\",\"label\":\"Germania\"},\n {\"value\":\"Ghana\",\"label\":\"Ghana\"},\n {\"value\":\"Jamaica\",\"label\":\"Giamaica\"},\n {\"value\":\"Japan\",\"label\":\"Giappone\"},\n {\"value\":\"Gibraltar\",\"label\":\"Gibilterra\"},\n {\"value\":\"Djibouti\",\"label\":\"Gibuti\"},\n {\"value\":\"Jordan\",\"label\":\"Giordania\"},\n {\"value\":\"Great Britain\",\"label\":\"Gran Bretagna\"},\n {\"value\":\"Greece\",\"label\":\"Grecia\"},\n {\"value\":\"Grenada\",\"label\":\"Grenada\"},\n {\"value\":\"Greenland\",\"label\":\"Groenlandia\"},\n {\"value\":\"Guadeloupe(French)\",\"label\":\"Guadalupe\"},\n {\"value\":\"Guam(USA)\",\"label\":\"Guam\"},\n {\"value\":\"Guatemala\",\"label\":\"Guatemala\"},\n {\"value\":\"GG\",\"label\":\"Guernsey\"},\n {\"value\":\"French Guyana\",\"label\":\"Guiana francese\"},\n {\"value\":\"Guinea\",\"label\":\"Guinea\"},\n {\"value\":\"EquatorialGuinea\",\"label\":\"Guinea equatoriale\"},\n {\"value\":\"Guinea Bissau\",\"label\":\"Guinea-Bissau\"},\n {\"value\":\"Guyana\",\"label\":\"Guyana\"},\n {\"value\":\"Haiti\",\"label\":\"Haiti\"},\n {\"value\":\"Honduras\",\"label\":\"Honduras\"},\n {\"value\":\"Hong Kong\",\"label\":\"Hong Kong\"},\n {\"value\":\"India\",\"label\":\"India\"},\n {\"value\":\"Indonesia\",\"label\":\"Indonesia\"},\n {\"value\":\"Iran\",\"label\":\"Iran\"},\n {\"value\":\"Iraq\",\"label\":\"Iraq\"},\n {\"value\":\"Ireland\",\"label\":\"Irlanda\"},\n {\"value\":\"Iceland\",\"label\":\"Islanda\"},\n {\"value\":\"Ascension Island\",\"label\":\"Isola Ascensione\"},\n {\"value\":\"Bouvet Island\",\"label\":\"Isola Bouvet\"},\n {\"value\":\"IM\",\"label\":\"Isola di Man\"},\n {\"value\":\"Cayman Islands\",\"label\":\"Isole Cayman\"},\n {\"value\":\"Christmas Island\",\"label\":\"Isole Christmas\"},\n {\"value\":\"Cocos(Keeling) Islands\",\"label\":\"Isole Cocos (Keeling)\"},\n {\"value\":\"Cook Islands\",\"label\":\"Isole Cook\"},\n {\"value\":\"Falkland Islands\",\"label\":\"Isole Falkland (Malvinas)\"},\n {\"value\":\"Faroe Islands\",\"label\":\"Isole Faroe\"},\n {\"value\":\"Fiji\",\"label\":\"Isole Fiji\"},\n {\"value\":\"Heard and McDonald Islands\",\"label\":\"Isole Heard e McDonald\"},\n {\"value\":\"Northern Mariana Islands\",\"label\":\"Isole Marianne Settentrionali\"},\n {\"value\":\"Marshall Islands\",\"label\":\"Isole Marshall\"},\n {\"value\":\"USA Minor Outlying Islands\",\"label\":\"Isole minori degli Stati Uniti\"},\n {\"value\":\"Norfolk Island\",\"label\":\"Isole Norfolk\"},\n {\"value\":\"Solomon Islands\",\"label\":\"Isole Salomone\"},\n {\"value\":\"Turks and Caicos Islands\",\"label\":\"Isole Turks e Caicos\"},\n {\"value\":\"Virgin Islands(British)\",\"label\":\"Isole Vergini (GB)\"},\n {\"value\":\"Virgin Islands(USA)\",\"label\":\"Isole Vergini (USA)\"},\n {\"value\":\"Israele\",\"label\":\"Israele\"},\n {\"value\":\"Yugoslavia\",\"label\":\"Iugoslavia\"},\n {\"value\":\"JE\",\"label\":\"Jersey\"},\n {\"value\":\"Kazakhstan\",\"label\":\"Kazakistan\"},\n {\"value\":\"Kenya\",\"label\":\"Kenya\"},\n {\"value\":\"Kyrgyzstan\",\"label\":\"Kirghizistan\"},\n {\"value\":\"Kiribati\",\"label\":\"Kiribati\"},\n {\"value\":\"Kuwait\",\"label\":\"Kuwait\"},\n {\"value\":\"Laos\",\"label\":\"Laos\"},\n {\"value\":\"Lesotho\",\"label\":\"Lesotho\"},\n {\"value\":\"Latvia\",\"label\":\"Lettonia\"},\n {\"value\":\"Lebanon\",\"label\":\"Libano\"},\n {\"value\":\"Liberia\",\"label\":\"Liberia\"},\n {\"value\":\"Libya\",\"label\":\"Libia\"},\n {\"value\":\"Liechtenstein\",\"label\":\"Liechtenstein\"},\n {\"value\":\"Lithuania\",\"label\":\"Lituania\"},\n {\"value\":\"Luxembourg\",\"label\":\"Lussemburgo\"},\n {\"value\":\"Macau\",\"label\":\"Macao - R.A.S.\"},\n {\"value\":\"Macedonia\",\"label\":\"Macedonia, ex Repubblica Jugoslava di\"},\n {\"value\":\"Madagascar\",\"label\":\"Madagascar\"},\n {\"value\":\"Malawi\",\"label\":\"Malawi\"},\n {\"value\":\"Maldives\",\"label\":\"Maldive\"},\n {\"value\":\"Malaysia\",\"label\":\"Malesia\"},\n {\"value\":\"Mali\",\"label\":\"Mali\"},\n {\"value\":\"Malta\",\"label\":\"Malta\"},\n {\"value\":\"Morocco\",\"label\":\"Marocco\"},\n {\"value\":\"Martinique(French)\",\"label\":\"Martinica\"},\n {\"value\":\"Mauritania\",\"label\":\"Mauritania\"},\n {\"value\":\"Mauritius\",\"label\":\"Mauritius\"},\n {\"value\":\"Mayotte\",\"label\":\"Mayotte\"},\n {\"value\":\"Mexico\",\"label\":\"Messico\"},\n {\"value\":\"Micronesia\",\"label\":\"Micronesia\"},\n {\"value\":\"Moldavia\",\"label\":\"Moldavia\"},\n {\"value\":\"Monaco\",\"label\":\"Monaco\"},\n {\"value\":\"Mongolia\",\"label\":\"Mongolia\"},\n {\"value\":\"Montserrat\",\"label\":\"Montserrat\"},\n {\"value\":\"Mozambique\",\"label\":\"Mozambico\"},\n {\"value\":\"Myanmar\",\"label\":\"Myanmar\"},\n {\"value\":\"Namibia\",\"label\":\"Namibia\"},\n {\"value\":\"Nauru\",\"label\":\"Nauru\"},\n {\"value\":\"Nepal\",\"label\":\"Nepal\"},\n {\"value\":\"Nicaragua\",\"label\":\"Nicaragua\"},\n {\"value\":\"Niger\",\"label\":\"Niger\"},\n {\"value\":\"Nigeria\",\"label\":\"Nigeria\"},\n {\"value\":\"Niue\",\"label\":\"Niue\"},\n {\"value\":\"Norway\",\"label\":\"Norvegia\"},\n {\"value\":\"New Caledonia(French)\",\"label\":\"Nuova Caledonia\"},\n {\"value\":\"New Zealand\",\"label\":\"Nuova Zelanda\"},\n {\"value\":\"Oman\",\"label\":\"Oman\"},\n {\"value\":\"Netherlands\",\"label\":\"Paesi Bassi\"},\n {\"value\":\"Pakistan\",\"label\":\"Pakistan\"},\n {\"value\":\"Palau\",\"label\":\"Palau\"},\n {\"value\":\"Panama\",\"label\":\"Panama\"},\n {\"value\":\"Papua New Guinea\",\"label\":\"Papua Nuova Guinea\"},\n {\"value\":\"Paraguay\",\"label\":\"Paraguay\"},\n {\"value\":\"Peru\",\"label\":\"Perù\"},\n {\"value\":\"Pitcairn Island\",\"label\":\"Pitcairn\"},\n {\"value\":\"Polynesia(French)\",\"label\":\"Polinesia francese\"},\n {\"value\":\"Poland\",\"label\":\"Polonia\"},\n {\"value\":\"Portugal\",\"label\":\"Portogallo\"},\n {\"value\":\"Puerto Rico\",\"label\":\"Portorico\"},\n {\"value\":\"Qatar\",\"label\":\"Qatar\"},\n {\"value\":\"United Kingdom\",\"label\":\"Regno Unito\"},\n {\"value\":\"Czech Republic\",\"label\":\"Repubblica Ceca\"},\n {\"value\":\"Central African Republic\",\"label\":\"Repubblica Centrafricana\"},\n {\"value\":\"CD\",\"label\":\"Repubblica Democratica del Congo\"},\n {\"value\":\"San Marino\",\"label\":\"Repubblica di San Marino\"},\n {\"value\":\"Dominican Republic\",\"label\":\"Repubblica Dominicana\"},\n {\"value\":\"Reunion(French)\",\"label\":\"Riunione\"},\n {\"value\":\"Romania\",\"label\":\"Romania\"},\n {\"value\":\"Rwanda\",\"label\":\"Ruanda\"},\n {\"value\":\"Russian Federation\",\"label\":\"Russia\"},\n {\"value\":\"Saint Kitts & Nevis Anguilla\",\"label\":\"Saint Kitts e Nevis\"},\n {\"value\":\"Saint Lucia\",\"label\":\"Saint Lucia\"},\n {\"value\":\"Saint Pierre and Miquelon\",\"label\":\"Saint Pierre et Miquelon\"},\n {\"value\":\"Saint Vincent & Grenadines\",\"label\":\"Saint Vincent e Grenadine\"},\n {\"value\":\"Samoa\",\"label\":\"Samoa\"},\n {\"value\":\"American Samoa\",\"label\":\"Samoa americane\"},\n {\"value\":\"Saint Helena\",\"label\":\"Sant'Elena\"},\n {\"value\":\"Saint Tome(Sao Tome) and Principe\",\"label\":\"Sao Tome e Principe\"},\n {\"value\":\"Senegal\",\"label\":\"Senegal\"},\n {\"value\":\"Seychelles\",\"label\":\"Seychelles\"},\n {\"value\":\"Sierra Leone\",\"label\":\"Sierra Leone\"},\n {\"value\":\"Singapore\",\"label\":\"Singapore\"},\n {\"value\":\"Syria\",\"label\":\"Siria\"},\n {\"value\":\"Slovak Republic\",\"label\":\"Slovacchia\"},\n {\"value\":\"Slovenia\",\"label\":\"Slovenia\"},\n {\"value\":\"Somalia\",\"label\":\"Somalia\"},\n {\"value\":\"Spain\",\"label\":\"Spagna\"},\n {\"value\":\"Sri Lanka\",\"label\":\"Sri Lanka\"},\n {\"value\":\"United States\",\"label\":\"Stati Uniti\"},\n {\"value\":\"South Africa\",\"label\":\"Sud Africa\"},\n {\"value\":\"Sudan\",\"label\":\"Sudan\"},\n {\"value\":\"Suriname\",\"label\":\"Suriname\"},\n {\"value\":\"Svalbard and Jan Mayen Islands\",\"label\":\"Svalbard e Jan Mayen\"},\n {\"value\":\"Sweden\",\"label\":\"Svezia\"},\n {\"value\":\"Switzerland\",\"label\":\"Svizzera\"},\n {\"value\":\"Swaziland\",\"label\":\"Swaziland\"},\n {\"value\":\"Tadjikistan\",\"label\":\"Tagikistan\"},\n {\"value\":\"Thailand\",\"label\":\"Tailandia\"},\n {\"value\":\"Taiwan\",\"label\":\"Taiwan\"},\n {\"value\":\"Tanzania\",\"label\":\"Tanzania\"},\n {\"value\":\"French Southern Territories\",\"label\":\"Terre Australi e Antartiche Francesi\"},\n {\"value\":\"British Indian Ocean Territory\",\"label\":\"Territori inglesi dell'Oceano Indiano\"},\n {\"value\":\"EastTimor\",\"label\":\"Timor Est\"},\n {\"value\":\"Togo\",\"label\":\"Togo\"},\n {\"value\":\"Tokelau\",\"label\":\"Tokelau\"},\n {\"value\":\"Tonga\",\"label\":\"Tonga\"},\n {\"value\":\"Trinidad and Tobago\",\"label\":\"Trinidad e Tobago\"},\n {\"value\":\"TA\",\"label\":\"Tristan da Cunha\"},\n {\"value\":\"Tunisia\",\"label\":\"Tunisia\"},\n {\"value\":\"Turkey\",\"label\":\"Turchia\"},\n {\"value\":\"Turkmenistan\",\"label\":\"Turkmenistan\"},\n {\"value\":\"Tuvalu\",\"label\":\"Tuvalu\"},\n {\"value\":\"Ukraine\",\"label\":\"Ucraina\"},\n {\"value\":\"Uganda\",\"label\":\"Uganda\"},\n {\"value\":\"Hungary\",\"label\":\"Ungheria\"},\n {\"value\":\"Uruguay\",\"label\":\"Uruguay\"},\n {\"value\":\"Uzbekistan\",\"label\":\"Uzbekistan\"},\n {\"value\":\"Vanuatu\",\"label\":\"Vanuatu\"},\n {\"value\":\"Venezuela\",\"label\":\"Venezuela\"},\n {\"value\":\"Vietnam\",\"label\":\"Vietnam\"},\n {\"value\":\"Wallis and FutunaIslands\",\"label\":\"Wallis e Futuna\"},\n {\"value\":\"Yemen\",\"label\":\"Yemen\"},\n {\"value\":\"Zambia\",\"label\":\"Zambia\"},\n {\"value\":\"Zimbabwe\",\"label\":\"Zimbabwe\"}\n];\n\nexport const getCountries = (t) => {\n return [\n { value: \"IT\", label: t(\"options.country.IT\") },\n { value: \"AF\", label: t(\"options.country.AF\") },\n { value: \"AL\", label: t(\"options.country.AL\") },\n { value: \"DZ\", label: t(\"options.country.DZ\") },\n { value: \"AD\", label: t(\"options.country.AD\") },\n { value: \"AO\", label: t(\"options.country.AO\") },\n { value: \"AI\", label: t(\"options.country.AI\") },\n { value: \"AQ\", label: t(\"options.country.AQ\") },\n { value: \"AG\", label: t(\"options.country.AG\") },\n { value: \"AN\", label: t(\"options.country.AN\") },\n { value: \"SA\", label: t(\"options.country.SA\") },\n { value: \"AR\", label: t(\"options.country.AR\") },\n { value: \"AM\", label: t(\"options.country.AM\") },\n { value: \"AW\", label: t(\"options.country.AW\") },\n { value: \"AU\", label: t(\"options.country.AU\") },\n { value: \"AT\", label: t(\"options.country.AT\") },\n { value: \"PS\", label: t(\"options.country.PS\") },\n { value: \"AZ\", label: t(\"options.country.AZ\") },\n { value: \"BS\", label: t(\"options.country.BS\") },\n { value: \"BH\", label: t(\"options.country.BH\") },\n { value: \"BD\", label: t(\"options.country.BD\") },\n { value: \"BB\", label: t(\"options.country.BB\") },\n { value: \"BE\", label: t(\"options.country.BE\") },\n { value: \"BZ\", label: t(\"options.country.BZ\") },\n { value: \"BJ\", label: t(\"options.country.BJ\") },\n { value: \"BM\", label: t(\"options.country.BM\") },\n { value: \"BT\", label: t(\"options.country.BT\") },\n { value: \"BY\", label: t(\"options.country.BY\") },\n { value: \"BO\", label: t(\"options.country.BO\") },\n { value: \"BA\", label: t(\"options.country.BA\") },\n { value: \"BW\", label: t(\"options.country.BW\") },\n { value: \"BR\", label: t(\"options.country.BR\") },\n { value: \"BN\", label: t(\"options.country.BN\") },\n { value: \"BG\", label: t(\"options.country.BG\") },\n { value: \"BF\", label: t(\"options.country.BF\") },\n { value: \"BI\", label: t(\"options.country.BI\") },\n { value: \"KH\", label: t(\"options.country.KH\") },\n { value: \"CM\", label: t(\"options.country.CM\") },\n { value: \"CA\", label: t(\"options.country.CA\") },\n { value: \"CV\", label: t(\"options.country.CV\") },\n { value: \"TD\", label: t(\"options.country.TD\") },\n { value: \"CL\", label: t(\"options.country.CL\") },\n { value: \"CN\", label: t(\"options.country.CN\") },\n { value: \"CY\", label: t(\"options.country.CY\") },\n { value: \"VA\", label: t(\"options.country.VA\") },\n { value: \"CO\", label: t(\"options.country.CO\") },\n { value: \"KM\", label: t(\"options.country.KM\") },\n { value: \"CG\", label: t(\"options.country.CG\") },\n { value: \"KR\", label: t(\"options.country.KR\") },\n { value: \"KP\", label: t(\"options.country.KP\") },\n { value: \"CI\", label: t(\"options.country.CI\") },\n { value: \"CR\", label: t(\"options.country.CR\") },\n { value: \"HR\", label: t(\"options.country.HR\") },\n { value: \"CU\", label: t(\"options.country.CU\") },\n { value: \"DK\", label: t(\"options.country.DK\") },\n { value: \"DM\", label: t(\"options.country.DM\") },\n { value: \"EC\", label: t(\"options.country.EC\") },\n { value: \"EG\", label: t(\"options.country.EG\") },\n { value: \"SV\", label: t(\"options.country.SV\") },\n { value: \"AE\", label: t(\"options.country.AE\") },\n { value: \"ER\", label: t(\"options.country.ER\") },\n { value: \"EE\", label: t(\"options.country.EE\") },\n { value: \"ET\", label: t(\"options.country.ET\") },\n { value: \"PH\", label: t(\"options.country.PH\") },\n { value: \"FI\", label: t(\"options.country.FI\") },\n { value: \"FR\", label: t(\"options.country.FR\") },\n { value: \"GA\", label: t(\"options.country.GA\") },\n { value: \"GM\", label: t(\"options.country.GM\") },\n { value: \"GE\", label: t(\"options.country.GE\") },\n { value: \"GS\", label: t(\"options.country.GS\") },\n { value: \"DE\", label: t(\"options.country.DE\") },\n { value: \"GH\", label: t(\"options.country.GH\") },\n { value: \"JM\", label: t(\"options.country.JM\") },\n { value: \"JP\", label: t(\"options.country.JP\") },\n { value: \"GI\", label: t(\"options.country.GI\") },\n { value: \"DJ\", label: t(\"options.country.DJ\") },\n { value: \"JO\", label: t(\"options.country.JO\") },\n { value: \"GB\", label: t(\"options.country.GB\") },\n { value: \"GR\", label: t(\"options.country.GR\") },\n { value: \"GD\", label: t(\"options.country.GD\") },\n { value: \"GL\", label: t(\"options.country.GL\") },\n { value: \"GP\", label: t(\"options.country.GP\") },\n { value: \"GU\", label: t(\"options.country.GU\") },\n { value: \"GT\", label: t(\"options.country.GT\") },\n { value: \"GG\", label: t(\"options.country.GG\") },\n { value: \"GF\", label: t(\"options.country.GF\") },\n { value: \"GN\", label: t(\"options.country.GN\") },\n { value: \"GQ\", label: t(\"options.country.GQ\") },\n { value: \"GW\", label: t(\"options.country.GW\") },\n { value: \"GY\", label: t(\"options.country.GY\") },\n { value: \"HT\", label: t(\"options.country.HT\") },\n { value: \"HN\", label: t(\"options.country.HN\") },\n { value: \"HK\", label: t(\"options.country.HK\") },\n { value: \"IN\", label: t(\"options.country.IN\") },\n { value: \"ID\", label: t(\"options.country.ID\") },\n { value: \"IR\", label: t(\"options.country.IR\") },\n { value: \"IQ\", label: t(\"options.country.IQ\") },\n { value: \"IE\", label: t(\"options.country.IE\") },\n { value: \"IS\", label: t(\"options.country.IS\") },\n { value: \"AC\", label: t(\"options.country.AC\") },\n { value: \"BV\", label: t(\"options.country.BV\") },\n { value: \"IM\", label: t(\"options.country.IM\") },\n { value: \"KY\", label: t(\"options.country.KY\") },\n { value: \"CX\", label: t(\"options.country.CX\") },\n { value: \"CC\", label: t(\"options.country.CC\") },\n { value: \"CK\", label: t(\"options.country.CK\") },\n { value: \"FK\", label: t(\"options.country.FK\") },\n { value: \"FO\", label: t(\"options.country.FO\") },\n { value: \"FJ\", label: t(\"options.country.FJ\") },\n { value: \"HM\", label: t(\"options.country.HM\") },\n { value: \"MP\", label: t(\"options.country.MP\") },\n { value: \"MH\", label: t(\"options.country.MH\") },\n { value: \"UM\", label: t(\"options.country.UM\") },\n { value: \"NF\", label: t(\"options.country.NF\") },\n { value: \"SB\", label: t(\"options.country.SB\") },\n { value: \"TC\", label: t(\"options.country.TC\") },\n { value: \"VG\", label: t(\"options.country.VG\") },\n { value: \"VI\", label: t(\"options.country.VI\") },\n { value: \"IL\", label: t(\"options.country.IL\") },\n { value: \"YU\", label: t(\"options.country.YU\") },\n { value: \"JE\", label: t(\"options.country.JE\") },\n { value: \"KZ\", label: t(\"options.country.KZ\") },\n { value: \"KE\", label: t(\"options.country.KE\") },\n { value: \"KG\", label: t(\"options.country.KG\") },\n { value: \"KI\", label: t(\"options.country.KI\") },\n { value: \"KW\", label: t(\"options.country.KW\") },\n { value: \"LA\", label: t(\"options.country.LA\") },\n { value: \"LS\", label: t(\"options.country.LS\") },\n { value: \"LV\", label: t(\"options.country.LV\") },\n { value: \"LB\", label: t(\"options.country.LB\") },\n { value: \"LR\", label: t(\"options.country.LR\") },\n { value: \"LY\", label: t(\"options.country.LY\") },\n { value: \"LI\", label: t(\"options.country.LI\") },\n { value: \"LT\", label: t(\"options.country.LT\") },\n { value: \"LU\", label: t(\"options.country.LU\") },\n { value: \"MO\", label: t(\"options.country.MO\") },\n { value: \"MK\", label: t(\"options.country.MK\") },\n { value: \"MG\", label: t(\"options.country.MG\") },\n { value: \"MW\", label: t(\"options.country.MW\") },\n { value: \"MV\", label: t(\"options.country.MV\") },\n { value: \"MY\", label: t(\"options.country.MY\") },\n { value: \"ML\", label: t(\"options.country.ML\") },\n { value: \"MT\", label: t(\"options.country.MT\") },\n { value: \"MA\", label: t(\"options.country.MA\") },\n { value: \"MQ\", label: t(\"options.country.MQ\") },\n { value: \"MR\", label: t(\"options.country.MR\") },\n { value: \"MU\", label: t(\"options.country.MU\") },\n { value: \"YT\", label: t(\"options.country.YT\") },\n { value: \"MX\", label: t(\"options.country.MX\") },\n { value: \"FM\", label: t(\"options.country.FM\") },\n { value: \"MD\", label: t(\"options.country.MD\") },\n { value: \"MC\", label: t(\"options.country.MC\") },\n { value: \"MN\", label: t(\"options.country.MN\") },\n { value: \"MS\", label: t(\"options.country.MS\") },\n { value: \"MZ\", label: t(\"options.country.MZ\") },\n { value: \"MM\", label: t(\"options.country.MM\") },\n { value: \"NA\", label: t(\"options.country.NA\") },\n { value: \"NR\", label: t(\"options.country.NR\") },\n { value: \"NP\", label: t(\"options.country.NP\") },\n { value: \"NI\", label: t(\"options.country.NI\") },\n { value: \"NE\", label: t(\"options.country.NE\") },\n { value: \"NG\", label: t(\"options.country.NG\") },\n { value: \"NU\", label: t(\"options.country.NU\") },\n { value: \"NO\", label: t(\"options.country.NO\") },\n { value: \"NC\", label: t(\"options.country.NC\") },\n { value: \"NZ\", label: t(\"options.country.NZ\") },\n { value: \"OM\", label: t(\"options.country.OM\") },\n { value: \"NL\", label: t(\"options.country.NL\") },\n { value: \"PK\", label: t(\"options.country.PK\") },\n { value: \"PW\", label: t(\"options.country.PW\") },\n { value: \"PA\", label: t(\"options.country.PA\") },\n { value: \"PG\", label: t(\"options.country.PG\") },\n { value: \"PY\", label: t(\"options.country.PY\") },\n { value: \"PE\", label: t(\"options.country.PE\") },\n { value: \"PN\", label: t(\"options.country.PN\") },\n { value: \"PF\", label: t(\"options.country.PF\") },\n { value: \"PL\", label: t(\"options.country.PL\") },\n { value: \"PT\", label: t(\"options.country.PT\") },\n { value: \"PR\", label: t(\"options.country.PR\") },\n { value: \"QA\", label: t(\"options.country.QA\") },\n { value: \"UK\", label: t(\"options.country.UK\") },\n { value: \"CZ\", label: t(\"options.country.CZ\") },\n { value: \"CF\", label: t(\"options.country.CF\") },\n { value: \"CD\", label: t(\"options.country.CD\") },\n { value: \"SM\", label: t(\"options.country.SM\") },\n { value: \"DO\", label: t(\"options.country.DO\") },\n { value: \"RE\", label: t(\"options.country.RE\") },\n { value: \"RO\", label: t(\"options.country.RO\") },\n { value: \"RW\", label: t(\"options.country.RW\") },\n { value: \"RU\", label: t(\"options.country.RU\") },\n { value: \"KN\", label: t(\"options.country.KN\") },\n { value: \"LC\", label: t(\"options.country.LC\") },\n { value: \"PM\", label: t(\"options.country.PM\") },\n { value: \"VC\", label: t(\"options.country.VC\") },\n { value: \"WS\", label: t(\"options.country.WS\") },\n { value: \"AS\", label: t(\"options.country.AS\") },\n { value: \"SH\", label: t(\"options.country.SH\") },\n { value: \"ST\", label: t(\"options.country.ST\") },\n { value: \"SN\", label: t(\"options.country.SN\") },\n { value: \"SC\", label: t(\"options.country.SC\") },\n { value: \"SL\", label: t(\"options.country.SL\") },\n { value: \"SG\", label: t(\"options.country.SG\") },\n { value: \"SY\", label: t(\"options.country.SY\") },\n { value: \"SK\", label: t(\"options.country.SK\") },\n { value: \"SI\", label: t(\"options.country.SI\") },\n { value: \"SO\", label: t(\"options.country.SO\") },\n { value: \"ES\", label: t(\"options.country.ES\") },\n { value: \"LK\", label: t(\"options.country.LK\") },\n { value: \"US\", label: t(\"options.country.US\") },\n { value: \"ZA\", label: t(\"options.country.ZA\") },\n { value: \"SD\", label: t(\"options.country.SD\") },\n { value: \"SR\", label: t(\"options.country.SR\") },\n { value: \"SJ\", label: t(\"options.country.SJ\") },\n { value: \"SE\", label: t(\"options.country.SE\") },\n { value: \"CH\", label: t(\"options.country.CH\") },\n { value: \"SZ\", label: t(\"options.country.SZ\") },\n { value: \"TJ\", label: t(\"options.country.TJ\") },\n { value: \"TH\", label: t(\"options.country.TH\") },\n { value: \"TW\", label: t(\"options.country.TW\") },\n { value: \"TZ\", label: t(\"options.country.TZ\") },\n { value: \"TF\", label: t(\"options.country.TF\") },\n { value: \"IO\", label: t(\"options.country.IO\") },\n { value: \"TP\", label: t(\"options.country.TP\") },\n { value: \"TG\", label: t(\"options.country.TG\") },\n { value: \"TK\", label: t(\"options.country.TK\") },\n { value: \"TO\", label: t(\"options.country.TO\") },\n { value: \"TT\", label: t(\"options.country.TT\") },\n { value: \"TA\", label: t(\"options.country.TA\") },\n { value: \"TN\", label: t(\"options.country.TN\") },\n { value: \"TR\", label: t(\"options.country.TR\") },\n { value: \"TM\", label: t(\"options.country.TM\") },\n { value: \"TV\", label: t(\"options.country.TV\") },\n { value: \"UA\", label: t(\"options.country.UA\") },\n { value: \"UG\", label: t(\"options.country.UG\") },\n { value: \"HU\", label: t(\"options.country.HU\") },\n { value: \"UY\", label: t(\"options.country.UY\") },\n { value: \"UZ\", label: t(\"options.country.UZ\") },\n { value: \"VU\", label: t(\"options.country.VU\") },\n { value: \"VE\", label: t(\"options.country.VE\") },\n { value: \"VN\", label: t(\"options.country.VN\") },\n { value: \"WF\", label: t(\"options.country.WF\") },\n { value: \"YE\", label: t(\"options.country.YE\") },\n { value: \"ZM\", label: t(\"options.country.ZM\") },\n { value: \"ZW\", label: t(\"options.country.ZW\") },\n ];\n};\n","import { scrollToRequiredElem } from './scroll';\nimport intersection from 'lodash/intersection';\nimport { isValid } from 'iban';\n\nimport { getCountries } from '../containers/Step2/utils';\n\nconst N_6 = 6;\nconst N_7 = 7;\nconst N_8 = 8;\nconst N_9 = 9;\nconst N_10 = 10;\nconst N_11 = 11;\nconst N_12 = 12;\nconst N_13 = 13;\nconst N_14 = 14;\nconst N_15 = 15;\nconst N_16 = 16;\nconst N_17 = 17;\nconst N_18 = 18;\nconst N_19 = 19;\nconst N_20 = 20;\nconst N_21 = 21;\nconst N_22 = 22;\nconst N_23 = 23;\nconst N_24 = 24;\nconst N_25 = 25;\nconst N_26 = 26;\nconst N_27 = 27;\nconst N_28 = 28;\nconst N_29 = 29;\nconst N_30 = 30;\nconst N_31 = 31;\nconst N_55 = 55;\nconst N_97 = 97;\n\nconst CHECK_CODE_EVEN = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n '6': N_6,\n '7': N_7,\n '8': N_8,\n '9': N_9,\n A: 0,\n B: 1,\n C: 2,\n D: 3,\n E: 4,\n F: 5,\n G: N_6,\n H: N_7,\n I: N_8,\n J: N_9,\n K: N_10,\n L: N_11,\n M: N_12,\n N: N_13,\n O: N_14,\n P: N_15,\n Q: N_16,\n R: N_17,\n S: N_18,\n T: N_19,\n U: N_20,\n V: N_21,\n W: N_22,\n X: N_23,\n Y: N_24,\n Z: N_25\n};\n\nconst CHECK_CODE_ODD = {\n 0: 1,\n 1: 0,\n 2: 5,\n 3: N_7,\n 4: N_9,\n 5: N_13,\n '6': N_15,\n '7': N_17,\n '8': N_19,\n '9': N_21,\n A: 1,\n B: 0,\n C: 5,\n D: N_7,\n E: N_9,\n F: N_13,\n G: N_15,\n H: N_17,\n I: N_19,\n J: N_21,\n K: 2,\n L: 4,\n M: N_18,\n N: N_20,\n O: N_11,\n P: 3,\n Q: N_6,\n R: N_8,\n S: N_12,\n T: N_14,\n U: N_16,\n V: N_10,\n W: N_22,\n X: N_25,\n Y: N_24,\n Z: N_23\n};\n\nconst CHECK_CODE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\nexport const onSubmitFail = (errors) => {\n const requiredFields = Object.keys(errors);\n scrollToRequiredElem(requiredFields[0]);\n};\n\nexport const checkCF = (codiceFiscale) => {\n if (typeof codiceFiscale !== 'string') return false;\n codiceFiscale = codiceFiscale.toUpperCase();\n if (codiceFiscale.length !== N_16) return false;\n const expectedCheckCode = codiceFiscale.charAt(N_15);\n const cf = codiceFiscale.slice(0, N_15);\n\n return getCheckCode(cf) === expectedCheckCode;\n};\n\nconst getCheckCode = (codiceFiscale) => {\n let val = 0;\n for (let i = 0; i < N_15; i++) {\n const c = codiceFiscale[i];\n val += i % 2 ? CHECK_CODE_EVEN[c] : CHECK_CODE_ODD[c];\n }\n val = val % N_26;\n\n return CHECK_CODE_CHARS.charAt(val);\n};\n\nexport const validIBAN = (function () {\n // Table of IBAN lengths per country\n const CODE_LENGTHS = {\n AD: N_24, AE: N_23, AT: N_20, AZ: N_28, BA: N_20, BE: N_16, BG: N_22, BH: N_22, BR: N_29,\n CH: N_21, CR: N_21, CY: N_28, CZ: N_24, DE: N_22, DK: N_18, DO: N_28, EE: N_20, ES: N_24,\n FI: N_18, FO: N_18, FR: N_27, GB: N_22, GI: N_23, GL: N_18, GR: N_27, GT: N_28, HR: N_21,\n HU: N_28, IE: N_22, IL: N_23, IS: N_26, IT: N_27, JO: N_30, KW: N_30, KZ: N_20, LB: N_28,\n LI: N_21, LT: N_20, LU: N_20, LV: N_21, MC: N_27, MD: N_24, ME: N_22, MK: N_19, MR: N_27,\n MT: N_31, MU: N_30, NL: N_18, NO: N_15, PK: N_24, PL: N_28, PS: N_29, PT: N_25, QA: N_29,\n RO: N_24, RS: N_22, SA: N_24, SE: N_24, SI: N_19, SK: N_24, SM: N_27, TN: N_24, TR: N_26\n };\n\n function mod97(string) {\n let checksum = string.slice(0, 2),\n fragment;\n\n for (let offset = 2; offset < string.length; offset += N_7) {\n fragment = String(checksum) + string.substring(offset, offset + N_7);\n checksum = parseInt(fragment, 10) % N_97;\n }\n\n return checksum;\n }\n\n return function (input) {\n const iban = String(input).toUpperCase().replace(/[^A-Z0-9]/g, ''),\n code = iban.match(/^([A-Z]{2})(\\d{2})([A-Z\\d]+)$/);\n\n if (!code || iban.length !== CODE_LENGTHS[code[1]]) {\n return false;\n }\n\n const digits = (code[3] + code[1] + code[2]).replace(/[A-Z]/g, function (letter) {\n return letter.charCodeAt(0) - N_55;\n });\n\n return mod97(digits) === 1;\n };\n}());\n\nexport const validateIBAN = ((iban) => {\n return isValid(iban);\n});\n\nexport const geolocate = (change, cb, t) => {\n const autocompleteInput = document.getElementById('address');\n const observerHack = new MutationObserver(function() {\n observerHack.disconnect();\n autocompleteInput.setAttribute('autocomplete', 'new-password');\n });\n observerHack.observe(autocompleteInput, {\n attributes: true,\n attributeFilter: ['autocomplete']\n });\n\n const autocomplete = new window.google.maps.places.Autocomplete((document.getElementById('address')), {types: ['address']});\n autocomplete.addListener('place_changed', () => fillInAddress(autocomplete, change, cb, t));\n\n // \tautocomplete.setComponentRestrictions({\n // \t\tcountry: ['it'],\n // \t});\n\n if(navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function(position) {\n const geolocation = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n const circle = new window.google.maps.Circle({\n center: geolocation,\n radius: position.coords.accuracy\n });\n autocomplete.setBounds(circle.getBounds());\n });\n }\n};\n\nconst fillInAddress = (autocomplete, change, cb, t) => {\n const componentForm = {\n 'address': {\n type: ['route'],\n name_type: 'short_name'\n },\n 'numeroCivico': {\n type: ['street_number'],\n name_type: 'short_name'\n },\n 'cap': {\n type: ['postal_code'],\n name_type: 'short_name'\n },\n 'frazione': {\n type: ['locality'],\n name_type: 'long_name'\n },\n 'citta': {\n type: ['locality', 'administrative_area_level_3'],\n name_type: 'short_name'\n },\n 'provincia': {\n type: ['administrative_area_level_2'],\n name_type: 'short_name'\n },\n 'nazione': {\n type: ['country'],\n name_type: 'short_name'\n }\n };\n\n const place = autocomplete.getPlace();\n\n for(const component in componentForm) {\n change(component, '');\n }\n\n if(cb) {\n cb(place.address_components);\n }\n\n if(place && place.address_components && place.address_components.length > 0) {\n let fraction = '', city = '';\n for(const component in componentForm) {\n for(let i = 0; i < place.address_components.length; i++) {\n if(intersection(place.address_components[i].types, componentForm[component].type).length > 0) {\n const value = place.address_components[i][componentForm[component].name_type];\n if(component === 'nazione') {\n const currCountry = getCountries(t).filter(c => c.value === value);\n if(currCountry.length) {\n change(component, currCountry[0]);\n }\n } else if(component === 'frazione') {\n fraction = value;\n } else {\n if(component === 'citta') {\n city = value;\n }\n change(component, value);\n }\n }\n }\n }\n if(fraction !== city) {\n change('frazione', fraction);\n }\n }\n};\n","import {\n\tcheckCF,\n\tvalidateIBAN\n} from '../../utils/commonFormsHandlers';\n\nconst GENERAL_STRING_LENGTH = 50;\nconst CONV_CARD_NUMBER_LENGTH = 20;\nconst CF_LENGTH = 16;\nconst MIN_VAT_NUMBER_LENGTH = 5;\nconst VAT_NUMBER_LENGTH = 11;\nconst VAT_NUMBER_GENERIC_LENGTH = 14;\nconst SDI_CODE_LENGTH = 7;\nconst PHONE_LENGTH = 15;\nconst MAX_PLATE_LENGTH = 15;\nconst MAX_STREET_NUMBER_LENGTH = 10;\nconst PROVINCE_LENGTH = 2;\nconst CAP_LENGTH = 8;\nconst IBAN_CODE_LENGTH = 34;\nconst BANK_ACCOUNT_LENGTH = 50;\nconst SWIFT_CODE_LENGTH = 11;\n\nconst v_required = (value, t) => value ? undefined : t('form.validation.required');\nconst v_cf_2 = (value, t) => checkCF(value) ? undefined : t('form.validation.cf');\nconst v_email = (value, t) => value && !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value) ? t('form.validation.email') : undefined;\nconst v_vat_number_length = (value, t) => !value || value.length === VAT_NUMBER_LENGTH ? undefined : t('form.validation.piva');\nconst v_vat_number_length_2 = (value, t) => !value || (value.length >= MIN_VAT_NUMBER_LENGTH && value.length <= CF_LENGTH) ? undefined : t('form.validation.companyCf');\nconst v_sdi_length = (value, t) => !value || value.length === SDI_CODE_LENGTH ? undefined : t('form.validation.sdi');\nconst v_province_length = (value, t) => value.length === PROVINCE_LENGTH ? undefined : t('form.validation.province');\nconst v_iban = (value, t) => validateIBAN(value) ? undefined : t('form.validation.iban');\n\nconst n_emailchar = (value, previousValue) => /^[a-zA-Z._%+-@]*$/i.test(value) ? value : previousValue;\nconst n_onlyalfa = (value, previousValue) => /^[a-zA-Z0-9àáèéìíòóùúÀÁÈÉÌÍÒÓÙÚ\\s]*$/i.test(value) ? value : previousValue;\nconst n_onlyalfa_special = (value, previousValue) => /^([A-Za-z0-9\\u00C0-\\u00D6\\u00D8-\\u00f6\\u00f8-\\u00ff\\u0021-\\u002f\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E\\s]*)$/i.test(value) ? value : previousValue;\nconst n_onlychar = (value, previousValue) => /^[a-zA-ZàáèéìíòóùúÀÁÈÉÌÍÒÓÙÚ.\\s]*$/i.test(value) ? value : previousValue;\nconst n_onlydigit = (value, previousValue) => /^[0-9\\s]*$/i.test(value) ? value : previousValue;\n\nconst n_general = (value, previousValue) => value.length <= GENERAL_STRING_LENGTH ? value : previousValue;\nconst n_conv_card_number = (value, previousValue) => value.length <= CONV_CARD_NUMBER_LENGTH ? value : previousValue;\nconst n_cf_length = (value, previousValue) => value.length <= CF_LENGTH ? value : previousValue;\nconst n_phone = (value, previousValue) => /^[+]?[0-9]*$/i.test(value) && value.length <= PHONE_LENGTH ? value : previousValue;\nconst n_plate_length = (value, previousValue) => value.length <= MAX_PLATE_LENGTH && /^[0-9a-zA-Z-\\s]*$/i.test(value) ? value : previousValue;\nconst n_vat_number = (value, previousValue) => value.length <= VAT_NUMBER_LENGTH && /^[0-9]*$/i.test(value) ? value : previousValue;\nconst n_vat_number_generic = (value, previousValue) => value.length <= VAT_NUMBER_GENERIC_LENGTH && /^[0-9a-zA-Z]*$/i.test(value) ? value : previousValue;\nconst n_sdi_code = (value, previousValue) => value.length <= SDI_CODE_LENGTH && /^[a-zA-Z0-9àáèéìíòóùúÀÁÈÉÌÍÒÓÙÚ]*$/i.test(value) ? value : previousValue;\nconst n_street_number_length = (value, previousValue) => value.length <= MAX_STREET_NUMBER_LENGTH ? value : previousValue;\nconst n_province = (value, previousValue) => value.length <= PROVINCE_LENGTH && /^[a-zA-Z]*$/i.test(value) ? value : previousValue;\nconst n_cap_length = (value, previousValue) => value.length <= CAP_LENGTH && /^[0-9a-zA-Z-\\s]*$/i.test(value) ? value : previousValue;\nconst n_iban_length = (value, previousValue) => value.length <= IBAN_CODE_LENGTH && /^[a-zA-Z0-9]*$/i.test(value) ? value : previousValue;\nconst n_bank_account_length = (value, previousValue) => value.length <= BANK_ACCOUNT_LENGTH && /^[a-zA-Z0-9]*$/i.test(value) ? value : previousValue;\nconst n_swift_length = (value, previousValue) => value.length <= SWIFT_CODE_LENGTH && /^[a-zA-Z0-9]*$/i.test(value) ? value : previousValue;\n\nexport {\n\tv_required,\n\tv_cf_2,\n\tv_email,\n\tv_vat_number_length,\n\tv_vat_number_length_2,\n\tv_sdi_length,\n\tv_province_length,\n\tv_iban,\n\tn_emailchar,\n\tn_onlyalfa,\n\tn_onlyalfa_special,\n\tn_onlychar,\n\tn_onlydigit,\n\tn_general,\n\tn_conv_card_number,\n\tn_cf_length,\n\tn_phone,\n\tn_plate_length,\n\tn_vat_number,\n\tn_vat_number_generic,\n\tn_sdi_code,\n\tn_street_number_length,\n\tn_province,\n\tn_cap_length,\n\tn_iban_length,\n\tn_bank_account_length,\n\tn_swift_length\n};\n","import { Map } from 'immutable';\nimport { createSelector } from 'reselect';\n\nexport const getApp = (state) => state.get('app', Map());\n\nexport const getIsFetching = createSelector(\n getApp,\n app => app.get('isFetching', true)\n);\n\nexport const getFingerprint = createSelector(\n getApp,\n app => app.get('contractinfo', '')\n);\n\nexport const getHasProfile = createSelector(\n getApp,\n app => app.get('hasProfile', null)\n);\n\nexport const getEmail = createSelector(\n getApp,\n app => app.get('email', '')\n);\n\nexport const getMessage = createSelector(\n getApp,\n app => app.get('message', Map())\n);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport { goToStep, goToPrevStep, goToNextStep } from '../Form/actionCreator';\nimport { getStep } from '../Form/selectors';\nimport { getIsFetching } from '../App/selectors';\n\nimport { scrollToForm } from '../../utils/scroll';\n\nclass FormButton extends Component {\n\thandleBack() {\n return (e) => {\n\t\t\te.preventDefault();\n\t\t\tthis.props.goToPrevStep();\n\t\t\tscrollToForm();\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { t, stopNext } = this.props;\n\n\t\treturn <>\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{this.props.step > 1 ?\n\t\t\t\t\t\t\n\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{this.props.lastStep ?\n\t\t\t\t\t\t\n\t\t\t\t\t\t: \n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{this.props.step > 1 ?\n\t\t\t\t\t\t\n\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t
\n\t\t;\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tstep: getStep(state),\n\t\tisFetching: getIsFetching(state),\n\t\tisTestCase: state.get('isTestCase', false)\n\t};\n};\n\nconst mapDispatchToProps = {\n\tgoToStep,\n\tgoToPrevStep,\n\tgoToNextStep\n};\n\nFormButton.propTypes = {\n\tstep: PropTypes.number,\n\tisFetching: PropTypes.bool,\n\tisTestCase: PropTypes.bool,\n\tlastStep: PropTypes.bool,\n\tt: PropTypes.func,\n\n\tgoToStep: PropTypes.func,\n\tgoToPrevStep: PropTypes.func,\n\tgoToNextStep: PropTypes.func,\n\tstopNext: PropTypes.bool,\n\n\tonSubmit: PropTypes.func\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FormButton);\n","export const FETCH_STARTED = 'FETCH_START@app';\nexport const FETCH_COMPLETED = 'FETCH_COMPLETED@app';\nexport const SET_CONTACT_INFO = 'SET_CONTACT_INFO@app';\nexport const SET_MESSAGE = 'SET_MESSAGE@app';\nexport const SET_FINGERPRINT = 'SET_FINGERPRINT@app';\n","import { createAction } from '../../utils/redux-helper';\nimport * as ActionDefinitions from './actionDefinitions';\n\nexport const fetchStarted = () => {\n const payload = {};\n return createAction(ActionDefinitions.FETCH_STARTED, payload);\n};\n\nexport const fetchCompleted = () => {\n const payload = {};\n return createAction(ActionDefinitions.FETCH_COMPLETED, payload);\n};\n\nexport const setContactInfo = (hasProfile, email) => {\n const payload = {\n hasProfile,\n email\n };\n return createAction(ActionDefinitions.SET_CONTACT_INFO, payload);\n};\n\nexport const setMessage = (type) => {\n const payload = {\n type\n };\n return createAction(ActionDefinitions.SET_MESSAGE, payload);\n};\n\nexport const setFingerprint = (fingerprint) => {\n const payload = { fingerprint };\n return createAction(ActionDefinitions.SET_FINGERPRINT, payload);\n};\n","import { createSelector } from 'reselect';\nimport { Map } from 'immutable';\n\nexport const getOidc = (state) => state.get('oidc', new Map());\n\nexport const getOidcReducer = createSelector(\n [getOidc],\n oidc => oidc.get('oidcReducer', new Map())\n);\n\nexport const getLogin = createSelector(\n [getOidc],\n oidc => oidc.get('login', new Map())\n);\n\nexport const getIsLogged = createSelector(\n [getLogin],\n login => login.get('isLogged', false)\n);\n\nexport const getUser = createSelector(\n [getOidcReducer],\n oidc => oidc.get('user', new Map()) || new Map()\n);\n\nexport const getIdToken = createSelector(\n [ getUser ],\n (user) => user && user.get('id_token', undefined)\n);\n\nexport const getAccessToken = createSelector(\n [ getUser ],\n (user) => user.get('access_token', undefined)\n);\n\nexport const getFetchAuth = createSelector(\n [ getAccessToken ],\n (access_token) => {\n return {\n headers: {\n 'Authorization': 'Bearer ' + access_token\n }\n };\n }\n);\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router';\nimport { connect } from 'react-redux';\nimport { change, Field, getFormValues, reduxForm } from 'redux-form/immutable';\nimport { Map } from 'immutable';\n\nimport { initializeSpecificForm, setConvention, setProducts, FORM_STEP1 } from '../Form/actionCreator';\n\nimport { renderFieldRadioIcon, renderFieldText, renderFieldRadioList } from '../Form/renderField';\nimport { v_required } from '../Form/checkField';\nimport FormButton from '../FormButton';\n\nimport { fetchStarted, fetchCompleted } from '../App/actionCreator';\nimport { updatedFetch } from '../../utils/fetch/actionCreators';\nimport { baseURL } from '../../utils/fetch/axios';\nimport { contractTypes } from '../../utils/commonFormsConfig';\nimport { onSubmitFail } from '../../utils/commonFormsHandlers';\n\nimport { getIsFetching } from '../App/selectors';\nimport { getFetchAuth } from '../../components/HeaderLogin/selectors';\nimport { getConvention } from '../Form/selectors';\n// import { getQueryStringValue } from '../../utils/commonFunctions';\n\nexport const getContractTypes = (t) => {\n\treturn [{\n\t\tvalue: contractTypes.consumption,\n\t\tlabel: t('form.step1.tipoContratto.consumption'),\n\t\ticon: 'consumption'\n\t}, {\n\t\tvalue: contractTypes.rechargeable,\n\t\tlabel: t('form.step1.tipoContratto.prepaid'),\n\t\ticon: 'rechargeable'\n\t}, {\n\t\tvalue: contractTypes.flat,\n\t\tlabel: t('form.step1.tipoContratto.monthly'),\n\t\ticon: 'flat'\n\t}];\n};\n\n\nclass Step1 extends Component {\n\tstate = {\n\t\tconventionInfo: false,\n\t\tbaseProducts: [],\n\t\tconventionProducts: [],\n\t\tonLoading: false,\n\t};\n\n\tcomponentDidMount() {\n\t\t// Inizializzazione del campo relativo al codice convenzione se presente nell'URL\n\t\t// const { getBaseProducts, initializeSpecificForm, location, conventionValidity, conventionId, baseProducts, initialValues, valuesStep1 } = this.props;\n\t\t// const conventionId = getQueryStringValue(location.search, 'conventionId') || getQueryStringValue(location.search, 'convenzione');\n\t\t// const productCode = getQueryStringValue(location.search, 'prodotto');\n\n\t\t// let mergedValues = new Map();\n\t\t// if(!baseProducts || baseProducts.length <= 0) {\n\t\t\t// getBaseProducts().then((bp) => {\n\t\t\t// \tif(conventionId && !conventionId) {\n\t\t\t// \t\tthis.manageConventionCode(conventionId);\n\t\t\t// \t\tmergedValues = initialValues.mergeDeep(valuesStep1, { codicePromozionale: conventionId });\n\t\t\t// \t\tinitializeSpecificForm(FORM_STEP1, mergedValues);\n\t\t\t// \t} else if(productCode && !valuesStep1.get('productCode')) {\n\t\t\t// \t\tconst currBp = bp.find(p => p.codice === productCode) || bp.find(p => p.flagDefault === true);\n\t\t\t// \t\tif(currBp) {\n\t\t\t// \t\t\tmergedValues = initialValues.mergeDeep(valuesStep1, { productCode: (currBp.id).toString() });\n\t\t\t// \t\t\tinitializeSpecificForm(FORM_STEP1, mergedValues);\n\t\t\t// \t\t}\n\t\t\t// \t}\n\t\t\t// \tif(!productCode && !conventionValidity) {\n\t\t\t// \t\tconst defaultProduct = bp.find(p => p.flagDefault === true);\n\t\t\t// \t\tconst partialState = { productCode: (conventionValidity && conventionId) || (defaultProduct.id).toString() };\n\t\t\t// \t\tif(conventionId) {\n\t\t\t// \t\t\tpartialState['codicePromozionale'] = conventionId;\n\t\t\t// \t\t}\n\t\t\t// \t\tmergedValues = initialValues.mergeDeep(valuesStep1, partialState);\n\t\t\t// \t\tinitializeSpecificForm(FORM_STEP1, mergedValues);\n\t\t\t// \t}\n\t\t\t// });\n\t\t// }\n\t\tconst { initialValues, valuesStep1, convention } = this.props;\n\n\t\tconst mergedValues = (initialValues || new Map()).mergeDeep(valuesStep1 || new Map());\n\t\tconst plainMergedValues = mergedValues.toJS();\n\n\t\tif(plainMergedValues.tipoContratto) {\n\t\t\tif(convention.validity) {\n\t\t\t\tthis.registerConventionCode(plainMergedValues.tipoContratto);\n\t\t\t} else {\n\t\t\t\tthis.getProducts(plainMergedValues.tipoContratto);\n\t\t\t}\n\t\t}\n\t}\n\n\tformatProducts = (products) => {\n\t\treturn products.map((p) => {\n\t\t\treturn {\n\t\t\t\tvalue: (p.product_code).toString(),\n\t\t\t\ttext: p.product_name,\n\t\t\t\tdescription: p.product_description\n\t\t\t};\n\t\t});\n\t};\n\n\tgetProducts = (family) => {\n\t\tconst { setProducts, updatedFetch, fetchAuth, change } = this.props;\n\n\t\tthis.setState({ onLoading: true });\n\n\t\tupdatedFetch('GET', baseURL + '/UserData/products', { productType: 'SdR', salesChannel: 'Web', family }, [], [(response) => setProducts(response.list)], [], fetchAuth).then((products) => {\n\t\t\tconst baseProducts = this.formatProducts(products.list);\n\t\t\tthis.setState({ baseProducts, onLoading: false }, () => {\n\t\t\t\tif(baseProducts.length > 0) {\n\t\t\t\t\tchange('productCode', baseProducts[0].value);\n\t\t\t\t} else {\n\t\t\t\t\tchange('productCode', '');\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n\n\topenInfo = (e, info) => {\n\t\te.preventDefault();\n\t\tthis.setState((prevState) => {\n\t\t\treturn { [info]: !prevState[info] };\n\t\t});\n\t};\n\n\tregisterConventionCode = (family = false) => {\n\t\tconst { valuesStep1, updatedFetch, fetchAuth, setConvention, change, setProducts } = this.props;\n\t\tconst values = valuesStep1 ? valuesStep1.toJS() : {};\n\n\t\tupdatedFetch('GET', baseURL + '/UserData/products', { productType: 'SdR', salesChannel: 'Web', family: family || values.tipoContratto, promoCode: values.codicePromozionale }, [fetchStarted], [fetchCompleted], [], fetchAuth).then((products) => {\n\t\t\tif(products.list.length > 0) {\n\t\t\t\tconst conventionProducts = this.formatProducts(products.list);\n\t\t\t\tthis.setState({ conventionProducts }, () => {\n\t\t\t\t\tsetConvention(values.codicePromozionale, true);\n\t\t\t\t\tchange('productCode', conventionProducts[0].value);\n\t\t\t\t});\n\t\t\t\tsetProducts(products.list);\n\t\t\t} else {\n\t\t\t\tsetConvention(values.codicePromozionale, false);\n\t\t\t\tthis.getProducts(family || values.tipoContratto);\n\t\t\t}\n\t\t});\n\t};\n\n\trender() {\n\t\tconst { handleSubmit, valuesStep1, isFetching, t, cardType, convention, setConvention, change } = this.props;\n\t\tconst { baseProducts, conventionProducts, conventionInfo, onLoading } = this.state;\n\n\t\tconst values = valuesStep1 ? valuesStep1.toJS() : {};\n\t\tlet contractOptions = Array.from(getContractTypes(t));\n\t\tif(cardType === 3) {\n\t\t\tcontractOptions = contractOptions.filter(o => o.value !== contractTypes.consumption);\n\t\t}\n\n\t\treturn
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t v_required(value, t)]} inverted change={(checked, family) => {\n\t\t\t\t\t\t\t\t\tthis.setState({ conventionInfo: false }, () => {\n\t\t\t\t\t\t\t\t\t\tsetConvention('', false);\n\t\t\t\t\t\t\t\t\t\tchange('codicePromozionale', '');\n\t\t\t\t\t\t\t\t\t\tthis.getProducts(family);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}} />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{values.tipoContratto && !onLoading ?\n\t\t\t\t\t\t\t\t v_required(value, t)]} inverted />\n\t\t\t\t\t\t\t\t:
\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{(convention.validity || conventionInfo) &&\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconvention.name && convention.validity ? : ''\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconvention.name && !convention.validity ? : ''\n\t\t\t\t\t\t}\n\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\n\t\t\t
\n\t\t
;\n\t}\n}\n\nconst mapStateToProps = (state, props) => {\n\treturn {\n\t\tinitialValues: {\n\t\t\ttipoContratto: props.cardType === 3 ? contractTypes.rechargeable : contractTypes.consumption\n\t\t},\n\t\tvaluesStep1: getFormValues(FORM_STEP1)(state),\n\t\tfetchAuth: getFetchAuth(state),\n\t\tisFetching: getIsFetching(state),\n\t\tconvention: getConvention(state).toJS()\n\t};\n};\n\nconst mapDispatchToProps = {\n\tupdatedFetch,\n\tinitializeSpecificForm,\n\tchange,\n\tsetConvention,\n\tsetProducts\n};\n\nStep1.propTypes = {\n\tinitialValues: PropTypes.object,\n\tvaluesStep1: PropTypes.object,\n\tinitializeSpecificForm: PropTypes.func,\n\tchange: PropTypes.func,\n\thandleSubmit: PropTypes.func,\n\n\tupdatedFetch: PropTypes.func,\n\tfetchAuth: PropTypes.object,\n\tisFetching: PropTypes.bool,\n\t// location: PropTypes.object,\n\tcardType: PropTypes.number,\n\tconvention: PropTypes.object,\n\tsetConvention: PropTypes.func,\n\tsetProducts: PropTypes.func,\n\tt: PropTypes.func\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(reduxForm({\n\tform: FORM_STEP1, // a unique name for this form\n\tdestroyOnUnmount: false,\n\tonSubmitFail: (errors) => {\n\t\tonSubmitFail(errors);\n\t}\n\t// keepDirtyOnReinitialize: true,\n\t// enableReinitialize: true\n\t// validate, // <--- validation function given to redux-form\n // warn // <--- warning function given to redux-form\n})(Step1)));\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DataValue = ({ value, uOM, moreInfo, className = '' }) => (\n {value} {uOM}{moreInfo}\n);\n\nDataValue.propTypes = {\n value: PropTypes.string,\n uOM: PropTypes.string,\n moreInfo: PropTypes.string,\n className: PropTypes.string\n};\n\nexport default DataValue;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nconst HelpChat = () => {\n const { t } = useTranslation();\n\n return
{\n if(window.fcWidget.isOpen() !== true) {\n window.fcWidget.open();\n }\n }}>\n
{t('helpChat.help')}
\n
;\n};\n\nexport default HelpChat;\n","import React, { Component, Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { Field, getFormValues, reduxForm } from 'redux-form/immutable';\nimport PropTypes from 'prop-types';\n\nimport FormButton from '../FormButton';\nimport DataValue from '../../components/DataValue';\nimport dateFormat from \"date-fns/format\";\nimport HelpChat from '../../components/HelpChat';\n\nimport 'react-datepicker/dist/react-datepicker.css';\n\nimport {\n\trenderFieldText, renderFieldRadio, renderFieldPhone, renderFieldDatePicker\n\t// renderFieldSelect\n} from '../Form/renderField';\nimport {\n\tv_required,\n\tn_phone,\n\t// v_cf_2,\n\tv_email,\n\tv_vat_number_length,\n\tv_vat_number_length_2,\n\tv_sdi_length,\n\tn_onlychar,\n\tn_onlyalfa_special,\n\tn_cf_length,\n\tn_vat_number,\n\tn_vat_number_generic,\n\tn_emailchar,\n\tn_sdi_code\n} from '../Form/checkField';\n\nimport { onSubmitFail } from '../../utils/commonFormsHandlers';\nimport { HELPER_TIMEOUT, personTypeOptions, defaultPersonType } from '../../utils/commonFormsConfig';\n// import { getCountries } from './utils';\nimport { FORM_STEP2 } from '../Form/actionCreator';\n\nimport { getHasProfile } from '../App/selectors';\nimport subYears from 'date-fns/subYears';\n// import { updatedFetch } from '../../utils/fetch/actionCreators';\n\n\nclass Step2 extends Component {\n\tstate = {\n\t\topenHelpChat: false\n\t};\n\n\tcomponentDidMount() {\n\t\t// const { updatedFetch } = this.props;\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ openHelpChat: true });\n\t\t}, HELPER_TIMEOUT);\n\t}\n\n\n\thandleMobilePhoneSelect = (prefix) => {\n\t\tconst { change } = this.props;\n\t\tchange('mobilePhone1Prefix', prefix);\n\t};\n\n\thandlePhoneSelect = (prefix) => {\n\t\tconst { change } = this.props;\n\t\tchange('phone1Prefix', prefix);\n\t};\n\n\trender() {\n\t\tconst { handleSubmit, valuesStep2, t, hasProfile, i18n } = this.props;\n\t\tconst { openHelpChat } = this.state;\n\n\t\tconst values = valuesStep2 ? valuesStep2.toJS() : {};\n\t\tconst callGAEventsCondition = values['authComunicazioniPromo'];\n\n\t\tconst isIta = values.country && values.country.value === 'IT' ? true : false;\n\n\t\tconst yearsToRemove = 18;\n\n\t\t// const countries = getCountries(t);\n\n\t\treturn
\n\t\t\t
\n\t\t\t\t{\n\t\t\t\t\t!hasProfile ?
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t v_required(value, t)]} />\n\t\t\t\t\t\t
\n\t\t\t\t\t
: ''\n\t\t\t\t}\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_onlychar} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_onlychar} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t{hasProfile ? <>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t :
\n\t\t\t\t\t\t v_required(value, t)]} />\n\t\t\t\t\t
}\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tvalues.personType === '2' && \n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

{t('form.step2.subtitle_1')}

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_onlychar} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_onlychar} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

{t('form.step2.subtitle_2')}

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_onlyalfa_special} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t\t v_required(value, t), (value) => v_vat_number_length(value, t)] : [(value) => v_required(value, t)]} normalize={isIta ? n_vat_number : n_vat_number_generic} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t\t v_required(value, t), (value) => v_vat_number_length_2(value, t)]} normalize={n_cf_length} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t\t v_email(value, t)]} normalize={n_emailchar} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t\t v_required(value, t), (value) => v_sdi_length(value, t)]} normalize={n_sdi_code} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t
\n\t\t\t{openHelpChat && }\n\t\t
;\n\t}\n}\n\nconst defaultValues = {\n\tpersonType: defaultPersonType\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tinitialValues: defaultValues,\n\t\tvaluesStep2: getFormValues(FORM_STEP2)(state),\n\t\thasProfile: getHasProfile(state)\n\t};\n};\n\nconst mapDispatchToProps = {};\n\nStep2.propTypes = {\n\tinitialValues: PropTypes.object,\n\tvaluesStep2: PropTypes.object,\n\tchange: PropTypes.func,\n\thandleSubmit: PropTypes.func,\n\n\thasProfile: PropTypes.bool,\n\ti18n: PropTypes.object,\n\tt: PropTypes.func\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(reduxForm({\n\tform: FORM_STEP2, // a unique name for this form\n\tdestroyOnUnmount: false,\n\tonSubmitFail: (errors) => {\n\t\tonSubmitFail(errors);\n\t},\n\tvalidate: (values, props) => {\n\t\tvalues = values.toJS();\n\n\t\tconst errors = {};\n\t\t// controllo mobile\n\t\tif (!values.mobilePhone1) {\n\t\t\terrors.mobilePhone1 = props.t('form.validation.required');\n\t\t\treturn errors;\n\t\t}\n\t\tif (values.mobilePhone1Prefix) {\n\t\t\tconst prefix = values.mobilePhone1Prefix.slice(1);\n\t\t\tif (prefix !== \"\") {\n\t\t\t\tif ((values.mobilePhone1.length - prefix.length) < 6) { // eslint-disable-line\n\t\t\t\t\terrors.mobilePhone1 = props.t('form.validation.required');\n\t\t\t\t\treturn errors;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn errors;\n\t}\n\t// asyncValidate,\n\t// keepDirtyOnReinitialize: true,\n\t// enableReinitialize: true\n\t// validate, // <--- validation function given to redux-form\n\t// warn // <--- warning function given to redux-form\n})(Step2));\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CustomModal = ({ isOpen, hideModal, currentTitle, currentContent, buttons, className }) => (\n isOpen && \n \n
\n
\n);\n\nCustomModal.propTypes = {\n isOpen: PropTypes.bool,\n hideModal: PropTypes.func,\n currentTitle: PropTypes.string,\n currentContent: PropTypes.object,\n buttons: PropTypes.object,\n className: PropTypes.string,\n};\n\nexport default CustomModal;\n","import React, { Component, Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { Field, getFormValues, reduxForm } from 'redux-form/immutable';\nimport PropTypes from 'prop-types';\n\nimport { renderFieldRadio } from '../Form/renderField';\nimport { v_required } from '../Form/checkField';\n\nimport { onSubmitFail } from '../../utils/commonFormsHandlers';\n\nconst NORMALIZE_ADDRESS_FORM = 'normalize_address_form';\n\nclass NormalizeAddressForm extends Component {\n\trender() {\n\t\tconst { handleSubmit, t, addresses, validity } = this.props;\n\n const options = addresses.map((a, i) => {\n return {\n value: i.toString(),\n label:
\n
{a.indirizzo}, {a.civico}
\n
{a.frazione ? a.frazione + ', ': ''}{a.comune}, {a.provincia} {a.cap}
\n
\n };\n });\n\n\t\treturn \n {\n validity === 1 && \n
\n
\n

{t('form.step3.normalize.wrong.address_changed')}

\n
\n
\n
\n
\n {\n addresses.map(a => {\n return
\n
\n \n
\n
;\n })\n }\n
\n
\n
\n
\n

{t('form.step3.normalize.wrong.info')}

\n
\n
\n
\n }\n\t\t\t{\n validity === 3 &&
\n
\n
\n

{t('form.step3.normalize.multiple.address_choose')}

\n
\n
\n \t\t\t\t
\n \t\t\t\t\t
\n \t\t\t\t\t\t v_required(value, t)]}\n />\n \t\t\t\t\t
\n \t\t\t\t
\n
\n
\n

{t('form.step3.normalize.multiple.info')}

\n
\n
\n \t\t\t
\n }\n {\n validity === 2 &&
\n
\n

{t('form.step3.normalize.error.text')}

\n
\n
\n }\n\t\t
;\n\t}\n}\n\nconst defaultValues = {\n\tn_address: '0'\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tinitialValues: defaultValues,\n\t\tformValues: getFormValues(NORMALIZE_ADDRESS_FORM)(state)\n\t};\n};\n\nconst mapDispatchToProps = {};\n\nNormalizeAddressForm.propTypes = {\n\tinitialValues: PropTypes.object,\n\tformValues: PropTypes.object,\n\thandleSubmit: PropTypes.func,\n\n\taddresses: PropTypes.array,\n validity: PropTypes.number,\n\n\tt: PropTypes.func\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(reduxForm({\n\tform: NORMALIZE_ADDRESS_FORM, // a unique name for this form\n\tdestroyOnUnmount: false,\n\tonSubmitFail: (errors) => {\n\t\tonSubmitFail(errors);\n\t},\n})(NormalizeAddressForm));\n","import React, { Component, Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { change, Field, getFormValues, reduxForm } from 'redux-form/immutable';\nimport { withRouter } from 'react-router';\nimport PropTypes from 'prop-types';\n\nimport { renderFieldSelect, renderFieldText } from '../Form/renderField';\nimport { v_required, v_province_length, n_cap_length, n_province, n_general, n_street_number_length, n_plate_length, v_cf_2, n_cf_length } from '../Form/checkField';\nimport FormButton from '../FormButton';\nimport CustomModal from '../../components/CustomModal';\nimport DataValue from '../../components/DataValue';\nimport HelpChat from '../../components/HelpChat';\nimport { Element } from '../../utils/scroll';\nimport NormalizeAddressForm from './NormalizeAddressForm';\n\nimport { postelURL } from '../../utils/fetch/axios';\nimport { updatedFetch } from '../../utils/fetch/actionCreators';\nimport { onSubmitFail, geolocate } from '../../utils/commonFormsHandlers';\nimport {\n\tHELPER_TIMEOUT\n} from '../../utils/commonFormsConfig';\nimport { getCountries } from '../Step2/utils';\nimport { FORM_STEP3, goToNextStep } from '../Form/actionCreator';\n\nimport { getFetchAuth } from '../../components/HeaderLogin/selectors';\nimport { getHasProfile } from '../App/selectors';\n\n\nclass Step3 extends Component {\n\tstate = {\n\t\tisOpen: false,\n\t\topenHelpChat: false,\n\t\tloading: false\n\t};\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ openHelpChat: true });\n\t\t}, HELPER_TIMEOUT);\n\t}\n\n\thandleMobilePhoneSelect = (prefix) => {\n\t\tconst { change } = this.props;\n\t\tchange('mobilePhone1Prefix', prefix);\n\t};\n\n\thandlePhoneSelect = (prefix) => {\n\t\tconst { change } = this.props;\n\t\tchange('phone1Prefix', prefix);\n\t};\n\n\tsetAddress = (address) => {\n\t\tconst { change } = this.props;\n\n\t\tchange('address', address.indirizzo);\n\t\tchange('numeroCivico', address.civico);\n\t\tchange('frazione', address.frazione);\n\t\tchange('citta', address.comune);\n\t\tchange('provincia', address.provincia);\n\t\tchange('cap', address.cap);\n\t}\n\n\tsaveNormalizedAddress = () => {\n\t\tconst { addresses } = this.state;\n\t\tconst { goToNextStep, normalizeAddressFormValues } = this.props;\n\n\t\tconst index = normalizeAddressFormValues?.toJS().n_address;\n\t\tthis.setAddress(addresses[index]);\n\n\t\tgoToNextStep();\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\thandleSubmit,\n\t\t\tchange,\n\t\t\tvaluesStep3,\n\t\t\tgoToNextStep,\n\t\t\thasProfile,\n\t\t\tt\n\t\t} = this.props;\n\n\t\tconst { isOpen, openHelpChat, loading, addresses, validity } = this.state;\n\n\t\tconst values = valuesStep3 ? valuesStep3.toJS() : {};\n\t\tconst isCountryIT = values.nazione ? values.nazione.value === 'IT' : false;\n\n\t\tconst countries = getCountries(t);\n\n\t\treturn
\n\t\t\t
{\n\t\t\t\tif (!hasProfile && isCountryIT) {\n\t\t\t\t\tconst { updatedFetch, fetchAuth } = this.props;\n\t\t\t\t\tconst params = {\n\t\t\t\t\t\tindirizzo: values.address,\n\t\t\t\t\t\tcivico: values.numeroCivico,\n\t\t\t\t\t\tlocalita: values.citta,\n\t\t\t\t\t\tprovincia: values.provincia,\n\t\t\t\t\t\tcap: values.cap\n\t\t\t\t\t};\n\n\t\t\t\t\tif (values.frazione) {\n\t\t\t\t\t\tparams.localitaAggiuntiva = values.frazione;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.setState({ loading: true }, () => {\n\t\t\t\t\t\tupdatedFetch('GET', postelURL + '/address/normalize', params, [], [], [], fetchAuth).then((response) => {\n\t\t\t\t\t\t\tthis.setState({ addresses: response.candidati, validity: response.validity, loading: false }, () => {\n\t\t\t\t\t\t\t\tconst { addresses, validity } = this.state;\n\t\t\t\t\t\t\t\tif (validity === 1 && addresses.length > 0) {\n\t\t\t\t\t\t\t\t\tconst normAddress = addresses[0];\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tvalues.address.toUpperCase() !== normAddress.indirizzo.toUpperCase() ||\n\t\t\t\t\t\t\t\t\t\tvalues.numeroCivico.toUpperCase() !== normAddress.civico.toUpperCase() ||\n\t\t\t\t\t\t\t\t\t\tvalues.citta.toUpperCase() !== normAddress.comune.toUpperCase() ||\n\t\t\t\t\t\t\t\t\t\t(values.frazione && values.frazione.toUpperCase() !== normAddress.frazione.toUpperCase()) ||\n\t\t\t\t\t\t\t\t\t\tvalues.provincia.toUpperCase() !== normAddress.provincia.toUpperCase() ||\n\t\t\t\t\t\t\t\t\t\tvalues.cap.toUpperCase() !== normAddress.cap.toUpperCase()\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tthis.setState({ isOpen: true });\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthis.setAddress(normAddress);\n\t\t\t\t\t\t\t\t\t\tgoToNextStep();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (validity === 2 || validity === 3) {\n\t\t\t\t\t\t\t\t\tthis.setState({ isOpen: true });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(() => this.setState({ loading: false }));\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tgoToNextStep();\n\t\t\t\t}\n\t\t\t})} noValidate autoComplete='off'>\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t geolocate(change, false, t)} autocomplete={false} required={true} validate={[(value) => v_required(value, t)]} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_street_number_length} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_general} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t v_required(value, t), (value) => v_province_length(value, t)] : []} normalize={isCountryIT ? n_province : (value) => value} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t v_required(value, t)]} normalize={n_cap_length} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t v_required(value, t)]} />\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\tisCountryIT ?
\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\thasProfile ? \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t :\n\t\t\t\t\t\t\t\t\t v_required(value, t), (value) => v_cf_2(value, t)]} normalize={n_cf_length} />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
: ''\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t v_required(value, t)]} normalize={n_plate_length} />\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t{openHelpChat && }\n\t\t\t}\n\t\t\t\tbuttons={\n\t\t\t\t\t{validity === 1 && }\n\t\t\t\t\t{validity === 3 && }\n\t\t\t\t}\n\t\t\t\thideModal={() => this.setState({ isOpen: false })}\n\t\t\t/>\n\t\t
;\n\t}\n}\n\nconst defaultValues = {\n\tmobilePhone1Prefix: '+39',\n\tphone1Prefix: '+39'\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tinitialValues: defaultValues,\n\t\tvaluesStep3: getFormValues(FORM_STEP3)(state),\n\t\tnormalizeAddressFormValues: getFormValues('normalize_address_form')(state),\n\t\thasProfile: getHasProfile(state),\n\t\tfetchAuth: getFetchAuth(state)\n\t};\n};\n\nconst mapDispatchToProps = {\n\tchange,\n\tgoToNextStep,\n\tupdatedFetch\n};\n\nStep3.propTypes = {\n\tinitialValues: PropTypes.object,\n\tvaluesStep3: PropTypes.object,\n\tnormalizeAddressFormValues: PropTypes.object,\n\tchange: PropTypes.func,\n\thandleSubmit: PropTypes.func,\n\n\tgoToNextStep: PropTypes.func,\n\thasProfile: PropTypes.bool,\n\n\tupdatedFetch: PropTypes.func,\n\tfetchAuth: PropTypes.object,\n\n\ti18n: PropTypes.object,\n\tt: PropTypes.func\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(reduxForm({\n\tform: FORM_STEP3, // a unique name for this form\n\tdestroyOnUnmount: false,\n\tonSubmitFail: (errors) => {\n\t\tonSubmitFail(errors);\n\t},\n\t// keepDirtyOnReinitialize: true,\n\t// enableReinitialize: true\n\t// validate, // <--- validation function given to redux-form\n\t// warn // <--- warning function given to redux-form\n})(Step3)));\n","import React, { Component, Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { change, Field, getFormValues, reduxForm } from 'redux-form/immutable';\nimport PropTypes from 'prop-types';\nimport { Map } from 'immutable';\n\nimport FormButton from '../FormButton';\nimport CustomModal from '../../components/CustomModal';\nimport HelpChat from '../../components/HelpChat';\n\nimport { renderFieldCheckbox, renderFieldRadio } from '../Form/renderField';\nimport { FORM_STEP1, FORM_STEP2, FORM_STEP3, FORM_STEP4 } from '../Form/actionCreator';\nimport {\n\tv_required,\n} from '../Form/checkField';\n\nimport { HELPER_TIMEOUT, getPrivacyInfo, tcModalContent, privacyModalContent } from '../../utils/commonFormsConfig';\nimport { onSubmitFail } from '../../utils/commonFormsHandlers';\nimport { fakePaymentCountries } from '../Step2/utils';\n\n/* eslint-disable */\nconst validate = values => {\n\tvalues = values.toJS();\n\tconst errors = {};\n\n\tif (values.bankCountryCode && values.bankCountryCode.value === 'Italy') {\n\t\tif (values.codiceIBAN && values.codiceIBAN.length > 1) {\n\t\t\tif (values.codiceIBAN.substring(0, 2).toLowerCase() !== 'it') {\n\t\t\t\terrors.codiceIBAN = 'Codice IBAN non valido';\n\t\t\t}\n\t\t}\n\t} else {\n\t\terrors.codiceIBAN = '';\n\t}\n\n\treturn errors;\n};\n/* eslint-enable */\n\nclass Step4 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisModalTcOpen: false,\n\t\t\tisModalOpen: false,\n\t\t\topenHelpChat: false,\n\t\t\tcountries: [],\n\t\t\tcurrentCountry: null\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tsetTimeout(() => {\n\t\t\tthis.setState({ openHelpChat: true });\n\t\t}, HELPER_TIMEOUT);\n\n\t\tthis.setState({ countries: fakePaymentCountries });\n\t}\n\n\thandleTcModal = () => {\n\t\tthis.setState((prevState) => {\n\t\t\treturn { isModalTcOpen: !prevState.isModalTcOpen };\n\t\t});\n\t};\n\n\thandlePrivacyModal = () => {\n\t\tthis.setState((prevState) => {\n\t\t\treturn { isModalOpen: !prevState.isModalOpen };\n\t\t});\n\t};\n\n\tsetAddressInfo = (addressInfo) => {\n\t\tconst country = addressInfo.filter(i => i.types.indexOf('country') !== -1);\n\t\tif (country.length) {\n\t\t\tthis.setState({ currentCountry: country[0].short_name });\n\t\t}\n\t};\n\n\t/* eslint-disable */\n\trender() {\n\t\tconst { isModalTcOpen, isModalOpen, openHelpChat, countries, currentCountry } = this.state;\n\t\tconst { valuesStep1, valuesStep4, handleSubmit, change, t } = this.props;\n\n\t\tconst values = valuesStep4 ? valuesStep4.toJS() : {};\n\t\tconst step1 = valuesStep1 ? valuesStep1.toJS() : {};\n\n\t\tconst isCountryIT = currentCountry === 'IT' || !currentCountry;\n\n\t\tconst privacy = getPrivacyInfo(t);\n\n\t\tconst consent_options = [\n\t\t\t{ value: 'yes', label: t('form.step4.agree') },\n\t\t\t{ value: 'no', label: t('form.step4.notAgree') }\n\t\t];\n\n\n\t\treturn
\n\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

{t('form.step4.paymentType_2')}

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{t('form.step4.paymentType_2_text_1')}\n\t\t\t\t\t\t

\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{t('form.step4.paymentType_2_text_2')}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

{t('form.step4.subtitle_3')}

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t v_required(value, t)]} />\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t{t('form.step4.terms_and_conditions_text')} {t('form.step4.terms_and_conditions_link')}\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t}\n\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

{t('form.step4.subtitle_2')}

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t{t('form.step4.privacy_text_1')} Privacy Policy {t('form.step4.privacy_text_2')}\n\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t{privacy['authComunicazioniPromo']}\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t v_required(value, t)]} />\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t{privacy['authProfilazioneUtente']}\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t v_required(value, t)]} />\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t\t\t{privacy['authComunicazioneDati']}\n\t\t\t\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t v_required(value, t)]} />\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t{openHelpChat && }\n\t\t
;\n\t}\n}\n\nconst defaultValues = {\n\tpaymentType: '2',\n\tcopyDebData: true,\n\tpersonType: '1',\n\tbankCountryCode: {\n\t\tvalue: 'Italy',\n\t\tlabel: 'Italy'\n\t}\n};\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tinitialValues: defaultValues,\n\t\tvaluesStep1: getFormValues(FORM_STEP1)(state),\n\t\tvaluesStep2: getFormValues(FORM_STEP2)(state),\n\t\tvaluesStep3: getFormValues(FORM_STEP3)(state),\n\t\tvaluesStep4: getFormValues(FORM_STEP4)(state) || new Map()\n\t};\n};\n\nconst mapDispatchToProps = {\n\tchange\n};\n\nStep4.propTypes = {\n\thandleSubmit: PropTypes.func,\n\tchange: PropTypes.func,\n\tinitialValues: PropTypes.object,\n\tvaluesStep1: PropTypes.object,\n\tvaluesStep2: PropTypes.object,\n\tvaluesStep3: PropTypes.object,\n\tvaluesStep4: PropTypes.object,\n\n\tt: PropTypes.func\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(reduxForm({\n\tform: FORM_STEP4, // a unique name for this form\n\tdestroyOnUnmount: false,\n\tonSubmitFail: (errors) => {\n\t\tonSubmitFail(errors);\n\t},\n\tvalidate\n\t// keepDirtyOnReinitialize: true,\n\t// enableReinitialize: true\n\t// validate, // <--- validation function given to redux-form\n\t// warn // <--- warning function given to redux-form\n})(Step4));\n","import { fromJS } from 'immutable';\n\nexport const getLocalStorage = (item) => {\n try {\n const serializedState = localStorage.getItem(item);\n if(serializedState === null) {\n return undefined;\n }\n return fromJS(JSON.parse(serializedState));\n } catch (err) {\n return undefined;\n }\n};\n\nexport const setLocalStorage = (item, state) => {\n try {\n const serializedState = JSON.stringify(state);\n localStorage.setItem(item, serializedState);\n } catch (err) {\n //ignore write errors\n }\n};\n\nexport const deleteFromLocalStorage = (item) => {\n try {\n localStorage.removeItem(item);\n } catch (err) {\n\n }\n};\n\nexport const clearLocalStorage = () => {\n try {\n localStorage.clear();\n } catch (err) {\n // ignore\n }\n};\n\nexport const loadState = (timeToExpire) => {\n try {\n const serializedState = localStorage.getItem('state');\n const updateTime = new Date(localStorage.getItem('updateTime')).getTime();\n\n const currentTime = new Date().getTime();\n\n if(timeToExpire && (serializedState === null || updateTime+timeToExpire < currentTime)){\n return undefined;\n }\n if(!timeToExpire && serializedState === null){\n return undefined;\n }\n return fromJS(JSON.parse(serializedState));\n } catch(err) {\n return undefined;\n }\n};\n\nexport const saveState = (state) => {\n try {\n const serializedState = JSON.stringify(state);\n localStorage.setItem('state', serializedState);\n localStorage.setItem('updateTime', new Date());\n } catch (err) {\n // ignore\n }\n};\n","export const SET_ALERT_OPTIONS = 'SET_ALERT_OPTIONS@alert';\n","import { createAction } from '../../utils/redux-helper';\nimport { deleteFromLocalStorage } from '../../utils/localStorage';\nimport * as ActionDefinitions from './actionDefinitions';\n\nexport const setAlertOptions = (config, clearData = false) => {\n if(clearData) {\n deleteFromLocalStorage('token');\n deleteFromLocalStorage('timestamp');\n }\n return createAction(ActionDefinitions.SET_ALERT_OPTIONS, config);\n};\n\nconst timeout = 5000;\nexport const manageResponseAlerts = (isSuccessful = false, specificMessage = false, t) => dispatch => {\n const message = !specificMessage ? t('alert.error') : specificMessage;\n dispatch(\n setAlertOptions({ mode: 'result', data: { description: message, ok: isSuccessful } })\n );\n setTimeout(() => {\n dispatch(setAlertOptions({}));\n }, timeout\n );\n};\n","import React, { Component, Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport { getFormValues } from 'redux-form/immutable';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport format from \"date-fns/format\";\n\nimport FormButton from '../FormButton';\nimport DataValue from '../../components/DataValue';\n\nimport { goToStep, FORM_STEP1, FORM_STEP2, FORM_STEP3, FORM_STEP4 } from '../Form/actionCreator';\nimport { updatedFetch } from '../../utils/fetch/actionCreators';\nimport { fetchStarted, fetchCompleted } from '../App/actionCreator';\nimport { manageResponseAlerts } from '../Alert/actionCreator';\n\nimport { getFetchAuth } from '../../components/HeaderLogin/selectors';\nimport { getIsFetching, getHasProfile, getEmail } from '../App/selectors';\nimport { getConvention, getProducts } from '../Form/selectors';\n\nimport { getPrivacyInfo, payment_type_options, personTypeOptions, isPhysicalPerson, contractTypes } from '../../utils/commonFormsConfig';\nimport { baseURL } from '../../utils/fetch/axios';\nimport { getContractTypes } from '../Step1/index';\nimport formatISO from 'date-fns/formatISO';\n\n\nclass Step5 extends Component {\n\tformatStepsData = () => {\n\t\tconst { valuesStep1, valuesStep2, valuesStep3, valuesStep4, hasProfile, email } = this.props;\n\n\t\tconst step1 = valuesStep1 ? valuesStep1.toJS() : {};\n\t\tconst step2 = valuesStep2 ? valuesStep2.toJS() : {};\n\t\tconst step3 = valuesStep3 ? valuesStep3.toJS() : {};\n\t\tconst step4 = valuesStep4 ? valuesStep4.toJS() : {};\n\n\t\tstep2.dataDiNascita = formatISO(new Date(step2.dataDiNascita));\n\t\tstep2.persona = isPhysicalPerson(step2.personType);\n\t\tstep3.country = step3.nazione.value;\n\t\tdelete step2.personType;\n\n\t\tstep3.indirizzo = step3.address;\n\t\tstep3.nazione = step3.nazione.value;\n\n\t\tif (step2.phone1Prefix) {\n\t\t\tstep2.phone1 = step2.phone1?.slice(step2.phone1Prefix.length - 1);\n\t\t}\n\t\tif (step2.mobilePhone1Prefix) {\n\t\t\tstep2.mobilePhone1 = step2.mobilePhone1?.slice(step2.mobilePhone1Prefix.length - 1);\n\t\t}\n\n\t\tdelete step3.address;\n\n\t\tstep4.bankCountryCode = step4.bankCountryCode.value;\n\t\tstep4.authComunicazioniPromo = step4.authComunicazioniPromo === 'yes' ? true : false;\n\t\tstep4.authProfilazioneUtente = step4.authProfilazioneUtente === 'yes' ? true : false;\n\t\tstep4.authComunicazioneDati = step4.authComunicazioneDati === 'yes' ? true : false;\n\n\t\tif (step1.tipoContratto === contractTypes.flat) {\n\t\t\tif (step4.paymentType === '1') {\n\t\t\t\tstep4.personaDeb = isPhysicalPerson(step4.personType);\n\t\t\t\tif (step4.personaDeb) {\n\t\t\t\t\tstep4.firstNameDeb = step4.firstName;\n\t\t\t\t\tstep4.lastNameDeb = step4.lastName;\n\t\t\t\t} else {\n\t\t\t\t\tstep4.ragioneSocialeDeb = step4.ragioneSociale;\n\t\t\t\t}\n\t\t\t\tstep4.indirizzoDeb = step4.address;\n\t\t\t\tstep4.civicoDeb = step4.numeroCivico;\n\t\t\t\tstep4.capDeb = step4.cap;\n\t\t\t\tstep4.cittaDeb = step4.citta;\n\t\t\t\tstep4.provinciaDeb = step4.provincia;\n\t\t\t\tstep4.nazioneDeb = step4?.nazione?.value || \"\";\n\t\t\t\tdelete step4.personType;\n\t\t\t\tdelete step4.firstName;\n\t\t\t\tdelete step4.lastName;\n\t\t\t\tdelete step4.ragioneSociale;\n\t\t\t\tdelete step4.numeroCivico;\n\t\t\t\tdelete step4.citta;\n\t\t\t\tdelete step4.provincia;\n\t\t\t\tdelete step4.cap;\n\t\t\t\tdelete step4.address;\n\t\t\t\tdelete step4.nazione;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\torigin: 'WEB',\n\t\t\t...step1,\n\t\t\t...step2,\n\t\t\t...step3,\n\t\t\t...step4,\n\t\t\tcopySotData: true,\n\t\t\thasProfile,\n\t\t\temail\n\t\t};\n\t};\n\n\tactivateService = () => {\n\t\tconst { updatedFetch, fetchAuth, valuesStep1, manageResponseAlerts, history, t } = this.props;\n\n\t\tconst step1 = valuesStep1 ? valuesStep1.toJS() : {};\n\t\tthis.setState({ saving: true });\n\t\tupdatedFetch('POST', baseURL + '/UserData/contract', this.formatStepsData(), [fetchStarted], [fetchCompleted], [fetchCompleted], fetchAuth).then(() => {\n\t\t\thistory.push('/contract-confirm?type=' + step1.tipoContratto, { type: step1.tipoContratto });\n\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tmanageResponseAlerts(false, false, t);\n\t\t\t});\n\t};\n\n\trenderPrivacyAuthorizations = (values) => {\n\t\tconst { t } = this.props;\n\n\t\tconst info = getPrivacyInfo(t);\n\n\t\treturn
\n\t\t\t
\n\t\t\t\t
{info.authComunicazioniPromo}
\n\t\t\t\t{values.authComunicazioniPromo === \"yes\" ? t('form.step5.agree') : t('form.step5.notAgree')}\n\t\t\t
\n\t\t\t
\n\t\t\t\t
{info.authProfilazioneUtente}
\n\t\t\t\t{values.authProfilazioneUtente === \"yes\" ? t('form.step5.agree') : t('form.step5.notAgree')}\n\t\t\t
\n\t\t\t
\n\t\t\t\t
{info.authComunicazioneDati}
\n\t\t\t\t{values.authComunicazioneDati === \"yes\" ? t('form.step5.agree') : t('form.step5.notAgree')}\n\t\t\t
\n\t\t
;\n\t};\n\n\tgetStep1Data = () => {\n\t\tconst { convention, products, valuesStep1, goToStep, t } = this.props;\n\n\t\tconst step1 = valuesStep1 ? valuesStep1.toJS() : {};\n\t\tconst currentOffer = getContractTypes(t).filter(o => {\n\t\t\treturn o.value === step1.tipoContratto;\n\t\t})[0]?.label || '';\n\t\tconst currentProduct = products.filter(p => {\n\t\t\treturn p.product_code === step1.productCode;\n\t\t})[0]?.product_name || '';\n\n\t\treturn \n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t('form.step5.title_1')}

\n\t\t\t\t\t goToStep(1)}>{t('form.step5.link')}\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t{convention.validity &&
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
}\n\t\t\t
\n\t\t
;\n\t};\n\n\tgetStep2Data = () => {\n\t\tconst { valuesStep2, goToStep, hasProfile, t } = this.props;\n\n\t\tconst values = valuesStep2 ? valuesStep2.toJS() : {};\n\t\tconst personType = personTypeOptions.filter(t => t.value === values.personType)[0].label;\n\t\tconst dateOfBirth = format(new Date(values.dataDiNascita), \"dd/MM/yyyy\");\n\n\t\treturn \n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t('form.step5.title_2')}

\n\t\t\t\t\t{!hasProfile ? goToStep(2)}>{t('form.step5.link')} : ''}\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tvalues.phone1 ?
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
: ''\n\t\t\t\t}\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t{\n\t\t\t\tvalues.personType === '2' && \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{t('form.step5.subtitle_1')}

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{t('form.step5.subtitle_2')}

\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalues.pec ?
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalues.codiceSDI ?
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t}\n\t\t
;\n\t};\n\n\tgetStep3Data = () => {\n\t\tconst { valuesStep3, goToStep, t } = this.props;\n\n\t\tconst values = valuesStep3 ? valuesStep3.toJS() : {};\n\t\tconst nation = values.nazione ? values.nazione.label : '';\n\t\tconst fullAddress = `${values.address} ${values.numeroCivico}, ${values.frazione ? `${values.frazione}, ` : ''}${values.citta}, ${values.provincia} ${values.cap}`;\n\t\tconst isIta = values.nazione ? values.nazione.value === 'IT' : false;\n\n\t\treturn \n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t('form.step5.title_3')}

\n\t\t\t\t\t goToStep(3)}>{t('form.step5.link')}\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\tisIta &&
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\tvalues.modelloVeicolo ?
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
: ''\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t
\n\t\t
;\n\t};\n\n\tgetStep4Data = () => {\n\t\tconst { valuesStep1, valuesStep4, goToStep, t } = this.props;\n\n\t\tconst prevStep1Values = valuesStep1 ? valuesStep1.toJS() : {};\n\t\tconst values = valuesStep4 ? valuesStep4.toJS() : {};\n\t\tconst paymentType = prevStep1Values.tipoContratto === contractTypes.flat ? payment_type_options.filter(p => {\n\t\t\treturn (p.value === values.paymentType);\n\t\t})[0].label : 'Carta di credito';\n\n\t\treturn \n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t('form.step5.title_4')}

\n\t\t\t\t\t goToStep(4)}>{t('form.step5.link')}\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t('form.step5.subtitle_3')}

\n\t\t\t\t
\n\t\t\t
\n\t\t\t{this.renderPrivacyAuthorizations(values)}\n\t\t
;\n\t};\n\n\tgetSummary = () => {\n\t\tconst { isFetching, t } = this.props;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{this.getStep1Data()}\n\t\t\t\t{this.getStep2Data()}\n\t\t\t\t{this.getStep3Data()}\n\t\t\t\t{this.getStep4Data()}\n\t\t\t
\n\t\t);\n\t};\n\n\trender() {\n\t\treturn
\n\t\t\t{this.getSummary()}\n\t\t\t\n\t\t
;\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tvaluesStep1: getFormValues(FORM_STEP1)(state),\n\t\tvaluesStep2: getFormValues(FORM_STEP2)(state),\n\t\tvaluesStep3: getFormValues(FORM_STEP3)(state),\n\t\tvaluesStep4: getFormValues(FORM_STEP4)(state),\n\t\tconvention: getConvention(state).toJS(),\n\t\tproducts: getProducts(state).toJS(),\n\t\tfetchAuth: getFetchAuth(state),\n\t\tisFetching: getIsFetching(state),\n\t\thasProfile: getHasProfile(state),\n\t\temail: getEmail(state)\n\t};\n};\n\nconst mapDispatchToProps = {\n\tgoToStep,\n\tupdatedFetch,\n\tmanageResponseAlerts\n};\n\nStep5.propTypes = {\n\tvaluesStep1: PropTypes.object,\n\tvaluesStep2: PropTypes.object,\n\tvaluesStep3: PropTypes.object,\n\tvaluesStep4: PropTypes.object,\n\n\tgoToStep: PropTypes.func,\n\tupdatedFetch: PropTypes.func,\n\tmanageResponseAlerts: PropTypes.func,\n\n\tconvention: PropTypes.object,\n\tproducts: PropTypes.array,\n\tfetchAuth: PropTypes.object,\n\tisFetching: PropTypes.bool,\n\thasProfile: PropTypes.bool,\n\temail: PropTypes.string,\n\n\thistory: PropTypes.object,\n\tt: PropTypes.func\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Step5));\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport { goToNextStep } from './actionCreator';\nimport { scrollToForm, Element } from '../../utils/scroll';\n\nimport { getStep } from './selectors';\n\nimport { Steps } from '../../components/Steps';\nimport Step1 from '../Step1';\nimport Step2 from '../Step2';\nimport Step3 from '../Step3';\nimport Step4 from '../Step4';\nimport Step5 from '../Step5';\n\nclass Form extends Component {\n\thandleSubmit = () => {\n\t\tconst { goToNextStep } = this.props;\n\t\tgoToNextStep();\n\t\tscrollToForm();\n\t};\n\n\trender() {\n\t\tconst { step, t, i18n, cardType } = this.props;\n\n\t\tlet currentStep;\n\t\tswitch(step) {\n\t\t\tdefault:\n\t\t\tcase 1:\n\t\t\t\tcurrentStep = ;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tcurrentStep = ;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tcurrentStep = ;\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tcurrentStep = ;\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tcurrentStep = ;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn
\n\t\t\t\n\t\t\t\n\t\t\t{currentStep}\n\t\t
;\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tstep: getStep(state)\n\t};\n};\n\nconst mapDispatchToProps = {\n\tgoToNextStep\n};\n\nForm.propTypes = {\n\tstep: PropTypes.number,\n\tgoToNextStep: PropTypes.func,\n\tcardType: PropTypes.number,\n\ti18n: PropTypes.object,\n\tt: PropTypes.func\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Form);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport { Map } from 'immutable';\n\nimport { setAlertOptions } from './actionCreator';\n\nimport { getIsFetching } from '../App/selectors';\n\nclass Alert extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.getContent = this.getContent.bind(this);\n\t\tthis.getLoading = this.getLoading.bind(this);\n\t\tthis.confirmAction = this.confirmAction.bind(this);\n\t}\n\n\tgetLoading = () => {\n\t\tconst { t } = this.props;\n\t\treturn (\n\t\t\t
\n\t\t\t\t

{t('alert.loading')}

\n\t\t\t
\n\t\t);\n\t};\n\n\tgetContent = () => {\n\t\tconst { alertConfig } = this.props;\n\t\tconst alertClass = alertConfig.mode === \"result\" ? alertConfig.data && alertConfig.data.ok ? \" alert-success\" : \" alert-danger\" : \" alert-normal\";\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{alertConfig.mode === \"option\" ?\n\t\t\t\t\t
\n\t\t\t\t\t\t

{alertConfig.data.title}

\n\t\t\t\t\t\t\n\t\t\t\t\t
: \"\"\n\t\t\t\t}\n\t\t\t\t

{alertConfig.data.description}

\n\t\t\t\t{alertConfig.mode === \"option\" ?\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{/* */}\n\t\t\t\t\t
: \"\"\n\t\t\t\t}\n\t\t\t
\n\t\t);\n\t};\n\n\tconfirmAction = () => {\n\t\tconst { alertConfig } = this.props;\n\n\t\talertConfig.data.confirmAction();\n\t\tthis.props.setAlertOptions({});\n\t};\n\n\trender() {\n\t\tconst { isFetching, alertConfig } = this.props;\n\n\t\treturn !isFetching ?\n\t\t\talertConfig.mode ?\n\t\t\t\tthis.getContent() : \"\" : this.getLoading()\n\t\t;\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tisFetching: getIsFetching(state),\n\t\talertConfig: state.getIn(['alert', 'alertConfig'], new Map())\n\t};\n};\n\nconst mapDispatchToProps = {\n\tsetAlertOptions\n};\n\nAlert.propTypes = {\n\tisFetching: PropTypes.bool.isRequired,\n\talertConfig: PropTypes.object.isRequired,\n\tsetAlertOptions: PropTypes.func.isRequired,\n\tt: PropTypes.func\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Alert);\n","import React, { Component, Fragment } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport Fingerprint2 from 'fingerprintjs2';\n\nimport InfoMessage from '../../components/InfoMessage';\n\nimport Form from '../Form';\nimport Alert from '../Alert';\n\nimport { setContactInfo, setMessage, setFingerprint } from './actionCreator';\nimport { initializeSpecificForm, FORM_STEP2, FORM_STEP3 } from '../Form/actionCreator';\nimport { updatedFetch } from '../../utils/fetch/actionCreators';\nimport { defaultPersonType } from '../../utils/commonFormsConfig';\n\nimport { getMessage } from './selectors';\nimport { getFetchAuth } from '../../components/HeaderLogin/selectors';\n\nimport { getCountries } from '../Step2/utils';\nimport { baseURL } from '../../utils/fetch/axios';\n\nclass App extends Component {\n\tstate = {\n\t\tcardType: 0,\n\t\tfetching: true\n\t};\n\n\tcomponentDidMount() {\n const { setFingerprint, fetchAuth, initializeSpecificForm, updatedFetch, setMessage } = this.props;\n\n\t\tFingerprint2.get((components) => {\n\t\t\tconst values = components.map(component => component.value);\n\t\t\tconst fingerprint = Fingerprint2.x64hash128(values.join(''), 31); // eslint-disable-line\n\t\t\tsetFingerprint(fingerprint);\n });\n\n\t\tconst url = baseURL + '/UserData/userdashboard';\n\t\tupdatedFetch('GET', url, {}, [], [(response) => setContactInfo(response.hasProfile, response.contactEmail)], [], fetchAuth).then((user) => {\n\t\t\tif(user.hasContract) {\n\t\t\t\tif(!user.hasConfirmedOTP) {\n\t\t\t\t\tif(user.quoteType === 'Flat' || user.quoteType === 'Ricaricabile') {\n\t\t\t\t\t\tsetMessage('confirm');\n\t\t\t\t\t}\n\t\t\t\t\tif(user.quoteType === 'Consumo' && user.dashboard.length === 0) {\n\t\t\t\t\t\tsetMessage('loading');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// controllo la tipologia di contratto\n\t\t\t\t\tif(user.dashboard.length > 0) {\n\t\t\t\t\t\tthis.setState({ cardType: user.dashboard[0].idTipoTessera }, () => {\n\t\t\t\t\t\t\tif(user.dashboard[0].idTipoTessera === 3 && user.quoteType !== 'Consumo') {\n\t\t\t\t\t\t\t\t// ho una tessera a consumo e sto iniziando un nuovo contratto\n\t\t\t\t\t\t\t\tsetMessage('confirm');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(user.dashboard[0].idTipoTessera !== 3) {\n\t\t\t\t\t\t\t\t// ho una tessera a flat/ricaricabile\n\t\t\t\t\t\t\t\tsetMessage('active');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetMessage('active');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(user.hasProfile) {\n\t\t\t\tconst stepData = this.getStepData(user);\n\t\t\t\tinitializeSpecificForm(FORM_STEP2, stepData.step2);\n\t\t\t\tinitializeSpecificForm(FORM_STEP3, stepData.step3);\n\t\t\t} else {\n\t\t\t\tinitializeSpecificForm(FORM_STEP2, { personType: defaultPersonType, firstName: user.firstName, lastName: user.lastName });\n\t\t\t}\n\n\t\t\tthis.setState({ fetching: false });\n\t\t});\n\t}\n\n\tgetStepData = (user) => {\n\t\tconst { t } = this.props;\n\n\t\tlet phone1 = \"\";\n\t\tif(user.phone1 !== \"\") {\n\t\t\tphone1 = user.phone1Prefix.slice(1) + user.phone1;\n\t\t}\n\t\tlet mobilePhone1 = \"\";\n\t\tif(user.mobilePhone1 !== \"\") {\n\t\t\tmobilePhone1 = user.mobilePhone1Prefix.slice(1) + user.mobilePhone1;\n\t\t}\n\t\t// const countryLabel = getCountries(t).filter(c => c.value === user.country)[0].label;\n\t\tconst nazioneLabel = getCountries(t).filter(c => c.value === user.nazione)[0].label;\n\n\t\treturn {\n\t\t\tstep2: {\n\t\t\t\tpersonType: user.tipoPersona.toString(),\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t\t// country: {\n\t\t\t\t// \tvalue: user.country,\n\t\t\t\t// \tlabel: countryLabel\n\t\t\t\t// },\n\t\t\t\tphone1: phone1,\n\t\t\t\tphone1Prefix: user.phone1Prefix,\n\t\t\t\tmobilePhone1: mobilePhone1,\n\t\t\t\tmobilePhone1Prefix: user.mobilePhone1Prefix,\n\t\t\t\tdataDiNascita: new Date(user.dataDiNascita),\n\t\t\t\tragioneSociale: user.ragioneSociale,\n\t\t\t\trappresentanteLegaleNome: user.rappresentanteLegaleNome,\n\t\t\t\trappresentanteLegaleCognome: user.rappresentanteLegaleCognome,\n\t\t\t\tpartitaIva: user.partitaIva,\n\t\t\t\tcodiceFiscaleAzienda: user.codiceFiscaleAzienda,\n\t\t\t\tpec: user.pec,\n\t\t\t\tcodiceSDI: user.codiceSDI\n\t\t\t},\n\t\t\tstep3: {\n\t\t\t\taddress: user.indirizzo,\n\t\t\t\tnumeroCivico: user.numeroCivico,\n\t\t\t\tfrazione: user.frazione,\n\t\t\t\tcitta: user.citta,\n\t\t\t\tprovincia: user.provincia,\n\t\t\t\tcap: user.cap,\n\t\t\t\tnazione: {\n\t\t\t\t\tvalue: user.nazione,\n\t\t\t\t\tlabel: nazioneLabel\n\t\t\t\t},\n\t\t\t\tcodiceFiscale: user.codiceFiscale,\n\t\t\t\ttargaVeicolo: user.targaVeicolo,\n\t\t\t\tmodelloVeicolo: user.modelloVeicolo\n\t\t\t}\n\t\t};\n\t};\n\n\trender() {\n const { t, i18n, message } = this.props;\n\t\tconst { cardType, fetching } = this.state;\n\n\t\treturn \n\t\t\t{\n\t\t\t\t!fetching &&
\n\t\t\t\t\t{\n\t\t\t\t\t\tmessage.show ?
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
: \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t}\n\t\t\t\n\t\t
;\n\t}\n}\n\nconst mapStateToProps = (state) => {\n\treturn {\n\t\tfetchAuth: getFetchAuth(state),\n\t\tmessage: getMessage(state).toJS()\n\t};\n};\n\nconst mapDispatchToProps = {\n\tupdatedFetch,\n\tinitializeSpecificForm,\n\tsetFingerprint,\n\tsetMessage\n};\n\nApp.propTypes = {\n\tfetchAuth: PropTypes.object,\n\tupdatedFetch: PropTypes.func,\n\tinitializeSpecificForm: PropTypes.func,\n\tsetFingerprint: PropTypes.func,\n\tsetMessage: PropTypes.func,\n\tmessage: PropTypes.object,\n\ti18n: PropTypes.object,\n\tt: PropTypes.func\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(App);\n","import { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from 'react-router';\nimport PropTypes from 'prop-types';\n\n// import { downloadProductDocument } from '../Form/actionCreator';\n\nclass Download extends Component {\n\n componentDidMount() {\n // const { match, history } = this.props;\n //\n // const search = history.location.search;\n // const searchParams = search.split('=');\n // const docName = searchParams.length > 1 ? searchParams[1] : 'Document';\n // this.props.downloadProductDocument(match.params.iddocument, docName);\n }\n render() {\n return null;\n }\n}\n\nconst mapDispatchToProps = {\n // downloadProductDocument\n};\n\nDownload.propTypes = {\n // downloadProductDocument: PropTypes.func,\n match: PropTypes.object,\n history: PropTypes.object\n};\n\n\nexport default withRouter(connect(null, mapDispatchToProps)(Download));\n","import React, { Component } from 'react';\n// import PropTypes from 'prop-types';\n\nimport { privacyModalContent } from '../../utils/commonFormsConfig';\n\nclass PrivacyPolicy extends Component {\n\t\n\trender() {\n\t\t\n\t\treturn
\n
\n
\n

{privacyModalContent.title}

\n
\n
\n
\n
\n {privacyModalContent.disclaimer}\n
\n
\n
\n
\n {privacyModalContent.content}\n
\n
\n\t\t
;\n\t}\n}\n\nPrivacyPolicy.propTypes = {\n};\n\nexport default PrivacyPolicy;\n","import React, { Component } from 'react';\n// import PropTypes from 'prop-types';\n\nimport { tcModalContent } from '../../utils/commonFormsConfig';\n\nclass TermsAndConditions extends Component {\n\t\n\trender() {\n\t\t\n\t\treturn
\n
\n
\n

{tcModalContent.title}

\n
\n
\n
\n
\n {tcModalContent.content}\n
\n
\n\t\t
;\n\t}\n}\n\nTermsAndConditions.propTypes = {\n};\n\nexport default TermsAndConditions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport InfoMessage from '../InfoMessage';\n\nconst NotFound = ({ t }) => {\n return (\n
\n
\n \n
\n
\n );\n};\n\nNotFound.propTypes = {\n t: PropTypes.func\n};\n\nexport default NotFound;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select';\n\nconst lngs = [\n { value: 'it', label: 'ITA', icon: 'it.svg' },\n { value: 'en', label: 'ENG', icon: 'it.svg' },\n // { value: 'fr', label: 'FRA', icon: 'it.svg' }\n];\n\n/* eslint-disable */\nclass IconOption extends Component {\n handleMouseDown = (event) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.props.onSelect(this.props.option, event);\n\t};\n\n\thandleMouseEnter = (event) => {\n\t\tthis.props.onFocus(this.props.option, event);\n\t};\n\n\thandleMouseMove = (event) => {\n\t\tif (this.props.isFocused) return;\n\t\tthis.props.onFocus(this.props.option, event);\n\t};\n\n render() {\n return (\n \n
\n
\n );\n }\n}\n/* eslint-icon */\n\nclass IconValue extends Component {\n render() {\n return (\n
\n \n
\n \n
\n );\n }\n}\n\nconst Language = ({ i18n }) => {\n return (\n
\n {\n {\n const lang = value.value || 'it';\n let culture = \"c=it-IT|uic=it-IT\";\n switch(lang) {\n default:\n case \"it\":\n culture = \"c=it-IT|uic=it-IT\";\n break;\n case \"en\":\n culture = \"c=en-US|uic=en-US\";\n break;\n case \"fr\":\n culture = \"c=fr-FR|uic=fr-FR\";\n break;\n }\n document.cookie = \".AspNetCore.Culture=\" + encodeURIComponent(culture) + \"; path=/; domain=.dufercoenergia.com; max-age=60*60*24; SameSite=lax\";\n i18n.changeLanguage(lang);\n }}\n clearable={false}\n searchable={false}\n placeholder=''\n />\n }\n
\n );\n};\n\nLanguage.propTypes = {\n i18n: PropTypes.object\n};\n\nexport default Language;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport { authOnIdentity } from '../../containers/Login/utils';\n\nimport { getIsLogged, getIdToken } from './selectors';\nimport userManager from '../../utils/userManager';\n\nconst HeaderLogin = ({ t }) => {\n const isLogged = useSelector(getIsLogged);\n const idToken = useSelector(getIdToken);\n const dispatch = useDispatch();\n const history = useHistory();\n const [waitingOAuth, setWaitingAuth] = useState(0);\n\n const login = () => {\n setWaitingAuth(true);\n authOnIdentity(dispatch, history);\n };\n\n const logout = () => {\n setWaitingAuth(true);\n userManager.signoutRedirect({ id_token_hint: idToken });\n };\n\n return
\n {\n !isLogged ? : \n }\n
;\n};\n\nHeaderLogin.propTypes = {\n t: PropTypes.func\n};\n\nexport default HeaderLogin;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Language from '../Language/index';\nimport HeaderLogin from '../HeaderLogin/index';\n\nconst Header = ({ t, i18n }) => {\n return \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
;\n};\n\nHeader.propTypes = {\n t: PropTypes.func,\n i18n: PropTypes.object\n};\n\nexport default Header;\n","import React from 'react';\n\nconst Footer = () => {\n return
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n © {new Date().getFullYear()} Duferco Energia All rights reserved.
Powered By Duferco Dev\n
\n
\n
\n
\n
\n
\n
\n
\n
;\n};\n\nexport default Footer;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { BrowserRouter, Redirect, Route, Switch } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\n\nimport Login from '../Login';\nimport { LoginCallback } from '../../components/HeaderLogin/callback';\nimport { SilentRenew } from '../../components/HeaderLogin/silent_renew';\nimport ContractConfirm from '../../components/ContractConfirm';\nimport App from '../App/App';\nimport Download from '../Download';\nimport PrivacyPolicy from '../PrivacyPolicy';\nimport TermsAndConditions from '../TermsAndConditions';\nimport NotFound from '../../components/NotFound';\nimport Header from '../../components/Header';\nimport Footer from '../../components/Footer';\n\nimport { getIsLogged, getAccessToken } from '../../components/HeaderLogin/selectors';\n\nconst Routing = () => {\n const isLogged = useSelector(getIsLogged);\n const accessToken = useSelector(getAccessToken);\n const { t, i18n } = useTranslation();\n\n const checkIsLogged = (Component, routerProps) => {\n return isLogged ? : ;\n };\n\n const requireAuth = (Component, routerProps) => {\n if(isLogged) {\n return ;\n } else {\n // const urlstate = window.location.href.replace(`${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}`, '');\n return ;\n }\n };\n\n const routes = \n \n \n \n \n \n \n \n \n } />\n ;\n\n return \n
\n
\n
\n
\n
\n
\n {routes}\n
\n \t\t\t
\n \t\t\t\t
\n \t\t\t\t\t
\n \t\t\t\t\t\t
800.92.22.00
\n \t\t\t\t\t\t
{t('help.text')}
\n \t\t\t\t\t
\n \t\t\t\t
\n \t\t\t
\n \t\t
\n
\n
\n
\n
\n
\n
\n
;\n};\n\nexport default Routing;\n","import { Map } from 'immutable';\n\nimport {\n\tSET_ALERT_OPTIONS\n} from './actionDefinitions';\n\nconst alertInitialState = new Map();\n\nconst alert = (state = alertInitialState, action) => {\n\tswitch(action.type) {\n\t\tcase SET_ALERT_OPTIONS:\n\t\t\treturn state.set('alertConfig', action.payload);\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default alert;\n","import { Map } from 'immutable';\n\nimport {\n\tFETCH_STARTED,\n\tFETCH_COMPLETED,\n\tSET_FINGERPRINT,\n\tSET_CONTACT_INFO,\n\tSET_MESSAGE\n} from './actionDefinitions';\n\nconst appInitialState = new Map({\n\tisFetching: false,\n\thasProfile: null,\n\temail: '',\n\tmessage: new Map({\n\t\tshow: false,\n\t\ttype: ''\n\t})\n});\n\nconst app = (state = appInitialState, action) => {\n\tswitch(action.type) {\n\t\tcase FETCH_STARTED:\n\t\t\treturn state.merge({ isFetching: true });\n\t\tcase FETCH_COMPLETED:\n\t\t\treturn state.merge({ isFetching: false });\n\t\tcase SET_CONTACT_INFO:\n\t\t\treturn state.set('hasProfile', action.payload.hasProfile).set('email', action.payload.email);\n\t\tcase SET_MESSAGE:\n\t\t\treturn state.setIn(['message', 'show'], true).setIn(['message', 'type'], action.payload.type);\n\t\tcase SET_FINGERPRINT:\n\t\t\treturn state.set('contractinfo', action.payload.fingerprint);\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default app;\n","import { Record } from 'immutable';\n\nimport { FETCH_FAILURE, FETCH_REQUEST, FETCH_SUCCESS } from './actionDefinitions';\n\nconst FetchRecord = new Record({\n\tlastFetchSource: null,\n\tlastFetchSuccess: undefined,\n\tlastFetchError: undefined\n});\n\nconst initialState = new FetchRecord();\n\nconst fetch = (state = initialState, action) => {\n\tswitch(action.type) {\n\t\tcase FETCH_REQUEST:\n\t\t\treturn FetchRecord({\n\t\t\t\tlastFetchSource: action.payload.source,\n\t\t\t\tlastFetchSuccess: undefined,\n\t\t\t\tlastFetchError: undefined\n\t\t\t});\n\t\tcase FETCH_SUCCESS:\n\t\t\treturn FetchRecord({\n\t\t\t\tlastFetchSource: action.payload.source,\n\t\t\t\tlastFetchSuccess: true,\n\t\t\t\tlastFetchError: undefined\n\t\t\t});\n\t\tcase FETCH_FAILURE:\n\t\t\treturn FetchRecord({\n\t\t\t\tlastFetchSource: action.payload.source,\n\t\t\t\tlastFetchSuccess: false,\n\t\t\t\tlastFetchError: action.payload.error.responseText || 'general error'\n\t\t\t});\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport default fetch;\n","import { List, Map } from 'immutable';\n\nimport {\n\tGOTO_STEP,\n\tGOTO_PREV_STEP,\n\tGOTO_NEXT_STEP,\n\tSET_CONVENTION,\n\tSET_PRIVACY_INFO,\n\tSET_PRODUCTS\n} from './actionDefinitions';\n\nconst stepInitialState = 1; // start from step 1\n\nconst step = (state = stepInitialState, action) => {\n\tswitch(action.type) {\n\t\tcase GOTO_STEP:\n\t\t\treturn action.payload.step;\n\t\tcase GOTO_PREV_STEP:\n\t\t\treturn state - 1;\n\t\tcase GOTO_NEXT_STEP:\n\t\t\treturn state + 1;\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst productsInitialState = new Map({\n\tproducts: new List([]),\n\tprivacyInfo: false,\n\tconvention: new Map({\n\t\tname: '',\n\t\tvalidity: false\n\t})\n});\n\nconst productsDetails = (state = productsInitialState, action) => {\n\tswitch(action.type) {\n\t\tcase SET_PRODUCTS:\n\t\t\treturn state.set('products', new List(action.payload.products));\n\t\tcase SET_CONVENTION:\n\t\t\treturn state.setIn(['convention', 'name'], action.payload.name).setIn(['convention', 'validity'], action.payload.validity);\n\t\tcase SET_PRIVACY_INFO:\n\t\t\treturn state.set('privacyInfo', action.payload);\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport { step, productsDetails };\n","import { Map } from 'immutable';\n\nimport * as ActionDefinitions from './actionDefinitions';\n\nconst initialState = new Map();\n\nconst headerLogin = (state = initialState, action) => {\n switch(action.type) {\n case ActionDefinitions.SET_IS_LOGGED:\n return state.set('isLogged', true);\n default:\n return state;\n }\n};\n\nexport default headerLogin;\n","import immutable, { Map } from 'immutable';\nimport { combineReducers } from 'redux-immutable';\nimport { createResponsiveStateReducer } from 'redux-responsive';\nimport { reducer as reduxFormReducer } from 'redux-form/immutable';\nimport { createImmutableReducer } from 'redux-oidc';\n\nimport alert from '../containers/Alert/reducer';\nimport app from '../containers/App/reducer';\nimport fetch from './fetch/reducer';\nimport { productsDetails, step } from '../containers/Form/reducer';\nimport login from '../components/HeaderLogin/reducer';\n\nconst oidcReducer = createImmutableReducer(immutable);\n/* eslint-disable */\nconst defaultBreakpoints = {\n\textraSmall: 576,\n\tsmall: 768,\n\tmedium: 992,\n\tlarge: 1200,\n};\n/* eslint-enable */\n\nconst appReducer = combineReducers({\n\talert,\n\tapp,\n\tbrowser: createResponsiveStateReducer(defaultBreakpoints),\n\tfetch,\n\tform: reduxFormReducer,\n\toidc: combineReducers({ oidcReducer, login }),\n\tproductsDetails,\n\tstep\n});\n\nconst rootReducer = (state, action) => {\n\tif(action.type === 'redux-oidc/SESSION_TERMINATED') {\n\t\tconst browserState = state.get('browser');\n\t\tstate = new Map({ browser: browserState });\n\t}\n\treturn appReducer(state, action);\n};\n\nexport default rootReducer;\n","import thunkMiddleware from 'redux-thunk';\nimport { createLogger } from 'redux-logger';\nimport { createStore, applyMiddleware, compose } from 'redux';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport { responsiveStoreEnhancer } from 'redux-responsive';\nimport { Iterable } from 'immutable';\nimport throttle from 'lodash/throttle';\n\nimport reducers from './reducerProvider';\nimport { loadState, saveState } from './localStorage';\n\nconst stateTransformer = (state) => {\n if (Iterable.isIterable(state)) return state.toJS();\n else return state;\n};\nconst loggerMiddleware = createLogger({ stateTransformer, collapsed: true });\n\nconst enhancer = process.env.NODE_ENV !== 'production' ?\n composeWithDevTools(\n responsiveStoreEnhancer,\n applyMiddleware(thunkMiddleware, loggerMiddleware)\n ) : compose(\n responsiveStoreEnhancer,\n applyMiddleware(thunkMiddleware)\n );\n\nconst persistedState = loadState();\nconst store = createStore(reducers, persistedState, enhancer);\n\nconst minUpdateFrequency = 1000;\nstore.subscribe(throttle(() => {\n saveState({ oidc: store.getState().get('oidc') });\n}, minUpdateFrequency));\n\nexport default store;\n","import i18n from 'i18next';\nimport resourcesToBackend from 'i18next-resources-to-backend';\nimport { initReactI18next } from 'react-i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\n\ni18n\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .use(resourcesToBackend((language, namespace, callback) => {\n import(`./locales/${language}/common.json`)\n .then((resources) => {\n callback(null, resources);\n })\n .catch((error) => {\n callback(error, null);\n });\n }))\n .init({\n debug: false,\n fallbackLng: 'it',\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n }\n });\n\nexport default i18n;\n","import React, { Fragment, Suspense } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { OidcProvider } from 'redux-oidc';\n\nimport Routing from './containers/Routing';\nimport store from './utils/store';\nimport userManager from './utils/userManager';\n\n// import reportWebVitals from './reportWebVitals';\n// import * as serviceWorker from './serviceWorker';\n\nimport './utils/i18n';\nimport './styles/index.scss';\nimport 'react-phone-input-2/lib/plain.css';\n\nlet googleTagManagerID;\nswitch(process.env.REACT_APP_ENV) {\n default:\n case 'development':\n googleTagManagerID = 'GTM-528MNP6';\n break;\n case 'test':\n googleTagManagerID = 'GTM-528MNP6';\n break;\n case 'staging':\n googleTagManagerID = 'GTM-528MNP6';\n break;\n case 'production':\n googleTagManagerID = 'GTM-M3WXZHL';\n break;\n}\n\nconst render = () => {\n\n window.GTMLoader = false;\n const initGTM = (w, d, s, l, i) => {\n if(!window.GTMLoader) {\n window.GTMLoader = true;\n w[l] = w[l] || [];\n w[l].push({ 'gtm.start': new Date().getTime(), event:'gtm.js' });\n const f = d.getElementsByTagName(s)[0];\n const j = d.createElement(s);\n const dl = l !== 'dataLayer' ? '&l=' + l : '';\n j.async = true;\n j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;\n f.parentNode.insertBefore(j, f);\n }\n };\n\tinitGTM(window, document, 'script', 'dataLayer', googleTagManagerID);\n\n\tReactDOM.render(\n \n \n \n \n \n \n \n \n ,\n\t\tdocument.getElementById('root')\n\t);\n};\n\nrender();\n\n// serviceWorker.register({\n// onUpdate: () => {\n// if(caches) {\n// // Service worker cache should be cleared with caches.delete()\n// caches.keys().then((names) => {\n// for (const name of names) {\n// caches.delete(name);\n// }\n// });\n// }\n// window.location.reload();\n// }\n// });\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n// reportWebVitals();\n"],"sourceRoot":""}