{"version":3,"file":"./modules/MediaGrid.xxxxxxxx.js","mappings":"sJAIA,aAQI,WAAmBA,GAAnB,IAOQC,EAPR,OAAmB,KAAAD,QAAAA,EAmCX,KAAAE,sBAAuB,EAlC3BC,KAAKC,sBACLD,KAAKE,eACLF,KAAKG,gBAELC,OAAOC,iBAAiB,SAAUL,KAAKC,qBAGvCG,OAAOC,iBAAiB,SAAU,WAC9BC,aAAaR,GACbA,EAAgBS,WAAW,WAAM,SAAKC,8BAAL,EAAqC,IAC1E,EACJ,CA+DJ,OAlFW,EAAAC,MAAP,SAAaC,QAAA,IAAAA,IAAAA,EALM,6BAMfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,iBAAd,GAAiCC,QAAQ,SAACtB,GACpH,IAAIuB,EAAUvB,GACdA,EAAQoB,QAAQC,kBAAoB,MACxC,EACJ,EAgBQ,YAAAV,6BAAR,sBACSR,KAAKD,uBACNC,KAAKD,sBAAuB,EAC5BsB,sBAAsB,WAAM,SAAKC,qBAAL,GAEpC,EAEQ,YAAAA,oBAAR,WACItB,KAAKD,sBAAuB,EAG5B,IAFA,IAAIwB,EAAUvB,KAAKH,QAAQiB,iBAAiB,8BAEnCU,EAAI,EAAGA,EAAID,EAAQE,OAAQD,IAAK,CACrC,IAAIE,EAAetB,OAAOuB,YACTJ,EAAQC,GAAGI,wBAAwBC,IAEnCH,IADG,KAEhBH,EAAQC,GAAGM,UAAUC,IAAI,SAEjC,CACJ,EAIQ,YAAAC,kBAAR,WACI,MAAO,CACHC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,SAAU,IACVC,UAAW,QAEnB,EAEQ,YAAArC,aAAR,WACI,IAAMsC,EAAQxC,KAAKH,QAAQiB,iBAAiB,wBAExC,WACA0B,EAAMrB,QAAQ,SAACsB,EAAmBC,GAC9B,IAAMC,EAAcF,EAAKG,aAAa,qBACtCH,EAAKI,MAAML,MAAQG,CACvB,EAER,EAEQ,YAAA1C,oBAAR,YACQ,WACA,WAAaD,KAAKH,QAASG,KAAKgC,kBAExC,EAEQ,YAAA7B,cAAR,WACI,IAAM2C,EAAS9C,KAAKH,QAAQiB,iBAAiB,sBACxC,WACDgC,EAAO3B,QAAQ,SAACsB,EAAmBC,GAC/B,IAAMK,EAAkBN,EAAKG,aAAa,mBAC1CH,EAAKI,MAAMG,aAAeD,CAC9B,EAER,EACJ,EAnFA,G,UAqFA,IAAI3B,EAAUX,K","sources":["webpack:///./modules/MediaGrid.ts"],"sourcesContent":["const moduleSelector = '[data-module=\"MediaGrid\"]';\r\nimport UIkit from 'uikit';\r\nimport { isMobile } from '../helpers/helperFunctions';\r\n\r\nexport default class MediaGrid {\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new MediaGrid(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.activeLogoForMobile();\r\n this.orderElement();\r\n this.logoRowNumber();\r\n\r\n window.addEventListener('resize', this.activeLogoForMobile);\r\n\r\n let scrollTimeout;\r\n window.addEventListener('scroll', () => {\r\n clearTimeout(scrollTimeout);\r\n scrollTimeout = setTimeout(() => this.requestAnimationForMediaGrid(), 100);\r\n });\r\n }\r\n\r\n private requestAnimationForMediaGrid() {\r\n if (!this.isAnimationRequested) {\r\n this.isAnimationRequested = true;\r\n requestAnimationFrame(() => this.mediaGridAnimations());\r\n }\r\n }\r\n\r\n private mediaGridAnimations() {\r\n this.isAnimationRequested = false;\r\n var reveals = this.element.querySelectorAll(\".multimedia-grid__item div\");\r\n\r\n for (var i = 0; i < reveals.length; i++) {\r\n var windowHeight = window.innerHeight;\r\n var elementTop = reveals[i].getBoundingClientRect().top;\r\n var heightReduce = -100;\r\n if (elementTop < windowHeight - heightReduce) {\r\n reveals[i].classList.add(\"active\");\r\n }\r\n }\r\n }\r\n\r\n private isAnimationRequested = false;\r\n\r\n private getDefaultOptions() {\r\n return {\r\n center: false,\r\n sets: false,\r\n finite: true,\r\n autoplay: false,\r\n draggable: true,\r\n velocity: 1000,\r\n animation: \"slide\"\r\n }\r\n }\r\n\r\n private orderElement() {\r\n const order = this.element.querySelectorAll('[data-mobile-order]');\r\n\r\n if (isMobile()) {\r\n order.forEach((item: HTMLElement, e) => {\r\n const mobileOrder = item.getAttribute('data-mobile-order');\r\n item.style.order = mobileOrder;\r\n });\r\n }\r\n }\r\n\r\n private activeLogoForMobile() {\r\n if (isMobile()) {\r\n UIkit.slider(this.element, this.getDefaultOptions);\r\n }\r\n }\r\n\r\n private logoRowNumber() {\r\n const rowNum = this.element.querySelectorAll('[grid-row-number]')\r\n if (!isMobile()) {\r\n rowNum.forEach((item: HTMLElement, e) => {\r\n const desktopPosition = item.getAttribute('grid-row-number');\r\n item.style.gridRowStart = desktopPosition;\r\n })\r\n }\r\n }\r\n}\r\n\r\nnew MediaGrid.setup();\r\n"],"names":["element","scrollTimeout","isAnimationRequested","this","activeLogoForMobile","orderElement","logoRowNumber","window","addEventListener","clearTimeout","setTimeout","requestAnimationForMediaGrid","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","MediaGrid","requestAnimationFrame","mediaGridAnimations","reveals","i","length","windowHeight","innerHeight","getBoundingClientRect","top","classList","add","getDefaultOptions","center","sets","finite","autoplay","draggable","velocity","animation","order","item","e","mobileOrder","getAttribute","style","rowNum","desktopPosition","gridRowStart"],"sourceRoot":""}