{"version":3,"file":"static/chunks/641-5fdbe7c14922da52.js","mappings":"4JAWaA,EAAiB,WAC5B,IAAMC,GAAiBC,EAAAA,EAAAA,KACrB,SAACC,G,IAAqBA,EAAAA,OAAsB,QAAtBA,EAAAA,EAAMC,IAAIC,KAAKC,eAAO,IAAtBH,OAAAA,EAAAA,EAAwBI,oBAE1CC,GAAcC,EAAAA,EAAAA,UAA2B,WAC7C,OAAKR,GCfA,CAAC,KAAM,MAAMS,SDeqBT,GAGhCA,EAFE,OAGR,CAACA,IAEEU,GAAWF,EAAAA,EAAAA,UAAQ,W,MAAsB,OAAhBD,IAAsB,CAACA,IACtD,MAAO,CAAEA,YAAAA,EAAaG,SAAAA,K,q4DEHxB,IAqNMC,GAAaC,EAAAA,EAAAA,IAAOC,EAAAA,GAAK,Y,6BAAZD,C,KAMN,Y,OAAQ,EAALE,MAAkBC,QAAQC,QAAQ,MAK5CC,GAAeL,EAAAA,EAAAA,IAAOM,EAAAA,GAAO,Y,6BAAdN,C,KAUfO,EAAeP,EAAAA,GAAAA,OAAAA,WAAa,C,6BAAbA,C,KACL,Y,IAAGE,EAAK,EAALA,M,OAAsB,EAAfM,gBACJN,EAAMC,QAAQM,UAAU,GAAKP,EAAMC,QAAQM,UAAU,MAM3D,SAACC,G,OAAUA,EAAMR,MAAMC,QAAQQ,OAAO,MAIhDC,EAAgBZ,EAAAA,GAAAA,QAAAA,WAAc,C,6BAAdA,C,KAahBa,EAAWb,EAAAA,GAAAA,IAAAA,WAAU,C,6BAAVA,C,KAQXc,EAAad,EAAAA,GAAAA,IAAAA,WAAU,C,6BAAVA,C,KAUbe,EAAkBf,EAAAA,GAAAA,IAAAA,WAAU,C,6BAAVA,C,KAKlBgB,EAAehB,EAAAA,GAAAA,IAAAA,WAAU,C,6BAAVA,C,KAUrB,EApSqB,Y,IACnBiB,EAAQ,EAARA,SACAC,EAAoB,EAApBA,qBAgBSC,EAAT,SACEC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAO,CACLH,IAAAA,EACAE,SAAAA,EACAH,MAAAA,EACAI,KAAAA,IAzBoBC,GAAAA,EAAAA,EAAAA,WAAS,GAA1BC,EAAiBD,EAAe,GAA1BE,EAAWF,EAAe,GACCA,GAAAA,EAAAA,EAAAA,UAAmB,IAApDG,EAAiCH,EAAsB,GAAzCI,EAAmBJ,EAAsB,GACxD,GAAaK,EAAAA,EAAAA,KAAXC,OAgCJC,GAAAA,EAAAA,EAAAA,KAJFC,EAIED,EAJFC,WACAC,EAGEF,EAHFE,iBACAC,EAEEH,EAFFG,qBACAC,EACEJ,EADFI,sBAEI,GAAwBC,EAAAA,EAAAA,KAAtBC,kBAEFC,EAA4B,CAChCpB,GACE,SAACN,EAAQ,C,SAAC,SACV,OACA,EACA,CACEM,EACEmB,EAAkB,UAAW,aAAc,SAC3C,oBAEFnB,EACEmB,EAAkB,gBAAiB,aAAc,SACjD,qBAEFnB,EAAQ,WAAY,kBAEtB,SAGFA,GACE,SAACN,EAAQ,C,SAAC,YACV,UACA,EACA,CAACM,EAAQ,aAAc,YACvB,SAGFA,GACE,SAACN,EAAQ,C,SAAC,YACV,UACA,EACA,CACEM,EAAQ,aAAc,sBACtBA,EAAQ,kBAAmB,2BAE7B,SAGFA,GACE,SAACN,EAAQ,C,SAAC,SACV,OACA,EACA,CACEM,EAAQ,iBAAkB,kBAC1BA,EACEe,EAAmB,eAAiB,mBACpC,qBAJJ,QAME,OAAID,EAAa,CAACd,EAAQ,cAAe,oBAAsB,KAEjE,UAIE,GAAehC,EAAAA,EAAAA,KAAbW,SAyBR,OACE,UAACS,EAAY,CAACC,gBAAiBgC,QAAQtB,G,WACrC,SAACH,EAAe,CAAC0B,QAAS,WAjH5Bd,GAAQ,I,UAkHJ,SAACe,EAAAA,GAAiB,CAChBC,KAAMzB,EAAuB,aAAU0B,EACvCC,MAAO,CAAEC,UAAW,QAGxB,UAAClC,EAAa,C,UACE,SAAbK,GACC,SAAC8B,IAAI,CAACC,KAAK,qBAAqBC,UAAQ,E,SACrChB,GACC,qB,SACGf,GACC,SAACgC,EAAAA,EAAY,CAACP,KAAK,QAAQQ,OAAQ,GAAIC,MAAO,MAE9C,SAACC,EAAAA,EAAY,CACXD,MAAO,IACPP,MAAO,CACLS,OAAQ,UACRC,QAAS,QAEXZ,KAAMzB,EAAuB,aAAU0B,OAK7C,SAACY,EAAAA,EAAQ,CACPX,MAAO,CACLS,OAAQ,gBAMhB,SAACtC,EAAY,C,SAAEC,IAEhBC,GACC,UAACuC,MAAG,CAACC,UAAU,uB,UAAuB,mCA9CvCxC,EAGE,GACLA,OADQA,EAAqByC,YAE9B,OADCzC,EAAqB0C,UAAY,IAAmC,OAA/B1C,EAAqB0C,WAAc,IAHjE,GA8C8D,oCAG/D,MACJ,SAACvD,EAAY,CACXwD,UAAU,OACVT,MAAO,QACP1B,KAAMA,EACNoC,UAAU,EACVC,UAAW,CAAEC,WAAY,UAAWC,QAAS,OAC7CC,cAAc,EACdC,QA9JQ,WACdxC,GAAQ,I,UA+JF,UAAC8B,MAAG,CACFZ,MAAO,CAAEU,QAAS,OAAQa,cAAe,SAAUjB,OAAQ,Q,WAE3D,SAACpD,EAAU,CACT0C,QA/E0B,SAAC4B,GACrC,IAAMC,EAAOD,EAAEhD,IACF,mBAATiD,EAGgB,qBAATA,GAIXC,IAAAA,KAAY,IAAS,OAALD,IAChBzC,EAAgB,CAACwC,EAAEhD,MACnBM,GAAQ,IALN6C,OAAO9C,KAAKU,EAAsBtC,GAAW,UAH7C0E,OAAO9C,KAAKS,EAAqBrC,GAAW,WA6EpC2E,oBAAqB,CAAC,eACtBC,gBAAiB9C,EACjB+C,KAAK,SACLpC,MAAOA,EACPqC,YAAU,EACVhD,aAAcA,KAEhB,SAAC6B,MAAG,CAACZ,MAAO,CAAEgC,KAAM,KAAY,KAEhC,UAACpB,MAAG,CAACZ,MAAO,CAAEiC,QAAS,Q,UACpB,KAED,UAAChE,EAAU,C,UACR,KACD,SAACiE,IAAC,CACAtC,QAASV,EACTc,MAAO,CACLmC,MAAO,UAEPC,WAAY,QACZC,UAAW,SACXC,WAAY,IACZC,SAAU,Q,SAEb,8B,s4CC9MjB,IAAM,EAAYC,EAAAA,EAAAA,MAEZC,EAAa,Y,IAAG/D,EAAQ,EAARA,SAyEXJ,EAAT,SACEC,EACAC,EACAC,EACAC,EACAC,GAEA,MAAO,CACLH,IAAAA,EACAE,SAAAA,EACAH,MAAAA,EACAI,KAAAA,IAnFE,GAA0BM,EAAAA,EAAAA,KAAxByD,oBAEN9D,GAAAA,EAAAA,EAAAA,YADKP,EACLO,EAAoC,GADT+D,EAC3B/D,EAAoC,IACtCgE,EAAAA,EAAAA,YAAU,WACR,IAAMC,EAAwB,W,OAAA,mB,IACtBlG,E,iEAAO,O,EAAM+F,K,cAAb/F,EAAO,SACbgG,EAAwBhG,G,6DAFI,GAI9BkG,MACC,CAACH,IAEJ,IAAM,GAAepG,EAAAA,EAAAA,KAAbW,SAEgC2B,GAAAA,EAAAA,EAAAA,UAAmB,IAApDG,EAAiCH,EAAsB,GAAzCI,EAAmBJ,EAAsB,GAExD8C,GAASoB,EAAAA,EAAAA,aACTC,EAAW,4BAA4BC,KAAKC,UAAUC,WAGtDC,EADazB,EAAX0B,OAC4BC,WAAW,aAE/CT,EAAAA,EAAAA,YAAU,WAER,IADiB,4BAA4BI,KAAKC,UAAUC,WAC7C,CACb,IAAMI,EAAiBC,SAASC,eAAe,WAC3CF,IACFA,EAAetD,MAAMU,QAAU,SAInC,IAAM+C,EAAc/B,EAAO0B,OAAOM,QAAQ,MAAO,IAG7B,KAAhBD,GAEFzE,EAAgB,CAAC,qBAEjB0C,EAAOiC,KAAK,sBAEZ3E,EAAgB,CAACyE,MAElB,CAAC/B,IAEJ,IAKIvC,GAAAA,EAAAA,EAAAA,KAJFC,EAIED,EAJFC,WACAC,EAGEF,EAHFE,iBACAC,EAEEH,EAFFG,qBACAC,EACEJ,EADFI,sBAqBInB,EAlBkB,SAACI,GACvB,OAAQA,GACN,IAAK,WACH,MAAO,UACT,IAAK,iBACH,MAAO,iBACT,IAAK,mBACH,OAAOa,EAAmB,eAAiB,mBAC7C,IAAK,kBACH,MAAO,cACT,IAAK,qBACH,MAAO,aACT,IAAK,yBACH,MAAO,kBACT,QACE,MAAO,QAGIuE,CAAgB7E,EAAa,IAmBxC,GAAwBS,EAAAA,EAAAA,KAAtBC,kBAEFC,EAA4B,CAChCpB,GACE,SAACN,EAAQ,C,SAAC,SACV,OACA,EACA,CACEM,EACEmB,EAAkB,UAAW,aAAc,SAC3C,oBAEFnB,EACEmB,EAAkB,gBAAiB,aAAc,SACjD,qBAEFnB,EAAQ,WAAY,kBAEtB,SAGFA,GACE,SAACN,EAAQ,CAAC6C,UAAU,yB,SAAyB,YAC7C,UACA,EACA,CAACvC,EAAQ,aAAc,YACvB,SAGFA,GACE,SAACN,EAAQ,CAAC6C,UAAU,yB,SAAyB,YAC7C,UACA,EACA,CACEvC,EAAQ,aAAc,uBAGxB,SAGFA,GACE,SAACN,EAAQ,CAAC6C,UAAU,yB,SAAyB,SAC7C,OACA,EACA,CACEvC,EAAQ,iBAAkB,kBAC1BA,EACEe,EAAmB,eAAiB,mBACpC,qBAJJ,QAME,OAAID,EAAa,CAACd,EAAQ,cAAe,oBAAsB,KAEjE,UAKEuF,EAAiBnE,EAAMoE,MAAK,SAACC,G,OACjChF,EAAa/B,SAAS+G,EAAKvF,QAiBvBwF,EAAmBb,EAAuB,sBAAwB,GAClEc,EAAwB,GAAkCD,OAA/B5F,EAAS8F,cAAc,UAAyB,OAAjBF,GACVG,GAAAA,EAAAA,EAAAA,KAA9CC,EAA8CD,EAA9CC,mBAAoBC,EAA0BF,EAA1BE,sBAE5B,OACE,sB,UACGtB,IACEc,GACC9E,EAAa/B,SAAS,qBACtB+B,EAAa/B,SAAS,kBACtB+B,EAAa/B,SAAS,sBACtB+B,EAAa/B,SAAS,aACtB+B,EAAa/B,SAAS,mBACtB+B,EAAa/B,SAAS,qBACtB+B,EAAa/B,SAAS,oBACtB+B,EAAa/B,SAAS,uBACtB+B,EAAa/B,SAAS,2BACtB+B,EAAa/B,SAAS,+BACtB,SAACsH,EAAY,CACXlG,SAAUA,EACVC,qBAAsBA,KAG1B0E,IACA,SAACwB,EAAAA,EAAM,CACLC,gBAtBgB,W,OAAMH,GAAuBD,IAuB7C/F,qBAAsBA,KAI1B,UAACuC,MAAG,CACFZ,MACE+C,EACI,CAAE9C,UAAW,OACb,CAAES,QAAS,OAAQT,UAAW,O,WAGpC,SAACwE,QAAK,C,UACJ,SAACjC,EAAAA,EAAM,C,UACL,SAACkC,EAAW,CACVC,WAAW,KACXC,eAAe,IACfC,QAAS,KACTC,aAAW,EACXC,UAAWX,EACXY,GAAG,U,UAEH,SAAC9H,EAAU,CACT0C,QA9DwB,SAAC4B,GACrC,IAAMC,EAAOD,EAAEhD,IAEF,mBAATiD,EAGgB,qBAATA,GAKXC,EAAOiC,KAAK,IAAS,OAALlC,IAChBzC,EAAgB,CAACwC,EAAEhD,OALjBmD,OAAO9C,KAAKU,EAAsBtC,GAAW,UAH7C0E,OAAO9C,KAAKS,EAAqBrC,GAAW,WA2DlC2E,oBAAqB,CAAC,eACtBC,gBAAiB9C,EACjB+C,KAAK,SACLpC,MAAOA,EACPqC,YAAU,EACVhD,aAAcA,EACdiB,MAAO,CACLiF,UAAW,yCACXvE,QAAS0D,EAAqB,OAAS,QACvCnE,UAAW,QAEbY,UAAWoD,WAKnB,SAACiB,OAAI,CAAClF,MAAO,CAAEO,MAAO,OAAQN,WAAY8C,GAAY,Q,SACnDrE,WAOEyG,EAAgB,SAACC,G,OAC5B,SAAC3C,EAAU,C,SAAE2C,KAGTV,GAAcvH,EAAAA,EAAAA,IAAOkI,GAAM,Y,6BAAblI,C,KAOdD,GAAaC,EAAAA,EAAAA,IAAOC,EAAAA,GAAK,Y,6BAAZD,C,KACG,SAACU,G,OAAUA,EAAMR,MAAMC,QAAQM,UAAU,MA4BlD,Y,OAAQ,EAALP,MAAkBC,QAAQC,QAAQ,MAC1B,Y,OAAQ,EAALF,MAAkBC,QAAQC,QAAQ,OAOhD,Y,OAAQ,EAALF,MAAkBC,QAAQC,QAAQ,MAC1B,Y,OAAQ,EAALF,MAAkBC,QAAQC,QAAQ,OAOvDS,EAAWb,EAAAA,GAAAA,IAAAA,WAAU,C,6BAAVA,C,yHCtSJqC,EAAoB,WAC/B,IAAM,GAAkBlD,EAAAA,EAAAA,KAAhBQ,YAEF2C,GAAoB6F,EAAAA,EAAAA,cACxB,SACEC,G,IACAC,EAAuD,UAAH,6CAAG,YACvDC,EAAuB,UAAH,6CAAG,OAEjBC,EAAaC,EAAYJ,GAAMzI,GAAa2I,GAClD,OAAQD,GACN,IAAK,aACH,OAAOI,EAAAA,EAAAA,IAAgBF,GACzB,IAAK,YACH,OAAOA,EAAWG,cAEpB,QACE,OAAOH,KAGb,CAAC5I,IAGH,MAAO,CAAE2C,kBAAAA,IAGLkG,GAAc,UCzC+B,CACjDG,QAAS,CACPC,GAAI,CACFC,KAAM,eACNC,MAAO,gBAETC,GAAI,CACFF,KAAM,eACNC,MAAO,iBAGXE,cAAe,CACbJ,GAAI,CACFC,KAAM,gBACNC,MAAO,iBAETC,GAAI,CACFF,KAAM,gBACNC,MAAO,qB,mqBCdAG,EAAwB,2BACxBC,EAA2B,iBAG3BC,EAAiB,SAC5BC,GAGA,KADmBA,GAAkC,kBAAdA,GACtB,OAAO,KAExB,IAAIC,EAAcD,EAAU7C,QAAQ,MAAO,IAI3C,OAHI8C,EAAYC,OAAS,IACvBD,EAAcA,EAAYE,MAAM,EAAG,GAAK,IAAMF,EAAYE,MAAM,IAE3DF,GAGIG,EAAkB,SAC7BC,GAUA,IAAKA,GAA4B,kBAAXA,EAAqB,OAAO,KAIlD,GAFAA,EAV0B,SAACD,GACzB,GAA+B,kBAApBA,EAA8B,CACvC,IAAME,EAAMC,SAASH,EAAgBjD,QAAQ,MAAO,IAAK,IACzD,OAAQmD,GAAM,GAEhB,MAAO,GAKAE,CAAkBH,GAAQI,WAEpB,QAAXJ,EACF,MAAO,GAGT,IAAMK,EAAaL,EAAOM,OAAO,EAAG,GAC9BC,EAAWP,EAAOM,OAAO,EAAG,GAC5BE,EAAWR,EAAOM,OAAO,EAAG,GAElC,OAAIN,EAAOH,OAAS,EACXG,EACEA,EAAOH,OAAS,EAClB,IAAmBU,OAAfF,EAAW,MAAa,OAATE,GAErB,IAAmBA,OAAfF,EAAW,MAAgBG,OAAZD,EAAS,KAAY,OAATC,IAG3BC,EAAmB,SAACT,GAC/B,OAAKA,EACD,IAAIU,OAAOlB,GAAuBpD,KAAK2D,EAAgBC,IAClDA,EAAOW,WAAW,UAAW,IAC/BX,EAHa,MAMTY,EAAmB,SAC9BC,EACAC,G,IACAC,EAAY,UAAH,6CAAG,IAEZ,OAAID,EACK,GAAYC,OAATF,EAAM,KAAeC,OAAZC,GAAkB,OAAND,GAE1BD,GAGIG,EAAgB,SAACC,GAC5B,MAAwB,kBAAVA,MAAyBA,GAAmB,IAAVA,IAGrCC,EAAiB,SAC5BC,EACAC,GAEA,OAAIJ,EAAcG,IAAmBH,EAAcI,GAC1C,YAAeD,EAAiB,IAAMC,EAAkB,IAC7DJ,EAAcG,GAAwB,YAAcA,EAAiB,IAClE,IAGIE,EAAoB,SAACC,G,IACZA,EAAdC,EAAwC,QAA1BD,EAAAA,EAAaE,MAAM,KAAK,UAAE,IAA1BF,EAAAA,EAA8B,GAElD,OAAOG,EAAAA,EAAAA,OAAMF,IAUFG,EAAmB,SAACC,EAAa1B,GAC5C,GAAI0B,EAAI9B,QAAUI,EAChB,OAAO0B,EAET,IAAMC,EAAYD,EAAIH,MAAM,KAAKK,MACjC,OAAOF,EAAI7B,MAAM,EAAGG,EAAM2B,EAAU/B,OAAS,GAAK,MAAQ+B,GAGrD,SAASE,EAAgBC,GAE9B,MADmB,+CACD3F,KAAK2F,GAGlB,IAGM/C,EAAkB,SAAC2C,GAC9B,OAAOA,EACJH,MAAM,KACNQ,KAAI,SAACrD,G,OANgB,W,IAACgD,EAAM,UAAH,6CAAG,G,OAC/BA,EAAIM,OAAO,GAAGhD,cAAgB0C,EAAI7B,MAAM,GAKvBoC,CAAWvD,MACzBwD,KAAK,MAIGC,EAAmB,SAACC,G,IAAmBhM,EAAW,UAAH,8CAC1D,OAAKA,EAEEqJ,EAAe2C,GAFAA,GAKXC,EAAmB,SAACC,GAC/B,IAAKA,EAAS,OAAO,EAErB,IAAMC,GAAaC,EAAAA,EAAAA,GAAUF,EAAS,aAAc,IAAIG,MAOxD,OAJEC,EAAAA,EAAAA,GAAQH,KACRI,EAAAA,EAAAA,GAAOJ,EAAY,gBAAkBD,KACpCM,EAAAA,EAAAA,GAAQL,EAAY,IAAIE,OAKhBI,EAAkB,SAACC,GAC9B,IAAKA,EAAS,OAAO,KAErB,IAAMP,GAAaC,EAAAA,EAAAA,GAAUM,EAAS,aAAc,IAAIL,MAKxD,OAFEC,EAAAA,EAAAA,GAAQH,KAAeI,EAAAA,EAAAA,GAAOJ,EAAY,gBAAkBO,GAIvDH,EAAAA,EAAAA,GAAOJ,EAAY,cAFD,MAKdQ,EAAkB,SAACC,GAC9B,IAAKA,EAAQ,OAAO,KAEpB,IAAMT,GAAaC,EAAAA,EAAAA,GAAUQ,EAAQ,aAAc,IAAIP,MAKvD,OAFEC,EAAAA,EAAAA,GAAQH,KAAeI,EAAAA,EAAAA,GAAOJ,EAAY,gBAAkBS,GAIvDL,EAAAA,EAAAA,GAAOJ,EAAY,cAFD,MAKdU,EAAwB,SACnCC,GAEA,OAAKA,EACmB,kBAAXA,EAA6B,KACnCA,EAAOrG,QAAQ,WAAY,IAFd,MAKTsG,EAA0B,SAACC,GACtC,QAAKA,GAEE,IAAI3C,OAAOjB,GAA0BrD,KAC1CsD,EAAe2D,KAINC,EAAoB,SAACC,GAChC,IAAKA,EAAY,OAAOA,EAExB,IAAMf,GAAaC,EAAAA,EAAAA,GAAUc,EAAY,kBAAmB,IAAIb,MAIhE,OAFoBC,EAAAA,EAAAA,GAAQH,IAIrBI,EAAAA,EAAAA,GAAOJ,EAAY,qBAFDe,GAKdC,EAAkB,SAC7BD,G,IACAE,EAAe,UAAH,6CAAG,aAEf,IAAKF,EAAY,OAAOA,EAExB,IAAMf,GAAaC,EAAAA,EAAAA,GAAUc,EAAY,aAAc,IAAIb,MAErDgB,GAAcf,EAAAA,EAAAA,GAAQH,GAE5B,OAAKkB,GAEEd,EAAAA,EAAAA,GAAOJ,EAAYiB,GAFDF,GAKdI,EAAiB,SAACC,GAC7B,IAAKA,EAAa,OAAOA,EACzB,IAAMC,EAAYC,IAAMF,GAAahB,OAAO,UAC5C,OAAOiB,IAAcE,EAAsBH,EAAcC,GAG9CG,EAAiB,SAACT,GAC7B,IAAKA,EAAY,OAAOA,EAExB,IAAMM,EAAYC,IAAMP,GAAYX,OAAO,sBAC3C,OAAOiB,IAAcE,EAAsBR,EAAaM,GAG7CI,EAAkB,SAACV,GAC9B,IAAKA,EAAY,OAAOA,EAExB,IAAMM,EAAYC,IAAMP,GAAYX,OAAO,mBAC3C,OAAOiB,IAAcE,EAAsBR,EAAaM,GAG7CE,EAAsB,eAOtBG,EAAyB,SAACvC,GACrC,OANuC,SAACA,EAAawC,GACrD,MAAmB,kBAARxC,EAAyBA,EAC7BA,EAAIH,MAAM2C,GAAWhC,KAAK,IAI1BiC,CAA0BzC,EAAK,O","sources":["webpack://_N_E/./src/hooks/shared/useUserCountry/useUserCountry.ts","webpack://_N_E/./src/lib/geotargeting/countryValidation.ts","webpack://_N_E/./src/layouts/components/HeaderMobile.tsx","webpack://_N_E/./src/layouts/MainLayout.tsx","webpack://_N_E/./src/lib/geotargeting/wording/useCountryWording.ts","webpack://_N_E/./src/lib/geotargeting/wording/jobsTabs.ts","webpack://_N_E/./src/lib/utils/stringHelper.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { isValidCountry } from '@lib/geotargeting/countryValidation';\nimport { RootState } from '@lib/redux.lib/store';\n\ntype UseUserCountry = {\n userCountry: ProductionCountry;\n isUkUser: boolean;\n};\n\nexport const useUserCountry = (): UseUserCountry => {\n const rawUserCountry = useSelector(\n (state: RootState) => state.app.user.profile?.selected_country\n );\n const userCountry = useMemo(() => {\n if (!rawUserCountry || !isValidCountry(rawUserCountry)) {\n return 'US';\n }\n return rawUserCountry;\n }, [rawUserCountry]);\n\n const isUkUser = useMemo(() => userCountry === 'UK', [userCountry]);\n return { userCountry, isUkUser };\n};\n","export const isValidCountry = (value: string): value is ProductionCountry => {\n return ['US', 'UK'].includes(value);\n};\n","import { useState } from 'react';\nimport Link from 'next/link';\nimport router from 'next/router';\nimport { Drawer, Menu, MenuProps } from 'antd';\nimport { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport styled from 'styled-components';\n\nimport { HamburgerMenuIcon } from '@assets/icons';\nimport { EverysetIcon, EverysetLogo } from '@assets/img';\nimport SaaSLogo from '@assets/img/SaaSLogo';\nimport { useUserCountry } from '@hooks/shared/useUserCountry';\nimport { useAuth } from '@lib/auth';\nimport { useCountryWording } from '@lib/geotargeting';\nimport type { EverysetUser } from '@lib/types/user.types';\n\ninterface HeaderMobileProps {\n pageName: string;\n impersonatedUserData: EverysetUser | undefined;\n}\n\nconst HeaderMobile = ({\n pageName,\n impersonatedUserData,\n}: HeaderMobileProps): JSX.Element => {\n const [open, setOpen] = useState(false);\n const [selectedKeys, setSelectedKeys] = useState([]);\n const { logout } = useAuth();\n\n const showDrawer = () => {\n setOpen(true);\n };\n\n const onClose = () => {\n setOpen(false);\n };\n\n type MenuItem = Required['items'][number];\n\n function getItem(\n label: React.ReactNode,\n key: React.Key,\n icon?: React.ReactNode,\n children?: MenuItem[],\n type?: 'group'\n ): MenuItem {\n return {\n key,\n children,\n label,\n type,\n } as MenuItem;\n }\n\n const {\n isEveryset,\n isAlessiHartigan,\n getPrivacyPolicyLink,\n getTermsOfServiceLink,\n } = useClientEnvironmentContext();\n const { getCountryWording } = useCountryWording();\n\n const items: MenuProps['items'] = [\n getItem(\n JOBS,\n 'jobs',\n null,\n [\n getItem(\n getCountryWording('invites', 'capitalize', 'short'),\n 'jobs/AvailChecks'\n ),\n getItem(\n getCountryWording('status_checks', 'capitalize', 'short'),\n 'jobs/StatusChecks'\n ),\n getItem('Bookings', 'jobs/Bookings'),\n ],\n 'group'\n ),\n\n getItem(\n PROFILE,\n 'profile',\n null,\n [getItem('My Profile', 'profile')],\n 'group'\n ),\n\n getItem(\n ACCOUNT,\n 'account',\n null,\n [\n getItem('My Account', 'Accounts/MyAccount'),\n getItem('Manage Accounts', 'Accounts/ManageAccount'),\n ],\n 'group'\n ),\n\n getItem(\n HELP,\n 'help',\n null,\n [\n getItem('Privacy Policy', 'privacy-policy'),\n getItem(\n isAlessiHartigan ? 'Terms of Use' : 'Terms of Service',\n 'terms-of-service'\n ),\n ...(isEveryset ? [getItem('Help Center', 'help/HelpCenter')] : []),\n ],\n 'group'\n ),\n ];\n\n const { isUkUser } = useUserCountry();\n\n const onClick: MenuProps['onClick'] = (e) => {\n const path = e.key as string; // Get the selected menu item's key as the path\n if (path === 'privacy-policy') {\n window.open(getPrivacyPolicyLink(isUkUser), '_blank');\n return;\n } else if (path === 'terms-of-service') {\n window.open(getTermsOfServiceLink(isUkUser), '_blank');\n return;\n }\n router.push(`/${path}`); // Use router.push to navigate to the path\n setSelectedKeys([e.key]);\n setOpen(false);\n };\n\n const getImpersonatedUserFullName = () => {\n if (!impersonatedUserData) {\n return '';\n }\n return `${impersonatedUserData.first_name}${\n impersonatedUserData.last_name ? ` ${impersonatedUserData.last_name}` : ''\n }`;\n };\n\n return (\n \n showDrawer()}>\n \n \n \n {pageName === 'logo' ? (\n \n {isEveryset ? (\n <>\n {impersonatedUserData ? (\n \n ) : (\n \n )}\n \n ) : (\n \n )}\n \n ) : (\n {pageName}\n )}\n {impersonatedUserData ? (\n
\n You are currently impersonating {getImpersonatedUserFullName()}. All\n activity will be logged.\n
\n ) : null}\n \n \n \n
{' '}\n {/* Create flexible space to push the element to the bottom */}\n \n \n \n
\n
\n );\n};\n\nconst StyledMenu = styled(Menu)`\n padding-top: 5px;\n font-weight: 400;\n font-size: 16px;\n line-height: 19.36px;\n .ant-menu-item-selected {\n color: ${({ theme }) => theme.palette.primary[0]};\n font-weight: 600;\n }\n`;\n\nconst CustomDrawer = styled(Drawer)`\n .ant-menu-inline {\n border-inline-end: 0px !important;\n }\n`;\n\ntype StyledHeaderProps = {\n isImpersonating: boolean;\n};\n\nconst StyledHeader = styled.header`\n background: ${({ theme, isImpersonating }) =>\n isImpersonating ? theme.palette.greyscale[7] : theme.palette.greyscale[1]};\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 24px;\n height: 65px;\n box-shadow: ${(props) => props.theme.palette.shadow[0]};\n border-inline-end: none;\n`;\n\nconst HeaderSection = styled.section`\n display: flex;\n align-items: center;\n gap: 16px;\n width: 100%;\n\n .impersonatingMessage {\n color: white;\n font-size: 12px;\n flex-grow: 0;\n }\n`;\n\nconst HeadText = styled.div`\n font-family: 'Inter';\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n line-height: 17px;\n color: #202020;\n`;\nconst LogoutText = styled.div`\n font-family: 'Inter';\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n line-height: 17px;\n color: #202020;\n\n width: 85px;\n`;\nconst StyledImgButton = styled.div`\n cursor: pointer;\n margin-right: 24px;\n margin-left: auto;\n`;\nconst HeadTextPage = styled.div`\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n font-weight: 600;\n font-size: 17px;\n line-height: 21px;\n color: #333333;\n`;\n\nexport default HeaderMobile;\n","import { ReactElement, useEffect, useState } from 'react';\nimport { useRouter } from 'next/router';\nimport type { MenuProps } from 'antd';\nimport { Layout, Menu } from 'antd';\nimport { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport { useSidebarContext } from 'context/SidebarContext';\nimport styled from 'styled-components';\n\nimport { useUserCountry } from '@hooks/shared/useUserCountry';\nimport { useAuth } from '@lib/auth';\nimport { useCountryWording } from '@lib/geotargeting';\nimport { EverysetUser } from '@lib/types/user.types';\n\nimport Header from './components/Header';\nimport HeaderMobile from './components/HeaderMobile';\nconst { Sider } = Layout;\n\nconst MainLayout = ({ children }: { children: ReactElement }): JSX.Element => {\n const { getImpersonatedUser } = useAuth();\n const [impersonatedUserData, setImpersonatedUserData] =\n useState();\n useEffect(() => {\n const updateImperonatedUser = async () => {\n const user = await getImpersonatedUser();\n setImpersonatedUserData(user);\n };\n updateImperonatedUser();\n }, [getImpersonatedUser]);\n\n const { isUkUser } = useUserCountry();\n\n const [selectedKeys, setSelectedKeys] = useState([]);\n\n const router = useRouter();\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n\n const { asPath } = router;\n const isProfileHighlighted = asPath.startsWith('/profile');\n\n useEffect(() => {\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n if (!isMobile) {\n const sidebarElement = document.getElementById('sidebar');\n if (sidebarElement) {\n sidebarElement.style.display = 'block';\n }\n }\n // When the component mounts or the route changes, update the selected menu item based on the current path\n const currentPath = router.asPath.replace(/^\\//, ''); // Remove the leading slash\n\n // Check if the selected path is empty, which means it's the first time loading the page\n if (currentPath === '') {\n // Set the default selected key to 'AvailChecks'\n setSelectedKeys(['jobs/AvailChecks']);\n // Push the 'Invite' path to the router so that the URL matches the selected tab\n router.push('/jobs/AvailChecks');\n } else {\n setSelectedKeys([currentPath]);\n }\n }, [router]);\n\n const {\n isEveryset,\n isAlessiHartigan,\n getPrivacyPolicyLink,\n getTermsOfServiceLink,\n } = useClientEnvironmentContext();\n\n const getMenuPageName = (key: string): string => {\n switch (key) {\n case '/profile':\n return 'Profile';\n case 'privacy-policy':\n return 'Privacy Policy';\n case 'terms-of-service':\n return isAlessiHartigan ? 'Terms of Use' : 'Terms of Service';\n case 'help/HelpCenter':\n return 'Help Center';\n case 'Accounts/MyAccount':\n return 'My Account';\n case 'Accounts/ManageAccount':\n return 'Manage Accounts';\n default:\n return 'logo';\n }\n };\n const pageName = getMenuPageName(selectedKeys[0]);\n\n type MenuItem = Required['items'][number];\n\n function getItem(\n label: React.ReactNode,\n key: React.Key,\n icon?: React.ReactNode,\n children?: MenuItem[],\n type?: 'group'\n ): MenuItem {\n return {\n key,\n children,\n label,\n type,\n } as MenuItem;\n }\n\n const { getCountryWording } = useCountryWording();\n\n const items: MenuProps['items'] = [\n getItem(\n JOBS,\n 'jobs',\n null,\n [\n getItem(\n getCountryWording('invites', 'capitalize', 'short'),\n 'jobs/AvailChecks'\n ),\n getItem(\n getCountryWording('status_checks', 'capitalize', 'short'),\n 'jobs/StatusChecks'\n ),\n getItem('Bookings', 'jobs/Bookings'),\n ],\n 'group'\n ),\n\n getItem(\n PROFILE,\n 'profile',\n null,\n [getItem('My Profile', 'profile')],\n 'group'\n ),\n\n getItem(\n ACCOUNT,\n 'account',\n null,\n [\n getItem('My Account', 'Accounts/MyAccount'),\n // getItem('Manage Accounts', 'Accounts/ManageAccount'), -- removed this until it's fully functional\n ],\n 'group'\n ),\n\n getItem(\n HELP,\n 'help',\n null,\n [\n getItem('Privacy Policy', 'privacy-policy'),\n getItem(\n isAlessiHartigan ? 'Terms of Use' : 'Terms of Service',\n 'terms-of-service'\n ),\n ...(isEveryset ? [getItem('Help Center', 'help/HelpCenter')] : []),\n ],\n 'group'\n ),\n ];\n\n // Check if the current page is a menu item page\n const isMenuItemPage = items.some((item: any) =>\n selectedKeys.includes(item.key)\n );\n\n const onClick: MenuProps['onClick'] = (e) => {\n const path = e.key as string; // Get the selected menu item's key as the path\n\n if (path === 'privacy-policy') {\n window.open(getPrivacyPolicyLink(isUkUser), '_blank');\n return;\n } else if (path === 'terms-of-service') {\n window.open(getTermsOfServiceLink(isUkUser), '_blank');\n return;\n }\n\n router.push(`/${path}`); // Use router.push to navigate to the path\n setSelectedKeys([e.key]);\n };\n const profileClassName = isProfileHighlighted ? 'profile-highlighted' : '';\n const pageSpecificClassName = `${pageName.toLowerCase()}-page ${profileClassName}`;\n const { isSidebarCollapsed, setIsSidebarCollapsed } = useSidebarContext();\n const toggleCollapsed = () => setIsSidebarCollapsed(!isSidebarCollapsed);\n return (\n <>\n {isMobile &&\n (isMenuItemPage ||\n selectedKeys.includes('jobs/AvailChecks') ||\n selectedKeys.includes('jobs/Bookings') ||\n selectedKeys.includes('jobs/StatusChecks') ||\n selectedKeys.includes('/profile') ||\n selectedKeys.includes('privacy-policy') ||\n selectedKeys.includes('terms-of-service') ||\n selectedKeys.includes('help/HelpCenter') ||\n selectedKeys.includes('Accounts/MyAccount') ||\n selectedKeys.includes('Accounts/ManageAccount') ||\n selectedKeys.includes('jobs/AvailChecks/Invited')) && (\n \n )}\n {!isMobile && (\n \n )}\n\n \n \n
\n {children}\n
\n \n \n );\n};\n\nexport const getMainLayout = (page: ReactElement): JSX.Element => (\n {page}\n);\n\nconst StyledSider = styled(Sider)`\n @media (max-width: 576px) {\n display: none;\n }\n width: 202px;\n`;\n\nconst StyledMenu = styled(Menu)`\n background-color: ${(props) => props.theme.palette.greyscale[1]};\n padding-top: 30px;\n font-weight: 400;\n font-size: 14px;\n line-height: 17px;\n width: 203px;\n height: calc(100vh - 65px);\n padding-left: 10px;\n position: fixed;\n z-index: 100;\n\n @media (max-height: 676px) {\n padding-top: 2vh;\n .ant-menu-item,\n .ant-menu-item-active {\n height: 5.8vh;\n }\n }\n\n .ant-menu-item:active {\n background: #bccef7 !important;\n }\n\n .ant-menu-item:hover {\n width: 170px; /* New width on hover */\n }\n\n .ant-menu-item-selected {\n color: ${({ theme }) => theme.palette.primary[0]};\n background-color: ${({ theme }) => theme.palette.primary[16]} !important;\n font-weight: 600;\n width: 170px;\n }\n\n /* Add custom style for profile-highlighted class */\n .profile-highlighted .ant-menu-item-selected {\n color: ${({ theme }) => theme.palette.primary[0]} !important;\n background-color: ${({ theme }) => theme.palette.primary[16]} !important;\n font-weight: 600;\n margin: 10px;\n width: 160px;\n }\n`;\n\nconst HeadText = styled.div`\n font-family: 'Inter';\n font-style: normal;\n font-weight: 600;\n font-size: 12px;\n line-height: 15px;\n color: #202020;\n\n &.head-text-with-spacing {\n margin-top: 16px;\n\n @media (max-height: 676px) {\n margin-top: 1vh;\n }\n }\n`;\n\nexport default MainLayout;\n","import { useCallback } from 'react';\n\nimport { useUserCountry } from '@hooks/shared/useUserCountry';\nimport { capitalizeWords } from '@lib/utils/stringHelper';\n\nimport { JOBS_TABS_MAP } from './jobsTabs';\n\ntype UseCountryWording = {\n getCountryWording: (\n word: GeoSpecificWord,\n formatting?: 'capitalize' | 'lowercase' | 'uppercase',\n version?: WordVersion\n ) => string;\n};\n\nexport const useCountryWording = (): UseCountryWording => {\n const { userCountry } = useUserCountry();\n\n const getCountryWording = useCallback(\n (\n word: GeoSpecificWord,\n formatting: 'capitalize' | 'lowercase' | 'uppercase' = 'lowercase',\n version: WordVersion = 'full'\n ): string => {\n const mappedWord = WORDING_MAP[word][userCountry][version];\n switch (formatting) {\n case 'capitalize':\n return capitalizeWords(mappedWord);\n case 'uppercase':\n return mappedWord.toUpperCase();\n case 'lowercase':\n default:\n return mappedWord;\n }\n },\n [userCountry]\n );\n\n return { getCountryWording };\n};\n\nconst WORDING_MAP = { ...JOBS_TABS_MAP };\n","export const JOBS_TABS_MAP: WordingMap = {\n invites: {\n US: {\n full: 'avail checks',\n short: 'avail checks',\n },\n UK: {\n full: 'avail checks',\n short: 'avail checks',\n },\n },\n status_checks: {\n US: {\n full: 'status checks',\n short: 'status checks',\n },\n UK: {\n full: 'status checks',\n short: 'status checks',\n },\n },\n} as const;\n","import { format, isAfter, isValid, parse as parseDate } from 'date-fns';\nimport dayjs from 'dayjs';\nimport { parse, ParsedQs } from 'qs';\n\nexport const FORMATTED_PHONE_REGEX = /^\\(\\d{3}\\) \\d{3}-\\d{4}$/g;\nexport const FORMATTED_PHONE_REGEX_UK = /^\\d{5} \\d{6}$/g;\nexport const ZIP_CODE_REGEX = /^\\d{5}$/;\n\nexport const formatNumberUk = (\n rawNumber: string | number | readonly string[]\n): string | null => {\n const validInput = rawNumber && typeof rawNumber === 'string';\n if (!validInput) return null;\n\n let digitString = rawNumber.replace(/\\D/g, '');\n if (digitString.length > 5) {\n digitString = digitString.slice(0, 5) + ' ' + digitString.slice(5);\n }\n return digitString;\n};\n\nexport const formattedNumber = (\n number: string | number | readonly string[]\n): string => {\n const unformattedNumber = (formattedNumber) => {\n if (typeof formattedNumber === 'string') {\n const num = parseInt(formattedNumber.replace(/\\D/g, ''), 10);\n return !num ? '' : num;\n }\n return '';\n };\n\n if (!number || typeof number !== 'string') return null;\n\n number = unformattedNumber(number).toString();\n\n if (number === 'NaN') {\n return '';\n }\n\n const firstThree = number.substr(0, 3);\n const midThree = number.substr(3, 3);\n const lastFour = number.substr(6, 4);\n\n if (number.length < 4) {\n return number;\n } else if (number.length < 7) {\n return `(${firstThree}) ${midThree}`;\n }\n return `(${firstThree}) ${midThree}-${lastFour}`;\n};\n\nexport const normalizedNumber = (number: string): string => {\n if (!number) return null;\n if (new RegExp(FORMATTED_PHONE_REGEX).test(formattedNumber(number)))\n return number.replaceAll(/[() -]/g, '');\n return number;\n};\n\nexport const buildFullAddress = (\n line1: string,\n line2: string,\n separator = '#'\n): string => {\n if (line2) {\n return `${line1} ${separator}${line2}`;\n }\n return line1;\n};\n\nexport const isValidNumber = (value: unknown): boolean => {\n return typeof value === 'number' && !!(value || value === 0);\n};\n\nexport const getUploadLabel = (\n minimumUploads: unknown,\n maximumUploads: unknown\n): string => {\n if (isValidNumber(minimumUploads) && isValidNumber(maximumUploads))\n return ' (Upload ' + (minimumUploads + '-' + maximumUploads) + ')';\n if (isValidNumber(minimumUploads)) return ' (Upload ' + minimumUploads + ')';\n return '';\n};\n\nexport const getUrlQueryParams = (routerAsPath: string): ParsedQs => {\n const queryString = routerAsPath.split('?')[1] ?? '';\n\n return parse(queryString);\n};\n\nexport const truncateString = (str: string, num: number): string => {\n if (str.length <= num) {\n return str;\n }\n return str.slice(0, num) + '...';\n};\n\nexport const truncateFileName = (str: string, num: number): string => {\n if (str.length <= num) {\n return str;\n }\n const extension = str.split('.').pop();\n return str.slice(0, num - extension.length - 1) + '...' + extension;\n};\n\nexport function checkEmailValid(email: string): boolean {\n const emailRegex = /^\\w+([.+-]*\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\n return emailRegex.test(email);\n}\n\nexport const capitalize = (str = ''): string =>\n str.charAt(0).toUpperCase() + str.slice(1);\n\nexport const capitalizeWords = (str: string): string => {\n return str\n .split(' ')\n .map((word) => capitalize(word))\n .join(' ');\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const getDisplayNumber = (rawPhone?: string, isUkUser = false) => {\n if (!isUkUser) return rawPhone;\n\n return formatNumberUk(rawPhone);\n};\n\nexport const getIsValidUkDate = (rawDate?: string) => {\n if (!rawDate) return false;\n\n const parsedDate = parseDate(rawDate, 'dd/MM/yyyy', new Date());\n\n const isValidDate =\n isValid(parsedDate) &&\n format(parsedDate, 'dd/MM/yyyy') === rawDate &&\n !isAfter(parsedDate, new Date());\n\n return isValidDate;\n};\n\nexport const apiDateToUkDate = (apiDate?: string): string => {\n if (!apiDate) return null;\n\n const parsedDate = parseDate(apiDate, 'yyyy-MM-dd', new Date());\n\n const isValidDate =\n isValid(parsedDate) && format(parsedDate, 'yyyy-MM-dd') === apiDate;\n\n if (!isValidDate) return null;\n\n return format(parsedDate, 'dd/MM/yyyy');\n};\n\nexport const ukDateToApiDate = (ukDate?: string) => {\n if (!ukDate) return null;\n\n const parsedDate = parseDate(ukDate, 'dd/MM/yyyy', new Date());\n\n const isValidDate =\n isValid(parsedDate) && format(parsedDate, 'dd/MM/yyyy') === ukDate;\n\n if (!isValidDate) return null;\n\n return format(parsedDate, 'yyyy-MM-dd');\n};\n\nexport const formatSpolightViewPin = (\n rawPin?: string | number | readonly string[]\n) => {\n if (!rawPin) return null;\n if (!(typeof rawPin === 'string')) return null;\n return rawPin.replace(/[^0-9-]/g, '');\n};\n\nexport const getIsValidUkPhoneNumber = (rawPhoneInput: string): boolean => {\n if (!rawPhoneInput) return false;\n\n return new RegExp(FORMATTED_PHONE_REGEX_UK).test(\n formatNumberUk(rawPhoneInput)\n );\n};\n\nexport const bgLastUpdatedToUk = (dateString?: string) => {\n if (!dateString) return dateString;\n\n const parsedDate = parseDate(dateString, 'MM/dd/yy h:mm a', new Date());\n\n const isValidDate = isValid(parsedDate);\n\n if (!isValidDate) return dateString;\n\n return format(parsedDate, 'dd/MM/yyyy h:mm a');\n};\n\nexport const bookingDateToUk = (\n dateString?: string,\n customFormat = 'EEE, d MMM'\n) => {\n if (!dateString) return dateString;\n\n const parsedDate = parseDate(dateString, 'yyyy-MM-dd', new Date());\n\n const isValidDate = isValid(parsedDate);\n\n if (!isValidDate) return dateString;\n\n return format(parsedDate, customFormat);\n};\n\nexport const formatCallTime = (apiDateTime?: string) => {\n if (!apiDateTime) return apiDateTime;\n const rawResult = dayjs(apiDateTime).format('h:mm A');\n return rawResult === INVALID_DATE_DAY_JS ? apiDateTime : rawResult;\n};\n\nexport const cancelDateToUk = (dateString?: string) => {\n if (!dateString) return dateString;\n\n const rawResult = dayjs(dateString).format('ddd, D MMM. h:mm A');\n return rawResult === INVALID_DATE_DAY_JS ? dateString : rawResult;\n};\n\nexport const currentDateToUk = (dateString?: string) => {\n if (!dateString) return dateString;\n\n const rawResult = dayjs(dateString).format('D/M/YYYY h:mm A');\n return rawResult === INVALID_DATE_DAY_JS ? dateString : rawResult;\n};\n\nexport const INVALID_DATE_DAY_JS = 'Invalid Date';\n\nexport const removeCharacterFromString = (str: string, character: string) => {\n if (typeof str !== 'string') return str;\n return str.split(character).join('');\n};\n\nexport const removeCommasFromString = (str: string) => {\n return removeCharacterFromString(str, ',');\n};\n"],"names":["useUserCountry","rawUserCountry","useSelector","state","app","user","profile","selected_country","userCountry","useMemo","includes","isUkUser","StyledMenu","styled","Menu","theme","palette","primary","CustomDrawer","Drawer","StyledHeader","isImpersonating","greyscale","props","shadow","HeaderSection","HeadText","LogoutText","StyledImgButton","HeadTextPage","pageName","impersonatedUserData","getItem","label","key","icon","children","type","useState","open","setOpen","selectedKeys","setSelectedKeys","useAuth","logout","useClientEnvironmentContext","isEveryset","isAlessiHartigan","getPrivacyPolicyLink","getTermsOfServiceLink","useCountryWording","getCountryWording","items","Boolean","onClick","HamburgerMenuIcon","fill","undefined","style","marginTop","Link","href","passHref","EverysetIcon","height","width","EverysetLogo","cursor","display","SaaSLogo","div","className","first_name","last_name","placement","closable","maskStyle","background","opacity","maskClosable","onClose","flexDirection","e","path","router","window","defaultSelectedKeys","defaultOpenKeys","mode","selectable","flex","padding","a","color","fontFamily","fontStyle","fontWeight","fontSize","Layout","MainLayout","getImpersonatedUser","setImpersonatedUserData","useEffect","updateImperonatedUser","useRouter","isMobile","test","navigator","userAgent","isProfileHighlighted","asPath","startsWith","sidebarElement","document","getElementById","currentPath","replace","push","getMenuPageName","isMenuItemPage","some","item","profileClassName","pageSpecificClassName","toLowerCase","useSidebarContext","isSidebarCollapsed","setIsSidebarCollapsed","HeaderMobile","Header","toggleCollapsed","aside","StyledSider","breakpoint","collapsedWidth","trigger","collapsible","collapsed","id","boxShadow","main","getMainLayout","page","Sider","useCallback","word","formatting","version","mappedWord","WORDING_MAP","capitalizeWords","toUpperCase","invites","US","full","short","UK","status_checks","FORMATTED_PHONE_REGEX","FORMATTED_PHONE_REGEX_UK","formatNumberUk","rawNumber","digitString","length","slice","formattedNumber","number","num","parseInt","unformattedNumber","toString","firstThree","substr","midThree","lastFour","normalizedNumber","RegExp","replaceAll","buildFullAddress","line1","line2","separator","isValidNumber","value","getUploadLabel","minimumUploads","maximumUploads","getUrlQueryParams","routerAsPath","queryString","split","parse","truncateFileName","str","extension","pop","checkEmailValid","email","map","charAt","capitalize","join","getDisplayNumber","rawPhone","getIsValidUkDate","rawDate","parsedDate","parseDate","Date","isValid","format","isAfter","apiDateToUkDate","apiDate","ukDateToApiDate","ukDate","formatSpolightViewPin","rawPin","getIsValidUkPhoneNumber","rawPhoneInput","bgLastUpdatedToUk","dateString","bookingDateToUk","customFormat","isValidDate","formatCallTime","apiDateTime","rawResult","dayjs","INVALID_DATE_DAY_JS","cancelDateToUk","currentDateToUk","removeCommasFromString","character","removeCharacterFromString"],"sourceRoot":""}