{"version":3,"sources":["20240215Youth_functions.js"],"names":["mm","scrollTexts","document","querySelectorAll","metaTC","forEach","scrollText","i","cln","querySelector","cloneNode","appendChild","createElement","name","content","getElementsByTagName","window","matchMedia","matches","gsap","registerPlugin","ScrollTrigger","add","utils","toArray","scroller","to","xPercent","duration","x","innerWidth","ease","scrollTrigger","trigger","start","end","scrub","pin","invalidateOnRefresh","scrollTextA","scrollTextB","bgCard"],"mappings":"AASA,IA2CMA,GA3CAC,YAAcC,SAASC,iBAAiB,gBAe1CC,QAbJH,YAAYI,QAAQ,SAAAC,GAClB,IAAK,IAAIC,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,IAAIC,EAAMF,EAAWG,cAAc,QAAQC,WAAU,GACrDJ,EAAWK,YAAYH,MAUdN,SAASU,cAAc,SACpCR,OAAOS,KAAO,cACdT,OAAOU,QAAU,UACjBZ,SAASa,qBAAqB,QAAQ,GAAGJ,YAAYP,SAegB,IAAjEY,OAAOC,WAAP,6CACuE,IAAzED,OAAOC,WAAP,2CAA6DC,UAE7DC,KAAKC,eAAeC,gBAOhBrB,GAAKmB,KAAKF,cAEXK,IAAI,qBAAsB,WACXH,KAAKI,MAAMC,QAAQ,aAEzBnB,QAAQ,SAAAoB,GAChBN,KAAKO,GAAGD,EAAU,CAClBE,UAAW,IACXC,SAAU,EACVC,EAAG,WAAA,OAAMb,OAAOc,YAChBC,KAAM,OACNC,cAAe,CACbC,QAASR,EACTS,MAAO,UAEPC,IAAK,WAAA,MAAA,KAA+B,EAApBnB,OAAOc,YACvBM,OAAO,EACPC,KAAK,EACLC,qBAAqB,OAKNnB,KAAKI,MAAMC,QAAQ,kBAEzBnB,QAAQ,SAAAkC,GACnBpB,KAAKO,GAAGa,EAAa,CACnBZ,UAAW,GACXC,SAAU,EACVI,cAAe,CACbC,QAAS,oBACTC,MAAO,UACPC,IAAK,aACLC,OAAO,OAKMjB,KAAKI,MAAMC,QAAQ,kBAEzBnB,QAAQ,SAAAmC,GACnBrB,KAAKO,GAAGc,EAAa,CACnBb,UAAW,GACXC,SAAU,EACVI,cAAe,CACbC,QAAS,oBACTC,MAAO,UACPC,IAAK,gBACLC,OAAO,SAMfpC,GAAGsB,IAAI,qBAAsB,WAcbH,KAAKI,MAAMC,QAAQ,OAEzBnB,QAAQ,SAAAoC,GACdtB,KAAKO,GAAG,eAAgB,CACtBC,UAAW,GACXC,SAAU,EACVI,cAAe,CACbC,QAASQ,EACTP,MAAO,aACPC,IAAK,aACLC,OAAO","file":"20240215Youth_functions.min.js","sourcesContent":["// SCROLL TEXT CLONES\r\n// MOBILE FIX\r\n// GSAP\r\n\r\n\r\n//\r\n// =SCROLL TEXT CLONES\r\n// --------------------------------------------------\r\n\r\nconst scrollTexts = document.querySelectorAll(\".scroll-text\");\r\n\r\nscrollTexts.forEach(scrollText => {\r\n for (let i = 0; i < 9; i++) {\r\n let cln = scrollText.querySelector('span').cloneNode(true);\r\n scrollText.appendChild(cln);\r\n }\r\n});\r\n\r\n\r\n//\r\n// =MOBILE FIX\r\n// --------------------------------------------------\r\n\r\n// set (safari) theme color to match page bg color\r\nvar metaTC = document.createElement('meta');\r\nmetaTC.name = \"theme-color\";\r\nmetaTC.content = \"#212121\";\r\ndocument.getElementsByTagName('head')[0].appendChild(metaTC);\r\n\r\n// check real viewport height\r\n// const appHeight = () => {\r\n// const doc = document.documentElement\r\n// doc.style.setProperty('--app-height', `${window.innerHeight}px`)\r\n// }\r\n// window.addEventListener('resize', appHeight)\r\n// appHeight();\r\n\r\n\r\n//\r\n// =GSAP\r\n// --------------------------------------------------\r\n\r\nif (window.matchMedia(`(prefers-reduced-motion: no-preference)`) === true ||\r\n window.matchMedia(`(prefers-reduced-motion: no-preference)`).matches === true) {\r\n\r\n gsap.registerPlugin(ScrollTrigger);\r\n\r\n // ScrollTrigger.config({\r\n // ignoreMobileResize: true,\r\n // autoRefreshEvents: \"DOMContentLoaded,load,resize\"\r\n // });\r\n\r\n let mm = gsap.matchMedia();\r\n\r\n mm.add(\"(min-width: 600px)\", () => {\r\n let scrollers = gsap.utils.toArray('.scroller');\r\n\r\n scrollers.forEach(scroller => {\r\n gsap.to(scroller, {\r\n xPercent: -100,\r\n duration: 2,\r\n x: () => window.innerWidth,\r\n ease: \"none\",\r\n scrollTrigger: {\r\n trigger: scroller,\r\n start: \"top top\",\r\n // markers: true,\r\n end: () => `+=${window.innerWidth * 2}`,\r\n scrub: true,\r\n pin: true,\r\n invalidateOnRefresh: true,\r\n }\r\n });\r\n });\r\n\r\n let scrollTextsA = gsap.utils.toArray('.scroll-text-a');\r\n\r\n scrollTextsA.forEach(scrollTextA => {\r\n gsap.to(scrollTextA, {\r\n xPercent: -15,\r\n duration: 2,\r\n scrollTrigger: {\r\n trigger: \".scroll-trigger-a\",\r\n start: \"top top\",\r\n end: \"bottom top\",\r\n scrub: true,\r\n }\r\n });\r\n });\r\n\r\n let scrollTextsB = gsap.utils.toArray('.scroll-text-b');\r\n\r\n scrollTextsB.forEach(scrollTextB => {\r\n gsap.to(scrollTextB, {\r\n xPercent: -15,\r\n duration: 2,\r\n scrollTrigger: {\r\n trigger: \".scroll-trigger-b\",\r\n start: \"top top\",\r\n end: \"bottom bottom\",\r\n scrub: true,\r\n }\r\n });\r\n });\r\n });\r\n\r\n mm.add(\"(max-width: 599px)\", () => {\r\n // let mobileStickies = gsap.utils.toArray('.mobile-sticky');\r\n\r\n // mobileStickies.forEach(mobileSticky => {\r\n // gsap.to(mobileSticky, {\r\n // scrollTrigger: {\r\n // trigger: mobileSticky,\r\n // start: \"top top\",\r\n // pin: true,\r\n // pinSpacing: false,\r\n // }\r\n // });\r\n // });\r\n\r\n let bgCards = gsap.utils.toArray('.bg');\r\n\r\n bgCards.forEach(bgCard => {\r\n gsap.to(\".scroll-text\", {\r\n xPercent: -15,\r\n duration: 2,\r\n scrollTrigger: {\r\n trigger: bgCard,\r\n start: \"top bottom\",\r\n end: \"bottom top\",\r\n scrub: true,\r\n }\r\n });\r\n });\r\n });\r\n\r\n // later, if we need to revert all the animations/ScrollTriggers...\r\n // mm.revert();\r\n}\r\n\r\n\r\n\r\n\r\n\r\n"]}