{"version":3,"sources":["webpack:///./modules/MediaGrid.ts"],"names":["__webpack_require__","r","__webpack_exports__","uikit__WEBPACK_IMPORTED_MODULE_0__","uikit__WEBPACK_IMPORTED_MODULE_0___default","n","_helpers_helperFunctions__WEBPACK_IMPORTED_MODULE_1__","MediaGrid","element","scrollTimeout","_this","this","isAnimationRequested","activeLogoForMobile","orderElement","logoRowNumber","window","addEventListener","clearTimeout","setTimeout","requestAnimationForMediaGrid","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","requestAnimationFrame","mediaGridAnimations","reveals","i","length","windowHeight","innerHeight","getBoundingClientRect","top","classList","add","getDefaultOptions","center","sets","finite","autoplay","draggable","velocity","animation","order","Object","item","e","mobileOrder","getAttribute","style","a","slider","rowNum","desktopPosition","gridRowStart"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,KAAAI,EAAAJ,EAAAK,EAAAF,GAAAG,EAAAN,EAAA,IAIAO,EAAA,WAQI,SAAAA,EAAmBC,GAAnB,IAOQC,EAPRC,EAAAC,KAAmBA,KAAAH,UAmCXG,KAAAC,sBAAuB,EAlC3BD,KAAKE,sBACLF,KAAKG,eACLH,KAAKI,gBAELC,OAAOC,iBAAiB,SAAUN,KAAKE,qBAGvCG,OAAOC,iBAAiB,SAAU,WAC9BC,aAAaT,GACbA,EAAgBU,WAAW,WAAM,OAAAT,EAAKU,gCAAgC,OAiElF,OAlFWb,EAAAc,MAAP,SAAaC,QAAA,IAAAA,MALM,6BAMfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACvB,GACpH,IAAID,EAAUC,GACdA,EAAQqB,QAAQC,kBAAoB,UAkBpCvB,EAAAyB,UAAAZ,6BAAR,eAAAV,EAAAC,KACSA,KAAKC,uBACND,KAAKC,sBAAuB,EAC5BqB,sBAAsB,WAAM,OAAAvB,EAAKwB,0BAIjC3B,EAAAyB,UAAAE,oBAAR,WACIvB,KAAKC,sBAAuB,EAG5B,IAFA,IAAIuB,EAAUxB,KAAKH,QAAQkB,iBAAiB,8BAEnCU,EAAI,EAAGA,EAAID,EAAQE,OAAQD,IAAK,CACrC,IAAIE,EAAetB,OAAOuB,YACTJ,EAAQC,GAAGI,wBAAwBC,IAEnCH,IADG,KAEhBH,EAAQC,GAAGM,UAAUC,IAAI,YAO7BpC,EAAAyB,UAAAY,kBAAR,WACI,OACIC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,WAAW,EACXC,SAAU,IACVC,UAAW,UAIX5C,EAAAyB,UAAAlB,aAAR,WACI,IAAMsC,EAAQzC,KAAKH,QAAQkB,iBAAiB,uBAExC2B,OAAA/C,EAAA,EAAA+C,IACAD,EAAMrB,QAAQ,SAACuB,EAAmBC,GAC9B,IAAMC,EAAcF,EAAKG,aAAa,qBACtCH,EAAKI,MAAMN,MAAQI,KAKvBjD,EAAAyB,UAAAnB,oBAAR,WACQwC,OAAA/C,EAAA,EAAA+C,IACAjD,EAAAuD,EAAMC,OAAOjD,KAAKH,QAASG,KAAKiC,oBAIhCrC,EAAAyB,UAAAjB,cAAR,WACI,IAAM8C,EAASlD,KAAKH,QAAQkB,iBAAiB,qBACxC2B,OAAA/C,EAAA,EAAA+C,IACDQ,EAAO9B,QAAQ,SAACuB,EAAmBC,GAC/B,IAAMO,EAAkBR,EAAKG,aAAa,mBAC1CH,EAAKI,MAAMK,aAAeD,KAI1CvD,EAnFA,eAqFA,IAAIA,EAAUc","file":"./modules/MediaGrid.0db75d35.js","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"],"sourceRoot":""}