{"version":3,"file":"beachboys.min.js","sources":["beachboys.min.js"],"sourcesContent":["'use strict';\n\n/**\n * @description Initialize event handlers on landing page\n */\n\nwindow.addEventListener('mainJsLoaded', function () {\n beachBoysInit();\n});\n\nfunction beachBoysInit() {\n var prevTopScroll = 0,\n $beachboysAnimation1 = $('.js-beachboys-animation-1'),\n beachboysAnimation1Offset = 0,\n $beachboysAnimation2 = $('.js-beachboys-animation-2'),\n beachboysAnimation2Offset = 0,\n $beachboysAnimation2Content = $('.js-beachboys-animation-2-content'),\n $beachboysAnimation3 = $('.js-beachboys-animation-3'),\n beachboysAnimation3Offset = 0;\n\n window.addEventListener('scroll', function () {\n var currentTopScroll = window.pageYOffset,\n currentScroll = currentTopScroll / window.innerHeight;\n\n // offsets calculation is in scroll event listener to be accurate on any viewport changes to run animation\n if ($beachboysAnimation1.length) {\n beachboysAnimation1Offset = $beachboysAnimation1.offset().top / window.innerHeight;\n document.body.style.setProperty('--scrolloffset1', beachboysAnimation1Offset);\n }\n\n if ($beachboysAnimation2.length) {\n beachboysAnimation2Offset = $beachboysAnimation2.offset().top / window.innerHeight;\n document.body.style.setProperty('--scrolloffset2', beachboysAnimation2Offset);\n }\n\n if ($beachboysAnimation3.length) {\n beachboysAnimation3Offset = $beachboysAnimation3.offset().top / window.innerHeight;\n document.body.style.setProperty('--scrolloffset3', beachboysAnimation3Offset);\n }\n\n document.body.style.setProperty('--scroll1', currentScroll);\n document.body.style.setProperty('--scroll2', currentScroll);\n document.body.style.setProperty('--scroll3', currentScroll);\n\n // scroll down\n if (currentTopScroll > prevTopScroll) {\n // activate fixed position on animation 2\n if (currentScroll >= beachboysAnimation2Offset) {\n $beachboysAnimation2Content.addClass('animate');\n }\n\n // activate bottom position on animation 2 - next phase ( + 2 viewports)\n if (currentScroll >= beachboysAnimation2Offset + 2) {\n $beachboysAnimation2Content.addClass('expand');\n }\n\n // activate bottom position on animation 2 - stop phase ( + 3 viewports)\n if (currentScroll >= beachboysAnimation2Offset + 3) {\n $beachboysAnimation2Content.addClass('bottom').removeClass('animate');\n }\n } else {\n // scroll up\n // activate fixed position on animation 2 ( + 3 viewports)\n if (currentScroll < beachboysAnimation2Offset + 3) {\n $beachboysAnimation2Content.addClass('animate').removeClass('bottom');\n }\n\n // activate bottom position on animation 2 - next phase ( + 2 viewports)\n if (currentScroll < beachboysAnimation2Offset + 2) {\n $beachboysAnimation2Content.removeClass('expand');\n }\n\n // deactivate fixed position on animation 2\n if (currentScroll < beachboysAnimation2Offset) {\n $beachboysAnimation2Content.removeClass('animate');\n }\n }\n\n // update prevTopScroll\n prevTopScroll = currentTopScroll;\n }, false);\n}\n\n"],"names":["beachBoysInit","beachboysAnimation3Offset","prevTopScroll","$beachboysAnimation1","$","$beachboysAnimation2","beachboysAnimation2Offset","$beachboysAnimation2Content","$beachboysAnimation3","window","addEventListener","currentTopScroll","pageYOffset","currentScroll","innerHeight","length","beachboysAnimation1Offset","offset","top","document","body","style","setProperty","addClass","removeClass"],"mappings":"AAAA,aAUA,SAASA,gBACL,IAOIC,EAPAC,EAAgB,EAChBC,EAAuBC,EAAE,2BAA2B,EAEpDC,EAAuBD,EAAE,2BAA2B,EACpDE,EAA4B,EAC5BC,EAA8BH,EAAE,mCAAmC,EACnEI,EAAuBJ,EAAE,2BAA2B,EAGxDK,OAAOC,iBAAiB,SAAU,WAC9B,IAAIC,EAAmBF,OAAOG,YAC1BC,EAAgBF,EAAmBF,OAAOK,YAG1CX,EAAqBY,SACrBC,EAA4Bb,EAAqBc,OAAO,EAAEC,IAAMT,OAAOK,YACvEK,SAASC,KAAKC,MAAMC,YAAY,kBAAmBN,CAAyB,GAG5EX,EAAqBU,SACrBT,EAA4BD,EAAqBY,OAAO,EAAEC,IAAMT,OAAOK,YACvEK,SAASC,KAAKC,MAAMC,YAAY,kBAAmBhB,CAAyB,GAG5EE,EAAqBO,SACrBd,EAA4BO,EAAqBS,OAAO,EAAEC,IAAMT,OAAOK,YACvEK,SAASC,KAAKC,MAAMC,YAAY,kBAAmBrB,CAAyB,GAGhFkB,SAASC,KAAKC,MAAMC,YAAY,YAAaT,CAAa,EAC1DM,SAASC,KAAKC,MAAMC,YAAY,YAAaT,CAAa,EAC1DM,SAASC,KAAKC,MAAMC,YAAY,YAAaT,CAAa,EAGnCX,EAAnBS,GAEqBL,GAAjBO,GACAN,EAA4BgB,SAAS,SAAS,EAI7BjB,EAA4B,GAA7CO,GACAN,EAA4BgB,SAAS,QAAQ,EAI5BjB,EAA4B,GAA7CO,GACAN,EAA4BgB,SAAS,QAAQ,EAAEC,YAAY,SAAS,IAKpEX,EAAgBP,EAA4B,GAC5CC,EAA4BgB,SAAS,SAAS,EAAEC,YAAY,QAAQ,EAIpEX,EAAgBP,EAA4B,GAC5CC,EAA4BiB,YAAY,QAAQ,EAIhDX,EAAgBP,GAChBC,EAA4BiB,YAAY,SAAS,GAKzDtB,EAAgBS,CACpB,EAAG,CAAA,CAAK,CACZ,CA3EAF,OAAOC,iBAAiB,eAAgB,WACpCV,cAAc,CAClB,CAAC"}