{"version":3,"file":"js/plugins/volley-station-widget.aba1034dad00fa27a9f7.js","mappings":"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","sources":["webpack://@template/frontend/./scripts/libraries/_helpers/events.js","webpack://@template/frontend/./scripts/libraries/_helpers/index.js","webpack://@template/frontend/./scripts/libraries/_plugins/volley-station-widget.js"],"sourcesContent":["\nclass EventsHelper {\n Trigger(eventName, data) {\n const event = new CustomEvent(eventName, { detail: data });\n document.dispatchEvent(event);\n }\n\n On(eventName, callback) {\n if (!callback) { return; }\n document.addEventListener(eventName, callback);\n }\n\n AjaxModuleLoaded() {\n let event = new Event('ajax-module-loaded');\n document.dispatchEvent(event);\n }\n\n OnAjaxModuleLoaded(callback) {\n if (!callback) { return; }\n document.addEventListener(\"ajax-module-loaded\", callback);\n }\n\n ReloadCarousels() {\n let event = new Event('reload-carousels');\n document.dispatchEvent(event);\n }\n\n OnReloadCarousels(callback) {\n if (!callback) { return; }\n document.addEventListener(\"reload-carousels\", callback);\n }\n\n BeforeMatchDay() {\n let event = new Event('before-match-day');\n document.dispatchEvent(event);\n }\n\n OnBeforeMatchDay(callback) {\n if (!callback) { return; }\n document.addEventListener(\"before-match-day\", callback);\n }\n\n AfterMatchDay() {\n let event = new Event('after-match-day');\n document.dispatchEvent(event);\n }\n\n OnAfterMatchDay(callback) {\n if (!callback) { return; }\n document.addEventListener(\"after-match-day\", callback);\n }\n\n GlobalScheduleWeeklyNavChange(fromDate, toDate) {\n let event = new CustomEvent('gs-calendar-nav-date-changed', {\n \"detail\": { \"fromDate\": fromDate, \"toDate\": toDate }\n });\n document.dispatchEvent(event);\n }\n\n OnGlobalScheduleWeeklyNavChange(callback) {\n if (!callback) { return; }\n document.addEventListener(\"gs-calendar-nav-date-changed\", callback);\n }\n\n ContentReload() {\n let event = new Event('content-reload');\n document.dispatchEvent(event);\n }\n\n OnContentReload(callback) {\n if (!callback) { return; }\n document.addEventListener(\"content-reload\", callback);\n }\n}\n\nEventsHelper = new EventsHelper();\nexport default EventsHelper;\n","export const x = (selector, context = document) => context.querySelectorAll(selector);\n\nexport const x0 = (selector, context = document) => context.querySelector(selector);\n\nexport const isTouch = (() =>\n 'ontouchstart' in window || navigator.MaxTouchPoints > 0 || navigator.msMaxTouchPoints > 0)();\n\nexport const getOffsetTop = (elem) => {\n let offsetTop = 0;\n do {\n if (!isNaN(elem.offsetTop)) {\n offsetTop += elem.offsetTop;\n }\n } while ((elem = elem.offsetParent));\n return offsetTop;\n};\n\nexport const getScrollTop = () => {\n if (typeof pageYOffset != 'undefined') {\n return pageYOffset;\n } else {\n let doc = document,\n B = doc.body,\n D = doc.documentElement;\n\n D = D.clientHeight ? D : B;\n return D.scrollTop;\n }\n};\n\nexport const encodeURLComponent = (str) => {\n return encodeURIComponent(str).replace(/[!'()*]/g, escape);\n};\n\nexport const getParametersFromURL = () => {\n let re = /(?:\\?|&(?:amp;)?)([^=&#]+)(?:=?([^&#]*))/g,\n match,\n params = {},\n url = document.location.href,\n decode = (s) => decodeURIComponent(s.replace(/\\+/g, ' '));\n\n while ((match = re.exec(url))) {\n if (!params[decode(match[1])]) {\n params[decode(match[1])] = [];\n }\n params[decode(match[1])].push(decode(match[2]));\n }\n\n return params;\n};\n\nexport const closest = (el, parentClass) => {\n do {\n if (el.classList && el.classList.contains(parentClass)) {\n return el;\n }\n } while ((el = el.parentNode));\n\n return null;\n};\n\nexport const minmax = (value, min, max) => {\n if (parseInt(value) < min || isNaN(parseInt(value))) return min;\n else if (parseInt(value) > max) return max;\n else return value;\n};\n\nexport const setScrollTop = (offset = 0) => {\n document.documentElement.scrollTop = document.body.scrollTop = offset;\n};\n\nexport const getSiblings = (elem) => {\n const siblings = [];\n let sibling = elem.parentNode.firstChild;\n while (sibling) {\n if (sibling.nodeType === 1) {\n siblings.push(sibling);\n }\n sibling = sibling.nextSibling;\n }\n return siblings;\n};\n\nexport const capitalize = (string) => {\n return string.charAt(0).toUpperCase() + string.toLowerCase().slice(1);\n};\n\nexport const isDarkMode = () => window.matchMedia('(prefers-color-scheme: light)').matches;\n\nexport const isDesktop = () => window.innerWidth >= 1024;\nexport const isLargeDesktop = () => window.innerWidth >= 1440;\nexport const isSmallDesktop = () => window.innerWidth >= 1024 && window.innerWidth < 1440;\nexport const isMobile = () => window.innerWidth <= 768;\nexport const isSmallMobile = () => window.innerWidth <= 430;\nexport const isTablet = () => window.innerWidth <= 1024 && window.innerWidth > 768;\nexport const isIOS = (() => /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream)();\nexport const isIE11 = !!(\n navigator.userAgent.match(/Trident/) && navigator.userAgent.match(/rv[ :]11/)\n);\nexport const localLangVal = () => x0('html').lang;\n\nexport const horizontalScrollTo = (element, left, behavior = 'smooth') => document.querySelector(element).scrollTo({ left: left, behavior: behavior });\nexport const verticalScrollTo = (top) => window.scrollTo({ top: top, behavior: 'smooth' });\n\nexport const yieldToMain = () => {\n return new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n}\n","import EventsHelper from \"../_helpers/events\";\nimport { isMobile } from \"../_helpers\";\n\nexport default class VolleyStationWidget {\n constructor() {\n const _this = this;\n\n _this.widgetItems = $(\"[js-vbw-widget-iframe]\");\n if (_this.widgetItems.length == 0) return;\n }\n\n init() {\n const _this = this;\n\n _this.teamLogos = window.matchconfig?.logos;\n _this.widgetHeight = {\n \"play-by-play\": isMobile() ? \"500px\" : \"900px\",\n court: isMobile() ? \"300px\" : \"320px\",\n \"team-stats\": isMobile() ? \"500px\" : \"800px\",\n };\n\n EventsHelper.OnAjaxModuleLoaded(\n () => {\n _this.widgetItems.each(function () {\n _this.updateWidgetIFrame(this);\n });\n },\n { once: true }\n );\n }\n\n updateWidgetIFrame(item) {\n const _this = this;\n\n // https://widgets.volleystation.com/app/widget/{widget}/{id}?side_force=home\n // https://widgets.volleystation.com/app/widget/{widget}/{id}?side_force=home&home_image={home_image}&away_image={away_image} if logo required also remove side_force when using team-stats widget\n let iFrameSrc = $(item).attr(\"data-iframe-url\");\n const widgetId = $(item).attr(\"data-widget-id\");\n\n if (!iFrameSrc || !widgetId) return;\n\n const widget = $(item).attr(\"data-widget\");\n const teamAColor = $(item).attr(\"data-team-a-color\");\n const teamBColor = $(item).attr(\"data-team-b-color\");\n\n iFrameSrc = iFrameSrc.replace(\"{widget}\", widget);\n iFrameSrc = iFrameSrc.replace(\"{id}\", widgetId);\n if (teamAColor) iFrameSrc = iFrameSrc + `&home_color=${teamAColor}`;\n if (teamBColor) iFrameSrc = iFrameSrc + `&away_color=${teamBColor}`;\n if (_this.teamLogos.teamA)\n iFrameSrc = iFrameSrc.replace(\"{home_image}\", _this.teamLogos.teamA);\n if (_this.teamLogos.teamB)\n iFrameSrc = iFrameSrc.replace(\"{away_image}\", _this.teamLogos.teamB);\n\n $(item).find(\".vbw-widget-iframe\").attr(\"src\", iFrameSrc);\n $(item)\n .find(\".vbw-widget-iframe\")\n .attr(\"height\", _this.widgetHeight[widget]);\n }\n}\n"],"names":["EventsHelper","_classCallCheck","_createClass","key","value","eventName","data","event","CustomEvent","detail","document","dispatchEvent","callback","addEventListener","Event","fromDate","toDate","x","selector","arguments","length","undefined","querySelectorAll","x0","querySelector","isTouch","window","navigator","MaxTouchPoints","msMaxTouchPoints","isDesktop","innerWidth","isMobile","isSmallMobile","isTablet","localLangVal","test","userAgent","MSStream","match","lang","horizontalScrollTo","element","left","behavior","scrollTo","VolleyStationWidget","this","widgetItems","$","_window$matchconfig","_this","teamLogos","matchconfig","logos","widgetHeight","court","OnAjaxModuleLoaded","each","updateWidgetIFrame","once","item","iFrameSrc","attr","widgetId","widget","teamAColor","teamBColor","replace","concat","teamA","teamB","find"],"sourceRoot":""}