{"version":3,"sources":["i18n.tsx","core/components/ReCAPTCHA/index.tsx","core/layouts/container/index.tsx","core/context/context.ts","core/layouts/backButtonLayout/styles.ts","core/layouts/backButtonLayout/index.tsx","core/components/Error/index.tsx","core/components/Text/DescreptionText.tsx","core/components/Rows/styles.ts","core/components/Rows/index.tsx","pages/Fail/styles.tsx","pages/Fail/index.tsx","core/utils/toBase64.ts","core/utils/patterns.ts","api/specific-exceptions.ts","api/generic-exceptions.ts","api/ContactUsApi/index.ts","api/index.ts","pages/ContactUs/styles.tsx","pages/ContactUs/index.tsx","routes/index.tsx","core/context/GlobalState.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["win","window","lng","storageLanguage","localStorage","getItem","indexOf","i18n","use","XHR","initReactI18next","init","debug","keySeparator","interpolation","escapeValue","backend","loadPath","allowMultiLoading","react","wait","useSuspense","props","recaptchaRef","onChange","process","toString","ref","size","sitekey","useStyles","makeStyles","theme","createStyles","root","height","overflow","FullscreenLayout","classes","className","children","React","createContext","_step","setStep","container","breakpoints","down","paddingLeft","spacing","paddingRieght","padding","steps","fontWeight","fontSize","button","marginTop","marginLeft","borderRadius","width","justifyContent","fontStyle","letterSpacing","input","borderColor","withRouter","useTranslation","useHistory","useContext","Context","useTheme","langDir","dir","Grid","style","direction","justify","alignItems","item","xs","Box","mt","pl","pr","ErrorComponent","customError","errors","name","patternMessage","minLength","maxLength","t","Typography","component","color","render","type","DescreptionText","text","mb","variant","display","flexDirection","rowContainer","flexWrap","gap","flex","Row","rest","RowItem","bigTextField","hieght","borderWidth","lineHeight","caretColor","textbutton","background","buttonSuccess","backgroundColor","green","buttonProgress","position","top","left","Fail","hideFail","thanksUrl","sm","disabled","loading","title","action","sessionStorage","thanksMessage","document","location","href","PrimaryButton","isRTL","Button","marginBottom","onClick","endIcon","cursor","mr","CircularProgress","TextButton","toBase64","el","Promise","resolve","reject","selectedFile","files","length","base64","fileToLoad","fileReader","FileReader","readAsDataURL","onload","fileLoadedEvent","target","result","split","console","log","isEmail","Alphanumeric","SpecificExceptions","code","message","Error","GenericExceptions","token","ContactUsApi","getInquiryTypes","a","callBackendService","sendContactUsRequest","payload","base_portal_url","cem_key","url","methodType","requestBody","JSON","stringify","headers","extraHeader","Authorization","req","baseURL","fetch","method","body","then","res","json","statusCode","regenerate_url","newtoken","englishDetail","arabicDetail","catch","err","pageTitle","fontFamily","createRef","useState","open","setOpen","renderError","setRenderError","attachmentFormatError","setAttachmentFormatError","useForm","handleSubmit","register","watch","control","setValue","fristName","lastName","email","phoneNumber","inquiry","otherPhoneNumber","subject","attachment","inquiryTypes","setInquiryTypes","setLoading","useEffect","finally","filename","onSubmit","data","attachmentSplited","replace","attachmentSplitedExtension","validFormats","includes","getElementById","encodedFile","contactInfo","firstName","alternateContactNumber","emailAddress","inquiryType","lang","language","docMapObject","fileName","fileByteArray","as","TextField","defaultValue","fullWidth","label","id","rules","required","pattern","nameLang","InputLabel","Select","labelId","map","index","MenuItem","key","value","itemNameEn","itemNameAr","onClose","onOpen","multiline","rowsMax","placeholder","String","click","border","borderBottomWidth","undefined","Object","keys","constructor","scrollTop","documentElement","ReCAPTCHA","Routes","path","ContactUs","GlobalState","state","step","setState","Provider","this","Component","apptheme","createMuiTheme","shadows","Array","fill","typography","palette","primary","secondary","main","light","dark","contrastThreshold","App","setAttribute","jss","create","plugins","jssPreset","rtl","StylesProvider","ThemeProvider","Boolean","hostname","match","ReactDOM","StrictMode","fallback","navigator","serviceWorker","ready","registration","unregister","error"],"mappings":"oQAGMA,EAAWC,OAGbC,EAAyC,MAAfF,EAAG,KAAmB,KAAOA,EAAG,KAKxDG,EAAkBC,aAAaC,QAAQ,YACzCF,GAPqB,CAAC,KAAM,MAOQG,QAAQH,IAAoB,IAClED,EAAMF,EAAG,MAGXO,IACGC,IAAIC,KACJD,IAAIE,KACJC,KAAK,CACJT,MACAU,OAAO,EACPC,cAAc,EACdC,cAAe,CACbC,aAAa,GAEfC,QAAS,CAEPC,SACE,uEACFC,mBAAmB,GAErBC,MAAO,CACLC,MAAM,EACNC,aAAa,KAIJd,EAAf,EAAeA,I,8LC/BA,WAACe,GAA2B,IACjCC,EAA2BD,EAA3BC,aAAcC,EAAaF,EAAbE,SAGNC,2CAAwCC,WAExD,OACE,kBAAC,IAAD,CACEC,IAAKJ,EACLK,KAAM,YACNC,QAAS,2CACTL,SAAUA,K,kHCdVM,EAAYC,aAAW,SAACC,GAAD,OACzBC,YAAa,CACTC,KAAM,CACFC,OAAQ,OACRC,SAAU,eAKTC,EAAmB,SAACf,GAC7B,IAAMgB,EAAUR,IAChB,OAAO,yBAAKS,UAAWD,EAAQJ,MAAOZ,EAAMkB,WCXjCC,MAAMC,cAAc,CAC/BC,MAAO,EACPC,QAAS,SAACD,O,QCJDb,GAAYC,aAAW,SAACC,GAAD,OAChCC,YAAa,CACTC,KAAM,CACFC,OAAQ,QAEZU,UAAU,eACLb,EAAMc,YAAYC,KAAK,MAAQ,CAC5BC,YAAahB,EAAMiB,QAAQ,GAC3BC,cAAelB,EAAMiB,QAAQ,GAE7BE,QAASnB,EAAMiB,QAAQ,KAG/BG,MAAO,CACHC,WAAY,IACZC,SAAUtB,EAAMiB,QAAQ,IAE5BM,OAAQ,CACJC,UAAWxB,EAAMiB,QAAQ,GACzBQ,WAAY,EACZC,aAAc,GACdC,MAAO,IACPC,eAAgB,gBAChBzB,OAAQ,GACRkB,WAAY,IACZQ,UAAW,SACXP,SAAUtB,EAAMiB,QAAQ,KACxBa,cAAe,SAEnBC,MAAO,CACHT,SAAUtB,EAAMiB,QAAQ,GACxB,8BAA+B,CAC3Be,YAAa,WAEjB,+BAAgC,CAC5BA,YAAa,iBCUdC,gBApCU,SAAC3C,GAAyC,IACzDkB,EAAalB,EAAbkB,SACAjC,EAAS2D,cAAT3D,KAGF+B,GAFU6B,cACAC,qBAAWC,GACXvC,MACVE,EAAQsC,cACRtE,EAAWC,OACXsE,EAAUhE,EAAKiE,IAAIxE,EAAG,MAE5B,OACE,kBAAC,EAAD,KACE,kBAACyE,EAAA,EAAD,CACE5B,WAAS,EACTN,UAAWD,EAAQJ,KACnBwC,MAAO,CACLC,UAAWJ,GAEbI,UAAU,SACVC,QAAQ,aACRC,WAAW,UAEX,kBAACJ,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,GAAIL,MAAO,CAAEf,MAAO,SACjC,kBAACqB,EAAA,EAAD,CACEC,GAAIjD,EAAMiB,QAAQ,GAClBiC,GAAIlD,EAAMiB,QAAQ,KAClBkC,GAAInD,EAAMiB,QAAQ,KAClBV,UAAWD,EAAQO,WAElBL,S,UCxBP4C,GAAiB,SAAC9D,GAAuB,IAE3C+D,EAME/D,EANF+D,YACAC,EAKEhE,EALFgE,OACAC,EAIEjE,EAJFiE,KAGAC,GACElE,EAHFmE,UAGEnE,EAFFoE,UAEEpE,EADFkE,gBAP0C,EASxBtB,cAAZyB,EAToC,EASpCA,EACF3D,GAVsC,EASjCzB,KACG+D,eACd,OAAQe,EAuBN,kBAACO,EAAA,EAAD,CAAYC,UAAW,QACrB,kBAACb,EAAA,EAAD,CAAKc,MAAO,MAAOxC,SAAUtB,EAAMiB,QAAQ,IACxCuC,IAxBL,kBAAC,KAAD,CACEF,OAAQA,EACRC,KAAMA,EACNQ,OAAQ,8BACN,kBAACH,EAAA,EAAD,CAAYC,UAAW,QACrB,kBAACb,EAAA,EAAD,CAAKc,MAAO,MAAOxC,SAAUtB,EAAMiB,QAAQ,IACjB,eAAvB,UAAAqC,EAAOC,UAAP,eAAcS,MAEXL,EAAE,cACqB,eAAvB,UAAAL,EAAOC,UAAP,eAAcS,MAEdL,EAAE,cACqB,cAAvB,UAAAL,EAAOC,UAAP,eAAcS,MACdL,EAAE,kBACqB,aAAvB,UAAAL,EAAOC,UAAP,eAAcS,MACdR,EACA,SC5BHS,GAAkB,SAAC3E,GAAsB,IAC5C4E,EAA4C5E,EAA5C4E,KAAc5C,GAA8BhC,EAAtC2D,GAAsC3D,EAAlC6E,GAAkC7E,EAA9BgC,UAAUd,EAAoBlB,EAApBkB,SAAUkC,EAAUpD,EAAVoD,MACpC1C,EAAQsC,cAEd,OACE,kBAACsB,EAAA,EAAD,CAAYC,UAAW,OAAQO,QAAS,SACtC,kBAACpB,EAAA,EAAD,CACEN,MAAOA,EACPpB,SAAYA,GAAsBtB,EAAMiB,QAAQ,KAGhDI,WAAY,SACZM,MAAO3B,EAAMiB,QAAQ,IACrBoD,QAAS,OACTC,cAAc,OAEbJ,EAVH,QAUgB1D,K,SC9BTV,GAAYC,aAAW,SAACC,GAAD,OAClCC,YAAa,CACXsE,aAAa,aACXC,SAAU,SACV7C,MAAO,MACP8C,IAAK,IACJzE,EAAMc,YAAYC,KAAK,MAAQ,CAC9BY,MAAO,OACP2C,cAAe,WAGnBxB,KAAK,aACHnB,MAAO,OACP,uBAAwB,CACtBmC,MAAO,SAKT,uBAAwB,CACtBA,MAAO,gBAGR9D,EAAMc,YAAYC,KAAK,MAAQ,CAC9B2D,KAAM,GACN/C,MAAO,oBAIXI,MAAO,CACLJ,MAAO,OACPL,SAAUtB,EAAMiB,QAAQ,GACxB,8BAA+B,CAC7Be,YAAa,WAEf,+BAAgC,CAC9BA,YAAa,iBC3Bf2C,GAAM,SAAC,GAAgC,IAA9BnE,EAA6B,EAA7BA,SAAaoE,EAAgB,6BACpCtE,EAAUR,KAEhB,OACE,kBAAC2C,EAAA,EAAD,eACE5B,WAAS,EACT8B,UAAU,MACVD,MAAO,CAAE2B,QAAS,OAAQzC,eAAgB,iBAC1CrB,UAAWD,EAAQiE,cACfK,GAEHpE,IAKDqE,GAAU,SAAC,GAA2C,IAAzCrE,EAAwC,EAAxCA,SAAUD,EAA8B,EAA9BA,UAAcqE,EAAgB,yCACnDtE,EAAUR,KACVE,EAAQsC,cAEd,OACE,kBAACG,EAAA,EAAD,eACEK,MAAI,EACJvC,UAAWA,EAAS,UAAMA,EAAN,aAAoBD,EAAQwC,MAASxC,EAAQwC,MAC7D8B,GAEJ,kBAAC5B,EAAA,EAAD,CAAKmB,GAAInE,EAAMiB,QAAQ,IAAMV,UAAWD,EAAQyB,MAAO8B,UAAW,OAC/DrD,K,SCnCIV,GAAYC,aAAW,SAACC,GAAD,OAClCC,YAAa,CACXC,KAAM,CACJC,OAAQ,QAEVU,UAAU,eACPb,EAAMc,YAAYC,KAAK,MAAQ,CAC9BU,WAAYzB,EAAMiB,QAAQ,GAC1BE,QAASnB,EAAMiB,QAAQ,KAG3BsD,aAAa,aACXC,SAAU,SACV7C,MAAO,MACP8C,IAAK,IACJzE,EAAMc,YAAYC,KAAK,MAAQ,CAC9BY,MAAO,OACP2C,cAAe,WAGnBxB,KAAK,aACHnB,MAAO,OACP,uBAAwB,CACtBmC,MAAO,SAKT,uBAAwB,CACtBA,MAAO,gBAGR9D,EAAMc,YAAYC,KAAK,MAAQ,CAC9B2D,KAAM,GACN/C,MAAO,oBAGXmD,aAAc,CACZC,OAAQ/E,EAAMiB,QAAQ,GACtB,8BAA+B,CAC7B+D,YAAa,GAEf,+BAAgC,CAC9BA,YAAa,GAEf,iCAAkC,CAEhCC,WAAY,SAEZ9E,OAAQ,OACRwB,MAAO,OACPL,SAAUtB,EAAMiB,QAAQ,GACxBI,WAAY,OACZyC,MAAO,QACPoB,WAAY,YAGhBnD,MAAO,CACLJ,MAAO,OACPL,SAAUtB,EAAMiB,QAAQ,GACxB,8BAA+B,CAC7Be,YAAa,WAEf,+BAAgC,CAC9BA,YAAa,YAGjBZ,MAAO,CACLC,WAAY,IACZC,SAAUtB,EAAMiB,QAAQ,IAE1BM,OAAO,aACLC,UAAWxB,EAAMiB,QAAQ,GACzBQ,WAAY,EACZC,aAAc,kBACdE,eAAgB,gBAChBzB,OAAQ,GACRkB,WAAY,IACZQ,UAAW,SACXP,SAAUtB,EAAMiB,QAAQ,KACxBa,cAAe,SACd9B,EAAMc,YAAYC,KAAK,MAAQ,CAC9B2D,KAAM,GACN/C,MAAO,SAGXwD,WAAY,CACVrB,MAAO,UACPsB,WAAY,cACZ,UAAW,CACTA,WAAY,gBAIhBC,cAAe,CACbC,gBAAiBC,KAAM,KACvB,UAAW,CACTD,gBAAiBC,KAAM,OAG3BC,eAAgB,CACd1B,MAAOyB,KAAM,KACbE,SAAU,WACVC,IAAK,MACLC,KAAM,MACNnE,WAAY,GACZC,YAAa,SC3BJmE,GA7DF,SAACtG,GAAsB,IAAD,EACb4C,cAAZyB,EADyB,EACzBA,EAAGpF,EADsB,EACtBA,KACHsH,EAAavG,EAAbuG,SACF7H,EAAWC,OAEX6H,EAAY9H,EAAG,qBACfuE,EAAUhE,EAAKiE,IAAIxE,EAAG,MAEtBgC,EAAQsC,cAEd,OACE,kBAAC,GAAD,KACE,kBAACG,EAAA,EAAD,CAAM5B,WAAS,EAAC8B,UAAU,UACxB,kBAACF,EAAA,EAAD,CAAMK,MAAI,EAACiD,GAAI,EAAGhD,GAAI,IACpB,kBAACa,EAAA,EAAD,CAAYC,UAAW,OAAQO,QAAS,SACtC,kBAACpB,EAAA,EAAD,CACE3B,WAAY,IACZqB,MAAO,CACLC,UAAWJ,GAEbjB,SAAUtB,EAAMiB,QAAQ,GACxBkD,GAAInE,EAAMiB,QAAQ,GAClBa,cAAe,GAEd6B,EAAE,UAGP,kBAACC,EAAA,EAAD,CAAYC,UAAW,OAAQO,QAAS,SACtC,kBAACpB,EAAA,EAAD,CACE3B,WAAY,IACZqB,MAAO,CACLC,UAAWJ,GAEbjB,SAAUtB,EAAMiB,QAAQ,GACxBkD,GAAInE,EAAMiB,QAAQ,GAClBa,cAAe,GAEd6B,EAAE,sBAGP,kBAAC,GAAD,CACEQ,GAAInE,EAAMiB,QAAQ,GAClB+E,UAAU,EACVC,SAAS,EACTC,MAAOvC,EAAE,qBACTwC,OAAQ,kBAAON,EAAWA,IAAa,MAEzC,kBAAC,GAAD,CACEM,OAAQ,WACNlI,OAAOmI,eAAeC,cAAgB1C,EAAE,mBACxC2C,SAASC,SAASC,KAAOV,GAE3BE,UAAU,EACVC,SAAS,EACTC,MAAOvC,EAAE,0BAgBf8C,GAAgB,SAACnH,GAA+B,IAC5C0G,EAAyC1G,EAAzC0G,SAAUC,EAA+B3G,EAA/B2G,QAASC,EAAsB5G,EAAtB4G,MAAO/B,EAAe7E,EAAf6E,GAAIgC,EAAW7G,EAAX6G,OADa,EAE/BjE,cAAT3D,GAFwC,EAE3CoF,EAF2C,EAExCpF,MACLP,EAAWC,OAEXyI,EAAoB,QADVnI,EAAKiE,IAAIxE,EAAG,MAEtBsC,EAAUR,KACFwC,cACd,OACE,kBAACqE,EAAA,EAAD,CACE3C,KAAK,SACLI,QAAQ,YACRN,MAAM,YACNpB,MAAO,CACLkE,aAAczC,GAEhB5D,UAAWD,EAAQiB,OACnByE,SAAUA,EACVa,QAAS,kBAAOV,EAASA,IAAW,IACpCW,QACGJ,EAMC,kBAAC,IAAD,CACEhE,MAAO,CAAEoB,MAAO,OAAQiD,OAAQ,WAChCzF,SAAU,YAPZ,kBAAC,IAAD,CACEoB,MAAO,CAAEoB,MAAO,OAAQiD,OAAQ,WAChCzF,SAAU,aAUhB,kBAAC0B,EAAA,EAAD,CAAKgE,GAAI,EAAGlD,MAAO,SAChBoC,GAEFD,GACC,kBAACgB,EAAA,EAAD,CAAkBrH,KAAM,GAAIW,UAAWD,EAAQkF,mBAKjD0B,GAAa,SAAC5H,GAA+B,IACzC0G,EAAqC1G,EAArC0G,SAAUC,EAA2B3G,EAA3B2G,QAASC,EAAkB5G,EAAlB4G,MAAOC,EAAW7G,EAAX6G,OADc,EAE5BjE,cAAT3D,GAFqC,EAExCoF,EAFwC,EAErCpF,MACLP,EAAWC,OAEXyI,EAAoB,QADVnI,EAAKiE,IAAIxE,EAAG,MAEtBsC,EAAUR,KACFwC,cACd,OACE,kBAACqE,EAAA,EAAD,CACE3C,KAAK,SACLI,QAAQ,YACR7D,UAAWD,EAAQ6E,WACnBa,SAAUA,EACVa,QAAS,kBAAOV,EAASA,IAAW,IACpCW,QACGJ,EAMC,kBAAC,IAAD,CACEhE,MAAO,CAAEoB,MAAO,UAAWiD,OAAQ,WACnCzF,SAAU,YAPZ,kBAAC,IAAD,CACEoB,MAAO,CAAEoB,MAAO,UAAWiD,OAAQ,WACnCzF,SAAU,aAUhB,kBAAC0B,EAAA,EAAD,CAAKgE,GAAI,EAAGlD,MAAO,WAChBoC,GAEFD,GACC,kBAACgB,EAAA,EAAD,CAAkBrH,KAAM,GAAIW,UAAWD,EAAQkF,mBCtK1C2B,GAAW,SAACC,GACvB,OAAO,IAAIC,SAAQ,SAACC,EAASC,GAC3B,IAAMC,EAAoBJ,EAAGK,MAE7B,KAAID,EAAaE,OAAS,GAmBxB,OAFAJ,EAAQ,IAED,GAjBP,IAGIK,EAHEC,EAAaJ,EAAa,GAE1BK,EAAa,IAAIC,WAGvBD,EAAWE,cAAcH,GACzBC,EAAWG,OAAS,SAACC,GACnBN,EAASM,EAAgBC,OAAOC,OAAOC,MAAM,KAAK,GAClDd,EAAQK,GACRU,QAAQC,IAAIX,QCfPY,GAAU,4CAGVC,GAAe,gC,sDCMbC,G,oDARb,WAAYC,EAAWC,GAAe,IAAD,8BACnCN,QAAQC,IAAI,oCAAsCK,GAClDN,QAAQC,IAAI,iCAAmCI,GAE/CA,EAAOA,GADP,gBAEKC,QAAUA,EALoB,E,uBADNC,QCKlBC,G,oDAJb,WAAYF,GAAe,wCACnBA,G,uBAFsBC,QCG1BE,GAFW7K,OAEA,YAOJ8K,GAAe,CAAEC,gBALT,uCAAG,sBAAAC,EAAA,sEAChBC,GAAmB,6BAA8B,MAAO,KAAMJ,IAD9C,mFAAH,qDAK0BK,qBAHrB,uCAAG,WAAOC,GAAP,SAAAH,EAAA,sEACrBC,GAAmB,uBAAwB,OAAQE,EAASN,IADvC,mFAAH,uDCGpB9K,GAAWC,OACXoL,GAAkBrL,GAAG,gBAErBsL,GAAUtL,GAAG,QAEZ,SAAekL,GAAtB,yC,8CAAO,WACLK,EACAC,EACAC,EACAX,GAJK,iBAAAG,EAAA,6DAMLZ,QAAQC,IAAI,+BAEZD,QAAQC,IAAI,gDAAkDkB,GAC9DnB,QAAQC,IAAI,yCAA2CiB,GAEvDlB,QAAQC,IACN,iDACEoB,KAAKC,UAAUF,IAGfG,EAAU,CACZ,eAAgB,mBAChB,UAAWN,KAGTO,EAAc,CAAEC,cAAe,UAAYhB,MAG7Cc,EAAO,6BAAQA,GAAYC,IAG7BxB,QAAQC,IAAI,oCAAsCoB,KAAKC,UAAUC,IA3B5D,kBA6BE,IAAIvC,SAAQ,SAACC,EAASC,GAC3B,IAIIwC,EAJAC,EAAUhM,GAAG,aACbA,GAAG,aACH,2BAKF+L,EADIN,EACEQ,MAAMD,EAAUT,EAAK,CACzBW,OAAQV,EACRW,KAAMT,KAAKC,UAAUF,GACrBG,QAASA,IAGLK,MAAMD,EAAUT,EAAK,CACzBW,OAAQV,EACRI,QAASA,IAGbvB,QAAQC,IAAI0B,EAAUT,EAAK,CACzBW,OAAQV,EACRI,QAASA,IAEXG,EACGK,KADH,uCACQ,WAAOC,GAAP,SAAApB,EAAA,+EAAeoB,EAAIC,QAAnB,2CADR,uDAEGF,KAFH,uCAEQ,WAAOjC,GAAP,eAAAc,EAAA,yDACJZ,QAAQC,IAAI,wBAA0BoB,KAAKC,UAAUxB,KACjDA,EAAOoC,YAAoC,YAAtBpC,EAAOoC,WAF5B,iCAGwBC,KAHxB,cAGEC,EAHF,YAIFnD,EAJE,SAKM4B,GAAmBK,EAAKC,EAAYC,EAAagB,GALvD,0DAOOtC,EAAOO,MAAwB,aAAhBP,EAAOO,OACX,aAAhBP,EAAOO,MACTL,QAAQC,IAAI,0CACZf,EAAO,IAAIsB,GAAkBV,EAAOuC,kBAEpCrC,QAAQC,IAAI,2CAEQ,OAAhBtK,GAAG,KAELuJ,EAAO,IAAIkB,GAAmBN,EAAOO,KAAMP,EAAOuC,gBAGlDnD,EAAO,IAAIkB,GAAmBN,EAAOO,KAAMP,EAAOwC,iBAnBpD,QAuBJtC,QAAQC,IAAI,8BAAgCoB,KAAKC,UAAUxB,IAC3Db,EAAQa,GAxBJ,4CAFR,uDA4BGyC,OAAM,SAACC,GACNtD,EAAOsD,GACPxC,QAAQC,IAAI,uBAAyBuC,GACrCxC,QAAQC,IAAIuC,UAnFb,4C,sBA0GA,SAASL,KACdnC,QAAQC,IAAI,2BACZ,IAAIkC,EAAiBxM,GAAG,eACpBqL,GAAkBrL,GAAG,eACrB,4DAIJ,OAFAqK,QAAQC,IAAI,qBAAuBkC,GAE5B,IAAInD,SAAQ,SAACC,EAASC,GAC3B0C,MAAMO,EAAgB,CACpBN,OAAQ,OACRN,QAAS,CACP,eAAgB,2BAChB,UAAWN,MAGZc,MAAK,SAACC,GAAD,OAASA,EAAInG,UAClBkG,MAAK,SAACjC,GACLE,QAAQC,IAAI,gBAAkBH,GAE9Bb,EAAQa,MAETyC,OAAM,SAACC,GACNxC,QAAQC,IAAIuC,GAEZtD,EAAOsD,SChJf,IAAM7M,GAAWC,OAEJ6B,GAAYC,aAAW,SAACC,GAAD,OAClCC,YAAa,CACXC,KAAM,CACJC,OAAQ,QAEVU,UAAU,eACPb,EAAMc,YAAYC,KAAK,MAAQ,CAC9BU,WAAYzB,EAAMiB,QAAQ,GAC1BE,QAASnB,EAAMiB,QAAQ,KAG3BsD,aAAa,aACXC,SAAU,SACV7C,MAAO,MACP8C,IAAK,IACJzE,EAAMc,YAAYC,KAAK,MAAQ,CAC9BY,MAAO,OACP2C,cAAe,WAGnBwG,UAAU,aACRC,WAA4B,OAAhB/M,GAAG,KAAoB,mBAAqB,mBACvDgC,EAAMc,YAAYC,KAAK,MAAQ,CAC9BO,SAAUtB,EAAMiB,QAAQ,KAG5B6B,KAAK,aACHnB,MAAO,OACP,uBAAwB,CACtBmC,MAAO,SAKT,uBAAwB,CACtBA,MAAO,gBAGR9D,EAAMc,YAAYC,KAAK,MAAQ,CAC9B2D,KAAM,GACN/C,MAAO,oBAGXmD,aAAc,CACZiG,WAA4B,OAAhB/M,GAAG,KAAoB,mBAAqB,kBACxD+G,OAAQ/E,EAAMiB,QAAQ,GACtB,8BAA+B,CAC7B+D,YAAa,GAEf,+BAAgC,CAC9BA,YAAa,GAEf,iCAAkC,CAEhCC,WAAY,SAEZ9E,OAAQ,OACRwB,MAAO,OACPL,SAAUtB,EAAMiB,QAAQ,GACxB8J,WACkB,OAAhB/M,GAAG,KAAoB,mBAAqB,kBAC9C8F,MAAO,QACPoB,WAAY,YAGhBnD,MAAO,CACLJ,MAAO,OACPL,SAAUtB,EAAMiB,QAAQ,GACxB,8BAA+B,CAC7Be,YAAa,WAEf,+BAAgC,CAC9BA,YAAa,YAGjBZ,MAAO,CACLC,WAAY,IACZC,SAAUtB,EAAMiB,QAAQ,IAE1BM,OAAO,aACLC,UAAWxB,EAAMiB,QAAQ,GACzBQ,WAAY,EACZC,aAAc,kBACdE,eAAgB,gBAChBzB,OAAQ,GACRkB,WAAY,IACZQ,UAAW,SACXP,SAAUtB,EAAMiB,QAAQ,KACxBa,cAAe,SACd9B,EAAMc,YAAYC,KAAK,MAAQ,CAC9B2D,KAAM,GACN/C,MAAO,SAGX0D,cAAe,CACbC,gBAAiBC,KAAM,KACvB,UAAW,CACTD,gBAAiBC,KAAM,OAG3BC,eAAgB,CACd1B,MAAOyB,KAAM,KACbE,SAAU,WACVC,IAAK,MACLC,KAAM,MACNnE,WAAY,GACZC,YAAa,SC1EblC,GAAoBkB,IAAMuK,YA0fjB/I,gBAxfG,SAChB3C,GACI,IAAD,EACiB4C,cAAZyB,EADL,EACKA,EAAGpF,EADR,EACQA,KACLP,EAAWC,OACXsE,EAAUhE,EAAKiE,IAAIxE,EAAG,MACtB0I,EAAoB,QAAZnE,EAJX,EAKqB0I,oBAAS,GAL9B,mBAKIC,EALJ,KAKUC,EALV,OAMmCF,oBAAS,GAN5C,mBAMIG,EANJ,KAMiBC,EANjB,OAQuDJ,oBAAS,GARhE,mBAQIK,EARJ,KAQ2BC,EAR3B,KASGzF,EAAY9H,EAAG,qBAEfsC,GADU6B,cACArC,MACVE,EAAQsC,cAZX,EAoBCkJ,cALFC,GAfC,EAcDC,SAdC,EAeDD,cACAE,EAhBC,EAgBDA,MACArI,EAjBC,EAiBDA,OACAsI,EAlBC,EAkBDA,QACAC,EAnBC,EAmBDA,SAnBC,EA+BCF,IATFG,EAtBC,EAsBDA,UACAC,EAvBC,EAuBDA,SACAC,GAxBC,EAwBDA,MACAC,GAzBC,EAyBDA,YAEAC,IA3BC,EA0BDC,iBA1BC,EA2BDD,SACAE,GA5BC,EA4BDA,QACAzD,GA7BC,EA6BDA,QACA0D,GA9BC,EA8BDA,WA9BC,GAgCqCpB,mBAAS,IAhC9C,qBAgCIqB,GAhCJ,MAgCkBC,GAhClB,SAiC2BtB,oBAAS,GAjCpC,qBAiCIhF,GAjCJ,MAiCauG,GAjCb,MAiDHC,qBAAU,WACR1D,GAAaC,kBACVoB,MAAK,SAACC,GACHA,GAAOkC,GAAgBlC,EAAIiC,iBAE9BI,SAAQ,kBAAMrE,QAAQC,IAAI,SAC5B,IAEH,IAtBuBqE,GAsBjBC,GAAQ,uCAAG,WAAOC,GAAP,yBAAA5D,EAAA,yDACfuD,IAAW,IACLH,GAFS,uBAGPS,EAAoBT,GACvB3M,WACAqN,QAAQ,YAAa,IACrB3E,MAAM,MAEaV,OAAS,GARlB,oBASLsF,EACJF,EAAkBA,EAAkBpF,OAAS,GACzCuF,EAAe,CAAC,MAAO,OAAQ,MAAO,MAAO,OACnD5E,QAAQC,IAAI2E,EAAcD,GACrBC,EAAaC,SAASF,GAbhB,wBAcTzB,GAAyB,GACzBiB,IAAW,GAfF,mDAqBbjB,GAAyB,GArBZ,eAuBTnE,EAAKd,SAAS6G,eAAe,cAvBpB,UAwBWhG,GAASC,GAxBpB,QAwBTgG,EAxBS,OAyBThE,EAAU,CACdiE,YAAa,CACXC,UAAWT,EAAKf,UAChBC,SAAUc,EAAKd,SACfE,YAAaY,EAAKZ,YAClBsB,uBAAwBV,EAAKV,iBAC7BqB,aAAcX,EAAKb,MACnByB,YAAaZ,EAAKX,QAClBE,QAASS,EAAKT,QACdzD,QAASkE,EAAKlE,QACd+E,KAAMnP,EAAKoP,SACXC,aAAc,CACZC,SAAUhB,EAAKR,WACXQ,EAAKR,WAAWU,QAAQ,YAAa,IACrC,GACJe,cAAejB,EAAKR,WAAae,EAAc,MAIrDrE,GAAaI,qBAAqBC,GAC/BgB,MAAK,SAACC,GACLpM,OAAOmI,eAAeC,cAAgB1C,EAAE,mBACxC2C,SAASC,SAASC,KAAOV,KAE1B8E,OAAM,SAACC,GAAD,OAASQ,GAAe,MAC9BqB,SAAQ,kBAAMF,IAAW,MAlDb,4CAAH,sDAqDd,OAAOpB,EACL,kBAAC,GAAD,CACEvF,SAAU,WACRwF,GAAe,MAInB,kBAAC,GAAD,KACE,kBAAC5I,EAAA,EAAD,CAAM5B,WAAS,EAAC8B,UAAU,UACxB,kBAACF,EAAA,EAAD,CAAMK,MAAI,EAACiD,GAAI,EAAGhD,GAAI,IACpB,kBAACa,EAAA,EAAD,CAAYC,UAAW,OAAQO,QAAS,SACtC,kBAACpB,EAAA,EAAD,CACE3B,WAAY,IACZqB,MAAO,CACLC,UAAWJ,GAEbhC,UAAWD,EAAQwK,UACnBxJ,SAAUtB,EAAMiB,QAAQ,GACxBkD,GAAInE,EAAMiB,QAAQ,GAClBa,cAAe,GAEd6B,EAAE,aAKX,0BAAMiJ,SAAUnB,EAAamB,KAC3B,kBAAC,GAAD,KACE,kBAAC,GAAD,KACE,kBAAC,IAAD,CACEmB,GAAIC,IACJC,aAAc,GACdrC,QAASA,EACTrI,KAAK,YACLS,KAAM,SACNkK,WAAS,EACTC,MAAOxK,EAAE,aACTyK,GAAG,YACH5L,IAAKD,EACL8L,MAAO,CAAEC,UAAU,EAAM5K,UAAW,GAAI6K,QAAS/F,MAGnD,kBAAC,GAAD,CACE9E,UAAW,GACX8K,SAAU7K,EAAE,aACZH,eAAgBG,EAAE,iCAClBL,OAAQA,EACRC,KAAM,eAGV,kBAAC,GAAD,KACE,kBAAC,IAAD,CACEwK,GAAIC,IACJC,aAAc,GACdrC,QAASA,EACTrI,KAAK,WACLS,KAAM,SACNqK,MAAO,CAAEC,UAAU,EAAM5K,UAAW,GAAI6K,QAAS/F,IACjD0F,WAAS,EACTC,MAAOxK,EAAE,YACTyK,GAAG,WACH5L,IAAKD,IAEP,kBAAC,GAAD,CACEmB,UAAW,GACX8K,SAAU7K,EAAE,YACZH,eAAgBG,EAAE,iCAClBL,OAAQA,EACRC,KAAM,eAIZ,kBAAC,GAAD,KACE,kBAAC,GAAD,KACE,kBAAC,IAAD,CACEwK,GAAIC,IACJC,aAAc,GACdrC,QAASA,EACTrI,KAAK,cACLS,KAAM,SACNqK,MAAO,CACLC,UAAU,EACV5K,UAAW,GACXD,UAAW,GAEbyK,WAAS,EACTC,MAAOxK,EAAE,eACTyK,GAAG,cACH5L,IAAKD,IAEP,kBAAC,GAAD,CACEmB,UAAW,GACXD,UAAW,EACX+K,SAAU7K,EAAE,eACZL,OAAQA,EACRC,KAAM,iBAGV,kBAAC,GAAD,KACE,kBAAC,IAAD,CACEwK,GAAIC,IACJC,aAAc,GACdrC,QAASA,EACTrI,KAAK,mBACLS,KAAM,SACNqK,MAAO,CAAE3K,UAAW,GAAID,UAAW,GACnCyK,WAAS,EACTC,MAAOxK,EAAE,oBACTyK,GAAG,mBACH5L,IAAKD,IAEP,kBAAC,GAAD,CACEmB,UAAW,GACXD,UAAW,EACX+K,SAAU7K,EAAE,oBACZL,OAAQA,EACRC,KAAM,uBAIZ,kBAAC,GAAD,KACE,kBAAC,GAAD,KACE,kBAAC,IAAD,CACEwK,GAAIC,IACJC,aAAc,GACdrC,QAASA,EACTrI,KAAK,QACLS,KAAM,SACNkK,WAAS,EACTG,MAAO,CACLC,UAAU,EACV7K,UAAW,EACXC,UAAW,IACX6K,QAAShG,IAEX4F,MAAOxK,EAAE,SACTyK,GAAG,QACH5L,IAAKD,IAEP,kBAAC,GAAD,CACEiB,eAAgBG,EAAE,qBAClBD,UAAW,IACXD,UAAW,EACX+K,SAAU7K,EAAE,SACZL,OAAQA,EACRC,KAAM,YAKZ,kBAAC,GAAD,CAAKb,MAAO,CAAElB,UAAWxB,EAAMiB,QAAQ,QACrC,kBAAC,GAAD,CAASyB,MAAO,CAAEf,MAAO,sBACvB,kBAAC8M,EAAA,EAAD,CAAYL,GAAG,WAAWzK,EAAE,YAC5B,kBAAC,IAAD,CACEoK,GACE,kBAACW,EAAA,EAAD,CAAQC,QAAQ,UAAUP,GAAG,WAC1B9B,GAAasC,KAAI,SAAC1C,EAAsB2C,GAAvB,OAChB,kBAACC,EAAA,EAAD,CACEC,IAAKF,EACLG,MACmB,MAAjBzQ,EAAKoP,SACDzB,EAAQ+C,WACR/C,EAAQgD,YAGI,MAAjB3Q,EAAKoP,SACFzB,EAAQ+C,WACR/C,EAAQgD,gBAKpBjB,aAAc,GACdrC,QAASA,EACTrI,KAAK,UACLS,KAAM,SACNkK,WAAS,EACTE,GAAG,UACH5L,IAAKD,EACL2I,KAAMA,EACNiE,QA7PQ,WAClBhE,GAAQ,IA6PEiE,OA1PO,WACjBjE,GAAQ,IA0PEkD,MAAO,CAAEC,UAAU,KAGrB,kBAAC,GAAD,CAAgBhL,OAAQA,EAAQC,KAAM,cAG1C,kBAAC,GAAD,KACE,kBAAC,GAAD,KACE,kBAAC,IAAD,CACEwK,GAAIC,IACJC,aAAc,GACdrC,QAASA,EACTrI,KAAK,UACLS,KAAM,SACNkK,WAAS,EACTG,MAAO,CACLC,UAAU,EACV5K,UAAW,IACXD,UAAW,EACX8K,QAAS/F,IAEX2F,MAAOxK,EAAE,WACTyK,GAAG,UACH5L,IAAKD,IAEP,kBAAC,GAAD,CACEmB,UAAW,IACXD,UAAW,EACX+K,SAAU7K,EAAE,WACZL,OAAQA,EACRC,KAAM,UACNC,eAAgBG,EAAE,qCAKxB,kBAAC,GAAD,CACEjB,MAAO,CACLpB,SAAUtB,EAAMiB,QAAQ,KACxB6C,MAAO,UACPiD,OAAQ,WAEV7C,KAAMP,EAAE,kBAEV,kBAAC,GAAD,KACE,kBAAC,GAAD,CAASpD,UAAWD,EAAQwE,cAC1B,kBAAC,IAAD,CACEiJ,GAAIC,IACJC,aAAc,GACdoB,WAAS,EACTC,QAAS,EACT1D,QAASA,EACTrI,KAAK,UACLS,KAAM,SACNkK,WAAS,EACTqB,YAAa5L,EAAE,gBACf0K,MAAO,CAAEC,UAAU,EAAM5K,UAAW,KACpC0K,GAAG,UACH5L,IAAKD,IAEP,kBAAC,GAAD,CACEmB,UAAW,IACX8K,SAAU7K,EAAE,WACZL,OAAQA,EACRC,KAAM,YAER,kBAAC,GAAD,CACEb,MAAO,CACLpB,SAAUtB,EAAMiB,QAAQ,GACxB6C,MAAO,UACPiD,OAAQ,UACRpE,UAAWJ,GAEb2B,KAAI,UAAKsL,OAAO7G,IAASjB,OAArB,YAA+B/D,EAAE,MAAjC,YAKV,kBAAC,GAAD,KACE,kBAAC,GAAD,CAASjB,MAAO,CAAEf,MAAO,sBACvB,kBAAC,IAAD,CACEoM,GAAIC,IACJC,aAAc,GACdrC,QAASA,EACTrI,KAAK,aACLS,KAAM,OACNkK,WAAS,EACTxL,MAAO,CAAE2B,QAAS,QAClB+J,GAAG,eAGL,kBAACxK,EAAA,EAAD,CACEC,UAAW,OACXO,QAAS,QACTyC,QAAS,WACAwF,IACW/F,SAAS6G,eACvB,cAECsC,SAGP/M,MAAO,CACLqE,OAAQ,UACR2I,OAAQ,oBACRC,kBAAmB,MACnBtL,QAAS,OACTC,cAAe,MACf1C,eAAgB,kBAGlB,kBAACoB,EAAA,EAAD,CACE3B,WAAY,IACZM,MAAO,OACPL,SAAUtB,EAAMiB,QAAQ,KACxBa,cAAe,GAEduK,IAtXQM,GAuXSN,GAAW3M,YAtXhCA,WAAW0I,MAAM,MAAMuE,GAASjN,WAAW0I,MAAM,MAAMV,OAAS,GAuXzD/D,EAAE,mBAER,kBAACX,EAAA,EAAD,CAAK1B,SAAUtB,EAAMiB,QAAQ,KAAMa,cAAe,GAC5CuK,GAGF,kBAAC,IAAD,CACExF,QAAS,WAKPgF,EAAS,aAAc,IACvB,IAAMzE,EAAUd,SAAS6G,eACvB,cAEW,OAAb/F,EAAGK,QAAmBL,EAAGK,WAAQmI,IAEnClN,MAAO,CAAEoB,MAAO,aAdlB,kBAAC,IAAD,CAAgBpB,MAAO,CAAEoB,MAAO,cAkBpC,kBAACd,EAAA,EAAD,OAEF,kBAAC,GAAD,CACEK,aAAa,EACbG,eACE8H,EAAwB3H,EAAE,sBAAwB,GAEpDJ,KAAM,iBAKZ,kBAACd,EAAA,EAAD,KACE,kBAACkE,EAAA,EAAD,CACEE,QAAS,WACP,GAEmC,IAA/BgJ,OAAOC,KAAKxM,GAAQoE,QACpBpE,EAAOyM,cAAgBF,OAKzB,OAFAvJ,SAAS6D,KAAK6F,UAAY,OAC1B1J,SAAS2J,gBAAgBD,UAAY,IAIzChM,KAAK,SACLI,QAAQ,YACRN,MAAM,YACNvD,UAAWD,EAAQiB,OACnByE,SACEC,MAEE6F,GACAC,GACAC,IACAC,IACAG,IACAzD,IACAuD,IAGJpF,QACGJ,EAMC,kBAAC,IAAD,CACEhE,MAAO,CAAEoB,MAAO,OAAQiD,OAAQ,WAChCzF,SAAU,YAPZ,kBAAC,IAAD,CACEoB,MAAO,CAAEoB,MAAO,OAAQiD,OAAQ,WAChCzF,SAAU,aAUhB,kBAAC0B,EAAA,EAAD,CAAKgE,GAAI,EAAGlD,MAAO,SAChBH,EAAE,SAEJsC,IACC,kBAACgB,EAAA,EAAD,CAAkBrH,KAAM,GAAIW,UAAWD,EAAQkF,kBAGnD,kBAAC0K,EAAD,CAAW1Q,SApcF,SAACwP,KAocqBzP,aAAcA,W,SCphB1C4Q,GAAS,WACpB,OACE,kBAAC,KAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOC,KAAK,IAAIvM,UAAWwM,KAC3B,kBAAC,IAAD,CAAOD,KAAK,QAAQvM,UAAW+B,Q,UCNlB0K,G,+MACjBC,MAAQ,CACJ5P,MAAO,G,EAGXC,QAAU,SAAC4P,GACP,EAAKC,SAAS,CAAE9P,MAAO6P,K,wDAIvB,OACI,kBAAC,EAAQE,SAAT,CACI1B,MAAO,CACHrO,MAAOgQ,KAAKJ,MAAM5P,MAClBC,QAAS+P,KAAK/P,UAGjB+P,KAAKrR,MAAMkB,c,GAjBaC,IAAMmQ,WCUzC5S,GAAWC,OAEX4S,GAAWC,YAAe,CAC9BnO,UAAW,MACXoO,QAASC,MAAM,IAAIC,KAAK,QACxBC,WAAY,CACV5P,SAAU,GACVyJ,WACkB,OAAhB/M,GAAG,KAAoB,mBAAqB,sBAEhDmT,QAAS,CACPjN,KAAM,CACJkN,QAAS,UACTC,UAAW,WAEbD,QAAS,CACPE,KAAM,UACNC,MAAO,UACPC,KAAM,WAERH,UAAW,CACTC,KAAM,WAERG,kBAAmB,KAIR,SAASC,KACtB,IAAM1T,EAAWC,OAKXyI,EAAoB,QAJTxE,cAAT3D,KAGaiE,IAAIxE,EAAG,MAG5BsI,SAAS6D,KAAKwH,aAAa,MAAOjL,EAAQ,MAAQ,OAClD,IAAMkL,EAAMlL,EACRmL,YAAO,CAAEC,QAAQ,GAAD,mBAAMC,cAAYD,SAAlB,CAA2BE,UAC3CH,YAAO,CAAEC,QAAQ,YAAKC,cAAYD,WAEtC,OACE,kBAAC,GAAD,KACE,kBAACG,EAAA,EAAD,CAAgBL,IAAKA,GACnB,kBAACM,EAAA,EAAD,CAAelS,MAAO6Q,IACpB,kBAAC,GAAD,S,cC7CUsB,QACa,cAA7BlU,OAAOsI,SAAS6L,UAEiB,UAA7BnU,OAAOsI,SAAS6L,UAEhBnU,OAAOsI,SAAS6L,SAASC,MAAM,2DCVnCpU,OAAOsI,SAASC,KAAK0G,SAAS,mBAChC7E,QAAQC,IAAM,cAGhBgK,IAASvO,OACP,kBAAC,IAAMwO,WAAP,KACE,kBAAC,WAAD,CAAUC,SAAU,+BAClB,kBAACd,GAAD,QAGJpL,SAAS6G,eAAe,SDgHlB,kBAAmBsF,WACnBA,UAAUC,cAAcC,MACnBvI,MAAK,SAACwI,GACHA,EAAaC,gBAEhBjI,OAAM,SAACkI,GACJzK,QAAQyK,MAAMA,EAAMnK,c","file":"static/js/main.bf543f49.chunk.js","sourcesContent":["import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport XHR from \"i18next-xhr-backend\";\r\nconst win: any = window;\r\n\r\nconst allowedLanguages = [\"en\", \"ar\"];\r\nlet lng: string | undefined = win[\"lang\"] == null ? \"en\" : win[\"lang\"];\r\n// window.lang == null ? 'en':window.lang\r\n// let lng = 'ar';\r\n// console.log(lng);\r\n\r\nconst storageLanguage = localStorage.getItem(\"language\");\r\nif (storageLanguage && allowedLanguages.indexOf(storageLanguage) > -1) {\r\n lng = win[\"lang\"];\r\n}\r\n\r\ni18n\r\n .use(XHR)\r\n .use(initReactI18next)\r\n .init({\r\n lng,\r\n debug: true,\r\n keySeparator: false,\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n backend: {\r\n // loadPath: '/translations/{{lng}}.json',\r\n loadPath: \r\n \"/.contact.us/mobily-contact-us-react/build/translations/{{lng}}.json\",\r\n allowMultiLoading: true,\r\n },\r\n react: {\r\n wait: true,\r\n useSuspense: true,\r\n },\r\n });\r\n\r\nexport default i18n;\r\n","/* eslint-disable react/display-name */\r\nimport React from \"react\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\ninterface RecaptchaProps {\r\n recaptchaRef: any;\r\n onChange(value: any): void;\r\n}\r\nexport default (props: RecaptchaProps) => {\r\n const { recaptchaRef, onChange } = props;\r\n const key:\r\n | string\r\n | undefined = process.env.REACT_APP_GOOGLE_RECAPTCHA?.toString();\r\n\r\n return (\r\n \r\n );\r\n};\r\n","import React, { Props } from 'react';\r\n\r\nimport { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: 'auto',\r\n overflow: 'hidden',\r\n },\r\n }),\r\n);\r\n\r\nexport const FullscreenLayout = (props: Props) => {\r\n const classes = useStyles();\r\n return
{props.children}
;\r\n};\r\n","/* eslint-disable @typescript-eslint/no-empty-function */\r\n/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport React from 'react';\r\n\r\nexport default React.createContext({\r\n _step: 1,\r\n setStep: (_step: number) => {},\r\n});\r\n","import { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\r\n\r\nexport const useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: 'auto',\r\n },\r\n container: {\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: theme.spacing(0),\r\n paddingRieght: theme.spacing(0),\r\n\r\n padding: theme.spacing(0),\r\n },\r\n },\r\n steps: {\r\n fontWeight: 400,\r\n fontSize: theme.spacing(1),\r\n },\r\n button: {\r\n marginTop: theme.spacing(5),\r\n marginLeft: 0,\r\n borderRadius: 20,\r\n width: 240,\r\n justifyContent: 'space-between',\r\n height: 40,\r\n fontWeight: 700,\r\n fontStyle: 'normal',\r\n fontSize: theme.spacing(1.5),\r\n letterSpacing: '0.8px',\r\n },\r\n input: {\r\n fontSize: theme.spacing(1),\r\n '& .MuiInput-underline:after': {\r\n borderColor: '#D5D8DF',\r\n },\r\n '& .MuiInput-underline:before': {\r\n borderColor: '#D5D8DF',\r\n },\r\n },\r\n }),\r\n);\r\n","import React, { useContext } from \"react\";\r\n\r\nimport { withRouter, useHistory } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FullscreenLayout } from \"core/layouts/container\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Context from \"core/context/context\";\r\nimport { useStyles } from \"./styles\";\r\n\r\nconst BackButtonLayout = (props: React.PropsWithChildren) => {\r\n const { children } = props;\r\n const { i18n } = useTranslation();\r\n const history = useHistory();\r\n const context = useContext(Context);\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const win: any = window;\r\n const langDir = i18n.dir(win[\"lang\"] as string);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default withRouter(BackButtonLayout);\r\n","import React from \"react\";\r\nimport { ErrorMessage } from \"@hookform/error-message\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Box from \"@material-ui/core/Box\";\r\n\r\ninterface ErrorProps {\r\n name: string;\r\n customError?: boolean;\r\n errors?: any;\r\n nameLang?: string;\r\n maxLength?: number;\r\n minLength?: number;\r\n patternMessage?: string;\r\n}\r\nconst ErrorComponent = (props: ErrorProps) => {\r\n const {\r\n customError,\r\n errors,\r\n name,\r\n minLength,\r\n maxLength,\r\n patternMessage,\r\n } = props;\r\n const { t, i18n } = useTranslation();\r\n const theme = useTheme();\r\n return !customError ? (\r\n (\r\n \r\n \r\n {errors[name]?.type === \"maxLength\"\r\n ? //? maxLength + \" you rechied the max number\"\r\n t(\"max_length\")\r\n : errors[name]?.type === \"minLength\"\r\n ? //? \"the minimum length is \" + minLength\r\n t(\"min_length\")\r\n : errors[name]?.type === \"required\"\r\n ? t(\"field_required\")\r\n : errors[name]?.type === \"pattern\"\r\n ? patternMessage\r\n : \"\"}\r\n \r\n \r\n )}\r\n />\r\n ) : (\r\n \r\n \r\n {patternMessage}\r\n \r\n \r\n );\r\n};\r\nexport { ErrorComponent };\r\n","import React, { useContext, useState } from \"react\";\r\n\r\nimport { Typography } from \"@material-ui/core\";\r\n\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\n\r\nimport Box from \"@material-ui/core/Box\";\r\n\r\ninterface TextProps {\r\n text: string;\r\n mb?: number;\r\n mt?: number;\r\n fontSize?: number;\r\n children?: any;\r\n style: any;\r\n}\r\nexport const DescreptionText = (props: TextProps) => {\r\n const { text, mt, mb, fontSize, children, style } = props;\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n \r\n {text}  {children}\r\n \r\n \r\n );\r\n};\r\n","import { makeStyles, createStyles, Theme } from \"@material-ui/core/styles\";\r\n\r\nexport const useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n rowContainer: {\r\n flexWrap: \"nowrap\",\r\n width: \"40%\",\r\n gap: 15,\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: \"100%\",\r\n flexDirection: \"column\",\r\n },\r\n },\r\n item: {\r\n width: \"100%\",\r\n \"& .MuiFormLabel-root\": {\r\n color: \"black\",\r\n },\r\n // '& #file-upload-button': {\r\n // display: 'none !important',\r\n // },\r\n \"& input[type='file']\": {\r\n color: \"transparent\",\r\n // display: 'none !important',\r\n },\r\n [theme.breakpoints.down(\"sm\")]: {\r\n flex: 12,\r\n width: \"100% !important\",\r\n },\r\n },\r\n\r\n input: {\r\n width: \"100%\",\r\n fontSize: theme.spacing(1),\r\n \"& .MuiInput-underline:after\": {\r\n borderColor: \"#D5D8DF\",\r\n },\r\n \"& .MuiInput-underline:before\": {\r\n borderColor: \"#D5D8DF\",\r\n },\r\n },\r\n })\r\n);\r\n","/* eslint-disable @typescript-eslint/no-var-requires */\r\n/* eslint-disable react/prop-types */\r\nimport React, { useState, useEffect } from \"react\";\r\n\r\nimport Grid from \"@material-ui/core/Grid\";\r\n\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport Box from \"@material-ui/core/Box\";\r\n\r\nimport { useStyles } from \"./styles\";\r\n\r\nconst Row = ({ children, ...rest }: any) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst RowItem = ({ children, className, ...rest }: any) => {\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport { RowItem, Row };\r\n","import { makeStyles, createStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { green } from \"@material-ui/core/colors\";\r\n\r\nexport const useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: \"auto\",\r\n },\r\n container: {\r\n [theme.breakpoints.down(\"xs\")]: {\r\n marginLeft: theme.spacing(0),\r\n padding: theme.spacing(2),\r\n },\r\n },\r\n rowContainer: {\r\n flexWrap: \"nowrap\",\r\n width: \"40%\",\r\n gap: 15,\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: \"100%\",\r\n flexDirection: \"column\",\r\n },\r\n },\r\n item: {\r\n width: \"100%\",\r\n \"& .MuiFormLabel-root\": {\r\n color: \"black\",\r\n },\r\n // '& #file-upload-button': {\r\n // display: 'none !important',\r\n // },\r\n \"& input[type='file']\": {\r\n color: \"transparent\",\r\n // display: 'none !important',\r\n },\r\n [theme.breakpoints.down(\"sm\")]: {\r\n flex: 12,\r\n width: \"100% !important\",\r\n },\r\n },\r\n bigTextField: {\r\n hieght: theme.spacing(6),\r\n \"& .MuiInput-underline:after\": {\r\n borderWidth: 0,\r\n },\r\n \"& .MuiInput-underline:before\": {\r\n borderWidth: 0,\r\n },\r\n \"& .MuiInputBase-inputMultiline\": {\r\n // margin: theme.spacing(1),\r\n lineHeight: \"normal\",\r\n\r\n height: \"auto\",\r\n width: \"100%\",\r\n fontSize: theme.spacing(5),\r\n fontWeight: \"bold\",\r\n color: \"black\",\r\n caretColor: \"#008CFF\",\r\n },\r\n },\r\n input: {\r\n width: \"100%\",\r\n fontSize: theme.spacing(1),\r\n \"& .MuiInput-underline:after\": {\r\n borderColor: \"#D5D8DF\",\r\n },\r\n \"& .MuiInput-underline:before\": {\r\n borderColor: \"#D5D8DF\",\r\n },\r\n },\r\n steps: {\r\n fontWeight: 400,\r\n fontSize: theme.spacing(1),\r\n },\r\n button: {\r\n marginTop: theme.spacing(4),\r\n marginLeft: 0,\r\n borderRadius: \"40px !important\",\r\n justifyContent: \"space-between\",\r\n height: 40,\r\n fontWeight: 700,\r\n fontStyle: \"normal\",\r\n fontSize: theme.spacing(1.5),\r\n letterSpacing: \"0.8px\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n flex: 12,\r\n width: \"100%\",\r\n },\r\n },\r\n textbutton: {\r\n color: \"#008CFF\",\r\n background: \"transparent\",\r\n \"&:focus\": {\r\n background: \"transparent\",\r\n },\r\n },\r\n\r\n buttonSuccess: {\r\n backgroundColor: green[500],\r\n \"&:hover\": {\r\n backgroundColor: green[700],\r\n },\r\n },\r\n buttonProgress: {\r\n color: green[500],\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n marginTop: -12,\r\n marginLeft: -12,\r\n },\r\n })\r\n);\r\n","/* eslint-disable @typescript-eslint/no-var-requires */\r\n/* eslint-disable react/prop-types */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { withRouter, useHistory, RouteComponentProps } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Typography } from \"@material-ui/core\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport ArrowForwardIcon from \"@material-ui/icons/ArrowForward\";\r\nimport ArrowBack from \"@material-ui/icons/ArrowBack\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\n\r\nimport BackButtonLayout from \"core/layouts/backButtonLayout\";\r\n\r\nimport { useStyles } from \"./styles\";\r\n\r\ninterface FailProps {\r\n hideFail?: () => void;\r\n}\r\nconst Fail = (props: FailProps) => {\r\n const { t, i18n } = useTranslation();\r\n const { hideFail } = props;\r\n const win: any = window;\r\n // const history = useHistory();\r\n const thanksUrl = win[\"contactus_thanks_url\"];\r\n const langDir = i18n.dir(win[\"lang\"] as string);\r\n const isRTL = langDir === \"rtl\";\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {t(\"opps\")}\r\n \r\n \r\n \r\n \r\n {t(\"contactFailTitle\")}\r\n \r\n \r\n (hideFail ? hideFail() : {})}\r\n >\r\n {\r\n window.sessionStorage.thanksMessage = t(\"success_message\");\r\n document.location.href = thanksUrl;\r\n }}\r\n disabled={false}\r\n loading={false}\r\n title={t(\"GobacktoHomepage\")}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Fail;\r\n\r\ninterface PrimaryButtonProps {\r\n disabled?: boolean;\r\n loading?: boolean;\r\n mb?: number;\r\n action?: () => void;\r\n title: string;\r\n}\r\nconst PrimaryButton = (props: PrimaryButtonProps) => {\r\n const { disabled, loading, title, mb, action } = props;\r\n const { t, i18n } = useTranslation();\r\n const win: any = window;\r\n const langDir = i18n.dir(win[\"lang\"] as string);\r\n const isRTL = langDir === \"rtl\";\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n return (\r\n (action ? action() : {})}\r\n endIcon={\r\n !isRTL ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n >\r\n \r\n {title}\r\n \r\n {loading && (\r\n \r\n )}\r\n \r\n );\r\n};\r\nconst TextButton = (props: PrimaryButtonProps) => {\r\n const { disabled, loading, title, action } = props;\r\n const { t, i18n } = useTranslation();\r\n const win: any = window;\r\n const langDir = i18n.dir(win[\"lang\"] as string);\r\n const isRTL = langDir === \"rtl\";\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n return (\r\n (action ? action() : {})}\r\n endIcon={\r\n !isRTL ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n >\r\n \r\n {title}\r\n \r\n {loading && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export const toBase64 = (el: HTMLInputElement): Promise => {\r\n return new Promise((resolve, reject) => {\r\n const selectedFile: any = el.files;\r\n //Check File is not Empty\r\n if (selectedFile.length > 0) {\r\n // Select the very first file from list\r\n const fileToLoad = selectedFile[0];\r\n // FileReader function for read the file.\r\n const fileReader = new FileReader();\r\n let base64: any;\r\n // Onload of file read the file content\r\n fileReader.readAsDataURL(fileToLoad);\r\n fileReader.onload = (fileLoadedEvent: any) => {\r\n base64 = fileLoadedEvent.target.result.split(\",\")[1];\r\n resolve(base64);\r\n console.log(base64);\r\n return;\r\n // Print data in console\r\n };\r\n // Convert data to base64\r\n } else {\r\n resolve(\"\");\r\n\r\n return \"\";\r\n }\r\n });\r\n};\r\n","export const isEmail = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i;\r\nexport const isMobile = /^(05)([0-9]{8})$/i;\r\nexport const beginWith966 = /^966/;\r\nexport const Alphanumeric = /^[a-zA-Z0-9_ \\u0600-\\u06FF]*$/;\r\n","class SpecificExceptions extends Error {\r\n constructor(code: any, message: any) {\r\n console.log(\"SpecificExceptions :: message => \" + message);\r\n console.log(\"SpecificExceptions :: code => \" + code);\r\n super();\r\n code = code;\r\n this.message = message;\r\n }\r\n}\r\nexport default SpecificExceptions;\r\n","class GenericExceptions extends Error {\r\n constructor(message: any) {\r\n super(message);\r\n }\r\n}\r\nexport default GenericExceptions;\r\n","import { callBackendService } from \"../index\";\r\nconst win: any = window;\r\n//const token = 'fb1f4b97-e3fd-4beb-988a-dd78ac115990';\r\nconst token = win[\"clientToken\"];\r\n\r\nconst getInquiryTypes = async () =>\r\n await callBackendService(`contactus/v1/inquiry-types`, \"get\", null, token);\r\nconst sendContactUsRequest = async (payload: any) =>\r\n await callBackendService(`contactus/v1/request`, \"post\", payload, token);\r\n\r\nexport const ContactUsApi = { getInquiryTypes, sendContactUsRequest };\r\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\n/* eslint-disable prefer-const */\r\n// 1- regenerate_url\r\n// 2- base_api_url\r\n// 3- base_portal_url\r\n// base_portal_url + regenerate_url\r\nimport { JSEncrypt } from \"jsencrypt\";\r\nimport SpecificExceptions from \"./specific-exceptions\";\r\nimport GenericExceptions from \"./generic-exceptions\";\r\n\r\nconst win: any = window;\r\nconst base_portal_url = win[\"base_portal_url\"];\r\n//win['base_api_url']=\"http://sdea003:9080/api/\";\r\nconst cem_key = win[\"CEM_KEY\"];\r\n\r\nexport async function callBackendService(\r\n url: string,\r\n methodType: any,\r\n requestBody?: any,\r\n token?: string\r\n) {\r\n console.log(\"callBackendService :: Enter\");\r\n\r\n console.log(\"callBackendService :: param :: methodType => \" + methodType);\r\n console.log(\"callBackendService :: param :: url => \" + url);\r\n\r\n console.log(\r\n \"callBackendService :: param :: requestBody => \" +\r\n JSON.stringify(requestBody)\r\n );\r\n\r\n let headers = {\r\n \"Content-Type\": \"application/json\",\r\n \"cem-key\": cem_key,\r\n };\r\n\r\n let extraHeader = { Authorization: \"Bearer \" + token };\r\n\r\n if (extraHeader) {\r\n headers = { ...headers, ...extraHeader };\r\n }\r\n\r\n console.log(\"callBackendService :: Headers => \" + JSON.stringify(headers));\r\n\r\n return new Promise((resolve, reject) => {\r\n let baseURL = win[\"base_api_url\"]\r\n ? win[\"base_api_url\"]\r\n : \"http://sdea003:9080/api/\";\r\n let corsHack = \"https://cors-anywhere.herokuapp.com/\";\r\n let req;\r\n\r\n if (!!requestBody) {\r\n req = fetch(baseURL + url, {\r\n method: methodType,\r\n body: JSON.stringify(requestBody),\r\n headers: headers,\r\n });\r\n } else {\r\n req = fetch(baseURL + url, {\r\n method: methodType,\r\n headers: headers,\r\n });\r\n }\r\n console.log(baseURL + url, {\r\n method: methodType,\r\n headers: headers,\r\n });\r\n req\r\n .then(async (res) => res.json())\r\n .then(async (result) => {\r\n console.log(\"BackEnd :: Result => \" + JSON.stringify(result));\r\n if (result.statusCode && result.statusCode === \"MBE_323\") {\r\n let newtoken: any = await regenerate_url();\r\n resolve(\r\n await callBackendService(url, methodType, requestBody, newtoken)\r\n );\r\n } else if (result.code && result.code !== \"MAPI-000\") {\r\n if (result.code === \"MAPI-500\") {\r\n console.log(\"BackEnd :: Result :: GenericExceptions\");\r\n reject(new GenericExceptions(result.englishDetail));\r\n } else {\r\n console.log(\"BackEnd :: Result :: SpecificExceptions\");\r\n\r\n if (win[\"lang\"] === \"en\") {\r\n // ENGLISH LANGUAGE\r\n reject(new SpecificExceptions(result.code, result.englishDetail));\r\n } else {\r\n // ARABIC LANGUAGE\r\n reject(new SpecificExceptions(result.code, result.arabicDetail));\r\n }\r\n }\r\n }\r\n console.log(\"BackEnd :: Result after=> \" + JSON.stringify(result));\r\n resolve(result);\r\n })\r\n .catch((err) => {\r\n reject(err);\r\n console.log(\"BackEnd :: catch => \" + err);\r\n console.log(err);\r\n });\r\n });\r\n}\r\n\r\nexport function encrypt(message: string) {\r\n console.log(\"encrypt :: Enter\");\r\n\r\n console.log(\"encrypt :: param :: message => \" + message);\r\n\r\n const publicKey = win[\"PK\"];\r\n\r\n let RSAEncrypt = new JSEncrypt();\r\n\r\n RSAEncrypt.setPublicKey(publicKey);\r\n\r\n let encryptedMessage = RSAEncrypt.encrypt(message);\r\n\r\n console.log(\"encrypt :: encryptedMessage => \" + encryptedMessage);\r\n\r\n return encryptedMessage;\r\n}\r\n\r\nexport function regenerate_url() {\r\n console.log(\"regenerate_url :: Enter\");\r\n let regenerate_url = win[\"regenerate_url\"]\r\n ? base_portal_url + win[\"regenerate_url\"]\r\n : \"http://sdea003:9080/api/internal-oauth-server/oauth/token\";\r\n\r\n console.log(\"regenerate_url => \" + regenerate_url);\r\n\r\n return new Promise((resolve, reject) => {\r\n fetch(regenerate_url, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-type\": \"text/html; charset=UTF-8\",\r\n \"cem-key\": cem_key,\r\n },\r\n })\r\n .then((res) => res.text())\r\n .then((result) => {\r\n console.log(\"Token res -> \" + result);\r\n\r\n resolve(result);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n\r\n reject(err);\r\n });\r\n });\r\n}\r\n\r\nexport * from \"./ContactUsApi\";\r\n","import { makeStyles, createStyles, Theme } from \"@material-ui/core/styles\";\r\nimport { green } from \"@material-ui/core/colors\";\r\nconst win: any = window;\r\n\r\nexport const useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {\r\n height: \"auto\",\r\n },\r\n container: {\r\n [theme.breakpoints.down(\"xs\")]: {\r\n marginLeft: theme.spacing(0),\r\n padding: theme.spacing(2),\r\n },\r\n },\r\n rowContainer: {\r\n flexWrap: \"nowrap\",\r\n width: \"40%\",\r\n gap: 15,\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: \"100%\",\r\n flexDirection: \"column\",\r\n },\r\n },\r\n pageTitle: {\r\n fontFamily: win[\"lang\"] === \"ar\" ? \"ExpoArabic-Bold;\" : \"ScandiaWeb-Bold\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n fontSize: theme.spacing(3),\r\n },\r\n },\r\n item: {\r\n width: \"100%\",\r\n \"& .MuiFormLabel-root\": {\r\n color: \"black\",\r\n },\r\n // '& #file-upload-button': {\r\n // display: 'none !important',\r\n // },\r\n \"& input[type='file']\": {\r\n color: \"transparent\",\r\n // display: 'none !important',\r\n },\r\n [theme.breakpoints.down(\"sm\")]: {\r\n flex: 12,\r\n width: \"100% !important\",\r\n },\r\n },\r\n bigTextField: {\r\n fontFamily: win[\"lang\"] === \"ar\" ? \"ExpoArabic-Bold;\" : \"ScandiaWeb-Bold\",\r\n hieght: theme.spacing(6),\r\n \"& .MuiInput-underline:after\": {\r\n borderWidth: 0,\r\n },\r\n \"& .MuiInput-underline:before\": {\r\n borderWidth: 0,\r\n },\r\n \"& .MuiInputBase-inputMultiline\": {\r\n // margin: theme.spacing(1),\r\n lineHeight: \"normal\",\r\n\r\n height: \"auto\",\r\n width: \"100%\",\r\n fontSize: theme.spacing(5),\r\n fontFamily:\r\n win[\"lang\"] === \"ar\" ? \"ExpoArabic-Bold;\" : \"ScandiaWeb-Bold\",\r\n color: \"black\",\r\n caretColor: \"#008CFF\",\r\n },\r\n },\r\n input: {\r\n width: \"100%\",\r\n fontSize: theme.spacing(1),\r\n \"& .MuiInput-underline:after\": {\r\n borderColor: \"#D5D8DF\",\r\n },\r\n \"& .MuiInput-underline:before\": {\r\n borderColor: \"#D5D8DF\",\r\n },\r\n },\r\n steps: {\r\n fontWeight: 400,\r\n fontSize: theme.spacing(1),\r\n },\r\n button: {\r\n marginTop: theme.spacing(4),\r\n marginLeft: 0,\r\n borderRadius: \"40px !important\",\r\n justifyContent: \"space-between\",\r\n height: 40,\r\n fontWeight: 700,\r\n fontStyle: \"normal\",\r\n fontSize: theme.spacing(1.5),\r\n letterSpacing: \"0.8px\",\r\n [theme.breakpoints.down(\"sm\")]: {\r\n flex: 12,\r\n width: \"100%\",\r\n },\r\n },\r\n buttonSuccess: {\r\n backgroundColor: green[500],\r\n \"&:hover\": {\r\n backgroundColor: green[700],\r\n },\r\n },\r\n buttonProgress: {\r\n color: green[500],\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n marginTop: -12,\r\n marginLeft: -12,\r\n },\r\n })\r\n);\r\n","/* eslint-disable @typescript-eslint/no-var-requires */\r\n/* eslint-disable react/prop-types */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { withRouter, useHistory, RouteComponentProps } from \"react-router-dom\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nimport Select from \"@material-ui/core/Select\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport AttachmentIcon from \"@material-ui/icons/Attachment\";\r\nimport Delete from \"@material-ui/icons/Delete\";\r\n\r\nimport ReCAPTCHA from \"core/components/ReCAPTCHA\";\r\n\r\nimport { Typography } from \"@material-ui/core\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport ArrowForwardIcon from \"@material-ui/icons/ArrowForward\";\r\nimport ArrowBack from \"@material-ui/icons/ArrowBack\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\n\r\nimport BackButtonLayout from \"core/layouts/backButtonLayout\";\r\nimport { ErrorComponent } from \"core/components/Error\";\r\nimport { DescreptionText } from \"core/components/Text\";\r\nimport { Row, RowItem } from \"core/components/Rows\";\r\nimport Fail from \"pages/Fail\";\r\nimport { toBase64, isEmail, beginWith966, Alphanumeric } from \"core/utils\";\r\n\r\nimport { ContactUsApi } from \"api\";\r\n\r\nimport { Inputs, InquiryType, InquiryTypes, Props } from \"./modals\";\r\nimport { useStyles } from \"./styles\";\r\nconst recaptchaRef: any = React.createRef();\r\n\r\nconst ContactUs = (\r\n props: React.PropsWithChildren\r\n) => {\r\n const { t, i18n } = useTranslation();\r\n const win: any = window;\r\n const langDir = i18n.dir(win[\"lang\"] as string);\r\n const isRTL = langDir === \"rtl\";\r\n const [open, setOpen] = useState(false);\r\n const [renderError, setRenderError] = useState(false);\r\n\r\n const [attachmentFormatError, setAttachmentFormatError] = useState(false);\r\n const thanksUrl = win[\"contactus_thanks_url\"];\r\n const history = useHistory();\r\n const classes = useStyles();\r\n const theme = useTheme();\r\n const {\r\n register,\r\n handleSubmit,\r\n watch,\r\n errors,\r\n control,\r\n setValue,\r\n } = useForm();\r\n const {\r\n fristName,\r\n lastName,\r\n email,\r\n phoneNumber,\r\n otherPhoneNumber,\r\n inquiry,\r\n subject,\r\n message,\r\n attachment,\r\n } = watch();\r\n const [inquiryTypes, setInquiryTypes] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const splitFileName = (filename: string) =>\r\n filename.toString().split(\"\\\\\")[filename.toString().split(\"\\\\\").length - 1];\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setOpen(true);\r\n };\r\n const onChange = (value: any) => {\r\n // setTrialCount(0);\r\n // recaptchaRef.current.reset();\r\n // console.log('Captcha value:', value);\r\n };\r\n useEffect(() => {\r\n ContactUsApi.getInquiryTypes()\r\n .then((res: any) => {\r\n !!res && setInquiryTypes(res.inquiryTypes as any);\r\n })\r\n .finally(() => console.log(\"\"));\r\n }, []);\r\n\r\n const onSubmit = async (data: any) => {\r\n setLoading(true);\r\n if (!!attachment) {\r\n const attachmentSplited = attachment\r\n .toString()\r\n .replace(/^.*[\\\\\\/]/, \"\")\r\n .split(\".\");\r\n\r\n if (attachmentSplited.length > 0) {\r\n const attachmentSplitedExtension =\r\n attachmentSplited[attachmentSplited.length - 1];\r\n const validFormats = [\"doc\", \"docx\", \"pdf\", \"jpg\", \"png\"];\r\n console.log(validFormats, attachmentSplitedExtension);\r\n if (!validFormats.includes(attachmentSplitedExtension)) {\r\n setAttachmentFormatError(true);\r\n setLoading(false);\r\n\r\n return;\r\n }\r\n }\r\n } else {\r\n setAttachmentFormatError(false);\r\n }\r\n const el = document.getElementById(\"attachment\") as HTMLInputElement;\r\n const encodedFile = await toBase64(el);\r\n const payload = {\r\n contactInfo: {\r\n firstName: data.fristName,\r\n lastName: data.lastName,\r\n phoneNumber: data.phoneNumber,\r\n alternateContactNumber: data.otherPhoneNumber,\r\n emailAddress: data.email,\r\n inquiryType: data.inquiry,\r\n subject: data.subject,\r\n message: data.message,\r\n lang: i18n.language,\r\n docMapObject: {\r\n fileName: data.attachment\r\n ? data.attachment.replace(/^.*[\\\\\\/]/, \"\")\r\n : \"\",\r\n fileByteArray: data.attachment ? encodedFile : \"\",\r\n },\r\n },\r\n };\r\n ContactUsApi.sendContactUsRequest(payload)\r\n .then((res: any) => {\r\n window.sessionStorage.thanksMessage = t(\"success_message\");\r\n document.location.href = thanksUrl;\r\n })\r\n .catch((err) => setRenderError(true))\r\n .finally(() => setLoading(false));\r\n };\r\n\r\n return renderError ? (\r\n {\r\n setRenderError(false);\r\n }}\r\n >\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n {t(\"title\")}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {t(\"inquiry\")}\r\n \r\n {inquiryTypes.map((inquiry: InquiryType, index: number) => (\r\n \r\n {i18n.language == \"en\"\r\n ? inquiry.itemNameEn\r\n : inquiry.itemNameAr}\r\n \r\n ))}\r\n \r\n }\r\n defaultValue={\"\"}\r\n control={control}\r\n name=\"inquiry\"\r\n type={\"string\"}\r\n fullWidth\r\n id=\"inquiry\"\r\n dir={langDir}\r\n open={open}\r\n onClose={handleClose}\r\n onOpen={handleOpen}\r\n rules={{ required: true }}\r\n // onChange={handleChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {\r\n if (!!!attachment) {\r\n const el: any = document.getElementById(\r\n \"attachment\"\r\n ) as HTMLInputElement;\r\n el.click();\r\n }\r\n }}\r\n style={{\r\n cursor: \"pointer\",\r\n border: \"0px solid #D5D8DF\",\r\n borderBottomWidth: \"1px\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n justifyContent: \"space-between\",\r\n }}\r\n >\r\n \r\n {attachment\r\n ? splitFileName(attachment.toString())\r\n : t(\"attachDocument\")}\r\n \r\n \r\n {!!!attachment ? (\r\n \r\n ) : (\r\n {\r\n // setValue('attachment', undefined, {\r\n // shouldValidate: true,\r\n // shouldDirty: true,\r\n // });\r\n setValue(\"attachment\", \"\");\r\n const el: any = document.getElementById(\r\n \"attachment\"\r\n ) as HTMLInputElement;\r\n el.files !== null && (el.files = undefined);\r\n }}\r\n style={{ color: \"#008CFF\" }}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n if (\r\n !(\r\n Object.keys(errors).length === 0 &&\r\n errors.constructor === Object\r\n )\r\n ) {\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n return;\r\n }\r\n }}\r\n type=\"submit\"\r\n variant=\"contained\"\r\n color=\"secondary\"\r\n className={classes.button}\r\n disabled={\r\n loading ||\r\n !(\r\n fristName &&\r\n lastName &&\r\n email &&\r\n phoneNumber &&\r\n subject &&\r\n message &&\r\n inquiry\r\n )\r\n }\r\n endIcon={\r\n !isRTL ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n >\r\n \r\n {t(\"send\")}\r\n \r\n {loading && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default withRouter(ContactUs);\r\n","import React from \"react\";\r\nimport { ContactUs, Fail } from \"pages\";\r\nimport { BrowserRouter as Router, Switch, Route, Link } from \"react-router-dom\";\r\n\r\nexport const Routes = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n );\r\n};\r\n","/* eslint-disable react/prop-types */\r\nimport React from 'react';\r\nimport Context from './context';\r\nexport default class GlobalState extends React.Component {\r\n state = {\r\n _step: 1,\r\n };\r\n\r\n setStep = (step: any) => {\r\n this.setState({ _step: step });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import \"./i18n\";\r\nimport React, { useLayoutEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { unstable_createMuiStrictModeTheme as createMuiTheme } from \"@material-ui/core\";\r\n\r\nimport { ThemeProvider } from \"@material-ui/core/styles\";\r\nimport { Shadows } from \"@material-ui/core/styles/shadows\";\r\nimport { create } from \"jss\";\r\nimport rtl from \"jss-rtl\";\r\nimport { StylesProvider, jssPreset } from \"@material-ui/core/styles\";\r\n\r\nimport { Routes } from \"routes\";\r\nimport GlobalState from \"core/context/GlobalState\";\r\nconst win: any = window;\r\n\r\nconst apptheme = createMuiTheme({\r\n direction: \"rtl\",\r\n shadows: Array(25).fill(\"none\") as Shadows,\r\n typography: {\r\n fontSize: 12,\r\n fontFamily:\r\n win[\"lang\"] === \"ar\" ? \"ExpoArabic-Book;\" : \"ScandiaWeb-Regular\",\r\n },\r\n palette: {\r\n text: {\r\n primary: \"#606060\",\r\n secondary: \"#72767A\",\r\n },\r\n primary: {\r\n main: \"#606060\",\r\n light: \"#d4d4d0\",\r\n dark: \"#efeded\",\r\n },\r\n secondary: {\r\n main: \"#008CFF\",\r\n },\r\n contrastThreshold: 3,\r\n },\r\n});\r\n\r\nexport default function App() {\r\n const win: any = window;\r\n const { i18n } = useTranslation();\r\n // win['lang'] = 'en-US';\r\n // win['lang'] = 'ar';\r\n const langDir = i18n.dir(win[\"lang\"] as string);\r\n const isRTL = langDir === \"rtl\";\r\n\r\n document.body.setAttribute(\"dir\", isRTL ? \"rtl\" : \"ltr\");\r\n const jss = isRTL\r\n ? create({ plugins: [...jssPreset().plugins, rtl()] })\r\n : create({ plugins: [...jssPreset().plugins] });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA',\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React, { Suspense } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"App\";\r\nimport \"fontsource-roboto/500.css\";\r\nimport \"./styles.css\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\n\r\nif (window.location.href.includes(\"mobily.com.sa\")) {\r\n console.log = () => {};\r\n}\r\n\r\nReactDOM.render(\r\n \r\n }>\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}