{"version":3,"file":"dist/build-client/static/js/MobileHeader-MobileHeader.8be53f0b.chunk.js","mappings":"sRAyDA,IAAMA,GAAgBC,EAAAA,EAAAA,IAAOC,EAAAA,EAAS,CACpCC,MAAO,cACPC,QAAS,SAGLC,GAAcJ,EAAAA,EAAAA,IAAO,MAAO,CAChCG,QAAS,OACTE,WAAY,SACZC,EAAG,OACHC,GAAI,IAGAC,GAAoBR,EAAAA,EAAAA,IAAO,MAAO,CACtCE,MAAO,gBAGHO,GAAOT,EAAAA,EAAAA,IAAO,QAAD,QAAC,QAClBM,EAAG,OACH,wCAAyC,CAAEI,MAAO,eAC/CC,EAAAA,GAHc,IAIjBC,SAAU,CACRC,cAAe,CACbC,MAAK,UACAC,EAAAA,QAMX,KAAef,EAAAA,EAAAA,KAnEf,YASe,IAAD,IARZgB,UAAAA,OAQY,SAPZC,EAOY,EAPZA,QACAC,EAMY,EANZA,KACAC,EAKY,EALZA,SAGAC,GAEY,EAJZC,QAIY,EAHZX,MAGY,EAFZU,MACGE,GACS,YACZ,GAA0CC,EAAAA,EAAAA,WAAS,GAAnD,eAAOV,EAAP,KAAsBW,EAAtB,KACMC,GAAOC,EAAAA,EAAAA,GAAa,OAACN,QAAD,IAACA,EAAAA,EAAQ,SACnC,OACE,SAACZ,EAAD,CACEmB,YAAa,kBAAMH,GAAiB,IACpCI,aAAc,kBAAMJ,GAAiB,IAFvC,UAIE,UAACzB,GAAD,kBACMuB,GADN,IAEEL,QAASA,EACTC,KAAMA,EACNW,WAAY,aACZC,YAAY,EALd,WAOE,SAACrB,EAAD,CAAMI,cAAeA,EAAe,iBAAgBG,EAApD,SACGG,KAEH,SAACf,EAAD,CACE,mBAAkBS,EAClB,iBAAgBG,EAFlB,UAIE,SAACS,EAAD,CAAMM,KAAM,IAAKrB,MAAO,UAAWsB,YAAU,gB,sDCzBvD,IAhBA,YAIe,IAHbC,EAGY,EAHZA,UACAC,EAEY,EAFZA,UAEY,IADZC,aAAAA,OACY,MADG,UACH,EAGZ,OAFAC,EAAAA,EAAAA,MAGE,SAACC,EAAD,CACEpB,QAASgB,EACTC,UAAWA,EACXC,aAAcA,KAOpB,IAAME,GAAarC,EAAAA,EAAAA,IAAO,MAAO,CAC/BsC,EAAG,QACHC,EAAG,QACHC,SAAU,QACVC,EAAG,EACHC,EAAG,EACHC,QAAS,IACTC,OAAQ,gBACRC,WAAY,wBACZC,WAAY,SACZlC,SAAU,CACRsB,UAAW,CACTpB,KAAM,CACJgC,WAAY,UACZH,QAAS,QAGbR,aAAc,CACZY,QAAS,CACPC,gBAAiB,wBAEnBC,UAAW,CACTD,gBAAiB,+B,gEC9BzB,IAAME,GAAoBlD,EAAAA,EAAAA,IAAO,OAAQ,CACvCwC,SAAU,WACVE,EAAG,EACHS,GAAI,EACJH,gBAAiB,oBACjBtC,MAAO,iBACPmB,WAAY,oBACZuB,aAAc,MACdC,GAAI,EACJC,KAAM,EACNC,KAAM,EACNC,WAAY,OACZrD,QAAS,OACTE,WAAY,SACZoD,eAAgB,SAChBC,UAAW,SACXd,OAAQ,gBACRhC,SAAU,CACR+C,OAAQ,CACN7C,KAAM,CACJwC,KAAM,EACNC,KAAM,EACNb,GAAI,EACJS,GAAI,OAMZ,IA5CA,WACE,IAAQS,GAAkBC,EAAAA,EAAAA,KAAlBD,cACR,GAAyCE,EAAAA,EAAAA,IAAQF,GAAzCG,EAAR,EAAQA,KAAMC,EAAd,EAAcA,UAAWC,EAAzB,EAAyBA,YAEzB,GAAID,GAAaC,EAAa,OAAO,wBAErC,IAAMC,IAA6B,OAAJH,QAAI,IAAJA,OAAA,EAAAA,EAAMI,gBAAiB,IAAM,GAE5D,OACE,SAACjB,EAAD,CAAmBS,OAAQO,EAA3B,gBACGH,QADH,IACGA,OADH,EACGA,EAAMI,kB,qKCCPC,GAAuBC,EAAAA,EAAAA,IAAS,CAAD,2KACnC,kBAAM,gCAD6B,sPAI/BC,GAAuDD,EAAAA,EAAAA,IAAS,CAAD,uKACnE,kBAAM,+BAD6D,qPAIrE,SAASE,IACP,IAAQX,GAAkBC,EAAAA,EAAAA,KAAlBD,cACR,GAAkDY,EAAAA,EAAAA,YAAWC,EAAAA,EAAa,CACxEC,YAAY,EACZC,WAAW,EACXC,OAAQ,OAHV,sBAASF,EAAT,EAASA,WAAYC,EAArB,EAAqBA,UAAaE,EAAlC,KAMMC,GAAcC,EAAAA,EAAAA,cAAY,WAC9BF,EAAa,CAAEzD,KAAM,gBACpB,CAACyD,IAEJ,GAAiEL,EAAAA,EAAAA,YAC/DQ,EAAAA,EACA,CACEC,iBAAiB,EACjBC,gBAAgB,IAJpB,sBAASD,EAAT,EAASA,gBAAiBC,EAA1B,EAA0BA,eAAkBC,EAA5C,KAQA,GAA8CC,EAAAA,EAAAA,KAAtCC,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,oBAEtB,OACE,iCACE,SAACC,EAAD,KACA,SAAC,IAAD,CACET,YAAa,kBAAMD,EAAa,CAAEzD,KAAM,kBAE1C,UAACoE,EAAD,CAAeC,eAAgBJ,EAAcK,OAAQJ,EAArD,WACE,UAACK,EAAD,YACE,mBACE,aAAY,cACZ1E,QAAS,WACP4D,EACEH,EAAa,CAAEtD,KAAM,aAAgB,CAAEA,KAAM,kBAJnD,SAQIsD,GAGA,SAAC,KAAD,CAAW3C,KAAK,IAAI6D,UAAU,eAF9B,SAAC,KAAD,CAAmB7D,KAAK,IAAIrB,MAAM,iBAKtC,SAACX,EAAD,CACEmB,KAAI,WAAM0C,GACV9B,YAAY,EACZ,aAAY,cAHd,UAKE,SAAC,KAAD,CAAUC,KAAK,eAAe6D,UAAU,gBAG5C,SAACC,EAAD,WACE,SAAC,IAAD,CACEf,YAAaA,EACbgB,gBAAiB,kBAAMX,EAAkB,wBAI9CR,IACC,SAACP,EAAD,CACE2B,OAAQrB,EACRI,YAAa,kBAAMD,EAAa,CAAEzD,KAAM,iBAG3C8D,IACC,SAACZ,EAAD,CACEyB,OAAQd,EACRe,eAAgB,WACdb,EAAkB,eAQ9B,YAEA,IAAMK,GAAgBxF,EAAAA,EAAAA,IAAO,SAAU,CACrCwC,SAAU,WACVE,EAAG,EACHuD,GAAI,EACJ3D,EAAG,OACHnC,QAAS,OACTE,WAAY,SACZoD,eAAgB,gBAChBT,gBAAiB,8BACjBJ,OAAQ,gBACRC,WAAW,OAAD,OAASqD,EAAAA,EAAAA,SAAT,YAA6BC,EAAAA,EAAAA,UACvCC,OAAQ,sBACRC,OAAQ,OACRzF,SAAU,CACR6E,eAAgB,CAEd3E,KAAM,CACJ4B,GAAI,IAGN4D,MAAO,CACL5D,GAAI,GACJF,SAAU,WAGdkD,OAAQ,CACN5E,KAAM,CACJ0B,SAAU,SACV+D,IAAK,OAMPZ,GAAoB3F,EAAAA,EAAAA,IAAO,MAAO,CACtCG,QAAS,OACTE,WAAY,SACZuC,OAAQ,gBACRwD,OAAQ,wBAGJP,GAAqB7F,EAAAA,EAAAA,IAAO,MAAO,CACvCG,QAAS,OACTE,WAAY,SACZuC,OAAQ,gBACRwD,OAAQ,sBACRI,IAAK,SAGDzG,GAAgBC,EAAAA,EAAAA,IAAOC,EAAAA,EAAS,CACpCM,GAAI,EACJkG,GAAI,IAGAlB,GAAcvF,EAAAA,EAAAA,IAAO,MAAO,CAChCsC,EAAG,OACHiB,KAAM,4BACNf,SAAU,c,kLCxINkE,GAAWrC,EAAAA,EAAAA,IAAS,CAAD,mKAAC,kBAAM,yDAAP,sPAOzB,SAASsC,EAAT,GAAkE,IAA5C7B,EAA2C,EAA3CA,YAAagB,EAA8B,EAA9BA,gBACjC,GAMIc,EAAAA,EAAAA,KALFC,EADF,EACEA,gBACAC,EAFF,EAEEA,QACAC,EAHF,EAGEA,iBACAC,EAJF,EAIEA,eACAC,EALF,EAKEA,cAGMrD,GAAkBC,EAAAA,EAAAA,KAAlBD,cAEAsD,GAAiBC,EAAAA,EAAAA,IAAavD,GAA9BsD,aACFE,GAAgBrC,EAAAA,EAAAA,cAAY,WAC5B+B,EAAQO,gBAAgBvC,IAE5B+B,EAAgB,CAAEzF,KAAM,aACvB,CAAC0F,EAAQO,eAAgBR,EAAiB/B,IAE7C,GAAkCvD,EAAAA,EAAAA,WAAS+F,EAAAA,EAAAA,OAA3C,eAAOC,EAAP,KAAkBC,EAAlB,MAEAC,EAAAA,EAAAA,YAAU,WACe,mBAAnBF,EAAUnG,MACZyF,EAAgB,CAAEzF,KAAM,aAEzB,CAACmG,EAAUnG,KAAMyF,IAEpB,IAAMa,GAAc3C,EAAAA,EAAAA,cAAY,YAC9B4C,EAAAA,EAAAA,IAAUC,SAASC,MAAOC,OAAOC,SAASC,UAC1CR,EAAaS,EAAAA,MACZ,CAACT,IAEIU,GAAiBC,EAAAA,EAAAA,KAAjBD,aAGEE,GACNxB,EAAAA,EAAAA,KADFyB,KAAQD,cAGOE,GACbzE,EAAAA,EAAAA,KADF0E,YAAeD,YAEjB,OACE,iCACE,SAACE,EAAD,WACE,UAACC,EAAD,YACE,SAACC,EAAD,CACE,aAAYR,GAAgBA,EAAaS,OACzC1H,QAAS,WACP6D,IACA8D,EAAAA,GAAAA,SAAyBC,EAAAA,GAA8B,OAJ3D,UAOE,SAAC,KAAD,CAAY9G,KAAK,IAAIrB,MAAM,gBAE3B0H,GAUA,SAACM,EAAD,CAAgB,aAAY,iBAA5B,UACE,SAAC,IAAD,CAASI,IAAK,CAAExI,EAAG,GAAKY,KAAMoH,EAAaxG,YAAY,EAAvD,UACE,SAAC,KAAD,CAAUpB,MAAM,UAAUqB,KAAK,WAXnC,SAAC2G,EAAD,CACE,aAAY,iBACZzH,QAAS,WACPmG,KAHJ,UAME,SAAC,KAAD,CAAUrF,KAAK,IAAIrB,MAAM,iBAS7B,SAACgI,EAAD,CACE,aAAY,mBACZzH,QAAS,WACPmH,EAAgBtC,IAAoBsB,KAHxC,UAME,SAAC,KAAD,CACE1G,MAAO0H,GAAiBlB,EAAe,UAAY,YACnDnF,KAAK,IACL6D,UACEwC,GAAiBlB,EAAe,UAAY,mBAIlD,UAACwB,EAAD,CACE,aAAY,cACZzH,QAAS,WACP6D,IACAiC,EACEC,EAAiB,gBAAkB,iBALzC,WASE,SAAC,KAAD,CAAUjF,KAAK,IAAIrB,MAAM,eACzB,SAAC,IAAD,YAKLuG,IACC,SAACP,EAAD,CACEX,OAAQiB,EACR+B,cAAe,WACbhC,EAAiB,qBAKvB,SAAC,UAAD,CACEiC,UAAWlC,EAAQO,eACnB4B,OAAQ7B,EACRM,YAAaA,EACbwB,kBACqB,mBAAnB3B,EAAUnG,MAAgD,UAAnBmG,EAAUnG,KAC7C,CACE+H,MAAO5B,EAAU4B,MACjBC,MAAO7B,EAAU6B,MACjBC,KACqB,mBAAnB9B,EAAUnG,KACNkI,EAAAA,UAAAA,QACAA,EAAAA,UAAAA,OAER,CACED,KAAMC,EAAAA,UAAAA,YAQtB,IAAMd,GAAOxI,EAAAA,EAAAA,IAAO,MAAO,IAErByI,GAAOzI,EAAAA,EAAAA,IAAO,MAAO,CACzBG,QAAS,OACTE,WAAY,SACZmG,IAAK,SAGDkC,GAAiB1I,EAAAA,EAAAA,IAAO,SAAU,CACtCwC,SAAU,WACVrC,QAAS,SAGX,O,mCC5IA,IAzByB,SAACoJ,EAAkBC,GAC1C,OAAQA,GACN,IAAK,eACH,OAAO,kBACFD,GADL,IAEEtE,iBAAiB,EACjBC,gBAAgB,IAGpB,IAAK,QACH,OAAO,kBACFqE,GADL,IAEEtE,iBAAiB,IAGrB,IAAK,UACH,OAAO,kBACFsE,GADL,IAEErE,gBAAgB,EAChBD,iBAAiB,O,mCCYzB,IA5BoB,SAACsE,EAAsBC,GACzC,OAAQA,EAAOpI,MACb,IAAK,eACH,OAAO,kBACFmI,GADL,IAEE7E,YAAY,EACZC,WAAW,EACXC,OAAQ4E,EAAOC,IAAM,OAGzB,IAAK,YACH,OAAO,kBACFF,GADL,IAEE7E,YAAY,EACZE,OAAQ4E,EAAOC,IAAM,OAGzB,IAAK,cACH,OAAO,kBACFF,GADL,IAEE7E,YAAY,EACZC,WAAW,EACXC,OAAQ4E,EAAOC,IAAM,U,8FCe7B,IAAM1J,GAAgBC,EAAAA,EAAAA,IAAOC,EAAAA,EAAS,CACpC4B,WAAY,oBACZ6H,YAAa,UAGTC,GAAoB3J,EAAAA,EAAAA,IAAO,MAAO,CACtCG,QAAS,OACTqC,SAAU,WAEV,qBAAsB,CACpBoH,GAAI,EACJC,kBAAmB,MACnBC,kBAAmB,kCAErB,eAAgB,CACdC,GAAI,EACJtD,GAAI,GAEN7F,SAAU,CACRoJ,WAAY,CACVlJ,KAAM,CACJ,qBAAsB,CACpB8I,GAAI,EACJC,kBAAmB,MACnBC,kBAAmB,kBAOvBG,GAAiBjK,EAAAA,EAAAA,IAAO,MAAO,CACnCE,MAAO,GACPkG,OAAQ,GACR8D,GAAI,EACJ,iBAAkB,CAChBhK,MAAO,IACPkG,OAAQ,MAIN+D,GAAanK,EAAAA,EAAAA,IAAO,MAAO,CAC/BG,QAAS,OACTE,WAAY,WACZoD,eAAgB,kBAEZ2G,GAAUpK,EAAAA,EAAAA,IAAO,MAAO,CAC5BqK,SAAU,EACVlK,QAAS,OACTmK,cAAe,SACf7G,eAAgB,kBAGlB,IAvFA,YAAmD,IAAD,IAA5B8G,EAA4B,EAA5BA,KAAMtJ,EAAsB,EAAtBA,QAClBuJ,EAAuCD,EAAvCC,MAAOnB,EAAgCkB,EAAhClB,KAAMoB,EAA0BF,EAA1BE,IAAKC,EAAqBH,EAArBG,SAAUC,EAAWJ,EAAXI,OAC5BC,GAAiB/G,EAAAA,EAAAA,KAAjB+G,aACJC,EAAYL,EAKhB,OAHIM,EAAAA,EAAAA,IAAQD,KACVA,EAAYD,IAGZ,UAACjB,EAAD,YACE,SAAC,IAAD,CAASb,IAAK,CAAErC,GAAI,GAAKxF,QAASA,EAASC,KAAMuJ,EAAK3I,YAAY,EAAlE,UACE,SAACmI,EAAD,WACE,SAAC,IAAD,CACEc,IACEF,GAAaF,EAAb,oBACOE,SADP,aACO,EAAWE,IADlB,+DAEOF,SAFP,aAEO,EAAWE,IAFlB,sCAIFC,IAAG,OAAER,QAAF,IAAEA,OAAF,EAAEA,EAAOQ,WAIlB,UAACZ,EAAD,YACE,SAACD,EAAD,WACE,SAACpK,EAAD,CAAemB,KAAMuJ,EAAKxJ,QAASA,EAASa,YAAY,EAAxD,UACE,SAAC,IAAD,CAAkB+F,MAAOwB,SAG7B,gCAAMqB,QAAN,IAAMA,OAAN,EAAMA,EAAUO,+B,8OC+LxB,IAAMC,GAAUlL,EAAAA,EAAAA,IAAO,MAAO,CAC5BwC,SAAU,WACVC,EAAG,EACHC,EAAG,EACHM,gBAAiB,qBACjBV,EAAG,QACHC,EAAG,QACHM,WAAY,iBACZsI,SAAU,SACVC,UAAW,uCACXxK,SAAU,CACR8E,OAAQ,CACN5E,KAAM,CACJ0B,SAAU,QACVE,EAAG,EACH2D,OAAQ,SAGZgF,UAAW,CACTvK,KAAM,CACJ4C,UAAW,SACX2H,UAAW,iBAEb/E,MAAO,CACL+E,UAAW,uBAIjBzI,OAAQ,KAGJ0I,GAAMtL,EAAAA,EAAAA,IAAO,MAAO,CACxByG,GAAI,EACJ8E,EAAG,IAGCC,GAAiBxL,EAAAA,EAAAA,IAAOyL,EAAAA,EAAU,CACtCC,GAAI,EACJ7J,WAAY,oBACZ2B,WAAY,UAGRmI,GAAc3L,EAAAA,EAAAA,IAAO,MAAO,CAChCO,GAAI,SAGAqL,EAAc,CAClBvI,GAAI,EACJoD,GAAI,GAGAoF,GAAM7L,EAAAA,EAAAA,IAAO,MAAO,CACxBG,QAAS,OACTmK,cAAe,SACf7D,GAAI,KAGAqF,GAAO9L,EAAAA,EAAAA,IAAO,MAAO,CACzBG,QAAS,OACT4L,oBAAqB,MACrBC,GAAI,KAGAC,GAAqBjM,EAAAA,EAAAA,IAAO,MAAO,CACvCU,MAAO,QACPsC,gBAAiB,uBAGbkJ,GAAelM,EAAAA,EAAAA,IAAO,MAAO,CACjCuL,EAAG,EACHxB,GAAI,EACJoC,GAAI,EACJ7J,EAAG,OACH8D,OAAQ,OACRpD,gBAAiB,6BAGboJ,GAAapM,EAAAA,EAAAA,IAAO,SAAU,CAClCqM,GAAI,EACJlM,QAAS,OACTE,WAAY,SACZoD,eAAgB,SAChBjB,SAAU,WACVY,aAAc,MACdJ,gBAAiB,YACjByD,GAAI,IAGN,IAjSA,YAAwD,IAAD,YAA1B3B,EAA0B,EAA1BA,YAC3B,GAGIjB,EAAAA,EAAAA,KAFayI,EADjB,EACE/D,YAAe+D,WACf1I,EAFF,EAEEA,cAEI2I,GAAcC,EAAAA,EAAAA,MACpB,GAA4BjL,EAAAA,EAAAA,WAAkB,GAA9C,eAAOwE,EAAP,KAAe0G,EAAf,KACA,GAA0BlL,EAAAA,EAAAA,UAAiB,IAA3C,eAAOmL,EAAP,KAAcC,EAAd,KACMC,GAAaC,EAAAA,EAAAA,QAAuB,MACpCC,GAAWD,EAAAA,EAAAA,QAAyB,MAC1C,GAA4BtL,EAAAA,EAAAA,YAA5B,eAAOwL,EAAP,KAAeC,GAAf,KACA,IAAkCzL,EAAAA,EAAAA,WAAkB,GAApD,iBAAOyC,GAAP,MAAkBiJ,GAAlB,MAEMC,GAAiC,gBAD1BC,EAAAA,EAAAA,MACaC,SAE1B,IAGIxG,EAAAA,EAAAA,KAFgByG,GADpB,GACEvG,QAAW4F,MACX7F,GAFF,GAEEA,iBAEFY,EAAAA,EAAAA,YAAU,kBAAMkF,EAASU,MAAgB,CAACA,MAE1CC,EAAAA,EAAAA,GAAgBV,GAAY,WAC1B7G,GAAUwH,QAGZ,IAAMC,GACJT,IACM,OAANA,QAAM,IAANA,GAAA,UAAAA,EAAQU,0BAAR,eAA4BC,iBAA5B,OACEX,QADF,IACEA,GADF,UACEA,EAAQY,yBADV,aACE,EAA2BD,iBAD7B,OAEEX,QAFF,IAEEA,GAFF,UAEEA,EAAQa,yBAFV,aAEE,EAA2BF,gBAEzBH,GAAW,WACVxH,GACH8H,YAAW,WAAO,IAAD,EACf,UAAAf,EAASgB,eAAT,SAAkBC,QAClBjJ,MACC,KAEL2H,GAAW1G,IAGPiI,IAAaC,EAAAA,EAAAA,OAAenG,OAAOC,SAAS7G,MAElDuG,EAAAA,EAAAA,YAAU,WACR3C,MAEC,CAACkJ,KAEJ,QAOI7F,EAAAA,EAAAA,KANF+F,aACEC,GAFJ,GAEIA,sBACAC,GAHJ,GAGIA,iBACAC,GAJJ,GAIIA,oBACAC,GALJ,GAKIA,gBAIEC,GAAW,WACf9B,GAAU,GACNC,EAAM8B,OAAS,IACjB3H,GAAgB,CAAEzF,KAAM,WAAYsL,MAAAA,IAC/BQ,IACHX,EAAY,GAAD,OAAID,EAAJ,kBAAwBI,MAKnC+B,IAAgB1J,EAAAA,EAAAA,cAAW,iBAAC,qGACd2J,EAAAA,EAAAA,IAChBpC,EACAI,EACA9I,EACAqJ,IAL8B,QAC1B0B,EAD0B,SAOzB3B,GAAU2B,GAPe,2CAQ/B,CAACrC,EAAYI,EAAO9I,EAAeqJ,KAkBtC,OAhBAxF,EAAAA,EAAAA,YAAU,YACRmH,EAAAA,EAAAA,IAAS,WACHlC,EAAM8B,QAAU,GAClBC,OAED,OACF,CAAC/B,EAAOJ,EAAYmC,MAEvBhH,EAAAA,EAAAA,YAAU,WAGR,OAFAmB,EAAAA,GAAAA,UAA0BC,EAAAA,GAA8B0E,IAEjD,WACL3E,EAAAA,GAAAA,YAA4BC,EAAAA,GAA8B0E,SAK5D,UAACrC,EAAD,CAAS2D,IAAKjC,EAAYvB,UAAWtF,EAArC,WACE,UAACuF,EAAD,YACE,SAACc,EAAD,CAAYnL,QAAS,kBAAMwL,GAAU,IAAQ,aAAY,cAAzD,UACE,SAAC,KAAD,CAAU/L,MAAM,YAAYqB,KAAK,QAElCgE,IACC,SAAC,IAAD,CACEwI,SAAUA,GACV7B,MAAOA,EACPC,SAAUA,EACVG,SAAUA,EACVhE,IAAK,CAAEvG,EAAG,UAIhB,UAAC0J,EAAD,aACKuB,IAAQA,GAAO,IAChB,SAACtB,EAAD,WACE,UAACJ,EAAD,YACE,SAACD,EAAD,WACS,OAANkB,QAAM,IAANA,OAAA,EAAAA,EAAQa,oBACPb,EAAOa,kBAAkBF,eAAiB,IACxC,iCACE,SAAC,EAAAoB,GAAD,CAAIhG,IAAK8C,EAAT,mBACMyC,GADN,aAC8BtB,EAAOa,kBAAkBF,eADvD,OADF,OAKGX,QALH,IAKGA,GALH,UAKGA,EAAQa,yBALX,aAKG,EAA2BmB,MAAMC,KAChC,SAACzE,EAA6B0E,GAC5B,OAAIA,EAAQ,GAER,SAAC,IAAD,CAEE1E,KAAMA,EACNtJ,QAASsM,IAFJ0B,EAAQ1E,EAAKd,GAAKwF,IAMpB,SAAC,WAAD,GAAqB1E,EAAKd,GAAKwF,OAG5C,SAACtD,EAAD,WACE,SAACH,EAAD,CACEpK,KAAK,QACLF,KACEgM,QACIgC,EADQ,UAEL5C,EAFK,kBAEeI,GAE7B5D,IAAK,CAAEqG,WAAY,QACnBlO,QAASsN,GARX,SAUGD,aAMb,SAACzC,EAAD,WACS,OAANkB,QAAM,IAANA,OAAA,EAAAA,EAAQU,qBACPV,EAAOU,mBAAmBC,eAAiB,IACzC,iCACE,SAAC,EAAAoB,GAAD,CACEhG,IAAK8C,EADP,mBAEKuC,GAFL,aAE+BpB,EAAOU,mBAAmBC,eAFzD,OADF,OAKGX,QALH,IAKGA,GALH,UAKGA,EAAQU,0BALX,aAKG,EAA4BsB,MAAMC,KAAI,SAACzE,GAAD,OACrC,SAACiB,EAAD,CACEpK,KAAK,QACLF,KAAMqJ,EAAKE,IAEXxJ,QAAS,kBAAMwL,GAAU,IAJ3B,SAMGlC,EAAKlB,MAHDkB,EAAKd,aAStB,UAACoC,EAAD,YACS,OAANkB,QAAM,IAANA,OAAA,EAAAA,EAAQY,oBACPZ,EAAOY,kBAAkBD,eAAiB,IACxC,SAAC,EAAAoB,GAAD,CAAIhG,IAAK8C,EAAT,mBACMwC,GADN,aAC2BrB,EAAOY,kBAAkBD,eADpD,OAHN,OAOGX,QAPH,IAOGA,GAPH,UAOGA,EAAQY,yBAPX,aAOG,EAA2BoB,MAAMC,KAAI,SAACzE,GAAD,OACpC,SAACiB,EAAD,CAAgBpK,KAAK,QAAQF,KAAMqJ,EAAKE,IAAxC,SACGF,EAAKlB,MAD0CkB,EAAKd,eAShEzF,KACC,+BACE,SAAC,KAAD,CAAeA,UAAWA,GAAWtD,MAAM,UAAU0O,cAAY,SAItErJ,IAAU,SAAC,IAAD,CAAS7D,WAAW,S,wHC9JrC,IAlDA,YAA+E,IAAxDqM,EAAuD,EAAvDA,SAAU7B,EAA6C,EAA7CA,MAAOC,EAAsC,EAAtCA,SAAUG,EAA4B,EAA5BA,SAAUhE,EAAkB,EAAlBA,IAClDZ,GAAiBC,EAAAA,EAAAA,KAAjBD,aACR,GAAgC3G,EAAAA,EAAAA,WAAkB,GAAlD,eAAO8N,EAAP,KAAiBC,EAAjB,KACMC,GAAWC,EAAAA,EAAAA,GAASC,EAAAA,EAAAA,gBAC1B,GAA6BC,EAAAA,EAAAA,KAArBtC,EAAR,EAAQA,SAAUuC,EAAlB,EAAkBA,OAgBlB,OAVAlI,EAAAA,EAAAA,YAAU,WACE,KAAViF,GAAgB4C,GAAY,KAC3B,CAAC5C,KAEJjF,EAAAA,EAAAA,YAAU,WACS,eAAb2F,GACFT,EAAS,MAEV,CAACgD,EAAQhD,EAAUS,KAGpB,UAACwC,EAAD,CACEP,SAAUA,EACVvG,IAAKA,EACL7H,QAAS,WAAO,IAAD,EACb6L,IAAQ,UAAIA,EAASgB,eAAb,OAAI,EAAkBC,UAJlC,WAOE,SAAC8B,EAAD,CACEC,UAAWP,EACXQ,SAAU,SAACC,GACTV,IAAcU,EAAEC,cAAcC,OAC9BvD,EAASqD,EAAEC,cAAcC,QAE3BC,UAAW,SAACH,GAAD,MAAiB,UAAVA,EAAEI,KAAmB7B,KACvCM,IAAK/B,EACLoD,MAAOxD,EACPtL,KAAK,QACLiP,YAAanI,EAAaS,SAEjB,KAAV+D,IACC,SAAC,IAAD,CAAa3K,KAAK,IAAIuO,QAAQ,UAAUrP,QAnC3B,WACjB0L,EAAS,IACT2C,GAAY,OAmCV,SAACiB,EAAD,CAAc,aAAY,gBAA1B,UACE,SAACC,EAAD,CAAkBvP,QAASsN,EAAU7N,MAAM,oBAQnD,IAAMkP,GAAY5P,EAAAA,EAAAA,IAAO,MAAO,CAC9BuC,EAAG,GACHpC,QAAS,OACTE,WAAY,SACZuJ,GAAI,EACJ3D,GAAI,EACJ3D,EAAG,OACHmO,KAAM,QACNjO,SAAU,WACVkO,YAAa,MACbC,YAAa,sBACbvN,aAAc,QACd1C,MAAO,0BACPsC,gBAAiB,YACjB,iBAAkB,CAChB2N,YAAa,6BACbjQ,MAAO,8BAET,4CAA6C,CAC3CkQ,iBAAkB,QAEpB,iBAAkB,CAChBH,KAAM,KAER7P,SAAU,CACRyO,SAAU,CACR/I,MAAO,CACLqK,YAAa,kCAMfJ,GAAevQ,EAAAA,EAAAA,IAAO,SAAU,CACpCO,GAAI,EACJsQ,OAAQ,YAGJL,GAAmBxQ,EAAAA,EAAAA,IAAO8Q,EAAAA,GAAY,CAC1CxO,EAAG,EACHC,EAAG,EACH2H,GAAI,EACJzH,EAAG,IAGCoN,GAAa7P,EAAAA,EAAAA,IAAO,QAAS,CACjCuC,EAAG,OACH7B,MAAO,iBACPsC,gBAAiB,cACjBqH,SAAU,EACV0G,WAAY,EACZ,UAAW,CAAEC,QAAS,QACtB,kCAAmC,CACjCJ,iBAAkB,QAEpBvN,GAAI,EACJG,WAAY,QACZ,iBAAkB,CAChBH,GAAI,EACJG,WAAY,UAEd,iBAAkB,CAChB9C,MAAO,qB,oHC5HEuQ,EAAuB,WAClC,IAAMC,EAASpJ,OAAOC,SAASY,OAC5BwI,QAAQ,IAAK,IACbC,MAAM,KACNpC,KAAI,SAACqC,GACJ,IAAMC,EAAUD,EAAME,QAAQ,KAE9B,OAAiB,IAAbD,EACK,KAGF,CAACD,EAAMG,UAAU,EAAGF,GAAUD,EAAMG,UAAUF,EAAU,OAEhEG,QAAO,SAACvB,GAAD,OAAgD,OAAVA,KAEhD,OAAO,IAAIwB,IAAIR,IAGJjJ,EAAW,CAAEkB,MAAO,GAAIC,MAAO,GAAIhI,KAAM,MAEzCkG,EAAsB,WACjC,KAAK2G,EAAAA,EAAAA,MAAa,OAAOhG,EACzB,IAAM0J,EAAeV,IAEf9H,EAAQwI,EAAaC,IAAI,SAE/B,IAAKzI,EACH,OAAOlB,EAGT,IAAM4J,EAAaF,EAAaC,IAAI,cAC9BE,EAAWH,EAAaC,IAAI,qBAElC,OAAIC,EACK,CAAE1I,MAAAA,EAAOC,MAAOyI,EAAYzQ,KAAM,SAChC0Q,EACF,CAAE3I,MAAAA,EAAOC,MAAO0I,EAAU1Q,KAAM,kBAEhC6G,I,qDC/CX,IAAI8J,EAA+B,KAEtBnD,EAAW,SACtBoD,EACAC,GAEI,IADJC,EACG,wDACCH,GACFI,aAAaJ,GAGfA,EAAQlE,YAAW,WACbqE,GACJF,MACCC","sources":["Atoms/Links/IconLink.tsx","Atoms/Overlay/Overlay.tsx","Organisms/Header/CartNotifier/CartNotifier.tsx","Organisms/Header/MobileHeader/MobileHeader.tsx","Organisms/Header/MobileMenu/MobileMenu.tsx","Organisms/Header/Reducers/favoritesReducer.ts","Organisms/Header/Reducers/menuReducer.ts","Organisms/ProductCard/SearchCard.tsx","Organisms/QuickSearch/MobileQuickSearch/MobileQuickSearch.tsx","Organisms/QuickSearch/SearchInput.tsx","Shared/Common/UrlParser.ts","Shared/Common/debounce.ts"],"sourcesContent":["import KexIconLoader, { LoadableIcons } from 'Kex/KexIconLoader';\r\nimport KexLink from 'Kex/KexLink';\r\nimport { useState } from 'react';\r\nimport {\r\n animateUnderlineActive,\r\n animateUnderlineNotActive,\r\n} from 'Shared/Common/animateUnderline';\r\nimport { styled } from 'stitches.config';\r\ntype PropTypes = {\r\n whiteText?: boolean;\r\n underline?: boolean;\r\n onClick?: (x?: () => void) => void;\r\n href?: string;\r\n children: string | undefined;\r\n focused?: true;\r\n color?: string;\r\n type?: keyof typeof LoadableIcons;\r\n};\r\n\r\nfunction IconLink({\r\n whiteText = false,\r\n onClick,\r\n href,\r\n children,\r\n focused,\r\n color,\r\n type,\r\n ...rest\r\n}: PropTypes) {\r\n const [linkIsHovered, setLinkIsHovered] = useState(false);\r\n const Icon = KexIconLoader(type ?? 'Arrow');\r\n return (\r\n setLinkIsHovered(true)}\r\n onMouseLeave={() => setLinkIsHovered(false)}\r\n >\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n width: 'fit-content',\r\n display: 'flex',\r\n});\r\n\r\nconst IconWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n m: 'auto',\r\n ml: 2,\r\n});\r\n\r\nconst StyledLinkWrapper = styled('div', {\r\n width: 'fit-content',\r\n});\r\n\r\nconst Text = styled('span', {\r\n m: 'auto',\r\n '&:nth-child(n)[data-whitetext=\"true\"]': { color: '$pureWhite' },\r\n ...animateUnderlineNotActive,\r\n variants: {\r\n linkIsHovered: {\r\n true: {\r\n ...animateUnderlineActive,\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport default styled(IconLink);\r\n","import usePreventBackgroundScroll from 'Shared/Hooks/usePreventBackgroundScroll';\r\nimport { styled } from 'stitches.config';\r\n\r\ntype PropTypes = {\r\n clickEvnt?: () => void;\r\n isVisible: boolean;\r\n overlayColor?: 'primary' | 'secondary';\r\n};\r\n\r\nfunction Overlay({\r\n clickEvnt,\r\n isVisible,\r\n overlayColor = 'primary',\r\n}: PropTypes) {\r\n usePreventBackgroundScroll();\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Overlay;\r\n\r\nconst OverlayDiv = styled('div', {\r\n w: '100vw',\r\n h: '100vh',\r\n position: 'fixed',\r\n l: 0,\r\n t: 0,\r\n opacity: '0',\r\n zIndex: '$ModalOverlay',\r\n transition: 'all 0.25s ease-in-out',\r\n visibility: 'hidden',\r\n variants: {\r\n isVisible: {\r\n true: {\r\n visibility: 'initial',\r\n opacity: '0.5',\r\n },\r\n },\r\n overlayColor: {\r\n primary: {\r\n backgroundColor: '$modalOverlayPrimary',\r\n },\r\n secondary: {\r\n backgroundColor: '$modalOverlaySecondary',\r\n },\r\n },\r\n },\r\n});\r\n","import { styled } from 'stitches.config';\r\nimport { GetCart } from 'Shared/Cart/Cart';\r\nimport { useAppSettingsData } from 'Shared/Providers/AppSettingsProvider';\r\n\r\nfunction CartNotifier() {\r\n const { languageRoute } = useAppSettingsData();\r\n const { cart, isLoading, isCartEmpty } = GetCart(languageRoute);\r\n\r\n if (isLoading || isCartEmpty) return <>>;\r\n\r\n const isBiggerNotifierStyle = (cart?.numberOfItems || 0) >= 10;\r\n\r\n return (\r\n \r\n {cart?.numberOfItems}\r\n \r\n );\r\n}\r\n\r\nconst CartItemsNotifier = styled('span', {\r\n position: 'absolute',\r\n t: 0,\r\n r: -1,\r\n backgroundColor: '$JE68GreenPrimary',\r\n color: '$textSecondary',\r\n fontFamily: '$fontSecondary500',\r\n borderRadius: '50%',\r\n fs: 4,\r\n minW: 3,\r\n minH: 3,\r\n lineHeight: '$lh1',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n overflowY: 'hidden',\r\n zIndex: '$Notification',\r\n variants: {\r\n bigger: {\r\n true: {\r\n minW: 4,\r\n minH: 4,\r\n t: -1,\r\n r: -1,\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport default CartNotifier;\r\n","import KexLink from 'Kex/KexLink';\r\nimport { styled } from 'stitches.config';\r\nimport { LogoIcon, HamburgerMenuIcon, CloseIcon } from 'Atoms/Icons';\r\nimport { useAppSettingsData } from 'Shared/Providers/AppSettingsProvider';\r\nimport MobileQuickSearch from 'Organisms/QuickSearch/MobileQuickSearch/MobileQuickSearch';\r\nimport MobileMenu from 'Organisms/Header/MobileMenu/MobileMenu';\r\nimport { useCallback, useReducer } from 'react';\r\nimport menuReducer from '../Reducers/menuReducer';\r\nimport loadable, { LoadableComponent } from '@loadable/component';\r\nimport favoritesReducer from '../Reducers/favoritesReducer';\r\nimport { PropType as FavoritesPropType } from 'Shared/Favorites/FavoritesModal';\r\nimport { animation, timings } from 'Theme/Settings/animation';\r\n\r\nimport { useStickyHeaderData } from 'Shared/Providers/StickyHeaderProvider';\r\n\r\nconst MobileNavigationMenu = loadable(\r\n () => import('../NavigationMenu/MobileNavigationMenu')\r\n);\r\n\r\nconst FavoritesModal: LoadableComponent = loadable(\r\n () => import('Shared/Favorites/FavoritesModal')\r\n);\r\n\r\nfunction MobileHeader() {\r\n const { languageRoute } = useAppSettingsData();\r\n const [{ menuIsOpen, mountMenu }, menuDispatch] = useReducer(menuReducer, {\r\n menuIsOpen: false,\r\n mountMenu: true,\r\n menuId: null,\r\n });\r\n\r\n const onMenuClose = useCallback(() => {\r\n menuDispatch({ type: 'closeMenu' });\r\n }, [menuDispatch]);\r\n\r\n const [{ favoritesIsOpen, mountFavorites }, favoritesDispatch] = useReducer(\r\n favoritesReducer,\r\n {\r\n favoritesIsOpen: false,\r\n mountFavorites: true,\r\n }\r\n );\r\n\r\n const { isHideHeader, shouldAnimateSticky } = useStickyHeaderData();\r\n\r\n return (\r\n <>\r\n \r\n menuDispatch({ type: 'closeMenu' })}\r\n />\r\n \r\n \r\n {\r\n menuDispatch(\r\n menuIsOpen ? { type: 'closeMenu' } : { type: 'mountAndOpen' }\r\n );\r\n }}\r\n >\r\n {!menuIsOpen ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n favoritesDispatch('mountAndOpen')}\r\n />\r\n \r\n \r\n {mountMenu && (\r\n menuDispatch({ type: 'closeMenu' })}\r\n />\r\n )}\r\n {mountFavorites && (\r\n {\r\n favoritesDispatch('close');\r\n }}\r\n />\r\n )}\r\n >\r\n );\r\n}\r\n\r\nexport default MobileHeader;\r\n\r\nconst HeaderWrapper = styled('header', {\r\n position: 'relative',\r\n t: 0,\r\n px: 4,\r\n w: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n backgroundColor: '$siteHeaderMobileBackground',\r\n zIndex: '$HeaderMobile',\r\n transition: `top ${timings.oneFifth} ${animation.timingFn}`,\r\n height: '$mobileHeaderHeight',\r\n border: 'none',\r\n variants: {\r\n showTransition: {\r\n // animate down\r\n true: {\r\n t: -16,\r\n },\r\n // animate up\r\n false: {\r\n t: -32,\r\n position: 'sticky', // set sticky again to animate up\r\n },\r\n },\r\n sticky: {\r\n true: {\r\n position: 'sticky',\r\n top: 0,\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst HeaderLeftWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n zIndex: '$HeaderMobile',\r\n height: '$mobileHeaderHeight',\r\n});\r\n\r\nconst HeaderRightWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n zIndex: '$HeaderMobile',\r\n height: '$mobileHeaderHeight',\r\n gap: '16px',\r\n});\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n ml: 4,\r\n mb: 0,\r\n});\r\n\r\nconst Placeholder = styled('div', {\r\n w: '100%',\r\n minH: '$sizes$mobileHeaderHeight',\r\n position: 'absolute',\r\n});\r\n","import { useEffect, useState, useCallback } from 'react';\r\nimport { CartIcon, SearchIcon, UserIcon, HeartIcon } from 'Atoms/Icons';\r\nimport {\r\n EventDispatcher,\r\n ON_MOBILE_QUICKSEARCH_TOGGLE,\r\n} from 'Shared/Common/EventDispatcher';\r\nimport { useTranslationData } from 'Shared/Providers/TranslationProvider';\r\nimport CartNotifier from 'Organisms/Header/CartNotifier/CartNotifier';\r\nimport AccountModal, { ModalName } from 'Organisms/AccountModal/AccountModal';\r\n\r\nimport { styled } from 'stitches.config';\r\n\r\nimport loadable from '@loadable/component';\r\nimport KexLink from 'Kex/KexLink';\r\nimport { useAppSettingsData } from 'Shared/Providers/AppSettingsProvider';\r\nimport {\r\n NO_TOKEN,\r\n parseTokenFromQuery,\r\n} from '../../../Shared/Common/UrlParser';\r\nimport { GetFavorites } from 'Shared/Favorites/Favorites';\r\nimport { updateUrl } from '../../../Shared/Common/Helpers';\r\nimport { useUserStateData } from 'Shared/Providers/UserContextProvider';\r\n\r\nconst MiniCart = loadable(() => import('Organisms/MiniCart/MiniCart'));\r\n\r\ntype PropTypes = {\r\n onMenuClose: () => void;\r\n toggleFavorites: () => void;\r\n};\r\n\r\nfunction MobileMenu({ onMenuClose, toggleFavorites }: PropTypes) {\r\n const {\r\n accountDispatch,\r\n account,\r\n miniCartDispatch,\r\n miniCartIsOpen,\r\n mountMiniCart,\r\n } = useUserStateData();\r\n\r\n const { languageRoute } = useAppSettingsData();\r\n\r\n const { hasFavorites } = GetFavorites(languageRoute);\r\n const toggleAccount = useCallback(() => {\r\n if (account.userMenuIsOpen) onMenuClose();\r\n\r\n accountDispatch({ type: 'toggle' });\r\n }, [account.userMenuIsOpen, accountDispatch, onMenuClose]);\r\n\r\n const [tokenInfo, setTokenInfo] = useState(parseTokenFromQuery());\r\n\r\n useEffect(() => {\r\n if (tokenInfo.type === 'emailConfirmed') {\r\n accountDispatch({ type: 'toggle' });\r\n }\r\n }, [tokenInfo.type, accountDispatch]);\r\n\r\n const clearTokens = useCallback(() => {\r\n updateUrl(document.title, window.location.pathname);\r\n setTokenInfo(NO_TOKEN);\r\n }, [setTokenInfo]);\r\n\r\n const { commonLabels } = useTranslationData();\r\n\r\n const {\r\n user: { authenticated },\r\n } = useUserStateData();\r\n const {\r\n staticPages: { accountPage },\r\n } = useAppSettingsData();\r\n return (\r\n <>\r\n \r\n \r\n {\r\n onMenuClose();\r\n EventDispatcher.dispatch(ON_MOBILE_QUICKSEARCH_TOGGLE, null);\r\n }}\r\n >\r\n \r\n \r\n {!authenticated ? (\r\n {\r\n toggleAccount();\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 authenticated ? toggleFavorites() : toggleAccount();\r\n }}\r\n >\r\n \r\n \r\n {\r\n onMenuClose();\r\n miniCartDispatch(\r\n miniCartIsOpen ? 'closeMiniCart' : 'mountAndOpen'\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {mountMiniCart && (\r\n {\r\n miniCartDispatch('closeMiniCart');\r\n }}\r\n />\r\n )}\r\n\r\n \r\n >\r\n );\r\n}\r\n\r\nconst Menu = styled('div', {});\r\n\r\nconst List = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: '24px',\r\n});\r\n\r\nconst WrappingButton = styled('button', {\r\n position: 'relative',\r\n display: 'flex',\r\n});\r\n\r\nexport default MobileMenu;\r\n","type StateType = {\r\n favoritesIsOpen: boolean;\r\n mountFavorites: boolean;\r\n};\r\n\r\ntype ActionType = 'mountAndOpen' | 'close' | 'unmount';\r\n\r\nconst favoritesReducer = (state: StateType, action: ActionType) => {\r\n switch (action) {\r\n case 'mountAndOpen': {\r\n return {\r\n ...state,\r\n favoritesIsOpen: true,\r\n mountFavorites: true,\r\n };\r\n }\r\n case 'close': {\r\n return {\r\n ...state,\r\n favoritesIsOpen: false,\r\n };\r\n }\r\n case 'unmount': {\r\n return {\r\n ...state,\r\n mountFavorites: false,\r\n favoritesIsOpen: false,\r\n };\r\n }\r\n }\r\n};\r\n\r\nexport default favoritesReducer;\r\n","type MenuStateType = {\r\n menuIsOpen: boolean;\r\n mountMenu: boolean;\r\n};\r\n\r\ntype MenuActionType = {\r\n id?: number | null;\r\n type: 'mountAndOpen' | 'closeMenu' | 'unMountMenu';\r\n};\r\n\r\nconst menuReducer = (state: MenuStateType, action: MenuActionType) => {\r\n switch (action.type) {\r\n case 'mountAndOpen': {\r\n return {\r\n ...state,\r\n menuIsOpen: true,\r\n mountMenu: true,\r\n menuId: action.id || null,\r\n };\r\n }\r\n case 'closeMenu': {\r\n return {\r\n ...state,\r\n menuIsOpen: false,\r\n menuId: action.id || null,\r\n };\r\n }\r\n case 'unMountMenu': {\r\n return {\r\n ...state,\r\n menuIsOpen: false,\r\n mountMenu: false,\r\n menuId: action.id || null,\r\n };\r\n }\r\n }\r\n};\r\n\r\nexport default menuReducer;\r\n","import KexLink from 'Kex/KexLink';\r\nimport ProductImage from 'Atoms/Image/ProductImage';\r\nimport { styled } from 'stitches.config';\r\nimport SearchLinkResultModel from 'Models/Search/SearchLinkResultModel.interface';\r\nimport ProductCardTitle from 'Atoms/ProductCardTitle/ProductCardTitle';\r\nimport { isEmpty } from 'Shared/Common/Helpers';\r\nimport { useAppSettingsData } from 'Shared/Providers/AppSettingsProvider';\r\n\r\ntype PropTypes = {\r\n item: SearchLinkResultModel;\r\n onClick: () => void;\r\n};\r\n\r\nfunction SearchCard({ item, onClick }: PropTypes) {\r\n const { image, name, url, nowPrice, isUsed } = item;\r\n const { missingImage } = useAppSettingsData();\r\n let itemImage = image;\r\n\r\n if (isEmpty(itemImage)) {\r\n itemImage = missingImage;\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 \r\n \r\n \r\n {nowPrice?.priceRoundedAsString}\r\n \r\n \r\n );\r\n}\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n fontFamily: '$fontSecondary600',\r\n wordSpacing: 'unset',\r\n});\r\n\r\nconst CartItemContainer = styled('div', {\r\n display: 'flex',\r\n position: 'relative',\r\n\r\n '&:not(:last-child)': {\r\n py: 5,\r\n borderBottomWidth: '1px',\r\n borderBottomColor: '$checkoutPageBackgroundPrimary',\r\n },\r\n '&:last-child': {\r\n pt: 5,\r\n mb: 6,\r\n },\r\n variants: {\r\n isMiniCart: {\r\n true: {\r\n '&:not(:last-child)': {\r\n py: 5,\r\n borderBottomWidth: '1px',\r\n borderBottomColor: '$primary2',\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst ImageContainer = styled('div', {\r\n width: 96,\r\n height: 72,\r\n mr: 4,\r\n '@mediaMinLarge': {\r\n width: 104,\r\n height: 80,\r\n },\r\n});\r\n\r\nconst TopWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'baseline',\r\n justifyContent: 'space-between',\r\n});\r\nconst Details = styled('div', {\r\n flexGrow: 1,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'space-between',\r\n});\r\n\r\nexport default SearchCard;\r\n","import { BackIcon, LoadingCircle } from 'Atoms/Icons';\r\nimport IconLink from 'Atoms/Links/IconLink';\r\nimport Overlay from 'Atoms/Overlay/Overlay';\r\nimport { QuickSearch } from 'Pages/SearchPage/Search';\r\nimport { useCallback, useEffect, useRef, useState } from 'react';\r\nimport { debounce } from 'Shared/Common/debounce';\r\nimport {\r\n EventDispatcher,\r\n ON_MOBILE_QUICKSEARCH_TOGGLE,\r\n} from 'Shared/Common/EventDispatcher';\r\nimport useOutsideClick from 'Shared/Hooks/useOutsideClick';\r\nimport { useAppSettingsData } from 'Shared/Providers/AppSettingsProvider';\r\nimport { styled } from 'stitches.config';\r\nimport {\r\n useKexNavigate,\r\n useKexRouterCurrentPage,\r\n} from '../../../Kex/KexRouter/KexRouter';\r\nimport SearchInput from '../SearchInput';\r\nimport SearchPhraseResult from '../../../Models/Search/SearchPhraseResult.interface';\r\nimport { H5 } from 'Atoms/Typography/Headings/Heading';\r\nimport { useTranslationData } from 'Shared/Providers/TranslationProvider';\r\nimport SearchCard from 'Organisms/ProductCard/SearchCard';\r\nimport SearchLinkResultModel from 'Models/Search/SearchLinkResultModel.interface';\r\nimport React from 'react';\r\nimport { canUseDOM } from 'Shared/Common/Helpers';\r\nimport { useUserStateData } from '../../../Shared/Providers/UserContextProvider';\r\n\r\ntype PropTypes = {\r\n onMenuClose: () => void;\r\n};\r\n\r\nfunction MobileQuickSearch({ onMenuClose }: PropTypes) {\r\n const {\r\n staticPages: { searchPage },\r\n languageRoute,\r\n } = useAppSettingsData();\r\n const kexNavigate = useKexNavigate();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [query, setQuery] = useState('');\r\n const wrapperRef = useRef(null);\r\n const inputRef = useRef(null);\r\n const [result, setResult] = useState();\r\n const [isLoading, setIsLoading] = useState(true);\r\n const page = useKexRouterCurrentPage();\r\n const onSearchPage = page.pageType === 'SearchPage';\r\n\r\n const {\r\n account: { query: searchedQuery },\r\n accountDispatch,\r\n } = useUserStateData();\r\n useEffect(() => setQuery(searchedQuery), [searchedQuery]);\r\n\r\n useOutsideClick(wrapperRef, () => {\r\n isOpen && onToggle();\r\n });\r\n\r\n const hits =\r\n result &&\r\n result?.categoryCollection?.availableItems +\r\n result?.contentCollection?.availableItems +\r\n result?.productCollection?.availableItems;\r\n\r\n const onToggle = () => {\r\n if (!isOpen) {\r\n setTimeout(() => {\r\n inputRef.current?.focus();\r\n onMenuClose();\r\n }, 500);\r\n }\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const currentUrl = canUseDOM() && window.location.href;\r\n\r\n useEffect(() => {\r\n onMenuClose();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentUrl]);\r\n\r\n const {\r\n searchLabels: {\r\n quickSearchCategories,\r\n quickSearchPages,\r\n quickSearchProducts,\r\n showAllProducts,\r\n },\r\n } = useTranslationData();\r\n\r\n const doSearch = () => {\r\n setIsOpen(false);\r\n if (query.length > 1) {\r\n accountDispatch({ type: 'setQuery', query });\r\n if (!onSearchPage) {\r\n kexNavigate(`${searchPage}?query=${query}`);\r\n }\r\n }\r\n };\r\n\r\n const doQuickSearch = useCallback(async () => {\r\n const res = await QuickSearch(\r\n searchPage,\r\n query,\r\n languageRoute,\r\n setIsLoading\r\n );\r\n res && setResult(res);\r\n }, [searchPage, query, languageRoute, setIsLoading]);\r\n\r\n useEffect(() => {\r\n debounce(() => {\r\n if (query.length >= 3) {\r\n doQuickSearch();\r\n }\r\n }, 300);\r\n }, [query, searchPage, doQuickSearch]);\r\n\r\n useEffect(() => {\r\n EventDispatcher.subscribe(ON_MOBILE_QUICKSEARCH_TOGGLE, onToggle);\r\n\r\n return () => {\r\n EventDispatcher.unsubscribe(ON_MOBILE_QUICKSEARCH_TOGGLE, onToggle);\r\n };\r\n });\r\n\r\n return (\r\n \r\n \r\n setIsOpen(false)} aria-label={'back button'}>\r\n \r\n \r\n {isOpen && (\r\n \r\n )}\r\n \r\n \r\n {!!hits && hits > 0 && (\r\n \r\n \r\n \r\n {result?.productCollection &&\r\n result.productCollection.availableItems > 0 && (\r\n <>\r\n \r\n {`${quickSearchProducts} (${result.productCollection.availableItems})`}\r\n \r\n\r\n {result?.productCollection?.items.map(\r\n (item: SearchLinkResultModel, index: number) => {\r\n if (index < 3) {\r\n return (\r\n \r\n );\r\n } else\r\n return ;\r\n }\r\n )}\r\n \r\n \r\n {showAllProducts}\r\n \r\n \r\n >\r\n )}\r\n \r\n \r\n {result?.categoryCollection &&\r\n result.categoryCollection.availableItems > 0 && (\r\n <>\r\n {`${quickSearchCategories} (${result.categoryCollection.availableItems})`}\r\n\r\n {result?.categoryCollection?.items.map((item: any) => (\r\n setIsOpen(false)}\r\n >\r\n {item.name}\r\n \r\n ))}\r\n >\r\n )}\r\n \r\n \r\n {result?.contentCollection &&\r\n result.contentCollection.availableItems > 0 && (\r\n \r\n {`${quickSearchPages} (${result.contentCollection.availableItems})`}\r\n \r\n )}\r\n {result?.contentCollection?.items.map((item: any) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n )}\r\n\r\n {isLoading && (\r\n <>\r\n \r\n >\r\n )}\r\n \r\n {isOpen && }\r\n \r\n );\r\n}\r\n\r\nconst Wrapper = styled('div', {\r\n position: 'absolute',\r\n l: 0,\r\n t: 0,\r\n backgroundColor: '$backgroundPrimary',\r\n w: '100vw',\r\n h: '100vh',\r\n transition: 'transform $300',\r\n overflow: 'hidden',\r\n boxShadow: '0 6px 6px -6px rgba(72, 72, 72, 0.3)',\r\n variants: {\r\n sticky: {\r\n true: {\r\n position: 'fixed',\r\n t: 0,\r\n border: 'none',\r\n },\r\n },\r\n transform: {\r\n true: {\r\n overflowY: 'scroll',\r\n transform: 'translateY(0)',\r\n },\r\n false: {\r\n transform: 'translateY(-100%)',\r\n },\r\n },\r\n },\r\n zIndex: 21,\r\n});\r\n\r\nconst Top = styled('div', {\r\n mb: 4,\r\n p: 4,\r\n});\r\n\r\nconst StyledIconLink = styled(IconLink, {\r\n my: 2,\r\n fontFamily: '$fontSecondary500',\r\n lineHeight: '$lh15',\r\n});\r\n\r\nconst LinkWrapper = styled('div', {\r\n ml: 'auto',\r\n});\r\n\r\nconst HeaderStyle = {\r\n fs: 9,\r\n mb: 4,\r\n};\r\n\r\nconst Row = styled('div', {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n mb: 12,\r\n});\r\n\r\nconst Grid = styled('div', {\r\n display: 'grid',\r\n gridTemplateColumns: '1fr',\r\n pb: 16,\r\n});\r\n\r\nconst QuickSearchWrapper = styled('div', {\r\n color: 'white',\r\n backgroundColor: '$backgroundPrimary',\r\n});\r\n\r\nconst InnerWrapper = styled('div', {\r\n p: 4,\r\n pt: 8,\r\n mt: 4,\r\n w: '100%',\r\n height: '100%',\r\n backgroundColor: '$searchBackgroundPrimary',\r\n});\r\n\r\nconst BackButton = styled('button', {\r\n wh: 8,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n position: 'relative',\r\n borderRadius: '50%',\r\n backgroundColor: '$primary3',\r\n mb: 8,\r\n});\r\n\r\nexport default MobileQuickSearch;\r\n","import CloseButton from 'Atoms/Buttons/CloseButton';\r\nimport { SearchIcon } from 'Atoms/Icons';\r\nimport { useEffect, useState } from 'react';\r\nimport { useTranslationData } from 'Shared/Providers/TranslationProvider';\r\nimport { styled } from 'stitches.config';\r\nimport { CSS } from '@stitches/react';\r\nimport useMedia from 'Shared/Hooks/useMedia';\r\nimport { mediaQueryTypes } from 'Theme/Settings/mediaQueries';\r\nimport useCurrentPage from 'Shared/Hooks/useCurrentPage';\r\n\r\ntype PropTypes = {\r\n doSearch: () => void;\r\n query: string;\r\n setQuery: (value: string) => void;\r\n inputRef?: React.RefObject;\r\n css?: CSS;\r\n placeholder?: string;\r\n};\r\n\r\nfunction SearchInput({ doSearch, query, setQuery, inputRef, css }: PropTypes) {\r\n const { commonLabels } = useTranslationData();\r\n const [hasValue, setHasValue] = useState(false);\r\n const isMobile = useMedia(mediaQueryTypes.mediaMaxMedium);\r\n const { pageType, pageId } = useCurrentPage();\r\n\r\n const clearInput = () => {\r\n setQuery('');\r\n setHasValue(false);\r\n };\r\n useEffect(() => {\r\n query !== '' && setHasValue(true);\r\n }, [query]);\r\n\r\n useEffect(() => {\r\n if (pageType !== 'SearchPage') {\r\n setQuery('');\r\n }\r\n }, [pageId, setQuery, pageType]);\r\n\r\n return (\r\n {\r\n inputRef && inputRef.current?.focus();\r\n }}\r\n >\r\n ) => {\r\n setHasValue(!!e.currentTarget.value);\r\n setQuery(e.currentTarget.value);\r\n }}\r\n onKeyDown={(e) => e.key === 'Enter' && doSearch()}\r\n ref={inputRef}\r\n value={query}\r\n type=\"input\"\r\n placeholder={commonLabels.search}\r\n />\r\n {query !== '' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SearchInput;\r\n\r\nconst Container = styled('div', {\r\n h: 10,\r\n display: 'flex',\r\n alignItems: 'center',\r\n py: 3,\r\n px: 6,\r\n w: '100%',\r\n maxW: 'unset',\r\n position: 'relative',\r\n borderWidth: '1px',\r\n borderColor: '$quickSearchOutline',\r\n borderRadius: '100px',\r\n color: '$quickSearchTextPrimary',\r\n backgroundColor: '$primary4',\r\n '&:focus-within': {\r\n borderColor: '$mobileSearchBorderPrimary',\r\n color: '$mobileSearchBorderPrimary',\r\n },\r\n 'input[type=\"search\"].with-appearance-none': {\r\n WebkitAppearance: 'none',\r\n },\r\n '@mediaMinLarge': {\r\n maxW: 104,\r\n },\r\n variants: {\r\n hasValue: {\r\n false: {\r\n borderColor: '$quickSearchOutlineNoValue',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst SearchButton = styled('button', {\r\n ml: 4,\r\n cursor: 'pointer',\r\n});\r\n\r\nconst StyledSearchIcon = styled(SearchIcon, {\r\n w: 4,\r\n h: 4,\r\n mr: 2,\r\n l: 0,\r\n});\r\n\r\nconst InputField = styled('input', {\r\n h: '100%',\r\n color: '$primaryLight1',\r\n backgroundColor: 'transparent',\r\n flexGrow: 1,\r\n flexShrink: 1,\r\n '&:focus': { outline: 'none' },\r\n '&::-webkit-search-cancel-button': {\r\n WebkitAppearance: 'none',\r\n },\r\n fs: 8,\r\n lineHeight: '$lh15',\r\n '@mediaMinLarge': {\r\n fs: 6,\r\n lineHeight: '$lh133',\r\n },\r\n '&::placeholder': {\r\n color: '$primaryLight2',\r\n },\r\n});\r\n","import { canUseDOM } from './Helpers';\r\n\r\nexport type TokenType = 'reset' | 'emailConfirmed' | null;\r\nexport type TokenInfo = {\r\n email: string;\r\n token: string;\r\n type: TokenType;\r\n};\r\n\r\nexport const parseQueryParameters = () => {\r\n const values = window.location.search\r\n .replace('?', '')\r\n .split('&')\r\n .map((param): null | [string, string] => {\r\n const splitAt = param.indexOf('=');\r\n\r\n if (splitAt === -1) {\r\n return null;\r\n }\r\n\r\n return [param.substring(0, splitAt), param.substring(splitAt + 1)];\r\n })\r\n .filter((value): value is [string, string] => value !== null);\r\n\r\n return new Map(values);\r\n};\r\n\r\nexport const NO_TOKEN = { email: '', token: '', type: null };\r\n\r\nexport const parseTokenFromQuery = (): TokenInfo => {\r\n if (!canUseDOM()) return NO_TOKEN;\r\n const mappedParams = parseQueryParameters();\r\n\r\n const email = mappedParams.get('email');\r\n\r\n if (!email) {\r\n return NO_TOKEN;\r\n }\r\n\r\n const resetToken = mappedParams.get('resetToken');\r\n const regToken = mappedParams.get('confirmEmailToken');\r\n\r\n if (resetToken) {\r\n return { email, token: resetToken, type: 'reset' };\r\n } else if (regToken) {\r\n return { email, token: regToken, type: 'emailConfirmed' };\r\n } else {\r\n return NO_TOKEN;\r\n }\r\n};\r\n","let timer: NodeJS.Timeout | null = null;\r\n\r\nexport const debounce = (\r\n fn: () => void,\r\n delay: number,\r\n abort: boolean = false\r\n) => {\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n\r\n timer = setTimeout(() => {\r\n if (abort) return;\r\n fn();\r\n }, delay);\r\n};\r\n"],"names":["StyledKexLink","styled","KexLink","width","display","IconWrapper","alignItems","m","ml","StyledLinkWrapper","Text","color","animateUnderlineNotActive","variants","linkIsHovered","true","animateUnderlineActive","whiteText","onClick","href","children","type","focused","rest","useState","setLinkIsHovered","Icon","KexIconLoader","onMouseOver","onMouseLeave","fontFamily","underlined","size","rotateLeft","clickEvnt","isVisible","overlayColor","usePreventBackgroundScroll","OverlayDiv","w","h","position","l","t","opacity","zIndex","transition","visibility","primary","backgroundColor","secondary","CartItemsNotifier","r","borderRadius","fs","minW","minH","lineHeight","justifyContent","overflowY","bigger","languageRoute","useAppSettingsData","GetCart","cart","isLoading","isCartEmpty","isBiggerNotifierStyle","numberOfItems","MobileNavigationMenu","loadable","FavoritesModal","MobileHeader","useReducer","menuReducer","menuIsOpen","mountMenu","menuId","menuDispatch","onMenuClose","useCallback","favoritesReducer","favoritesIsOpen","mountFavorites","favoritesDispatch","useStickyHeaderData","isHideHeader","shouldAnimateSticky","Placeholder","HeaderWrapper","showTransition","sticky","HeaderLeftWrapper","fillColor","HeaderRightWrapper","toggleFavorites","isOpen","closeFavorites","px","timings","animation","height","border","false","top","gap","mb","MiniCart","MobileMenu","useUserStateData","accountDispatch","account","miniCartDispatch","miniCartIsOpen","mountMiniCart","hasFavorites","GetFavorites","toggleAccount","userMenuIsOpen","parseTokenFromQuery","tokenInfo","setTokenInfo","useEffect","clearTokens","updateUrl","document","title","window","location","pathname","NO_TOKEN","commonLabels","useTranslationData","authenticated","user","accountPage","staticPages","Menu","List","WrappingButton","search","EventDispatcher","ON_MOBILE_QUICKSEARCH_TOGGLE","css","closeMiniCart","showModal","toggle","initialModalState","email","token","name","ModalName","state","action","id","wordSpacing","CartItemContainer","py","borderBottomWidth","borderBottomColor","pt","isMiniCart","ImageContainer","mr","TopWrapper","Details","flexGrow","flexDirection","item","image","url","nowPrice","isUsed","missingImage","itemImage","isEmpty","src","alt","priceRoundedAsString","Wrapper","overflow","boxShadow","transform","Top","p","StyledIconLink","IconLink","my","LinkWrapper","HeaderStyle","Row","Grid","gridTemplateColumns","pb","QuickSearchWrapper","InnerWrapper","mt","BackButton","wh","searchPage","kexNavigate","useKexNavigate","setIsOpen","query","setQuery","wrapperRef","useRef","inputRef","result","setResult","setIsLoading","onSearchPage","useKexRouterCurrentPage","pageType","searchedQuery","useOutsideClick","onToggle","hits","categoryCollection","availableItems","contentCollection","productCollection","setTimeout","current","focus","currentUrl","canUseDOM","searchLabels","quickSearchCategories","quickSearchPages","quickSearchProducts","showAllProducts","doSearch","length","doQuickSearch","QuickSearch","res","debounce","ref","H5","items","map","index","undefined","marginLeft","onBackground","hasValue","setHasValue","isMobile","useMedia","mediaQueryTypes","useCurrentPage","pageId","Container","InputField","autoFocus","onChange","e","currentTarget","value","onKeyDown","key","placeholder","bgColor","SearchButton","StyledSearchIcon","maxW","borderWidth","borderColor","WebkitAppearance","cursor","SearchIcon","flexShrink","outline","parseQueryParameters","values","replace","split","param","splitAt","indexOf","substring","filter","Map","mappedParams","get","resetToken","regToken","timer","fn","delay","abort","clearTimeout"],"sourceRoot":""}