{"version":3,"sources":["webpack://@verndale/toolkit/./src/js/helpers/index.js","webpack://@verndale/toolkit/./src/js/modules/header-new/PrimaryNavigationNew.js","webpack://@verndale/toolkit/./src/js/modules/header-new/ScrollAnimation.js","webpack://@verndale/toolkit/./src/js/modules/header-new/index.js"],"names":[],"mappings":"2RAIO,KAAM,GAAW,CAAC,EAAU,IAAS,CAC1C,GAAI,GACJ,MAAO,IAAI,IAAS,CAClB,aAAa,GACb,EAAU,WAAW,IAAM,CACzB,EAAS,GAAG,IACX,KAIM,EAAW,CAAC,EAAU,IAAS,CAC1C,GAAI,GACJ,MAAO,IAAI,IAAS,CAClB,GACE,GAAS,GAAG,GACZ,EAAa,GACb,WAAW,IAAM,CACf,EAAa,IACZ,MASI,EAAc,GAAM,CAC/B,GACE,EAAG,SAAW,GACb,EAAG,WAAa,GAAK,EAAG,aAAa,cAAgB,KAEtD,MAAO,GAGT,GAAI,EAAG,SACL,MAAO,GAIT,OAAQ,EAAG,cACJ,IACH,MAAO,CAAC,CAAC,EAAG,MAAQ,EAAG,MAAQ,aAC5B,QACH,MAAO,GAAG,OAAS,UAAY,EAAG,OAAS,WACxC,aACA,aACA,WACH,MAAO,WAEP,MAAO,KAQA,EAAU,CACrB,IAAK,EACL,OAAQ,GACR,IAAK,GACL,MAAO,GACP,OAAQ,GACR,SAAU,GACV,IAAK,GACL,KAAM,GACN,KAAM,GACN,GAAI,GACJ,MAAO,GACP,KAAM,IAMK,EAAc,CACzB,OAAQ,IACR,OAAQ,IACR,gBAAiB,KACjB,QAAS,KACT,KAAM,MAOK,EAA2B,CACtC,eAAgB,GAChB,WAAY,GACZ,OAAQ,GACR,cAAe,EACf,aAAc,EACd,MAAO,IACP,cAAe,GACf,oBAAqB,IAOV,EAAiB,GACxB,MAAO,IAAU,SACZ,EAAM,QAAQ,wBAAyB,CAAC,EAAG,IAChD,OAAO,aAAa,SAAS,EAAG,MAE7B,G,4EC5GT,eAAmC,KAAU,CAC3C,eAAgB,CACd,KAAK,IAAM,CACT,gBAAiB,KAAK,GAAG,cACvB,yCAEF,qBAAsB,KAAK,GAAG,iBAC5B,sCAEF,wBAAyB,KAAK,GAAG,iBAC/B,sDAEF,sBAAuB,KAAK,GAAG,cAC7B,gDAEF,wBAAyB,KAAK,GAAG,iBAC/B,iDAEF,0BAA2B,KAAK,GAAG,iBACjC,wDAEF,kCAAmC,KAAK,GAAG,iBACzC,6CAEF,wBAAyB,KAAK,GAAG,iBAC/B,0FAEF,6BAA8B,KAAK,GAAG,iBACpC,qDAEF,+BAAgC,KAAK,GAAG,iBACtC,gDAEF,oBAAqB,KAAK,GAAG,cAC3B,4CAEF,mBAAoB,KAAK,GAAG,cAC1B,sDAEF,YAAa,KAAK,GAAG,cAAc,wCACnC,gBAAiB,KAAK,MAAM,KAAK,GAAG,aAAa,gBAAgB,WACjE,qBAAsB,KAAK,MAAM,KAAK,GAAG,aAAa,gBAAgB,iBAGxE,KAAK,GAAG,MAAQ,uDAEhB,KAAK,eACL,KAAK,oBAAsB,GAI7B,cAAe,CACb,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,EAAE,iBAAiB,QAAS,KAAK,0BAA0B,KAAK,SAElE,KAAK,IAAI,0BAA0B,QAAQ,GAAK,CAC9C,EAAE,iBAAiB,QAAS,KAAK,4BAA4B,KAAK,SAGpE,KAAK,IAAI,kCAAkC,QAAQ,GAAK,CACtD,EAAE,iBAAiB,QAAS,KAAK,sBAAsB,KAAK,SAG9D,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,EAAE,iBAAiB,UAAW,KAAK,qBAAqB,KAAK,SAG/D,OAAO,iBAAiB,SAAU,SAAS,KAAK,aAAa,KAAK,QAGpE,YAAa,CACX,MAAO,MAAK,IAAI,gBAGlB,aAAc,CACZ,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,EAAE,UAAY,IAIlB,YAAa,CACX,KAAU,IAAI,gBAAgB,UAAU,SAAS,UAI/C,MAAK,oBAAsB,GAC3B,KAAK,IAAI,gBAAgB,UAAU,OAAO,UAC1C,KAAK,kBALL,MAAK,IAAI,gBAAgB,UAAU,IAAI,UACvC,KAAK,oBAAsB,IAS/B,WAAY,CACV,KAAK,IAAI,gBAAgB,UAAU,OAAO,UAC1C,KAAK,oBAAsB,GAC3B,KAAK,iBAGP,UAAW,CACT,KAAK,IAAI,gBAAgB,UAAU,IAAI,UACvC,KAAK,oBAAsB,GAG7B,mBAAmB,EAAI,CACrB,GAAI,GAAc,OAClB,EAAc,KAAK,kBAAoB,MAAQ,EAE/C,GAAI,GAAkB,MAAK,SACvB,gBAGJ,EAAkB,KAAK,SAAW,kBAAoB,EACtD,KAAK,IAAI,wBAAwB,QAAQ,GAAK,EAAE,UAAU,OAAO,WACjE,KAAM,GAAiB,CAAC,GAAG,KAAK,IAAI,yBAAyB,KAC3D,GAAK,EAAE,KAAO,EAAG,aAAa,kBAEhC,EAAe,UAAU,IAAI,UAEzB,KAAK,UACP,MAAK,GAAG,MAAQ,6CAGlB,QACE,KAAK,IAAI,sBACT,CACE,MAAO,EACP,UAAW,GAEb,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,cAC/B,SAAS,KAAK,IAAM,CACpB,KAAK,IAAI,uBAAuB,UAAU,IAAI,UAE1C,KAAK,UACP,MAAK,GAAG,MAAQ,mDAChB,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,EAAE,aAAa,WAAY,QAE7B,KAAK,IAAI,wBAAwB,QAAQ,GAAM,CAC7C,EAAG,MAAM,WAAa,YAG1B,KAAK,IAAI,wBAAwB,QAAQ,GACvC,EAAE,aAAa,gBAAiB,UAElC,EAAG,aAAa,gBAAiB,QAG5B,EAAG,WAAW,UAAU,SAAS,gDACpC,EAAe,cAAc,wDAAwD,QAGvF,KAAM,GAA2B,EAAe,cAAc,iDAC9D,GAAgC,EAAyB,SAAS,OAAS,IACzE,EAAyB,UAAU,IAAI,iBAK7C,qBAAqB,EAAI,CAEvB,KAAM,GAAuB,CAAC,GAAG,KAAK,IAAI,yBAAyB,KAAK,GACtE,EAAE,UAAU,SAAS,WAEvB,QACE,KAAK,IAAI,sBACT,CACE,UAAW,kBACX,WAAY,KAAK,UAAY,KAAK,SAAW,GAAK,SAEpD,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,cAC/B,SAAS,KAAK,IAAM,CACpB,KAAK,IAAI,uBAAuB,UAAU,OAAO,UACjD,EAAG,gBAAgB,gBACnB,KAAK,IAAI,wBAAwB,QAAQ,GACvC,EAAE,aAAa,gBAAiB,UAElC,KAAK,IAAI,0BAA0B,QAAQ,GACzC,EAAE,aAAa,gBAAiB,UAElC,KAAK,IAAI,+BAA+B,QAAQ,GAC9C,EAAE,UAAU,OAAO,WAErB,KAAK,IAAI,6BAA6B,QAAQ,GAAK,CACjD,EAAE,SAAS,QAAQ,GAAK,CACtB,EAAE,MAAQ,SAGd,EACE,QACE,EACA,CAAE,QAAS,GACX,CAAE,SAAU,IACZ,SAAS,KAAK,IAAM,CACpB,EAAqB,UAAU,OAAO,UACtC,EAAqB,MAAQ,OAE1B,EAAqB,UAAU,OAAO,YAIjD,2BAA2B,EAAI,CAC7B,KAAM,GAAa,CAAC,GAAG,KAAK,IAAI,gCAAgC,KAC9D,GAAK,EAAE,KAAO,EAAG,aAAa,kBAE1B,EAAsB,CAC1B,GAAG,KAAK,IAAI,gCACZ,KAAK,GAAK,EAAE,UAAU,SAAS,WAC3B,EAAwB,CAAC,GAAG,KAAK,IAAI,2BAA2B,KACpE,GAAK,EAAE,aAAa,mBAAqB,QAGrC,EAAwB,EAAW,QACvC,iDAGI,EAAwB,EAAsB,uBAE/C,EAAiB,EAAG,cAAc,QAAQ,YAEhD,KAAK,IAAI,kCAAkC,QAAQ,GAAK,CACvD,KAAQ,IAAI,qBACV,EAAE,YAAc,KAAK,IAAI,qBAEvB,EAAE,YAAc,0BAGlB,EAAsB,YAAc,GAAG,IAEzC,KAAM,GAAW,CACf,CACE,EACA,CAAE,QAAS,IAEb,CACE,EACA,CAAE,UAAW,mBACb,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,UAInC,GAAI,KAAK,SACP,QACE,CAEE,EACA,IAEF,SAAS,KAAK,IAAM,CACpB,EAAW,UAAU,IAAI,UACrB,KAAK,UAAU,EAAsB,UAAU,IAAI,UAEvD,QAAS,GAAU,SAAS,KAAK,IAAM,CAErC,EAAG,aAAa,gBAAiB,gBAGhC,CACL,KAAM,GAAsB,CAC1B,CACE,EACA,CACE,QAAS,GAGX,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,eAG7B,EAAqB,CACzB,CACE,EACA,CACE,QAAS,CAAC,EAAG,IAEf,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,eAGnC,QAAS,GACN,SAAS,KAAK,IAAM,CACnB,GAAqB,UAAU,OAAO,UACtC,GAAuB,aAAa,gBAAiB,WAEtD,KAAK,IAAM,CACV,EAAW,UAAU,IAAI,UACzB,QAAS,MAKjB,2BAA2B,EAAI,CAC7B,KAAM,GAAa,CAAC,GAAG,KAAK,IAAI,gCAAgC,KAC9D,GAAK,EAAE,KAAO,EAAG,aAAa,kBAE1B,EAAwB,EAAW,QACvC,iDAGF,KAAS,SACP,GAAsB,UAAU,OAAO,UACvC,GAAY,UAAU,OAAO,UAC7B,EAAG,aAAa,gBAAiB,UAYjC,QAV2B,CACzB,CACE,EACA,CACE,QAAS,CAAC,EAAG,IAEf,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,gBAKhC,SAAS,KAAK,IAAM,CACnB,EAAsB,UAAU,OAAO,UACvC,GAAY,UAAU,OAAO,YAKrC,gBAAiB,CACf,KAAK,GAAG,MAAQ,uDAChB,KAAK,IAAI,uBAAuB,UAAU,OAAO,UACjD,KAAK,IAAI,sBAAsB,MAAQ,KAEvC,KAAK,IAAI,wBAAwB,QAAQ,GACvC,EAAE,aAAa,gBAAiB,UAElC,KAAK,IAAI,0BAA0B,QAAQ,GACzC,EAAE,aAAa,gBAAiB,UAElC,KAAK,IAAI,+BAA+B,QAAQ,GAC9C,EAAE,UAAU,OAAO,WAErB,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,KAAM,GAAyB,EAAE,cAC/B,wDAEF,GACE,GAAuB,MAAM,QAAU,EACvC,EAAuB,UAAU,OAAO,UACxC,EAAE,iBAAiB,WAAW,QAAQ,GAAK,CACzC,EAAE,UAAU,OAAO,UACnB,EAAE,MAAM,QAAU,IAClB,KAAM,GAA2B,EAAE,cACjC,iDACA,mBACF,EAAyB,MAAM,QAAU,OACzC,EAAyB,MAAM,QAAU,KAG7C,EAAE,UAAU,OAAO,YAErB,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,GAAG,aAAa,WAAY,OAE9B,KAAK,IAAI,wBAAwB,QAAQ,GAAM,CAC7C,EAAG,MAAM,WAAa,YAExB,CAAC,GAAG,KAAK,IAAI,8BAA8B,QAAQ,GAAK,CACtD,EAAE,SAAS,QAAQ,GAAK,CACtB,EAAE,MAAQ,SAKhB,0BAA0B,EAAG,CAE3B,KAAM,GAAO,SAAS,cAAc,sCACpC,GACA,EAAK,UAAU,IAAI,YAEnB,EAAM,cAAc,aAAa,mBAAqB,OACpD,KAAK,qBAAqB,EAAE,eAE5B,KAAK,mBAAmB,EAAE,eAG5B,KAAK,IAAI,kCAAkC,QAAQ,GAAK,CACtD,KAAQ,IAAI,gBACV,EAAE,YAAc,KAAK,IAAI,gBAEzB,EAAE,YAAc,sBAItB,4BAA4B,EAAG,CAC7B,EAAM,cAAc,aAAa,mBAAqB,OACpD,KAAK,2BAA2B,EAAE,eAElC,KAAK,2BAA2B,EAAE,eAItC,qBAAqB,EAAG,CACtB,EAAM,UAAY,UACZ,EAAE,OAAO,wBAAwB,IAAM,IACzC,GAAE,cAAc,UAAY,GAKlC,sBAAsB,EAAG,CACvB,KAAM,CAAE,cAAe,EAAE,OACnB,EAAyB,EAAE,cAAc,WAAW,cACxD,wDAEI,EAAa,EAAW,cAC5B,uDAGF,GAAI,IAA2B,KAE7B,KAAK,GAAG,MAAQ,4CAChB,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,EAAE,aAAa,WAAY,OAE7B,KAAK,IAAI,wBAAwB,QAAQ,GAAM,CAC7C,EAAG,MAAM,WAAa,YAExB,QACE,KAAK,IAAI,sBACT,CAAE,UAAW,mBACb,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,cAC/B,SAAS,KAAK,IAAM,CACpB,KAAK,GAAG,MACN,uDACF,EAAW,UAAY,EACvB,EAAW,UAAU,OAAO,UAC5B,KAAK,IAAI,uBAAuB,UAAU,OAAO,UACjD,KAAK,IAAI,wBAAwB,QAAQ,GAAK,CAC5C,EAAE,gBAAgB,gBAClB,EAAE,aAAa,gBAAiB,WAElC,KAAK,IAAI,wBAAwB,GAAG,cAEjC,CAEL,KAAM,GAAc,gBACd,EAAa,EAAE,cAAc,WACnC,EAAW,cAAc,QAAQ,YAAc,EAE/C,KAAK,IAAI,kCAAkC,QAAQ,GAAK,CACpD,EAAE,YAAc,uBAGpB,KAAM,GAAwB,EAAE,OAAO,mBAEvC,QACE,EACA,CAAE,UAAW,sBACb,CAAE,SAAU,EAAG,MAAO,EAAG,KAAM,SAC/B,SAAS,KAAK,IAAM,CACpB,EAAsB,UAAU,OAAO,UACvC,EAAuB,UAAU,OAAO,UACxC,QACE,CACE,EACA,GAGF,CAAE,QAAS,GACX,CAAE,SAAU,IAAM,MAAO,EAAG,KAAM,cAClC,SAAS,KAAK,IAAM,CACpB,GAAY,UAAU,OAAO,UAC7B,KAAK,IAAI,0BAA0B,QAAQ,GACzC,EAAE,aAAa,gBAAiB,eAO1C,cAAe,CACb,KAAM,GAAY,KAAK,SACvB,KAAK,SAAW,OAAO,WAAW,uBAAuB,QACzD,KAAK,SAAW,KAAK,SACrB,KAAK,kBAAoB,OAAO,WAAW,uBAAuB,QAE9D,IAAc,KAAK,UACrB,MAAK,GAAG,MAAQ,yDAKtB,UAAe,G,8HCpef,eAA8B,KAAU,CACtC,eAAgB,CACd,KAAK,SAAW,OAAO,WAAW,sBAAsB,QAExD,KAAK,IAAM,CACT,KAAM,KAAK,SACP,KAAK,GAAG,cAAc,qBACtB,KAAK,GAAG,cAAc,6BAE5B,KAAK,KAAO,SAAS,cAAc,SACnC,KAAK,YAAc,GACnB,KAAK,cAAgB,EACrB,KAAK,WAAa,GAClB,KAAK,eACL,KAAK,UAAU,KAGjB,cAAe,CACb,OAAO,iBACL,SACA,SAAS,KAAK,aAAa,KAAK,MAAO,MAEzC,OAAO,iBACL,SACA,SAAS,KAAK,aAAa,KAAK,MAAO,MAI3C,UAAU,EAAO,CACf,KAAK,KAAK,MAAM,YAAY,kBAAmB,GAAG,OAClD,KAAK,KAAK,MAAM,YAAY,yBAA0B,QAGxD,cAAe,CACb,KAAK,IAAI,KAAO,KAAK,SACjB,KAAK,GAAG,cAAc,4BACtB,KAAK,GAAG,cAAc,qBAE1B,KAAK,yBAA2B,CAC9B,CACE,KAAK,IAAI,KACT,CAAE,MAAO,KAAK,SAAW,CAAC,EAAG,MAAQ,CAAC,EAAG,OACzC,CAAE,GAAI,GACN,CAAE,SAAU,OAKhB,KAAK,uBAAyB,CAC5B,CACE,KAAK,IAAI,KACT,CAAE,MAAO,KAAK,SAAW,CAAC,KAAM,GAAK,CAAC,KAAM,IAC5C,CAAE,GAAI,GACN,CAAE,SAAU,OAMlB,cAAe,CACb,KAAS,UAAY,CAAC,OAAO,WAAW,sBAAsB,QAC5D,KAAK,SAAW,GAEhB,CAAC,KAAK,UACN,OAAO,WAAW,sBAAsB,SAExC,MAAK,SAAW,IAElB,KAAK,eAGP,cAAe,CACb,KAAM,GAAgB,OAAO,QAC7B,KAAS,IAAI,KAAK,cAAgB,IAAkB,KAAK,aAGrD,MAAK,cAAgB,EAAgB,GAAK,CAAC,KAAK,WAClD,MAAK,UAAU,KAEf,QAAS,KAAK,wBAAwB,SAAS,KAAK,IAClD,KAAK,UAAU,MAEjB,KAAK,WAAa,IACT,KAAK,cAAgB,EAAgB,GAAK,KAAK,YACxD,MAAK,UAAU,IAEf,QAAS,KAAK,0BAA0B,SAAS,KAAK,IACpD,KAAK,UAAU,KAEjB,KAAK,WAAa,IAEpB,KAAK,cAAgB,IAIzB,MAAe,E,UC3Ff,eAAwB,KAAU,CAChC,eAAgB,CACd,KAAM,GAAO,KAEb,KAAK,IAAM,CACT,uBAAwB,KAAK,GAAG,iBAC9B,gCAEF,YAAa,KAAK,GAAG,cAAc,sBACnC,kBAAmB,KAAK,GAAG,cAAc,uBACzC,iCAAkC,KAAK,GAAG,cACxC,yCAEF,kBAAmB,KAAK,GAAG,cACzB,6CAEF,YAAa,KAAK,GAAG,cACnB,8CAEF,0BAA2B,KAAK,GAAG,cACjC,iDAEF,wBAAyB,KAAK,GAAG,cAC/B,+CAEF,kCAAmC,KAAK,GAAG,cACzC,4CAEF,oCAAqC,KAAK,GAAG,cAC3C,8CAEF,8BAA+B,KAAK,GAAG,cACrC,uCAIJ,KAAK,aAAe,OAAO,WAC3B,KAAK,cAAgB,QACnB,KAAK,IAAI,iCACT,CACE,kBAAmB,IAAM,GACzB,YAAa,CACX,SAAkB,EAAK,GAAI,CACzB,eAAgB,GAAM,CACpB,GAAI,EAAG,QAAQ,sBACb,MAAO,MAIb,EAAK,IAAI,kBAAkB,MAAM,aAAe,GAC9C,OAAO,YAAc,QAEvB,EAAK,IAAI,kBAAkB,MAAM,aAAe,GAC9C,OAAO,YAAc,SAGzB,cAAe,CACb,cAKN,GAAI,GAAgB,KAAK,IACzB,KAAK,kBAAoB,GAAI,WAAqB,KAAK,IAGzD,cAAe,CACb,OAAO,iBACL,SACA,SAAS,KAAK,aAAa,KAAK,MAAO,MAEzC,KAAK,IAAI,uBAAuB,QAAQ,GAAK,CAC3C,EAAE,iBAAiB,QAAS,KAAK,uBAAuB,KAAK,SAE/D,KAAK,IAAI,YAAY,iBAAiB,QAAS,KAAK,UAAU,KAAK,OACnE,OAAO,iBAAiB,UAAW,KAAK,cAAc,KAAK,OAC3D,KAAK,IAAI,0BAA0B,iBACjC,QACA,KAAK,+BAA+B,KAAK,OAE3C,KAAK,IAAI,kCAAkC,iBACzC,QACA,KAAK,4BAA4B,KAAK,OAExC,KAAK,IAAI,wBAAwB,iBAC/B,QACA,KAAK,6BAA6B,KAAK,OAEzC,KAAK,IAAI,oCAAoC,iBAC3C,QACA,KAAK,4BAA4B,KAAK,OAIxC,OAAO,iBAAiB,UAAW,KAAK,cAAc,KAAK,OAG7D,SAAS,EAAU,EAAM,CACvB,YAAK,4BACL,KAAK,kBAAkB,WAEnB,KAAK,kBAAkB,qBACrB,KAAS,WACP,KAAK,eACP,KAAK,cAAc,WAGnB,IAAS,YACP,KAAK,eACP,KAAK,cAAc,WAGnB,IAAS,UACP,KAAK,eACP,MAAK,cAAc,WACnB,KAAK,kBAAkB,IAAI,YAAY,cAAc,gCAAgC,MAAQ,GAE7F,KAAK,kBAAkB,IAAI,YAAY,cAAc,gCAAgC,UAO3F,KAAK,kBAAkB,aAAa,MAAM,QAAU,EAC7C,QAAS,KAAK,uBAGvB,WAAY,CACV,MAAI,MAAK,eACP,KAAK,cAAc,aAGjB,KAAK,IAAI,0BAA0B,UAAU,SAAS,WACxD,KAAK,IAAI,0BAA0B,UAAU,OAAO,UAG/C,QAAS,KAAK,wBAAwB,SAAS,KAAK,IAAM,CAE/D,KAAK,kBAAkB,cAI3B,2BAA4B,CAC1B,KAAS,eACP,KAAK,cAAc,aAMvB,qBAAsB,CACpB,KAAM,GAAe,iBACnB,KAAK,kBAAkB,cACvB,iBAAiB,6BAEnB,YAAK,kBAAkB,aAAa,MAAM,UAAY,EAEtD,KAAK,iBAAmB,GACjB,KAAK,iBAGd,sBAAuB,CACrB,MAAO,GAGT,uBAAuB,EAAG,CACxB,KAAS,kBAAkB,qBACrB,KAAK,IAAI,0BAA0B,UAAU,SAAS,WACxD,KAAK,IAAI,0BAA0B,UAAU,OAAO,UAGxD,KAAK,mCAEL,KAAM,GAA8B,CAClC,GAAG,KAAK,kBAAkB,IAAI,yBAC9B,KACA,GACE,EAAE,aAAa,mBACf,EAAE,OAAO,aAAa,kBAE1B,GACE,KAAK,kBAAkB,mBAAmB,GAC5C,KAAK,SAAS,GAAO,WAGvB,cAAc,EAAG,CACf,EACI,UAAY,UACd,KAAK,kBAAkB,qBAEvB,GAAE,iBACF,KAAK,aAKT,cAAe,CACb,KAAS,eAAiB,OAAO,YAC3B,MAAK,kBAAkB,qBACrB,MAAK,kBAAkB,oBACzB,KAAK,cAEL,KAAK,aAIT,KAAK,aAAe,OAAO,YAI/B,oCAAqC,CAEnC,KAAK,IAAI,8BAA8B,UAAU,OAAO,YAGxD,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EAAM,UAAU,SAAS,+CACvB,EAAE,UAAU,OAAO,YAEnB,EAAE,UAAU,IAAI,cAKpB,KAAK,kBAAkB,IAAI,oBAAoB,UAAU,IAAI,YAG7D,KAAK,kBAAkB,IAAI,mBAAmB,UAAU,IAAI,YAG5D,KAAK,kBAAkB,IAAI,YAAY,UAAU,IAAI,YAGvD,kCAAmC,CAEjC,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EAAE,UAAU,OAAO,cAIrB,KAAK,kBAAkB,IAAI,oBAAoB,UAAU,OAAO,YAGhE,KAAK,kBAAkB,IAAI,mBAAmB,UAAU,OAAO,YAG/D,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EACI,UAAU,SAAS,oDAErB,EAAE,UAAU,IAAI,cAKpB,KAAK,IAAI,8BAA8B,UAAU,IAAI,YAGrD,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EAAM,UAAU,SAAS,gDACvB,EAAE,UAAU,IAAI,cAKpB,KAAK,kBAAkB,IAAI,YAAY,UAAU,IAAI,YAGvD,6BAA8B,CAE5B,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EAAE,UAAU,OAAO,cAGrB,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EAAM,UAAU,SAAS,gDACvB,EAAE,UAAU,IAAI,cAIpB,KAAK,kBAAkB,IAAI,YAAY,UAAU,IAAI,YAGvD,0BAA2B,CAEzB,KAAK,kBAAkB,IAAI,YAAY,UAAU,OAAO,YAGxD,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EAAM,UAAU,SAAS,+CACvB,EAAE,UAAU,OAAO,YAEnB,EAAE,UAAU,IAAI,cAKpB,KAAK,kBAAkB,IAAI,oBAAoB,UAAU,IAAI,YAG7D,KAAK,kBAAkB,IAAI,mBAAmB,UAAU,IAAI,YAG5D,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EACI,UAAU,SAAS,oDAErB,EAAE,UAAU,IAAI,cAKpB,KAAK,IAAI,8BAA8B,UAAU,IAAI,YAGrD,KAAK,kBAAkB,IAAI,qBAAqB,QAAQ,GAAK,CAC3D,EAAM,UAAU,SAAS,gDACvB,EAAE,UAAU,IAAI,cAKtB,4BAA8B,CAC5B,KAAS,IAAI,0BAA0B,UAAU,SAAS,UACtD,KAAK,YAEP,KAAK,IAAI,0BAA0B,UAAU,IAAI,UAIrD,gCAAiC,CAE/B,KAAK,6BACL,KAAK,qCACL,KAAK,SAAS,GAAO,YAGvB,6BAA6B,EAAG,CAC9B,KAAK,2BAEL,KAAS,kBAAkB,oBACrB,EAAE,cAAc,UAAU,SAAS,WACrC,EAAE,cAAc,UAAU,OAAO,UAGnC,EAAE,cAAc,UAAU,IAAI,UAGhC,KAAK,SAAS,GAAO,UAGvB,oBAAsB,CAEpB,KAAU,kBAAkB,oBAM1B,MAAK,IAAI,oCAAoC,cAAc,kBAAkB,MAAM,QAAU,OAC7F,KAAK,IAAI,oCAAoC,cAAc,UAAU,MAAM,QAAU,OACrF,KAAK,IAAI,oCAAoC,UAAU,OAAO,UAC9D,KAAK,aARL,MAAK,IAAI,oCAAoC,cAAc,kBAAkB,MAAM,QAAU,OAC7F,KAAK,IAAI,oCAAoC,cAAc,UAAU,MAAM,QAAU,OACrF,KAAK,IAAI,oCAAoC,UAAU,IAAI,UAC3D,KAAK,SAAS,GAAM,WASxB,6BAA8B,CAC5B,KAAK,2BAGD,KAAK,IAAI,kCAAkC,UAAU,SAAS,WAChE,MAAK,mBACL,KAAK,sBAGP,KAAK,qBAGP,kBAAoB,CAClB,KAAU,kBAAkB,oBAM1B,MAAK,IAAI,kCAAkC,cAAc,SAAS,MAAM,QAAU,OAClF,KAAK,IAAI,kCAAkC,cAAc,UAAU,MAAM,QAAU,OACnF,KAAK,IAAI,kCAAkC,UAAU,OAAO,UAC5D,KAAK,aARL,MAAK,IAAI,kCAAkC,cAAc,SAAS,MAAM,QAAU,OAClF,KAAK,IAAI,kCAAkC,cAAc,UAAU,MAAM,QAAU,OACnF,KAAK,IAAI,kCAAkC,UAAU,IAAI,UACzD,KAAK,SAAS,GAAM,SASxB,6BAA8B,CAC5B,KAAK,8BAED,KAAK,IAAI,oCAAoC,UAAU,SAAS,WAClE,MAAK,qBACL,KAAK,oBAGP,KAAK,oBAIT,MAAe","file":"scripts/2921.30f564e42cdf920f0026.js","sourcesContent":["// /**\n// * debounce function\n// * Delays the processing of the event\n// */\nexport const debounce = (callback, wait) => {\n let timerId;\n return (...args) => {\n clearTimeout(timerId);\n timerId = setTimeout(() => {\n callback(...args);\n }, wait);\n };\n};\n\nexport const throttle = (callback, wait) => {\n let inThrottle;\n return (...args) => {\n if (!inThrottle) {\n callback(...args);\n inThrottle = true;\n setTimeout(() => {\n inThrottle = false;\n }, wait);\n }\n };\n};\n// /**\n// * Checks if an element is focusable\n// *\n// * @param {Object} el - HTML element you want to check if it's focusable\n// */\nexport const isFocusable = el => {\n if (\n el.tabIndex > 0 ||\n (el.tabIndex === 0 && el.getAttribute('tabIndex') !== null)\n ) {\n return true;\n }\n\n if (el.disabled) {\n return false;\n }\n\n /* eslint-disable indent */\n switch (el.nodeName) {\n case 'A':\n return !!el.href && el.rel !== 'ignore';\n case 'INPUT':\n return el.type !== 'hidden' && el.type !== 'file';\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n default:\n return false;\n }\n /* eslint-enable indent */\n};\n\n// /**\n// * Key code list object\n// */\nexport const keyCode = {\n TAB: 9,\n RETURN: 13,\n ESC: 27,\n SPACE: 32,\n PAGEUP: 33,\n PAGEDOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40\n};\n\n// /**\n// * Breakpoints list object\n// */\nexport const breakpoints = {\n mobile: 360,\n tablet: 768,\n tabletLandscape: 1024,\n desktop: 1280,\n wide: 1600\n};\n\n// /**\n// * Bicentennial Swiper Object\n// */\n\nexport const bicentennialSwiperConfig = {\n allowTouchMove: false,\n autoHeight: false,\n rewind: true,\n slidesPerView: 1,\n spaceBetween: 0,\n speed: 1000,\n watchOverflow: true,\n watchSlidesProgress: true\n}\n\n// /**\n// * Convert Unicode characters inside a string to their actual characters\n// */\n\nexport const convertUnicode = (input) => {\n if (typeof input === 'string') {\n return input.replace(/\\\\+u([0-9a-fA-F]{4})/g, (a, b) =>\n String.fromCharCode(parseInt(b, 16)))\n }\n return input;\n};\n","import { Component } from '@verndale/core';\nimport { animate, timeline } from 'motion';\nimport { debounce, keyCode } from '../../helpers';\n\nclass PrimaryNavigationNew extends Component {\n setupDefaults() {\n this.dom = {\n megamenuWrapper: this.el.querySelector(\n '.primary-navigation__megamenu-wrapper'\n ),\n megamenuPrimaryItems: this.el.querySelectorAll(\n '.primary-navigation__megamenu-item'\n ),\n megamenuPrimaryTriggers: this.el.querySelectorAll(\n '.primary-navigation__megamenu-item-primary-trigger'\n ),\n megamenuPanelsWrapper: this.el.querySelector(\n '.primary-navigation__megamenu-panels-wrapper'\n ),\n megamenuSecondaryPanels: this.el.querySelectorAll(\n '.primary-navigation__megamenu-secondary-panel'\n ),\n megamenuSecondaryTriggers: this.el.querySelectorAll(\n '.primary-navigation__megamenu-item-secondary-trigger'\n ),\n megamenuSecondaryPanelBackButtons: this.el.querySelectorAll(\n '.primary-navigation__megamenu-back-button'\n ),\n megamenuFirstPanelLinks: this.el.querySelectorAll(\n '.primary-navigation__megamenu-utility-links, .primary-navigation__megamenu-quick-links'\n ),\n megamenuDefaultMainResources: this.el.querySelectorAll(\n '.primary-navigation__megamenu-main-item-resources'\n ),\n megamenuSecondaryItemResources: this.el.querySelectorAll(\n '.primary-navigation__megamenu-item-resources'\n ),\n utilityLinksWrapper: this.el.querySelector(\n '.primary-utility__megamenu-links-wrapper'\n ),\n socialLinksWrapper: this.el.querySelector(\n '.primary-navigation__megamenu-social-links-wrapper'\n ),\n searchPanel: this.el.querySelector('.primary-navigation__megamenu-search'),\n backToMenuLabel: JSON.parse(this.el.getAttribute('data-labels')).backToMenu,\n backToResourcesLabel: JSON.parse(this.el.getAttribute('data-labels')).backToResources\n };\n\n this.el.style = '--megamenu-background-color: var(--rose-bud-cherry);';\n\n this.handleResize();\n this.hasMegamenuExpanded = false;\n\n }\n\n addListeners() {\n this.dom.megamenuPrimaryTriggers.forEach(t => {\n t.addEventListener('click', this.handlePrimaryTriggerClick.bind(this));\n });\n this.dom.megamenuSecondaryTriggers.forEach(t => {\n t.addEventListener('click', this.handleSecondaryTriggerClick.bind(this));\n });\n \n this.dom.megamenuSecondaryPanelBackButtons.forEach(b => {\n b.addEventListener('click', this.handleBackButtonClick.bind(this));\n });\n\n this.dom.megamenuSecondaryPanels.forEach(p => {\n p.addEventListener('keydown', this.handleTopButtonFocus.bind(this));\n });\n\n window.addEventListener('resize', debounce(this.handleResize.bind(this)));\n }\n\n getWrapper() {\n return this.dom.megamenuWrapper;\n }\n\n scrollToTop() {\n this.dom.megamenuSecondaryPanels.forEach(p => {\n p.scrollTop = 0;\n });\n }\n\n toggleMenu() {\n if (!this.dom.megamenuWrapper.classList.contains('active')) {\n this.dom.megamenuWrapper.classList.add('active');\n this.hasMegamenuExpanded = true;\n } else {\n this.hasMegamenuExpanded = false;\n this.dom.megamenuWrapper.classList.remove('active');\n this.closeAllPanels();\n }\n \n }\n\n closeMenu() {\n this.dom.megamenuWrapper.classList.remove('active');\n this.hasMegamenuExpanded = false;\n this.closeAllPanels();\n }\n\n openMenu() {\n this.dom.megamenuWrapper.classList.add('active');\n this.hasMegamenuExpanded = true;\n }\n\n expandPanelWrapper(el) { \n let targetWidth = '100%';\n targetWidth = this.isTabletLandscape ? '50%' : targetWidth;\n\n let targetTransform = this.isMobile\n ? 'translate(0)'\n : 'translate(0)';\n\n targetTransform = this.isTablet ? 'translate(0, 0)' : targetTransform;\n this.dom.megamenuSecondaryPanels.forEach(p => p.classList.remove('active'));\n const secondaryPanel = [...this.dom.megamenuSecondaryPanels].find(\n p => p.id === el.getAttribute('aria-controls')\n );\n secondaryPanel.classList.add('active');\n\n if (this.isMobile) {\n this.el.style = '--megamenu-background-color: transparent;';\n }\n\n animate(\n this.dom.megamenuPanelsWrapper,\n {\n width: targetWidth,\n transform: targetTransform\n },\n { duration: 0, delay: 0, ease: 'easeInOut' }\n ).finished.then(() => {\n this.dom.megamenuPanelsWrapper?.classList.add('active');\n\n if (this.isMobile) {\n this.el.style = '--megamenu-background-color: var(--mexican-red);';\n this.dom.megamenuPrimaryTriggers.forEach(t => {\n t.setAttribute('tabindex', '-1');\n });\n this.dom.megamenuFirstPanelLinks.forEach(ul => {\n ul.style.visibility = 'hidden';\n });\n }\n this.dom.megamenuPrimaryTriggers.forEach(t =>\n t.setAttribute('aria-expanded', 'false')\n );\n el.setAttribute('aria-expanded', 'true');\n \n // focus to the secondary panel if it is a primary trigger \n if (!el.parentNode.classList.contains('primary-navigation__megamenu-item--resource')) {\n secondaryPanel.querySelector('.primary-navigation__megamenu-item-secondary-trigger').focus();\n }\n\n const secondaryPanelActiveList = secondaryPanel.querySelector('.primary-navigation__megamenu-secondary-items');\n if (secondaryPanelActiveList && secondaryPanelActiveList.children.length > 15) {\n secondaryPanelActiveList.classList.add('two-columns');\n }\n });\n }\n\n collapsePanelWrapper(el) {\n\n const activeSecondaryPanel = [...this.dom.megamenuSecondaryPanels].find(p =>\n p.classList.contains('active')\n );\n animate(\n this.dom.megamenuPanelsWrapper,\n {\n transform: 'translate(0, 0)',\n inlineSize: this.isMobile || this.isTablet ? '' : '33.3%'\n },\n { duration: 0, delay: 0, ease: 'easeInOut' }\n ).finished.then(() => {\n this.dom.megamenuPanelsWrapper?.classList.remove('active');\n el.removeAttribute('aria-current');\n this.dom.megamenuPrimaryTriggers.forEach(t =>\n t.setAttribute('aria-expanded', 'false')\n );\n this.dom.megamenuSecondaryTriggers.forEach(t =>\n t.setAttribute('aria-expanded', 'false')\n );\n this.dom.megamenuSecondaryItemResources.forEach(r =>\n r.classList.remove('active')\n );\n this.dom.megamenuDefaultMainResources.forEach(r => {\n r.children.forEach(c => {\n c.style = null;\n });\n });\n if (activeSecondaryPanel) {\n animate(\n activeSecondaryPanel,\n { opacity: 0 },\n { duration: 0 }\n ).finished.then(() => {\n activeSecondaryPanel.classList.remove('active');\n activeSecondaryPanel.style = null;\n });\n } else activeSecondaryPanel.classList.remove('active');\n });\n }\n\n showSecondaryResourceItems(el) { \n const itemsPanel = [...this.dom.megamenuSecondaryItemResources].find(\n p => p.id === el.getAttribute('aria-controls')\n );\n const possibleActivePanel = [\n ...this.dom.megamenuSecondaryItemResources\n ].find(p => p.classList.contains('active'));\n const possibleActiveTrigger = [...this.dom.megamenuSecondaryTriggers].find(\n t => t.getAttribute('aria-expanded') === 'true'\n );\n\n const itemPanelClosestItems = itemsPanel.closest(\n '.primary-navigation__megamenu-secondary-items'\n );\n\n const itemPanelClosestTitle = itemPanelClosestItems.previousElementSibling;\n\n const clickedContent = el.querySelector('span').textContent;\n \n this.dom.megamenuSecondaryPanelBackButtons.forEach(b => {\n if(this.dom.backToResourcesLabel)\n b.textContent = this.dom.backToResourcesLabel;\n else\n b.textContent = 'Back to resources for';\n }); \n\n itemPanelClosestTitle.textContent = `${clickedContent}`;\n\n const sequence = [\n [\n itemPanelClosestItems,\n { opacity: 1 },\n ],\n [\n itemsPanel,\n { transform: 'translate(0, 0)' },\n { duration: 0, delay: 0, ease: 'none' }\n ]\n ];\n\n if (this.isMobile) {\n animate(\n [\n // mainItemDefaultResources,\n itemPanelClosestItems,\n itemPanelClosestTitle\n ],\n ).finished.then(() => {\n itemsPanel.classList.add('active');\n if (this.isMobile) itemPanelClosestItems.classList.add('active');\n // itemPanelClosestTitle.classList.add('hidden');\n timeline(sequence).finished.then(() => {\n // mainItemDefaultResources.style.display = 'none';\n el.setAttribute('aria-expanded', 'true');\n });\n });\n } else {\n const sequenceActivePanel = [\n [\n possibleActivePanel,\n {\n opacity: 0,\n\n },\n { duration: 0, delay: 0, ease: 'easeInOut' }\n ]\n ];\n const sequenceItemsPanel = [\n [\n itemsPanel,\n {\n opacity: [0, 1],\n },\n { duration: 0, delay: 0, ease: 'easeInOut' }\n ]\n ];\n timeline(sequenceActivePanel)\n .finished.then(() => {\n possibleActivePanel?.classList.remove('active');\n possibleActiveTrigger?.setAttribute('aria-expanded', 'false');\n })\n .then(() => {\n itemsPanel.classList.add('active');\n timeline(sequenceItemsPanel);\n });\n }\n }\n\n hideSecondaryResourceItems(el) {\n const itemsPanel = [...this.dom.megamenuSecondaryItemResources].find(\n p => p.id === el.getAttribute('aria-controls')\n );\n const itemPanelClosestItems = itemsPanel.closest(\n '.primary-navigation__megamenu-secondary-items'\n );\n\n if (this.isMobile) {\n itemPanelClosestItems.classList.remove('active');\n itemsPanel?.classList.remove('active');\n el.setAttribute('aria-expanded', 'false');\n } else {\n const sequenceItemsPanel = [\n [\n itemsPanel,\n {\n opacity: [1, 0],\n },\n { duration: 0, delay: 0, ease: 'easeInOut' }\n ]\n ];\n\n timeline(sequenceItemsPanel)\n .finished.then(() => {\n itemPanelClosestItems.classList.remove('active');\n itemsPanel?.classList.remove('active');\n });\n }\n }\n\n closeAllPanels() {\n this.el.style = '--megamenu-background-color: var(--rose-bud-cherry);';\n this.dom.megamenuPanelsWrapper?.classList.remove('active');\n this.dom.megamenuPanelsWrapper.style = null;\n\n this.dom.megamenuPrimaryTriggers.forEach(t =>\n t.setAttribute('aria-expanded', 'false')\n );\n this.dom.megamenuSecondaryTriggers.forEach(t =>\n t.setAttribute('aria-expanded', 'false')\n );\n this.dom.megamenuSecondaryItemResources.forEach(p =>\n p.classList.remove('active')\n );\n this.dom.megamenuSecondaryPanels.forEach(p => {\n const secondaryItemResources = p.querySelector(\n '.primary-navigation__megamenu-secondary-items.active'\n );\n if (secondaryItemResources) {\n secondaryItemResources.style.opacity = 1;\n secondaryItemResources.classList.remove('active');\n p.querySelectorAll('.hidden').forEach(h => {\n h.classList.remove('hidden');\n h.style.opacity = '1';\n const mainItemDefaultResources = p.querySelector(\n '.primary-navigation__megamenu-secondary-items'\n ).nextElementSibling;\n mainItemDefaultResources.style.display = 'flex';\n mainItemDefaultResources.style.opacity = 1;\n });\n }\n p.classList.remove('active');\n });\n this.dom.megamenuPrimaryTriggers.forEach(t => {\n t?.setAttribute('tabindex', '0');\n });\n this.dom.megamenuFirstPanelLinks.forEach(ul => {\n ul.style.visibility = 'visible';\n });\n [...this.dom.megamenuDefaultMainResources].forEach(m => {\n m.children.forEach(c => {\n c.style = null;\n });\n });\n }\n\n handlePrimaryTriggerClick(e) {\n // Disable news panel\n const news = document.querySelector('.primary-navigation__megamenu-news');\n if (news)\n news.classList.add('disabled');\n\n if (e.currentTarget.getAttribute('aria-expanded') === 'true') {\n this.collapsePanelWrapper(e.currentTarget);\n } else {\n this.expandPanelWrapper(e.currentTarget);\n }\n\n this.dom.megamenuSecondaryPanelBackButtons.forEach(b => {\n if(this.dom.backToMenuLabel)\n b.textContent = this.dom.backToMenuLabel;\n else\n b.textContent = 'Back to main menu';\n });\n }\n\n handleSecondaryTriggerClick(e) { \n if (e.currentTarget.getAttribute('aria-expanded') === 'true') {\n this.hideSecondaryResourceItems(e.currentTarget);\n } else {\n this.showSecondaryResourceItems(e.currentTarget);\n }\n }\n\n handleTopButtonFocus(e) {\n if (e.keyCode === keyCode.TAB) {\n if (e.target.getBoundingClientRect().top < 10) {\n e.currentTarget.scrollTop = 0;\n }\n }\n }\n\n handleBackButtonClick(e) {\n const { parentNode } = e.target;\n const secondaryItemResources = e.currentTarget.parentNode.querySelector(\n '.primary-navigation__megamenu-secondary-items.active'\n );\n const itemsPanel = parentNode.querySelector(\n '.primary-navigation__megamenu-item-resources.active'\n );\n\n if (secondaryItemResources === null) {\n\n this.el.style = '--megamenu-background-color: transparent;';\n this.dom.megamenuPrimaryTriggers.forEach(t => {\n t.setAttribute('tabindex', '0');\n });\n this.dom.megamenuFirstPanelLinks.forEach(ul => {\n ul.style.visibility = 'visible';\n });\n animate(\n this.dom.megamenuPanelsWrapper,\n { transform: 'translate(0, 0)' },\n { duration: 0, delay: 0, ease: 'easeInOut' }\n ).finished.then(() => {\n this.el.style =\n '--megamenu-background-color: var(--rose-bud-cherry);';\n parentNode.scrollTop = 0;\n parentNode.classList.remove('active');\n this.dom.megamenuPanelsWrapper?.classList.remove('active');\n this.dom.megamenuPrimaryTriggers.forEach(t => {\n t.removeAttribute('aria-current');\n t.setAttribute('aria-expanded', 'false');\n });\n this.dom.megamenuPrimaryTriggers[0].focus();\n });\n } else {\n\n const textContent = \"Resources for\"\n const itemParent = e.currentTarget.parentNode;\n itemParent.querySelector('span').textContent = textContent;\n\n this.dom.megamenuSecondaryPanelBackButtons.forEach(b => {\n b.textContent = 'Back to main menu';\n }); \n\n const itemPanelClosestTitle = e.target.nextElementSibling;\n\n animate(\n itemsPanel,\n { transform: 'translate(100%, 0)' },\n { duration: 0, delay: 0, ease: 'none' }\n ).finished.then(() => {\n itemPanelClosestTitle.classList.remove('hidden');\n secondaryItemResources.classList.remove('active');\n animate(\n [\n itemPanelClosestTitle,\n secondaryItemResources,\n // mainItemDefaultResources\n ],\n { opacity: 1 },\n { duration: 0.15, delay: 0, ease: 'easeInOut' }\n ).finished.then(() => {\n itemsPanel?.classList.remove('active');\n this.dom.megamenuSecondaryTriggers.forEach(t =>\n t.setAttribute('aria-expanded', 'false')\n );\n });\n });\n }\n }\n\n handleResize() {\n const wasMobile = this.isMobile;\n this.isMobile = window.matchMedia('(max-width: 1023px)').matches;\n this.isTablet = this.isMobile;\n this.isTabletLandscape = window.matchMedia('(max-width: 4440px)').matches;\n\n if (wasMobile !== this.isMobile) {\n this.el.style = '--megamenu-background-color: var(--rose-bud-cherry);';\n }\n }\n}\n\nexport default PrimaryNavigationNew;\n","import { Component } from '@verndale/core';\nimport { timeline } from 'motion';\nimport { throttle, debounce } from '../../helpers';\n\nclass ScrollAnimation extends Component {\n setupDefaults() {\n this.isMobile = window.matchMedia('(max-width: 768px)').matches;\n\n this.dom = {\n logo: this.isMobile\n ? this.el.querySelector('.header__logo img')\n : this.el.querySelector('.header__logo-mobile img')\n };\n this.root = document.querySelector(':root');\n this.scrollDelta = 50;\n this.lastScrollTop = 0;\n this.scrolledUp = true;\n this.setSequences();\n this.setHeight(100);\n }\n\n addListeners() {\n window.addEventListener(\n 'scroll',\n throttle(this.handleScroll.bind(this), 100)\n );\n window.addEventListener(\n 'resize',\n debounce(this.handleResize.bind(this), 100)\n );\n }\n\n setHeight(value) {\n this.root.style.setProperty('--header-height', `${value}px`);\n this.root.style.setProperty('--header-mobile-height', '60px');\n }\n\n setSequences() {\n this.dom.logo = this.isMobile\n ? this.el.querySelector('.header__logo-mobile img')\n : this.el.querySelector('.header__logo img');\n\n this.showScrolledLogoSequence = [\n [\n this.dom.logo,\n { scale: this.isMobile ? [1, 1.46] : [1, 1.25] },\n { at: 0 },\n { duration: 0.25 }\n ],\n // [this.el, { height: this.isMobile ? [] : ['100px', '65px'] }, { at: 0 }]\n ];\n\n this.showNormalLogoSequence = [\n [\n this.dom.logo,\n { scale: this.isMobile ? [1.45, 1] : [1.25, 1] },\n { at: 0 },\n { duration: 0.25 }\n ],\n // [this.el, { height: this.isMobile ? [] : ['75px', '100px'] }, { at: 0 }]\n ];\n }\n\n handleResize() {\n if (this.isMobile && !window.matchMedia('(max-width: 768px)').matches) {\n this.isMobile = false;\n } else if (\n !this.isMobile &&\n window.matchMedia('(max-width: 768px)').matches\n ) {\n this.isMobile = true;\n }\n this.setSequences();\n }\n\n handleScroll() {\n const currentScroll = window.scrollY;\n if (Math.abs(this.lastScrollTop - currentScroll) <= this.scrollDelta)\n return;\n\n if (this.lastScrollTop - currentScroll > 0 && !this.scrolledUp) {\n this.setHeight(100);\n\n timeline(this.showNormalLogoSequence).finished.then(() =>\n this.setHeight(100)\n );\n this.scrolledUp = true;\n } else if (this.lastScrollTop - currentScroll < 0 && this.scrolledUp) {\n this.setHeight(75);\n\n timeline(this.showScrolledLogoSequence).finished.then(() =>\n this.setHeight(75)\n );\n this.scrolledUp = false;\n }\n this.lastScrollTop = currentScroll;\n }\n}\n\nexport default ScrollAnimation;\n","import { Component } from '@verndale/core';\nimport { timeline } from 'motion';\nimport { createFocusTrap } from 'focus-trap';\nimport { disableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport ScrollAnimation from './ScrollAnimation';\nimport PrimaryNavigationNew from './PrimaryNavigationNew';\nimport { debounce, keyCode } from '../../helpers';\n\nclass HeaderNew extends Component {\n setupDefaults() {\n const self = this;\n\n this.dom = {\n primaryNavigationItems: this.el.querySelectorAll(\n '.primary-navigation__trigger'\n ),\n headerInner: this.el.querySelector('.header-new__inner'),\n primaryNavigation: this.el.querySelector('.primary-navigation'),\n primaryNavigationMegaMenuWrapper: this.el.querySelector(\n '.primary-navigation__megamenu-wrapper'\n ),\n scrollableSection: this.el.querySelector(\n '.primary-navigation__megamenu--scrollable'\n ),\n closeButton: this.el.querySelector(\n '.primary-navigation__megamenu-close-button'\n ),\n primaryNavigationResource: this.el.querySelector(\n '.primary-navigation__trigger-resource-desktop'\n ),\n primaryNavigationSearch: this.el.querySelector(\n '.primary-navigation__trigger-search-desktop'\n ),\n primaryNavigationToogleMenuMobile: this.el.querySelector(\n '.primary-navigation__trigger-menu-mobile'\n ),\n primaryNavigationToogleSearchMobile: this.el.querySelector(\n '.primary-navigation__trigger-search-mobile'\n ),\n primaryNavigationMegaMenuNews: this.el.querySelector(\n '.primary-navigation__megamenu-news'\n )\n };\n\n this.initialWidth = window.innerWidth;\n this.mainFocusTrap = createFocusTrap(\n this.dom.primaryNavigationMegaMenuWrapper,\n {\n allowOutsideClick: () => true,\n onActivate() {\n disableBodyScroll(self.el, {\n allowTouchMove: el => {\n if (el.closest('.header-new__inner')) {\n return true;\n }\n }\n });\n self.dom.scrollableSection.style.maxBlockSize = `${\n window.innerHeight - 110\n }px`;\n self.dom.scrollableSection.style.minBlockSize = `${\n window.innerHeight - 110\n }px`;\n },\n onDeactivate() {\n clearAllBodyScrollLocks();\n }\n }\n );\n\n new ScrollAnimation(this.el);\n this.primaryNavigation = new PrimaryNavigationNew(this.el);\n }\n\n addListeners() {\n window.addEventListener(\n 'resize',\n debounce(this.handleResize.bind(this), 100)\n );\n this.dom.primaryNavigationItems.forEach(t => {\n t.addEventListener('click', this.handlePrimaryItemClick.bind(this));\n });\n this.dom.closeButton.addEventListener('click', this.closeMenu.bind(this));\n window.addEventListener('keydown', this.handleKeyDown.bind(this));\n this.dom.primaryNavigationResource.addEventListener(\n 'click',\n this.handlePrimaryResourceItemClick.bind(this)\n );\n this.dom.primaryNavigationToogleMenuMobile.addEventListener(\n 'click',\n this.handleMenuMobileToggleClick.bind(this)\n );\n this.dom.primaryNavigationSearch.addEventListener(\n 'click',\n this.handlePrimarySearchItemClick.bind(this)\n );\n this.dom.primaryNavigationToogleSearchMobile.addEventListener(\n 'click',\n this.handleMobileSearchItemClick.bind(this)\n );\n\n // hitting the escape key will close the menu\n window.addEventListener('keydown', this.handleKeyDown.bind(this));\n }\n\n openMenu(isMobile, type) {\n this.prepareMegamenuForOpening();\n this.primaryNavigation.openMenu();\n \n if (this.primaryNavigation.hasMegamenuExpanded) {\n if (type === 'primary') {\n if (this.mainFocusTrap) {\n this.mainFocusTrap.activate();\n }\n }\n if (type === 'resource') {\n if (this.mainFocusTrap) {\n this.mainFocusTrap.activate();\n }\n }\n if (type === 'search') {\n if (this.mainFocusTrap) {\n this.mainFocusTrap.activate();\n this.primaryNavigation.dom.searchPanel.querySelector('.standalone-searchbox__input').value = '';\n // set focus to the search input \n this.primaryNavigation.dom.searchPanel.querySelector('.standalone-searchbox__input').focus();\n }\n }\n\n \n }\n\n this.primaryNavigation.getWrapper().style.opacity = 1;\n return timeline(this.getOpenMenuSequence());\n }\n\n closeMenu() {\n if (this.mainFocusTrap) {\n this.mainFocusTrap.deactivate();\n }\n\n if (this.dom.primaryNavigationResource.classList.contains('active')) {\n this.dom.primaryNavigationResource.classList.remove('active');\n }\n\n return timeline(this.getCloseMenuSequence()).finished.then(() => {\n // this.primaryNavigation.toggleMenu();\n this.primaryNavigation.closeMenu();\n });\n }\n\n prepareMegamenuForOpening() {\n if (this.mainFocusTrap) {\n this.mainFocusTrap.deactivate();\n }\n\n // this.primaryNavigation.toggleMenu();\n }\n\n getOpenMenuSequence() {\n const targetHeight = getComputedStyle(\n this.primaryNavigation.getWrapper()\n ).getPropertyValue('--min-block-size-expanded');\n\n this.primaryNavigation.getWrapper().style.maxHeight = targetHeight;\n\n this.openMenuSequence = [];\n return this.openMenuSequence;\n }\n\n getCloseMenuSequence() {\n return [];\n }\n\n handlePrimaryItemClick(e) {\n if (this.primaryNavigation.hasMegamenuExpanded) {\n if (this.dom.primaryNavigationResource.classList.contains('active')) {\n this.dom.primaryNavigationResource.classList.remove('active');\n }\n }\n this.prepareMegamenuForPrimaryDesktop();\n\n const correspondingPrimaryTrigger = [\n ...this.primaryNavigation.dom.megamenuPrimaryTriggers\n ].find(\n t =>\n t.getAttribute('aria-controls') ===\n e.target.getAttribute('aria-controls')\n );\n if (correspondingPrimaryTrigger)\n this.primaryNavigation.expandPanelWrapper(correspondingPrimaryTrigger);\n this.openMenu(false, 'primary');\n }\n\n handleKeyDown(e) {\n if (\n e.keyCode === keyCode.ESC &&\n this.primaryNavigation.hasMegamenuExpanded\n ) {\n e.preventDefault();\n this.closeMenu();\n }\n }\n\n // handle mobile, tablet and desktop breakpoint reset\n handleResize() {\n if (this.initialWidth !== window.innerWidth) {\n if (this.primaryNavigation.hasMegamenuExpanded) {\n if (this.primaryNavigation.getIsSearchActive()) {\n this.closeSearch();\n } else {\n this.closeMenu();\n }\n }\n\n this.initialWidth = window.innerWidth;\n }\n }\n\n prepareMegamenuForResourcesDesktop() {\n // Enable news\n this.dom.primaryNavigationMegaMenuNews.classList.remove('disabled');\n\n // Disable primary navigation items except resource\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n if (t.classList.contains('primary-navigation__megamenu-item--resource')) {\n t.classList.remove('disabled');\n } else {\n t.classList.add('disabled');\n }\n });\n\n // Disable utility links wrapper\n this.primaryNavigation.dom.utilityLinksWrapper.classList.add('disabled');\n\n // Disable social links wrapper\n this.primaryNavigation.dom.socialLinksWrapper.classList.add('disabled');\n\n // Disable search panel\n this.primaryNavigation.dom.searchPanel.classList.add('disabled');\n }\n\n prepareMegamenuForPrimaryDesktop() {\n // Enable primary navigation items\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n t.classList.remove('disabled');\n });\n\n // Enable utility links wrapper\n this.primaryNavigation.dom.utilityLinksWrapper.classList.remove('disabled');\n\n // Enable social links wrapper\n this.primaryNavigation.dom.socialLinksWrapper.classList.remove('disabled');\n\n // Disable resources-for primary navigation item\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n if (\n t.classList.contains('primary-navigation__megamenu-item--resource-for')\n ) {\n t.classList.add('disabled');\n }\n });\n\n // Disable news\n this.dom.primaryNavigationMegaMenuNews.classList.add('disabled');\n\n // Disable resource primary navigation items\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n if (t.classList.contains('primary-navigation__megamenu-item--resource')) {\n t.classList.add('disabled');\n }\n });\n\n // Disable search panel\n this.primaryNavigation.dom.searchPanel.classList.add('disabled');\n }\n\n prepareMegamenuForAllMobile() {\n // Enable all primary navigation items\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n t.classList.remove('disabled');\n });\n // Disable resource primary navigation items\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n if (t.classList.contains('primary-navigation__megamenu-item--resource')) {\n t.classList.add('disabled');\n }\n });\n // Disable search panel\n this.primaryNavigation.dom.searchPanel.classList.add('disabled');\n }\n\n prepareMegamenuForSearch() {\n // enable search panel\n this.primaryNavigation.dom.searchPanel.classList.remove('disabled');\n\n // Disable primary navigation items except resource\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n if (t.classList.contains('primary-navigation__megamenu-item--resource')) {\n t.classList.remove('disabled');\n } else {\n t.classList.add('disabled');\n }\n });\n\n // Disable utility links wrapper\n this.primaryNavigation.dom.utilityLinksWrapper.classList.add('disabled');\n\n // Disable social links wrapper\n this.primaryNavigation.dom.socialLinksWrapper.classList.add('disabled');\n\n // Disable resources-for primary navigation item\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n if (\n t.classList.contains('primary-navigation__megamenu-item--resource-for')\n ) {\n t.classList.add('disabled');\n }\n });\n\n // Disable news\n this.dom.primaryNavigationMegaMenuNews.classList.add('disabled');\n\n // Disable resource primary navigation items\n this.primaryNavigation.dom.megamenuPrimaryItems.forEach(t => {\n if (t.classList.contains('primary-navigation__megamenu-item--resource')) {\n t.classList.add('disabled');\n }\n });\n }\n\n toggleResourcesDesktopMenu () {\n if (this.dom.primaryNavigationResource.classList.contains('active')) {\n this.closeMenu();\n } else {\n this.dom.primaryNavigationResource.classList.add('active');\n }\n }\n\n handlePrimaryResourceItemClick() {\n \n this.toggleResourcesDesktopMenu();\n this.prepareMegamenuForResourcesDesktop();\n this.openMenu(false, 'resource');\n }\n\n handlePrimarySearchItemClick(e) {\n this.prepareMegamenuForSearch();\n\n if (this.primaryNavigation.hasMegamenuExpanded) {\n if (e.currentTarget.classList.contains('active')) {\n e.currentTarget.classList.remove('active');\n }\n } else {\n e.currentTarget.classList.add('active');\n }\n\n this.openMenu(false, 'search');\n }\n\n toggleSearchMobile () {\n\n if (!this.primaryNavigation.hasMegamenuExpanded) {\n this.dom.primaryNavigationToogleSearchMobile.querySelector('.search-toggle').style.display = 'none';\n this.dom.primaryNavigationToogleSearchMobile.querySelector('.close').style.display = 'flex';\n this.dom.primaryNavigationToogleSearchMobile.classList.add('opened');\n this.openMenu(true, 'search');\n } else {\n this.dom.primaryNavigationToogleSearchMobile.querySelector('.search-toggle').style.display = 'flex';\n this.dom.primaryNavigationToogleSearchMobile.querySelector('.close').style.display = 'none';\n this.dom.primaryNavigationToogleSearchMobile.classList.remove('opened');\n this.closeMenu();\n }\n }\n\n handleMobileSearchItemClick() {\n this.prepareMegamenuForSearch();\n\n\n if (this.dom.primaryNavigationToogleMenuMobile.classList.contains('opened')) {\n this.toggleMenuMobile();\n this.toggleSearchMobile();\n }\n\n this.toggleSearchMobile();\n }\n\n toggleMenuMobile () {\n if (!this.primaryNavigation.hasMegamenuExpanded) {\n this.dom.primaryNavigationToogleMenuMobile.querySelector('.menu').style.display = 'none';\n this.dom.primaryNavigationToogleMenuMobile.querySelector('.close').style.display = 'flex';\n this.dom.primaryNavigationToogleMenuMobile.classList.add('opened');\n this.openMenu(true, 'menu');\n } else {\n this.dom.primaryNavigationToogleMenuMobile.querySelector('.menu').style.display = 'flex';\n this.dom.primaryNavigationToogleMenuMobile.querySelector('.close').style.display = 'none';\n this.dom.primaryNavigationToogleMenuMobile.classList.remove('opened');\n this.closeMenu();\n }\n }\n\n handleMenuMobileToggleClick() {\n this.prepareMegamenuForAllMobile();\n\n if (this.dom.primaryNavigationToogleSearchMobile.classList.contains('opened')) {\n this.toggleSearchMobile();\n this.toggleMenuMobile();\n }\n\n this.toggleMenuMobile();\n }\n}\n\nexport default HeaderNew;\n"],"sourceRoot":""}