{"version":3,"file":"js/2510.c009e5df18e5db09.js","mappings":"uIAEA,SAASA,IACLC,EAAAA,EAAoBC,gBAEpB,MAAMC,EAAwBC,SAASC,cAAiC,qBACnD,OAArBF,QAAqB,IAArBA,GAAAA,EAAuBG,iBAAiB,QAASC,EAAuB,CAAEC,MAAM,IAEhF,MAAMC,EAAQL,SAASM,iBAAoC,6CAC3DD,EAAME,SAASC,IACXA,EAAKN,iBAAiB,QAASO,EAAgB,IAGnD,MAAMC,EAAoBV,SAASC,cAAiC,2BACnD,OAAjBS,QAAiB,IAAjBA,GAAAA,EAAmBR,iBAAiB,QAASS,EAAqB,CAAEP,MAAM,IAE1EQ,GACJ,CAEA,SAASA,IACL,MAAMC,EAAcb,SAASM,iBAAiB,iCAE9CO,EAAYN,SAASO,IACjB,MAAMC,EAAUD,EAAIR,iBAA8B,+BAElD,GAAuB,IAAnBS,EAAQC,OAAc,CACtB,MAAMC,EAAcC,EAAkBH,EAAQ,IACxCI,EAAcD,EAAkBH,EAAQ,IAE9ClB,EAAAA,EAAoBuB,qBAChBH,EAAYI,SACZJ,EAAYK,OACZL,EAAYM,SACZJ,EAAYE,SACZF,EAAYG,OACZH,EAAYI,UAIhBR,EAAQR,SAASiB,IACbA,EAAOtB,iBAAiB,QAASuB,EAAmB,CAAErB,MAAM,GAAO,GAE3E,IAER,CAEA,SAASc,EAAkBM,GAAmB,IAAAE,EAAAC,EAAAC,EAAAC,EAAAC,EAC1C,MAAMT,EAAiD,QAAzCK,EAAGF,EAAOO,aAAa,0BAAkB,IAAAL,EAAAA,EAAI,GACrDJ,EAASE,EAAOQ,aAAaC,WAC7BC,EAA4E,QAArEP,EAAwD,QAAxDC,EAAGJ,EAAOvB,cAAc,wCAAgC,IAAA2B,OAAA,EAArDA,EAAuDO,mBAAW,IAAAR,EAAAA,EAAI,GAChFS,EAAoF,QAAzEP,EAA4D,QAA5DC,EAAGN,EAAOvB,cAAc,4CAAoC,IAAA6B,OAAA,EAAzDA,EAA2DK,mBAAW,IAAAN,EAAAA,EAAI,GACxFN,EAAWa,EAAc,GAAGF,MAAYE,IAAgBF,EAE9D,MAAO,CAAEb,WAAUC,SAAQC,WAC/B,CAEA,SAASpB,IACLN,EAAAA,EAAoBwC,6BACxB,CAEA,SAAS5B,EAAgB6B,GACrB,MAAM9B,EAAO8B,EAAMC,cACnB,IAAK/B,EAAM,OAEX,MAAMgC,EACFC,MAAMC,KAAK1C,SAASM,iBAAiB,8CAA8CqC,QAAQnC,GAAQ,EACjGoC,EAAWpC,EAAKuB,aAAa,kBACnClC,EAAAA,EAAoBgD,cAAcD,EAAUJ,EAChD,CAEA,SAAS7B,IACLd,EAAAA,EAAoBiD,oBACxB,CAEA,SAASrB,EAAkBa,GACvB,MAAMd,EAASc,EAAMC,cACrB,IAAKf,EAAQ,OAEb,MAAMuB,EAAqD,SAA3CvB,EAAOO,aAAa,mBAEpC,GAAIgB,EACAlD,EAAAA,EAAoBmD,oBACjB,CACH,MAAMC,EAAa/B,EAAkBM,GACrC3B,EAAAA,EAAoBqD,gBAAgBD,EAAW5B,SAAU4B,EAAW3B,OAAQ2B,EAAW1B,SAC3F,CACJ,CAEAvB,SAASmD,MAAMvD,E,uCCtFEC,E,UAAjB,SAAiBA,GAIb,SAAgBC,IACZsD,OAAOC,UAAUC,KAAK,CAClBC,KAAM,CACFC,KAAM,gBACNC,KAAM,gBACNC,aAAc,aAG1B,CAEA,IAAKC,EAML,SAAgBC,EAAsBC,EAAsBrB,EAAkBsB,GAAkB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC5FzB,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,uBACPwC,OAAQ,CACJC,KAAM,CACFC,SAAU,CACN,CACIpC,SAAuB,QAAfmB,EAAEF,EAAKxC,gBAAQ,IAAA0C,EAAAA,EAAI,KAC3BL,aAAc,WACduB,UAAW,WACXzC,SAAUA,EACV0C,OAAiC,QAA3BlB,EAAe,QAAfC,EAAEJ,EAAKsB,gBAAQ,IAAAlB,OAAA,EAAbA,EAAehC,kBAAU,IAAA+B,EAAAA,EAAI,KACrCoB,OAAiC,QAA3BlB,EAAe,QAAfC,EAAEN,EAAKwB,gBAAQ,IAAAlB,OAAA,EAAbA,EAAelC,kBAAU,IAAAiC,EAAAA,EAAI,KACrCoB,aAAczB,EAAK0B,mBACb5B,EAAuB6B,SACvB7B,EAAuB8B,QAC7BC,aAAuC,QAA3BtB,EAAe,QAAfC,EAAER,EAAK8B,gBAAQ,IAAAtB,OAAA,EAAbA,EAAeuB,kBAAU,IAAAxB,EAAAA,EAAI,KAC3CyB,cAAe/B,EACfgC,UAAoB,QAAXxB,EAAET,EAAKkC,YAAI,IAAAzB,EAAAA,EAAI,KACxB0B,cAA4B,QAAfzB,EAAEV,EAAKoC,gBAAQ,IAAA1B,EAAAA,EAAI,KAChC2B,WAAuC,QAA7B1B,EAAiB,QAAjBC,EAAEZ,EAAKqC,kBAAU,IAAAzB,OAAA,EAAfA,EAAiBxC,kBAAU,IAAAuC,EAAAA,EAAI,KAC3C2B,aAAqD,QAAzCzB,EAAe,QAAfC,EAAEd,EAAK8B,gBAAQ,IAAAhB,GAAc,QAAdA,EAAbA,EAAeyB,oBAAY,IAAAzB,OAAA,EAA3BA,EAA6B1C,kBAAU,IAAAyC,EAAAA,EAAI,KACzD2B,oBAAuC,QAApBzB,EAAEf,EAAKyC,qBAAa,IAAA1B,EAAAA,EAAI,KAC3C2B,kBAAmC,QAAlB1B,EAAEhB,EAAK2C,mBAAW,IAAA3B,EAAAA,EAAI,UAM/D,CAGA,SAAgB4B,EACZ7D,EACAJ,EACA0C,EACAE,EACAE,GAEAlC,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,uBACPwC,OAAQ,CACJC,KAAM,CACFC,SAAU,CACN,CACIpC,SAAUA,EACVc,aAAc,WACduB,UAAW,WACXzC,SAAUA,EACV0C,OAAQA,EACRE,OAAQA,EACRE,aAAcA,OAMtC,CAGA,SAAgBjD,IACZe,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,kCAEf,CAGA,SAAgBoE,IACZtD,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,0BACPwC,OAAQ,CACJ6B,MAAO,CACHZ,KAAM,WACNa,eAAgB,UAIhC,CAGA,SAAgB/D,EAAcD,EAAkBJ,GAC5CY,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,uBACPwC,OAAQ,CACJC,KAAM,CACFC,SAAU,CACN,CACIpC,SAAUA,EACVc,aAAc,WACduB,UAAW,SACXzC,SAAUA,OAMlC,CAGA,SAAgBM,IACZM,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,+BAEf,CAGA,SAAgBU,IACZI,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,qBAEf,CAGA,SAAgBlB,EACZyF,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA9D,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,wBACPwC,OAAQ,CACJqC,QAAS,CACLC,OAAQ,CACJ,CACIC,GAAIR,EACJd,KAAMc,EAAY,IAAMC,EACxBvF,SAAUwF,EACVvE,SAAU,WAGd,CACI6E,GAAIL,EACJjB,KAAMiB,EAAY,IAAMC,EACxB1F,SAAU2F,EACV1E,SAAU,eAMlC,CAGA,SAAgBU,EAAgB7B,EAAkBC,EAAgBC,GAC9D6B,OAAOC,UAAUC,KAAK,CAClBhB,MAAO,qBACPwC,OAAQ,CACJC,KAAM,CACFqC,OAAQ,CACJ,CACIC,GAAIhG,EACJ0E,KAAM1E,EAAW,IAAMC,EACvBC,SAAUA,EACViB,SAAU,eAMlC,CAlLgB3C,EAAAC,cAAaA,EAU7B,SAAK6D,GACDA,EAAA,uBACAA,EAAA,oBACH,CAHD,CAAKA,IAAAA,EAAsB,KAMX9D,EAAA+D,sBAAqBA,EAgCrB/D,EAAA4G,kBAAiBA,EA4BjB5G,EAAAwC,4BAA2BA,EAO3BxC,EAAA6G,oBAAmBA,EAanB7G,EAAAgD,cAAaA,EAmBbhD,EAAAiD,mBAAkBA,EAOlBjD,EAAAmD,cAAaA,EAObnD,EAAAuB,qBAAoBA,EAiCpBvB,EAAAqD,gBAAeA,CAiBlC,EAvLD,CAAiBrD,IAAAA,EAAmB,I","sources":["webpack://@sazka/web/./js/app/live-dealer/_live-dealer.ts","webpack://@sazka/web/./js/app/live-dealer/live-dealer-analytics.ts"],"sourcesContent":["import { LiveDealerAnalytics } from \"@/live-dealer/live-dealer-analytics\";\r\n\r\nfunction initLiveDealerAnalytics() {\r\n LiveDealerAnalytics.pushPageReady();\r\n\r\n const onboardingCloseButton = document.querySelector<HTMLButtonElement>(\"#close-onboarding\");\r\n onboardingCloseButton?.addEventListener(\"click\", handleCloseOnboarding, { once: true });\r\n\r\n const games = document.querySelectorAll<HTMLAnchorElement>(\"[data-a-recommended-games] .game-launcher\");\r\n games.forEach((card) => {\r\n card.addEventListener(\"click\", handleGameClick);\r\n });\r\n\r\n const gamesRedirectLink = document.querySelector<HTMLAnchorElement>(\"[data-a-games-redirect]\");\r\n gamesRedirectLink?.addEventListener(\"click\", handleGamesRedirect, { once: true });\r\n\r\n processBannerPairs();\r\n}\r\n\r\nfunction processBannerPairs(): void {\r\n const bannerPairs = document.querySelectorAll(\".bs-row--inside-element-stack\");\r\n\r\n bannerPairs.forEach((row) => {\r\n const banners = row.querySelectorAll<HTMLElement>(\".ds-promo-banner-new__inner\");\r\n\r\n if (banners.length === 2) {\r\n const banner1Data = extractBannerData(banners[0]);\r\n const banner2Data = extractBannerData(banners[1]);\r\n\r\n LiveDealerAnalytics.pushBannerImpression(\r\n banner1Data.codeName,\r\n banner1Data.height,\r\n banner1Data.creative,\r\n banner2Data.codeName,\r\n banner2Data.height,\r\n banner2Data.creative\r\n );\r\n\r\n // Add click event listeners for each banner\r\n banners.forEach((banner) => {\r\n banner.addEventListener(\"click\", handleBannerClick, { once: true });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction extractBannerData(banner: HTMLElement) {\r\n const codeName = banner.getAttribute(\"data-a-codename\") ?? \"\";\r\n const height = banner.offsetHeight.toString();\r\n const heading = banner.querySelector(\".ds-promo-banner-new__heading\")?.textContent ?? \"\";\r\n const description = banner.querySelector(\".ds-promo-banner-new__description\")?.textContent ?? \"\";\r\n const creative = description ? `${heading}; ${description}` : heading;\r\n\r\n return { codeName, height, creative };\r\n}\r\n\r\nfunction handleCloseOnboarding() {\r\n LiveDealerAnalytics.pushCloseOnboardingTutorial();\r\n}\r\n\r\nfunction handleGameClick(event: MouseEvent) {\r\n const card = event.currentTarget as HTMLElement;\r\n if (!card) return;\r\n\r\n const position =\r\n Array.from(document.querySelectorAll(\"[data-a-recommended-games] .game-launcher\")).indexOf(card) + 1;\r\n const gameCode = card.getAttribute(\"data-game-code\");\r\n LiveDealerAnalytics.pushClickGame(gameCode, position);\r\n}\r\n\r\nfunction handleGamesRedirect() {\r\n LiveDealerAnalytics.pushClickMoreGames();\r\n}\r\n\r\nfunction handleBannerClick(event: MouseEvent): void {\r\n const banner = event.currentTarget as HTMLElement;\r\n if (!banner) return;\r\n\r\n const isVideo = banner.getAttribute(\"data-a-is-video\") === \"true\";\r\n\r\n if (isVideo) {\r\n LiveDealerAnalytics.pushPlayVideo();\r\n } else {\r\n const bannerData = extractBannerData(banner);\r\n LiveDealerAnalytics.pushBannerClick(bannerData.codeName, bannerData.height, bannerData.creative);\r\n }\r\n}\r\n\r\ndocument.ready(initLiveDealerAnalytics);\r\n","import { LiveDealerGame } from \"./models/live-dealer-game\";\r\n\r\nexport namespace LiveDealerAnalytics {\r\n // V1.0\r\n\r\n // DL1.10\r\n export function pushPageReady() {\r\n window.dataLayer.push({\r\n page: {\r\n type: \"lobby.hryLive\",\r\n kind: \"lobby.hryLive\",\r\n verticalCode: \"hry-live\",\r\n },\r\n });\r\n }\r\n\r\n enum LiveDealerAvailability {\r\n fulltime = \"fulltime\",\r\n bounded = \"bounded\",\r\n }\r\n\r\n // DL2.10\r\n export function pushGameCardClickFeed(game: LiveDealerGame, position: string, emptySeats: string) {\r\n window.dataLayer.push({\r\n event: \"action.show.products\",\r\n action: {\r\n show: {\r\n products: [\r\n {\r\n gameCode: game.codeName ?? null,\r\n verticalCode: \"hry-live\",\r\n placement: \"allGames\",\r\n position: position,\r\n maxBet: game.maxWager?.toString() ?? null,\r\n minBet: game.minWager?.toString() ?? null,\r\n availability: game.isAvailableNonstop\r\n ? LiveDealerAvailability.fulltime\r\n : LiveDealerAvailability.bounded,\r\n croupierName: game.liveData?.dealerName ?? null,\r\n tableCapacity: emptySeats,\r\n tableName: game.name ?? null,\r\n tableProvider: game.provider ?? null,\r\n tableSeats: game.tableSeats?.toString() ?? null,\r\n tablePlayers: game.liveData?.playersCount?.toString() ?? null,\r\n operationHoursStart: game.availableFrom ?? null,\r\n operationHoursEnd: game.availableTo ?? null,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL2.10\r\n export function pushGameCardClick(\r\n gameCode: string,\r\n position: string,\r\n maxBet: string,\r\n minBet: string,\r\n availability: string\r\n ) {\r\n window.dataLayer.push({\r\n event: \"action.show.products\",\r\n action: {\r\n show: {\r\n products: [\r\n {\r\n gameCode: gameCode,\r\n verticalCode: \"hry-live\",\r\n placement: \"allGames\",\r\n position: position,\r\n maxBet: maxBet,\r\n minBet: minBet,\r\n availability: availability,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL2.35\r\n export function pushCloseOnboardingTutorial() {\r\n window.dataLayer.push({\r\n event: \"action.closeOnboarding.hryLive\",\r\n });\r\n }\r\n\r\n // DL2.40\r\n export function pushNavigationClick() {\r\n window.dataLayer.push({\r\n event: \"action.click.navigation\",\r\n action: {\r\n click: {\r\n name: \"Hry Live\",\r\n eventProperty2: \"main\",\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL2.50\r\n export function pushClickGame(gameCode: string, position: number) {\r\n window.dataLayer.push({\r\n event: \"action.show.products\",\r\n action: {\r\n show: {\r\n products: [\r\n {\r\n gameCode: gameCode,\r\n verticalCode: \"hry-live\",\r\n placement: \"bottom\",\r\n position: position,\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL2.60\r\n export function pushClickMoreGames() {\r\n window.dataLayer.push({\r\n event: \"action.showSazkaHry.hryLive\",\r\n });\r\n }\r\n\r\n // DL2.70\r\n export function pushPlayVideo() {\r\n window.dataLayer.push({\r\n event: \"action.play.video\",\r\n });\r\n }\r\n\r\n // DL3.10\r\n export function pushBannerImpression(\r\n codeName1: string,\r\n height1: string,\r\n creative1: string,\r\n codeName2: string,\r\n height2: string,\r\n creative2: string\r\n ) {\r\n window.dataLayer.push({\r\n event: \"action.impress.promos\",\r\n action: {\r\n impress: {\r\n promos: [\r\n {\r\n id: codeName1,\r\n name: codeName1 + \".\" + height1,\r\n creative: creative1,\r\n position: \"hryLive\",\r\n },\r\n\r\n {\r\n id: codeName2,\r\n name: codeName2 + \".\" + height2,\r\n creative: creative2,\r\n position: \"hryLive\",\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n\r\n // DL3.20\r\n export function pushBannerClick(codeName: string, height: string, creative: string) {\r\n window.dataLayer.push({\r\n event: \"action.show.promos\",\r\n action: {\r\n show: {\r\n promos: [\r\n {\r\n id: codeName,\r\n name: codeName + \".\" + height,\r\n creative: creative,\r\n position: \"hryLive\",\r\n },\r\n ],\r\n },\r\n },\r\n });\r\n }\r\n}\r\n"],"names":["initLiveDealerAnalytics","LiveDealerAnalytics","pushPageReady","onboardingCloseButton","document","querySelector","addEventListener","handleCloseOnboarding","once","games","querySelectorAll","forEach","card","handleGameClick","gamesRedirectLink","handleGamesRedirect","processBannerPairs","bannerPairs","row","banners","length","banner1Data","extractBannerData","banner2Data","pushBannerImpression","codeName","height","creative","banner","handleBannerClick","_banner$getAttribute","_banner$querySelector","_banner$querySelector2","_banner$querySelector3","_banner$querySelector4","getAttribute","offsetHeight","toString","heading","textContent","description","pushCloseOnboardingTutorial","event","currentTarget","position","Array","from","indexOf","gameCode","pushClickGame","pushClickMoreGames","isVideo","pushPlayVideo","bannerData","pushBannerClick","ready","window","dataLayer","push","page","type","kind","verticalCode","LiveDealerAvailability","pushGameCardClickFeed","game","emptySeats","_game$codeName","_game$maxWager$toStri","_game$maxWager","_game$minWager$toStri","_game$minWager","_game$liveData$dealer","_game$liveData","_game$name","_game$provider","_game$tableSeats$toSt","_game$tableSeats","_game$liveData$player","_game$liveData2","_game$availableFrom","_game$availableTo","action","show","products","placement","maxBet","maxWager","minBet","minWager","availability","isAvailableNonstop","fulltime","bounded","croupierName","liveData","dealerName","tableCapacity","tableName","name","tableProvider","provider","tableSeats","tablePlayers","playersCount","operationHoursStart","availableFrom","operationHoursEnd","availableTo","pushGameCardClick","pushNavigationClick","click","eventProperty2","codeName1","height1","creative1","codeName2","height2","creative2","impress","promos","id"],"sourceRoot":""}