{"version":3,"file":"js/379.08e77685dc27a515.js","mappings":"+GAOM,SAAUA,EAAiDC,EAAgBC,EAAY,IACzF,OAAO,IAAIC,SAASC,IAChB,GAAmC,oBAAxBC,qBAAqC,CAC5C,MAAMC,EAAU,CACZJ,UAAWA,GAGTK,EAAW,IAAIF,sBAAqB,CAACG,EAASD,KAChDC,EACKC,QAAQC,GAAUA,EAAMC,gBAAkBD,EAAME,mBAAqBV,IACrEW,SAASH,IACNN,EAAIM,GACJH,EAASO,UAAUJ,EAAMK,OAAO,GAClC,GACPT,GAEHC,EAASS,QAAQf,EACrB,MACIG,EAAI,KACR,GAER,C,+GCpBA,SAA4Ba,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,8BACRC,KAAAA,CAAMC,GCAR,MAAMC,GAAgBC,EAAAA,EAAAA,IAAiB,MACjCC,GAAqBD,EAAAA,EAAAA,KAAI,GAEzBE,EAAaA,MACfC,EAAAA,EAAAA,KAAS,MACLzB,EAAAA,EAAAA,GAAgBqB,EAAcK,MAAO,GAAGC,MAAK,KACzCJ,EAAmBG,OAAQ,CAAI,GACjC,GACJ,EDON,OCJAF,IDIO,CAACI,EAAUC,MACRC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO,CAC/CC,QAAS,gBACTV,IAAKD,GACJ,CACAE,EAAmBG,QACfI,EAAAA,EAAAA,OAAcG,EAAAA,EAAAA,IAAaC,EAAAA,WAAoB,CAAEC,IAAK,MACvDC,EAAAA,EAAAA,IAAoB,IAAI,IAC3B,KAEL,IEhCMC,EAAc,EAEpB,G","sources":["webpack://@sazka/web/../../libs/utils/viewport-enter.ts","webpack://@sazka/web/./js/app/lotteries/category-page/_syndicates-carousel-widget.vue?40ba","webpack://@sazka/web/./js/app/lotteries/category-page/_syndicates-carousel-widget.vue","webpack://@sazka/web/./js/app/lotteries/category-page/_syndicates-carousel-widget.vue?f41e"],"sourcesContent":["/**\r\n * Returns a Promise that resolves when the given HTML element enters the viewport.\r\n *\r\n * @param {HTMLElement | Element} htmlElement - The HTML element to observe.\r\n * @param {number} [threshold=0.7] - The threshold for intersection.\r\n * @return {Promise<IntersectionObserverEntry | null>} A Promise that resolves with the intersection entry or null if IntersectionObserver is not supported.\r\n */\r\nexport function onViewportEnter<T extends HTMLElement | Element>(htmlElement: T, threshold = 0.7) {\r\n    return new Promise((res) => {\r\n        if (typeof IntersectionObserver != \"undefined\") {\r\n            const options = {\r\n                threshold: threshold,\r\n            };\r\n\r\n            const observer = new IntersectionObserver((entries, observer) => {\r\n                entries\r\n                    .filter((entry) => entry.isIntersecting && entry.intersectionRatio >= threshold)\r\n                    .forEach((entry) => {\r\n                        res(entry);\r\n                        observer.unobserve(entry.target);\r\n                    });\r\n            }, options);\r\n\r\n            observer.observe(htmlElement as HTMLElement);\r\n        } else {\r\n            res(null);\r\n        }\r\n    });\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { nextTick, ref } from \"vue\";\r\nimport SyndicatesCarousel from \"./_syndicates-carousel.vue\";\r\nimport { onViewportEnter } from \"@sazka/utils/viewport-enter\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: '_syndicates-carousel-widget',\n  setup(__props) {\n\r\nconst sliderWrapRef = ref<HTMLElement>(null);\r\nconst sliderIsInViewport = ref(false);\r\n\r\nconst initSlider = () => {\r\n    nextTick(() => {\r\n        onViewportEnter(sliderWrapRef.value, 0).then(() => {\r\n            sliderIsInViewport.value = true;\r\n        });\r\n    });\r\n};\r\n\r\ninitSlider();\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    ref_key: \"sliderWrapRef\",\n    ref: sliderWrapRef\n  }, [\n    (sliderIsInViewport.value)\n      ? (_openBlock(), _createBlock(SyndicatesCarousel, { key: 0 }))\n      : _createCommentVNode(\"\", true)\n  ], 512))\n}\n}\n\n})","<template>\r\n    <div ref=\"sliderWrapRef\">\r\n        <SyndicatesCarousel v-if=\"sliderIsInViewport\" />\r\n    </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { nextTick, ref } from \"vue\";\r\nimport SyndicatesCarousel from \"./_syndicates-carousel.vue\";\r\nimport { onViewportEnter } from \"@sazka/utils/viewport-enter\";\r\n\r\nconst sliderWrapRef = ref<HTMLElement>(null);\r\nconst sliderIsInViewport = ref(false);\r\n\r\nconst initSlider = () => {\r\n    nextTick(() => {\r\n        onViewportEnter(sliderWrapRef.value, 0).then(() => {\r\n            sliderIsInViewport.value = true;\r\n        });\r\n    });\r\n};\r\n\r\ninitSlider();\r\n</script>\r\n","import script from \"./_syndicates-carousel-widget.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./_syndicates-carousel-widget.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["onViewportEnter","htmlElement","threshold","Promise","res","IntersectionObserver","options","observer","entries","filter","entry","isIntersecting","intersectionRatio","forEach","unobserve","target","observe","_defineComponent","__name","setup","__props","sliderWrapRef","ref","sliderIsInViewport","initSlider","nextTick","value","then","_ctx","_cache","_openBlock","_createElementBlock","ref_key","_createBlock","SyndicatesCarousel","key","_createCommentVNode","__exports__"],"sourceRoot":""}