{"version":3,"file":"js/5774.f9916aba7c0121fb.js","mappings":"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","sources":["webpack://@sazka/web/../../libs/design-system/src/loader/loader.ts","webpack://@sazka/web/../../libs/design-system/src/modal-video/use-ds-modal-video-tools.ts","webpack://@sazka/web/../../libs/utils/document-ready.ts","webpack://@sazka/web/../../node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.13_vue@3.5.13_typescript@5.7.3__webpack@5.95.0_@swc+c_34j4td3qllqrpsyknfjyyfkdq4/node_modules/vue-loader/dist/exportHelper.js","webpack://@sazka/web/./js/app/casino/our-office/articles-model.ts","webpack://@sazka/web/./js/app/casino/our-office/analytics-office.ts","webpack://@sazka/web/./js/app/casino/our-office/_office-articles.vue?bdc6","webpack://@sazka/web/./js/app/casino/our-office/_office-articles.vue","webpack://@sazka/web/./js/app/casino/our-office/_office-articles.vue?e77d","webpack://@sazka/web/./js/app/shared/components/modal-popup.vue?d6da","webpack://@sazka/web/./js/app/shared/components/modal-popup.vue","webpack://@sazka/web/./js/app/shared/components/modal-popup.vue?fb76","webpack://@sazka/web/../../libs/design-system/src/typography/typography-headline.vue?9cee","webpack://@sazka/web/../../libs/design-system/src/typography/typography-headline.vue","webpack://@sazka/web/../../libs/design-system/src/typography/typography-headline.vue?d045"],"sourcesContent":["import { documentReady } from \"@sazka/utils/document-ready\";\r\n\r\ndeclare const environment: any;\r\ntype ColorVariant = \"yellow\" | \"blue\";\r\n\r\n/**\r\n * Loader tells user, he has to wait for some ajax operation\r\n */\r\nexport class Loader {\r\n private static showTimeout: number;\r\n private static hideTimeout: number;\r\n private static lockNumber = 0;\r\n public static get isShown() {\r\n return this.lockNumber > 0;\r\n }\r\n\r\n static {\r\n // loader from backend\r\n if (document.body) {\r\n this.showLoaderFromBackend();\r\n } else {\r\n documentReady(() => {\r\n this.showLoaderFromBackend();\r\n });\r\n }\r\n }\r\n\r\n static showLoaderFromBackend() {\r\n if (document.body.classList.contains(\"loader\")) {\r\n this.lockNumber++;\r\n }\r\n }\r\n\r\n /**\r\n * Shows loader after some time in miliseconds\r\n * This is to reduce flickering when ajax actions are super-fast\r\n *\r\n * @param showLoaderIn Time in miliseconds, after which, loaded will be shown\r\n * @param text Title (waiting message) displayed in loader\r\n */\r\n static show(showLoaderIn = 30, text?: string, aboveAll = false, color: ColorVariant = \"yellow\") {\r\n this.clearTimeout();\r\n this.lockNumber++;\r\n\r\n this.showTimeout = window.setTimeout(() => {\r\n this.showNow(text, aboveAll, true, color);\r\n }, showLoaderIn);\r\n }\r\n\r\n /**\r\n * Shows loader right away\r\n * @param text Title (waiting message) displayed in loader\r\n */\r\n static showNow(text?: string, aboveAll = false, counted = false, color: ColorVariant = \"yellow\") {\r\n if (!counted) {\r\n this.lockNumber++;\r\n }\r\n\r\n if (!environment.isEditMode) {\r\n const loader = document.getElementById(\"loader\");\r\n\r\n if (!loader) return;\r\n\r\n if (aboveAll) {\r\n loader.classList.add(\"loader--above-all\");\r\n } else {\r\n loader.classList.remove(\"loader--above-all\");\r\n }\r\n if (text) {\r\n loader.querySelector(\".loader__text\").textContent = text;\r\n loader.classList.add(\"loader--with-text\");\r\n } else {\r\n loader.querySelector(\".loader__text\").textContent = \"\";\r\n loader.classList.remove(\"loader--with-text\");\r\n }\r\n\r\n if (color === \"blue\") {\r\n loader.classList.add(\"loader--blue\");\r\n }\r\n\r\n document.body.classList.add(\"loader\", \"loader--fade-in\");\r\n this.clearTimeout();\r\n }\r\n }\r\n\r\n /**\r\n * Shows loader after delay with z-index of 9999\r\n * @param text Title (waiting message) displayed in loader\r\n */\r\n static showAboveAll(showLoaderIn = 30, text?: string) {\r\n this.show(showLoaderIn, text, true);\r\n }\r\n\r\n /**\r\n * Shows loader right away with z-index of 9999\r\n * @param text Title (waiting message) displayed in loader\r\n */\r\n static showNowAboveAll(text?: string) {\r\n this.showNow(text, true);\r\n }\r\n\r\n /**\r\n * Hides loader\r\n */\r\n static hide() {\r\n this.lockNumber--;\r\n if (this.lockNumber > 0) return;\r\n\r\n this.clearTimeout();\r\n document.body.classList.remove(\"loader--fade-in\");\r\n this.hideTimeout = window.setTimeout(() => {\r\n document.body.classList.remove(\"loader\");\r\n const loader = document.getElementById(\"loader\");\r\n loader.querySelector(\".loader__text\").textContent = \"\";\r\n loader.classList.remove(\"loader--with-text\");\r\n }, 150);\r\n }\r\n\r\n private static clearTimeout() {\r\n if (this.showTimeout) {\r\n clearTimeout(this.showTimeout);\r\n this.showTimeout = null;\r\n }\r\n if (this.hideTimeout) {\r\n clearTimeout(this.hideTimeout);\r\n this.hideTimeout = null;\r\n }\r\n }\r\n}\r\n","import { UrlUtils } from \"@sazka/utils/url\";\r\n\r\nexport const useDsModalVideoTools = (urlOrCode: string) => {\r\n const embedVideoUrl = (() => {\r\n // is embed url\r\n if (urlOrCode.indexOf(\"embed\") >= 0) return urlOrCode;\r\n\r\n // get code from youtube url\r\n const code = UrlUtils.getQueryString(\"v\", urlOrCode);\r\n return `https://www.youtube-nocookie.com/embed/${code || urlOrCode}?autoplay=1`;\r\n })();\r\n\r\n return {\r\n embedVideoUrl,\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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","interface ArticleAutorDto {\r\n name: string;\r\n image: string;\r\n}\r\n\r\nexport interface ArticleTagResponseModel {\r\n tagName: string;\r\n tagDisplayName: string;\r\n tagCount: number;\r\n}\r\n\r\nexport interface ArticleResponseModel {\r\n id: number;\r\n name: string;\r\n url: string;\r\n imageUrl: string;\r\n gameImageUrl: string;\r\n gameName: string;\r\n gameId: number;\r\n gameUrl: string;\r\n videoCodes: string[];\r\n cardType: string;\r\n tag: string;\r\n cardVertical: string;\r\n date: string;\r\n autor: ArticleAutorDto;\r\n}\r\n\r\nexport interface CasinoArticleResponse {\r\n casinoArticles: ArticleResponseModel[];\r\n twitchWildCats: boolean;\r\n}\r\n\r\nexport class ArticleRequestModel {\r\n tag: string;\r\n pageSize: number;\r\n offset: number;\r\n articleType: string;\r\n not: string;\r\n\r\n constructor(tag: string, offset: number, isInit: boolean) {\r\n this.tag = tag;\r\n this.offset = offset;\r\n\r\n this.pageSize = isInit ? this.getInitPageSize() : this.getPageSize();\r\n this.articleType = environment.nodeAliasPath.indexOf(\"/losy/\") == 0 ? \"losy\" : \"hry\";\r\n }\r\n\r\n private getInitPageSize() {\r\n if (window.matchMedia(\"(min-width: 1680px)\").matches) {\r\n return 22;\r\n } else if (window.matchMedia(\"(min-width: 1200px)\").matches) {\r\n return 18;\r\n } else if (window.matchMedia(\"(min-width:960px)\").matches) {\r\n return 14;\r\n } else if (window.matchMedia(\"(min-width: 768px)\").matches) {\r\n return 15;\r\n } else {\r\n return 7;\r\n }\r\n }\r\n\r\n private getPageSize() {\r\n if (window.matchMedia(\"(min-width: 1680px)\").matches) {\r\n return 18;\r\n } else if (window.matchMedia(\"(min-width: 1200px)\").matches) {\r\n return 15;\r\n } else if (window.matchMedia(\"(min-width:960px)\").matches) {\r\n return 8;\r\n } else if (window.matchMedia(\"(min-width: 768px)\").matches) {\r\n return 9;\r\n } else {\r\n return 4;\r\n }\r\n }\r\n}\r\n","export namespace OfficeAnalytics {\r\n export const pushOpenFilter = () => {\r\n window.dataLayer.push({\r\n event: \"action.openFilters.office\",\r\n });\r\n };\r\n\r\n export const pushApplyFilter = (filterItem: string) => {\r\n window.dataLayer.push({\r\n event: \"action.applyFilters.office\",\r\n action: {\r\n applyFilters: {\r\n label: filterItem ? filterItem : \"VÅ¡e\",\r\n },\r\n },\r\n });\r\n };\r\n\r\n export const pushRemoveFilter = (filterItem: string) => {\r\n window.dataLayer.push({\r\n event: \"action.removeFilters.office\",\r\n action: {\r\n removeFilters: {\r\n label: filterItem,\r\n },\r\n },\r\n });\r\n };\r\n\r\n export const pushLoadOlder = () => {\r\n window.dataLayer.push({\r\n event: \"action.loadOlder.office\",\r\n });\r\n };\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, unref as _unref, vModelRadio as _vModelRadio } from \"vue\"\n\nconst _hoisted_1 = { class: \"office-articles__filter-wrapper\" }\nconst _hoisted_2 = { class: \"office-articles__filter-navigation\" }\nconst _hoisted_3 = [\"href\"]\nconst _hoisted_4 = { class: \"office-card__img-wrapper\" }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = [\"href\"]\nconst _hoisted_7 = { class: \"office-card__img-wrapper\" }\nconst _hoisted_8 = [\"innerHTML\"]\nconst _hoisted_9 = {\n key: 0,\n class: \"office-card__video-button\"\n}\nconst _hoisted_10 = {\n key: 0,\n class: \"office-card__tag\"\n}\nconst _hoisted_11 = { class: \"office-card__content\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"office-card__date\"\n}\nconst _hoisted_13 = [\"innerHTML\"]\nconst _hoisted_14 = {\n class: \"office-articles__jackpot-container\",\n id: \"our-jackpots\"\n}\nconst _hoisted_15 = { class: \"office-articles__coins\" }\nconst _hoisted_16 = { class: \"office-articles__buttons\" }\nconst _hoisted_17 = { class: \"filter-popup__options-wrapper\" }\nconst _hoisted_18 = [\"id\", \"value\"]\nconst _hoisted_19 = [\"for\"]\n\nimport { nextTick, ref, computed } from \"vue\";\r\nimport DsHeadline from \"@sazka/design-system/src/typography/typography-headline.vue\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport ModalPopup from \"@/shared/components/modal-popup.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport { httpClient } from \"@sazka/utils/http-clients/http-client\";\r\n\r\nimport { Loader } from \"@sazka/design-system/src/loader/loader\";\r\nimport { DateTimeUtils } from \"@sazka/utils/date-time-utils\";\r\n\r\nimport {\r\n ArticleResponseModel,\r\n CasinoArticleResponse,\r\n ArticleRequestModel,\r\n ArticleTagResponseModel,\r\n} from \"./articles-model\";\r\n\r\nimport { GlobalEvents, eventBus } from \"@sazka/utils/global-events\";\r\nimport { useDsModalVideoTools } from \"@sazka/design-system/src/modal-video/use-ds-modal-video-tools\";\r\n\r\nimport { WebpHelper } from \"@sazka/utils/webp-helper\";\r\nimport { OfficeAnalytics } from \"./analytics-office\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: '_office-articles',\n setup(__props) {\n\r\nconst filterShowed = ref(false);\r\nconst isReady = ref(false);\r\nconst articlesLoaded = ref(false);\r\n\r\nlet loaderCounter = 0;\r\nconst loaderShow = () => {\r\n if (!loaderCounter) {\r\n Loader.show(300);\r\n }\r\n\r\n loaderCounter++;\r\n};\r\n\r\nconst loaderHide = () => {\r\n loaderCounter--;\r\n if (!loaderCounter) {\r\n Loader.hide();\r\n }\r\n};\r\n\r\nconst getTagOptionFromQuery = () => {\r\n const currentQueries = window.location.search.replace(\"?\", \"\").split(\"&\");\r\n const currentQueryTagOption = currentQueries.find((item) => item.startsWith(\"tag=\"));\r\n\r\n if (currentQueryTagOption) {\r\n return currentQueryTagOption.split(\"=\")[1];\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nconst tags = ref<ArticleTagResponseModel[]>([]);\r\nconst currentMaxCount = ref(0);\r\nconst reloadTags = async () => {\r\n try {\r\n loaderShow();\r\n const currentTags = (\r\n await httpClient\r\n // TODO Edit tag name\r\n .get(\r\n `/api/casino-tags?cardVertical=${environment.nodeAliasPath.indexOf(\"/losy/\") == 0 ? \"losy\" : \"hry\"}`\r\n )\r\n ).data;\r\n\r\n let count = 0;\r\n currentTags.forEach((item) => {\r\n count += item.tagCount;\r\n });\r\n\r\n tags.value.push({ tagName: \"\", tagDisplayName: \"VÅ¡e\", tagCount: count });\r\n tags.value = tags.value.concat(currentTags);\r\n\r\n currentMaxCount.value = count;\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n loaderHide();\r\n }\r\n\r\n return Promise.resolve();\r\n};\r\n\r\nconst currentFilterOption = ref(\"\");\r\nconst selectedFilterOption = ref(\"\");\r\n\r\nconst articles = ref<ArticleResponseModel[]>([]);\r\nconst twitchWildCats = ref(false);\r\nconst twitchWildCatsUrl = computed(() => \"https://player.twitch.tv/?channel=divokykocky&parent=\" + location.host);\r\n\r\nconst getCasinoResponse = async (isInit = false): Promise<CasinoArticleResponse> => {\r\n loaderShow();\r\n const articleRequest = new ArticleRequestModel(\r\n currentFilterOption.value,\r\n isInit ? 0 : articles.value.length,\r\n isInit\r\n );\r\n try {\r\n return (await httpClient.post(\"/api/casino-article\", articleRequest)).data;\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n } finally {\r\n loaderHide();\r\n articlesLoaded.value = true;\r\n }\r\n};\r\n\r\nconst init = async () => {\r\n await reloadTags();\r\n let tagFromQuery = getTagOptionFromQuery();\r\n\r\n if (tagFromQuery) {\r\n tagFromQuery = tagFromQuery.toLowerCase();\r\n const currentTag = tags.value.find(\r\n (item) => item.tagName.toLowerCase() == tagFromQuery || item.tagDisplayName.toLowerCase() == tagFromQuery\r\n );\r\n if (currentTag) {\r\n currentFilterOption.value = currentTag.tagName;\r\n currentMaxCount.value = currentTag.tagCount;\r\n } else {\r\n currentFilterOption.value = tagFromQuery;\r\n currentMaxCount.value = 0;\r\n }\r\n }\r\n\r\n const response = await getCasinoResponse(true);\r\n articles.value = response.casinoArticles;\r\n twitchWildCats.value = response.twitchWildCats;\r\n isReady.value = true;\r\n nextTick(() => {\r\n const jackpotsRoot = document.getElementById(\"office-jackpots\");\r\n document.getElementById(\"our-jackpots\").appendChild(jackpotsRoot);\r\n eventBus.emit(GlobalEvents.JackpotsCarouselResize);\r\n });\r\n};\r\n\r\ninit();\r\n\r\nconst getNextArticles = async () => {\r\n OfficeAnalytics.pushLoadOlder();\r\n const response = await getCasinoResponse();\r\n articles.value = articles.value.concat(response.casinoArticles);\r\n};\r\n\r\nconst showFilter = () => {\r\n OfficeAnalytics.pushOpenFilter();\r\n filterShowed.value = true;\r\n selectedFilterOption.value = currentFilterOption.value;\r\n};\r\n\r\nconst setFilter = async () => {\r\n OfficeAnalytics.pushApplyFilter(selectedFilterOption.value);\r\n currentFilterOption.value = selectedFilterOption.value;\r\n const currentTag = tags.value.find((item) => item.tagName == currentFilterOption.value);\r\n currentMaxCount.value = currentTag ? currentTag.tagCount : tags.value[0].tagCount;\r\n\r\n articles.value = await (await getCasinoResponse(true)).casinoArticles;\r\n filterShowed.value = false;\r\n};\r\n\r\nconst resetFilter = async () => {\r\n OfficeAnalytics.pushRemoveFilter(currentFilterOption.value);\r\n currentFilterOption.value = \"\";\r\n articles.value = await (await getCasinoResponse(true)).casinoArticles;\r\n filterShowed.value = false;\r\n currentMaxCount.value = tags.value[0].tagCount;\r\n};\r\n\r\nconst formatDate = (date: string) => {\r\n return DateTimeUtils.formatDateShort(new Date(date));\r\n};\r\n\r\nconst articleImageHtml = (imageUrl: string, alt?: string, width?: number, height?: number) => {\r\n return WebpHelper.createPictureTag(imageUrl, alt, \"\", width, height);\r\n};\r\n\r\nconst coinImages = [\r\n { url: \"/frontend/web/img/casino/jackpots-promo-banner/coins/coin-left.svg\" },\r\n { url: \"/frontend/web/img/casino/jackpots-promo-banner/coins/coin-top.svg\" },\r\n { url: \"/frontend/web/img/casino/jackpots-promo-banner/coins/coin-right.svg\" },\r\n];\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"office-articles\", { loaded: !isReady.value }])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"office-articles__filter\", { 'filter-active': currentFilterOption.value }])\n }, [\n _createVNode(DsHeadline, {\n theme: \"dark\",\n \"tag-name\": \"h2\",\n type: \"floor\",\n icon: \"coffee\",\n class: \"my-0\"\n }, {\n default: _withCtx(() => _cache[3] || (_cache[3] = [\n _createTextVNode(\"NaÅ¡e kancelář\")\n ])),\n _: 1\n }),\n _createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn office-articles__filter-button btn-outline-dark\",\n onClick: showFilter\n }, [\n _cache[4] || (_cache[4] = _createElementVNode(\"span\", { class: \"office-articles__filter-text\" }, \"Filtrovat\", -1)),\n _createVNode(DsIcon, {\n name: \"filter\",\n width: 16,\n height: 16,\n class: \"mr-0\"\n })\n ])\n ], 2),\n _withDirectives(_createElementVNode(\"div\", _hoisted_2, [\n _cache[5] || (_cache[5] = _createElementVNode(\"div\", { class: \"office-articles__header-done\" }, \"Vyfiltrováno\", -1)),\n _createElementVNode(\"div\", {\n class: \"office-articles__filter-tag ico-plus\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (resetFilter()))\n }, _toDisplayString(currentFilterOption.value), 1)\n ], 512), [\n [_vShow, currentFilterOption.value]\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"office-articles__articles-wrapper\", {\r\n 'length-0': articles.value.length == 0,\r\n 'length-1': articles.value.length == 1,\r\n 'length-2': articles.value.length == 2,\r\n }])\n }, [\n (twitchWildCats.value)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: twitchWildCatsUrl.value,\n class: \"office-articles__article office-articles__article--cats office-card btn-video\",\n \"data-source\": \"twitchWildCats\"\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: \"office-card__img\",\n innerHTML: \r\n articleImageHtml(\r\n '/frontend/web/img/casino/our-office/bg-divoke-kocky.jpg',\r\n 'Wild Cats',\r\n 1000,\r\n 381\r\n )\r\n \n }, null, 8, _hoisted_5),\n _cache[6] || (_cache[6] = _createElementVNode(\"div\", { class: \"office-card__video-button video\" }, [\n _createElementVNode(\"span\", { class: \"office-card__ico-play\" })\n ], -1)),\n _cache[7] || (_cache[7] = _createElementVNode(\"div\", { class: \"office-card__img-gradient\" }, null, -1))\n ]),\n _cache[8] || (_cache[8] = _createElementVNode(\"div\", { class: \"office-card__content\" }, [\n _createElementVNode(\"div\", {\n class: \"office-card__name\",\n innerHTML: 'PRÃVÉ PROBÃHà LIVE STREAM'\n })\n ], -1))\n ], 8, _hoisted_3))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(articles.value, (article) => {\n return (_openBlock(), _createElementBlock(\"a\", {\n href: \r\n article.cardType == 'video'\r\n ? _unref(useDsModalVideoTools)(article.videoCodes[0]).embedVideoUrl\r\n : article.url\r\n ,\n class: _normalizeClass([\"office-articles__article office-card\", { 'btn-video': article.cardType == 'video' }]),\n key: 'card-' + article.id\n }, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", {\n class: \"office-card__img\",\n innerHTML: articleImageHtml(article.imageUrl || article.gameImageUrl)\n }, null, 8, _hoisted_8),\n (article.cardType == 'video')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, _cache[9] || (_cache[9] = [\n _createElementVNode(\"span\", { class: \"office-card__ico-play\" }, null, -1)\n ])))\n : _createCommentVNode(\"\", true),\n _cache[10] || (_cache[10] = _createElementVNode(\"div\", { class: \"office-card__img-gradient\" }, null, -1))\n ]),\n (article.cardType != 'video')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, _toDisplayString(article.tag), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_11, [\n (article.cardType != 'video')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, _toDisplayString(formatDate(article.date)), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: \"office-card__name\",\n innerHTML: article.name\n }, null, 8, _hoisted_13)\n ])\n ], 10, _hoisted_6))\n }), 128)),\n _withDirectives(_createElementVNode(\"div\", _hoisted_14, [\n _createVNode(WebpImage, {\n src: \"/frontend/web/img/casino/our-office/jackpot2x.png\",\n \"css-class\": \"office-jackpots__header-img office-jackpots__header-img--desktop\",\n alt: \"\"\n }),\n _createElementVNode(\"div\", _hoisted_15, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(coinImages, (coin, idx) => {\n return _createVNode(WebpImage, {\n \"css-class\": `office-articles__coin office-articles__coin--${idx}`,\n src: coin.url,\n alt: \"\",\n key: idx\n }, null, 8, [\"css-class\", \"src\"])\n }), 64))\n ])\n ], 512), [\n [_vShow, articlesLoaded.value]\n ])\n ], 2),\n _createElementVNode(\"div\", _hoisted_16, [\n _withDirectives(_createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn btn-outline-dark ico-arrow-down office-articles__btn-next\",\n onClick: getNextArticles\n }, \" NaÄÃst starÅ¡Ã \", 512), [\n [_vShow, currentMaxCount.value > articles.value.length]\n ])\n ])\n ]),\n _createVNode(ModalPopup, {\n class: \"office-articles__filter-popup filter-popup\",\n modelValue: filterShowed.value,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((filterShowed).value = $event))\n }, {\n default: _withCtx(() => [\n _cache[11] || (_cache[11] = _createElementVNode(\"h2\", { class: \"filter-popup__header\" }, \"Vyber si oblÃbené téma\", -1)),\n _createElementVNode(\"div\", _hoisted_17, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(tags.value, (option, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"filter-popup__option\",\n key: 'radio-' + index\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"radio\",\n id: 'radio-' + index,\n value: option.tagName,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((selectedFilterOption).value = $event)),\n class: \"filter-popup__option-input\"\n }, null, 8, _hoisted_18), [\n [_vModelRadio, selectedFilterOption.value]\n ]),\n _createElementVNode(\"label\", {\n for: 'radio-' + index,\n class: \"filter-popup__option-label\"\n }, _toDisplayString(option.tagDisplayName), 9, _hoisted_19)\n ]))\n }), 128))\n ]),\n _createElementVNode(\"div\", { class: \"filter-popup__buttons\" }, [\n _createElementVNode(\"button\", {\n type: \"button\",\n class: \"filter-popup__button-submit btn btn-secondary\",\n onClick: setFilter\n }, \" Filtrovat \")\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\"])\n ], 2))\n}\n}\n\n})","<template>\r\n <div class=\"office-articles\" :class=\"{ loaded: !isReady }\">\r\n <div class=\"office-articles__filter-wrapper\">\r\n <div class=\"office-articles__filter\" :class=\"{ 'filter-active': currentFilterOption }\">\r\n <DsHeadline theme=\"dark\" tag-name=\"h2\" type=\"floor\" icon=\"coffee\" class=\"my-0\"\r\n >NaÅ¡e kancelář</DsHeadline\r\n >\r\n\r\n <button type=\"button\" class=\"btn office-articles__filter-button btn-outline-dark\" @click=\"showFilter\">\r\n <span class=\"office-articles__filter-text\">Filtrovat</span>\r\n <DsIcon name=\"filter\" :width=\"16\" :height=\"16\" class=\"mr-0\" />\r\n </button>\r\n </div>\r\n <div class=\"office-articles__filter-navigation\" v-show=\"currentFilterOption\">\r\n <div class=\"office-articles__header-done\">Vyfiltrováno</div>\r\n <div class=\"office-articles__filter-tag ico-plus\" @click=\"resetFilter()\">\r\n {{ currentFilterOption }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"office-articles__articles-wrapper\"\r\n :class=\"{\r\n 'length-0': articles.length == 0,\r\n 'length-1': articles.length == 1,\r\n 'length-2': articles.length == 2,\r\n }\"\r\n >\r\n <a\r\n v-if=\"twitchWildCats\"\r\n :href=\"twitchWildCatsUrl\"\r\n class=\"office-articles__article office-articles__article--cats office-card btn-video\"\r\n data-source=\"twitchWildCats\"\r\n >\r\n <div class=\"office-card__img-wrapper\">\r\n <div\r\n class=\"office-card__img\"\r\n v-html=\"\r\n articleImageHtml(\r\n '/frontend/web/img/casino/our-office/bg-divoke-kocky.jpg',\r\n 'Wild Cats',\r\n 1000,\r\n 381\r\n )\r\n \"\r\n />\r\n <div class=\"office-card__video-button video\">\r\n <span class=\"office-card__ico-play\"></span>\r\n </div>\r\n\r\n <div class=\"office-card__img-gradient\"></div>\r\n </div>\r\n <div class=\"office-card__content\">\r\n <div class=\"office-card__name\" v-html=\"'PRÃVÉ PROBÃHà LIVE STREAM'\"></div>\r\n </div>\r\n </a>\r\n <a\r\n :href=\"\r\n article.cardType == 'video'\r\n ? useDsModalVideoTools(article.videoCodes[0]).embedVideoUrl\r\n : article.url\r\n \"\r\n class=\"office-articles__article office-card\"\r\n :class=\"{ 'btn-video': article.cardType == 'video' }\"\r\n v-for=\"article in articles\"\r\n :key=\"'card-' + article.id\"\r\n >\r\n <div class=\"office-card__img-wrapper\">\r\n <div\r\n class=\"office-card__img\"\r\n v-html=\"articleImageHtml(article.imageUrl || article.gameImageUrl)\"\r\n />\r\n <div class=\"office-card__video-button\" v-if=\"article.cardType == 'video'\">\r\n <span class=\"office-card__ico-play\"></span>\r\n </div>\r\n\r\n <div class=\"office-card__img-gradient\"></div>\r\n </div>\r\n <div class=\"office-card__tag\" v-if=\"article.cardType != 'video'\">{{ article.tag }}</div>\r\n <div class=\"office-card__content\">\r\n <div class=\"office-card__date\" v-if=\"article.cardType != 'video'\">\r\n {{ formatDate(article.date) }}\r\n </div>\r\n <div class=\"office-card__name\" v-html=\"article.name\"></div>\r\n </div>\r\n </a>\r\n <div class=\"office-articles__jackpot-container\" id=\"our-jackpots\" v-show=\"articlesLoaded\">\r\n <WebpImage\r\n src=\"/frontend/web/img/casino/our-office/jackpot2x.png\"\r\n css-class=\"office-jackpots__header-img office-jackpots__header-img--desktop\"\r\n alt=\"\"\r\n />\r\n <div class=\"office-articles__coins\">\r\n <WebpImage\r\n v-for=\"(coin, idx) in coinImages\"\r\n :css-class=\"`office-articles__coin office-articles__coin--${idx}`\"\r\n :src=\"coin.url\"\r\n alt=\"\"\r\n :key=\"idx\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"office-articles__buttons\">\r\n <button\r\n v-show=\"currentMaxCount > articles.length\"\r\n type=\"button\"\r\n class=\"btn btn-outline-dark ico-arrow-down office-articles__btn-next\"\r\n @click=\"getNextArticles\"\r\n >\r\n NaÄÃst starÅ¡Ã\r\n </button>\r\n </div>\r\n </div>\r\n <ModalPopup class=\"office-articles__filter-popup filter-popup\" v-model=\"filterShowed\">\r\n <h2 class=\"filter-popup__header\">Vyber si oblÃbené téma</h2>\r\n <div class=\"filter-popup__options-wrapper\">\r\n <div class=\"filter-popup__option\" v-for=\"(option, index) in tags\" :key=\"'radio-' + index\">\r\n <input\r\n type=\"radio\"\r\n :id=\"'radio-' + index\"\r\n :value=\"option.tagName\"\r\n v-model=\"selectedFilterOption\"\r\n class=\"filter-popup__option-input\"\r\n />\r\n <label :for=\"'radio-' + index\" class=\"filter-popup__option-label\">{{\r\n option.tagDisplayName\r\n }}</label>\r\n </div>\r\n </div>\r\n <div class=\"filter-popup__buttons\">\r\n <button type=\"button\" class=\"filter-popup__button-submit btn btn-secondary\" @click=\"setFilter\">\r\n Filtrovat\r\n </button>\r\n </div>\r\n </ModalPopup>\r\n </div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { nextTick, ref, computed } from \"vue\";\r\nimport DsHeadline from \"@sazka/design-system/src/typography/typography-headline.vue\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport ModalPopup from \"@/shared/components/modal-popup.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport { httpClient } from \"@sazka/utils/http-clients/http-client\";\r\n\r\nimport { Loader } from \"@sazka/design-system/src/loader/loader\";\r\nimport { DateTimeUtils } from \"@sazka/utils/date-time-utils\";\r\n\r\nimport {\r\n ArticleResponseModel,\r\n CasinoArticleResponse,\r\n ArticleRequestModel,\r\n ArticleTagResponseModel,\r\n} from \"./articles-model\";\r\n\r\nimport { GlobalEvents, eventBus } from \"@sazka/utils/global-events\";\r\nimport { useDsModalVideoTools } from \"@sazka/design-system/src/modal-video/use-ds-modal-video-tools\";\r\n\r\nimport { WebpHelper } from \"@sazka/utils/webp-helper\";\r\nimport { OfficeAnalytics } from \"./analytics-office\";\r\n\r\nconst filterShowed = ref(false);\r\nconst isReady = ref(false);\r\nconst articlesLoaded = ref(false);\r\n\r\nlet loaderCounter = 0;\r\nconst loaderShow = () => {\r\n if (!loaderCounter) {\r\n Loader.show(300);\r\n }\r\n\r\n loaderCounter++;\r\n};\r\n\r\nconst loaderHide = () => {\r\n loaderCounter--;\r\n if (!loaderCounter) {\r\n Loader.hide();\r\n }\r\n};\r\n\r\nconst getTagOptionFromQuery = () => {\r\n const currentQueries = window.location.search.replace(\"?\", \"\").split(\"&\");\r\n const currentQueryTagOption = currentQueries.find((item) => item.startsWith(\"tag=\"));\r\n\r\n if (currentQueryTagOption) {\r\n return currentQueryTagOption.split(\"=\")[1];\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nconst tags = ref<ArticleTagResponseModel[]>([]);\r\nconst currentMaxCount = ref(0);\r\nconst reloadTags = async () => {\r\n try {\r\n loaderShow();\r\n const currentTags = (\r\n await httpClient\r\n // TODO Edit tag name\r\n .get(\r\n `/api/casino-tags?cardVertical=${environment.nodeAliasPath.indexOf(\"/losy/\") == 0 ? \"losy\" : \"hry\"}`\r\n )\r\n ).data;\r\n\r\n let count = 0;\r\n currentTags.forEach((item) => {\r\n count += item.tagCount;\r\n });\r\n\r\n tags.value.push({ tagName: \"\", tagDisplayName: \"VÅ¡e\", tagCount: count });\r\n tags.value = tags.value.concat(currentTags);\r\n\r\n currentMaxCount.value = count;\r\n } catch (error) {\r\n console.error(error);\r\n } finally {\r\n loaderHide();\r\n }\r\n\r\n return Promise.resolve();\r\n};\r\n\r\nconst currentFilterOption = ref(\"\");\r\nconst selectedFilterOption = ref(\"\");\r\n\r\nconst articles = ref<ArticleResponseModel[]>([]);\r\nconst twitchWildCats = ref(false);\r\nconst twitchWildCatsUrl = computed(() => \"https://player.twitch.tv/?channel=divokykocky&parent=\" + location.host);\r\n\r\nconst getCasinoResponse = async (isInit = false): Promise<CasinoArticleResponse> => {\r\n loaderShow();\r\n const articleRequest = new ArticleRequestModel(\r\n currentFilterOption.value,\r\n isInit ? 0 : articles.value.length,\r\n isInit\r\n );\r\n try {\r\n return (await httpClient.post(\"/api/casino-article\", articleRequest)).data;\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n } finally {\r\n loaderHide();\r\n articlesLoaded.value = true;\r\n }\r\n};\r\n\r\nconst init = async () => {\r\n await reloadTags();\r\n let tagFromQuery = getTagOptionFromQuery();\r\n\r\n if (tagFromQuery) {\r\n tagFromQuery = tagFromQuery.toLowerCase();\r\n const currentTag = tags.value.find(\r\n (item) => item.tagName.toLowerCase() == tagFromQuery || item.tagDisplayName.toLowerCase() == tagFromQuery\r\n );\r\n if (currentTag) {\r\n currentFilterOption.value = currentTag.tagName;\r\n currentMaxCount.value = currentTag.tagCount;\r\n } else {\r\n currentFilterOption.value = tagFromQuery;\r\n currentMaxCount.value = 0;\r\n }\r\n }\r\n\r\n const response = await getCasinoResponse(true);\r\n articles.value = response.casinoArticles;\r\n twitchWildCats.value = response.twitchWildCats;\r\n isReady.value = true;\r\n nextTick(() => {\r\n const jackpotsRoot = document.getElementById(\"office-jackpots\");\r\n document.getElementById(\"our-jackpots\").appendChild(jackpotsRoot);\r\n eventBus.emit(GlobalEvents.JackpotsCarouselResize);\r\n });\r\n};\r\n\r\ninit();\r\n\r\nconst getNextArticles = async () => {\r\n OfficeAnalytics.pushLoadOlder();\r\n const response = await getCasinoResponse();\r\n articles.value = articles.value.concat(response.casinoArticles);\r\n};\r\n\r\nconst showFilter = () => {\r\n OfficeAnalytics.pushOpenFilter();\r\n filterShowed.value = true;\r\n selectedFilterOption.value = currentFilterOption.value;\r\n};\r\n\r\nconst setFilter = async () => {\r\n OfficeAnalytics.pushApplyFilter(selectedFilterOption.value);\r\n currentFilterOption.value = selectedFilterOption.value;\r\n const currentTag = tags.value.find((item) => item.tagName == currentFilterOption.value);\r\n currentMaxCount.value = currentTag ? currentTag.tagCount : tags.value[0].tagCount;\r\n\r\n articles.value = await (await getCasinoResponse(true)).casinoArticles;\r\n filterShowed.value = false;\r\n};\r\n\r\nconst resetFilter = async () => {\r\n OfficeAnalytics.pushRemoveFilter(currentFilterOption.value);\r\n currentFilterOption.value = \"\";\r\n articles.value = await (await getCasinoResponse(true)).casinoArticles;\r\n filterShowed.value = false;\r\n currentMaxCount.value = tags.value[0].tagCount;\r\n};\r\n\r\nconst formatDate = (date: string) => {\r\n return DateTimeUtils.formatDateShort(new Date(date));\r\n};\r\n\r\nconst articleImageHtml = (imageUrl: string, alt?: string, width?: number, height?: number) => {\r\n return WebpHelper.createPictureTag(imageUrl, alt, \"\", width, height);\r\n};\r\n\r\nconst coinImages = [\r\n { url: \"/frontend/web/img/casino/jackpots-promo-banner/coins/coin-left.svg\" },\r\n { url: \"/frontend/web/img/casino/jackpots-promo-banner/coins/coin-top.svg\" },\r\n { url: \"/frontend/web/img/casino/jackpots-promo-banner/coins/coin-right.svg\" },\r\n];\r\n</script>\r\n","import script from \"./_office-articles.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./_office-articles.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = [\"data-backdrop\"]\nconst _hoisted_2 = { class: \"modal-content\" }\nconst _hoisted_3 = { class: \"modal-body\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"modal fade\", { 'ds-modal': _ctx.isDsModal, 'ds-modal--narrow': _ctx.isDsModalNarrow }]),\n role: \"dialog\",\n ref: \"modalRef\",\n \"data-backdrop\": _ctx.backdropStatic ? 'static' : null\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"modal-dialog\", [\r\n _ctx.verticallyCentered ? 'modal-dialog-centered' : '',\r\n _ctx.isDsDialog ? 'ds-dialog' : '',\r\n _ctx.isDsDialogNarrow ? 'ds-dialog--narrow' : '',\r\n ]])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.closeButton)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n class: \"btn-close\",\n \"data-dismiss\": \"modal\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.hide && _ctx.hide(...args)))\n }, \" ZavÅ™Ãt \"))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _renderSlot(_ctx.$slots, \"afterBody\")\n ])\n ], 2)\n ], 10, _hoisted_1))\n}","<template>\r\n <div\r\n class=\"modal fade\"\r\n :class=\"{ 'ds-modal': isDsModal, 'ds-modal--narrow': isDsModalNarrow }\"\r\n role=\"dialog\"\r\n ref=\"modalRef\"\r\n :data-backdrop=\"backdropStatic ? 'static' : null\"\r\n >\r\n <div\r\n class=\"modal-dialog\"\r\n :class=\"[\r\n verticallyCentered ? 'modal-dialog-centered' : '',\r\n isDsDialog ? 'ds-dialog' : '',\r\n isDsDialogNarrow ? 'ds-dialog--narrow' : '',\r\n ]\"\r\n >\r\n <div class=\"modal-content\">\r\n <button v-if=\"closeButton\" type=\"button\" class=\"btn-close\" data-dismiss=\"modal\" @click=\"hide\">\r\n ZavÅ™Ãt\r\n </button>\r\n <div class=\"modal-body\">\r\n <slot></slot>\r\n </div>\r\n <slot name=\"afterBody\"></slot>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { defineComponent, onMounted, ref, watchEffect } from \"vue\";\r\n\r\nexport default defineComponent({\r\n name: \"ModalPopup\",\r\n props: {\r\n modelValue: {\r\n type: Boolean,\r\n required: true,\r\n default: false,\r\n },\r\n verticallyCentered: Boolean,\r\n isDsModal: Boolean,\r\n isDsDialog: Boolean,\r\n isDsModalNarrow: Boolean,\r\n isDsDialogNarrow: Boolean,\r\n closeButton: { type: Boolean, default: true },\r\n backdropStatic: { type: Boolean, default: false },\r\n },\r\n emits: [\"update:modelValue\", \"close\"],\r\n setup(props, { emit }) {\r\n const modalRef = ref<HTMLElement | null>(null);\r\n\r\n const show = () => {\r\n $(modalRef.value).modal(\"show\");\r\n $(modalRef.value).modal(\"handleUpdate\");\r\n };\r\n\r\n const hide = () => {\r\n $(modalRef.value).modal(\"hide\");\r\n };\r\n\r\n onMounted(() => {\r\n $(modalRef.value).on(\"shown.bs.modal\", () => {\r\n emit(\"update:modelValue\", true);\r\n $(modalRef.value).modal(\"handleUpdate\");\r\n });\r\n\r\n $(modalRef.value).on(\"hidden.bs.modal\", () => {\r\n // modal was closed by clicking on 'close' button or clicking on backdrop (if modal is closed externally, modelValue is already set to false)\r\n if (props.modelValue) {\r\n emit(\"close\");\r\n }\r\n\r\n emit(\"update:modelValue\", false);\r\n });\r\n });\r\n\r\n watchEffect(() => {\r\n if (props.modelValue) {\r\n show();\r\n } else {\r\n hide();\r\n }\r\n });\r\n\r\n return {\r\n modalRef,\r\n hide,\r\n };\r\n },\r\n});\r\n</script>\r\n","import { render } from \"./modal-popup.vue?vue&type=template&id=1de5ac81&ts=true\"\nimport script from \"./modal-popup.vue?vue&type=script&lang=ts\"\nexport * from \"./modal-popup.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../../../node_modules/.pnpm/vue-loader@17.4.2_@vue+compiler-sfc@3.5.13_vue@3.5.13_typescript@5.7.3__webpack@5.95.0_@swc+c_34j4td3qllqrpsyknfjyyfkdq4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, createVNode as _createVNode, createElementBlock as _createElementBlock, Fragment as _Fragment, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = [\"href\", \"target\", \"rel\"]\n\nimport { computed } from \"vue\";\r\nimport DsIcon from \"../icon/ds-icon.vue\";\r\nimport { SvgIcons } from \"../icon/types\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'typography-headline',\n props: {\n type: { default: \"floor\" },\n tagName: { default: \"h3\" },\n icon: {},\n href: {},\n isExternal: { type: Boolean, default: false },\n theme: { default: \"light\" },\n textPosition: { default: \"left\" },\n isStorybook: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst baseClassName = computed(() => `headline-${props.type}`);\r\nconst classList = computed(() => {\r\n const list = [baseClassName.value];\r\n if (props.icon) list.push(`${baseClassName.value}--icon`);\r\n if (props.theme === \"dark\") list.push(`${baseClassName.value}--dark`);\r\n if (props.textPosition === \"left\") {\r\n list.push(`${baseClassName.value}--left`);\r\n } else if (props.textPosition === \"center\") {\r\n list.push(`${baseClassName.value}--center`);\r\n } else if (props.textPosition === \"right\") {\r\n list.push(`${baseClassName.value}--right`);\r\n }\r\n return list;\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.tagName), {\n class: _normalizeClass(classList.value)\n }, {\n default: _withCtx(() => [\n (_ctx.href)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: _normalizeClass(`${baseClassName.value}__link`),\n href: _ctx.href,\n target: _ctx.isExternal ? '_blank' : undefined,\n rel: _ctx.isExternal ? 'noopener noreferrer' : undefined\n }, [\n (_ctx.icon)\n ? (_openBlock(), _createBlock(DsIcon, {\n key: 0,\n name: _ctx.icon,\n \"is-in-storybook\": props.isStorybook,\n class: _normalizeClass(`${baseClassName.value}__icon`)\n }, null, 8, [\"name\", \"is-in-storybook\", \"class\"]))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\"),\n _createVNode(DsIcon, { name: \"chevron-right\" })\n ], 10, _hoisted_1))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n (_ctx.icon)\n ? (_openBlock(), _createBlock(DsIcon, {\n key: 0,\n name: _ctx.icon,\n \"is-in-storybook\": props.isStorybook,\n class: _normalizeClass(`${baseClassName.value}__icon`)\n }, null, 8, [\"name\", \"is-in-storybook\", \"class\"]))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\")\n ], 64))\n ]),\n _: 3\n }, 8, [\"class\"]))\n}\n}\n\n})","<template>\r\n <component :is=\"tagName\" :class=\"classList\">\r\n <a\r\n v-if=\"href\"\r\n :class=\"`${baseClassName}__link`\"\r\n :href=\"href\"\r\n :target=\"isExternal ? '_blank' : undefined\"\r\n :rel=\"isExternal ? 'noopener noreferrer' : undefined\"\r\n >\r\n <DsIcon v-if=\"icon\" :name=\"icon\" :is-in-storybook=\"props.isStorybook\" :class=\"`${baseClassName}__icon`\" />\r\n <slot></slot>\r\n <DsIcon name=\"chevron-right\" />\r\n </a>\r\n <template v-else>\r\n <DsIcon v-if=\"icon\" :name=\"icon\" :is-in-storybook=\"props.isStorybook\" :class=\"`${baseClassName}__icon`\" />\r\n <slot></slot>\r\n </template>\r\n </component>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed } from \"vue\";\r\nimport DsIcon from \"../icon/ds-icon.vue\";\r\nimport { SvgIcons } from \"../icon/types\";\r\n\r\nconst props = withDefaults(\r\n defineProps<{\r\n type?: \"floor\" | \"section\";\r\n /**\r\n * Actually rendered tag\r\n */\r\n tagName?: keyof HTMLElementTagNameMap;\r\n /**\r\n * Icon to show\r\n */\r\n icon?: SvgIcons;\r\n /**\r\n * Whole headline will be rendered as anchor if not empty\r\n */\r\n href?: string;\r\n /**\r\n * Adds target=\"_blank\" and rel=\"noreferrer noopener\"\r\n */\r\n isExternal?: boolean;\r\n /**\r\n * Set theme\r\n */\r\n theme?: \"light\" | \"dark\";\r\n /**\r\n * Define postion of text\r\n */\r\n textPosition?: \"left\" | \"center\" | \"right\";\r\n /**\r\n * Use different image path for storybook\r\n */\r\n isStorybook?: boolean;\r\n }>(),\r\n {\r\n type: \"floor\",\r\n tagName: \"h3\",\r\n isExternal: false,\r\n theme: \"light\",\r\n textPosition: \"left\",\r\n isStorybook: false,\r\n }\r\n);\r\n\r\nconst baseClassName = computed(() => `headline-${props.type}`);\r\nconst classList = computed(() => {\r\n const list = [baseClassName.value];\r\n if (props.icon) list.push(`${baseClassName.value}--icon`);\r\n if (props.theme === \"dark\") list.push(`${baseClassName.value}--dark`);\r\n if (props.textPosition === \"left\") {\r\n list.push(`${baseClassName.value}--left`);\r\n } else if (props.textPosition === \"center\") {\r\n list.push(`${baseClassName.value}--center`);\r\n } else if (props.textPosition === \"right\") {\r\n list.push(`${baseClassName.value}--right`);\r\n }\r\n return list;\r\n});\r\n</script>\r\n","import script from \"./typography-headline.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./typography-headline.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["Loader","isShown","this","lockNumber","showLoaderFromBackend","document","body","classList","contains","show","showLoaderIn","text","aboveAll","color","clearTimeout","showTimeout","window","setTimeout","showNow","counted","environment","isEditMode","loader","getElementById","add","remove","querySelector","textContent","showAboveAll","showNowAboveAll","hide","hideTimeout","_defineProperty","_Loader","documentReady","useDsModalVideoTools","urlOrCode","embedVideoUrl","indexOf","code","UrlUtils","getQueryString","callback","readyState","addEventListener","exports","sfc","props","target","__vccOpts","key","val","ArticleRequestModel","constructor","tag","offset","isInit","pageSize","getInitPageSize","getPageSize","articleType","nodeAliasPath","matchMedia","matches","OfficeAnalytics","pushOpenFilter","dataLayer","push","event","pushApplyFilter","filterItem","action","applyFilters","label","pushRemoveFilter","removeFilters","pushLoadOlder","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","id","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_defineComponent","__name","setup","__props","filterShowed","ref","isReady","articlesLoaded","loaderCounter","loaderShow","loaderHide","getTagOptionFromQuery","currentQueries","location","search","replace","split","currentQueryTagOption","find","item","startsWith","tags","currentMaxCount","reloadTags","async","currentTags","httpClient","get","data","count","forEach","tagCount","value","tagName","tagDisplayName","concat","error","console","Promise","resolve","currentFilterOption","selectedFilterOption","articles","twitchWildCats","twitchWildCatsUrl","computed","host","getCasinoResponse","articleRequest","length","post","init","tagFromQuery","toLowerCase","currentTag","response","casinoArticles","nextTick","jackpotsRoot","appendChild","eventBus","emit","GlobalEvents","JackpotsCarouselResize","getNextArticles","showFilter","setFilter","resetFilter","formatDate","date","DateTimeUtils","formatDateShort","Date","articleImageHtml","imageUrl","alt","width","height","WebpHelper","createPictureTag","coinImages","url","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","loaded","_createElementVNode","_createVNode","DsHeadline","theme","type","icon","default","_withCtx","_createTextVNode","_","onClick","DsIcon","name","_withDirectives","$event","_toDisplayString","_vShow","href","innerHTML","_createCommentVNode","_Fragment","_renderList","article","cardType","_unref","videoCodes","gameImageUrl","WebpImage","src","coin","idx","ModalPopup","modelValue","option","index","_vModelRadio","for","__exports__","render","$props","$setup","$data","$options","isDsModal","isDsModalNarrow","role","backdropStatic","verticallyCentered","isDsDialog","isDsDialogNarrow","closeButton","args","_renderSlot","$slots","defineComponent","Boolean","required","emits","modalRef","$","modal","onMounted","on","watchEffect","isExternal","textPosition","isStorybook","baseClassName","list","_createBlock","_resolveDynamicComponent","undefined","rel"],"sourceRoot":""}