{"version":3,"file":"static/js/Header.07cf27a8.js","mappings":"sXAgBO,MAAMA,EAAUC,EAAAA,OAAOC,IAAIC,OAG/B,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAHSJ,CAGT,4OAGEK,GAAWA,EAAMC,MAAQ,OAAS,QAO5CC,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SACWJ,GACRA,EAAMC,QAAUD,EAAMK,WAAa,OAAS,SAO3CC,GAAYX,EAAAA,EAAAA,QAAOY,EAAAA,IAAcT,WAAA,CAAAC,YAAA,gBAArBJ,CAAqB,yfACxCa,EAAAA,GAWAN,EAAAA,GAAGC,OAQHD,EAAAA,GAAGE,SAUIK,EAASd,EAAAA,OAAOe,GAAGb,OAE7B,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFQJ,CAER,4PACRgB,EAAAA,IAEKX,GAAWA,EAAMK,WAAa,gBAAkB,sBAQpDL,IACEA,EAAMK,aACPO,EAAAA,EAAAA,KAAG,oBAQLV,EAAAA,GAAGC,OAMHD,EAAAA,GAAGW,OAIHX,EAAAA,GAAGE,SAKIU,EAAYnB,EAAAA,OAAOe,GAAGb,OAEhC,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFWJ,CAEX,yTACRoB,EAAAA,IASCf,IACEA,EAAMgB,QACPJ,EAAAA,EAAAA,KAAG,oBAYLV,EAAAA,GAAGC,OAKHD,EAAAA,GAAGW,OAIHX,EAAAA,GAAGE,SAKIa,GAAWtB,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,gBAAfJ,CAAe,oMAc1BwB,GAAcxB,EAAAA,EAAAA,QAAOyB,EAAAA,GAAQvB,OAEvC,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFaJ,CAEb,iIAEMK,GAAWA,EAAMgB,MAAQ,QAAU,QAM7Cd,EAAAA,GAAGC,QAMAkB,EAAgB1B,EAAAA,OAAOC,IAAIC,OAErC,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFeJ,CAEf,sVACRa,EAAAA,IACUR,GAAWA,EAAMC,MAAQ,OAAS,QAO5CC,EAAAA,GAAGC,OAMHD,EAAAA,GAAGW,OAMHX,EAAAA,GAAGE,SAMIkB,EAAc3B,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,gBAAVJ,CAAU,gHAG/BO,EAAAA,GAAGC,OAIHD,EAAAA,GAAGW,OAIHX,EAAAA,GAAGE,SAKImB,GAAQ5B,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,gBAAfJ,CAAe,wOAC9B6B,EAAAA,GAmBAtB,EAAAA,GAAGC,OACCsB,EAAAA,IAKGC,GAAe/B,EAAAA,EAAAA,QAAOgC,EAAAA,IAAM7B,WAAA,CAAAC,YAAA,gBAAbJ,CAAa,+FACnCoB,EAAAA,GAIAb,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SAKIwB,EAAkBjC,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,iBAAVJ,CAAU,+KAInCO,EAAAA,GAAGC,OAKHD,EAAAA,GAAGW,OAMHX,EAAAA,GAAGE,SAKIyB,GAAYjB,EAAAA,EAAAA,KAAG,+YAiCfkB,GAAOnC,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,iBAAfJ,CAAe,QAC7BkC,GAGOE,EAAapC,EAAAA,OAAOqC,OAAMlC,WAAA,CAAAC,YAAA,iBAAbJ,CAAa,yHAEjCkC,GAWOI,GAAatC,EAAAA,EAAAA,QAAOyB,EAAAA,GAAOtB,WAAA,CAAAC,YAAA,iBAAdJ,CAAc,4GAM9BO,EAAAA,GAAGC,Q,eCvTb,MAAM+B,EAAaC,EAAAA,MACf,EACIC,QACAC,OACAC,OACAC,WACAC,UACAC,YACAC,sBAEA,MAAMC,GAAiBC,EAAAA,EAAAA,cAClBC,IACOH,GACAA,EACI,EACAL,EAAKS,YAEb,GAEJ,CAACT,EAAKS,YAAaJ,IAGvB,OACIK,EAAAA,EAAAA,KAAA,MAAAC,SACKX,EAAKY,OAASZ,EAAKY,MAAMC,OAAS,GAC/BC,EAAAA,EAAAA,MAACpB,EAAU,CACPqB,MAAOf,EAAKS,YACZN,QAAUa,GAAUb,EAAQa,EAAOjB,GACnCK,UAAYY,GAAUZ,EAAUY,EAAOjB,GACvC,gBAAgB,GAAEG,QAClBe,UAAWhB,EAAO,SAAW,GAAGU,SAAA,EAEhCD,EAAAA,EAAAA,KAAA,QAAAC,SAAOX,EAAKS,eACZC,EAAAA,EAAAA,KAACQ,EAAAA,EAAI,CAACC,KAAK,wBAGfT,EAAAA,EAAAA,KAACjB,EAAI,CACD2B,GAAIpB,EAAKqB,IACTC,OAAK,EACLC,gBAAgB,SAChBR,MAAOf,EAAKS,YACZN,QAASG,EAAeK,UAExBD,EAAAA,EAAAA,KAAA,QAAAC,SAAOX,EAAKS,iBApBfV,EAuBJ,IAIjBF,EAAWY,YAAc,aAEzB,MAAMe,EAAS1B,EAAAA,MACX,EACII,WACAH,QACAE,OACAwB,QACAzB,OACA0B,OACArB,kBACAF,UACAC,gBAEA,MAAME,GAAiBC,EAAAA,EAAAA,cAAY,KAC3BF,GACAA,EAAgB,EAAGL,EAAKS,YAC5B,GACD,CAACT,EAAKS,YAAaJ,IAEtB,OACIS,EAAAA,EAAAA,MAAC9B,EAAa,CACV2C,GAAK,GAAEzB,QAEP,kBAAkB,GAAEA,WACpBtC,MAAOqC,EAAKU,SAAA,EAEZD,EAAAA,EAAAA,KAACd,EAAU,CACPgC,YAAY,QACZb,MAAOf,EAAKS,YACZ,gBAAgB,GAAEP,QAClBiB,KAAK,iBACLU,UAAU,EACVC,MAAM,EACN3B,QAAUa,GAAUb,EAAQa,EAAQ,MAAKS,KACzCrB,UAAYY,GAAUZ,EAAUY,EAAQ,MAAKS,KAASd,SACzD,UAGDG,EAAAA,EAAAA,MAAC7B,EAAW,CAAC0C,GAAK,GAAEzB,WAAkBS,SAAA,CACjCX,EAAKS,cACFC,EAAAA,EAAAA,KAACxB,EAAK,CACFkC,GAAIpB,EAAKqB,IACTlB,QAASG,EACTqB,GAAK,GAAEzB,YAAmBS,UAEzBoB,EAAAA,EAAAA,GACG/B,EAAKS,aACLC,EAAAA,EAAAA,KAACQ,EAAAA,EAAI,CACDC,KAAK,mBACL,cAAY,YAK3BnB,EAAKgC,eACFtB,EAAAA,EAAAA,KAACrB,EAAY,CAAAsB,SAAEX,EAAKgC,mBAG5BtB,EAAAA,EAAAA,KAACnB,EAAe,CAAAoB,UACZD,EAAAA,EAAAA,KAACuB,EAAAA,EAAmB,CAChBrB,MAAOZ,EAAKY,MACZe,GAAIzB,EACJG,gBAAiBA,EACjBJ,KAAMA,EACNiC,sBAAuBlC,EAAKkC,sBAC5BR,KAAMA,QA3CT3B,EA8CO,GAGxBoC,KAEJX,EAAOf,YAAc,SAErB,MAAM2B,EAAetC,EAAAA,MACjB,EAAGE,OAAMK,sBACL,MAAMC,GAAiBC,EAAAA,EAAAA,cAAY,KAC3BF,GACAA,EAAgB,EAAGL,EAAKS,YAC5B,GACD,CAACT,EAAKS,YAAaJ,IAEtB,OACIK,EAAAA,EAAAA,KAAA,MAAAC,UACID,EAAAA,EAAAA,KAAC9B,EAAQ,CACLwC,GAAIpB,EAAKqB,IACTC,OAAK,EACLe,WAAW,EACXC,cAAc,EACdf,gBAAgB,SAChBR,MAAOf,EAAKS,YACZN,QAASG,EAAeK,UAExBD,EAAAA,EAAAA,KAAA,QAAAC,SAAOX,EAAKS,iBAEf,IAIjB2B,EAAa3B,YAAc,eAE3B,MAAM8B,EAAiBA,EACnBC,eACAC,YACAC,aACAC,YACAC,eACAC,gBACAC,QACA7C,OACAyB,OACArB,sBACsC,IAAD0C,EAAAC,EAAAC,EACrC,MAAMC,GAAgB3C,EAAAA,EAAAA,cAClB,CAACS,EAA+CmC,KACzB,WAAV,OAALnC,QAAK,IAALA,OAAK,EAALA,EAAOoC,OACPpC,EAAMqC,iBACNb,EAAaW,GACjB,GAEJ,CAACX,IAGCc,GAAc/C,EAAAA,EAAAA,cAChB,CAACS,EAA4CmC,KACzCnC,EAAMqC,iBACNb,EAAaW,EAAI,GAErB,CAACX,IAGL,OACI9B,EAAAA,EAAAA,KAAC6C,EAAAA,cAAa,CAACC,MAAO,CAAEA,MAAO,aAAc7C,UACzCD,EAAAA,EAAAA,KAACrD,EAAO,CAACO,MAAOqC,EAAMjC,YAAayE,EAAU9B,UACzCG,EAAAA,EAAAA,MAAC7C,EAAS,CAACwF,GAAG,MAAM,aAAYX,EAAMnC,SAAA,EAElCD,EAAAA,EAAAA,KAACtC,EAAM,CAACJ,YAAayE,EAAU9B,SAChB,OAAV+B,QAAU,IAAVA,GAAiB,QAAPK,EAAVL,EAAY9B,aAAK,IAAAmC,OAAP,EAAVA,EAAmBW,KAAI,CAAC1D,EAAMyB,KAC3B,MAAM1B,EAAS,MAAK0B,IACdxB,EAAOwC,GAAc,MAAKhB,IAC1BvB,GAAWyD,EAAAA,EAAAA,GACb3D,EAAKS,aAAeV,GAGxB,OACIW,EAAAA,EAAAA,KAACb,EAAU,CAEPG,KAAMA,EACNC,KAAMA,EACNF,MAAOA,EACPG,SAAUA,EACVG,gBAAiBA,EACjBF,QAASmD,EACTlD,UAAW8C,GAPL,cAAazB,IAQrB,OAIdf,EAAAA,EAAAA,KAACjC,EAAS,CAACE,OAAQ8D,EAAU9B,SACf,OAATgC,QAAS,IAATA,GAAgB,QAAPK,EAATL,EAAW/B,aAAK,IAAAoC,OAAP,EAATA,EAAkBU,KAAI,CAAC1D,EAAMyB,KAC1Bf,EAAAA,EAAAA,KAAC0B,EAAY,CAETpC,KAAMA,GADA,gBAAeyB,SAKhCoB,GAAiBD,IACdlC,EAAAA,EAAAA,KAAC5B,EAAW,CACRqC,KAAK,UACLE,IAAKuB,EACLhB,YAAY,QACZgC,KAAK,SACLjF,OAAQ8D,EAAU9B,SAEjBkC,IAIE,OAAVH,QAAU,IAAVA,GAAiB,QAAPO,EAAVP,EAAY9B,aAAK,IAAAqC,OAAP,EAAVA,EAAmBS,KAAI,CAAC1D,EAAMyB,KAC3B,GAAIzB,EAAKY,OAASZ,EAAKY,MAAMC,OAAS,EAAG,CACrC,MAAMd,EAAS,SAAQ0B,IACjBxB,EAAOwC,GAAc,MAAKhB,IAC1BvB,GAAWyD,EAAAA,EAAAA,GACZ,GAAE3D,EAAKS,eAGZ,OACIC,EAAAA,EAAAA,KAACc,EAAM,CAEHxB,KAAMA,EACND,MAAOA,EACPE,KAAMA,EACNwB,MAAOA,EACPvB,SAAUA,EACVG,gBAAiBA,EACjBF,QAASmD,EACTlD,UAAW8C,EACXxB,KAAMA,GATA,cAAaD,IAY/B,WAIA,EAIxB,MAAe3B,EAAAA,KAAWyC,G,kEClP1B,MA5B2BsB,KACvB,MAAOC,EAAiBC,IAAsBC,EAAAA,EAAAA,UAAiB,MAwB/D,OAtBAC,EAAAA,EAAAA,YAAU,KACN,IAAIC,EAAcC,OAAOC,YAEzB,MAAMC,EAAwBA,KAC1B,MAAMC,EAAUH,OAAOC,YACjBG,EAAYD,EAAUJ,EAAc,OAAS,KAE/CK,IAAcT,IACbQ,EAAUJ,GAAeI,EAAUJ,IAEpCH,EAAmBQ,GAEvBL,EAAcI,EAAU,EAAIA,EAAU,CAAC,EAK3C,OAFAH,OAAOK,iBAAiB,SAAUH,GAE3B,KACHF,OAAOM,oBAAoB,SAAUJ,EAAsB,CAC9D,GACF,CAACP,IAEGA,CAAe,E,+BCjC1B,MAAMY,EAAkBlB,IAAM,QAAS,CACnCmB,MAAO,sBACPC,UAAW,uBACXC,KAAM,uBACNC,KAAM,yBAGJC,GAAYvB,IAAM,eAAgB,CACpCmB,MAAO,0BACPK,MAAO,4BACPF,KAAM,yBACND,KAAM,2BAGJI,GAAYzB,IAAM,QAAS,CAC7BmB,MAAO,0BACPC,UAAW,4BACXC,KAAM,8BACNC,KAAM,2BAGGI,IAAgB3G,EAAAA,EAAAA,KAAG,sFAKnBlB,GAAUC,EAAAA,OAAOC,IAAIC,OAK/B,MAAS,KAAEC,WAAA,CAAAC,YAAA,eALSJ,CAKT,qTAEcoH,GACb/G,GAAWA,EAAMwH,UAAY,IAAM,QACjCJ,IAGEpH,GAAWA,EAAMyH,UAAY,QAAU,MAC1CzH,GAAWA,EAAMyH,UAAY,QAAU,MACtCzH,GAAWA,EAAMyH,UAAY,UAAY,WASnDzH,GAAUA,EAAM0H,eAAiBH,IAElCrH,EAAAA,GAAGE,SAKIE,IAAYX,EAAAA,EAAAA,QAAOY,EAAAA,IAAcT,WAAA,CAAAC,YAAA,eAArBJ,CAAqB,gXACxCa,EAAAA,GAUAN,EAAAA,GAAGC,OAMHD,EAAAA,GAAGE,SAMIuH,GAAQhI,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,eAAVJ,CAAU,yOAQzBO,EAAAA,GAAGC,QAqBIyH,IAXQjI,EAAAA,OAAOe,GAAEZ,WAAA,CAAAC,YAAA,eAATJ,CAAS,gDAMHA,EAAAA,EAAAA,QAAOgC,EAAAA,IAAM7B,WAAA,CAAAC,YAAA,eAAbJ,CAAa,wCAKZA,EAAAA,EAAAA,QAAOyB,EAAAA,GAAOtB,WAAA,CAAAC,YAAA,eAAdJ,CAAc,uBAI7BkI,IAAalI,EAAAA,EAAAA,QAAOyB,EAAAA,GAAOtB,WAAA,CAAAC,YAAA,eAAdJ,CAAc,kDAE9BO,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SAMA0H,IAAWnI,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,eAAfJ,CAAe,sHAEtB2H,GAMPpH,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SAMA2H,GAAkBpI,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,eAAVJ,CAAU,4VAYnCO,EAAAA,GAAGC,OAQHD,EAAAA,GAAGE,SASI4H,IAAWrI,EAAAA,EAAAA,QAAOsI,EAAAA,IAASnI,WAAA,CAAAC,YAAA,eAAhBJ,CAAgB,uOAQlCO,EAAAA,GAAGC,QCjJH+H,GAAO/F,EAAAA,MACT,EAAGgG,eAAcC,YAAWC,eACxBtF,EAAAA,EAAAA,KAAC+E,GAAQ,CACLrE,GAAI0E,EACJ/E,MAAOgF,EACPE,UAAWF,EACXG,aAAa,OACb,WAASC,EAAAA,EAAAA,GAAU,QAAQxF,UAE3BD,EAAAA,EAAAA,KAACQ,EAAAA,EAAI,CAA0BC,KAAM6E,GAAzB,QAAOA,SAI/BH,GAAKpF,YAAc,OAEnB,MAAM2F,GAASA,EACX1D,aACAC,YACAoD,YACAD,eACAO,gBACAxD,gBACAyD,iBACA1D,eACAlB,OACA6E,QACAC,WAAU,EACVC,2BAEA,MAAMC,GAAMC,EAAAA,EAAAA,QAAuB,MAC7BC,GAAWC,EAAAA,EAAAA,OAEX,MAAErD,EAAK,aAAEsD,IAAiBC,EAAAA,EAAAA,KAC1BC,GAAWC,EAAAA,EAAAA,MACXnD,EAAkBD,IAClBqD,EF/EuBC,MAC7B,MAAOD,EAAgBE,IAAqBpD,EAAAA,EAAAA,UAAiB,GAc7D,OAZAC,EAAAA,EAAAA,YAAU,KACN,MAAMoD,EAAuBA,KACzBD,EAAkB9C,QAAU,EAAIA,QAAU,EAAE,EAKhD,OAFAH,OAAOK,iBAAiB,SAAU6C,GAE3B,KACHlD,OAAOM,oBAAoB,SAAU4C,EAAqB,CAC7D,GACF,CAACH,IAEGA,CAAc,EEgEEC,IAChB1E,EAAWD,IAAgBwB,EAAAA,EAAAA,aAC3BsD,EAAcC,IAAmBvD,EAAAA,EAAAA,WAAkB,IACnDwD,EAAUC,IAAezD,EAAAA,EAAAA,WAAkB,IAC3C0D,EAAeC,IAAoB3D,EAAAA,EAAAA,WAAkB,IACrD4D,EAAcC,IAAmB7D,EAAAA,EAAAA,WAAkB,IACnD8D,EAAWC,IAAgB/D,EAAAA,EAAAA,WAAkB,GAC9CgE,GAAgBC,EAAAA,EAAAA,MAChBC,GAAaC,EAAAA,EAAAA,MACbC,EAAoB,YACpBC,EAAehC,IAAkBW,EAASsB,SAE1CC,GAAchI,EAAAA,EAAAA,cACfiI,IACGf,GAAY,GACZE,GAAiB,GACjBE,GAAgB,GAChBG,EAAc,CACVhH,MAAO,YACPyH,WAAYD,GACd,GAEN,CAACR,IAGCU,GAAenI,EAAAA,EAAAA,cAAY,KAC7BiC,OAAamG,GACblB,GAAY,EAAM,GACnB,IAEGmB,IAAarI,EAAAA,EAAAA,cACdiI,IACOhB,EACAkB,IAEAH,EAAYC,EAChB,GAEJ,CAACE,EAAclB,EAAUe,IAGvBM,IAAmBtI,EAAAA,EAAAA,cACpB4C,IAEOX,EADAC,IAAcU,EACDA,OAEAwF,EACjB,GAEJ,CAAClG,IAGCqG,IAAsBvI,EAAAA,EAAAA,cACxB,CAAC4C,EAAaqF,KACN/F,IAAcU,GACdX,EAAaW,GACboF,EAAYC,IAEZE,GACJ,GAEJ,CAACjG,EAAWiG,EAAcH,IAQxBQ,GAAeA,KACjBhB,GAAa,GACRP,GAAaE,GAAeG,GAAgB,EAAM,EAGrDmB,IAAuBzI,EAAAA,EAAAA,cACzB,CACIS,EACAwH,KAEmB,WAAV,OAALxH,QAAK,IAALA,OAAK,EAALA,EAAOoC,OACPpC,EAAMqC,iBACNuF,GAAWJ,GACf,GAEJ,CAACI,KAGCvI,IAAkBE,EAAAA,EAAAA,cACpB,CAAC0I,EAAeC,KACZlB,EAAc,CACVhH,MAAO,aACPmI,WAAYF,EACZR,WAAYS,GACd,GAEN,CAAClB,IAGCoB,IAAqB7I,EAAAA,EAAAA,cAAY,KAC/BiH,GACAkB,GACJ,GACD,CAACA,EAAclB,IAEZ6B,IAAe9I,EAAAA,EAAAA,cAAY,KAC7B,GAAI8H,EAAc,CACd,MAAMiB,EAAOC,SAASC,eAAe,eACjCF,GACAA,EAAKG,eAAe,CAAEC,MAAO,SAAUC,OAAQ,WACvD,MAAWjC,GACPC,GAAiB,GACjBE,GAAgB,KAEhBF,GAAiB,GACjBE,GAAgB,GACpB,GACD,CAACQ,EAAcX,IAmDlB,IAAIkC,GACAC,GAEJ,QApDA5F,EAAAA,EAAAA,YAAU,KACNyE,GAAc,GACf,CAAC1B,EAASsB,YAEbrE,EAAAA,EAAAA,YAAU,KACN0D,EAAiBlB,EAAqB,GACvC,CAACA,KAEJxC,EAAAA,EAAAA,YAAU,KAGD2C,EAFAU,GAAiBQ,GAAcN,EAEtB,CAAEsC,KAAMC,EAAAA,IADT,CAAED,KAAME,EAAAA,IACe,GACrC,CAAC1C,EAAcQ,EAAWN,EAAUZ,KAEvC3C,EAAAA,EAAAA,YAAU,KAGD2C,EAFAU,GAAiBQ,GAAcN,GAAaE,EAEnC,CAAEoC,KAAMC,EAAAA,IADT,CAAED,KAAME,EAAAA,IACe,GACrC,CAAClC,EAAWN,EAAUE,EAAed,EAAUU,KAElDrD,EAAAA,EAAAA,YAAU,KAEAsD,IADNL,EAAiB,GAAyB,SAApBpD,IAIhB+D,KADNX,EAAiB,IAAMY,GAAaN,GAAYE,GAEpB,GAC7B,CAACR,EAAgBpD,EAAiBgE,EAAWN,EAAUE,KAE1DuC,EAAAA,EAAAA,IAAiB,WAAYjJ,IAErBwG,GAA0B,WAAdxG,EAAMoC,MAClBuE,GAAiB,GACjBE,GAAgB,GAChBa,IACJ,KAGJzE,EAAAA,EAAAA,YAAU,KACa2C,EAAfc,EAAwB,CAAEoC,KAAMI,EAAAA,IACtB,CAAEJ,KAAMK,EAAAA,IAAc,GACrC,CAACzC,EAAed,KAEnB3C,EAAAA,EAAAA,YAAU,KACFyD,GAAegB,GAAc,GAClC,CAAChB,EAAegB,KAEnB0B,EAAAA,EAAAA,GAAkB1D,GAAK,IAAM0C,QAKrBiB,EAAAA,EAAAA,OACJ,IAAK,aACD,OAAQnC,GACJ,IAAK,KACD0B,GAAiB,kBACjBC,GAAmB,oBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,kBACjBC,GAAmB,oBACnB,MACJ,QACID,GAAiB,mBACjBC,GAAmB,qBAE3B,MACJ,IAAK,yBACD,GACS,OADD3B,EAEA0B,GAAiB,iBACjBC,GAAmB,wBAGnBD,GAAiB,iBACjBC,GAAmB,mBAE3B,MACJ,IAAK,QACD,GACS,OADD3B,EAEA0B,GAAiB,eACjBC,GAAmB,sBAGnBD,GAAiB,eACjBC,GAAmB,iBAE3B,MACJ,IAAK,OACD,OAAQ3B,GACJ,IAAK,KACD0B,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,QACID,GAAiB,mBACjBC,GAAmB,qBAE3B,MACJ,IAAK,aACD,OAAQ3B,GACJ,IAAK,KACD0B,GAAiB,oBACjBC,GAAmB,sBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,oBACjBC,GAAmB,sBACnB,MACJ,QACID,GAAiB,yBACjBC,GAAmB,2BAE3B,MACJ,QACI,OAAQ3B,GACJ,IAAK,KACD0B,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,QACID,GAAiB,mBACjBC,GAAmB,sBAInC,MAAM7D,GACF4B,GAA0B,cAAVpE,EAAwBqG,GAAkBD,GAExDU,IAAoB/J,EAAAA,EAAAA,cAAY,IAAM8I,MAAgB,CAACA,KAEvDkB,IAAsBhK,EAAAA,EAAAA,cACvBS,IACsB,WAAV,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOoC,OACPpC,EAAMqC,iBACNgG,KACJ,GAEJ,CAACA,KAGL,OACIvI,EAAAA,EAAAA,MAACyC,EAAAA,cAAa,CACVC,MAAO,CACHA,MAAOoE,EAAe,YAAcpE,EACpCsD,aAAcA,GAChBnG,SAAA,EAEFG,EAAAA,EAAAA,MAACzD,GAAO,CACJmN,KAAK,SACLC,aAAcA,KAzNtB1C,GAAa,QACbF,GAAgB,IAyNR6C,aAAcA,IAAM3B,KACpB4B,WAAYA,IAAM5B,KAClBrC,IAAKA,EACLtB,UAAWoB,EACXrB,UAAWqC,EACXnC,cAAeuC,EACfgD,eAAgBlD,EAAc/G,SAAA,EAE9BD,EAAAA,EAAAA,KAACzC,GAAS,CAAA0C,UACNG,EAAAA,EAAAA,MAACwE,GAAK,CAAA3E,SAAA,EACFD,EAAAA,EAAAA,KAACgF,GAAe,CAAA/E,UACZD,EAAAA,EAAAA,KAACiF,GAAQ,CAACvE,GAAG,eAAcT,UAClB,OAAJe,QAAI,IAAJA,OAAI,EAAJA,EAAMmJ,gBAAiB,4BAGhCnK,EAAAA,EAAAA,KAACmF,GAAI,CACDC,aAAcA,EACdC,UAAWA,EACXC,SAAUA,MAEZ0B,IACEhH,EAAAA,EAAAA,KAACoK,EAAAA,EAAU,CACPhI,MAAM,iBACNJ,WAAYA,EACZD,UAAWA,EACXD,aAAcsG,GACdzI,gBAAiBA,GACjB,WAAS8F,EAAAA,EAAAA,GAAU,qBACnB3C,MACIoE,EACM,YACCd,IAWlBT,IACG3F,EAAAA,EAAAA,KAAC6E,GAAY,CACTpE,KAAMuG,EAAgB,UAAY,WAClC9F,YACIgG,EAAe,QAAUd,EAE7BlD,KAAK,SACL/B,UAAU,EACVC,MAAM,EACN3B,QAASmK,GACTlK,UAAWmK,GACX,WAASpE,EAAAA,EAAAA,GAAU,iBAAiBxF,SAE/B,OAAJe,QAAI,IAAJA,OAAI,EAAJA,EAAMqJ,cAGdxE,GAASA,EAAM1F,OAAS,IACrBH,EAAAA,EAAAA,KAACsK,EAAAA,EAAc,CAACzE,MAAOA,EAAO0E,UAAQ,IAEzCpI,GAAiBD,IACdlC,EAAAA,EAAAA,KAAC3B,EAAAA,EAAM,CACHoC,KAAK,UACLE,IAAKuB,EACLf,SAAyB,MAAfqG,EACVpG,KAAqB,MAAfoG,EACNtG,YACIgG,EAAe,QAAUd,EAE7BlD,KAAK,SACL7C,MAAOuF,EACP,WAASH,EAAAA,EAAAA,GAAU,gBAAgBxF,SAElCkC,KAGTnC,EAAAA,EAAAA,KAAC8E,GAAU,CACPrE,KAAMqG,EAAW,UAAY,SAC7B5F,YAAagG,EAAe,QAAUd,EACtClD,KAAK,SACL/B,UAAU,EACVC,MAAM,EACN3B,SAASI,EAAAA,EAAAA,cACL,IAAMqI,GAAWR,IACjB,CAACQ,KAELxI,WAAWG,EAAAA,EAAAA,cAEHS,GAEAgI,GACIhI,EACAoH,IAER,CAACY,KAEL,WAAS7C,EAAAA,EAAAA,GAAU,eAAexF,SAE7B,OAAJe,QAAI,IAAJA,OAAI,EAAJA,EAAMwJ,aAInBxK,EAAAA,EAAAA,KAAC6B,EAAc,CACXO,MAAM,kBACNJ,WAAYA,EACZC,UAAWA,EACX1C,KAAMuH,EACNkB,aAAcA,EACdrI,gBAAiBA,GACjBmC,aAAcqG,GACdpG,UAAWA,EACXI,cAAeA,EACfD,aAAcA,EACd,WAASuD,EAAAA,EAAAA,GAAU,mBACnBzE,KAAM,CACFyJ,OAAY,OAAJzJ,QAAI,IAAJA,OAAI,EAAJA,EAAMyJ,aAIzB9E,IACG3F,EAAAA,EAAAA,KAAC0K,EAAAA,EAAa,CACV/E,cAAeA,EACf3E,KAAM,CACF2J,kBAAuB,OAAJ3J,QAAI,IAAJA,OAAI,EAAJA,EAAM2J,kBACzBN,YAAiB,OAAJrJ,QAAI,IAAJA,OAAI,EAAJA,EAAMqJ,iBAInB,EAIxB,OAAejL,EAAAA,KAAWsG,GAAQjE,I,6DC5elC,MAAM6I,GAAiBM,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,wBAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YAC3BA,IACI,yDAAmEC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,gBAErEO,EAAwBtO,IAC1B+C,EAAAA,EAAAA,KAACsK,EAAc,IAAKrN,IAExB,K,oICPA,MAAMmN,GAAaQ,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,oBAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YACvBA,IACI,gCAA2DC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,gBAE7DQ,EAAoBvO,IACtB+C,EAAAA,EAAAA,KAACoK,EAAU,IAAKnN,IAEpB,K,6DCPA,MAAMsE,GAAsBqJ,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,6BAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YAChCA,IACI,gCAECC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,gBAEHS,EACFxO,IACe+C,EAAAA,EAAAA,KAACuB,EAAmB,IAAKtE,IAC5C,K,6DCTA,MAAMyN,GAAgBE,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,uBAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YAC1BA,IACI,+BAAiEC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,eAEnEU,EAAuBzO,IACzB+C,EAAAA,EAAAA,KAAC0K,EAAa,IAAKzN,IAEvB,K,wDCZO,MAAMgG,EAAoBuF,GACtBA,EAAKmD,cAAcC,QAAQ,uBAAwB,G,sBCG9D,IAJmB3K,IAGA,C","sources":["components/NavigationMega/NavigationMega.styled.ts","components/NavigationMega/NavigationMega.tsx","utils/useScrollDIrection.ts","components/Header/Header.styled.ts","components/Header/Header.tsx","components/LanguagePicker/LanguagePickerLoader.tsx","components/Navigation/NavigationLoader.tsx","components/NavigationMegaItems/NavigationMegaItemsLoader.tsx","components/SearchOverlay/SearchOverlayLoader.tsx","utils/convertToValidID.ts","utils/getTestId.ts"],"sourcesContent":["/* stylelint-disable no-descending-specificity */\nimport { styled, css } from \"styled-components\";\n\nimport Button from \"components/Button\";\nimport { default as NavLink } from \"components/Link\";\nimport { Container as GridContainer } from \"style/components/Page\";\nimport {\n BodyM,\n styleBodyM,\n styleHeadingL,\n styleHeadingM,\n styleHeadingXL,\n} from \"style/components/Typography\";\nimport { columnGap } from \"style/grid\";\nimport { MQ } from \"style/mediaQueries\";\n\nexport const Wrapper = styled.div.attrs<{\n $open?: boolean;\n $allClosed?: boolean;\n}>(() => ({}))`\n align-items: center;\n border-top: 1px solid var(--color-black-o15);\n display: ${(props) => (props.$open ? \"flex\" : \"none\")};\n flex-direction: column;\n height: 100%;\n max-height: 100%;\n overflow: auto;\n width: 100%;\n\n ${MQ.FROM_M} {\n overflow: hidden;\n }\n\n ${MQ.FROM_XL} {\n display: ${(props) =>\n props.$open && !props.$allClosed ? \"flex\" : \"none\"};\n height: auto;\n max-height: none;\n overflow: auto;\n }\n`;\n\nexport const Container = styled(GridContainer)`\n ${columnGap};\n display: grid;\n grid-template:\n \"topNav subNav\" 1fr\n \"mainLinks subNav\" auto\n \"loginButton subNav\" auto;\n grid-template-columns: repeat(4, [col-start] 1fr);\n height: 100%;\n padding-bottom: 2.25rem;\n padding-top: 1.3125rem;\n\n ${MQ.FROM_M} {\n grid-template:\n \"topNav subNav\" 1fr\n \"mainLinks subNav\" auto;\n grid-template-columns: repeat(12, [col-start] 1fr);\n padding-top: 2.625rem;\n }\n\n ${MQ.FROM_XL} {\n grid-template: \"topNav subNav\" auto;\n grid-template-columns: repeat(12, [col-start] 1fr);\n height: auto;\n overflow: visible;\n padding-bottom: 4.375rem;\n padding-top: 3.5rem;\n }\n`;\n\nexport const TopNav = styled.ul.attrs<{\n $allClosed?: boolean;\n}>(() => ({}))`\n ${styleHeadingM}\n color: var(\n ${(props) => (props.$allClosed ? \"--color-black\" : \"--color-black-o60\")}\n );\n grid-area: topNav;\n grid-column: 1 / span 4;\n list-style: none;\n margin: 0;\n margin-top: 3.5rem;\n padding: 0;\n ${(props) =>\n !props.$allClosed &&\n css`\n display: none;\n `}\n\n li {\n margin-bottom: 1.3125rem;\n }\n\n ${MQ.FROM_M} {\n margin-top: 0;\n display: block;\n grid-column: 1 / span 6;\n }\n\n ${MQ.FROM_L} {\n grid-column: 1 / span 4;\n }\n\n ${MQ.FROM_XL} {\n display: none;\n }\n`;\n\nexport const MainLinks = styled.ul.attrs<{\n $show?: boolean;\n}>(() => ({}))`\n ${styleBodyM}\n align-self: flex-end;\n color: var(--text-on-neutral-primary);\n grid-area: mainLinks;\n grid-column: 1 / span 4;\n list-style: none;\n margin: 0;\n margin-top: 1.75rem;\n padding: 0;\n ${(props) =>\n !props.$show &&\n css`\n display: none;\n `}\n\n li {\n margin-bottom: 0.4375rem;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n ${MQ.FROM_M} {\n display: block;\n grid-column: 1 / span 6;\n }\n\n ${MQ.FROM_L} {\n grid-column: 1 / span 4;\n }\n\n ${MQ.FROM_XL} {\n display: none;\n }\n`;\n\nexport const MainLink = styled(NavLink)`\n span {\n border-bottom: 1px solid var(--color-black-o00);\n color: var(--text-on-neutral-primary);\n transition: border-color 0.2s ease-in-out;\n }\n\n &:hover {\n span {\n border-color: var(--text-on-neutral-primary);\n }\n }\n`;\n\nexport const LoginButton = styled(Button).attrs<{\n $show?: boolean;\n}>(() => ({}))`\n && {\n display: ${(props) => (props.$show ? \"block\" : \"none\")};\n grid-area: loginButton;\n grid-column: 1 / span 4;\n justify-self: flex-start;\n margin-top: 2.625rem;\n\n ${MQ.FROM_M} {\n display: none;\n }\n }\n`;\n\nexport const SubNavWrapper = styled.div.attrs<{\n $open?: boolean;\n}>(() => ({}))`\n ${columnGap};\n display: ${(props) => (props.$open ? \"grid\" : \"none\")};\n grid-area: subNav;\n grid-column: 1 / span 4;\n grid-template-columns: repeat(4, [col-start] 1fr);\n grid-template-rows: auto auto 1fr;\n max-height: 100%;\n\n ${MQ.FROM_M} {\n grid-column: 7 / span 6;\n overflow: auto;\n grid-template-rows: auto 1fr;\n }\n\n ${MQ.FROM_L} {\n grid-column: 5 / span 8;\n overflow: hidden;\n grid-template-rows: auto;\n }\n\n ${MQ.FROM_XL} {\n grid-column: 1 / span 12;\n overflow: visible;\n }\n`;\n\nexport const Description = styled.div`\n grid-column: 1 / span 4;\n\n ${MQ.FROM_M} {\n grid-column: 1 / span 4;\n }\n\n ${MQ.FROM_L} {\n grid-column: 1 / span 2;\n }\n\n ${MQ.FROM_XL} {\n grid-column: 1 / span 1;\n }\n`;\n\nexport const Title = styled(NavLink)`\n ${styleHeadingXL}\n border-bottom: none;\n color: inherit;\n\n svg {\n margin-left: 0.875rem;\n transition:\n margin-left 0.2s ease-in-out,\n margin-right 0.2s ease-in-out;\n margin-right: 0.875rem;\n }\n\n &:hover {\n svg {\n margin-left: 1.75rem;\n margin-right: 0;\n }\n }\n\n ${MQ.FROM_M} {\n ${styleHeadingL}\n color: inherit;\n }\n`;\n\nexport const Introduction = styled(BodyM)`\n ${styleBodyM};\n color: inherit;\n margin-top: 0.4375rem;\n\n ${MQ.FROM_M} {\n margin-top: 0.875rem;\n }\n\n ${MQ.FROM_XL} {\n margin-top: 1.3125rem;\n }\n`;\n\nexport const SubNavContainer = styled.div`\n grid-column: 1 / span 4;\n margin-top: 1.75rem;\n\n ${MQ.FROM_M} {\n grid-column: 1 / span 4;\n padding-bottom: 0;\n }\n\n ${MQ.FROM_L} {\n grid-column: 3 / span 2;\n margin-top: 0;\n overflow: auto;\n }\n\n ${MQ.FROM_XL} {\n grid-column: 2 / span 3;\n }\n`;\n\nexport const linkStyle = css`\n all: unset;\n border-bottom: none;\n color: inherit;\n cursor: pointer;\n display: block;\n\n svg {\n vertical-align: top;\n }\n\n &:focus-visible {\n outline: 7px solid var(--button-focus);\n outline-offset: 0;\n }\n\n span {\n border-bottom: 1px solid var(--color-black-o00);\n color: var(--color-black);\n transition: border-color 0.2s ease-in-out;\n }\n\n &:hover {\n span {\n border-color: var(--text-on-neutral-primary);\n }\n }\n\n &.active {\n color: var(--text-on-neutral-primary);\n }\n`;\n\nexport const Link = styled(NavLink)`\n ${linkStyle}\n`;\n\nexport const LinkButton = styled.button`\n align-items: flex-start;\n ${linkStyle}\n display: flex;\n gap: 0.875rem;\n justify-content: space-between;\n width: 100%;\n\n svg {\n flex: 0 0 1.75rem;\n }\n`;\n\nexport const BackButton = styled(Button)`\n && {\n grid-column: 1 / span 4;\n margin-bottom: 1.75rem;\n margin-right: auto;\n\n ${MQ.FROM_M} {\n display: none;\n margin-right: auto;\n }\n }\n`;\n","import React, { ReactElement, useCallback } from \"react\";\nimport isEqual from \"react-fast-compare\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport Icon from \"components/Icon\";\nimport NavigationMegaItems from \"components/NavigationMegaItems\";\nimport { appendComponentWithNoBr } from \"utils/appendComponentWithNoBr\";\nimport { convertToValidID } from \"utils/convertToValidID\";\n\nimport {\n Wrapper,\n Container,\n TopNav,\n MainLinks,\n MainLink,\n LoginButton,\n SubNavContainer,\n SubNavWrapper,\n Description,\n Title,\n Introduction,\n Link,\n LinkButton,\n BackButton,\n} from \"./NavigationMega.styled\";\nimport NavigationMegaProps, {\n NavigationMegaMainLinkProps,\n NavigationMegaSubProps,\n} from \"./NavigationMegaProps\";\n\nconst TopNavItem = React.memo(\n ({\n navId,\n item,\n open,\n subNavId,\n onClick,\n onKeyDown,\n navigateHandler,\n }: NavigationMegaSubProps): ReactElement => {\n const handleNavigate = useCallback(\n (_) => {\n if (navigateHandler) {\n navigateHandler(\n 1, //level\n item.displayName,\n );\n }\n },\n [item.displayName, navigateHandler],\n );\n\n return (\n
  • \n {item.items && item.items.length > 0 ? (\n onClick(event, navId)}\n onKeyDown={(event) => onKeyDown(event, navId)}\n aria-controls={`${subNavId}-nav`}\n className={open ? \"active\" : \"\"}\n >\n {item.displayName}\n \n \n ) : (\n \n {item.displayName}\n \n )}\n
  • \n );\n },\n);\nTopNavItem.displayName = \"TopNavItem\";\n\nconst SubNav = React.memo(\n ({\n subNavId,\n navId,\n open,\n index,\n item,\n l18n,\n navigateHandler,\n onClick,\n onKeyDown,\n }: NavigationMegaSubProps): ReactElement => {\n const handleNavigate = useCallback(() => {\n if (navigateHandler) {\n navigateHandler(1, item.displayName);\n }\n }, [item.displayName, navigateHandler]);\n\n return (\n \n onClick(event, `nav${index}`)}\n onKeyDown={(event) => onKeyDown(event, `nav${index}`)}\n >\n Back\n \n \n {item.displayName && (\n \n {appendComponentWithNoBr(\n item.displayName,\n ,\n )}\n \n )}\n {item.introduction && (\n {item.introduction}\n )}\n \n \n \n \n \n );\n },\n isEqual,\n);\nSubNav.displayName = \"SubNav\";\n\nconst MainLinkItem = React.memo(\n ({ item, navigateHandler }: NavigationMegaMainLinkProps): ReactElement => {\n const handleNavigate = useCallback(() => {\n if (navigateHandler) {\n navigateHandler(2, item.displayName);\n }\n }, [item.displayName, navigateHandler]);\n\n return (\n
  • \n \n {item.displayName}\n \n
  • \n );\n },\n);\nMainLinkItem.displayName = \"MainLinkItem\";\n\nconst NavigationMega = ({\n setActiveNav,\n activeNav,\n navigation,\n mainLinks,\n loginPageUrl,\n loginPageText,\n label,\n open,\n l18n,\n navigateHandler,\n}: NavigationMegaProps): ReactElement => {\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent, nav: string): void => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n setActiveNav(nav);\n }\n },\n [setActiveNav],\n );\n\n const handleClick = useCallback(\n (event: React.MouseEvent, nav: string): void => {\n event.preventDefault();\n setActiveNav(nav);\n },\n [setActiveNav],\n );\n\n return (\n \n \n \n {/* Mobile/tablet */}\n \n {navigation?.items?.map((item, index) => {\n const navId = `nav${index}`;\n const open = activeNav == `nav${index}`;\n const subNavId = convertToValidID(\n item.displayName || navId,\n );\n\n return (\n \n );\n })}\n \n \n {mainLinks?.items?.map((item, index) => (\n \n ))}\n \n {loginPageText && loginPageUrl && (\n \n {loginPageText}\n \n )}\n {/* All devices */}\n {navigation?.items?.map((item, index) => {\n if (item.items && item.items.length > 0) {\n const navId = `subnav${index}`;\n const open = activeNav == `nav${index}`;\n const subNavId = convertToValidID(\n `${item.displayName}`,\n );\n\n return (\n \n );\n }\n })}\n \n \n \n );\n};\n\nexport default React.memo(NavigationMega);\n","import { useEffect, useState } from \"react\";\n\nexport const useScrollPosition = () => {\n const [scrollPosition, setScrollPosition] = useState(0);\n\n useEffect(() => {\n const updateScrollPosition = () => {\n setScrollPosition(scrollY > 0 ? scrollY : 0);\n };\n\n window.addEventListener(\"scroll\", updateScrollPosition);\n\n return () => {\n window.removeEventListener(\"scroll\", updateScrollPosition);\n };\n }, [scrollPosition]);\n\n return scrollPosition;\n};\n\nconst useScrollDirection = () => {\n const [scrollDirection, setScrollDirection] = useState(\"up\");\n\n useEffect(() => {\n let lastScrollY = window.pageYOffset;\n\n const updateScrollDirection = () => {\n const scrollY = window.pageYOffset;\n const direction = scrollY > lastScrollY ? \"down\" : \"up\";\n if (\n direction !== scrollDirection &&\n (scrollY > lastScrollY || scrollY < lastScrollY)\n ) {\n setScrollDirection(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n\n window.addEventListener(\"scroll\", updateScrollDirection);\n\n return () => {\n window.removeEventListener(\"scroll\", updateScrollDirection);\n };\n }, [scrollDirection]);\n\n return scrollDirection;\n};\n\nexport default useScrollDirection;\n","/* stylelint-disable no-descending-specificity */\nimport { HashLink } from \"react-router-hash-link\";\nimport { styled, css } from \"styled-components\";\nimport theme from \"styled-theming\";\n\nimport Button from \"components/Button\";\nimport { default as NavLink } from \"components/Link\";\nimport { Container as GridContainer } from \"style/components/Page\";\nimport { BodyM } from \"style/components/Typography\";\nimport { columnGap } from \"style/grid\";\nimport { MQ } from \"style/mediaQueries\";\n\nconst backgroundColor = theme(\"theme\", {\n white: \"--color-transparent\",\n lightgray: \"--background-default\",\n blue: \"--block-blue-default\",\n cyan: \"--block-cyan-default\",\n});\n\nconst textColor = theme(\"contentTheme\", {\n white: \"--text-on-image-primary\",\n black: \"--text-on-neutral-primary\",\n cyan: \"--text-on-blue-primary\",\n blue: \"--text-on-cyan-primary\",\n});\n\nconst logoColor = theme(\"theme\", {\n white: \"--icon-on-image-primary\",\n lightgray: \"--icon-on-neutral-primary\",\n blue: \"--icon-on-blue-primary-alt3\",\n cyan: \"--icon-on-cyan-primary\",\n});\n\nexport const activeWrapper = css`\n background-color: var(--background-default);\n color: var(--text-on-neutral-primary);\n`;\n\nexport const Wrapper = styled.div.attrs<{\n $headerActive: boolean;\n $showMenu: boolean;\n $menuOpen: boolean;\n $searchVisible: boolean;\n}>(() => ({}))`\n align-items: center;\n background-color: var(${backgroundColor});\n bottom: ${(props) => (props.$menuOpen ? \"0\" : \"auto\")};\n color: var(${textColor});\n display: flex;\n flex-direction: column;\n max-height: ${(props) => (props.$showMenu ? \"100vh\" : \"0\")};\n opacity: ${(props) => (props.$showMenu ? \".9999\" : \"0\")};\n overflow: ${(props) => (props.$showMenu ? \"visible\" : \"hidden\")};\n position: fixed;\n top: 0;\n transition:\n color 0.2s ease-in-out,\n background-color 0.2s ease-in-out,\n opacity 0.2s ease-in-out;\n width: 100%;\n z-index: 999;\n ${(props) => props.$headerActive && activeWrapper};\n\n ${MQ.FROM_XL} {\n bottom: auto;\n }\n`;\n\nexport const Container = styled(GridContainer)`\n ${columnGap};\n align-items: center;\n display: grid;\n grid-template-columns: repeat(4, [col-start] 1fr) [col-end];\n grid-template-rows: auto 1fr auto;\n padding-bottom: 0.875rem;\n padding-top: 0.875rem;\n position: relative;\n width: 100%;\n\n ${MQ.FROM_M} {\n grid-template-columns: repeat(12, [col-start] 1fr) [col-end];\n padding-bottom: 1.3125rem;\n padding-top: 1.3125rem;\n }\n\n ${MQ.FROM_XL} {\n padding-bottom: 2.1875rem;\n padding-top: 2.125rem;\n }\n`;\n\nexport const Inner = styled.div`\n align-items: center;\n column-gap: 1.3125rem;\n display: flex;\n grid-column: col-start / col-end;\n justify-content: flex-end;\n width: 100%;\n\n ${MQ.FROM_M} {\n grid-template-columns: repeat(12, [col-start] 1fr) [col-end];\n column-gap: 2.1875rem;\n }\n\n nav {\n margin-left: auto;\n }\n`;\n\nexport const Links = styled.ul`\n display: flex;\n flex-direction: row;\n margin: 0;\n`;\n\nexport const LinkWrapper = styled(BodyM)`\n list-style: none;\n padding: 0.875rem;\n`;\n\nexport const SearchButton = styled(Button)`\n transition: none;\n`;\n\nexport const MenuButton = styled(Button)`\n & {\n ${MQ.FROM_M} {\n padding: 0.875rem 0;\n }\n\n ${MQ.FROM_XL} {\n display: none;\n }\n }\n`;\n\nexport const LogoLink = styled(NavLink)`\n border-bottom: none;\n color: var(${logoColor});\n margin-right: auto;\n\n svg {\n height: 2.625rem;\n\n ${MQ.FROM_M} {\n height: 2.625rem;\n }\n\n ${MQ.FROM_XL} {\n height: 3.5rem;\n }\n }\n`;\n\nexport const SkipLinkWrapper = styled.div`\n background: var(--background-default);\n border-radius: 0.25rem;\n box-shadow: var(--modal-shadow);\n display: flex;\n justify-content: center;\n left: 1.75rem;\n position: absolute;\n right: 1.75rem;\n top: 1.75rem;\n z-index: 9999;\n\n ${MQ.FROM_M} {\n left: 50%;\n right: auto;\n top: 2.625rem;\n transform: translate(-50%, 0);\n width: 31.125rem;\n }\n\n ${MQ.FROM_XL} {\n top: 3.9375rem;\n width: 34rem;\n }\n\n &:not(:focus-within) {\n top: -9999px;\n }\n`;\nexport const SkipLink = styled(HashLink)`\n border-radius: 0.25rem;\n color: var(--text-on-neutral-link);\n display: block;\n margin-block: 1.75rem;\n outline-offset: 0;\n padding: 0.4375rem;\n\n ${MQ.FROM_M} {\n margin-block: 2.1875rem;\n }\n\n &:focus-visible {\n outline: 7px solid var(--button-focus);\n outline-offset: 0;\n }\n`;\n","/* eslint-disable jsx-a11y/no-autofocus */\nimport { useGTMDispatch } from \"@elgorditosalsero/react-gtm-hook\";\nimport React, {\n ReactElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport isEqual from \"react-fast-compare\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport Button from \"components/Button\";\nimport Icon from \"components/Icon\";\nimport LanguagePicker from \"components/LanguagePicker\";\nimport Navigation from \"components/Navigation\";\nimport NavigationMega from \"components/NavigationMega/NavigationMega\";\nimport SearchOverlay from \"components/SearchOverlay\";\nimport { useBrand, useBreakpoint, useEventListener } from \"hooks\";\nimport useOnClickOutside from \"hooks/useOnClickOutside\";\nimport usePageContent from \"hooks/usePageContent\";\nimport {\n SHOW_HEADER,\n HIDE_HEADER,\n SHOW_SEARCH,\n HIDE_SEARCH,\n} from \"store/actionTypes\";\nimport getTestId from \"utils/getTestId\";\nimport useScrollDirection, {\n useScrollPosition,\n} from \"utils/useScrollDIrection\";\n\nimport {\n Wrapper,\n Container,\n Inner,\n LogoLink,\n SearchButton,\n MenuButton,\n SkipLink,\n SkipLinkWrapper,\n} from \"./Header.styled\";\nimport HeaderProps, { HeaderLogoProps } from \"./HeaderProps\";\n\nconst Logo = React.memo(\n ({ startPageUrl, logoTitle, logoIcon }: HeaderLogoProps): ReactElement => (\n \n \n \n ),\n);\nLogo.displayName = \"Logo\";\n\nconst Header = ({\n navigation,\n mainLinks,\n logoTitle,\n startPageUrl,\n searchPageUrl,\n loginPageText,\n loginPageTitle,\n loginPageUrl,\n l18n,\n sites,\n visible = true,\n searchOverlayVisible,\n}: HeaderProps): ReactElement => {\n const ref = useRef(null);\n const dispatch = useDispatch();\n\n const { theme, contentTheme } = usePageContent();\n const location = useLocation();\n const scrollDirection = useScrollDirection();\n const scrollPosition = useScrollPosition();\n const [activeNav, setActiveNav] = useState();\n const [headerPinned, setHeaderPinned] = useState(true);\n const [menuOpen, setMenuOpen] = useState(false);\n const [searchVisible, setSearchVisible] = useState(false);\n const [headerActive, setHeaderActive] = useState(false);\n const [mouseOver, setMouseOver] = useState(false);\n const sendDataToGTM = useGTMDispatch();\n const breakpoint = useBreakpoint();\n const mobileMenuNavName = \"hamburger\"; // 🍔🤷\n const isSearchPage = searchPageUrl === location.pathname;\n\n const openHandler = useCallback(\n (navText?: string): void => {\n setMenuOpen(true);\n setSearchVisible(false);\n setHeaderActive(true);\n sendDataToGTM({\n event: \"open_menu\",\n click_text: navText,\n });\n },\n [sendDataToGTM],\n );\n\n const closeHandler = useCallback((): void => {\n setActiveNav(undefined);\n setMenuOpen(false);\n }, []);\n\n const toggleMenu = useCallback(\n (navText?: string): void => {\n if (menuOpen) {\n closeHandler();\n } else {\n openHandler(navText);\n }\n },\n [closeHandler, menuOpen, openHandler],\n );\n\n const toggleNavHandler = useCallback(\n (nav: string): void => {\n if (activeNav !== nav) {\n setActiveNav(nav);\n } else {\n setActiveNav(undefined);\n }\n },\n [activeNav],\n );\n\n const setActiveNavHandler = useCallback(\n (nav: string, navText?: string): void => {\n if (activeNav !== nav) {\n setActiveNav(nav);\n openHandler(navText);\n } else {\n closeHandler();\n }\n },\n [activeNav, closeHandler, openHandler],\n );\n\n const enterHandler = (): void => {\n setMouseOver(true);\n setHeaderActive(true);\n };\n\n const leaveHandler = (): void => {\n setMouseOver(false);\n if (!menuOpen && !searchVisible) setHeaderActive(false);\n };\n\n const handleMenuBtnKeyDown = useCallback(\n (\n event: React.KeyboardEvent,\n navText?: string,\n ): void => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n toggleMenu(navText);\n }\n },\n [toggleMenu],\n );\n\n const navigateHandler = useCallback(\n (level: number, text?: string): void => {\n sendDataToGTM({\n event: \"menu_click\",\n menu_level: level,\n click_text: text,\n });\n },\n [sendDataToGTM],\n );\n\n const handleClickOutside = useCallback((): void => {\n if (menuOpen) {\n closeHandler();\n }\n }, [closeHandler, menuOpen]);\n\n const toggleSearch = useCallback((): void => {\n if (isSearchPage) {\n const elem = document.getElementById(\"searchfield\");\n if (elem)\n elem.scrollIntoView({ block: \"center\", inline: \"nearest\" });\n } else if (searchVisible) {\n setSearchVisible(false);\n setHeaderActive(false);\n } else {\n setSearchVisible(true);\n setHeaderActive(true);\n }\n }, [isSearchPage, searchVisible]);\n\n useEffect(() => {\n closeHandler();\n }, [location.pathname]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n setSearchVisible(searchOverlayVisible);\n }, [searchOverlayVisible]);\n\n useEffect((): void => {\n if (!headerPinned && !mouseOver && !menuOpen)\n dispatch({ type: HIDE_HEADER });\n else dispatch({ type: SHOW_HEADER });\n }, [headerPinned, mouseOver, menuOpen, dispatch]);\n\n useEffect((): void => {\n if (!headerPinned && !mouseOver && !menuOpen && !searchVisible)\n dispatch({ type: HIDE_HEADER });\n else dispatch({ type: SHOW_HEADER });\n }, [mouseOver, menuOpen, searchVisible, dispatch, headerPinned]);\n\n useEffect((): void => {\n scrollPosition > 5 && scrollDirection === \"down\"\n ? setHeaderPinned(false)\n : setHeaderPinned(true);\n scrollPosition > 50 || mouseOver || menuOpen || searchVisible\n ? setHeaderActive(true)\n : setHeaderActive(false);\n }, [scrollPosition, scrollDirection, mouseOver, menuOpen, searchVisible]);\n\n useEventListener(\"keydown\", (event: KeyboardEvent) => {\n // Close nav and search on ESC\n if (menuOpen && event.key === \"Escape\") {\n setSearchVisible(false);\n setHeaderActive(false);\n closeHandler();\n }\n });\n\n useEffect((): void => {\n if (searchVisible) dispatch({ type: SHOW_SEARCH });\n else dispatch({ type: HIDE_SEARCH });\n }, [searchVisible, dispatch]);\n\n useEffect((): void => {\n if (searchVisible) closeHandler();\n }, [searchVisible, closeHandler]);\n\n useOnClickOutside(ref, () => handleClickOutside());\n\n let logoSolidIcon: string;\n let logoDefaultIcon: string;\n\n switch (useBrand()) {\n case \"spmortgage\":\n switch (breakpoint) {\n case \"XL\":\n logoSolidIcon = `mortgageSolid56`;\n logoDefaultIcon = `mortgageDefault56`;\n break;\n case \"L\":\n case \"M\":\n logoSolidIcon = `mortgageSolid42`;\n logoDefaultIcon = `mortgageDefault42`;\n break;\n default:\n logoSolidIcon = `logoSmallSolid42`;\n logoDefaultIcon = `logoSmallDefault42`;\n }\n break;\n case \"soderbergpartnersgroup\":\n switch (breakpoint) {\n case \"XL\":\n logoSolidIcon = `spgroupSolid56`;\n logoDefaultIcon = `spgroupDefault56`;\n break;\n default:\n logoSolidIcon = `spgroupSolid42`;\n logoDefaultIcon = `spgroupDefault42`;\n }\n break;\n case \"sphab\":\n switch (breakpoint) {\n case \"XL\":\n logoSolidIcon = `sphabSolid56`;\n logoDefaultIcon = `sphabDefault56`;\n break;\n default:\n logoSolidIcon = `sphabSolid42`;\n logoDefaultIcon = `sphabDefault42`;\n }\n break;\n case \"spuk\":\n switch (breakpoint) {\n case \"XL\":\n logoSolidIcon = `spukSolid56`;\n logoDefaultIcon = `spukDefault56`;\n break;\n case \"L\":\n case \"M\":\n logoSolidIcon = `spukSolid42`;\n logoDefaultIcon = `spukDefault42`;\n break;\n default:\n logoSolidIcon = `logoSmallSolid42`;\n logoDefaultIcon = `logoSmallDefault42`;\n }\n break;\n case \"claimslink\":\n switch (breakpoint) {\n case \"XL\":\n logoSolidIcon = `claimslinkSolid42`;\n logoDefaultIcon = `claimslinkDefault42`;\n break;\n case \"L\":\n case \"M\":\n logoSolidIcon = `claimslinkSolid28`;\n logoDefaultIcon = `claimslinkDefault28`;\n break;\n default:\n logoSolidIcon = `claimslinkSmallSolid28`;\n logoDefaultIcon = `claimslinkSmallDefault28`;\n }\n break;\n default:\n switch (breakpoint) {\n case \"XL\":\n logoSolidIcon = `logoSolid56`;\n logoDefaultIcon = `logoDefault56`;\n break;\n case \"L\":\n case \"M\":\n logoSolidIcon = `logoSolid42`;\n logoDefaultIcon = `logoDefault42`;\n break;\n default:\n logoSolidIcon = `logoSmallSolid42`;\n logoDefaultIcon = `logoSmallDefault42`;\n }\n }\n\n const logoIcon =\n headerActive || theme === \"lightgray\" ? logoDefaultIcon : logoSolidIcon;\n\n const handleSearchClick = useCallback(() => toggleSearch(), [toggleSearch]);\n\n const handleSearchKeyDown = useCallback(\n (event: React.KeyboardEvent): void => {\n if (event?.key === \"Enter\") {\n event.preventDefault();\n toggleSearch();\n }\n },\n [toggleSearch],\n );\n\n return (\n \n enterHandler()}\n onMouseLeave={() => leaveHandler()}\n onTouchEnd={() => leaveHandler()}\n ref={ref}\n $showMenu={visible}\n $menuOpen={menuOpen}\n $headerActive={headerActive}\n $searchVisible={searchVisible}\n >\n \n \n \n \n {l18n?.skipToContent || \"Skip to main content\"}\n \n \n \n {!searchVisible && (\n \n )}\n {searchPageUrl && (\n \n {l18n?.searchLabel}\n \n )}\n {sites && sites.length > 0 && (\n \n )}\n {loginPageText && loginPageUrl && (\n \n {loginPageText}\n \n )}\n toggleMenu(mobileMenuNavName),\n [toggleMenu],\n )}\n onKeyDown={useCallback(\n (\n event: React.KeyboardEvent,\n ) =>\n handleMenuBtnKeyDown(\n event,\n mobileMenuNavName,\n ),\n [handleMenuBtnKeyDown],\n )}\n data-cy={getTestId(\"menu-buttom\")}\n >\n {l18n?.menu}\n \n \n \n \n \n {searchPageUrl && (\n \n )}\n \n );\n};\n\nexport default React.memo(Header, isEqual);\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport LanguagePickerProps from \"./LanguagePickerProps\";\n\nconst LanguagePicker = loadable(\n (): Promise> =>\n import(/* webpackChunkName: \"LanguagePicker\" */ \"./LanguagePicker\"),\n);\nconst LanguagePickerLoader = (props: LanguagePickerProps): ReactElement => (\n \n);\nexport default LanguagePickerLoader;\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport NavigationProps from \"./NavigationProps\";\n\nconst Navigation = loadable(\n (): Promise> =>\n import(/* webpackChunkName: \"Navigation\" */ \"./Navigation\"),\n);\nconst NavigationLoader = (props: NavigationProps): ReactElement => (\n \n);\nexport default NavigationLoader;\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport NavigationMegaItemsProps from \"./NavigationMegaItemsProps\";\n\nconst NavigationMegaItems = loadable(\n (): Promise> =>\n import(\n /* webpackChunkName: \"NavigationMegaItems\" */ \"./NavigationMegaItems\"\n ),\n);\nconst NavigationMegaItemsLoader = (\n props: NavigationMegaItemsProps,\n): ReactElement => ;\nexport default NavigationMegaItemsLoader;\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport SearchOverlayProps from \"./SearchOverlayProps\";\n\nconst SearchOverlay = loadable(\n (): Promise> =>\n import(/* webpackChunkName: \"SearchOverlay\" */ \"./SearchOverlay\"),\n);\nconst SearchOverlayLoader = (props: SearchOverlayProps): ReactElement => (\n \n);\nexport default SearchOverlayLoader;\n","export const convertToValidID = (text: string): string => {\n return text.toLowerCase().replace(/^[^a-z]+|[^\\w:.-]+/gi, \"\");\n};\n","const getTestId = (id: string): string | undefined =>\n process.env.NODE_ENV === \"test\" || process.env.NODE_ENV === \"development\"\n ? id\n : undefined;\nexport default getTestId;\n"],"names":["Wrapper","styled","div","attrs","withConfig","componentId","props","$open","MQ","FROM_M","FROM_XL","$allClosed","Container","GridContainer","columnGap","TopNav","ul","styleHeadingM","css","FROM_L","MainLinks","styleBodyM","$show","MainLink","NavLink","LoginButton","Button","SubNavWrapper","Description","Title","styleHeadingXL","styleHeadingL","Introduction","BodyM","SubNavContainer","linkStyle","Link","LinkButton","button","BackButton","TopNavItem","React","navId","item","open","subNavId","onClick","onKeyDown","navigateHandler","handleNavigate","useCallback","_","displayName","_jsx","children","items","length","_jsxs","title","event","className","Icon","icon","to","url","exact","activeClassName","SubNav","index","l18n","id","actionTheme","iconOnly","a11y","appendComponentWithNoBr","introduction","NavigationMegaItems","highlightedNavigation","isEqual","MainLinkItem","hoverSpan","isNavigation","NavigationMega","setActiveNav","activeNav","navigation","mainLinks","loginPageUrl","loginPageText","label","_navigation$items","_mainLinks$items","_navigation$items2","handleKeyDown","nav","key","preventDefault","handleClick","ThemeProvider","theme","as","map","convertToValidID","size","useScrollDirection","scrollDirection","setScrollDirection","useState","useEffect","lastScrollY","window","pageYOffset","updateScrollDirection","scrollY","direction","addEventListener","removeEventListener","backgroundColor","white","lightgray","blue","cyan","textColor","black","logoColor","activeWrapper","$menuOpen","$showMenu","$headerActive","Inner","SearchButton","MenuButton","LogoLink","SkipLinkWrapper","SkipLink","HashLink","Logo","startPageUrl","logoTitle","logoIcon","ariaLabel","gtmClickType","getTestId","Header","searchPageUrl","loginPageTitle","sites","visible","searchOverlayVisible","ref","useRef","dispatch","useDispatch","contentTheme","usePageContent","location","useLocation","scrollPosition","useScrollPosition","setScrollPosition","updateScrollPosition","headerPinned","setHeaderPinned","menuOpen","setMenuOpen","searchVisible","setSearchVisible","headerActive","setHeaderActive","mouseOver","setMouseOver","sendDataToGTM","useGTMDispatch","breakpoint","useBreakpoint","mobileMenuNavName","isSearchPage","pathname","openHandler","navText","click_text","closeHandler","undefined","toggleMenu","toggleNavHandler","setActiveNavHandler","leaveHandler","handleMenuBtnKeyDown","level","text","menu_level","handleClickOutside","toggleSearch","elem","document","getElementById","scrollIntoView","block","inline","logoSolidIcon","logoDefaultIcon","type","SHOW_HEADER","HIDE_HEADER","useEventListener","SHOW_SEARCH","HIDE_SEARCH","useOnClickOutside","useBrand","handleSearchClick","handleSearchKeyDown","role","onMouseEnter","onMouseLeave","onTouchEnd","$searchVisible","skipToContent","Navigation","searchLabel","LanguagePicker","inHeader","menu","expand","SearchOverlay","searchPlaceholder","loadable","resolved","chunkName","isReady","resolve","__webpack_modules__","importAsync","requireAsync","then","requireSync","__webpack_require__","LanguagePickerLoader","NavigationLoader","NavigationMegaItemsLoader","SearchOverlayLoader","toLowerCase","replace"],"sourceRoot":""}