{"version":3,"sources":["components/Layout/Layout.tsx","components/Layout/index.ts","components/Descriptions/descriptions.module.scss","components/Title/Title.tsx","containers/Main/sections/ContactSection/Location/Location.tsx","containers/Main/sections/ContactSection/Contact/ContactForm/formSchema.ts","containers/Main/sections/ContactSection/Contact/ContactForm/ContactForm.tsx","containers/Main/sections/ContactSection/Contact/ContactDescription.tsx","containers/Main/sections/ContactSection/Contact/Contact.tsx","containers/Main/sections/ContactSection/ContactSection.tsx","components/Footer/Footer.tsx","components/ButtonNextSection/ButtonNextSection.tsx","containers/Main/sections/HomeSection/HomeSection.tsx","components/Descriptions/StaticHTML.tsx","components/Descriptions/Descriptions.tsx","components/CardDropDown/Card/Card.tsx","components/CardDropDown/CardDropDown.tsx","containers/Main/sections/InnovationSection/Partners/CustomArrow.tsx","containers/Main/sections/InnovationSection/Partners/Partners.tsx","containers/Main/sections/InnovationSection/InnovationSection.tsx","containers/Main/sections/IntelligenceSection/IntelligenceCards/Card.tsx","containers/Main/sections/IntelligenceSection/IntelligenceCards/IntelligenceCards.tsx","containers/Main/sections/IntelligenceSection/IntelligenceSection.tsx","components/CardFlipping/Card/Card.tsx","components/CardFlipping/CardFlipping.tsx","containers/Main/sections/MethodAndStorySection/MethodAndStoryLayout.tsx","containers/Main/sections/MethodAndStorySection/StorySection.tsx","containers/Main/sections/MethodAndStorySection/MethodSection.tsx","containers/Main/Main.tsx","HOCs/index.ts","HOCs/loginGuard.tsx","HOCs/lazyLoading/index.tsx","constants/routePaths.tsx","constants/sectionTypes.ts","AppContext.tsx","components/Title/title.module.scss","containers/Main/sections/HomeSection/homeSection.module.scss","components/ButtonHamberger/buttonHamberger.module.scss","HOCs/withLogInInfo.tsx","utils/storage.ts","components/NavigationBar/navigationBar.module.scss","containers/Main/sections/ContactSection/Contact/ContactForm/contactForm.module.scss","services/api.ts","utils/scroll.ts","utils/detectBrowser.ts","components/CardDropDown/Card/card.module.scss","components/CardFlipping/Card/card.module.scss","constants/languages.ts","containers/Main/sections/InnovationSection/Partners/partners.module.scss","components/NavigationBar/configs.ts","components/NavigationBar/LanguagesButton/LanguagesButton.tsx","components/NavigationBar/NavigationBar.tsx","components/NavigationBar/index.ts","components/ButtonHamberger/ButtonHamberger.tsx","components/ButtonHamberger/index.ts","containers/Main/sections/ContactSection/contactSection.module.scss","components/CardDropDown/cardDropDown.module.scss","components/CardFlipping/cardFlipping.module.scss","HOCs/lazyLoading/lazyLoading.module.scss","constants/sections.ts","routeHistory.ts","containers/Main/sections/IntelligenceSection/IntelligenceCards/intelligenceCards.module.scss","components/Footer/footer.module.scss","components/NavigationBar/LanguagesButton/languagesButton.module.scss","containers/Main/sections/ContactSection/Contact/contact.module.scss","containers/Main/sections/ContactSection/Location/location.module.scss","components/ButtonNextSection/buttonNextSection.module.scss","containers/Main/main.module.scss","services/asset.ts","../external \"{/\"assets/\":{/\"icons/\":/\"assets/icons/\",/\"images/\":/\"assets/images/\"},/\"endpoint/\":{/\"domain/\":/\"https:/2cs-api.azurewebsites.net/\",/\"apiPath/\":/\"api/\",/\"wwwroot/\":{/\"assetPath/\":/\"assets/\",/\"imagesPath/\":/\"images/\"},/\"controllers/\":{/\"sections/\":/\"sections/\",/\"locations/\":/\"locations/\",/\"partners/\":/\"partners/\",/\"auth/\":/\"auth/\",/\"image/\":/\"image/\",/\"contact/\":/\"contact/\",/\"settings/\":/\"settings/\"}},/\"settings/\":{/\"homeVideoName/\":/\"HomeVideoUrl/\"},/\"baseUrl/\":/\"//\",/\"socialLinks/\":{/\"facebook/\":/\"https:/www.facebook.com/2clicksolutions//\",/\"linkedin/\":/\"https:/www.linkedin.com/company/2click-solutions//\"},/\"jobsLink/\":/\"/jobs.2clicksolutions.com/\"}\"","../node_modules/react-intl/locale-data sync /^/.//.*$","i18n/index.ts","serviceWorker.ts","index.tsx"],"names":["Layout","_ref","_ref$className","className","children","react_default","a","createElement","__webpack_require__","d","__webpack_exports__","components_Layout_Layout","module","exports","wrapper","header","title","custom-button","description","Title","colorReverse","concat","styles","reverse","controllers","appConfigs","endpoint","injectIntl","formatMessage","intl","_React$useState","React","useState","_React$useState2","Object","slicedToArray","locations","updateLocations","useEffect","getListApi","then","data","Row","map","location","Col","md","sm","key","id","address","href","mapUrl","target","rel","text","email","typesAllowed","formSchema","Yup","shape","message","max","nullable","file","test","value","size","includes","type","initialFormValues","ContactForm","fileRef","createRef","state","isLoading","notification","onSubmit","_callee","values","actions","resetForm","formData","timer","regenerator_default","wrap","_context","prev","next","_this","setState","FormData","append","postApi","contact","t0","setTimeout","clearTimeout","finish","stop","getFileName","name","_this2","this","_this$state","props","formik_esm","initialValues","validationSchema","render","handleSubmit","setFieldValue","handleChange","errors","touched","setFieldTouched","isValid","form","onFocus","onBlur","placeholder","onChange","htmlFor","image","src","getIcon","alt","_ref2","files","ref","role","onClick","current","provision","index_es","button","disabled","Spinner","spinner","Component","setLastScrollPosition","history","push","routePaths","blogs","path","sentence","Contact","Contact_ContactForm_ContactForm","Contact_ContactDescription","sectionsId","contactSection","components_Title_Title","content","ContactSection_Location_Location","ContactSection_Contact_Contact","Footer","layout","Date","getFullYear","socials","socialLinks","facebook","item","logo","getImage","linkedin","ButtonNextSection","idNextSection","scrollToElement","arrow","settings","homeVideoName","isMuted","setMute","_React$useState3","_React$useState4","videoSrc","setVideoSrc","videoRef","useRef","muted","getApi","response","homeSection","preload","autoPlay","loop","width","kind","volume","index_esm","icon","Mute","Unmute","components_ButtonNextSection_ButtonNextSection","storySection","StaticHTML","rawHTML","dangerouslySetInnerHTML","__html","sanitize","Descriptions","_ref$onClose","onClose","scrollTop","Descriptions_StaticHTML","domain","imagesPath","wwwroot","Card","reverseColor","controls","isActivated","setActive","onToggle","actived","active","card","summary","imageFileName","components_Descriptions_Descriptions","FlipCard","_ref$reverseColor","index","status","activation","lg","CardDropDown_Card_Card","CustomArrow","currentSlide","slideCount","_ref$right","right","objectWithoutProperties","assign","left","slidesToShow","prevArrow","Partners_CustomArrow","nextArrow","responsive","breakpoint","partners","updatePartners","_appConfigs$endpoint","react_slick_lib_default","length","Number","p","websiteUrl","innovationSection","SectionContext","Consumer","context","CardDropDown","innovations","InnovationSection_Partners_Partners","intelligenceSection","imageSrc","style","backgroundImage","sumary","scrollToContainer","gridConfigs","IntelligenceCards","cardId","intelligences","i","grid","IntelligenceCards_Card","IntelligenceSection_IntelligenceCards_IntelligenceCards","methodSection","CardFlipping","_ref$controlled","controlled","CardFlipping_Card_Card","MethodAndStoryLayout","nextSection","isMobileView","setMobileView","mediaQuery","window","matchMedia","listener","matches","addListener","removeListener","components_CardFlipping_CardFlipping","MethodAndStorySection_MethodAndStoryLayout","stories","methods","sectionConfigs","component","sections_HomeSection_HomeSection","MethodAndStorySection_StorySection","sections_InnovationSection_InnovationSection","sections_IntelligenceSection_IntelligenceSection","MethodAndStorySection_MethodSection","sections_ContactSection_ContactSection","defaultSections","createContext","Main","sections","updateSections","limit","filter","SectionTypes","Innovation","slice","Intelligence","Method","Story","reloadListener","addEventListener","removeEventListener","scrollTo","getLastScrollPosition","Fragment","NavigationBar","Provider","sec","components_Footer_Footer","compose","_len","arguments","hocs","Array","_key","reduceRight","previous","composer","loginGuard","withLogInInfo","isLoggedIn","userEmail","setLogInInfo","auth","storeLogInInfo","catch","login","lazyLoading","react","fallback","loader","Blogs","lazy","e","bind","Admin","Promise","all","Login","configs","main","exact","admin","redirectMain","redirect","AppContext","updateContext","AppContextProvider","_useState","_useState2","_home_vsts_work_1_s_src_Web_ClientApp_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__","setValue","react__WEBPACK_IMPORTED_MODULE_2___default","_home_vsts_work_1_s_src_Web_ClientApp_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","obj","line","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","_AppContext__WEBPACK_IMPORTED_MODULE_1__","setLocale","getLocale","getLogInInfo","_App_Constants_languages__WEBPACK_IMPORTED_MODULE_0__","keys","locale","localStorage","setItem","getItem","languages","en","sessionStorage","pageYOffset","toString","isloggedIn","navbar-wrapper","align-logo","nav-title","collapse-button","collapse","list","language-item","small-bar","form-input","input-label","input-file","remove-file","error-message","defaultOptions","headers","Accept","Content-Type","Accept-Language","mode","credentials","parseQueryToString","object","result","forEach","isAllowedValue","v","handleResponse","_home_vsts_work_1_s_src_Web_ClientApp_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__","_home_vsts_work_1_s_src_Web_ClientApp_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default","mark","ok","json","abrupt","sent","_x","apply","fetchApi","_callee2","url","options","apiPath","request","method","_context2","body","JSON","stringify","fetch","_x2","_x3","_ref3","_callee3","hasLanguage","_args3","_context3","undefined","_x4","_ref4","_callee4","filters","query","_args4","_context4","_x5","_x6","getPagingApi","_ref5","_callee5","contentRange","total","_args5","_context5","get","parseInt","split","_x7","_x8","_ref6","_callee6","_context6","_x9","_x10","putApi","_ref7","_callee7","_context7","_x11","_x12","deleteApi","_ref8","_callee8","_context8","_x13","defaultScrollOptions","behavior","getElementPosition","element","document","getElementById","bodyRect","getBoundingClientRect","top","offset","elementPosition","maxScrollOffset","documentElement","scrollHeight","clientHeight","offsetPosition","Math","min","userAgent","navigator","RegExp","join","isMicrosoftBrowser","toLowerCase","indexOf","distance","startTime","getTime","duration","abs","setInterval","speed","nextPosition","floor","pow","clearInterval","smoothScrollForOldBrowsers","objectSpread","image-wrapper","button-wrapper","Languages","custom-slider","brand","navs","jobsSection","jobsLink","blogSection","it","vi","LanguagesButton","isToggle","setToggle","headerConfigs","mouseDownListener","event","divRef","contains","language","reload","_ref$isShownNavbarIte","isShownNavbarItems","isCollapsed","setCollapse","_React$useState5","_React$useState6","isSmallBar","setSmallBar","debounced","debounce","sectionsPosition","position","lastScrollY","s","isHambergerButton","cancel","Navbar","expand","NavbarBrand","ButtonHamberger","Collapse","isOpen","navbar","innerRef","Nav","NavItem","NavLink","tab","NavigationBar_LanguagesButton_LanguagesButton","components_NavigationBar_NavigationBar","_ref$active","_ref$onClick","components_ButtonHamberger_ButtonHamberger","spin","appConfigs__WEBPACK_IMPORTED_MODULE_0__","appConfigs__WEBPACK_IMPORTED_MODULE_0___default","history__WEBPACK_IMPORTED_MODULE_1__","createBrowserHistory","basename","baseUrl","copy-right","contact-description-wrapper","colorSliding","home-section","colorchange","story-section","innovation-section","intelligence-section","method-section","contact-section","fileName","assets","icons","images","assetPath","./","./af","./af.js","./agq","./agq.js","./ak","./ak.js","./am","./am.js","./ar","./ar.js","./ars","./ars.js","./as","./as.js","./asa","./asa.js","./ast","./ast.js","./az","./az.js","./bas","./bas.js","./be","./be.js","./bem","./bem.js","./bez","./bez.js","./bg","./bg.js","./bh","./bh.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./brx","./brx.js","./bs","./bs.js","./ca","./ca.js","./ccp","./ccp.js","./ce","./ce.js","./cgg","./cgg.js","./chr","./chr.js","./ckb","./ckb.js","./cs","./cs.js","./cu","./cu.js","./cy","./cy.js","./da","./da.js","./dav","./dav.js","./de","./de.js","./dje","./dje.js","./dsb","./dsb.js","./dua","./dua.js","./dv","./dv.js","./dyo","./dyo.js","./dz","./dz.js","./ebu","./ebu.js","./ee","./ee.js","./el","./el.js","./en","./en.js","./eo","./eo.js","./es","./es.js","./et","./et.js","./eu","./eu.js","./ewo","./ewo.js","./fa","./fa.js","./ff","./ff.js","./fi","./fi.js","./fil","./fil.js","./fo","./fo.js","./fr","./fr.js","./fur","./fur.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gsw","./gsw.js","./gu","./gu.js","./guw","./guw.js","./guz","./guz.js","./gv","./gv.js","./ha","./ha.js","./haw","./haw.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hsb","./hsb.js","./hu","./hu.js","./hy","./hy.js","./ia","./ia.js","./id","./id.js","./ig","./ig.js","./ii","./ii.js","./in","./in.js","./index","./index.js","./io","./io.js","./is","./is.js","./it","./it.js","./iu","./iu.js","./iw","./iw.js","./ja","./ja.js","./jbo","./jbo.js","./jgo","./jgo.js","./ji","./ji.js","./jmc","./jmc.js","./jv","./jv.js","./jw","./jw.js","./ka","./ka.js","./kab","./kab.js","./kaj","./kaj.js","./kam","./kam.js","./kcg","./kcg.js","./kde","./kde.js","./kea","./kea.js","./khq","./khq.js","./ki","./ki.js","./kk","./kk.js","./kkj","./kkj.js","./kl","./kl.js","./kln","./kln.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./kok","./kok.js","./ks","./ks.js","./ksb","./ksb.js","./ksf","./ksf.js","./ksh","./ksh.js","./ku","./ku.js","./kw","./kw.js","./ky","./ky.js","./lag","./lag.js","./lb","./lb.js","./lg","./lg.js","./lkt","./lkt.js","./ln","./ln.js","./lo","./lo.js","./lrc","./lrc.js","./lt","./lt.js","./lu","./lu.js","./luo","./luo.js","./luy","./luy.js","./lv","./lv.js","./mas","./mas.js","./mer","./mer.js","./mfe","./mfe.js","./mg","./mg.js","./mgh","./mgh.js","./mgo","./mgo.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mo","./mo.js","./mr","./mr.js","./ms","./ms.js","./mt","./mt.js","./mua","./mua.js","./my","./my.js","./mzn","./mzn.js","./nah","./nah.js","./naq","./naq.js","./nb","./nb.js","./nd","./nd.js","./nds","./nds.js","./ne","./ne.js","./nl","./nl.js","./nmg","./nmg.js","./nn","./nn.js","./nnh","./nnh.js","./no","./no.js","./nqo","./nqo.js","./nr","./nr.js","./nso","./nso.js","./nus","./nus.js","./ny","./ny.js","./nyn","./nyn.js","./om","./om.js","./or","./or.js","./os","./os.js","./pa","./pa.js","./pap","./pap.js","./pl","./pl.js","./prg","./prg.js","./ps","./ps.js","./pt","./pt.js","./qu","./qu.js","./rm","./rm.js","./rn","./rn.js","./ro","./ro.js","./rof","./rof.js","./ru","./ru.js","./rw","./rw.js","./rwk","./rwk.js","./sah","./sah.js","./saq","./saq.js","./sbp","./sbp.js","./sc","./sc.js","./scn","./scn.js","./sd","./sd.js","./sdh","./sdh.js","./se","./se.js","./seh","./seh.js","./ses","./ses.js","./sg","./sg.js","./sh","./sh.js","./shi","./shi.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sma","./sma.js","./smi","./smi.js","./smj","./smj.js","./smn","./smn.js","./sms","./sms.js","./sn","./sn.js","./so","./so.js","./sq","./sq.js","./sr","./sr.js","./ss","./ss.js","./ssy","./ssy.js","./st","./st.js","./sv","./sv.js","./sw","./sw.js","./syr","./syr.js","./ta","./ta.js","./te","./te.js","./teo","./teo.js","./tg","./tg.js","./th","./th.js","./ti","./ti.js","./tig","./tig.js","./tk","./tk.js","./tl","./tl.js","./tn","./tn.js","./to","./to.js","./tr","./tr.js","./ts","./ts.js","./tt","./tt.js","./twq","./twq.js","./tzm","./tzm.js","./ug","./ug.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz.js","./vai","./vai.js","./ve","./ve.js","./vi","./vi.js","./vo","./vo.js","./vun","./vun.js","./wa","./wa.js","./wae","./wae.js","./wo","./wo.js","./xh","./xh.js","./xog","./xog.js","./yav","./yav.js","./yi","./yi.js","./yo","./yo.js","./yue","./yue.js","./zgh","./zgh.js","./zh","./zh.js","./zu","./zu.js","webpackContext","req","webpackContextResolve","o","Error","code","resolve","i18n","Boolean","hostname","match","localeData","require","messages","addLocaleData","toConsumableArray","ReactDOM","react_router","to","serviceWorker","ready","registration","unregister"],"mappings":"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C,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,QAAA,IACAC,WAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,Q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","file":"static/js/main.89e0b1c3.chunk.js","sourcesContent":["import React from 'react';\n\ninterface Props {\n children: React.ReactChild;\n className?: string;\n}\n\nconst Layout: React.FC = ({ className = '', children }) => (\n
\n
{children}
\n
\n);\n\nexport default Layout;\n","export { default } from './Layout';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"descriptions_wrapper__3L3CD\",\"header\":\"descriptions_header__cWNwi\",\"title\":\"descriptions_title__18akM\",\"custom-button\":\"descriptions_custom-button__khpgu\",\"description\":\"descriptions_description__2MBpJ\"};","import React from 'react';\n\nimport styles from './title.module.scss';\n\ninterface Props {\n title: string;\n colorReverse?: boolean;\n children?: React.ReactChild;\n className?: string;\n}\n\nconst Title: React.FC = ({\n title,\n colorReverse,\n children,\n className = '',\n}) => (\n
\n \n {title}\n \n {children}\n
\n);\n\nexport default Title;\n","import { Col, Row } from 'reactstrap';\nimport React, { useEffect } from 'react';\nimport { InjectedIntl, injectIntl } from 'react-intl';\nimport appConfigs from 'appConfigs';\n\nimport LocationModel from '@App/Models/Location';\nimport { getListApi } from '@App/Services/api';\n\nimport styles from './location.module.scss';\n\ninterface Props {\n intl: InjectedIntl;\n}\nconst { controllers } = appConfigs.endpoint;\n\nconst Location: React.FC = ({ intl: { formatMessage } }) => {\n const [locations, updateLocations] = React.useState([]);\n\n useEffect((): void => {\n getListApi(controllers.locations).then(\n (data): void => {\n updateLocations(data);\n }\n );\n }, []);\n\n return (\n \n {locations.map(\n (location): React.ReactChild => (\n \n {location.title}\n\n {location.address ? (\n \n {location.address}\n \n ) : (\n \n {formatMessage({ id: 'contact.address.text' })}\n \n )}\n\n \n {location.email}\n \n \n )\n )}\n \n );\n};\nexport default injectIntl(Location);\n","import * as Yup from 'yup';\n\nconst typesAllowed = [\n 'application/zip',\n 'application/x-zip-compressed',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/pdf',\n];\nconst maxSize = 15 * 1024 * 1024;\n\nconst formSchema = Yup.object().shape({\n message: Yup.string()\n .max(3000, 'contact.notify.message.maxLength')\n .nullable(),\n file: Yup.mixed()\n .nullable()\n .test(\n 'fileSize',\n 'contact.notify.invalidFile',\n (value): boolean => (value ? value.size <= maxSize : true)\n )\n .test(\n 'fileType',\n 'contact.notify.invalidFile',\n (value): boolean => (value ? typesAllowed.includes(value.type) : true)\n ),\n});\n\nexport default formSchema;\n","import React from 'react';\nimport { Col, Spinner } from 'reactstrap';\nimport { FormattedHTMLMessage, InjectedIntl, injectIntl } from 'react-intl';\nimport { Formik, FormikProps, FormikActions } from 'formik';\nimport appConfigs from 'appConfigs';\n\nimport { postApi } from '@App/Services/api';\nimport { getIcon } from '@App/Services/asset';\n\nimport formSchema from './formSchema';\nimport styles from './contactForm.module.scss';\n\ninterface Props {\n intl: InjectedIntl;\n}\ninterface FormValue {\n message: string;\n file: File | null;\n}\n\nconst { controllers } = appConfigs.endpoint;\nconst initialFormValues: FormValue = { message: '', file: null };\n\nclass ContactForm extends React.Component {\n private fileRef: React.RefObject = React.createRef();\n\n public state = { isLoading: false, notification: '' };\n\n private onSubmit = async (\n values: FormValue,\n actions: FormikActions\n ): Promise => {\n const { message, file } = values;\n const { resetForm } = actions;\n\n this.setState({ isLoading: true });\n const formData = new FormData();\n formData.append('message', message);\n file && formData.append('file', file);\n try {\n await postApi(controllers.contact, formData);\n resetForm();\n this.setState({ notification: 'contact.notify.submit.successful' });\n } catch {\n this.setState({ notification: 'contact.notify.submit.failed' });\n } finally {\n const timer = setTimeout((): void => {\n this.setState({ notification: '' });\n clearTimeout(timer);\n }, 3000);\n this.setState({ isLoading: false });\n }\n };\n\n private getFileName = (file: File | null): string | null =>\n (file && file.name) || null;\n\n public render(): React.ReactElement {\n const { isLoading, notification } = this.state;\n const {\n intl: { formatMessage },\n } = this.props;\n\n const renderForm = (props: FormikProps): React.ReactElement => {\n const {\n values,\n handleSubmit,\n setFieldValue,\n handleChange,\n errors,\n touched,\n setFieldTouched,\n isValid,\n } = props;\n\n return (\n
\n
\n {\n setFieldTouched('message', true);\n }}\n onBlur={(): void => {\n setFieldTouched('message', false);\n }}\n value={values.message}\n name=\"message\"\n placeholder={formatMessage({\n id: 'contact.address.form.placeholder',\n })}\n onChange={handleChange}\n />\n\n \n\n {values.file ? (\n {\n if (this.fileRef.current) {\n this.fileRef.current.value = '';\n }\n setFieldValue('file', null);\n }}\n />\n ) : null}\n
\n\n {errors.file || errors.message || notification ? (\n \n {formatMessage({\n id: errors.file || errors.message || notification,\n })}\n \n ) : null}\n\n {touched.message || values.message ? (\n \n \n \n ) : null}\n\n \n
\n );\n };\n\n return (\n \n \n {formatMessage({ id: 'contact.address.form.title' })}\n \n\n \n \n );\n }\n}\n\nexport default injectIntl(ContactForm);\n","import React from 'react';\nimport { FormattedHTMLMessage, InjectedIntl, injectIntl } from 'react-intl';\nimport { Col } from 'reactstrap';\n\nimport history from '@App/History';\nimport routePaths from '@App/Constants/routePaths';\n\nimport { setLastScrollPosition } from '@App/Utils/storage';\n\nimport styles from './contact.module.scss';\n\ninterface Props {\n intl: InjectedIntl;\n}\n\nconst ContactDescription: React.FC = ({ intl: { formatMessage } }) => (\n \n \n {formatMessage({ id: 'contact.address.linkToBlog.text' })}\n \n\n {\n setLastScrollPosition();\n history.push(routePaths.blogs.path);\n }}\n >\n {formatMessage({ id: 'button.text.join' })}\n \n\n \n \n \n \n);\n\nexport default injectIntl(ContactDescription);\n","import React from 'react';\nimport { Row } from 'reactstrap';\n\nimport ContactForm from './ContactForm';\nimport ContactDescription from './ContactDescription';\nimport styles from './contact.module.scss';\n\nconst Contact: React.FC = () => (\n \n \n\n \n \n);\n\nexport default Contact;\n","import React from 'react';\nimport { InjectedIntl, injectIntl } from 'react-intl';\n\nimport Title from '@App/Components/Title';\nimport sectionsId from '@App/Constants/sections';\n\nimport Location from './Location';\nimport Contact from './Contact';\nimport styles from './contactSection.module.scss';\n\ninterface Props {\n intl: InjectedIntl;\n}\n\nconst ContactSection: React.FC = ({ intl }) => {\n return (\n
\n \n\n <div className={styles.content}>\n <Location />\n\n <Contact />\n </div>\n </section>\n );\n};\n\nexport default injectIntl(ContactSection);\n","import Layout from '@App/Components/Layout';\nimport React from 'react';\nimport appConfigs from 'appConfigs';\nimport { getImage } from '@App/Services/asset';\nimport styles from './footer.module.scss';\n\ninterface Props {\n className?: string;\n}\n\nconst Footer: React.FC<Props> = ({ className = '' }) => (\n <Layout className={styles.layout}>\n <div className={`${styles.wrapper} ${className}`}>\n <span className={styles['copy-right']}>\n {`2CLICK SOLUTIONS ©${new Date().getFullYear()}`}\n </span>\n <div className={styles.socials}>\n <a\n href={appConfigs.socialLinks.facebook}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n className={styles.item}\n >\n <img\n className={styles.logo}\n src={getImage('facebook.png')}\n alt=\"facebook\"\n />\n </a>\n <a\n href={appConfigs.socialLinks.linkedin}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n className={styles.item}\n >\n <img\n className={styles.logo}\n src={getImage('linkedin.png')}\n alt=\"linkedin\"\n />\n </a>\n </div>\n </div>\n </Layout>\n);\n\nexport default Footer;\n","import React from 'react';\n\nimport { scrollToElement } from '@App/Utils/scroll';\n\nimport styles from './buttonNextSection.module.scss';\n\ninterface Props {\n title: string;\n idNextSection: string;\n colorReverse?: boolean;\n className?: string;\n}\n\nconst ButtonNextSection: React.FC<Props> = ({\n title,\n idNextSection,\n colorReverse,\n className = '',\n}) => {\n const onClick = (): void => {\n scrollToElement(idNextSection);\n };\n\n return (\n <div\n role=\"presentation\"\n className={`${styles.wrapper} ${className} ${\n colorReverse ? styles.reverse : ''\n }`}\n onClick={onClick}\n >\n <span className={styles.title}>{title}</span>\n <span className={styles.arrow}>\n <span className={styles.item} />\n <span className={styles.item} />\n <span className={styles.item} />\n </span>\n </div>\n );\n};\n\nexport default ButtonNextSection;\n","import { InjectedIntl, injectIntl } from 'react-intl';\nimport Octicon, { Mute, Unmute } from '@primer/octicons-react';\nimport React, { useEffect, useRef } from 'react';\nimport appConfigs from 'appConfigs';\n\nimport ButtonNextSection from '@App/Components/ButtonNextSection';\nimport sectionsId from '@App/Constants/sections';\nimport Setting from '@App/Models/Setting';\nimport { getApi } from '@App/Services/api';\n\nimport styles from './homeSection.module.scss';\n\nconst {\n endpoint: {\n controllers: { settings },\n },\n settings: { homeVideoName },\n} = appConfigs;\n\ninterface Props {\n intl: InjectedIntl;\n}\n\nconst HomeSection: React.FC<Props> = ({ intl }) => {\n const [isMuted, setMute] = React.useState(true);\n const [videoSrc, setVideoSrc] = React.useState('');\n const videoRef = useRef<HTMLVideoElement>(null);\n\n useEffect((): void => {\n if (videoRef && videoRef.current) {\n videoRef.current.muted = isMuted;\n }\n getApi<Setting>(`${settings}?name=${homeVideoName}`).then(\n (response): void => {\n if (response && response.value) {\n setVideoSrc(response.value);\n }\n }\n );\n }, []);\n\n const onVolumeClicked = (): void => {\n if (videoRef && videoRef.current) {\n videoRef.current.muted = !isMuted;\n setMute(!isMuted);\n }\n };\n\n return (\n <section id={sectionsId.homeSection} className={styles.wrapper}>\n {videoSrc && (\n <video preload=\"auto\" autoPlay loop width=\"100%\" ref={videoRef}>\n <track kind=\"captions\" />\n <source src={videoSrc} type=\"video/mp4\" />\n </video>\n )}\n <span\n role=\"presentation\"\n className={styles.volume}\n onClick={onVolumeClicked}\n >\n <Octicon icon={isMuted ? Mute : Unmute} />\n </span>\n <ButtonNextSection\n title={intl.formatMessage({ id: 'navbar.story' })}\n idNextSection={sectionsId.storySection}\n className={styles.button}\n colorReverse\n />\n </section>\n );\n};\n\nexport default injectIntl(HomeSection);\n","import React from 'react';\nimport { sanitize } from 'dompurify';\n\ninterface Props {\n rawHTML: string;\n}\n\nconst StaticHTML: React.FC<Props> = ({ rawHTML }) => (\n // eslint-disable-next-line react/no-danger\n <div dangerouslySetInnerHTML={{ __html: sanitize(rawHTML) }} />\n);\n\nexport default StaticHTML;\n","import React from 'react';\n\nimport StaticHTML from './StaticHTML';\nimport styles from './descriptions.module.scss';\n\ninterface Props {\n title: string;\n description: string;\n onClose?: () => void;\n className?: string;\n}\n\nconst Descriptions: React.FC<Props> = ({\n title,\n description,\n onClose = (): void => {},\n className = '',\n}) => {\n const ref = React.useRef<HTMLDivElement>(null);\n\n const onButtonClicked = (): void => {\n if (ref.current) {\n ref.current.scrollTop = 0;\n }\n\n onClose();\n };\n\n return (\n <div className={`${styles.wrapper} ${className}`}>\n <div className={styles.header}>\n <span className={styles.title}>\n {title}\n <span\n role=\"presentation\"\n className={`close-button ${styles['custom-button']}`}\n onClick={onButtonClicked}\n />\n </span>\n </div>\n\n <div ref={ref} className={styles.description}>\n <StaticHTML rawHTML={description} />\n </div>\n </div>\n );\n};\n\nexport default Descriptions;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport appConfigs from 'appConfigs';\n\nimport Descriptions from '@App/Components/Descriptions';\nimport { scrollToElement } from '@App/Utils/scroll';\n\nimport styles from './card.module.scss';\nimport { DataType, ControlsType } from '../interface';\n\ninterface Props {\n data: DataType;\n reverseColor: boolean;\n controls?: ControlsType;\n}\n\nconst {\n domain,\n wwwroot: { imagesPath },\n} = appConfigs.endpoint;\n\nconst Card: React.FC<Props> = ({ data, reverseColor, controls }) => {\n const [isActivated, setActive] = React.useState(false);\n\n if (controls && isActivated) {\n setActive(false);\n }\n\n const getActiveClass = (): string => {\n const isControlActive = (controls && controls.active) || isActivated;\n\n return (isControlActive && styles.active) || '';\n };\n\n const onToggle = (actived: boolean): void => {\n controls ? controls.onToggle(actived) : setActive(actived);\n const timer = setTimeout((): void => {\n actived && scrollToElement(data.title, 80);\n clearTimeout(timer);\n }, 500);\n };\n\n return (\n <div\n id={data.title}\n className={`\n ${styles.wrapper}\n ${reverseColor ? styles.reverse : ''}\n ${getActiveClass()}`}\n >\n <div className={`${styles.card}`}>\n <div\n className={`${styles.summary}`}\n role=\"presentation\"\n onClick={(): void => {\n onToggle(true);\n }}\n >\n <div className={styles['image-wrapper']}>\n <img\n className={styles.image}\n src={`${domain}/${imagesPath}/${data.imageFileName}`}\n alt={data.title}\n />\n </div>\n <div className={styles['button-wrapper']}>\n <span className={styles.title}>{data.title}</span>\n <button\n className={styles.button}\n type=\"button\"\n onClick={(): void => {\n onToggle(true);\n }}\n >\n <FormattedMessage id=\"button.text.seeMore\" />\n </button>\n </div>\n </div>\n\n <Descriptions\n title={data.title}\n description={data.description}\n onClose={(): void => {\n onToggle(false);\n }}\n className={`${styles.description}`}\n />\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import React from 'react';\nimport { Row, Col } from 'reactstrap';\n\nimport Card from './Card/Card';\nimport styles from './cardDropDown.module.scss';\nimport { DataType, ControlsType } from './interface';\n\ninterface Props {\n data: DataType[];\n reverseColor?: boolean;\n controlled?: boolean;\n}\n\nconst FlipCard: React.FC<Props> = ({ data, reverseColor = false }) => {\n const [activation, setActive] = React.useState({ index: -1, status: false });\n const controls = (index: number): ControlsType | undefined => ({\n active: activation.index === index && activation.status,\n onToggle: (status: boolean): void => {\n setActive({ index, status });\n },\n });\n\n return (\n <Row className={styles.wrapper}>\n {data.map(\n (item, index): React.ReactChild => (\n <Col sm={6} lg={4} key={item.title}>\n <Card\n data={item}\n controls={controls(index)}\n reverseColor={reverseColor}\n />\n </Col>\n )\n )}\n </Row>\n );\n};\n\nexport default FlipCard;\n","import React from 'react';\n\nimport styles from './partners.module.scss';\n\ninterface Props {\n currentSlide?: number;\n slideCount?: number;\n className?: string;\n right?: boolean;\n}\n\nconst CustomArrow: React.FC<Props> = ({\n currentSlide,\n slideCount,\n className,\n right = false,\n ...props\n}) => (\n <div\n className={`${className} ${styles.arrow} ${\n right ? styles.right : styles.left\n }`}\n {...props}\n />\n);\n\nexport default CustomArrow;\n","import React, { useEffect } from 'react';\nimport Slider, { Settings } from 'react-slick';\nimport { InjectedIntl, injectIntl } from 'react-intl';\nimport appConfigs from 'appConfigs';\n\nimport Partner from '@App/Models/Partner';\nimport { getListApi } from '@App/Services/api';\n\nimport CustomArrow from './CustomArrow';\nimport styles from './partners.module.scss';\n\ninterface Props {\n intl: InjectedIntl;\n}\nconst { controllers } = appConfigs.endpoint;\nconst settings: Settings = {\n slidesToShow: 5,\n prevArrow: <CustomArrow />,\n nextArrow: <CustomArrow right />,\n responsive: [\n { breakpoint: 1200, settings: { slidesToShow: 4 } },\n { breakpoint: 992, settings: { slidesToShow: 3 } },\n { breakpoint: 768, settings: { slidesToShow: 2 } },\n { breakpoint: 576, settings: { slidesToShow: 1 } },\n ],\n};\n\nconst Partners: React.FC<Props> = ({ intl }) => {\n const [partners, updatePartners] = React.useState<Partner[]>([]);\n const { domain, wwwroot } = appConfigs.endpoint;\n\n useEffect((): void => {\n getListApi<Partner>(controllers.partners).then(\n (data): void => {\n updatePartners(data);\n }\n );\n }, []);\n\n return (\n <div className={styles.wrapper}>\n <span className={styles.title}>\n {intl.formatMessage({ id: 'innovation.title.partners' })}\n </span>\n\n <Slider\n {...settings}\n slidesToShow={\n partners.length < Number(settings.slidesToShow)\n ? partners.length\n : settings.slidesToShow\n }\n className={styles['custom-slider']}\n >\n {partners.map(\n (p): React.ReactChild => (\n <a\n href={p.websiteUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n key={p.name}\n className={styles.item}\n >\n <img\n className={styles.image}\n src={`${domain}/${wwwroot.imagesPath}/${p.imageFileName}`}\n alt={p.name}\n title={p.name}\n />\n </a>\n )\n )}\n </Slider>\n </div>\n );\n};\n\nexport default injectIntl(Partners);\n","import React from 'react';\nimport { InjectedIntl, injectIntl } from 'react-intl';\n\nimport ButtonNextSection from '@App/Components/ButtonNextSection';\nimport Title from '@App/Components/Title';\nimport sectionsId from '@App/Constants/sections';\nimport CardDropDown from '@App/Components/CardDropDown';\nimport { SectionContext } from '@App/Containers/Main';\n\nimport Partners from './Partners';\n\ninterface Props {\n intl: InjectedIntl;\n}\n\nconst InnovationSection: React.FC<Props> = ({ intl }) => (\n <section id={sectionsId.innovationSection}>\n <Title\n title={intl.formatMessage({ id: 'navbar.innovation' })}\n colorReverse\n />\n\n <SectionContext.Consumer>\n {(context): React.ReactChild => (\n <CardDropDown data={context.innovations} />\n )}\n </SectionContext.Consumer>\n\n <Partners />\n\n <ButtonNextSection\n title={intl.formatMessage({ id: 'navbar.intelligence' })}\n idNextSection={sectionsId.intelligenceSection}\n colorReverse\n />\n </section>\n);\n\nexport default injectIntl(InnovationSection);\n","import React from 'react';\n\nimport Descriptions from '@App/Components/Descriptions';\nimport { scrollToElement } from '@App/Utils/scroll';\n\nimport styles from './intelligenceCards.module.scss';\n\ninterface Props {\n title: string;\n imageSrc: string;\n description: string;\n isActivated: boolean;\n setActive: Function;\n}\n\nconst Card: React.FC<Props> = ({\n title,\n imageSrc,\n description,\n isActivated,\n setActive,\n}) => {\n const scrollToContainer = (): void => {\n const timer = setTimeout((): void => {\n scrollToElement(title, 80);\n clearTimeout(timer);\n }, 500);\n };\n\n return (\n <div\n id={title}\n className={`${styles.card} ${isActivated ? styles.active : ''}`}\n >\n <div\n role=\"presentation\"\n style={{ backgroundImage: `url(${imageSrc})` }}\n className={styles.sumary}\n onClick={(): void => {\n setActive(true);\n scrollToContainer();\n }}\n >\n <span className={styles.title}>{title}</span>\n </div>\n\n <Descriptions\n title={title}\n description={description}\n onClose={(): void => {\n setActive(false);\n }}\n className={styles.description}\n />\n </div>\n );\n};\n\nexport default Card;\n","import React from 'react';\nimport { Row, Col } from 'reactstrap';\nimport appConfigs from 'appConfigs';\n\nimport { SectionContext } from '@App/Containers/Main';\n\nimport Card from './Card';\nimport styles from './intelligenceCards.module.scss';\n\nconst gridConfigs = [\n { sm: 6, md: 4, lg: 3 },\n { sm: 6, md: 8, lg: 6 },\n { sm: 6, md: 4, lg: 3 },\n { sm: 6, md: 8, lg: 6 },\n { sm: 6, md: 8, lg: 6 },\n { sm: 6, md: 4, lg: 3 },\n { sm: 6, md: 8, lg: 6 },\n];\n\nconst {\n domain,\n wwwroot: { imagesPath },\n} = appConfigs.endpoint;\n\nconst IntelligenceCards: React.FC = () => {\n const [activation, setActive] = React.useState({\n cardId: -1,\n isActivated: false,\n });\n\n return (\n <Row className={styles.wrapper}>\n <SectionContext.Consumer>\n {(context): React.ReactChild[] =>\n context.intelligences.map(\n (i, index): React.ReactChild => (\n <Col\n {...gridConfigs[index]}\n key={i.title}\n className={styles.grid}\n >\n <Card\n title={i.title}\n imageSrc={`${domain}/${imagesPath}/${i.imageFileName}`}\n description={i.description}\n setActive={(isActivated: boolean): void => {\n setActive({ cardId: index, isActivated });\n }}\n isActivated={\n activation.cardId === index && activation.isActivated\n }\n />\n </Col>\n )\n )\n }\n </SectionContext.Consumer>\n </Row>\n );\n};\n\nexport default IntelligenceCards;\n","import React from 'react';\nimport { InjectedIntl, injectIntl } from 'react-intl';\n\nimport ButtonNextSection from '@App/Components/ButtonNextSection';\nimport Title from '@App/Components/Title';\nimport sectionsId from '@App/Constants/sections';\n\nimport Cards from './IntelligenceCards';\n\ninterface Props {\n intl: InjectedIntl;\n}\n\nconst IntelligenceSection: React.FC<Props> = ({ intl }) => (\n <section id={sectionsId.intelligenceSection}>\n <Title\n title={intl.formatMessage({ id: 'navbar.intelligence' })}\n colorReverse\n />\n\n <Cards />\n\n <ButtonNextSection\n title={intl.formatMessage({ id: 'navbar.method' })}\n idNextSection={sectionsId.methodSection}\n colorReverse\n />\n </section>\n);\n\nexport default injectIntl(IntelligenceSection);\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport appConfigs from 'appConfigs';\n\nimport Descriptions from '@App/Components/Descriptions';\nimport { scrollToElement } from '@App/Utils/scroll';\n\nimport styles from './card.module.scss';\nimport { DataType, ControlsType } from '../interface';\n\ninterface Props {\n data: DataType;\n controls?: ControlsType;\n}\n\nconst {\n domain,\n wwwroot: { imagesPath },\n} = appConfigs.endpoint;\n\nconst Card: React.FC<Props> = ({ data, controls }) => {\n const [isActivated, setActive] = React.useState(false);\n\n if (controls && isActivated) {\n setActive(false);\n }\n\n const getActiveClass = (): string => {\n const isControlActive = (controls && controls.active) || isActivated;\n\n return (isControlActive && styles.active) || '';\n };\n\n const onToggle = (actived: boolean): void => {\n controls ? controls.onToggle(actived) : setActive(actived);\n const timer = setTimeout((): void => {\n actived && scrollToElement(data.title, 80);\n clearTimeout(timer);\n }, 500);\n };\n\n return (\n <div id={data.title} className={`${styles.wrapper} ${getActiveClass()}`}>\n <div className={`${styles.card}`}>\n <div\n className={`${styles.summary}`}\n role=\"presentation\"\n onClick={(): void => {\n onToggle(true);\n }}\n >\n <div className={styles['image-wrapper']}>\n <img\n className={styles.image}\n src={`${domain}/${imagesPath}/${data.imageFileName}`}\n alt={data.title}\n />\n </div>\n <div className={styles['button-wrapper']}>\n <span className={styles.title}>{data.title}</span>\n <button\n className={styles.button}\n type=\"button\"\n onClick={(): void => {\n onToggle(true);\n }}\n >\n <FormattedMessage id=\"button.text.seeMore\" />\n </button>\n </div>\n </div>\n\n <Descriptions\n title={data.title}\n description={data.description}\n onClose={(): void => {\n onToggle(false);\n }}\n className={`${styles.description}`}\n />\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import React from 'react';\nimport { Row, Col } from 'reactstrap';\n\nimport Card from './Card/Card';\nimport styles from './cardFlipping.module.scss';\nimport { DataType, ControlsType } from '../CardDropDown/interface';\n\ninterface Props {\n data: DataType[];\n controlled?: boolean;\n}\n\nconst CardFlipping: React.FC<Props> = ({ data, controlled = false }) => {\n const [activation, setActive] = React.useState({ index: -1, status: false });\n const controls = (index: number): ControlsType | undefined => {\n if (!controlled) return undefined;\n\n return {\n active: activation.index === index && activation.status,\n onToggle: (status: boolean): void => {\n setActive({ index, status });\n },\n };\n };\n\n return (\n <Row className={styles.wrapper}>\n {data.map(\n (item, index): React.ReactChild => (\n <Col md={6} lg={4} key={item.title}>\n <Card data={item} controls={controls(index)} />\n </Col>\n )\n )}\n </Row>\n );\n};\n\nexport default CardFlipping;\n","import React, { useEffect } from 'react';\n\nimport ButtonNextSection from '@App/Components/ButtonNextSection';\nimport CardFlipping from '@App/Components/CardFlipping';\nimport CardDropDown from '@App/Components/CardDropDown';\nimport Title from '@App/Components/Title';\nimport Section from '@App/Models/Section';\n\ninterface Props {\n id: string;\n title: string;\n data: Section[];\n nextSection: {\n id: string;\n title: string;\n };\n controlled?: boolean;\n}\n\nconst MethodAndStoryLayout: React.FC<Props> = ({\n id,\n title,\n data,\n nextSection,\n controlled = false,\n}) => {\n const [isMobileView, setMobileView] = React.useState(false);\n\n useEffect((): (() => void) => {\n const mediaQuery = window.matchMedia('(max-width: 768px)');\n const listener = (): void => {\n if (mediaQuery.matches) {\n setMobileView(true);\n } else {\n setMobileView(false);\n }\n };\n\n listener();\n\n mediaQuery.addListener(listener);\n\n return (): void => {\n mediaQuery.removeListener(listener);\n };\n }, []);\n\n return (\n <section id={id}>\n <Title title={title} />\n\n {isMobileView ? (\n <CardDropDown data={data} reverseColor />\n ) : (\n <CardFlipping data={data} controlled={controlled} />\n )}\n\n <ButtonNextSection\n title={nextSection.title}\n idNextSection={nextSection.id}\n />\n </section>\n );\n};\n\nexport default MethodAndStoryLayout;\n","import React from 'react';\nimport { InjectedIntl, injectIntl } from 'react-intl';\n\nimport sectionsId from '@App/Constants/sections';\nimport { SectionContext } from '@App/Containers/Main';\n\nimport MethodAndStoryLayout from './MethodAndStoryLayout';\n\nconst StorySection: React.FC<{ intl: InjectedIntl }> = ({ intl }) => (\n <SectionContext.Consumer>\n {(context): React.ReactChild => (\n <MethodAndStoryLayout\n id={sectionsId.storySection}\n title={intl.formatMessage({ id: 'navbar.story' })}\n data={context.stories}\n nextSection={{\n id: sectionsId.innovationSection,\n title: intl.formatMessage({ id: 'navbar.innovation' }),\n }}\n />\n )}\n </SectionContext.Consumer>\n);\n\nexport default injectIntl(StorySection);\n","import React from 'react';\nimport { InjectedIntl, injectIntl } from 'react-intl';\n\nimport sectionsId from '@App/Constants/sections';\nimport { SectionContext } from '@App/Containers/Main';\n\nimport MethodAndStoryLayout from './MethodAndStoryLayout';\n\nconst MethodSection: React.FC<{ intl: InjectedIntl }> = ({ intl }) => (\n <SectionContext.Consumer>\n {(context): React.ReactChild => (\n <MethodAndStoryLayout\n id={sectionsId.methodSection}\n title={intl.formatMessage({ id: 'navbar.method' })}\n data={context.methods}\n nextSection={{\n id: sectionsId.contactSection,\n title: intl.formatMessage({ id: 'navbar.contact' }),\n }}\n controlled\n />\n )}\n </SectionContext.Consumer>\n);\n\nexport default injectIntl(MethodSection);\n","import React, { useEffect, createContext } from 'react';\nimport appConfigs from 'appConfigs';\n\nimport { getListApi } from '@App/Services/api';\nimport {\n getLastScrollPosition,\n setLastScrollPosition,\n} from '@App/Utils/storage';\nimport ContactSection from '@App/Containers/Main/sections/ContactSection';\nimport Footer from '@App/Components/Footer';\nimport HomeSection from '@App/Containers/Main/sections/HomeSection';\nimport InnovationSection from '@App/Containers/Main/sections/InnovationSection';\nimport IntelligenceSection from '@App/Containers/Main/sections/IntelligenceSection';\nimport Layout from '@App/Components/Layout';\nimport NavigationBar from '@App/Components/NavigationBar';\nimport {\n StorySection,\n MethodSection,\n} from '@App/Containers/Main/sections/MethodAndStorySection';\nimport Section from '@App/Models/Section';\nimport sectionsId from '@App/Constants/sections';\nimport SectionTypes from '@App/Constants/sectionTypes';\n\nimport styles from './main.module.scss';\n\nconst sectionConfigs = [\n {\n id: sectionsId.homeSection,\n component: <HomeSection />,\n className: styles['home-section'],\n },\n {\n id: sectionsId.storySection,\n component: <StorySection />,\n className: styles['story-section'],\n },\n {\n id: sectionsId.innovationSection,\n component: <InnovationSection />,\n className: styles['innovation-section'],\n },\n {\n id: sectionsId.intelligenceSection,\n component: <IntelligenceSection />,\n className: styles['intelligence-section'],\n },\n {\n id: sectionsId.methodSection,\n component: <MethodSection />,\n className: styles['method-section'],\n },\n {\n id: sectionsId.contactSection,\n component: <ContactSection />,\n className: styles['contact-section'],\n },\n];\n\ninterface Sections {\n innovations: Section[];\n intelligences: Section[];\n methods: Section[];\n stories: Section[];\n}\nconst defaultSections = {\n innovations: [],\n intelligences: [],\n methods: [],\n stories: [],\n};\nconst { controllers } = appConfigs.endpoint;\n\nexport const SectionContext = createContext<Sections>(defaultSections);\n\nconst Main: React.FC = () => {\n const [sections, updateSections] = React.useState<Sections>(defaultSections);\n\n useEffect((): (() => void) => {\n getListApi<Section>(controllers.sections, { limit: 20 }).then(\n (data): void => {\n updateSections({\n innovations: data\n .filter((d): boolean => d.type === SectionTypes.Innovation)\n .slice(0, 6),\n\n intelligences: data\n .filter((d): boolean => d.type === SectionTypes.Intelligence)\n .slice(0, 8),\n\n methods: data\n .filter((d): boolean => d.type === SectionTypes.Method)\n .slice(0, 3),\n\n stories: data\n .filter((d): boolean => d.type === SectionTypes.Story)\n .slice(0, 3),\n });\n }\n );\n\n const reloadListener = (): void => {\n setLastScrollPosition();\n };\n window.addEventListener('unload', reloadListener);\n\n return (): void => {\n window.removeEventListener('unload', reloadListener);\n };\n }, []);\n\n useEffect((): void => {\n if (sections !== defaultSections) {\n window.scrollTo(0, getLastScrollPosition());\n }\n }, [sections]);\n\n return (\n <React.Fragment>\n <NavigationBar />\n <div className={styles.wrapper}>\n <SectionContext.Provider value={sections}>\n {sectionConfigs.map(\n (sec): React.ReactChild => (\n <Layout key={sec.id} className={sec.className}>\n {sec.component}\n </Layout>\n )\n )}\n </SectionContext.Provider>\n </div>\n <Footer />\n </React.Fragment>\n );\n};\n\nexport default Main;\n","import { ComponentType } from 'react';\n\ntype HOC = (Component: any) => ComponentType; // eslint-disable-line @typescript-eslint/no-explicit-any\n\nconst compose = (...hocs: HOC[]): HOC => (\n Component: ComponentType\n): ComponentType =>\n hocs.reduceRight(\n (previous, composer): ComponentType => composer(previous),\n Component\n );\n\nexport default compose;\n","import React, { useEffect, ComponentType } from 'react';\nimport appConfigs from 'appConfigs';\n\nimport { getApi } from '@App/Services/api';\nimport history from '@App/History';\nimport routePaths from '@App/Constants/routePaths';\nimport { setLogInInfo as storeLogInInfo } from '@App/Utils/storage';\n\nimport withLogInInfo, { ContextLoginInfo } from './withLogInInfo';\n\nconst loginGuard = (Component: ComponentType): ComponentType => {\n const LoginGuardedComponent: React.FC<ContextLoginInfo> = props => {\n const { isLoggedIn, userEmail, setLogInInfo } = props;\n\n useEffect((): void => {\n if (!isLoggedIn || !userEmail) {\n getApi<{ email: string }>(`${appConfigs.endpoint.controllers.auth}/get`)\n .then(\n (response): void => {\n storeLogInInfo(true);\n setLogInInfo({\n isLoggedIn: true,\n userEmail: response && response.email ? response.email : null,\n });\n }\n )\n .catch(\n (): void => {\n storeLogInInfo(false);\n setLogInInfo({\n isLoggedIn: false,\n userEmail: null,\n });\n history.push(routePaths.login.path);\n }\n );\n }\n }, []);\n\n return isLoggedIn ? <Component {...props} /> : null;\n };\n\n return withLogInInfo(LoginGuardedComponent);\n};\n\nexport default loginGuard;\n","import React, { ReactElement, Suspense, ComponentType } from 'react';\n\nimport styles from './lazyLoading.module.scss';\n\nconst lazyLoading = (Component: ComponentType): ComponentType => {\n return (props): ReactElement => (\n <Suspense fallback={<div className={styles.loader} />}>\n <Component {...props} />\n </Suspense>\n );\n};\n\nexport default lazyLoading;\n","import React, { ComponentType } from 'react';\nimport { RouteComponentProps } from 'react-router-dom';\n\nimport Main from '@App/Containers/Main';\nimport compose from '@App/HOCs/index';\nimport loginGuard from '@App/HOCs/loginGuard';\nimport lazyLoading from '@App/HOCs/lazyLoading';\n\nconst Blogs = React.lazy(\n (): Promise<{ default: ComponentType }> => import('@App/Containers/Blogs')\n);\n\nconst Admin = React.lazy(\n (): Promise<{ default: ComponentType }> => import('@App/Containers/Admin')\n);\n\nconst Login = React.lazy(\n (): Promise<{ default: ComponentType }> => import('@App/Containers/Login')\n);\n\nconst configs: {\n [key: string]: {\n path: string;\n component: ComponentType | ComponentType<RouteComponentProps>;\n exact?: boolean;\n redirect?: boolean;\n };\n} = {\n main: {\n path: '/',\n exact: true,\n component: Main,\n },\n blogs: {\n path: '/blogs',\n exact: true,\n component: lazyLoading(Blogs),\n },\n admin: {\n path: '/admin',\n component: compose(\n loginGuard,\n lazyLoading\n )(Admin),\n },\n login: {\n path: '/login',\n exact: true,\n component: lazyLoading(Login),\n },\n redirectMain: {\n path: '/',\n component: Main,\n redirect: true,\n },\n};\n\nexport default configs;\n","enum SectionTypes {\n Innovation,\n Intelligence,\n Method,\n Story,\n}\n\nexport default SectionTypes;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { createContext, useState, FC } from 'react';\n\ninterface ContextType {\n [key: string]: any;\n updateContext: (obj: { [key: string]: any }) => void;\n}\n\nconst defaultValue: ContextType = {\n updateContext: (): void => {},\n};\n\nconst AppContext = createContext<ContextType>(defaultValue);\n\nexport const AppContextProvider: FC = ({ children }) => {\n const [values, setValue] = useState<{ [key: string]: any }>({});\n\n const updateContext = (obj: { [key: string]: any }): void => {\n setValue({ ...values, ...obj });\n };\n\n return (\n <AppContext.Provider value={{ ...values, updateContext }}>\n {children}\n </AppContext.Provider>\n );\n};\n\nexport default AppContext;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"title_wrapper__tjvBZ\",\"title\":\"title_title__3p-z3\",\"reverse\":\"title_reverse__3vLdr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"homeSection_wrapper__2vAJt\",\"volume\":\"homeSection_volume__3fUK2\",\"button\":\"homeSection_button__20FwE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"buttonHamberger_wrapper__DAOYo\",\"line\":\"buttonHamberger_line__2jOEO\",\"active\":\"buttonHamberger_active__3T5u4\"};","import React, { ReactElement, ComponentType } from 'react';\n\nimport AppContext from '../AppContext';\n\nexport interface ContextLoginInfo {\n isLoggedIn: boolean;\n userEmail: string | null;\n setLogInInfo: (values: {\n isLoggedIn: boolean;\n userEmail: string | null;\n }) => void;\n}\n\nconst withLogInInfo = (\n Component: ComponentType<ContextLoginInfo>\n): ComponentType => {\n return (props): ReactElement => (\n <AppContext.Consumer>\n {(context): ReactElement => (\n <Component\n {...props}\n isLoggedIn={context.isLoggedIn || false}\n userEmail={context.userEmail || null}\n setLogInInfo={context.updateContext}\n />\n )}\n </AppContext.Consumer>\n );\n};\n\nexport default withLogInInfo;\n","import languages from '@App/Constants/languages';\n\nconst keys = {\n locale: 'locale',\n lastScrollPosition: 'pos',\n isloggedIn: 'isloggedIn',\n};\n\nexport const setLocale = (locale: string): void => {\n localStorage.setItem(keys.locale, locale);\n};\n\nexport const getLocale = (): string =>\n localStorage.getItem(keys.locale) || languages[languages.en];\n\nexport const setLastScrollPosition = (): void => {\n sessionStorage.setItem(\n keys.lastScrollPosition,\n window.pageYOffset.toString()\n );\n};\n\nexport const getLastScrollPosition = (): number =>\n Number(sessionStorage.getItem(keys.lastScrollPosition)) || 0;\n\nexport const setLogInInfo = (isloggedIn: boolean): void => {\n localStorage.setItem(keys.isloggedIn, isloggedIn ? 'true' : 'false');\n};\n\nexport const getLogInInfo = (): boolean => {\n const isLoggedIn = localStorage.getItem(keys.isloggedIn);\n\n return isLoggedIn === 'true' || false;\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"navigationBar_wrapper__UvSJu\",\"navbar-wrapper\":\"navigationBar_navbar-wrapper__1kH6A\",\"logo\":\"navigationBar_logo__t84ZJ\",\"align-logo\":\"navigationBar_align-logo__1Fiyg\",\"nav-title\":\"navigationBar_nav-title__1tqyy\",\"active\":\"navigationBar_active__15zDQ\",\"collapse-button\":\"navigationBar_collapse-button__28Muv\",\"collapse\":\"navigationBar_collapse__3cXY9\",\"list\":\"navigationBar_list__117P1\",\"item\":\"navigationBar_item__1cjKi\",\"language-item\":\"navigationBar_language-item__2R4jE\",\"small-bar\":\"navigationBar_small-bar__1u4tT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"contactForm_wrapper__3fHlC\",\"title\":\"contactForm_title__1UzxF\",\"button\":\"contactForm_button__3VhpG\",\"spinner\":\"contactForm_spinner__18gPh\",\"form\":\"contactForm_form__1vJz2\",\"form-input\":\"contactForm_form-input__3ujJp\",\"message\":\"contactForm_message__3Jmf_\",\"input-label\":\"contactForm_input-label__2zuv7\",\"image\":\"contactForm_image__1Q_ju\",\"input-file\":\"contactForm_input-file__1UgjD\",\"remove-file\":\"contactForm_remove-file__12GNm\",\"error-message\":\"contactForm_error-message__mSzNt\",\"provision\":\"contactForm_provision__Xjwdq\"};","import appConfigs from 'appConfigs';\n\nimport { getLocale } from '@App/Utils/storage';\n\nexport type Value = string | number | boolean | [] | { [key: string]: Value };\ntype Method = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\ntype Data = FormData | Value | Value[];\n\nconst defaultOptions: RequestInit = {\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'Accept-Language': '',\n },\n mode: 'cors',\n credentials: 'include',\n};\n\nconst isAllowedValue = (value: Value): Value =>\n value || value === 0 || value === false;\n\nconst parseQueryToString = (object?: { [key: string]: Value }): string => {\n let result = '';\n\n if (object) {\n Object.keys(object).forEach(\n (key: string): void => {\n const value = object[key];\n\n if (isAllowedValue(value)) {\n if (value instanceof Array) {\n value.forEach(\n (v: Value): void => {\n result += `&${key}=${v}`;\n }\n );\n } else {\n result += `&${key}=${value}`;\n }\n }\n }\n );\n }\n\n return !result ? result : `?${result.slice(1, result.length)}`;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst handleResponse = async (response: Response): Promise<any> => {\n if (!response.ok) {\n throw response;\n }\n\n if (response.status !== 204) {\n try {\n return await response.json();\n } catch {\n // do something else\n }\n }\n\n return null;\n};\n\nconst fetchApi = async (\n url: string,\n options?: {\n method?: Method;\n data?: Data;\n headers?: { [key: string]: string };\n }\n): Promise<Response> => {\n const { domain, apiPath } = appConfigs.endpoint;\n const request: RequestInit = { ...defaultOptions };\n\n if (options) {\n const { method, data, headers } = options;\n request.method = method || 'GET';\n if (data) {\n if (data instanceof FormData) {\n request.headers = {};\n request.body = data;\n } else {\n request.body = JSON.stringify(data);\n }\n }\n if (headers) {\n request.headers = { ...request.headers, ...headers };\n }\n }\n\n return fetch(`${domain}/${apiPath}/${url}`, request);\n};\n\ninterface PagingData<T> {\n total: number;\n data: T[];\n}\n\nexport const getApi = async <T>(\n url: string,\n hasLanguage: boolean = true\n): Promise<T | null> => {\n const response = await fetchApi(url, {\n headers: hasLanguage ? { 'Accept-Language': getLocale() } : undefined,\n });\n const result: T = await handleResponse(response);\n\n return result;\n};\n\nexport const getListApi = async <T>(\n url: string,\n filters?: { [key: string]: Value },\n hasLanguage: boolean = true\n): Promise<T[]> => {\n const query = parseQueryToString(filters);\n const list = await getApi<T[]>(`${url}${query}`, hasLanguage);\n\n if (list === null) {\n return [];\n }\n\n return list;\n};\n\nexport const getPagingApi = async <T>(\n url: string,\n filters?: { [key: string]: Value },\n hasLanguage: boolean = true\n): Promise<PagingData<T> | null> => {\n const query = parseQueryToString(filters);\n const response = await fetchApi(`${url}${query}`, {\n headers: hasLanguage ? { 'Accept-Language': getLocale() } : undefined,\n });\n\n const data: T[] = await handleResponse(response);\n\n if (data) {\n const contentRange = response.headers.get('Content-Range');\n if (contentRange) {\n const total = parseInt(contentRange.split('/')[1], 10);\n\n return { total, data };\n }\n }\n\n return null;\n};\n\nexport const postApi = async <T>(\n url: string,\n data?: Data\n): Promise<T | null> => {\n const response = await fetchApi(url, {\n method: 'POST',\n data,\n });\n const result: T = await handleResponse(response);\n\n return result;\n};\n\nexport const putApi = async (url: string, data: Data): Promise<boolean> => {\n const response = await fetchApi(url, { method: 'PUT', data });\n\n return response.ok;\n};\n\nexport const deleteApi = async (url: string): Promise<boolean> => {\n const response = await fetchApi(url, { method: 'DELETE' });\n\n return response.ok;\n};\n","import { isMicrosoftBrowser, isSafari } from './detectBrowser';\n\nconst defaultScrollOffset = 60;\nconst defaultScrollOptions: ScrollOptions = { behavior: 'smooth' };\n\nconst getElementPosition = (id: string): number | null => {\n const element = document.getElementById(id);\n\n if (!element) {\n return null;\n }\n\n const bodyRect = document.body.getBoundingClientRect().top;\n const elementRect = element.getBoundingClientRect().top;\n\n return elementRect - bodyRect;\n};\n\nconst smoothScrollForOldBrowsers = (offsetPosition: number): void => {\n const { pageYOffset } = window;\n const distance = Math.max(0, offsetPosition) - pageYOffset;\n const startTime = new Date().getTime();\n const defaultDuration = 999;\n const duration = Math.min(Math.abs(distance), defaultDuration);\n\n const timer = setInterval((): void => {\n const speed = Math.min(1, (new Date().getTime() - startTime) / duration);\n const nextPosition = Math.max(\n 0,\n Math.floor(\n pageYOffset +\n distance *\n (speed < 0.5 ? 2 * speed ** 2 : speed * (4 - speed * 2) - 1)\n )\n );\n\n window.scrollTo(0, nextPosition);\n Math.floor(offsetPosition) === nextPosition && clearInterval(timer);\n }, 10);\n};\n\nconst scrollToElement = (\n id: string,\n offset: number = defaultScrollOffset,\n options: ScrollOptions = defaultScrollOptions\n): void => {\n const elementPosition = getElementPosition(id);\n\n if (elementPosition === null) {\n return;\n }\n\n const maxScrollOffset =\n document.documentElement.scrollHeight -\n document.documentElement.clientHeight -\n 1;\n const offsetPosition = Math.min(elementPosition - offset, maxScrollOffset);\n\n if (isMicrosoftBrowser() || isSafari()) {\n smoothScrollForOldBrowsers(offsetPosition);\n } else {\n window.scrollTo({\n ...options,\n top: offsetPosition,\n });\n }\n};\n\nexport { getElementPosition, scrollToElement };\n","export const isMicrosoftBrowser = (): boolean => {\n const { userAgent } = window.navigator;\n const userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n};\n\nexport const isSafari = (): boolean =>\n navigator.userAgent.toLowerCase().indexOf('safari/') > -1 &&\n navigator.userAgent.toLowerCase().indexOf('chrome') < 0;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"card_wrapper__1jthR\",\"card\":\"card_card__3xxm4\",\"summary\":\"card_summary__318Ng\",\"image-wrapper\":\"card_image-wrapper__1t0WX\",\"image\":\"card_image__5c0V0\",\"button-wrapper\":\"card_button-wrapper__17lcP\",\"title\":\"card_title__2YnwT\",\"button\":\"card_button__2oL7B\",\"description\":\"card_description__P7J9v\",\"reverse\":\"card_reverse__3UliI\",\"active\":\"card_active__cJDnf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"card_wrapper__3tsYT\",\"card\":\"card_card__2nBx9\",\"summary\":\"card_summary__3WXEY\",\"description\":\"card_description__1bE6r\",\"image-wrapper\":\"card_image-wrapper__2bRKG\",\"image\":\"card_image__DS9f_\",\"button-wrapper\":\"card_button-wrapper__mHPgE\",\"title\":\"card_title__3v1tZ\",\"button\":\"card_button__2bTfI\",\"active\":\"card_active__2tBgK\"};","enum Languages {\n en,\n it,\n vi,\n}\n\nexport default Languages;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"partners_wrapper__IzILY\",\"title\":\"partners_title__2Kpg4\",\"custom-slider\":\"partners_custom-slider__NXJNJ\",\"item\":\"partners_item__3sUAA\",\"image\":\"partners_image__3HU2e\",\"arrow\":\"partners_arrow__yhcpp\",\"left\":\"partners_left__3MLIf\",\"right\":\"partners_right__3Bsal\"};","import appConfigs from 'appConfigs';\nimport languages from '@App/Constants/languages';\nimport sectionsId from '@App/Constants/sections';\n\nexport default {\n brand: {\n image: 'logo-white.svg',\n alt: 'logo-2clicksolutions',\n },\n navs: [\n {\n id: sectionsId.storySection,\n title: 'navbar.story',\n },\n {\n id: sectionsId.innovationSection,\n title: 'navbar.innovation',\n },\n {\n id: sectionsId.intelligenceSection,\n title: 'navbar.intelligence',\n },\n {\n id: sectionsId.methodSection,\n title: 'navbar.method',\n },\n {\n id: sectionsId.contactSection,\n title: 'navbar.contact',\n },\n {\n id: sectionsId.jobsSection,\n title: 'navbar.jobs',\n href: appConfigs.jobsLink,\n },\n {\n id: sectionsId.blogSection,\n title: 'navbar.blog',\n },\n ],\n languages: [\n {\n locale: languages[languages.en],\n title: 'English',\n },\n {\n locale: languages[languages.it],\n title: 'Italian',\n },\n {\n locale: languages[languages.vi],\n title: 'Vietnamese',\n },\n ],\n};\n","import React, { useEffect } from 'react';\nimport { getLocale, setLocale } from '@App/Utils/storage';\n\nimport headerConfigs from '../configs';\nimport styles from './languagesButton.module.scss';\n\nconst LanguagesButton: React.FC = () => {\n const [isToggle, setToggle] = React.useState(false);\n const ref = React.useRef<HTMLDivElement>(null);\n const { languages } = headerConfigs;\n\n useEffect((): (() => void) => {\n const mouseDownListener = (event: MouseEvent): void => {\n const divRef = ref.current as HTMLDivElement;\n if (divRef && !divRef.contains(event.target as Node)) {\n setToggle(false);\n }\n };\n window.addEventListener('mousedown', mouseDownListener);\n\n return (): void => {\n window.removeEventListener('mousedown', mouseDownListener);\n };\n }, []);\n\n const switchLanguage = (language: string): void => {\n setLocale(language);\n window.location.reload();\n };\n\n return (\n <div\n role=\"presentation\"\n className={styles.wrapper}\n onClick={(): void => {\n setToggle(!isToggle);\n }}\n ref={ref}\n >\n <span>{getLocale()}</span>\n <ul className={`${styles.list} ${isToggle ? styles.active : ''}`}>\n {languages.map(\n (item): React.ReactNode => (\n <li\n role=\"presentation\"\n key={item.locale}\n onClick={(): void => {\n item.locale !== getLocale() && switchLanguage(item.locale);\n }}\n className={`${styles.item} ${\n item.locale === getLocale() ? styles.active : ''\n }`}\n >\n {item.title}\n </li>\n )\n )}\n </ul>\n </div>\n );\n};\n\nexport default LanguagesButton;\n","import React, { useEffect } from 'react';\nimport {\n Collapse,\n Nav,\n NavItem,\n NavLink,\n Navbar,\n NavbarBrand,\n} from 'reactstrap';\nimport { FormattedMessage } from 'react-intl';\nimport debounce from 'lodash.debounce';\n\nimport { getElementPosition, scrollToElement } from '@App/Utils/scroll';\nimport Layout from '@App/Components/Layout';\nimport { getImage } from '@App/Services/asset';\nimport headerConfigs from '@App/Components/NavigationBar/configs';\nimport history from '@App/History';\nimport routePaths from '@App/Constants/routePaths';\nimport sectionsId from '@App/Constants/sections';\nimport { setLastScrollPosition } from '@App/Utils/storage';\nimport ButtonHamberger from '@App/Components/ButtonHamberger';\n\nimport styles from './navigationBar.module.scss';\nimport LanguagesButton from './LanguagesButton';\n\ninterface SectionPositionType {\n id: string;\n position: number | null;\n}\n\ninterface NavigationBarProps {\n isShownNavbarItems?: boolean;\n}\n\nconst NavigationBar: React.FC<NavigationBarProps> = ({\n isShownNavbarItems = true,\n}) => {\n const ref = React.useRef<HTMLDivElement>(null);\n const { brand, navs } = headerConfigs;\n const [isCollapsed, setCollapse] = React.useState(false);\n const [isActivated, setActive] = React.useState('');\n const [isSmallBar, setSmallBar] = React.useState(false);\n\n useEffect((): (() => void) => {\n const sectionToTopDistance = 200;\n const firstSectionHeight = 600;\n\n const debounced = debounce((): void => {\n const sectionsPosition = headerConfigs.navs.map(\n (n): SectionPositionType => ({\n id: n.id,\n position: getElementPosition(n.id),\n })\n );\n\n const lastScrollY = window.pageYOffset;\n\n if (lastScrollY < firstSectionHeight) {\n setActive('');\n setSmallBar(false);\n\n return;\n }\n\n sectionsPosition.forEach(\n (s): void => {\n if (s.position && s.position - lastScrollY < sectionToTopDistance) {\n setActive(s.id);\n setSmallBar(true);\n }\n }\n );\n }, 100);\n\n const mouseDownListener = (event: MouseEvent): void => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isHambergerButton = (event.target as any).className.includes(\n 'buttonHamberger'\n );\n\n const divRef = ref.current as HTMLDivElement;\n if (\n divRef &&\n !divRef.contains(event.target as Node) &&\n !isHambergerButton\n ) {\n setCollapse(false);\n }\n };\n\n window.addEventListener('scroll', debounced);\n window.addEventListener('mousedown', mouseDownListener);\n\n return (): void => {\n debounced.cancel();\n window.removeEventListener('scroll', debounced);\n window.removeEventListener('mousedown', mouseDownListener);\n };\n }, []);\n\n const selectTab = (tab: string): void => {\n if (tab === sectionsId.blogSection) {\n setLastScrollPosition();\n history.push(routePaths.blogs.path);\n } else {\n scrollToElement(tab);\n setActive(tab);\n }\n };\n\n const onBrandClicked = (): void => {\n if (isShownNavbarItems) {\n scrollToElement(sectionsId.homeSection);\n } else {\n history.push(routePaths.main.path);\n }\n };\n\n return (\n <Layout className={styles.wrapper}>\n <Navbar\n expand=\"lg\"\n className={`${styles['navbar-wrapper']} ${isSmallBar &&\n styles['small-bar']}`}\n >\n <NavbarBrand onClick={onBrandClicked}>\n <img\n alt={brand.alt}\n src={getImage(brand.image)}\n className={`${styles.logo} ${\n !isShownNavbarItems ? styles['align-logo'] : ''\n }`}\n />\n </NavbarBrand>\n\n {isShownNavbarItems ? (\n <React.Fragment>\n <ButtonHamberger\n onClick={(): void => setCollapse(!isCollapsed)}\n active={isCollapsed}\n className={styles['collapse-button']}\n />\n <Collapse\n isOpen={isCollapsed}\n navbar\n className={styles.collapse}\n innerRef={ref}\n >\n <Nav className={`ml-auto ${styles.list}`} navbar>\n {navs.map(\n (item): React.ReactChild => (\n <NavItem key={item.id} className={styles.item}>\n <NavLink\n className={`${styles['nav-title']} ${\n isActivated === item.id ? styles.active : ''\n }`}\n onClick={(): void => selectTab(item.id)}\n href={item.href}\n >\n <FormattedMessage id={item.title} />\n </NavLink>\n </NavItem>\n )\n )}\n <NavItem className={styles['language-item']}>\n <LanguagesButton />\n </NavItem>\n </Nav>\n </Collapse>\n </React.Fragment>\n ) : null}\n </Navbar>\n </Layout>\n );\n};\n\nexport default NavigationBar;\n","export { default } from './NavigationBar';\nexport { default as navigationBarConfigs } from './configs';\nexport { default as navigationBarStyles } from './navigationBar.module.scss';\n","import React from 'react';\n\nimport styles from './buttonHamberger.module.scss';\n\ninterface Props {\n active?: boolean;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n className?: string;\n}\n\nconst ButtonHamberger: React.FC<Props> = ({\n active = false,\n onClick = (): void => {},\n className = '',\n}) => (\n <div\n role=\"presentation\"\n onClick={onClick}\n className={`${styles.wrapper} ${className} ${active ? styles.active : ''}`}\n >\n <span className={styles.line} />\n </div>\n);\n\nexport default ButtonHamberger;\n","export { default } from './ButtonHamberger';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"contactSection_content__1kme7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"cardDropDown_wrapper__Ejx7R\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"cardFlipping_wrapper__32ao0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"lazyLoading_loader__onp7N\",\"spin\":\"lazyLoading_spin__3ETt4\"};","export default {\n homeSection: 'home-section',\n storySection: 'story-section',\n innovationSection: 'innovation-section',\n intelligenceSection: 'intelligence-section',\n methodSection: 'method-section',\n contactSection: 'contact-section',\n jobsSection: 'jobs-section',\n blogSection: 'blog-section',\n};\n","import appConfigs from 'appConfigs';\nimport { createBrowserHistory } from 'history';\n\nexport default createBrowserHistory({ basename: appConfigs.baseUrl });\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"intelligenceCards_wrapper__2i5cl\",\"card\":\"intelligenceCards_card__fS8RJ\",\"sumary\":\"intelligenceCards_sumary__22aYw\",\"title\":\"intelligenceCards_title__19d3e\",\"description\":\"intelligenceCards_description__1JA0g\",\"active\":\"intelligenceCards_active__3h5QA\",\"grid\":\"intelligenceCards_grid__35Eq9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"layout\":\"footer_layout__3XLyB\",\"wrapper\":\"footer_wrapper__1H4aO\",\"copy-right\":\"footer_copy-right__1cBb6\",\"socials\":\"footer_socials__tZVWq\",\"item\":\"footer_item__yL5yI\",\"logo\":\"footer_logo__ZHIC4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"languagesButton_wrapper__3OVW5\",\"list\":\"languagesButton_list__2rRxX\",\"item\":\"languagesButton_item__sOjPa\",\"active\":\"languagesButton_active__3Q6sK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"contact_wrapper__1A7uz\",\"contact-description-wrapper\":\"contact_contact-description-wrapper__1Y5DB\",\"title\":\"contact_title__3odrf\",\"button\":\"contact_button__1bdfL\",\"sentence\":\"contact_sentence__8LrPM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"location_wrapper__3C4AB\",\"location\":\"location_location__3aJXc\",\"title\":\"location_title__13ptd\",\"text\":\"location_text__14eHi\",\"email\":\"location_email__1VGXS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"buttonNextSection_wrapper__3BVrz\",\"title\":\"buttonNextSection_title__2Yc81\",\"arrow\":\"buttonNextSection_arrow__1xZEH\",\"item\":\"buttonNextSection_item__2RQl0\",\"colorSliding\":\"buttonNextSection_colorSliding__1eO-Q\",\"reverse\":\"buttonNextSection_reverse__vaviW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"main_wrapper__2Xnh_\",\"home-section\":\"main_home-section__38nBZ\",\"colorchange\":\"main_colorchange__2XhjH\",\"story-section\":\"main_story-section__1p4Ev\",\"innovation-section\":\"main_innovation-section__17t8e\",\"intelligence-section\":\"main_intelligence-section__3STuc\",\"method-section\":\"main_method-section__G-2UJ\",\"contact-section\":\"main_contact-section__o5Ic1\"};","import appConfigs from 'appConfigs';\n\nexport const getIcon = (fileName: string): string =>\n `/${appConfigs.assets.icons}/${fileName}`;\nexport const getImage = (fileName: string): string =>\n `/${appConfigs.assets.images}/${fileName}`;\n","module.exports = {\"assets\":{\"icons\":\"assets/icons\",\"images\":\"assets/images\"},\"endpoint\":{\"domain\":\"https://2cs-api.azurewebsites.net\",\"apiPath\":\"api\",\"wwwroot\":{\"assetPath\":\"assets\",\"imagesPath\":\"images\"},\"controllers\":{\"sections\":\"sections\",\"locations\":\"locations\",\"partners\":\"partners\",\"auth\":\"auth\",\"image\":\"image\",\"contact\":\"contact\",\"settings\":\"settings\"}},\"settings\":{\"homeVideoName\":\"HomeVideoUrl\"},\"baseUrl\":\"/\",\"socialLinks\":{\"facebook\":\"https://www.facebook.com/2clicksolutions/\",\"linkedin\":\"https://www.linkedin.com/company/2click-solutions/\"},\"jobsLink\":\"//jobs.2clicksolutions.com\"};","var map = {\n\t\"./\": 968,\n\t\"./af\": 324,\n\t\"./af.js\": 324,\n\t\"./agq\": 325,\n\t\"./agq.js\": 325,\n\t\"./ak\": 326,\n\t\"./ak.js\": 326,\n\t\"./am\": 327,\n\t\"./am.js\": 327,\n\t\"./ar\": 328,\n\t\"./ar.js\": 328,\n\t\"./ars\": 329,\n\t\"./ars.js\": 329,\n\t\"./as\": 330,\n\t\"./as.js\": 330,\n\t\"./asa\": 331,\n\t\"./asa.js\": 331,\n\t\"./ast\": 332,\n\t\"./ast.js\": 332,\n\t\"./az\": 333,\n\t\"./az.js\": 333,\n\t\"./bas\": 334,\n\t\"./bas.js\": 334,\n\t\"./be\": 335,\n\t\"./be.js\": 335,\n\t\"./bem\": 336,\n\t\"./bem.js\": 336,\n\t\"./bez\": 337,\n\t\"./bez.js\": 337,\n\t\"./bg\": 338,\n\t\"./bg.js\": 338,\n\t\"./bh\": 339,\n\t\"./bh.js\": 339,\n\t\"./bm\": 340,\n\t\"./bm.js\": 340,\n\t\"./bn\": 341,\n\t\"./bn.js\": 341,\n\t\"./bo\": 342,\n\t\"./bo.js\": 342,\n\t\"./br\": 343,\n\t\"./br.js\": 343,\n\t\"./brx\": 344,\n\t\"./brx.js\": 344,\n\t\"./bs\": 345,\n\t\"./bs.js\": 345,\n\t\"./ca\": 346,\n\t\"./ca.js\": 346,\n\t\"./ccp\": 347,\n\t\"./ccp.js\": 347,\n\t\"./ce\": 348,\n\t\"./ce.js\": 348,\n\t\"./cgg\": 349,\n\t\"./cgg.js\": 349,\n\t\"./chr\": 350,\n\t\"./chr.js\": 350,\n\t\"./ckb\": 351,\n\t\"./ckb.js\": 351,\n\t\"./cs\": 352,\n\t\"./cs.js\": 352,\n\t\"./cu\": 353,\n\t\"./cu.js\": 353,\n\t\"./cy\": 354,\n\t\"./cy.js\": 354,\n\t\"./da\": 355,\n\t\"./da.js\": 355,\n\t\"./dav\": 356,\n\t\"./dav.js\": 356,\n\t\"./de\": 357,\n\t\"./de.js\": 357,\n\t\"./dje\": 358,\n\t\"./dje.js\": 358,\n\t\"./dsb\": 359,\n\t\"./dsb.js\": 359,\n\t\"./dua\": 360,\n\t\"./dua.js\": 360,\n\t\"./dv\": 361,\n\t\"./dv.js\": 361,\n\t\"./dyo\": 362,\n\t\"./dyo.js\": 362,\n\t\"./dz\": 363,\n\t\"./dz.js\": 363,\n\t\"./ebu\": 364,\n\t\"./ebu.js\": 364,\n\t\"./ee\": 365,\n\t\"./ee.js\": 365,\n\t\"./el\": 366,\n\t\"./el.js\": 366,\n\t\"./en\": 367,\n\t\"./en.js\": 367,\n\t\"./eo\": 368,\n\t\"./eo.js\": 368,\n\t\"./es\": 369,\n\t\"./es.js\": 369,\n\t\"./et\": 370,\n\t\"./et.js\": 370,\n\t\"./eu\": 371,\n\t\"./eu.js\": 371,\n\t\"./ewo\": 372,\n\t\"./ewo.js\": 372,\n\t\"./fa\": 373,\n\t\"./fa.js\": 373,\n\t\"./ff\": 374,\n\t\"./ff.js\": 374,\n\t\"./fi\": 375,\n\t\"./fi.js\": 375,\n\t\"./fil\": 376,\n\t\"./fil.js\": 376,\n\t\"./fo\": 377,\n\t\"./fo.js\": 377,\n\t\"./fr\": 378,\n\t\"./fr.js\": 378,\n\t\"./fur\": 379,\n\t\"./fur.js\": 379,\n\t\"./fy\": 380,\n\t\"./fy.js\": 380,\n\t\"./ga\": 381,\n\t\"./ga.js\": 381,\n\t\"./gd\": 382,\n\t\"./gd.js\": 382,\n\t\"./gl\": 383,\n\t\"./gl.js\": 383,\n\t\"./gsw\": 384,\n\t\"./gsw.js\": 384,\n\t\"./gu\": 385,\n\t\"./gu.js\": 385,\n\t\"./guw\": 386,\n\t\"./guw.js\": 386,\n\t\"./guz\": 387,\n\t\"./guz.js\": 387,\n\t\"./gv\": 388,\n\t\"./gv.js\": 388,\n\t\"./ha\": 389,\n\t\"./ha.js\": 389,\n\t\"./haw\": 390,\n\t\"./haw.js\": 390,\n\t\"./he\": 391,\n\t\"./he.js\": 391,\n\t\"./hi\": 392,\n\t\"./hi.js\": 392,\n\t\"./hr\": 393,\n\t\"./hr.js\": 393,\n\t\"./hsb\": 394,\n\t\"./hsb.js\": 394,\n\t\"./hu\": 395,\n\t\"./hu.js\": 395,\n\t\"./hy\": 396,\n\t\"./hy.js\": 396,\n\t\"./ia\": 397,\n\t\"./ia.js\": 397,\n\t\"./id\": 398,\n\t\"./id.js\": 398,\n\t\"./ig\": 399,\n\t\"./ig.js\": 399,\n\t\"./ii\": 400,\n\t\"./ii.js\": 400,\n\t\"./in\": 401,\n\t\"./in.js\": 401,\n\t\"./index\": 969,\n\t\"./index.js\": 970,\n\t\"./io\": 402,\n\t\"./io.js\": 402,\n\t\"./is\": 403,\n\t\"./is.js\": 403,\n\t\"./it\": 404,\n\t\"./it.js\": 404,\n\t\"./iu\": 405,\n\t\"./iu.js\": 405,\n\t\"./iw\": 406,\n\t\"./iw.js\": 406,\n\t\"./ja\": 407,\n\t\"./ja.js\": 407,\n\t\"./jbo\": 408,\n\t\"./jbo.js\": 408,\n\t\"./jgo\": 409,\n\t\"./jgo.js\": 409,\n\t\"./ji\": 410,\n\t\"./ji.js\": 410,\n\t\"./jmc\": 411,\n\t\"./jmc.js\": 411,\n\t\"./jv\": 412,\n\t\"./jv.js\": 412,\n\t\"./jw\": 413,\n\t\"./jw.js\": 413,\n\t\"./ka\": 414,\n\t\"./ka.js\": 414,\n\t\"./kab\": 415,\n\t\"./kab.js\": 415,\n\t\"./kaj\": 416,\n\t\"./kaj.js\": 416,\n\t\"./kam\": 417,\n\t\"./kam.js\": 417,\n\t\"./kcg\": 418,\n\t\"./kcg.js\": 418,\n\t\"./kde\": 419,\n\t\"./kde.js\": 419,\n\t\"./kea\": 420,\n\t\"./kea.js\": 420,\n\t\"./khq\": 421,\n\t\"./khq.js\": 421,\n\t\"./ki\": 422,\n\t\"./ki.js\": 422,\n\t\"./kk\": 423,\n\t\"./kk.js\": 423,\n\t\"./kkj\": 424,\n\t\"./kkj.js\": 424,\n\t\"./kl\": 425,\n\t\"./kl.js\": 425,\n\t\"./kln\": 426,\n\t\"./kln.js\": 426,\n\t\"./km\": 427,\n\t\"./km.js\": 427,\n\t\"./kn\": 428,\n\t\"./kn.js\": 428,\n\t\"./ko\": 429,\n\t\"./ko.js\": 429,\n\t\"./kok\": 430,\n\t\"./kok.js\": 430,\n\t\"./ks\": 431,\n\t\"./ks.js\": 431,\n\t\"./ksb\": 432,\n\t\"./ksb.js\": 432,\n\t\"./ksf\": 433,\n\t\"./ksf.js\": 433,\n\t\"./ksh\": 434,\n\t\"./ksh.js\": 434,\n\t\"./ku\": 435,\n\t\"./ku.js\": 435,\n\t\"./kw\": 436,\n\t\"./kw.js\": 436,\n\t\"./ky\": 437,\n\t\"./ky.js\": 437,\n\t\"./lag\": 438,\n\t\"./lag.js\": 438,\n\t\"./lb\": 439,\n\t\"./lb.js\": 439,\n\t\"./lg\": 440,\n\t\"./lg.js\": 440,\n\t\"./lkt\": 441,\n\t\"./lkt.js\": 441,\n\t\"./ln\": 442,\n\t\"./ln.js\": 442,\n\t\"./lo\": 443,\n\t\"./lo.js\": 443,\n\t\"./lrc\": 444,\n\t\"./lrc.js\": 444,\n\t\"./lt\": 445,\n\t\"./lt.js\": 445,\n\t\"./lu\": 446,\n\t\"./lu.js\": 446,\n\t\"./luo\": 447,\n\t\"./luo.js\": 447,\n\t\"./luy\": 448,\n\t\"./luy.js\": 448,\n\t\"./lv\": 449,\n\t\"./lv.js\": 449,\n\t\"./mas\": 450,\n\t\"./mas.js\": 450,\n\t\"./mer\": 451,\n\t\"./mer.js\": 451,\n\t\"./mfe\": 452,\n\t\"./mfe.js\": 452,\n\t\"./mg\": 453,\n\t\"./mg.js\": 453,\n\t\"./mgh\": 454,\n\t\"./mgh.js\": 454,\n\t\"./mgo\": 455,\n\t\"./mgo.js\": 455,\n\t\"./mi\": 456,\n\t\"./mi.js\": 456,\n\t\"./mk\": 457,\n\t\"./mk.js\": 457,\n\t\"./ml\": 458,\n\t\"./ml.js\": 458,\n\t\"./mn\": 459,\n\t\"./mn.js\": 459,\n\t\"./mo\": 460,\n\t\"./mo.js\": 460,\n\t\"./mr\": 461,\n\t\"./mr.js\": 461,\n\t\"./ms\": 462,\n\t\"./ms.js\": 462,\n\t\"./mt\": 463,\n\t\"./mt.js\": 463,\n\t\"./mua\": 464,\n\t\"./mua.js\": 464,\n\t\"./my\": 465,\n\t\"./my.js\": 465,\n\t\"./mzn\": 466,\n\t\"./mzn.js\": 466,\n\t\"./nah\": 467,\n\t\"./nah.js\": 467,\n\t\"./naq\": 468,\n\t\"./naq.js\": 468,\n\t\"./nb\": 469,\n\t\"./nb.js\": 469,\n\t\"./nd\": 470,\n\t\"./nd.js\": 470,\n\t\"./nds\": 471,\n\t\"./nds.js\": 471,\n\t\"./ne\": 472,\n\t\"./ne.js\": 472,\n\t\"./nl\": 473,\n\t\"./nl.js\": 473,\n\t\"./nmg\": 474,\n\t\"./nmg.js\": 474,\n\t\"./nn\": 475,\n\t\"./nn.js\": 475,\n\t\"./nnh\": 476,\n\t\"./nnh.js\": 476,\n\t\"./no\": 477,\n\t\"./no.js\": 477,\n\t\"./nqo\": 478,\n\t\"./nqo.js\": 478,\n\t\"./nr\": 479,\n\t\"./nr.js\": 479,\n\t\"./nso\": 480,\n\t\"./nso.js\": 480,\n\t\"./nus\": 481,\n\t\"./nus.js\": 481,\n\t\"./ny\": 482,\n\t\"./ny.js\": 482,\n\t\"./nyn\": 483,\n\t\"./nyn.js\": 483,\n\t\"./om\": 484,\n\t\"./om.js\": 484,\n\t\"./or\": 485,\n\t\"./or.js\": 485,\n\t\"./os\": 486,\n\t\"./os.js\": 486,\n\t\"./pa\": 487,\n\t\"./pa.js\": 487,\n\t\"./pap\": 488,\n\t\"./pap.js\": 488,\n\t\"./pl\": 489,\n\t\"./pl.js\": 489,\n\t\"./prg\": 490,\n\t\"./prg.js\": 490,\n\t\"./ps\": 491,\n\t\"./ps.js\": 491,\n\t\"./pt\": 492,\n\t\"./pt.js\": 492,\n\t\"./qu\": 493,\n\t\"./qu.js\": 493,\n\t\"./rm\": 494,\n\t\"./rm.js\": 494,\n\t\"./rn\": 495,\n\t\"./rn.js\": 495,\n\t\"./ro\": 496,\n\t\"./ro.js\": 496,\n\t\"./rof\": 497,\n\t\"./rof.js\": 497,\n\t\"./ru\": 498,\n\t\"./ru.js\": 498,\n\t\"./rw\": 499,\n\t\"./rw.js\": 499,\n\t\"./rwk\": 500,\n\t\"./rwk.js\": 500,\n\t\"./sah\": 501,\n\t\"./sah.js\": 501,\n\t\"./saq\": 502,\n\t\"./saq.js\": 502,\n\t\"./sbp\": 503,\n\t\"./sbp.js\": 503,\n\t\"./sc\": 504,\n\t\"./sc.js\": 504,\n\t\"./scn\": 505,\n\t\"./scn.js\": 505,\n\t\"./sd\": 506,\n\t\"./sd.js\": 506,\n\t\"./sdh\": 507,\n\t\"./sdh.js\": 507,\n\t\"./se\": 508,\n\t\"./se.js\": 508,\n\t\"./seh\": 509,\n\t\"./seh.js\": 509,\n\t\"./ses\": 510,\n\t\"./ses.js\": 510,\n\t\"./sg\": 511,\n\t\"./sg.js\": 511,\n\t\"./sh\": 512,\n\t\"./sh.js\": 512,\n\t\"./shi\": 513,\n\t\"./shi.js\": 513,\n\t\"./si\": 514,\n\t\"./si.js\": 514,\n\t\"./sk\": 515,\n\t\"./sk.js\": 515,\n\t\"./sl\": 516,\n\t\"./sl.js\": 516,\n\t\"./sma\": 517,\n\t\"./sma.js\": 517,\n\t\"./smi\": 518,\n\t\"./smi.js\": 518,\n\t\"./smj\": 519,\n\t\"./smj.js\": 519,\n\t\"./smn\": 520,\n\t\"./smn.js\": 520,\n\t\"./sms\": 521,\n\t\"./sms.js\": 521,\n\t\"./sn\": 522,\n\t\"./sn.js\": 522,\n\t\"./so\": 523,\n\t\"./so.js\": 523,\n\t\"./sq\": 524,\n\t\"./sq.js\": 524,\n\t\"./sr\": 525,\n\t\"./sr.js\": 525,\n\t\"./ss\": 526,\n\t\"./ss.js\": 526,\n\t\"./ssy\": 527,\n\t\"./ssy.js\": 527,\n\t\"./st\": 528,\n\t\"./st.js\": 528,\n\t\"./sv\": 529,\n\t\"./sv.js\": 529,\n\t\"./sw\": 530,\n\t\"./sw.js\": 530,\n\t\"./syr\": 531,\n\t\"./syr.js\": 531,\n\t\"./ta\": 532,\n\t\"./ta.js\": 532,\n\t\"./te\": 533,\n\t\"./te.js\": 533,\n\t\"./teo\": 534,\n\t\"./teo.js\": 534,\n\t\"./tg\": 535,\n\t\"./tg.js\": 535,\n\t\"./th\": 536,\n\t\"./th.js\": 536,\n\t\"./ti\": 537,\n\t\"./ti.js\": 537,\n\t\"./tig\": 538,\n\t\"./tig.js\": 538,\n\t\"./tk\": 539,\n\t\"./tk.js\": 539,\n\t\"./tl\": 540,\n\t\"./tl.js\": 540,\n\t\"./tn\": 541,\n\t\"./tn.js\": 541,\n\t\"./to\": 542,\n\t\"./to.js\": 542,\n\t\"./tr\": 543,\n\t\"./tr.js\": 543,\n\t\"./ts\": 544,\n\t\"./ts.js\": 544,\n\t\"./tt\": 545,\n\t\"./tt.js\": 545,\n\t\"./twq\": 546,\n\t\"./twq.js\": 546,\n\t\"./tzm\": 547,\n\t\"./tzm.js\": 547,\n\t\"./ug\": 548,\n\t\"./ug.js\": 548,\n\t\"./uk\": 549,\n\t\"./uk.js\": 549,\n\t\"./ur\": 550,\n\t\"./ur.js\": 550,\n\t\"./uz\": 551,\n\t\"./uz.js\": 551,\n\t\"./vai\": 552,\n\t\"./vai.js\": 552,\n\t\"./ve\": 553,\n\t\"./ve.js\": 553,\n\t\"./vi\": 554,\n\t\"./vi.js\": 554,\n\t\"./vo\": 555,\n\t\"./vo.js\": 555,\n\t\"./vun\": 556,\n\t\"./vun.js\": 556,\n\t\"./wa\": 557,\n\t\"./wa.js\": 557,\n\t\"./wae\": 558,\n\t\"./wae.js\": 558,\n\t\"./wo\": 559,\n\t\"./wo.js\": 559,\n\t\"./xh\": 560,\n\t\"./xh.js\": 560,\n\t\"./xog\": 561,\n\t\"./xog.js\": 561,\n\t\"./yav\": 562,\n\t\"./yav.js\": 562,\n\t\"./yi\": 563,\n\t\"./yi.js\": 563,\n\t\"./yo\": 564,\n\t\"./yo.js\": 564,\n\t\"./yue\": 565,\n\t\"./yue.js\": 565,\n\t\"./zgh\": 566,\n\t\"./zgh.js\": 566,\n\t\"./zh\": 567,\n\t\"./zh.js\": 567,\n\t\"./zu\": 568,\n\t\"./zu.js\": 568\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 967;","import en from './languages/en.json';\nimport it from './languages/it.json';\nimport vi from './languages/vi.json';\n\nexport default { en, vi, it };\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\nimport 'bootstrap/dist/css/bootstrap.css';\nimport 'slick-carousel/slick/slick.css';\nimport 'slick-carousel/slick/slick-theme.css';\nimport 'react-quill/dist/quill.snow.css';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { Redirect, Route, Router, Switch } from 'react-router-dom';\nimport map from 'lodash.map';\n\nimport '@App/Styles/index.scss';\nimport i18n from '@App/I18n';\nimport history from '@App/History';\nimport routePaths from '@App/Constants/routePaths';\nimport { getLocale } from '@App/Utils/storage';\n\nimport { AppContextProvider } from './AppContext';\nimport * as serviceWorker from './serviceWorker';\n\nconst locale = getLocale();\n// eslint-disable-next-line import/no-dynamic-require,@typescript-eslint/no-var-requires\nconst localeData = require(`react-intl/locale-data/${locale}`);\nconst messages: { [key: string]: { [key: string]: string } } = { ...i18n };\n\naddLocaleData([...localeData]);\n\nReactDOM.render(\n <IntlProvider locale={locale} messages={messages[locale]}>\n <React.Fragment>\n <AppContextProvider>\n <Router history={history}>\n <Switch>\n {map(\n routePaths,\n (props, key): React.ReactChild =>\n props.redirect ? (\n <Redirect key={key} to={props.path} />\n ) : (\n <Route key={key} {...props} />\n )\n )}\n </Switch>\n </Router>\n </AppContextProvider>\n </React.Fragment>\n </IntlProvider>,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}