{"version":3,"file":"js/1326.6468c601eef8abe1.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/landing-page/widgets/_hero-banner-redesign.ts","webpack://@sazka/web/../../libs/utils/debounce.ts","webpack://@sazka/web/../../libs/utils/document-ready.ts"],"sourcesContent":["import { documentReady } from \"@sazka/utils/document-ready\";\r\nimport { debounce } from \"@sazka/utils/debounce\";\r\nimport { LotteryCountdownManager } from \"@/lotteries/components/lottery-countdown-manager\";\r\n\r\ndocumentReady(() => {\r\n LotteryCountdownManager.instance = new LotteryCountdownManager();\r\n\r\n const body = document.body;\r\n const heroBanner = document.querySelector(\".lp-hero\");\r\n const transparentClass = document.querySelectorAll(\".lp-hero-redesign--transparent\");\r\n const heroSolid = document.querySelector(\".lp-hero-redesign__solid\");\r\n const header = document.getElementById(\"header\");\r\n const buttonMain = document.getElementById(\"lp-hero-redesign-button-main\");\r\n const buttonSticky = document.getElementById(\"lp-hero-redesign-button-sticky\");\r\n const classNameForStickyEnabled = \"lp-hero-redesign__button-sticky--on\";\r\n const playButton = document.querySelector<HTMLButtonElement>('[data-js-hook=\"hero-play-btn\"]');\r\n const videoDesktop = document.querySelector<HTMLVideoElement>(\"video.lp-hero-video--desktop\");\r\n const videoTablet = document.querySelector<HTMLVideoElement>(\"video.lp-hero-video--tablet\");\r\n const videoMobile = document.querySelector<HTMLVideoElement>(\"video.lp-hero-video--mobile\");\r\n\r\n if (transparentClass.length > 0 && heroSolid && header) {\r\n const heroSolidStyle = heroSolid.getAttribute(\"style\");\r\n if (heroSolidStyle && heroSolidStyle.indexOf(\"#\") > -1) {\r\n header.setAttribute(\"style\", heroSolidStyle);\r\n }\r\n header.classList.add(\"header--hero\");\r\n }\r\n\r\n window.addEventListener(\r\n \"resize\",\r\n debounce(() => {\r\n if (window.matchMedia(\"(min-width: 2500px)\").matches && transparentClass.length > 0) {\r\n heroBanner?.classList.add(\"has-overlay\");\r\n }\r\n }, 50),\r\n { passive: true }\r\n );\r\n\r\n if (buttonSticky && buttonMain) {\r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach((entry) => {\r\n if (!entry.isIntersecting && window.matchMedia(\"(max-width: 767px)\").matches) {\r\n buttonSticky.classList.add(classNameForStickyEnabled);\r\n } else {\r\n buttonSticky.classList.remove(classNameForStickyEnabled);\r\n }\r\n });\r\n });\r\n observer.observe(buttonMain);\r\n }\r\n\r\n if (body.classList.contains(\"safari\") && (\"ontouchstart\" in window || navigator.maxTouchPoints > 0)) {\r\n playButton?.classList.add(\"d-none\");\r\n }\r\n\r\n const isVideoPlaying = (video: HTMLVideoElement | null): boolean =>\r\n !!(video && video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2);\r\n\r\n const setupSound = (video: HTMLVideoElement | null) => {\r\n if (video) {\r\n video.onended = () => {\r\n video.play();\r\n video.muted = true;\r\n };\r\n }\r\n };\r\n\r\n const setupVideos = () => {\r\n if (window.innerWidth < 960) {\r\n videoMobile?.play();\r\n videoTablet?.pause();\r\n videoDesktop?.pause();\r\n setupSound(videoMobile);\r\n } else if (window.innerWidth >= 960 && window.innerWidth < 1280) {\r\n videoMobile?.pause();\r\n videoTablet?.play();\r\n videoDesktop?.pause();\r\n setupSound(videoTablet);\r\n } else {\r\n videoMobile?.pause();\r\n videoTablet?.pause();\r\n videoDesktop?.play();\r\n setupSound(videoDesktop);\r\n }\r\n };\r\n\r\n const handlePlayButton = () => {\r\n playButton?.classList.add(\"is-hidden\");\r\n setupVideos();\r\n };\r\n\r\n playButton?.addEventListener(\"click\", handlePlayButton);\r\n\r\n window.addEventListener(\r\n \"resize\",\r\n debounce(() => {\r\n if (isVideoPlaying(videoMobile) || isVideoPlaying(videoTablet) || isVideoPlaying(videoDesktop)) {\r\n setupVideos();\r\n }\r\n }, 10),\r\n { passive: true }\r\n );\r\n\r\n setupVideos();\r\n});\r\n","/**\r\n * Debounce function - use like this:\r\n * var handler = debounce(function(){ do the work}, 100);\r\n * $(window).scroll(handler);\r\n * @param func callback function\r\n * @param wait time in milliseconds to wait\r\n * @param immediate\r\n */\r\n\r\ntype CallbackFunction = (...args: any[]) => any;\r\n\r\nexport function debounce<T extends CallbackFunction>(func: T, wait: number, immediate = false) {\r\n let timeout: number | null;\r\n\r\n return function (this: ThisParameterType<T>, ...args: Parameters<T>) {\r\n /* eslint-disable @typescript-eslint/no-this-alias */\r\n const context = this;\r\n const later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n const callNow = immediate && !timeout;\r\n clearTimeout(timeout as number);\r\n timeout = window.setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n };\r\n}\r\n","/**\r\n * Vanila JS variant to jQuery $(() => {}).\r\n * @param {callback} callback\r\n * @example - documentReady(() => {}).\r\n * This function is binding to document.ready\r\n * */\r\nexport function documentReady(callback: () => void) {\r\n if (document.readyState !== \"loading\") {\r\n return callback();\r\n } else {\r\n document.addEventListener(\"DOMContentLoaded\", callback);\r\n }\r\n}\r\n"],"names":["documentReady","LotteryCountdownManager","instance","body","document","heroBanner","querySelector","transparentClass","querySelectorAll","heroSolid","header","getElementById","buttonMain","buttonSticky","classNameForStickyEnabled","playButton","videoDesktop","videoTablet","videoMobile","length","heroSolidStyle","getAttribute","indexOf","setAttribute","classList","add","window","addEventListener","debounce","matchMedia","matches","passive","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","remove","observe","contains","navigator","maxTouchPoints","isVideoPlaying","video","currentTime","paused","ended","readyState","setupSound","onended","play","muted","setupVideos","innerWidth","pause","handlePlayButton","func","wait","immediate","timeout","args","context","this","later","apply","callNow","clearTimeout","setTimeout","callback"],"sourceRoot":""}