{"version":3,"sources":["20240919_3in1_functions.js"],"names":["vid","document","getElementById","loadVideo","sm","window","matchMedia","md","lg","xl","addEventListener","changeVideoSize","matches","size","videoSource","$","attr","autoplay","load","contains","onresize","onloadeddata","classList","add","cards","numCards","videos","querySelectorAll","config","rootMargin","threshold","callback","entries","forEach","entry","isIntersecting","target","play","pause","vidsObserver","IntersectionObserver","genderSliders","element","observe","gsap","registerPlugin","ScrollTrigger","autoRefreshEvents","utils","toArray","length","to","xPercent","ease","scrollTrigger","trigger","pin","scrub","start","end","innerWidth","refresh","genderSlider","Swiper","noSwipingClass","slidesPerView","spaceBetween","effect","fadeEffect","crossFade","speed","loop","autoHeight","navigation","prevEl","previousSibling","querySelector","nextEl","on","slideChangeTransitionEnd"],"mappings":"AAUA,IAAMA,IAAMC,SAASC,eAAe,yBAEpC,SAASC,YACP,IAAIC,EAAKC,OAAOC,WAAY,2CACxBC,EAAKF,OAAOC,WAAY,6CACxBE,EAAKH,OAAOC,WAAY,8CACxBG,EAAKJ,OAAOC,WAAY,gDAE5BF,EAAGM,iBAAiB,SAAUC,iBAC9BJ,EAAGG,iBAAiB,SAAUC,iBAC9BH,EAAGE,iBAAiB,SAAUC,iBAC9BF,EAAGC,iBAAiB,SAAUC,iBAErBP,EAAGQ,QAAWD,gBAAgB,MAC9BJ,EAAGK,QAAWD,gBAAgB,MAC9BH,EAAGI,QAAWD,gBAAgB,MAC9BF,EAAGG,SAAWD,gBAAgB,MAGzC,SAASA,gBAAgBE,GACvB,IAAMC,EAAcC,EAAE,iCACtBD,EAAYE,KAAK,MAAOF,EAAYE,KAAK,cAAcH,IACvDb,IAAIiB,UAAW,EACfjB,IAAIkB,OAIFjB,SAASkB,SAASnB,OACpBC,SAASS,iBAAiB,mBAAoBP,WAC9CE,OAAOe,SAAWjB,UAClBH,IAAIqB,aAAe,WAAA,OAAMrB,IAAIsB,UAAUC,IAAI,uBAQ7C,IAuCQC,MACAC,SAxCFC,OAASzB,SAAS0B,iBAAiB,SAEnCC,OAAS,CACbC,WAAY,aACZC,UAAW,GAGPC,SAAW,SAACC,GAChBA,EAAQC,QAAQ,SAACC,GACVA,EAAMC,eAITD,EAAME,OAAOC,OAHbH,EAAME,OAAOE,WASbC,aAAe,IAAIC,qBAAqBT,SAAUH,QA4ClDa,eA1CNf,OAAOO,QAAQ,SAAAS,GACbH,aAAaI,QAAQD,MAQ8C,IAAjErC,OAAOC,WAAP,6CACuE,IAAzED,OAAOC,WAAP,2CAA6DM,UAE7DgC,KAAKC,eAAeC,eAEpBA,cAAclB,OAAO,CACnBmB,kBAAmB,iCAIftB,UADAD,MAAQoB,KAAKI,MAAMC,QAAQ,4BACVC,OAAS,EAEhCN,KAAKO,GAAG,iBAAkB,CACxBC,UAAW,IAAM3B,SACjB4B,KAAM,OACNC,cAAe,CACbC,QAAS,oBACTC,KAAK,EACLC,OAAO,EACPC,MAAO,WACPC,IAAK,WAAA,MAAA,KAA+B,EAApBtD,OAAOuD,gBAM7BvD,OAAOK,iBAAiB,SAAU,WAAA,OAAMoC,cAAce,YAOhC5D,SAAS0B,iBAAiB,wBAEhDc,cAAcR,QAAQ,SAAC6B,GACrB,IAAIC,OAAQD,EAAc,CACxBE,eAAgB,oBAChBC,cAAe,EACfC,aAAc,EACdC,OAAQ,OACRC,WAAY,CAAEC,WAAW,GACzBC,MAAO,IACPC,MAAM,EACNC,YAAY,EACZC,WAAY,CACVC,OAAQZ,EAAaa,gBAAgBC,cAAc,uBAAuBA,cAAc,4BACxFC,OAAQf,EAAaa,gBAAgBC,cAAc,uBAAuBA,cAAc,6BAE1FE,GAAI,CACFC,yBAA0B,WAAA,OAAMjC,cAAce","file":"20240919_3in1_functions.min.js","sourcesContent":["// RESPONSIVE VIDEO!\r\n// PAUSE OUT-OF-VIEW VIDEO\r\n// GSAP\r\n// SLIDER (SWIPER JS)\r\n\r\n\r\n//\r\n// =RESPONSIVE VIDEO!\r\n// --------------------------------------------------\r\n\r\nconst vid = document.getElementById('msdw-video-responsive');\r\n\r\nfunction loadVideo() {\r\n var sm = window.matchMedia( \"(min-width: 0px) and (max-width: 599px)\" ), // Standard def (mp4, 640x360)\r\n md = window.matchMedia( \"(min-width: 600px) and (max-width: 899px)\" ), // Standard def (mp4, 960x540)\r\n lg = window.matchMedia( \"(min-width: 900px) and (max-width: 1199px)\" ), // High def (mp4, 1280x720)\r\n xl = window.matchMedia( \"(min-width: 1200px) and (max-width: 99999px)\" ); // High def 1080 (mp4, 1920x1080)\r\n\r\n sm.addEventListener(\"change\", changeVideoSize);\r\n md.addEventListener(\"change\", changeVideoSize);\r\n lg.addEventListener(\"change\", changeVideoSize);\r\n xl.addEventListener(\"change\", changeVideoSize);\r\n\r\n if (sm.matches) { changeVideoSize('sm') }\r\n else if (md.matches) { changeVideoSize('md') }\r\n else if (lg.matches) { changeVideoSize('lg') }\r\n else if (xl.matches) { changeVideoSize('xl') }\r\n}\r\n\r\nfunction changeVideoSize(size){\r\n const videoSource = $(\"#msdw-video-responsive source\");\r\n videoSource.attr(\"src\", videoSource.attr(\"data-video-\"+size));\r\n vid.autoplay = true;\r\n vid.load();\r\n // console.log(videoSource.attr(\"src\"));\r\n}\r\n\r\nif (document.contains(vid)) {\r\n document.addEventListener('DOMContentLoaded', loadVideo);\r\n window.onresize = loadVideo;\r\n vid.onloadeddata = () => vid.classList.add('msdw-video-loaded');\r\n}\r\n\r\n\r\n//\r\n// =PAUSE OUT-OF-VIEW VIDEO\r\n// --------------------------------------------------\r\n\r\nconst videos = document.querySelectorAll(\"video\");\r\n\r\nconst config = {\r\n rootMargin: '0px -100px',\r\n threshold: 0\r\n}\r\n\r\nconst callback = (entries) => {\r\n entries.forEach((entry) => {\r\n if (!entry.isIntersecting) {\r\n entry.target.pause();\r\n // alert('Exit video');\r\n } else {\r\n entry.target.play();\r\n // alert('Enter video');\r\n }\r\n });\r\n}\r\n\r\nconst vidsObserver = new IntersectionObserver(callback, config);\r\n\r\nvideos.forEach(element => {\r\n vidsObserver.observe(element);\r\n});\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 autoRefreshEvents: \"DOMContentLoaded,load,resize\",\r\n });\r\n\r\n const cards = gsap.utils.toArray(\".msdw-scroller > figure\");\r\n const numCards = cards.length - 1;\r\n\r\n gsap.to('.msdw-scroller', {\r\n xPercent: -100 * numCards,\r\n ease: \"none\",\r\n scrollTrigger: {\r\n trigger: '.msdw-pin-wrapper',\r\n pin: true,\r\n scrub: true,\r\n start: \"top 60px\",\r\n end: () => `+=${window.innerWidth * 2}`,\r\n // markers: true,\r\n }\r\n });\r\n}\r\n\r\nwindow.addEventListener('resize', () => ScrollTrigger.refresh());\r\n\r\n\r\n//\r\n// =SLIDER (SWIPER JS)\r\n// --------------------------------------------------\r\n\r\nconst genderSliders = document.querySelectorAll('.msdw-swiper-slider');\r\n\r\ngenderSliders.forEach((genderSlider) => {\r\n new Swiper (genderSlider, {\r\n noSwipingClass: \"swiper-no-swiping\",\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n effect: \"fade\",\r\n fadeEffect: { crossFade: true },\r\n speed: 150,\r\n loop: false,\r\n autoHeight: true,\r\n navigation: {\r\n prevEl: genderSlider.previousSibling.querySelector('.msdw-slider-arrows').querySelector('.msdw-swiper-button-prev'),\r\n nextEl: genderSlider.previousSibling.querySelector('.msdw-slider-arrows').querySelector('.msdw-swiper-button-next'),\r\n },\r\n on: {\r\n slideChangeTransitionEnd: () => ScrollTrigger.refresh()\r\n },\r\n });\r\n});\r\n"]}