{"version":3,"file":"main-BCr0pV3S.js","sources":["../../MGAC.Frontend/node_modules/lazyframe/src/lazyframe.js","../../MGAC.Frontend/main.js"],"sourcesContent":["import './scss/lazyframe.scss'\n\nconst Lazyframe = () => {\n\n let settings;\n\n const elements = [];\n\n const defaults = {\n vendor: undefined,\n id: undefined,\n src: undefined,\n thumbnail: undefined,\n title: undefined,\n initialized: false,\n y: undefined,\n debounce: 250,\n lazyload: true,\n autoplay: true,\n initinview: false,\n onLoad: (l) => {},\n onAppend: (l) => {},\n onThumbnailLoad: (img) => {}\n };\n\n const constants = {\n regex: {\n youtube_nocookie: /(?:youtube-nocookie\\.com\\/\\S*(?:(?:\\/e(?:mbed))?\\/|watch\\?(?:\\S*?&?v\\=)))([a-zA-Z0-9_-]{6,11})/,\n youtube: /(?:youtube\\.com\\/\\S*(?:(?:\\/e(?:mbed))?\\/|watch\\?(?:\\S*?&?v\\=))|youtu\\.be\\/)([a-zA-Z0-9_-]{6,11})/,\n vimeo: /vimeo\\.com\\/(?:video\\/)?([0-9]*)(?:\\?|)/,\n },\n condition: {\n youtube: (m) => (m && m[1].length == 11 ? m[1] : false),\n youtube_nocookie: (m) => (m && m[1].length == 11 ? m[1] : false),\n vimeo: (m) =>\n (m && m[1].length === 9) || m[1].length === 8 ? m[1] : false,\n },\n src: {\n youtube: (s) =>\n `https://www.youtube.com/embed/${s.id}/?autoplay=${\n s.autoplay ? \"1\" : \"0\"\n }&${s.query}`,\n youtube_nocookie: (s) =>\n `https://www.youtube-nocookie.com/embed/${s.id}/?autoplay=${\n s.autoplay ? \"1\" : \"0\"\n }&${s.query}`,\n vimeo: (s) =>\n `https://player.vimeo.com/video/${s.id}/?autoplay=${\n s.autoplay ? \"1\" : \"0\"\n }&${s.query}`,\n },\n endpoint: (s) => `https://noembed.com/embed?url=${s.src}`,\n response: {\n title: (r) => r.title,\n thumbnail: (r) => r.thumbnail_url,\n },\n };\n\n function init(elements, ...args) {\n settings = Object.assign({}, defaults, args[0]);\n\n if (typeof elements === 'string') {\n\n const selector = document.querySelectorAll(elements);\n for (let i = 0; i < selector.length; i++) {\n loop(selector[i]);\n }\n } else if (typeof elements.length === 'undefined'){\n loop(elements);\n } else {\n for (let i = 0; i < elements.length; i++) {\n loop(elements[i]);\n }\n }\n\n if (settings.lazyload) {\n scroll();\n }\n\n }\n\n function loop(el) {\n\n if(el instanceof HTMLElement === false ||\n el.classList.contains('lazyframe--loaded')) return;\n\n const lazyframe = {\n el: el,\n settings: setup(el),\n };\n\n lazyframe.el.addEventListener('click', () => {\n lazyframe.el.appendChild(lazyframe.iframe);\n\n const iframe = el.querySelectorAll('iframe');\n lazyframe.settings.onAppend.call(this, iframe[0]);\n });\n\n if (settings.lazyload) {\n build(lazyframe);\n } else {\n api(lazyframe, !!lazyframe.settings.thumbnail);\n }\n\n }\n\n function setup(el) {\n\n const attr = Array.prototype.slice.apply(el.attributes)\n .filter(att => att.value !== '')\n .reduce((obj, curr) => {\n let name = curr.name.indexOf('data-') === 0 ? curr.name.split('data-')[1] : curr.name;\n obj[name] = curr.value;\n return obj;\n }, {});\n\n const options = Object.assign({},\n settings,\n attr,\n {\n y: el.offsetTop,\n originalSrc: attr.src,\n query: getQuery(attr.src)\n }\n );\n\n if (options.vendor) {\n const match = options.src.match(constants.regex[options.vendor]);\n options.id = constants.condition[options.vendor](match);\n }\n\n return options;\n\n }\n\n function getQuery(src) {\n const query = src.split('?');\n return query[1] ? query[1] : null\n }\n\n function useApi(settings) {\n if (!settings.vendor) return false;\n return !settings.title || !settings.thumbnail;\n }\n\n function api(lazyframe) {\n\n if (useApi(lazyframe.settings)) {\n send(lazyframe, (err, data) => {\n if (err) return;\n\n const response = data[0];\n const _l = data[1];\n\n if (!_l.settings.title) {\n _l.settings.title = constants.response.title(response);\n }\n if (!_l.settings.thumbnail) {\n const url = constants.response.thumbnail(response);\n _l.settings.thumbnail = url;\n lazyframe.settings.onThumbnailLoad.call(this, url);\n }\n build(_l, true);\n\n });\n\n }else{\n build(lazyframe, true);\n }\n\n }\n\n function send(lazyframe, cb) {\n\n const endpoint = constants.endpoint(lazyframe.settings);\n const request = new XMLHttpRequest();\n\n request.open('GET', endpoint, true);\n\n request.onload = function() {\n if (request.status >= 200 && request.status < 400) {\n const data = JSON.parse(request.responseText);\n cb(null, [data, lazyframe]);\n } else {\n cb(true);\n }\n };\n\n request.onerror = function() {\n cb(true);\n };\n\n request.send();\n\n }\n\n function scroll() {\n\n const height = window.innerHeight;\n let count = elements.length;\n const initElement = (el, i) => {\n el.settings.initialized = true;\n el.el.classList.add('lazyframe--loaded');\n count--;\n api(el);\n\n if (el.settings.initinview) {\n el.el.click();\n }\n\n el.settings.onLoad.call(this, el);\n }\n\n elements\n .filter(el => el.settings.y < height)\n .forEach(initElement);\n\n const onScroll = debounce(() => {\n\n up = lastY < window.pageYOffset;\n lastY = window.pageYOffset;\n\n if (up) {\n elements\n .filter(el => el.settings.y < (height + lastY) && el.settings.initialized === false)\n .forEach(initElement);\n }\n\n if (count === 0) {\n window.removeEventListener('scroll', onScroll, false);\n }\n\n }, settings.debounce);\n\n let lastY = 0;\n let up = false;\n\n window.addEventListener('scroll', onScroll, false);\n\n function debounce(func, wait, immediate) {\n let timeout;\n return function() {\n let context = this, args = arguments;\n let later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n let callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n };\n\n }\n\n function build(lazyframe, loadImage) {\n\n lazyframe.iframe = getIframe(lazyframe.settings);\n\n if (lazyframe.settings.thumbnail && loadImage) {\n lazyframe.el.style.backgroundImage = `url(${lazyframe.settings.thumbnail})`;\n }\n\n if (lazyframe.settings.title && lazyframe.el.children.length === 0) {\n const docfrag = document.createDocumentFragment(),\n titleNode = document.createElement('span');\n\n titleNode.className = 'lazyframe__title';\n titleNode.innerHTML = lazyframe.settings.title;\n docfrag.appendChild(titleNode);\n\n lazyframe.el.appendChild(docfrag);\n }\n\n if (!settings.lazyload) {\n lazyframe.el.classList.add('lazyframe--loaded');\n lazyframe.settings.onLoad.call(this, lazyframe);\n elements.push(lazyframe);\n }\n\n if (!lazyframe.settings.initialized) {\n elements.push(lazyframe);\n }\n\n }\n\n function getIframe(settings) {\n\n const docfrag = document.createDocumentFragment();\n const iframeNode = document.createElement('iframe');\n\n if (settings.vendor) {\n settings.src = constants.src[settings.vendor](settings);\n }\n\n iframeNode.setAttribute('id', `lazyframe-${settings.id}`);\n iframeNode.setAttribute('src', settings.src);\n iframeNode.setAttribute('frameborder', 0);\n iframeNode.setAttribute('allowfullscreen', '');\n \n if (settings.autoplay) {\n iframeNode.allow = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture';\n }\n\n docfrag.appendChild(iframeNode);\n return docfrag;\n\n }\n\n return init;\n\n}\n\nconst lf = Lazyframe();\n\nexport default lf;\n","import './sass/main.scss'\r\nimport lazyframe from 'lazyframe';\r\n\r\n//if (document.querySelector(\".timeline-block__container\")) {\r\n// import(\"./scripts/components/splide-timeline\").then((init) => init.default());\r\n//}\r\n//if (document.querySelector(\".carousel-block__container\")) {\r\n// import(\"./scripts/components/splide-carousel\").then((init) => init.default());\r\n//}\r\nlazyframe(\".lazyframe\");\r\n"],"names":["Lazyframe","settings","elements","defaults","l","img","constants","m","s","r","init","args","selector","loop","i","scroll","el","lazyframe","setup","iframe","build","api","attr","att","obj","curr","name","options","getQuery","match","src","query","useApi","send","err","data","response","_l","url","cb","endpoint","request","height","count","initElement","onScroll","debounce","up","lastY","func","wait","immediate","timeout","context","later","loadImage","getIframe","docfrag","titleNode","iframeNode","lf"],"mappings":"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","x_google_ignoreList":[0]}