{"version":3,"file":"js/5369.f3a53e1d82761ada.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/casino/bonusomat/api/bonusomat-logout-data-api.ts","webpack://@sazka/web/./js/app/casino/bonusomat/composables/use-bonusomat-data.ts","webpack://@sazka/web/./js/app/casino/bonusomat/composables/use-bonusomat-onboarding.ts","webpack://@sazka/web/./js/app/casino/bonusomat/composables/use-quest-details.ts","webpack://@sazka/web/./js/app/casino/bonusomat/utils/bonusomat-utils.ts","webpack://@sazka/web/./js/app/casino/bonusomat/utils/image-src.ts","webpack://@sazka/web/./js/app/casino/ng-casino/casino-checkout-manager.ts","webpack://@sazka/web/./js/app/casino/ng-casino/use-ng-casino.ts","webpack://@sazka/web/../../libs/utils/composables/use-breakpoints.ts","webpack://@sazka/web/./js/app/casino/bonusomat/components/board/bonusomat-board-task.vue?9409","webpack://@sazka/web/./js/app/casino/bonusomat/components/board/bonusomat-board-task.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/board/bonusomat-board-task.vue?5970","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding-page.vue?d1da","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding-page.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding-carousel.vue?f03b","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding-carousel.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding-carousel.vue?0913","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding.vue?bfd7","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/onboarding/bonusomat-onboarding.vue?7d5d","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-award-icon.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-award-icon.vue?48d6","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-award-icon.vue?d685","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-card.vue?9d44","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-card.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-card.vue?fb87","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-detail-accordion.vue?5c92","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-detail-accordion.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/quests/bonusomat-quest-detail-accordion.vue?13f2","webpack://@sazka/web/./js/app/casino/bonusomat/components/raffle/time-counter.vue?14ea","webpack://@sazka/web/./js/app/casino/bonusomat/components/raffle/time-counter.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/raffle/time-counter.vue?04c0","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/bonusomat-counter.vue?4699","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/bonusomat-counter.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/bonusomat-counter.vue?e2a7","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/bonusomat-progress.vue?dc81","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/bonusomat-progress.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/bonusomat-progress.vue?ce2a","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/raffle-prizes-modal.vue?b378","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/raffle-prizes-modal.vue","webpack://@sazka/web/./js/app/casino/bonusomat/components/shared/raffle-prizes-modal.vue?467c","webpack://@sazka/web/../../libs/design-system/src/badge/ds-badge.vue?97ee","webpack://@sazka/web/../../libs/design-system/src/badge/ds-badge.vue","webpack://@sazka/web/../../libs/design-system/src/table-cell/ds-table-cell.vue?4e0a","webpack://@sazka/web/../../libs/design-system/src/table-cell/ds-table-cell.vue","webpack://@sazka/web/../../libs/design-system/src/table-row/ds-table-row.vue","webpack://@sazka/web/../../libs/design-system/src/table-row/ds-table-row.vue?5f62","webpack://@sazka/web/../../libs/design-system/src/table/ds-table.vue?c89e","webpack://@sazka/web/../../libs/design-system/src/table/ds-table.vue","webpack://@sazka/web/../../libs/mobile-apps/components/mobile-app-link.vue?d639","webpack://@sazka/web/../../libs/mobile-apps/components/mobile-app-link.vue","webpack://@sazka/web/../../libs/mobile-apps/components/mobile-app-link.vue?61f4","webpack://@sazka/web/../../node_modules/keen-slider/vue.es.js"],"sourcesContent":["import { playerDataHttpClient } from \"@/shared/http-clients/player-data-http-client\";\r\n\r\nimport { BonusomatLogoutBoardGame, BonusomatLogoutBoard } from \"../models/bonusomat-logout-board\";\r\nimport { BonusomatLogoutDraw } from \"../models/bonusomat-logout-draw\";\r\nimport { BonusomatLogoutQuest } from \"../models/bonusomat-logout-quest\";\r\nimport { RaffleWinTable } from \"../models/raffle-win-table\";\r\nimport { BonusomatOnboarding } from \"../models/bonusomat-onboarding\";\r\n\r\nexport const fetchLogoutPlayerBoard = async () => {\r\n    const response = await playerDataHttpClient.get<BonusomatLogoutBoard>(`/bonusomat/board`);\r\n\r\n    return response.data;\r\n};\r\n\r\nexport const fetchLogoutDraw = async () => {\r\n    const response = await playerDataHttpClient.get<BonusomatLogoutDraw>(`/bonusomat/draw`);\r\n\r\n    return response.data;\r\n};\r\n\r\nexport const fetchLogoutRaffleWinTable = async () => {\r\n    const response = await playerDataHttpClient.get<RaffleWinTable>(`/bonusomat/draw/win-table`);\r\n\r\n    return response.data;\r\n};\r\n\r\nexport const fetchLogoutQuests = async () => {\r\n    const response = await playerDataHttpClient.get<BonusomatLogoutQuest[]>(`/bonusomat/quests`);\r\n\r\n    if (response.data.length) {\r\n        response.data.forEach((quest) => {\r\n            quest.completedTasks = 0;\r\n            quest.id = 0;\r\n            quest.awardIcon = \"Coin\";\r\n\r\n            quest.tasks.forEach((task) => {\r\n                task.progress = 0;\r\n                task.games = [];\r\n            });\r\n        });\r\n    }\r\n\r\n    return response.data;\r\n};\r\n\r\nexport const fetchLogoutGames = async () => {\r\n    const response = await playerDataHttpClient.get<BonusomatLogoutBoardGame[]>(`bonusomat/games`);\r\n\r\n    return response.data;\r\n};\r\n\r\nexport const fetchLogoutOnboarding = async () => {\r\n    const response = await playerDataHttpClient.get<BonusomatOnboarding>(`/bonusomat/onboarding`);\r\n\r\n    return response.data;\r\n};\r\n","import { computed, ref, watch } from \"vue\";\r\n\r\nimport { useNgSession } from \"@sazka/ng/ng-session\";\r\nimport { UrlUtils } from \"@sazka/utils/url\";\r\nimport { sazkaAlert } from \"@sazka/utils/sazka-alert\";\r\nimport { Loader } from \"@sazka/design-system/src/loader/loader\";\r\n\r\nimport {\r\n    fetchPlayerBoard,\r\n    fetchPlayerDraw,\r\n    fetchTotalTickets,\r\n    fetchQuests,\r\n    fetchQuestDetail,\r\n    postActivateQuest,\r\n    postDeactivateQuest,\r\n    completePlayerBoard,\r\n    fetchQuestGames,\r\n} from \"../api/bonusomat-player-data-api\";\r\n\r\nimport { BonusomatBoard } from \"../models/bonusomat-board\";\r\nimport { BonusomatDraw } from \"../models/bonusomat-draw\";\r\nimport { BonusomatQuest } from \"../models/bonusomat-quest\";\r\nimport { BonusomatQuestDetail } from \"../models/bonusomat-quest-detail\";\r\nimport { BonusomatQuestGame } from \"../models/bonusomat-quest-detail\";\r\nimport { BonusomatDatalayer } from \"../utils/analytics/bonusomat-datalayer\";\r\nimport { useBonusomatPlayerData } from \"./use-bonusomat-player-data\";\r\nimport { logException } from \"@sazka/utils/logger/use-app-logger\";\r\nimport { isMobileApp, triggerMobileAppEvent } from \"@sazka/mobile-apps/mobile-app-integration\";\r\nimport { loadCasinoModule } from \"@/casino/ng-casino/use-ng-casino\";\r\n\r\n// PLAYER ID\r\nconst { session, isLoggedIn } = useNgSession();\r\nconst playerId = computed(() => session.value?.PlayerID);\r\n\r\n/* ******************************* PLAYER DATA **************************** */\r\nconst { bonusomatPlayerData, remainingSpinsCount, loadBonusomatPlayerData } = useBonusomatPlayerData();\r\n\r\n/* ******************************* BOARD **************************** */\r\n//#region BOARD\r\n\r\n// BOARD variables\r\nconst boardData = ref<BonusomatBoard>(null);\r\nconst isBoardDataLoaded = ref(false);\r\n\r\n// BOARD metods\r\nasync function loadBoardData() {\r\n    try {\r\n        boardData.value = await fetchPlayerBoard(playerId.value);\r\n    } finally {\r\n        isBoardDataLoaded.value = true;\r\n    }\r\n}\r\n\r\nasync function completeBoard() {\r\n    Loader.show();\r\n\r\n    try {\r\n        await completePlayerBoard(playerId.value);\r\n\r\n        await loadBonusomatPlayerData();\r\n        await loadBoardData();\r\n        await loadRaffleData();\r\n    } catch (error) {\r\n        sazkaAlert(\"Omlouváme se, při převzetí tiketu nastala chyba.\", \"Zkuste to prosím později.\");\r\n        logException(\"bonusomat-board\", error, { message: \"Complete board error\" });\r\n    } finally {\r\n        Loader.hide();\r\n    }\r\n}\r\n//#endregion\r\n\r\n/* **************************** RAFFLE ********************** */\r\n//#region RAFFLE\r\n\r\nconst raffleData = ref<BonusomatDraw>(null);\r\nconst isRaffleDataLoaded = ref(false);\r\n\r\nasync function loadRaffleData() {\r\n    if (!playerId.value) {\r\n        raffleData.value = null;\r\n        return;\r\n    }\r\n\r\n    try {\r\n        raffleData.value = await fetchPlayerDraw(playerId.value);\r\n\r\n        if (raffleData.value) {\r\n            const drawEndDate = new Date(raffleData.value.drawEndDate);\r\n            const now = new Date();\r\n\r\n            raffleData.value.drawRemainingSeconds = Math.floor((drawEndDate.getTime() - now.getTime()) / 1000);\r\n            raffleData.value.drawDate = new Date(raffleData.value.drawDate);\r\n            raffleData.value.drawEndDate = drawEndDate;\r\n        }\r\n    } finally {\r\n        isRaffleDataLoaded.value = true;\r\n    }\r\n}\r\n\r\nasync function loadTotalTickets() {\r\n    if (!playerId.value) {\r\n        if (raffleData.value) {\r\n            raffleData.value.totalTickets = 0;\r\n        }\r\n        return;\r\n    }\r\n\r\n    try {\r\n        raffleData.value.totalTickets = await fetchTotalTickets(playerId.value);\r\n    } catch (ex: unknown) {\r\n        logException(\"bonusomat-ticket\", ex, { message: \"Load ticket error\" });\r\n    }\r\n}\r\n\r\n//#endregion\r\n\r\n/* **************************** QUESTS ************************ */\r\n//#region QUESTS\r\n\r\n// QUEST variables\r\nconst questsData = ref<BonusomatQuest[]>(null);\r\nconst lastActivatedQuestId = ref<number>(null);\r\nconst openQuestLinkName = ref<string>(null);\r\nconst openedGamesTaskIndex = ref<number>(-1);\r\nlet deactivationEventSource: string = null;\r\n\r\nconst isQuestsDataLoaded = ref(false);\r\nconst questsDataHasError = ref(false);\r\n\r\nconst isQuestModalOpen = ref(false);\r\nconst isQuestConfirmOpen = ref(false);\r\n\r\n// used to reload progress components on certain actions (fixes issue on IOS where progress animation doesn't work reliably by itself)\r\nconst questCardProgressLoadCounter = ref(0);\r\nconst questDetailProgressLoadCounter = ref(0);\r\n\r\nconst openedQuest = ref<BonusomatQuestDetail>(null);\r\nlet openedQuestNeedsReload = false;\r\n\r\nconst hasActiveQuest = computed(() => {\r\n    const activeQuestId = bonusomatPlayerData.activeQuestId;\r\n\r\n    return activeQuestId !== null && activeQuestId !== undefined && activeQuestId >= 0;\r\n});\r\n\r\nconst activeQuest = computed(() => {\r\n    if (hasActiveQuest.value) {\r\n        const activeQuestId = bonusomatPlayerData.activeQuestId;\r\n        return questsData.value?.find((quest) => quest.id === activeQuestId);\r\n    }\r\n\r\n    return null;\r\n});\r\n\r\nconst isActiveQuestCancelable = computed(() => {\r\n    return activeQuest.value?.cancelable ?? true;\r\n});\r\n\r\n// QUESTS metods\r\nasync function loadQuests() {\r\n    if (!playerId.value) {\r\n        questsData.value = [];\r\n        return;\r\n    }\r\n\r\n    try {\r\n        questsData.value = await fetchQuests(playerId.value);\r\n        questsDataHasError.value = false;\r\n    } catch (error) {\r\n        questsDataHasError.value = true;\r\n        logException(\"bonusomat-quest\", error, { message: \"Load quests error\" });\r\n    } finally {\r\n        isQuestsDataLoaded.value = true;\r\n    }\r\n}\r\n\r\nasync function openQuestDetail(questId: number) {\r\n    try {\r\n        if (!openedQuestNeedsReload && openedQuest.value?.id === questId) return;\r\n\r\n        openedQuest.value = await fetchQuestDetail(playerId.value, questId);\r\n        openedQuestNeedsReload = false;\r\n    } catch (error) {\r\n        sazkaAlert(\"Omlouváme se, při načítání detailu Questu nastala chyba.\", \"Zkuste to prosím později.\");\r\n        logException(\"bonusomat-quest\", error, { message: \"Open quests detail error\" });\r\n    } finally {\r\n        // For not-completed quests preselect first task\r\n        openedGamesTaskIndex.value = openedQuest.value?.completed ? -1 : 0;\r\n\r\n        if (openedQuest.value) {\r\n            isQuestModalOpen.value = true;\r\n        }\r\n    }\r\n}\r\n\r\nasync function activateQuest(questId: number, alreadyConfirmed = false) {\r\n    let errorOccurred = false;\r\n    lastActivatedQuestId.value = questId;\r\n    const questToActivate = questsData.value?.find((quest) => quest.id === questId);\r\n\r\n    if (hasActiveQuest.value && !alreadyConfirmed) {\r\n        isQuestConfirmOpen.value = true;\r\n    } else {\r\n        try {\r\n            Loader.show();\r\n            await postActivateQuest(playerId.value, questId);\r\n            if (!isActiveQuestCancelable.value) {\r\n                questsData.value?.splice(\r\n                    questsData.value?.findIndex((quest) => quest.id === bonusomatPlayerData.activeQuestId),\r\n                    1\r\n                );\r\n            }\r\n        } catch (error) {\r\n            sazkaAlert(\"Omlouváme se, při aktivaci Questu nastala chyba.\", \"Zkuste to prosím později.\");\r\n            logException(\"bonusomat-quest\", error, { message: \"Activate quests error\" });\r\n            errorOccurred = true;\r\n        } finally {\r\n            Loader.hide();\r\n            if (!errorOccurred) {\r\n                await loadBonusomatPlayerData();\r\n\r\n                // For quest without tasks reload quest data because it should be immediately completed\r\n                if (questToActivate && !questToActivate.totalTasks) {\r\n                    openedQuestNeedsReload = true;\r\n                    await loadQuests();\r\n                    await openQuestDetail(questToActivate.id);\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\nasync function deactivateQuest(eventSource: string = null, alreadyConfirmed = false) {\r\n    let errorOccurred = false;\r\n    lastActivatedQuestId.value = null;\r\n\r\n    if (!alreadyConfirmed) {\r\n        isQuestConfirmOpen.value = true;\r\n        deactivationEventSource = eventSource;\r\n    } else {\r\n        try {\r\n            Loader.show();\r\n            await postDeactivateQuest(playerId.value);\r\n            if (!isActiveQuestCancelable.value) {\r\n                questsData.value?.splice(\r\n                    questsData.value?.findIndex((quest) => quest.id === bonusomatPlayerData.activeQuestId),\r\n                    1\r\n                );\r\n            }\r\n        } catch (error) {\r\n            sazkaAlert(\"Omlouváme se, při deaktivaci Questu nastala chyba.\", \"Zkuste to prosím později.\");\r\n            logException(\"bonusomat-quest\", error, { message: \"Deactivate quests error\" });\r\n            errorOccurred = true;\r\n        } finally {\r\n            Loader.hide();\r\n\r\n            if (deactivationEventSource) {\r\n                BonusomatDatalayer.pushDeactivateQuest(\r\n                    deactivationEventSource,\r\n                    bonusomatPlayerData.points,\r\n                    remainingSpinsCount.value\r\n                );\r\n                deactivationEventSource = null;\r\n            }\r\n\r\n            if (!errorOccurred) {\r\n                await loadBonusomatPlayerData();\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\nconst questLinkNameParam = \"quest\";\r\nconst queryParams = new URLSearchParams(window.location.search);\r\nopenQuestLinkName.value = queryParams.get(questLinkNameParam);\r\nif (openQuestLinkName.value) {\r\n    UrlUtils.clearUrlParams([questLinkNameParam]);\r\n}\r\n\r\nwatch([isQuestsDataLoaded, isLoggedIn], async () => {\r\n    if (isQuestsDataLoaded.value && isLoggedIn.value && openQuestLinkName.value) {\r\n        const questWithLinkName = questsData.value?.find(\r\n            (quest) => quest.linkName.toLowerCase() === openQuestLinkName.value.toLowerCase()\r\n        );\r\n        if (questWithLinkName) {\r\n            await openQuestDetail(questWithLinkName.id);\r\n            BonusomatDatalayer.pushOpenQuest(\r\n                questWithLinkName.title,\r\n                \"link\",\r\n                bonusomatPlayerData.points,\r\n                remainingSpinsCount.value\r\n            );\r\n        }\r\n    }\r\n});\r\n\r\nwatch(isLoggedIn, () => {\r\n    openedQuestNeedsReload = true;\r\n});\r\n\r\n//#endregion\r\n\r\n/* ******************************* GAMES DATA **************************** */\r\n//#region GAMES\r\n\r\nconst gamesData = ref<BonusomatQuestGame[]>([]);\r\nconst loadGamesData = async () => {\r\n    gamesData.value = await fetchQuestGames();\r\n};\r\n\r\nconst openGame = async (id: string) => {\r\n    let idParsed: string | number = id;\r\n\r\n    if (isMobileApp) {\r\n        // UFO-2102 - European Roulette is specific, has different id for desktop and for mobile version (set by editors)\r\n        if (id === \"592\") idParsed = \"1556\";\r\n        triggerMobileAppEvent(\"startBonusomatGame\", idParsed);\r\n    } else {\r\n        idParsed = parseInt(id);\r\n\r\n        const { useNgCasino } = await loadCasinoModule();\r\n        useNgCasino().loadGame({ gameId: idParsed, moneyMode: true });\r\n    }\r\n};\r\n\r\n//#endregion\r\n\r\n/* ************************** INIT **************************** */\r\n//#region INIT\r\n\r\nasync function loadBonusomatData() {\r\n    const boardPromise = loadBoardData();\r\n    const questsPromise = loadQuests();\r\n    const raffleDataPromise = loadRaffleData();\r\n\r\n    await Promise.all([boardPromise, questsPromise, raffleDataPromise]);\r\n}\r\n\r\nlet gameCloseEventInited = false;\r\nasync function initBonusomatData() {\r\n    await loadBonusomatData();\r\n\r\n    if (!gameCloseEventInited) {\r\n        ng_hs.instantGame.gameClosed(async () => {\r\n            if (!isLoggedIn.value) return;\r\n\r\n            await loadBonusomatData();\r\n            await loadBonusomatPlayerData();\r\n            openedQuestNeedsReload = true;\r\n        });\r\n\r\n        gameCloseEventInited = true;\r\n    }\r\n}\r\n\r\n//#endregion\r\n\r\nexport default function useBonusomatData() {\r\n    return {\r\n        boardData,\r\n        isBoardDataLoaded,\r\n        initBonusomatData,\r\n        loadBoardData,\r\n        completeBoard,\r\n\r\n        raffleData,\r\n        isRaffleDataLoaded,\r\n        loadRaffleData,\r\n        loadTotalTickets,\r\n\r\n        questsData,\r\n        lastActivatedQuestId,\r\n        openQuestLinkName,\r\n        openedGamesTaskIndex,\r\n        isQuestsDataLoaded,\r\n        questsDataHasError,\r\n        isQuestModalOpen,\r\n        isQuestConfirmOpen,\r\n        questCardProgressLoadCounter,\r\n        questDetailProgressLoadCounter,\r\n        openedQuest,\r\n        hasActiveQuest,\r\n        activeQuest,\r\n        isActiveQuestCancelable,\r\n        loadQuests,\r\n        openQuestDetail,\r\n        activateQuest,\r\n        deactivateQuest,\r\n\r\n        gamesData,\r\n        loadGamesData,\r\n        openGame,\r\n    };\r\n}\r\n","import { computed, reactive, ref, watch } from \"vue\";\r\nimport { useNgSession } from \"@sazka/ng/ng-session\";\r\nimport { sazkaAlert } from \"@sazka/utils/sazka-alert\";\r\nimport { fetchPlayerOnboarding } from \"../api/bonusomat-player-data-api\";\r\nimport { fetchLogoutOnboarding } from \"../api/bonusomat-logout-data-api\";\r\nimport { BonusomatOnboarding } from \"../models/bonusomat-onboarding\";\r\nimport { BonusomatOnboardingModal } from \"../models/bonusomat-onboarding-modal\";\r\nimport { logException } from \"@sazka/utils/logger/use-app-logger\";\r\nimport { useLocalStorage } from \"@sazka/utils/use-storage\";\r\n\r\nconst { session } = useNgSession();\r\nconst playerId = computed(() => session.value?.PlayerID);\r\n\r\nconst onboardingActiveStep = ref(0);\r\nconst onboardingActiveStepChangedWatch = ref(false);\r\nconst onboardingData = ref<BonusomatOnboarding>(null);\r\nconst onboardingModal = reactive<BonusomatOnboardingModal>({\r\n    isOpened: false,\r\n    page: null,\r\n});\r\n\r\nasync function loadOnboardingData() {\r\n    if (playerId.value) {\r\n        onboardingData.value = await fetchPlayerOnboarding(playerId.value);\r\n    } else {\r\n        onboardingData.value = await fetchLogoutOnboarding();\r\n    }\r\n}\r\n\r\nasync function onboardingOpenStep(step: number) {\r\n    onboardingActiveStep.value = step;\r\n    onboardingActiveStepChangedWatch.value = !onboardingActiveStepChangedWatch.value;\r\n}\r\n\r\nasync function openBonusomatOnboarding(page?: number | string, disableError?: boolean) {\r\n    try {\r\n        if (onboardingData.value) return;\r\n\r\n        await loadOnboardingData();\r\n    } catch (error) {\r\n        if (disableError) return;\r\n        logException(\"bonusomat-onboarding\", error, { message: \"Open bonusomat onboarding error\" });\r\n        sazkaAlert(\"Omlouváme se, při načítání informací nastala chyba.\", \"Zkuste to prosím později.\");\r\n    } finally {\r\n        if (page !== null && page !== undefined) {\r\n            onboardingModal.page = page;\r\n        }\r\n\r\n        if (onboardingData.value) {\r\n            onboardingModal.isOpened = true;\r\n        }\r\n    }\r\n}\r\n\r\nconst storageKey = \"bonusomat-onboarding-visited\";\r\nconst storageValue = \"true\";\r\n\r\nfunction wasOnboardingAlreadyVisited() {\r\n    return useLocalStorage().getItem(storageKey) === storageValue;\r\n}\r\n\r\nasync function setOnboardingAlreadyVisited() {\r\n    useLocalStorage().setItem(storageKey, storageValue, \"essential\");\r\n}\r\n\r\n// Reload data for the case that player has different board segment than the one for not-logged players\r\nwatch(playerId, async () => {\r\n    if (onboardingData.value) {\r\n        await loadOnboardingData();\r\n    }\r\n});\r\n\r\nexport default function useBonusomatOnboarding() {\r\n    return {\r\n        onboardingActiveStep,\r\n        onboardingActiveStepChangedWatch,\r\n        onboardingData,\r\n        onboardingModal,\r\n\r\n        onboardingOpenStep,\r\n        openBonusomatOnboarding,\r\n        wasOnboardingAlreadyVisited,\r\n        setOnboardingAlreadyVisited,\r\n    };\r\n}\r\n","import { computed, ref, Ref, onUnmounted } from \"vue\";\r\n\r\nimport useBonusomatData from \"./use-bonusomat-data\";\r\nimport { useBonusomatPlayerData } from \"./use-bonusomat-player-data\";\r\nimport { BonusomatUtils } from \"../utils/bonusomat-utils\";\r\n\r\nexport function useQuestDetails(quest: Ref<any>, isOnLogoutPage?: boolean) {\r\n    const { bonusomatPlayerData, loadBonusomatPlayerData } = useBonusomatPlayerData();\r\n    const { loadQuests, openedQuest } = useBonusomatData();\r\n\r\n    const isActive = computed(() => {\r\n        return quest.value.id === bonusomatPlayerData.activeQuestId;\r\n    });\r\n    const isCompleted = computed(() => quest.value.completed);\r\n    const isBonusAward = computed(() => quest.value?.awardType?.toLowerCase() == \"bonus\");\r\n    const isPlayable = computed(() => BonusomatUtils.dateIsInPast(quest.value?.startDate));\r\n\r\n    const remainingTasks = computed(() => quest.value?.totalTasks - quest.value?.completedTasks);\r\n\r\n    const tasksCountLabel = computed(() => {\r\n        const tasksCount = quest.value?.totalTasks;\r\n\r\n        switch (tasksCount) {\r\n            case 1:\r\n                return `${quest.value.totalTasks} úkol`;\r\n            case 2:\r\n            case 3:\r\n            case 4:\r\n                return `${quest.value.totalTasks} úkoly`;\r\n            default:\r\n                return `${quest.value.totalTasks} úkolů`;\r\n        }\r\n    });\r\n\r\n    const completedTasksLabel = computed(() => {\r\n        const totalTasksCount = quest.value?.totalTasks;\r\n        const completedTasksCount = quest.value?.completedTasks;\r\n        const questsWord = totalTasksCount == 1 ? \"úkol\" : \"úkolů\";\r\n\r\n        return `${completedTasksCount}/${totalTasksCount} ${questsWord}`;\r\n    });\r\n\r\n    const remainingTime = ref(\"\");\r\n\r\n    const startingTime = computed(() => {\r\n        return BonusomatUtils.getStartTimeLabel(quest.value?.startDate);\r\n    });\r\n\r\n    const updateRemainingTime = async () => {\r\n        const total = Date.parse(quest.value?.endDate) - Date.parse(new Date().toISOString());\r\n        const seconds = total <= 0 ? 0 : Math.floor((total / 1000) % 60);\r\n        const minutes = Math.floor((total / 1000 / 60) % 60);\r\n        const hours = Math.floor((total / (1000 * 60 * 60)) % 24);\r\n        const days = Math.floor(total / (1000 * 60 * 60 * 24));\r\n\r\n        remainingTime.value =\r\n            days > 0\r\n                ? `${days}d ${hours}h ${minutes}m`\r\n                : `${(hours < 10 ? \"0\" : \"\") + hours}:${(minutes < 10 ? \"0\" : \"\") + minutes}:${\r\n                      (seconds < 10 ? \"0\" : \"\") + seconds\r\n                  }`;\r\n\r\n        if (days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0 && !isOnLogoutPage) {\r\n            setTimeout(async () => {\r\n                await loadQuests();\r\n                await loadBonusomatPlayerData();\r\n\r\n                if (openedQuest.value?.id && quest.value?.id && openedQuest.value.id == quest.value.id) {\r\n                    openedQuest.value = null;\r\n                }\r\n            }, 500);\r\n        }\r\n    };\r\n\r\n    if (!isOnLogoutPage) {\r\n        const intervalId = setInterval(updateRemainingTime, 1000);\r\n\r\n        onUnmounted(() => {\r\n            clearInterval(intervalId);\r\n        });\r\n    }\r\n\r\n    updateRemainingTime();\r\n\r\n    const questProgress = computed(() => {\r\n        // return (quest.value.completedTasks / quest.value.totalTasks) * 100;\r\n        return quest.value.progress;\r\n    });\r\n\r\n    const questTimeLabel = computed(() => {\r\n        return isPlayable.value ? remainingTime.value : startingTime.value;\r\n    });\r\n\r\n    return {\r\n        isActive,\r\n        isCompleted,\r\n        isBonusAward,\r\n        isPlayable,\r\n        remainingTasks,\r\n        tasksCountLabel,\r\n        completedTasksLabel,\r\n        remainingTime,\r\n        startingTime,\r\n        questProgress,\r\n        questTimeLabel,\r\n    };\r\n}\r\n","import { DateTimeUtils } from \"@sazka/utils/date-time-utils\";\r\n\r\nexport namespace BonusomatUtils {\r\n    export function dateIsInPast(isoDateToCheck: string): boolean {\r\n        return Date.parse(isoDateToCheck) < Date.parse(new Date().toISOString());\r\n    }\r\n\r\n    export function getTaskCountLabel(tasksCount: number): string {\r\n        switch (tasksCount) {\r\n            case 1:\r\n                return `${tasksCount} úkol`;\r\n            case 2:\r\n            case 3:\r\n            case 4:\r\n                return `${tasksCount} úkoly`;\r\n            default:\r\n                return `${tasksCount} úkolů`;\r\n        }\r\n    }\r\n\r\n    export function getRemainingTimeLabel(endDate: string): string {\r\n        const total = Date.parse(endDate) - Date.parse(new Date().toISOString());\r\n\r\n        if (total <= 0) {\r\n            return \"0s\";\r\n        }\r\n\r\n        const seconds = Math.floor((total / 1000) % 60);\r\n        const minutes = Math.floor((total / 1000 / 60) % 60);\r\n        const hours = Math.floor((total / (1000 * 60 * 60)) % 24);\r\n        const days = Math.floor(total / (1000 * 60 * 60 * 24));\r\n\r\n        if (days > 0) {\r\n            return `${days}d ${hours}h`;\r\n        } else if (hours > 0) {\r\n            return `${hours}h ${minutes}m`;\r\n        } else if (minutes > 0) {\r\n            return `${minutes}m ${seconds}s`;\r\n        } else {\r\n            return `${seconds}s`;\r\n        }\r\n    }\r\n\r\n    export function getStartTimeLabel(startTime: string): string {\r\n        const startDate = new Date(Date.parse(startTime));\r\n        const day = DateTimeUtils.formatWeekday(startDate);\r\n        const time = DateTimeUtils.formatTime(startDate);\r\n\r\n        return day.charAt(0).toUpperCase() + day.slice(1) + \" od \" + time;\r\n    }\r\n}\r\n","export type BonMediaTypeAllowed = \"png\" | \"svg\" | \"jpg\" | \"mov\" | \"webm\";\r\n\r\nexport const bonImgUrl = (imageName: string, imageType: BonMediaTypeAllowed) => {\r\n    return `/frontend/web/img/casino/bonusomat/${imageName}.${imageType}`;\r\n};\r\n","import { Loader } from \"@sazka/design-system/src/loader/loader\";\r\nimport { sazkaAlert } from \"@sazka/utils/sazka-alert\";\r\nimport { useSessionStorage } from \"@sazka/utils/use-storage\";\r\nimport { ngCasinoModuleLoaded } from \"@/casino/ng-casino/use-ng-casino\";\r\n\r\nconst CHECKOUT_TIMEOUT = 20_000;\r\n\r\nlet depositTimeout = null;\r\nconst storageName = \"active-game\";\r\nlet store: ReturnType<typeof useSessionStorage>;\r\nlet initialized = false;\r\n\r\ninterface ActiveGame {\r\n    gameId: number;\r\n    moneyMode: boolean;\r\n}\r\n\r\nexport const useCasinoCheckoutManager = async () => {\r\n    await ensureManagerInitialized();\r\n\r\n    async function ensureManagerInitialized() {\r\n        if (initialized) return;\r\n        initialized = true;\r\n\r\n        store = useSessionStorage();\r\n        const activeGame = store.getJson<ActiveGame>(storageName);\r\n        if (activeGame?.gameId) {\r\n            Loader.showNow(\"Čekáme na připsání peněz na váš účet.\");\r\n            depositTimeout = setTimeout(async () => {\r\n                Loader.hide();\r\n                sazkaAlert(\"Peníze se nepodařilo připsat v limitu\");\r\n                startGame(activeGame);\r\n            }, CHECKOUT_TIMEOUT);\r\n        }\r\n    }\r\n\r\n    function registerCheckoutCallbacks() {\r\n        ng_hs.depositAborted(() => {\r\n            clearTimeout(depositTimeout);\r\n            onDepositStateChange();\r\n        });\r\n\r\n        ng_hs.depositSucceeded(() => {\r\n            clearTimeout(depositTimeout);\r\n            onDepositStateChange();\r\n        });\r\n\r\n        ng_hs.depositTimeout(() => onDepositStateChange());\r\n\r\n        ng_hs.depositPending(() => onDepositStateChange());\r\n    }\r\n\r\n    function onDepositStateChange() {\r\n        ng_hs.onStateChange((ngState) => {\r\n            if (ngState === \"idle\") {\r\n                const activeGame = store.getJson<ActiveGame>(storageName);\r\n                store.removeItem(storageName);\r\n                if (activeGame?.gameId) {\r\n                    clearTimeout(depositTimeout);\r\n                    Loader.hide();\r\n                    startGame(activeGame);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    async function onDepositRedirectionStart() {\r\n        if (!ngCasinoModuleLoaded) {\r\n            return;\r\n        }\r\n\r\n        const { useNgCasino } = await import(\"./ng-casino-module\");\r\n        const { currentGameId, playForMoney } = useNgCasino();\r\n        if (!currentGameId.value) {\r\n            return;\r\n        }\r\n\r\n        const activeGame: ActiveGame = {\r\n            gameId: currentGameId.value,\r\n            moneyMode: playForMoney.value,\r\n        };\r\n        store.setJson(storageName, activeGame, \"essential\");\r\n    }\r\n\r\n    async function startGame(activeGame: ActiveGame) {\r\n        store.removeItem(storageName);\r\n        const { useNgCasino } = await import(\"./ng-casino-module\");\r\n        await useNgCasino().loadGame({ gameId: activeGame.gameId, moneyMode: activeGame.moneyMode });\r\n    }\r\n\r\n    return {\r\n        registerCheckoutCallbacks,\r\n        onDepositRedirectionStart,\r\n    };\r\n};\r\n","import { ref, watch } from \"vue\";\r\nimport { UrlUtils } from \"@sazka/utils/url\";\r\nimport { useNgSession } from \"@sazka/ng/ng-session\";\r\nimport { useNg3DsRedirection } from \"@sazka/ng/ng-3ds-redirection\";\r\nimport { Loader } from \"@sazka/design-system/src/loader/loader\";\r\nimport { useCasinoCheckoutManager } from \"./casino-checkout-manager\";\r\nimport { ngFrameworkLoaded, ngFrameworkLoadedSuccessfully } from \"@sazka/ng/ng-integration\";\r\nimport { CasinoGameLoadParams } from \"./casino-game-load-params\";\r\n\r\nlet casinoModule: typeof import(\"@/casino/ng-casino/ng-casino-module\") = null;\r\nexport const ngCasinoModuleLoaded = ref(false);\r\n\r\nexport const useNgCasinoLib = async () => {\r\n    registerGameClick();\r\n\r\n    await ngFrameworkLoaded();\r\n\r\n    startCasinoGameFromQuery();\r\n    registerNgHsCallbacks();\r\n};\r\n\r\nfunction startCasinoGameFromQuery() {\r\n    const id = UrlUtils.getQueryString(\"game\");\r\n    if (id) {\r\n        loadCasinoModule().then((x) =>\r\n            x.useNgCasino().loadGame(\r\n                {\r\n                    gameId: parseInt(id),\r\n                },\r\n                true\r\n            )\r\n        );\r\n    }\r\n    UrlUtils.clearUrlParam(\"game\");\r\n}\r\n\r\nfunction handleCasinoHistory() {\r\n    if (!casinoModule) return;\r\n\r\n    const { currentGameId, closeGame } = casinoModule.useNgCasino();\r\n\r\n    window.addEventListener(\"popstate\", () => {\r\n        if (currentGameId.value) {\r\n            closeGame();\r\n        }\r\n    });\r\n\r\n    watch(currentGameId, (val, oldVal) => {\r\n        if (val && oldVal) {\r\n            // splitscreen scenario\r\n            history.replaceState({ game: val }, \"\", UrlUtils.getUrlWithoutParams());\r\n        } else if (val) {\r\n            // opening game\r\n            history.pushState({ game: currentGameId.value }, \"\", UrlUtils.getUrlWithoutParams());\r\n        } else {\r\n            // closing game\r\n            if (history.state?.game) history.back(); // remove the pushed state\r\n\r\n            UrlUtils.clearUrlParam(\"game\");\r\n        }\r\n    });\r\n}\r\n\r\nexport async function loadCasinoModule() {\r\n    if (!casinoModule) {\r\n        // loader is closed by game load start\r\n        try {\r\n            Loader.show();\r\n            casinoModule = await import(/* webpackPrefetch: true */ \"@/casino/ng-casino/ng-casino-module\");\r\n            ngCasinoModuleLoaded.value = true;\r\n            handleCasinoHistory();\r\n        } catch (e) {\r\n            console.error(e);\r\n        } finally {\r\n            Loader.hide();\r\n        }\r\n    }\r\n\r\n    return casinoModule;\r\n}\r\n\r\nfunction registerGameClick() {\r\n    $(document).on(\"click\", \".game-launcher\", async (e) => {\r\n        e.preventDefault();\r\n\r\n        if (!ngFrameworkLoadedSuccessfully.value) {\r\n            Loader.show();\r\n            await ngFrameworkLoaded();\r\n            Loader.hide();\r\n        }\r\n\r\n        const $element = $(e.currentTarget);\r\n        const gameId = Number($element.data(\"game-id\"));\r\n        const manufacturer = String($element.data(\"manufacturer-name\"));\r\n        const showLogin = Boolean($element.data(\"show-login\"));\r\n        const moneyMode = $element.data(\"money-mode\");\r\n        const withAbTest = $element.data(\"ab-test\") !== false;\r\n\r\n        const transparent = $element.data(\"transparent\");\r\n        const isTransparet =\r\n            (typeof transparent === \"string\" && transparent.toLowerCase() === \"true\") || transparent === true;\r\n        let position = 0;\r\n        const wrapper = $element.closest(\".bs-row\");\r\n        const placement = wrapper?.[0]?.getAttribute(\"data-a-games-placement\");\r\n        if (placement) {\r\n            const gamesInPlacement = wrapper.find(\".game-launcher\");\r\n            const filteredGames = Array.from(gamesInPlacement).filter((g) => g.parentElement.style.display != \"none\");\r\n            position = filteredGames.indexOf(e.currentTarget) + 1;\r\n        }\r\n\r\n        const callback = () => {\r\n            return loadCasinoModule().then((x) => {\r\n                const { loadGame, handleTransparentProductCardClick } = x.useNgCasino();\r\n\r\n                const gameLoadParams: CasinoGameLoadParams = {\r\n                    gameId,\r\n                    moneyMode,\r\n                };\r\n\r\n                if (isTransparet) {\r\n                    handleTransparentProductCardClick(gameId, gameLoadParams);\r\n                } else {\r\n                    loadGame(gameLoadParams, false, manufacturer, placement, position, withAbTest);\r\n                }\r\n            });\r\n        };\r\n\r\n        const { isLoggedIn } = useNgSession();\r\n        if (showLogin && !isLoggedIn.value) {\r\n            ng_fw.showLogin();\r\n            watch(isLoggedIn, (val) => {\r\n                if (val) {\r\n                    callback();\r\n                }\r\n            });\r\n        } else {\r\n            callback();\r\n        }\r\n    });\r\n}\r\n\r\nasync function registerNgHsCallbacks() {\r\n    ng_hs.instantGame.gameLoadStart((gameId: number, playMode: \"M\" | \"D\") => {\r\n        loadCasinoModule().then((x) => x.useNgCasino().ngGameReady(gameId, playMode));\r\n    });\r\n\r\n    useNg3DsRedirection().beforeRedirection(async () => {\r\n        await (await useCasinoCheckoutManager()).onDepositRedirectionStart();\r\n    });\r\n\r\n    (await useCasinoCheckoutManager()).registerCheckoutCallbacks();\r\n}\r\n","import { Ref, ref } from \"vue\";\r\nimport { ResponsiveUtils } from \"../responsive-utils\";\r\n\r\ntype BreakpointType = keyof Omit<typeof ResponsiveUtils.breakpoints, \"xs\">;\r\ntype ReactiveBreakpoint = {\r\n    key: BreakpointType;\r\n    minSize: (typeof ResponsiveUtils.breakpoints)[BreakpointType];\r\n    isInUse: boolean;\r\n    value: Ref<boolean>;\r\n};\r\n\r\nlet initialized = false;\r\nlet reactiveBreakpoints: ReactiveBreakpoint[] = null;\r\n\r\n/**\r\n * Returns ref with boolean value, which means, current breakpoint is same or bigger\r\n * eg. media min-width: x\r\n * since its breakpoint up, it doesnt make sense for 'xs' which would be always true, so its omited\r\n * @param breakpoints breakpoint name eg. 'xs2' or 'xl'\r\n * @returns boolean\r\n */\r\nexport function useBreakpoints(breakpoints: BreakpointType): Ref<boolean>;\r\n\r\n/**\r\n * Returns object, with keys same as parameter value, their value is ref with boolean value, which means, current breakpoint is same or bigger\r\n * eg. media min-width: x\r\n * Example of return value: { sm: ref(true), md: ref(false) }\r\n * Returns only value passed in parametrs,\r\n * since its breakpoint up, it doesnt make sense for 'xs' which would be always true, so its omited\r\n * @param breakpoints all breakpoint names eg. 'xs2' or 'xl'\r\n */\r\nexport function useBreakpoints(...breakpoints: BreakpointType[]): { [key in BreakpointType]: Ref<boolean> };\r\n\r\nexport function useBreakpoints(...breakpoints: BreakpointType[]) {\r\n    if (breakpoints?.length == 0) return;\r\n\r\n    initialize();\r\n\r\n    if (breakpoints.length > 1) {\r\n        return breakpoints.reduce((acc, x) => {\r\n            acc[x] = reactiveBreakpoint(x);\r\n            return acc;\r\n        }, {});\r\n    } else {\r\n        return reactiveBreakpoint(breakpoints[0]);\r\n    }\r\n}\r\n\r\nfunction initialize() {\r\n    if (initialized) return;\r\n    reactiveBreakpoints = Object.keys(ResponsiveUtils.breakpoints)\r\n        .filter((x) => x !== \"xs\")\r\n        .map((x) => ({\r\n            isInUse: false,\r\n            key: x as BreakpointType,\r\n            minSize: ResponsiveUtils.breakpoints[x] as (typeof ResponsiveUtils.breakpoints)[BreakpointType],\r\n            value: ref(false),\r\n        }));\r\n\r\n    initialized = true;\r\n}\r\n\r\nfunction reactiveBreakpoint(breakpoint: BreakpointType) {\r\n    const brkpnt = reactiveBreakpoints.find((x) => x.key === breakpoint);\r\n    if (!brkpnt.isInUse) {\r\n        brkpnt.isInUse = true;\r\n        const media = window.matchMedia(`(min-width: ${brkpnt.minSize}px)`);\r\n        brkpnt.value.value = media.matches;\r\n        media.onchange = (e) => {\r\n            brkpnt.value.value = e.matches;\r\n        };\r\n    }\r\n    return brkpnt.value;\r\n}\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"innerHTML\"]\n\nimport { computed } from \"vue\";\r\nimport BonusomatProgress from \"../shared/bonusomat-progress.vue\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-board-task',\n  props: {\n    name: {},\n    icon: {},\n    repeatable: { type: Boolean },\n    completed: { type: Boolean },\n    progress: {},\n    isActive: { type: Boolean },\n    progressLoadCounter: {},\n    progressAlwaysVisible: { type: Boolean }\n  },\n  setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst title = computed(() => props.name?.replace(\"-\", \"&#x2011;\"));\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: _normalizeClass([\"board-task\", {\r\n            'board-task--in-progress': _ctx.progress > 0 && !_ctx.completed,\r\n            'board-task--active': _ctx.isActive,\r\n            'board-task--done': _ctx.completed,\r\n        }])\n  }, [\n    (_openBlock(), _createBlock(BonusomatProgress, {\n      key: _ctx.progressLoadCounter,\n      progress: _ctx.progress,\n      \"always-visible\": _ctx.progressAlwaysVisible,\n      \"is-completed\": _ctx.completed && _ctx.progress == 100,\n      \"show-percentage-number\": \"\"\n    }, null, 8, [\"progress\", \"always-visible\", \"is-completed\"])),\n    (_ctx.repeatable)\n      ? (_openBlock(), _createBlock(DsIcon, {\n          key: 0,\n          name: \"rotate\",\n          class: \"board-task__rotate\"\n        }))\n      : _createCommentVNode(\"\", true),\n    (_ctx.icon && _ctx.name)\n      ? (_openBlock(), _createBlock(WebpImage, {\n          key: 1,\n          src: _ctx.icon,\n          alt: _ctx.name,\n          \"css-class\": \"board-task__img\"\n        }, null, 8, [\"src\", \"alt\"]))\n      : _createCommentVNode(\"\", true),\n    _createElementVNode(\"span\", {\n      class: \"board-task__title\",\n      innerHTML: title.value\n    }, null, 8, _hoisted_1)\n  ], 2))\n}\n}\n\n})","<template>\r\n    <div\r\n        class=\"board-task\"\r\n        :class=\"{\r\n            'board-task--in-progress': progress > 0 && !completed,\r\n            'board-task--active': isActive,\r\n            'board-task--done': completed,\r\n        }\"\r\n    >\r\n        <BonusomatProgress\r\n            :key=\"progressLoadCounter\"\r\n            :progress=\"progress\"\r\n            :always-visible=\"progressAlwaysVisible\"\r\n            :is-completed=\"completed && progress == 100\"\r\n            show-percentage-number\r\n        />\r\n        <DsIcon v-if=\"repeatable\" name=\"rotate\" class=\"board-task__rotate\" />\r\n        <WebpImage v-if=\"icon && name\" :src=\"icon\" :alt=\"name\" css-class=\"board-task__img\" />\r\n        <span class=\"board-task__title\" v-html=\"title\"></span>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed } from \"vue\";\r\nimport BonusomatProgress from \"../shared/bonusomat-progress.vue\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\n\r\nconst props = defineProps<{\r\n    name?: string;\r\n    icon?: string;\r\n    repeatable?: boolean;\r\n    completed?: boolean;\r\n    progress?: number;\r\n    isActive?: boolean;\r\n    progressLoadCounter?: string;\r\n    progressAlwaysVisible?: boolean;\r\n}>();\r\n\r\nconst title = computed(() => props.name?.replace(\"-\", \"&#x2011;\"));\r\n</script>\r\n","import script from \"./bonusomat-board-task.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-board-task.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bonusomat-onboarding-page__screen-scroll\" }\nconst _hoisted_2 = { class: \"bonusomat-onboarding-page__screen\" }\nconst _hoisted_3 = { class: \"bonusomat-onboarding-page__text\" }\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = [\"innerHTML\"]\n\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-onboarding-page',\n  props: {\n    codeName: {},\n    image: {},\n    title: {},\n    description: {}\n  },\n  setup(__props: any) {\n\r\n\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: _normalizeClass([\"bonusomat-onboarding-page__device\", _ctx.codeName])\n  }, [\n    _createElementVNode(\"div\", _hoisted_1, [\n      _createElementVNode(\"div\", _hoisted_2, [\n        _createVNode(WebpImage, {\n          class: \"bonusomat-onboarding-page__image-wrapper\",\n          \"css-class\": \"bonusomat-onboarding-page__image\",\n          src: _ctx.image,\n          alt: _ctx.title,\n          get2x: true\n        }, null, 8, [\"src\", \"alt\"]),\n        _createElementVNode(\"div\", _hoisted_3, [\n          _createElementVNode(\"h3\", {\n            class: \"bonusomat-onboarding-page__title\",\n            innerHTML: _ctx.title\n          }, null, 8, _hoisted_4),\n          _createElementVNode(\"div\", {\n            class: \"bonusomat-onboarding-page__description\",\n            innerHTML: _ctx.description\n          }, null, 8, _hoisted_5)\n        ])\n      ])\n    ])\n  ], 2))\n}\n}\n\n})","import script from \"./bonusomat-onboarding-page.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-onboarding-page.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, mergeProps as _mergeProps, createBlock as _createBlock, normalizeClass as _normalizeClass } from \"vue\"\n\nimport { computed, watch } from \"vue\";\r\nimport { KeenSliderInstance } from \"keen-slider\";\r\nimport { useKeenSlider } from \"keen-slider/vue.es\";\r\nimport BonusomatOnboardingPage from \"./bonusomat-onboarding-page.vue\";\r\n\r\nimport useBonusomatOnboarding from \"../../composables/use-bonusomat-onboarding\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-onboarding-carousel',\n  setup(__props) {\n\r\nconst { onboardingData, onboardingActiveStep, onboardingActiveStepChangedWatch } = useBonusomatOnboarding();\r\n\r\nconst onboardingPages = computed(() => onboardingData.value?.pages);\r\n\r\nconst [sliderContainer, slider] = useKeenSlider<HTMLDivElement>({\r\n    selector: \".bonusomat-onboarding-page__device\",\r\n    slides: {\r\n        perView: 1,\r\n    },\r\n    slideChanged: (s: KeenSliderInstance) => {\r\n        onboardingActiveStep.value = s.track.details.abs;\r\n    },\r\n    initial: onboardingActiveStep.value,\r\n});\r\n\r\n// We can't watch directly the 'onboardingActiveStep' because it can be changed by KeenSlider itself (e.g. when swiping) what causes double move\r\nwatch(onboardingActiveStepChangedWatch, () => {\r\n    slider.value.moveToIdx(onboardingActiveStep.value);\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: _normalizeClass([\"bonusomat-onboarding__carousel\", 'bonusomat-onboarding__carousel--step-' + _unref(onboardingActiveStep)]),\n    ref_key: \"sliderContainer\",\n    ref: sliderContainer\n  }, [\n    (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(onboardingPages.value, (page) => {\n      return (_openBlock(), _createBlock(BonusomatOnboardingPage, _mergeProps({\n        key: page.codeName,\n        ref_for: true\n      }, page), null, 16))\n    }), 128))\n  ], 2))\n}\n}\n\n})","<template>\r\n    <div\r\n        class=\"bonusomat-onboarding__carousel\"\r\n        :class=\"'bonusomat-onboarding__carousel--step-' + onboardingActiveStep\"\r\n        ref=\"sliderContainer\"\r\n    >\r\n        <BonusomatOnboardingPage v-for=\"page in onboardingPages\" :key=\"page.codeName\" v-bind=\"page\" />\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, watch } from \"vue\";\r\nimport { KeenSliderInstance } from \"keen-slider\";\r\nimport { useKeenSlider } from \"keen-slider/vue.es\";\r\nimport BonusomatOnboardingPage from \"./bonusomat-onboarding-page.vue\";\r\n\r\nimport useBonusomatOnboarding from \"../../composables/use-bonusomat-onboarding\";\r\n\r\nconst { onboardingData, onboardingActiveStep, onboardingActiveStepChangedWatch } = useBonusomatOnboarding();\r\n\r\nconst onboardingPages = computed(() => onboardingData.value?.pages);\r\n\r\nconst [sliderContainer, slider] = useKeenSlider<HTMLDivElement>({\r\n    selector: \".bonusomat-onboarding-page__device\",\r\n    slides: {\r\n        perView: 1,\r\n    },\r\n    slideChanged: (s: KeenSliderInstance) => {\r\n        onboardingActiveStep.value = s.track.details.abs;\r\n    },\r\n    initial: onboardingActiveStep.value,\r\n});\r\n\r\n// We can't watch directly the 'onboardingActiveStep' because it can be changed by KeenSlider itself (e.g. when swiping) what causes double move\r\nwatch(onboardingActiveStepChangedWatch, () => {\r\n    slider.value.moveToIdx(onboardingActiveStep.value);\r\n});\r\n</script>\r\n","import script from \"./bonusomat-onboarding-carousel.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-onboarding-carousel.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withCtx as _withCtx, vShow as _vShow, createVNode as _createVNode, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"bonusomat-onboarding__carousel-wrap\" }\nconst _hoisted_2 = { class: \"bonusomat-onboarding__footer\" }\nconst _hoisted_3 = { class: \"ds-carousel-indicator__dots\" }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = { class: \"bottom-slot-action-bar\" }\nconst _hoisted_6 = { class: \"bottom-slot-action-bar__wrap\" }\n\nimport { computed, onMounted, watch } from \"vue\";\r\n\r\nimport DsModalDialog from \"@sazka/design-system/src/modal-dialog/ds-modal-dialog.vue\";\r\nimport DsButton from \"@sazka/design-system/src/button/ds-button.vue\";\r\nimport { BonusomatDatalayer } from \"@/casino/bonusomat/utils/analytics/bonusomat-datalayer\";\r\nimport BonusomatOnboardingCarousel from \"./bonusomat-onboarding-carousel.vue\";\r\n\r\nimport useBonusomatOnboarding from \"../../composables/use-bonusomat-onboarding\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-onboarding',\n  setup(__props) {\n\r\nconst {\r\n    onboardingData,\r\n    onboardingModal,\r\n    onboardingActiveStep,\r\n    onboardingOpenStep,\r\n    openBonusomatOnboarding,\r\n    wasOnboardingAlreadyVisited,\r\n    setOnboardingAlreadyVisited,\r\n} = useBonusomatOnboarding();\r\n\r\nlet onboardingAnalyticsPushedSteps: number[] = [];\r\n\r\nconst onboardingPages = computed(() => onboardingData.value?.pages);\r\n\r\nconst isLastStep = computed(() => onboardingActiveStep.value === onboardingPages.value.length - 1);\r\n\r\nonMounted(async () => {\r\n    if (wasOnboardingAlreadyVisited()) return;\r\n\r\n    setOnboardingAlreadyVisited();\r\n    await openBonusomatOnboarding(\"\", true);\r\n\r\n    BonusomatDatalayer.pushOnboardingImpression(onboardingPages.value[0]?.title, 0);\r\n    onboardingAnalyticsPushedSteps.push(0);\r\n});\r\n\r\nwatch(onboardingModal, () => {\r\n    if (typeof onboardingModal?.page === \"string\") {\r\n        const index = onboardingPages.value?.findIndex((page) => page.codeName === onboardingModal?.page);\r\n\r\n        onboardingActiveStep.value = index >= 0 ? index : onboardingActiveStep.value;\r\n    }\r\n\r\n    if (typeof onboardingModal?.page === \"number\") {\r\n        onboardingActiveStep.value = onboardingModal?.page;\r\n    }\r\n\r\n    onboardingModal.page = null;\r\n});\r\n\r\nwatch(onboardingActiveStep, (newStep) => {\r\n    if (!onboardingAnalyticsPushedSteps.includes(newStep)) {\r\n        BonusomatDatalayer.pushOnboardingImpression(onboardingData.value.pages[newStep]?.title, newStep);\r\n        onboardingAnalyticsPushedSteps.push(newStep);\r\n    }\r\n});\r\n\r\nconst stepForward = () => {\r\n    if (onboardingActiveStep.value === onboardingPages.value?.length - 1) return;\r\n\r\n    onboardingOpenStep(onboardingActiveStep.value + 1);\r\n};\r\n\r\nconst stepBack = () => {\r\n    if (onboardingActiveStep.value === 0) return;\r\n\r\n    onboardingOpenStep(onboardingActiveStep.value - 1);\r\n};\r\n\r\nconst changeStep = (step: number) => {\r\n    onboardingOpenStep(step);\r\n};\r\n\r\nconst closeModalAnalytics = () => {\r\n    BonusomatDatalayer.pushOnboardingClose(\r\n        onboardingData.value.pages[onboardingActiveStep.value]?.title,\r\n        onboardingActiveStep.value\r\n    );\r\n    onboardingAnalyticsPushedSteps = [];\r\n};\r\n\r\nconst closeModalCtaClick = () => {\r\n    onboardingModal.isOpened = false;\r\n    closeModalAnalytics();\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createBlock(DsModalDialog, {\n    modelValue: _unref(onboardingModal).isOpened,\n    \"onUpdate:modelValue\": [\n      _cache[0] || (_cache[0] = ($event: any) => ((_unref(onboardingModal).isOpened) = $event)),\n      closeModalAnalytics\n    ],\n    theme: \"dark\",\n    \"css-class\": \"bonusomat-onboarding\"\n  }, {\n    content: _withCtx(() => [\n      _createElementVNode(\"div\", _hoisted_1, [\n        (_unref(onboardingModal).isOpened && _unref(onboardingData))\n          ? (_openBlock(), _createBlock(BonusomatOnboardingCarousel, { key: 0 }))\n          : _createCommentVNode(\"\", true)\n      ])\n    ]),\n    bottom: _withCtx(() => [\n      _createElementVNode(\"div\", _hoisted_2, [\n        _createElementVNode(\"ol\", _hoisted_3, [\n          (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(onboardingPages.value, (page, index) => {\n            return (_openBlock(), _createElementBlock(\"li\", {\n              key: page?.codeName,\n              class: _normalizeClass([\"dot\", { 'is-selected': index === _unref(onboardingActiveStep) }]),\n              onClick: ($event: any) => (changeStep(index))\n            }, null, 10, _hoisted_4))\n          }), 128))\n        ]),\n        _createElementVNode(\"div\", _hoisted_5, [\n          _createElementVNode(\"div\", _hoisted_6, [\n            (_unref(onboardingActiveStep) !== 0)\n              ? (_openBlock(), _createBlock(DsButton, {\n                  key: 0,\n                  type: \"secondary\",\n                  theme: \"dark\",\n                  \"icon-left\": \"chevron-left\",\n                  onClick: stepBack\n                }, {\n                  default: _withCtx(() => _cache[1] || (_cache[1] = [\n                    _createTextVNode(\" Zpět \")\n                  ])),\n                  _: 1\n                }))\n              : _createCommentVNode(\"\", true),\n            _withDirectives(_createVNode(DsButton, {\n              type: \"primary\",\n              theme: \"dark\",\n              \"icon-right\": \"chevron-right\",\n              onClick: stepForward\n            }, {\n              default: _withCtx(() => _cache[2] || (_cache[2] = [\n                _createTextVNode(\" Další krok \")\n              ])),\n              _: 1\n            }, 512), [\n              [_vShow, !isLastStep.value]\n            ]),\n            _withDirectives(_createVNode(DsButton, {\n              type: \"primary\",\n              theme: \"dark\",\n              \"icon-right\": \"close\",\n              onClick: closeModalCtaClick\n            }, {\n              default: _withCtx(() => _cache[3] || (_cache[3] = [\n                _createTextVNode(\" Zavřít \")\n              ])),\n              _: 1\n            }, 512), [\n              [_vShow, isLastStep.value]\n            ])\n          ])\n        ])\n      ])\n    ]),\n    _: 1\n  }, 8, [\"modelValue\"]))\n}\n}\n\n})","<template>\r\n    <DsModalDialog\r\n        v-model=\"onboardingModal.isOpened\"\r\n        @update:model-value=\"closeModalAnalytics\"\r\n        theme=\"dark\"\r\n        css-class=\"bonusomat-onboarding\"\r\n    >\r\n        <template #content>\r\n            <div class=\"bonusomat-onboarding__carousel-wrap\">\r\n                <BonusomatOnboardingCarousel v-if=\"onboardingModal.isOpened && onboardingData\" />\r\n            </div>\r\n        </template>\r\n        <template #bottom>\r\n            <div class=\"bonusomat-onboarding__footer\">\r\n                <ol class=\"ds-carousel-indicator__dots\">\r\n                    <li\r\n                        v-for=\"(page, index) in onboardingPages\"\r\n                        :key=\"page?.codeName\"\r\n                        class=\"dot\"\r\n                        :class=\"{ 'is-selected': index === onboardingActiveStep }\"\r\n                        @click=\"changeStep(index)\"\r\n                    ></li>\r\n                </ol>\r\n                <div class=\"bottom-slot-action-bar\">\r\n                    <div class=\"bottom-slot-action-bar__wrap\">\r\n                        <DsButton\r\n                            type=\"secondary\"\r\n                            theme=\"dark\"\r\n                            icon-left=\"chevron-left\"\r\n                            v-if=\"onboardingActiveStep !== 0\"\r\n                            @click=\"stepBack\"\r\n                        >\r\n                            Zpět\r\n                        </DsButton>\r\n                        <DsButton\r\n                            v-show=\"!isLastStep\"\r\n                            type=\"primary\"\r\n                            theme=\"dark\"\r\n                            icon-right=\"chevron-right\"\r\n                            @click=\"stepForward\"\r\n                        >\r\n                            Další krok\r\n                        </DsButton>\r\n                        <DsButton\r\n                            v-show=\"isLastStep\"\r\n                            type=\"primary\"\r\n                            theme=\"dark\"\r\n                            icon-right=\"close\"\r\n                            @click=\"closeModalCtaClick\"\r\n                        >\r\n                            Zavřít\r\n                        </DsButton>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </template>\r\n    </DsModalDialog>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, onMounted, watch } from \"vue\";\r\n\r\nimport DsModalDialog from \"@sazka/design-system/src/modal-dialog/ds-modal-dialog.vue\";\r\nimport DsButton from \"@sazka/design-system/src/button/ds-button.vue\";\r\nimport { BonusomatDatalayer } from \"@/casino/bonusomat/utils/analytics/bonusomat-datalayer\";\r\nimport BonusomatOnboardingCarousel from \"./bonusomat-onboarding-carousel.vue\";\r\n\r\nimport useBonusomatOnboarding from \"../../composables/use-bonusomat-onboarding\";\r\n\r\nconst {\r\n    onboardingData,\r\n    onboardingModal,\r\n    onboardingActiveStep,\r\n    onboardingOpenStep,\r\n    openBonusomatOnboarding,\r\n    wasOnboardingAlreadyVisited,\r\n    setOnboardingAlreadyVisited,\r\n} = useBonusomatOnboarding();\r\n\r\nlet onboardingAnalyticsPushedSteps: number[] = [];\r\n\r\nconst onboardingPages = computed(() => onboardingData.value?.pages);\r\n\r\nconst isLastStep = computed(() => onboardingActiveStep.value === onboardingPages.value.length - 1);\r\n\r\nonMounted(async () => {\r\n    if (wasOnboardingAlreadyVisited()) return;\r\n\r\n    setOnboardingAlreadyVisited();\r\n    await openBonusomatOnboarding(\"\", true);\r\n\r\n    BonusomatDatalayer.pushOnboardingImpression(onboardingPages.value[0]?.title, 0);\r\n    onboardingAnalyticsPushedSteps.push(0);\r\n});\r\n\r\nwatch(onboardingModal, () => {\r\n    if (typeof onboardingModal?.page === \"string\") {\r\n        const index = onboardingPages.value?.findIndex((page) => page.codeName === onboardingModal?.page);\r\n\r\n        onboardingActiveStep.value = index >= 0 ? index : onboardingActiveStep.value;\r\n    }\r\n\r\n    if (typeof onboardingModal?.page === \"number\") {\r\n        onboardingActiveStep.value = onboardingModal?.page;\r\n    }\r\n\r\n    onboardingModal.page = null;\r\n});\r\n\r\nwatch(onboardingActiveStep, (newStep) => {\r\n    if (!onboardingAnalyticsPushedSteps.includes(newStep)) {\r\n        BonusomatDatalayer.pushOnboardingImpression(onboardingData.value.pages[newStep]?.title, newStep);\r\n        onboardingAnalyticsPushedSteps.push(newStep);\r\n    }\r\n});\r\n\r\nconst stepForward = () => {\r\n    if (onboardingActiveStep.value === onboardingPages.value?.length - 1) return;\r\n\r\n    onboardingOpenStep(onboardingActiveStep.value + 1);\r\n};\r\n\r\nconst stepBack = () => {\r\n    if (onboardingActiveStep.value === 0) return;\r\n\r\n    onboardingOpenStep(onboardingActiveStep.value - 1);\r\n};\r\n\r\nconst changeStep = (step: number) => {\r\n    onboardingOpenStep(step);\r\n};\r\n\r\nconst closeModalAnalytics = () => {\r\n    BonusomatDatalayer.pushOnboardingClose(\r\n        onboardingData.value.pages[onboardingActiveStep.value]?.title,\r\n        onboardingActiveStep.value\r\n    );\r\n    onboardingAnalyticsPushedSteps = [];\r\n};\r\n\r\nconst closeModalCtaClick = () => {\r\n    onboardingModal.isOpened = false;\r\n    closeModalAnalytics();\r\n};\r\n</script>\r\n","import script from \"./bonusomat-onboarding.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-onboarding.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\r\n    <WebpImage\r\n        :src=\"bonImgUrl(`quests/awardsIcons/${iconName.toLowerCase()}`, 'png')\"\r\n        :class=\"iconClass\"\r\n        alt=\"Ikona odměny\"\r\n    />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed } from \"vue\";\r\nimport { bonImgUrl } from \"../../utils/image-src\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\n\r\nconst props = defineProps<{\r\n    iconName: string;\r\n}>();\r\n\r\nconst baseClass = \"bonusomat-quests__award-icon\";\r\n\r\nconst iconClass = computed(() => {\r\n    return `${baseClass} ${baseClass}--${props.iconName}`;\r\n});\r\n</script>\r\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { computed } from \"vue\";\r\nimport { bonImgUrl } from \"../../utils/image-src\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\n\r\nconst baseClass = \"bonusomat-quests__award-icon\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-quest-award-icon',\n  props: {\n    iconName: {}\n  },\n  setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst iconClass = computed(() => {\r\n    return `${baseClass} ${baseClass}--${props.iconName}`;\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createBlock(WebpImage, {\n    src: _unref(bonImgUrl)(`quests/awardsIcons/${_ctx.iconName.toLowerCase()}`, 'png'),\n    class: _normalizeClass(iconClass.value),\n    alt: \"Ikona odměny\"\n  }, null, 8, [\"src\", \"class\"]))\n}\n}\n\n})","import script from \"./bonusomat-quest-award-icon.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-quest-award-icon.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withCtx as _withCtx, withModifiers as _withModifiers, Fragment as _Fragment, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"bonusomat-quest-card__image-wrapper\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = { class: \"bonusomat-quest-card__info\" }\nconst _hoisted_4 = {\n  key: 0,\n  class: \"bonusomat-quest-card__info-item\"\n}\nconst _hoisted_5 = {\n  key: 1,\n  class: \"bonusomat-quest-card__info-item\"\n}\nconst _hoisted_6 = {\n  key: 2,\n  class: \"bonusomat-quest-card__info-item\"\n}\nconst _hoisted_7 = { class: \"bonusomat-quest-card__info-item\" }\nconst _hoisted_8 = { class: \"bonusomat-quest-card__footer\" }\nconst _hoisted_9 = { class: \"bonusomat-quest-card__footer-info bonusomat-quest-card__footer-info--active\" }\nconst _hoisted_10 = { class: \"bonusomat-quest-card__footer-texts\" }\nconst _hoisted_11 = { class: \"bonusomat-quest-card__footer-actions\" }\nconst _hoisted_12 = { class: \"bonusomat-quest-card__footer-info bonusomat-quest-card__footer-info--green\" }\nconst _hoisted_13 = { class: \"bonusomat-quest-card__footer-actions\" }\nconst _hoisted_14 = { class: \"bonusomat-quest-card__footer-info bonusomat-quest-card__footer-info--yellow\" }\nconst _hoisted_15 = { class: \"bonusomat-quest-card__award-text-wrap\" }\nconst _hoisted_16 = { class: \"bonusomat-quest-card__award-text\" }\nconst _hoisted_17 = { class: \"bonusomat-quest-card__footer-actions\" }\n\nimport { computed, toRef } from \"vue\";\r\n\r\nimport DsBadge from \"@sazka/design-system/src/badge/ds-badge.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport DsButton from \"@sazka/design-system/src/button/ds-button.vue\";\r\nimport { BonusomatDatalayer } from \"@/casino/bonusomat/utils/analytics/bonusomat-datalayer\";\r\nimport BonusomatProgress from \"../shared/bonusomat-progress.vue\";\r\nimport BonusomatQuestAwardIcon from \"./bonusomat-quest-award-icon.vue\";\r\n\r\nimport useBonusomatData from \"../../composables/use-bonusomat-data\";\r\nimport { useQuestDetails } from \"../../composables/use-quest-details\";\r\n\r\nimport { BonusomatQuest } from \"../../models/bonusomat-quest\";\r\nimport { BonusomatLogoutQuest } from \"../../models/bonusomat-logout-quest\";\r\nimport { useBonusomatPlayerData } from \"../../composables/use-bonusomat-player-data\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-quest-card',\n  props: {\n    quest: {},\n    progressLoadCounter: {},\n    actionsDisabled: { type: Boolean },\n    isOnLogoutPage: { type: Boolean }\n  },\n  emits: [\"detailClicked\"],\n  setup(__props: any, { emit: __emit }) {\n\r\nconst props = __props;\r\n\r\nconst emit = __emit;\r\n\r\nconst questRef = toRef(props, \"quest\");\r\n\r\nconst { bonusomatPlayerData, remainingSpinsCount } = useBonusomatPlayerData();\r\nconst { openQuestDetail, activateQuest, deactivateQuest } = useBonusomatData();\r\nconst { isActive, isCompleted, isPlayable, tasksCountLabel, completedTasksLabel, questTimeLabel, questProgress } =\r\n    useQuestDetails(questRef, props.isOnLogoutPage);\r\n\r\nconst actionsEnabled = computed(() => !props.actionsDisabled);\r\n\r\nconst completedTasks = computed(() => {\r\n    const totalTasks = props.quest.totalTasks;\r\n\r\n    switch (totalTasks) {\r\n        case 1:\r\n            return `${props.quest.completedTasks} z ${totalTasks} úkolu`;\r\n        case 2:\r\n        case 3:\r\n        case 4:\r\n            return `${props.quest.completedTasks} ze ${totalTasks} úkolů`;\r\n        default:\r\n            return `${props.quest.completedTasks} z ${totalTasks} úkolů`;\r\n    }\r\n});\r\n\r\nconst hasTasksAndIsDone = computed(\r\n    () =>\r\n        isActive.value ||\r\n        (props.quest.totalTasks > 0 &&\r\n            (props.quest.completedTasks === 0 || props.quest.completedTasks === props.quest.totalTasks))\r\n);\r\n\r\nconst hasTasksAndIsInProgress = computed(\r\n    () =>\r\n        !isActive.value &&\r\n        props.quest.totalTasks > 0 &&\r\n        props.quest.completedTasks > 0 &&\r\n        props.quest.completedTasks < props.quest.totalTasks\r\n);\r\n\r\nconst activateQuestClick = (questId: number, questName: string) => {\r\n    activateQuest(questId);\r\n    BonusomatDatalayer.pushStartQuest(questName, \"hryLobby\", bonusomatPlayerData.points, remainingSpinsCount.value);\r\n};\r\n\r\nconst openQuestDetailClick = (\r\n    actionsEnabled: boolean,\r\n    questId: number,\r\n    questName: string,\r\n    clickSource: string,\r\n    event?: Event\r\n) => {\r\n    // In Safari even the click.stop event on disabled button is still propagated to parent card element => ignore these clicks\r\n    if ((event?.target as HTMLElement)?.className == \"button__inner\") {\r\n        return;\r\n    }\r\n\r\n    emit(\"detailClicked\");\r\n\r\n    if (actionsEnabled) {\r\n        openQuestDetail(questId);\r\n        BonusomatDatalayer.pushOpenQuest(questName, clickSource, bonusomatPlayerData.points, remainingSpinsCount.value);\r\n    }\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: _normalizeClass([\"bonusomat-quest-card\", { 'bonusomat-quest-card--active': _unref(isActive) }]),\n    onClick: _cache[5] || (_cache[5] = ($event: any) => (openQuestDetailClick(actionsEnabled.value, _ctx.quest.id, _ctx.quest.title, 'questDetail', $event)))\n  }, [\n    _createElementVNode(\"div\", _hoisted_1, [\n      (_ctx.quest.badge)\n        ? (_openBlock(), _createBlock(DsBadge, {\n            key: 0,\n            text: _ctx.quest.badge,\n            class: \"bonusomat-quest-card__badge\"\n          }, null, 8, [\"text\"]))\n        : _createCommentVNode(\"\", true),\n      _createVNode(WebpImage, {\n        \"css-class\": \"bonusomat-quest-card__image\",\n        src: _ctx.quest.image,\n        alt: \"\"\n      }, null, 8, [\"src\"])\n    ]),\n    _createElementVNode(\"h3\", {\n      class: \"bonusomat-quest-card__title\",\n      innerHTML: _ctx.quest.title\n    }, null, 8, _hoisted_2),\n    _createElementVNode(\"div\", _hoisted_3, [\n      (_unref(isActive))\n        ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n            _createVNode(BonusomatQuestAwardIcon, {\n              \"icon-name\": _ctx.quest.awardIcon\n            }, null, 8, [\"icon-name\"]),\n            _createTextVNode(\" \" + _toDisplayString(_ctx.quest.award), 1)\n          ]))\n        : _createCommentVNode(\"\", true),\n      (hasTasksAndIsDone.value)\n        ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n            _createVNode(DsIcon, {\n              name: \"bet-list\",\n              width: 16,\n              height: 16\n            }),\n            _createTextVNode(\" \" + _toDisplayString(_unref(tasksCountLabel)), 1)\n          ]))\n        : _createCommentVNode(\"\", true),\n      (hasTasksAndIsInProgress.value)\n        ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n            (_openBlock(), _createBlock(BonusomatProgress, {\n              key: _ctx.progressLoadCounter,\n              progress: _unref(questProgress)\n            }, null, 8, [\"progress\"])),\n            _createTextVNode(\" \" + _toDisplayString(_unref(completedTasksLabel)), 1)\n          ]))\n        : _createCommentVNode(\"\", true),\n      _createElementVNode(\"div\", _hoisted_7, [\n        _createVNode(DsIcon, {\n          name: \"time\",\n          width: 16,\n          height: 16\n        }),\n        _createTextVNode(\" \" + _toDisplayString(_unref(questTimeLabel)), 1)\n      ])\n    ]),\n    _createElementVNode(\"div\", _hoisted_8, [\n      (_unref(isActive))\n        ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n            _createElementVNode(\"div\", _hoisted_9, [\n              (_openBlock(), _createBlock(BonusomatProgress, {\n                key: _ctx.progressLoadCounter,\n                progress: _unref(questProgress),\n                \"show-percentage-number\": \"\"\n              }, null, 8, [\"progress\"])),\n              _createElementVNode(\"div\", _hoisted_10, [\n                _cache[6] || (_cache[6] = _createElementVNode(\"span\", null, \"Splněno\", -1)),\n                _createElementVNode(\"strong\", null, _toDisplayString(completedTasks.value), 1)\n              ])\n            ]),\n            _createElementVNode(\"div\", _hoisted_11, [\n              _createVNode(DsButton, {\n                theme: \"dark\",\n                size: \"sm\",\n                type: \"interaction\",\n                \"icon-left\": \"bet-list\",\n                onClick: _cache[0] || (_cache[0] = ($event: any) => (actionsEnabled.value && _unref(openQuestDetail)(_ctx.quest.id)))\n              }, {\n                default: _withCtx(() => _cache[7] || (_cache[7] = [\n                  _createElementVNode(\"span\", { class: \"bonusomat-quest-card__show-tasks-text\" }, \"Zobrazit\", -1),\n                  _createTextVNode(\" Úkoly \")\n                ])),\n                _: 1\n              }),\n              _createVNode(DsButton, {\n                theme: \"light\",\n                size: \"sm\",\n                type: \"error\",\n                \"icon-left\": \"cross\",\n                onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (actionsEnabled.value && _unref(deactivateQuest)('small')), [\"stop\"]))\n              })\n            ])\n          ], 64))\n        : (_unref(isCompleted))\n          ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n              _createElementVNode(\"div\", _hoisted_12, [\n                _createVNode(BonusomatProgress, {\n                  progress: 100,\n                  \"is-completed\": \"\"\n                }),\n                _cache[8] || (_cache[8] = _createTextVNode(\" Splněno \"))\n              ]),\n              _createElementVNode(\"div\", _hoisted_13, [\n                _createVNode(DsButton, {\n                  theme: \"dark\",\n                  size: \"sm\",\n                  type: \"interaction\",\n                  onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (openQuestDetailClick(actionsEnabled.value, _ctx.quest.id, _ctx.quest.title, 'detailButton')), [\"stop\"]))\n                }, {\n                  default: _withCtx(() => _cache[9] || (_cache[9] = [\n                    _createTextVNode(\"Detail\")\n                  ])),\n                  _: 1\n                })\n              ])\n            ], 64))\n          : (_openBlock(), _createElementBlock(_Fragment, { key: 2 }, [\n              _createElementVNode(\"div\", _hoisted_14, [\n                _createVNode(BonusomatQuestAwardIcon, {\n                  \"icon-name\": _ctx.quest.awardIcon\n                }, null, 8, [\"icon-name\"]),\n                _createElementVNode(\"div\", _hoisted_15, [\n                  _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_ctx.quest.award), 1)\n                ])\n              ]),\n              _createElementVNode(\"div\", _hoisted_17, [\n                _createVNode(DsButton, {\n                  theme: \"dark\",\n                  size: \"sm\",\n                  type: \"interaction\",\n                  onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (openQuestDetailClick(actionsEnabled.value, _ctx.quest.id, _ctx.quest.title, 'detailButton')), [\"stop\"]))\n                }, {\n                  default: _withCtx(() => _cache[10] || (_cache[10] = [\n                    _createTextVNode(\"Detail\")\n                  ])),\n                  _: 1\n                }),\n                _createVNode(DsButton, {\n                  theme: \"dark\",\n                  size: \"sm\",\n                  \"is-disabled\": _ctx.isOnLogoutPage || !_unref(isPlayable),\n                  onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (actionsEnabled.value && activateQuestClick(_ctx.quest.id, _ctx.quest.title)), [\"stop\"]))\n                }, {\n                  default: _withCtx(() => [\n                    _createTextVNode(_toDisplayString(_ctx.quest.totalTasks > 0 ? \"Hrát\" : \"Získat bonus\"), 1)\n                  ]),\n                  _: 1\n                }, 8, [\"is-disabled\"])\n              ])\n            ], 64))\n    ])\n  ], 2))\n}\n}\n\n})","<template>\r\n    <div\r\n        class=\"bonusomat-quest-card\"\r\n        :class=\"{ 'bonusomat-quest-card--active': isActive }\"\r\n        @click=\"openQuestDetailClick(actionsEnabled, quest.id, quest.title, 'questDetail', $event)\"\r\n    >\r\n        <div class=\"bonusomat-quest-card__image-wrapper\">\r\n            <DsBadge v-if=\"quest.badge\" :text=\"quest.badge\" class=\"bonusomat-quest-card__badge\" />\r\n            <WebpImage css-class=\"bonusomat-quest-card__image\" :src=\"quest.image\" alt=\"\" />\r\n        </div>\r\n        <h3 class=\"bonusomat-quest-card__title\" v-html=\"quest.title\"></h3>\r\n        <div class=\"bonusomat-quest-card__info\">\r\n            <div class=\"bonusomat-quest-card__info-item\" v-if=\"isActive\">\r\n                <BonusomatQuestAwardIcon :icon-name=\"quest.awardIcon\" />\r\n                {{ quest.award }}\r\n            </div>\r\n            <div class=\"bonusomat-quest-card__info-item\" v-if=\"hasTasksAndIsDone\">\r\n                <DsIcon name=\"bet-list\" :width=\"16\" :height=\"16\" />\r\n                {{ tasksCountLabel }}\r\n            </div>\r\n            <div class=\"bonusomat-quest-card__info-item\" v-if=\"hasTasksAndIsInProgress\">\r\n                <BonusomatProgress :key=\"progressLoadCounter\" :progress=\"questProgress\" />\r\n                {{ completedTasksLabel }}\r\n            </div>\r\n            <div class=\"bonusomat-quest-card__info-item\">\r\n                <DsIcon name=\"time\" :width=\"16\" :height=\"16\" />\r\n                {{ questTimeLabel }}\r\n            </div>\r\n        </div>\r\n        <div class=\"bonusomat-quest-card__footer\">\r\n            <template v-if=\"isActive\">\r\n                <div class=\"bonusomat-quest-card__footer-info bonusomat-quest-card__footer-info--active\">\r\n                    <BonusomatProgress :key=\"progressLoadCounter\" :progress=\"questProgress\" show-percentage-number />\r\n                    <div class=\"bonusomat-quest-card__footer-texts\">\r\n                        <span>Splněno</span>\r\n                        <strong>{{ completedTasks }}</strong>\r\n                    </div>\r\n                </div>\r\n                <div class=\"bonusomat-quest-card__footer-actions\">\r\n                    <DsButton\r\n                        theme=\"dark\"\r\n                        size=\"sm\"\r\n                        type=\"interaction\"\r\n                        icon-left=\"bet-list\"\r\n                        @click=\"actionsEnabled && openQuestDetail(quest.id)\"\r\n                    >\r\n                        <span class=\"bonusomat-quest-card__show-tasks-text\">Zobrazit</span> Úkoly\r\n                    </DsButton>\r\n                    <DsButton\r\n                        theme=\"light\"\r\n                        size=\"sm\"\r\n                        type=\"error\"\r\n                        icon-left=\"cross\"\r\n                        @click.stop=\"actionsEnabled && deactivateQuest('small')\"\r\n                    />\r\n                </div>\r\n            </template>\r\n            <template v-else-if=\"isCompleted\">\r\n                <div class=\"bonusomat-quest-card__footer-info bonusomat-quest-card__footer-info--green\">\r\n                    <BonusomatProgress :progress=\"100\" is-completed />\r\n                    Splněno\r\n                </div>\r\n                <div class=\"bonusomat-quest-card__footer-actions\">\r\n                    <DsButton\r\n                        theme=\"dark\"\r\n                        size=\"sm\"\r\n                        type=\"interaction\"\r\n                        @click.stop=\"openQuestDetailClick(actionsEnabled, quest.id, quest.title, 'detailButton')\"\r\n                        >Detail</DsButton\r\n                    >\r\n                </div>\r\n            </template>\r\n            <template v-else>\r\n                <div class=\"bonusomat-quest-card__footer-info bonusomat-quest-card__footer-info--yellow\">\r\n                    <BonusomatQuestAwardIcon :icon-name=\"quest.awardIcon\" />\r\n                    <div class=\"bonusomat-quest-card__award-text-wrap\">\r\n                        <div class=\"bonusomat-quest-card__award-text\">{{ quest.award }}</div>\r\n                    </div>\r\n                </div>\r\n                <div class=\"bonusomat-quest-card__footer-actions\">\r\n                    <DsButton\r\n                        theme=\"dark\"\r\n                        size=\"sm\"\r\n                        type=\"interaction\"\r\n                        @click.stop=\"openQuestDetailClick(actionsEnabled, quest.id, quest.title, 'detailButton')\"\r\n                        >Detail</DsButton\r\n                    >\r\n                    <DsButton\r\n                        theme=\"dark\"\r\n                        size=\"sm\"\r\n                        :is-disabled=\"isOnLogoutPage || !isPlayable\"\r\n                        @click.stop=\"actionsEnabled && activateQuestClick(quest.id, quest.title)\"\r\n                        >{{ quest.totalTasks > 0 ? \"Hrát\" : \"Získat bonus\" }}</DsButton\r\n                    >\r\n                </div>\r\n            </template>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, toRef } from \"vue\";\r\n\r\nimport DsBadge from \"@sazka/design-system/src/badge/ds-badge.vue\";\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport DsButton from \"@sazka/design-system/src/button/ds-button.vue\";\r\nimport { BonusomatDatalayer } from \"@/casino/bonusomat/utils/analytics/bonusomat-datalayer\";\r\nimport BonusomatProgress from \"../shared/bonusomat-progress.vue\";\r\nimport BonusomatQuestAwardIcon from \"./bonusomat-quest-award-icon.vue\";\r\n\r\nimport useBonusomatData from \"../../composables/use-bonusomat-data\";\r\nimport { useQuestDetails } from \"../../composables/use-quest-details\";\r\n\r\nimport { BonusomatQuest } from \"../../models/bonusomat-quest\";\r\nimport { BonusomatLogoutQuest } from \"../../models/bonusomat-logout-quest\";\r\nimport { useBonusomatPlayerData } from \"../../composables/use-bonusomat-player-data\";\r\n\r\nconst props = defineProps<{\r\n    quest: BonusomatQuest | BonusomatLogoutQuest;\r\n    progressLoadCounter?: string;\r\n    actionsDisabled?: boolean;\r\n    isOnLogoutPage?: boolean;\r\n}>();\r\n\r\nconst emit = defineEmits([\"detailClicked\"]);\r\n\r\nconst questRef = toRef(props, \"quest\");\r\n\r\nconst { bonusomatPlayerData, remainingSpinsCount } = useBonusomatPlayerData();\r\nconst { openQuestDetail, activateQuest, deactivateQuest } = useBonusomatData();\r\nconst { isActive, isCompleted, isPlayable, tasksCountLabel, completedTasksLabel, questTimeLabel, questProgress } =\r\n    useQuestDetails(questRef, props.isOnLogoutPage);\r\n\r\nconst actionsEnabled = computed(() => !props.actionsDisabled);\r\n\r\nconst completedTasks = computed(() => {\r\n    const totalTasks = props.quest.totalTasks;\r\n\r\n    switch (totalTasks) {\r\n        case 1:\r\n            return `${props.quest.completedTasks} z ${totalTasks} úkolu`;\r\n        case 2:\r\n        case 3:\r\n        case 4:\r\n            return `${props.quest.completedTasks} ze ${totalTasks} úkolů`;\r\n        default:\r\n            return `${props.quest.completedTasks} z ${totalTasks} úkolů`;\r\n    }\r\n});\r\n\r\nconst hasTasksAndIsDone = computed(\r\n    () =>\r\n        isActive.value ||\r\n        (props.quest.totalTasks > 0 &&\r\n            (props.quest.completedTasks === 0 || props.quest.completedTasks === props.quest.totalTasks))\r\n);\r\n\r\nconst hasTasksAndIsInProgress = computed(\r\n    () =>\r\n        !isActive.value &&\r\n        props.quest.totalTasks > 0 &&\r\n        props.quest.completedTasks > 0 &&\r\n        props.quest.completedTasks < props.quest.totalTasks\r\n);\r\n\r\nconst activateQuestClick = (questId: number, questName: string) => {\r\n    activateQuest(questId);\r\n    BonusomatDatalayer.pushStartQuest(questName, \"hryLobby\", bonusomatPlayerData.points, remainingSpinsCount.value);\r\n};\r\n\r\nconst openQuestDetailClick = (\r\n    actionsEnabled: boolean,\r\n    questId: number,\r\n    questName: string,\r\n    clickSource: string,\r\n    event?: Event\r\n) => {\r\n    // In Safari even the click.stop event on disabled button is still propagated to parent card element => ignore these clicks\r\n    if ((event?.target as HTMLElement)?.className == \"button__inner\") {\r\n        return;\r\n    }\r\n\r\n    emit(\"detailClicked\");\r\n\r\n    if (actionsEnabled) {\r\n        openQuestDetail(questId);\r\n        BonusomatDatalayer.pushOpenQuest(questName, clickSource, bonusomatPlayerData.points, remainingSpinsCount.value);\r\n    }\r\n};\r\n</script>\r\n","import script from \"./bonusomat-quest-card.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-quest-card.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"bonusomat-quest-accordion__header\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { onMounted, ref, toRef } from \"vue\";\r\nimport DsAccordionItem from \"@sazka/design-system/src/accordion-item/ds-accordion-item.vue\";\r\nimport { useAccordion } from \"@sazka/utils/composables/use-accordion\";\r\nimport { Theme } from \"@sazka/design-system/src/types/theme\";\r\nimport BonusomatProgress from \"../shared/bonusomat-progress.vue\";\r\nimport DsButton from \"@sazka/design-system/src/button/ds-button.vue\";\r\nimport { BonusomatQuestTask } from \"../../models/bonusomat-quest-detail\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-quest-detail-accordion',\n  props: {\n    tasks: {},\n    defaultOpenTaskIndex: {},\n    scrollTaskIntoView: { type: Boolean },\n    theme: {}\n  },\n  emits: [\"showTaskGames\"],\n  setup(__props: any, { emit: __emit }) {\n\r\nconst parentRef = ref<HTMLElement>(null);\r\n\r\nconst props = __props;\r\n\r\nconst { init } = useAccordion({\r\n    openOnlyOne: false,\r\n    withScrollIntoView: toRef(() => props.scrollTaskIntoView),\r\n});\r\nconst emit = __emit;\r\n\r\nconst handleOpenModal = (taskToShowGames: BonusomatQuestTask, taskIndex: number) => {\r\n    emit(\"showTaskGames\", taskToShowGames, taskIndex);\r\n};\r\n\r\nconst accordionItemExpanded = (index: number) => {\r\n    if (document.body.classList.contains(\"firefox\") && index >= props.tasks.length - 2) {\r\n        const parentScrollWrapElem = parentRef.value?.closest(\".ds-modal-dialog__content\");\r\n        if (parentScrollWrapElem) {\r\n            setTimeout(() => {\r\n                parentScrollWrapElem.scrollTo({\r\n                    top: parentScrollWrapElem.scrollHeight,\r\n                    left: 0,\r\n                    behavior: \"smooth\",\r\n                });\r\n            }, 400);\r\n        }\r\n    }\r\n};\r\n\r\nonMounted(() => {\r\n    const allElements = parentRef.value?.querySelectorAll(\".ds-accordion-item\");\r\n\r\n    init(allElements);\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", {\n    class: _normalizeClass([\"ds-accordion bonusomat-quest-accordion\", { 'is-dark': _ctx.theme === 'dark' }]),\n    ref_key: \"parentRef\",\n    ref: parentRef\n  }, [\n    (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(props.tasks, (item, index) => {\n      return (_openBlock(), _createBlock(DsAccordionItem, {\n        \"default-open\": index == _ctx.defaultOpenTaskIndex,\n        key: index,\n        \"item-id\": index,\n        \"header-icon-name\": \"chevron-down-thin\",\n        onExpanded: ($event: any) => (accordionItemExpanded(index))\n      }, {\n        summary: _withCtx(() => [\n          _createElementVNode(\"div\", _hoisted_1, [\n            _createVNode(BonusomatProgress, {\n              progress: item.progress,\n              \"is-completed\": item.progress === 100,\n              \"always-visible\": \"\",\n              \"show-percentage-number\": \"\"\n            }, null, 8, [\"progress\", \"is-completed\"]),\n            _createTextVNode(_toDisplayString(item.title), 1)\n          ])\n        ]),\n        text: _withCtx(() => [\n          _createElementVNode(\"span\", {\n            innerHTML: item.description\n          }, null, 8, _hoisted_2),\n          (item.games?.length)\n            ? (_openBlock(), _createBlock(DsButton, {\n                key: 0,\n                theme: \"dark\",\n                type: \"interaction\",\n                size: \"sm\",\n                onClick: ($event: any) => (handleOpenModal(item, index)),\n                class: \"bonusomat-quest__show-games-btn\"\n              }, {\n                default: _withCtx(() => _cache[0] || (_cache[0] = [\n                  _createTextVNode(\"Zobrazit hry\")\n                ])),\n                _: 2\n              }, 1032, [\"onClick\"]))\n            : _createCommentVNode(\"\", true)\n        ]),\n        _: 2\n      }, 1032, [\"default-open\", \"item-id\", \"onExpanded\"]))\n    }), 128))\n  ], 2))\n}\n}\n\n})","<template>\r\n    <div class=\"ds-accordion bonusomat-quest-accordion\" :class=\"{ 'is-dark': theme === 'dark' }\" ref=\"parentRef\">\r\n        <DsAccordionItem\r\n            :default-open=\"index == defaultOpenTaskIndex\"\r\n            v-for=\"(item, index) in props.tasks\"\r\n            :key=\"index\"\r\n            :item-id=\"index\"\r\n            header-icon-name=\"chevron-down-thin\"\r\n            @expanded=\"accordionItemExpanded(index)\"\r\n        >\r\n            <template #summary>\r\n                <div class=\"bonusomat-quest-accordion__header\">\r\n                    <BonusomatProgress\r\n                        :progress=\"item.progress\"\r\n                        :is-completed=\"item.progress === 100\"\r\n                        always-visible\r\n                        show-percentage-number\r\n                    />{{ item.title }}\r\n                </div>\r\n            </template>\r\n            <template #text>\r\n                <span v-html=\"item.description\"></span>\r\n                <DsButton\r\n                    theme=\"dark\"\r\n                    type=\"interaction\"\r\n                    size=\"sm\"\r\n                    @click=\"handleOpenModal(item, index)\"\r\n                    class=\"bonusomat-quest__show-games-btn\"\r\n                    v-if=\"item.games?.length\"\r\n                    >Zobrazit hry</DsButton\r\n                >\r\n            </template>\r\n        </DsAccordionItem>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { onMounted, ref, toRef } from \"vue\";\r\nimport DsAccordionItem from \"@sazka/design-system/src/accordion-item/ds-accordion-item.vue\";\r\nimport { useAccordion } from \"@sazka/utils/composables/use-accordion\";\r\nimport { Theme } from \"@sazka/design-system/src/types/theme\";\r\nimport BonusomatProgress from \"../shared/bonusomat-progress.vue\";\r\nimport DsButton from \"@sazka/design-system/src/button/ds-button.vue\";\r\nimport { BonusomatQuestTask } from \"../../models/bonusomat-quest-detail\";\r\n\r\nconst parentRef = ref<HTMLElement>(null);\r\n\r\nconst props = defineProps<{\r\n    /**\r\n     * Set elements\r\n     */\r\n    tasks: BonusomatQuestTask[];\r\n    /**\r\n     * Set index of task to open by default\r\n     */\r\n    defaultOpenTaskIndex: number;\r\n    /**\r\n     * It scrolls task to open into view\r\n     */\r\n    scrollTaskIntoView: boolean;\r\n    /**\r\n     * It scrolls task to open into view\r\n     */\r\n    theme?: Theme;\r\n}>();\r\n\r\nconst { init } = useAccordion({\r\n    openOnlyOne: false,\r\n    withScrollIntoView: toRef(() => props.scrollTaskIntoView),\r\n});\r\nconst emit = defineEmits([\"showTaskGames\"]);\r\n\r\nconst handleOpenModal = (taskToShowGames: BonusomatQuestTask, taskIndex: number) => {\r\n    emit(\"showTaskGames\", taskToShowGames, taskIndex);\r\n};\r\n\r\nconst accordionItemExpanded = (index: number) => {\r\n    if (document.body.classList.contains(\"firefox\") && index >= props.tasks.length - 2) {\r\n        const parentScrollWrapElem = parentRef.value?.closest(\".ds-modal-dialog__content\");\r\n        if (parentScrollWrapElem) {\r\n            setTimeout(() => {\r\n                parentScrollWrapElem.scrollTo({\r\n                    top: parentScrollWrapElem.scrollHeight,\r\n                    left: 0,\r\n                    behavior: \"smooth\",\r\n                });\r\n            }, 400);\r\n        }\r\n    }\r\n};\r\n\r\nonMounted(() => {\r\n    const allElements = parentRef.value?.querySelectorAll(\".ds-accordion-item\");\r\n\r\n    init(allElements);\r\n});\r\n</script>\r\n","import script from \"./bonusomat-quest-detail-accordion.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-quest-detail-accordion.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bonusomat-odometer\" }\nconst _hoisted_2 = { class: \"bonusomat-odometer__letter-odometer odometer-auto-theme\" }\nconst _hoisted_3 = { class: \"bonusomat-odometer__odometer-inside\" }\nconst _hoisted_4 = { class: \"odometer-digit\" }\nconst _hoisted_5 = { class: \"odometer-digit-inner\" }\nconst _hoisted_6 = { class: \"odometer-ribbon\" }\nconst _hoisted_7 = { class: \"odometer-ribbon-inner\" }\n\nimport { computed, onMounted, ref, watch } from \"vue\";\r\nimport Odometer from \"odometer\";\r\nimport { useKeenSlider } from \"keen-slider/vue.es\";\r\n\r\nconst oneSlideChangeDuration = 240;\r\nconst slidesCount = 4;\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'time-counter',\n  props: {\n    remainingSeconds: {}\n  },\n  setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst odometerTensRef = ref(null);\r\nconst odometerOnesRef = ref(null);\r\n\r\nconst [sliderContainer, slider] = useKeenSlider<HTMLDivElement>({\r\n    selector: \".odometer-value--unit\",\r\n    vertical: true,\r\n    drag: false,\r\n    mode: \"free-snap\",\r\n    slides: {\r\n        perView: 1,\r\n    },\r\n});\r\n\r\nconst getOnes = (val: number) => val % 10;\r\nconst getTens = (val: number) => Math.floor(val / 10);\r\n\r\nconst getValueAndUnit = (seconds: number): [number, number] => {\r\n    const days = Math.floor(seconds / 86400);\r\n    if (days > 0) {\r\n        return [days, 3];\r\n    }\r\n\r\n    const time = new Date(seconds * 1000);\r\n\r\n    const hours = time.getUTCHours();\r\n    if (hours > 0) {\r\n        return [hours, 2];\r\n    }\r\n\r\n    const minutes = time.getUTCMinutes();\r\n    if (minutes > 0) {\r\n        return [minutes, 1];\r\n    }\r\n\r\n    return [time.getUTCSeconds(), 0];\r\n};\r\n\r\nconst timeSplitted = computed(() => {\r\n    const [value, unit] = getValueAndUnit(props.remainingSeconds);\r\n\r\n    return [getTens(value), getOnes(value), unit];\r\n});\r\n\r\nconst odometerTens = computed(() => timeSplitted.value[0]);\r\nconst odometerOnes = computed(() => timeSplitted.value[1]);\r\nconst odometerUnit = computed(() => timeSplitted.value[2]);\r\n\r\nlet initialSlidingCompleted = false;\r\nconst oneRoundAnimationSettings = computed(() => {\r\n    return { duration: oneSlideChangeDuration * slidesCount, easing: (t) => (t -= 1) * t * t + 1 };\r\n});\r\n\r\nwatch(odometerTens, (newValue) => {\r\n    odometerTensRef.value.innerText = newValue;\r\n});\r\nwatch(odometerOnes, (newValue) => {\r\n    odometerOnesRef.value.innerText = newValue;\r\n});\r\nwatch(odometerUnit, (newValue) => {\r\n    if (initialSlidingCompleted) {\r\n        slider.value.moveToIdx(newValue, true, oneRoundAnimationSettings.value);\r\n    }\r\n});\r\n\r\nonMounted(() => {\r\n    const odoTens = new Odometer({\r\n        el: odometerTensRef.value,\r\n        value: odometerTens.value,\r\n        duration: 700,\r\n    });\r\n    const odoOnes = new Odometer({\r\n        el: odometerOnesRef.value,\r\n        value: odometerOnes.value,\r\n        duration: 700,\r\n    });\r\n    odoTens.render();\r\n    odoOnes.render();\r\n    setTimeout(() => {\r\n        slider.value.moveToIdx(odometerUnit.value, true, oneRoundAnimationSettings.value);\r\n        initialSlidingCompleted = true;\r\n    }, 2000);\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    _createElementVNode(\"span\", {\n      ref_key: \"odometerTensRef\",\n      ref: odometerTensRef\n    }, null, 512),\n    _createElementVNode(\"span\", {\n      ref_key: \"odometerOnesRef\",\n      ref: odometerOnesRef\n    }, null, 512),\n    _createElementVNode(\"span\", _hoisted_2, [\n      _createElementVNode(\"div\", _hoisted_3, [\n        _createElementVNode(\"span\", _hoisted_4, [\n          _createElementVNode(\"span\", _hoisted_5, [\n            _createElementVNode(\"span\", _hoisted_6, [\n              _createElementVNode(\"span\", _hoisted_7, [\n                _createElementVNode(\"span\", {\n                  class: \"bonusomat-odometer__letter\",\n                  ref_key: \"sliderContainer\",\n                  ref: sliderContainer\n                }, _cache[0] || (_cache[0] = [\n                  _createElementVNode(\"span\", { class: \"odometer-value odometer-value--unit\" }, \"s\", -1),\n                  _createElementVNode(\"span\", { class: \"odometer-value odometer-value--unit\" }, \"m\", -1),\n                  _createElementVNode(\"span\", { class: \"odometer-value odometer-value--unit\" }, \"h\", -1),\n                  _createElementVNode(\"span\", { class: \"odometer-value odometer-value--unit\" }, \"d\", -1)\n                ]), 512)\n              ])\n            ])\n          ])\n        ])\n      ])\n    ])\n  ]))\n}\n}\n\n})","<template>\r\n    <div class=\"bonusomat-odometer\">\r\n        <span ref=\"odometerTensRef\"></span><span ref=\"odometerOnesRef\"></span>\r\n        <span class=\"bonusomat-odometer__letter-odometer odometer-auto-theme\">\r\n            <div class=\"bonusomat-odometer__odometer-inside\">\r\n                <span class=\"odometer-digit\">\r\n                    <span class=\"odometer-digit-inner\">\r\n                        <span class=\"odometer-ribbon\">\r\n                            <span class=\"odometer-ribbon-inner\">\r\n                                <span class=\"bonusomat-odometer__letter\" ref=\"sliderContainer\">\r\n                                    <span class=\"odometer-value odometer-value--unit\">s</span>\r\n                                    <span class=\"odometer-value odometer-value--unit\">m</span>\r\n                                    <span class=\"odometer-value odometer-value--unit\">h</span>\r\n                                    <span class=\"odometer-value odometer-value--unit\">d</span>\r\n                                </span>\r\n                            </span>\r\n                        </span>\r\n                    </span>\r\n                </span>\r\n            </div>\r\n        </span>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, onMounted, ref, watch } from \"vue\";\r\nimport Odometer from \"odometer\";\r\nimport { useKeenSlider } from \"keen-slider/vue.es\";\r\n\r\nconst props = defineProps<{\r\n    remainingSeconds?: number;\r\n}>();\r\n\r\nconst odometerTensRef = ref(null);\r\nconst odometerOnesRef = ref(null);\r\n\r\nconst [sliderContainer, slider] = useKeenSlider<HTMLDivElement>({\r\n    selector: \".odometer-value--unit\",\r\n    vertical: true,\r\n    drag: false,\r\n    mode: \"free-snap\",\r\n    slides: {\r\n        perView: 1,\r\n    },\r\n});\r\n\r\nconst getOnes = (val: number) => val % 10;\r\nconst getTens = (val: number) => Math.floor(val / 10);\r\n\r\nconst getValueAndUnit = (seconds: number): [number, number] => {\r\n    const days = Math.floor(seconds / 86400);\r\n    if (days > 0) {\r\n        return [days, 3];\r\n    }\r\n\r\n    const time = new Date(seconds * 1000);\r\n\r\n    const hours = time.getUTCHours();\r\n    if (hours > 0) {\r\n        return [hours, 2];\r\n    }\r\n\r\n    const minutes = time.getUTCMinutes();\r\n    if (minutes > 0) {\r\n        return [minutes, 1];\r\n    }\r\n\r\n    return [time.getUTCSeconds(), 0];\r\n};\r\n\r\nconst timeSplitted = computed(() => {\r\n    const [value, unit] = getValueAndUnit(props.remainingSeconds);\r\n\r\n    return [getTens(value), getOnes(value), unit];\r\n});\r\n\r\nconst odometerTens = computed(() => timeSplitted.value[0]);\r\nconst odometerOnes = computed(() => timeSplitted.value[1]);\r\nconst odometerUnit = computed(() => timeSplitted.value[2]);\r\n\r\nlet initialSlidingCompleted = false;\r\nconst oneSlideChangeDuration = 240;\r\nconst slidesCount = 4;\r\nconst oneRoundAnimationSettings = computed(() => {\r\n    return { duration: oneSlideChangeDuration * slidesCount, easing: (t) => (t -= 1) * t * t + 1 };\r\n});\r\n\r\nwatch(odometerTens, (newValue) => {\r\n    odometerTensRef.value.innerText = newValue;\r\n});\r\nwatch(odometerOnes, (newValue) => {\r\n    odometerOnesRef.value.innerText = newValue;\r\n});\r\nwatch(odometerUnit, (newValue) => {\r\n    if (initialSlidingCompleted) {\r\n        slider.value.moveToIdx(newValue, true, oneRoundAnimationSettings.value);\r\n    }\r\n});\r\n\r\nonMounted(() => {\r\n    const odoTens = new Odometer({\r\n        el: odometerTensRef.value,\r\n        value: odometerTens.value,\r\n        duration: 700,\r\n    });\r\n    const odoOnes = new Odometer({\r\n        el: odometerOnesRef.value,\r\n        value: odometerOnes.value,\r\n        duration: 700,\r\n    });\r\n    odoTens.render();\r\n    odoOnes.render();\r\n    setTimeout(() => {\r\n        slider.value.moveToIdx(odometerUnit.value, true, oneRoundAnimationSettings.value);\r\n        initialSlidingCompleted = true;\r\n    }, 2000);\r\n});\r\n</script>\r\n","import script from \"./time-counter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./time-counter.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"bonusomat-odometer\" }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"bonusomat-odometer__unit\"\n}\n\nimport { computed, onMounted, ref, watch } from \"vue\";\r\nimport Odometer from \"odometer\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-counter',\n  props: {\n    counterValue: {},\n    numeralCount: {},\n    unit: {}\n  },\n  setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst odometerDigitsRefs = ref<HTMLDivElement[]>([]);\r\n\r\n// Parses number to array of each numeral, e.g. number \"250731\" when using numeralCount = 7 => [0, 2, 5, 0, 7, 3, 1]\r\nconst parseNumberToNumeralArray = (val: number): number[] => {\r\n    const numeralArray: number[] = [];\r\n    let currentVal = val;\r\n\r\n    for (let i = props.numeralCount - 1; i >= 0; i--) {\r\n        const power = Math.pow(10, i);\r\n        if (currentVal >= power) {\r\n            numeralArray.push(Math.floor(currentVal / power));\r\n            currentVal = currentVal % power;\r\n        } else {\r\n            numeralArray.push(0);\r\n        }\r\n    }\r\n\r\n    return numeralArray;\r\n};\r\n\r\nconst odometerDigitsValues = computed(() => parseNumberToNumeralArray(props.counterValue));\r\n\r\nwatch(odometerDigitsValues, (newValue) => {\r\n    for (let i = 0; i < odometerDigitsValues.value.length; i++) {\r\n        odometerDigitsRefs.value[i].innerHTML = newValue[i].toString();\r\n    }\r\n});\r\n\r\nonMounted(() => {\r\n    for (let i = 0; i < odometerDigitsValues.value.length; i++) {\r\n        const odometer = new Odometer({\r\n            el: odometerDigitsRefs.value[i],\r\n            value: \"0\",\r\n        });\r\n        odometer.render();\r\n\r\n        setTimeout(() => {\r\n            odometerDigitsRefs.value[i].innerHTML = odometerDigitsValues.value[i].toString();\r\n        }, (odometerDigitsValues.value.length - i) * 300);\r\n    }\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(odometerDigitsValues.value, (val, index) => {\n      return (_openBlock(), _createElementBlock(\"div\", {\n        key: 'odometerDigitsValues-' + index,\n        ref_for: true,\n        ref_key: \"odometerDigitsRefs\",\n        ref: odometerDigitsRefs\n      }))\n    }), 128)),\n    (_ctx.unit)\n      ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.unit), 1))\n      : _createCommentVNode(\"\", true)\n  ]))\n}\n}\n\n})","<template>\r\n    <div class=\"bonusomat-odometer\">\r\n        <div\r\n            v-for=\"(val, index) in odometerDigitsValues\"\r\n            :key=\"'odometerDigitsValues-' + index\"\r\n            ref=\"odometerDigitsRefs\"\r\n        ></div>\r\n        <div class=\"bonusomat-odometer__unit\" v-if=\"unit\">{{ unit }}</div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, onMounted, ref, watch } from \"vue\";\r\nimport Odometer from \"odometer\";\r\n\r\nconst props = defineProps<{\r\n    counterValue: number;\r\n    numeralCount: number; // number of numerals we want to show\r\n    unit?: string;\r\n}>();\r\n\r\nconst odometerDigitsRefs = ref<HTMLDivElement[]>([]);\r\n\r\n// Parses number to array of each numeral, e.g. number \"250731\" when using numeralCount = 7 => [0, 2, 5, 0, 7, 3, 1]\r\nconst parseNumberToNumeralArray = (val: number): number[] => {\r\n    const numeralArray: number[] = [];\r\n    let currentVal = val;\r\n\r\n    for (let i = props.numeralCount - 1; i >= 0; i--) {\r\n        const power = Math.pow(10, i);\r\n        if (currentVal >= power) {\r\n            numeralArray.push(Math.floor(currentVal / power));\r\n            currentVal = currentVal % power;\r\n        } else {\r\n            numeralArray.push(0);\r\n        }\r\n    }\r\n\r\n    return numeralArray;\r\n};\r\n\r\nconst odometerDigitsValues = computed(() => parseNumberToNumeralArray(props.counterValue));\r\n\r\nwatch(odometerDigitsValues, (newValue) => {\r\n    for (let i = 0; i < odometerDigitsValues.value.length; i++) {\r\n        odometerDigitsRefs.value[i].innerHTML = newValue[i].toString();\r\n    }\r\n});\r\n\r\nonMounted(() => {\r\n    for (let i = 0; i < odometerDigitsValues.value.length; i++) {\r\n        const odometer = new Odometer({\r\n            el: odometerDigitsRefs.value[i],\r\n            value: \"0\",\r\n        });\r\n        odometer.render();\r\n\r\n        setTimeout(() => {\r\n            odometerDigitsRefs.value[i].innerHTML = odometerDigitsValues.value[i].toString();\r\n        }, (odometerDigitsValues.value.length - i) * 300);\r\n    }\r\n});\r\n</script>\r\n","import script from \"./bonusomat-counter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-counter.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createStaticVNode as _createStaticVNode } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = {\n  key: 0,\n  class: \"bonusomat-progress__percentage\"\n}\n\nimport { computed } from \"vue\";\r\n\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'bonusomat-progress',\n  props: {\n    progress: {},\n    isCompleted: { type: Boolean },\n    showPercentageNumber: { type: Boolean },\n    alwaysVisible: { type: Boolean },\n    showTrackerEvenIfCompleted: { type: Boolean }\n  },\n  setup(__props: any) {\n\r\nconst props = __props;\r\n\r\nconst isVisible = computed(() => {\r\n    return (props.progress > 0 && props.progress < 100) || props.showPercentageNumber || props.alwaysVisible;\r\n});\r\n\r\nconst progressLabel = computed(() => {\r\n    if (isNaN(props.progress)) {\r\n        return \"\";\r\n    }\r\n\r\n    return `${props.progress > 99 ? Math.floor(props.progress) : Math.round(props.progress)} %`;\r\n});\r\n\r\nconst progressValue = computed(() => {\r\n    if (isNaN(props.progress)) {\r\n        return 1;\r\n    }\r\n\r\n    const min = 0;\r\n    const max = 1;\r\n    const value = 1 - props.progress / 100;\r\n\r\n    return Math.min(Math.max(value, min), max);\r\n});\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_ctx.isCompleted && !_ctx.showTrackerEvenIfCompleted)\n    ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n        _createVNode(WebpImage, {\n          class: \"bonusomat-progress bonusomat-progress--img\",\n          src: \"/frontend/web/img/casino/bonusomat/progress-done.svg\",\n          alt: \"\"\n        })\n      ]))\n    : (isVisible.value)\n      ? (_openBlock(), _createElementBlock(\"div\", {\n          key: 1,\n          class: _normalizeClass([\"bonusomat-progress-wrap\", { 'bonusomat-progress__contains-percentage': _ctx.showPercentageNumber }])\n        }, [\n          (_openBlock(), _createElementBlock(\"svg\", {\n            class: \"bonusomat-progress bonusomat-progress--rotate\",\n            style: _normalizeStyle(`--progress-value: ${progressValue.value}`)\n          }, _cache[0] || (_cache[0] = [\n            _createStaticVNode(\"<circle class=\\\"bonusomat-progress__track\\\"></circle><circle class=\\\"bonusomat-progress__value\\\" stroke=\\\"url(#value-gradient)\\\"></circle><defs><linearGradient id=\\\"value-gradient\\\"><stop stop-color=\\\"#76D911\\\"></stop><stop offset=\\\"1\\\" stop-color=\\\"#54C00C\\\"></stop></linearGradient></defs>\", 3)\n          ]), 4)),\n          (_ctx.showPercentageNumber)\n            ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(progressLabel.value), 1))\n            : _createCommentVNode(\"\", true)\n        ], 2))\n      : _createCommentVNode(\"\", true)\n}\n}\n\n})","<template>\r\n    <div v-if=\"isCompleted && !showTrackerEvenIfCompleted\">\r\n        <WebpImage\r\n            class=\"bonusomat-progress bonusomat-progress--img\"\r\n            src=\"/frontend/web/img/casino/bonusomat/progress-done.svg\"\r\n            alt=\"\"\r\n        />\r\n    </div>\r\n    <div\r\n        class=\"bonusomat-progress-wrap\"\r\n        :class=\"{ 'bonusomat-progress__contains-percentage': showPercentageNumber }\"\r\n        v-else-if=\"isVisible\"\r\n    >\r\n        <svg class=\"bonusomat-progress bonusomat-progress--rotate\" :style=\"`--progress-value: ${progressValue}`\">\r\n            <circle class=\"bonusomat-progress__track\"></circle>\r\n            <circle class=\"bonusomat-progress__value\" stroke=\"url(#value-gradient)\"></circle>\r\n            <defs>\r\n                <linearGradient id=\"value-gradient\">\r\n                    <stop stop-color=\"#76D911\" />\r\n                    <stop offset=\"1\" stop-color=\"#54C00C\" />\r\n                </linearGradient>\r\n            </defs>\r\n        </svg>\r\n        <div v-if=\"showPercentageNumber\" class=\"bonusomat-progress__percentage\">\r\n            {{ progressLabel }}\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed } from \"vue\";\r\n\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\n\r\nconst props = defineProps<{\r\n    progress?: number;\r\n    isCompleted?: boolean;\r\n    showPercentageNumber?: boolean;\r\n    alwaysVisible?: boolean;\r\n    showTrackerEvenIfCompleted?: boolean;\r\n}>();\r\n\r\nconst isVisible = computed(() => {\r\n    return (props.progress > 0 && props.progress < 100) || props.showPercentageNumber || props.alwaysVisible;\r\n});\r\n\r\nconst progressLabel = computed(() => {\r\n    if (isNaN(props.progress)) {\r\n        return \"\";\r\n    }\r\n\r\n    return `${props.progress > 99 ? Math.floor(props.progress) : Math.round(props.progress)} %`;\r\n});\r\n\r\nconst progressValue = computed(() => {\r\n    if (isNaN(props.progress)) {\r\n        return 1;\r\n    }\r\n\r\n    const min = 0;\r\n    const max = 1;\r\n    const value = 1 - props.progress / 100;\r\n\r\n    return Math.min(Math.max(value, min), max);\r\n});\r\n</script>\r\n","import script from \"./bonusomat-progress.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./bonusomat-progress.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { useModel as _useModel, mergeModels as _mergeModels, defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, createTextVNode as _createTextVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createSlots as _createSlots } from \"vue\"\n\nconst _hoisted_1 = [\"innerHTML\"]\nconst _hoisted_2 = { class: \"bonusomat-raffle-table__cols\" }\nconst _hoisted_3 = { class: \"bonusomat-raffle-table__image-section\" }\nconst _hoisted_4 = { class: \"bonusomat-raffle-table__image-wrap\" }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { class: \"bonusomat-raffle-table__table-section\" }\nconst _hoisted_7 = { key: 3 }\n\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport MobileAppLink from \"@sazka/mobile-apps/components/mobile-app-link.vue\";\r\nimport { SvgIcons } from \"@sazka/design-system/src/icon/types\";\r\nimport DsTable from \"@sazka/design-system/src/table/ds-table.vue\";\r\nimport DsRow from \"@sazka/design-system/src/table-row/ds-table-row.vue\";\r\nimport DsCell from \"@sazka/design-system/src/table-cell/ds-table-cell.vue\";\r\nimport DsModalDialog from \"@sazka/design-system/src/modal-dialog/ds-modal-dialog.vue\";\r\nimport DsBottomSlotActionBar from \"@sazka/design-system/src/bottom-slot/ds-bottom-slot-action-bar.vue\";\r\nimport DsTopSlotHeadlineSubheadline from \"@sazka/design-system/src/top-slot/ds-top-subheadline.vue\";\r\n\r\nimport { bonImgUrl } from \"../../utils/image-src\";\r\nimport { RaffleWinTable } from \"../../models/raffle-win-table\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'raffle-prizes-modal',\n  props: /*@__PURE__*/_mergeModels({\n    raffleWinTable: {},\n    btnSubmitText: {},\n    btnRightIcon: {},\n    showLoginBtn: { type: Boolean }\n  }, {\n    \"modelValue\": { type: Boolean, ...{ required: true } },\n    \"modelModifiers\": {},\n  }),\n  emits: /*@__PURE__*/_mergeModels([\"submitDialog\"], [\"update:modelValue\"]),\n  setup(__props: any, { emit: __emit }) {\n\r\nconst modelValue = _useModel<boolean>(__props, \"modelValue\");\r\n\r\n\r\n\r\nconst emit = __emit;\r\n\r\nconst closeModal = () => {\r\n    modelValue.value = false;\r\n};\r\n\r\nconst submitDialog = () => {\r\n    emit(\"submitDialog\", null);\r\n    closeModal();\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createBlock(DsModalDialog, {\n    modelValue: modelValue.value,\n    \"onUpdate:modelValue\": [\n      _cache[0] || (_cache[0] = ($event: any) => ((modelValue).value = $event)),\n      closeModal\n    ],\n    \"css-class\": \"bonusomat-raffle-table\",\n    theme: \"dark\"\n  }, {\n    top: _withCtx(() => [\n      _createVNode(DsTopSlotHeadlineSubheadline, {\n        headline: _ctx.raffleWinTable?.title,\n        \"display-headline-as-html\": true\n      }, null, 8, [\"headline\"]),\n      _createElementVNode(\"p\", {\n        class: \"bonusomat-raffle-table__description\",\n        innerHTML: _ctx.raffleWinTable?.description\n      }, null, 8, _hoisted_1)\n    ]),\n    content: _withCtx(() => [\n      _createElementVNode(\"div\", _hoisted_2, [\n        _createElementVNode(\"div\", _hoisted_3, [\n          _createElementVNode(\"div\", _hoisted_4, [\n            _createVNode(WebpImage, {\n              src: _unref(bonImgUrl)('raffle/zombies-with-ticket', 'png'),\n              alt: \"Pán Zelený s Pánem Červeným stojící vedle barelu toxické tekutiny\",\n              \"css-class\": \"bonusomat-raffle-table__image\"\n            }, null, 8, [\"src\"])\n          ]),\n          _createElementVNode(\"p\", {\n            class: \"bonusomat-raffle-table__description\",\n            innerHTML: _ctx.raffleWinTable?.mainText\n          }, null, 8, _hoisted_5)\n        ]),\n        _createElementVNode(\"div\", _hoisted_6, [\n          _cache[3] || (_cache[3] = _createElementVNode(\"h3\", { class: \"bonusomat-raffle-table__label\" }, \"Co můžete vyhrát?\", -1)),\n          _createVNode(DsTable, { theme: \"dark\" }, {\n            default: _withCtx(() => [\n              _createVNode(DsRow, null, {\n                default: _withCtx(() => [\n                  _createVNode(DsCell, { type: \"th\" }, {\n                    default: _withCtx(() => _cache[1] || (_cache[1] = [\n                      _createTextVNode(\"Pořadí\")\n                    ])),\n                    _: 1\n                  }),\n                  _createVNode(DsCell, { type: \"th\" }, {\n                    default: _withCtx(() => _cache[2] || (_cache[2] = [\n                      _createTextVNode(\"Cena\")\n                    ])),\n                    _: 1\n                  })\n                ]),\n                _: 1\n              }),\n              (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.raffleWinTable?.prizes, (item, index) => {\n                return (_openBlock(), _createBlock(DsRow, { key: index }, {\n                  default: _withCtx(() => [\n                    _createVNode(DsCell, null, {\n                      default: _withCtx(() => [\n                        (index === 0)\n                          ? (_openBlock(), _createBlock(WebpImage, {\n                              key: 0,\n                              src: _unref(bonImgUrl)('raffle/medal-1st', 'svg'),\n                              alt: \"Zlatá medaile\",\n                              \"css-class\": \"bonusomat-raffle-table__table-img--medal\"\n                            }, null, 8, [\"src\"]))\n                          : (index === 1)\n                            ? (_openBlock(), _createBlock(WebpImage, {\n                                key: 1,\n                                src: _unref(bonImgUrl)('raffle/medal-2nd', 'svg'),\n                                alt: \"Stříbrná medaile\",\n                                \"css-class\": \"bonusomat-raffle-table__table-img--medal\"\n                              }, null, 8, [\"src\"]))\n                            : (index === 2)\n                              ? (_openBlock(), _createBlock(WebpImage, {\n                                  key: 2,\n                                  src: _unref(bonImgUrl)('raffle/medal-3rd', 'svg'),\n                                  alt: \"Bronzová medaile\",\n                                  \"css-class\": \"bonusomat-raffle-table__table-img--medal\"\n                                }, null, 8, [\"src\"]))\n                              : (_openBlock(), _createElementBlock(\"span\", _hoisted_7, _toDisplayString(index + 1) + \".\", 1))\n                      ]),\n                      _: 2\n                    }, 1024),\n                    _createVNode(DsCell, null, {\n                      default: _withCtx(() => [\n                        _createTextVNode(_toDisplayString(item), 1)\n                      ]),\n                      _: 2\n                    }, 1024)\n                  ]),\n                  _: 2\n                }, 1024))\n              }), 128))\n            ]),\n            _: 1\n          })\n        ])\n      ])\n    ]),\n    bottom: _withCtx(() => [\n      _createVNode(DsBottomSlotActionBar, {\n        \"has-btn-close\": false,\n        \"has-btn-submit\": !_ctx.showLoginBtn,\n        \"button-submit-icon\": _ctx.btnRightIcon ? { iconRight: _ctx.btnRightIcon } : _ctx.btnRightIcon,\n        theme: \"dark\",\n        size: \"sm\",\n        \"btn-submit-text\": _ctx.btnSubmitText ?? 'Rozumím',\n        onSubmitDialog: submitDialog\n      }, _createSlots({ _: 2 }, [\n        (_ctx.showLoginBtn)\n          ? {\n              name: \"additional\",\n              fn: _withCtx(() => [\n                _createVNode(MobileAppLink, {\n                  href: \"javascript:ng_fw.showLogin();\",\n                  \"event-name\": \"goToDeepLink\",\n                  \"event-argument\": \"sazkahry://home/login\",\n                  class: \"button button--primary button--dark button--sm\",\n                  onLinkClicked: submitDialog\n                }, {\n                  default: _withCtx(() => _cache[4] || (_cache[4] = [\n                    _createTextVNode(\" Přihlásit se \")\n                  ])),\n                  _: 1\n                })\n              ]),\n              key: \"0\"\n            }\n          : undefined\n      ]), 1032, [\"has-btn-submit\", \"button-submit-icon\", \"btn-submit-text\"])\n    ]),\n    _: 1\n  }, 8, [\"modelValue\"]))\n}\n}\n\n})","<template>\r\n    <DsModalDialog\r\n        v-model=\"modelValue\"\r\n        css-class=\"bonusomat-raffle-table\"\r\n        theme=\"dark\"\r\n        @update:model-value=\"closeModal\"\r\n    >\r\n        <template #top>\r\n            <DsTopSlotHeadlineSubheadline :headline=\"raffleWinTable?.title\" :display-headline-as-html=\"true\" />\r\n            <p class=\"bonusomat-raffle-table__description\" v-html=\"raffleWinTable?.description\"></p>\r\n        </template>\r\n        <template #content>\r\n            <div class=\"bonusomat-raffle-table__cols\">\r\n                <div class=\"bonusomat-raffle-table__image-section\">\r\n                    <div class=\"bonusomat-raffle-table__image-wrap\">\r\n                        <WebpImage\r\n                            :src=\"bonImgUrl('raffle/zombies-with-ticket', 'png')\"\r\n                            alt=\"Pán Zelený s Pánem Červeným stojící vedle barelu toxické tekutiny\"\r\n                            css-class=\"bonusomat-raffle-table__image\"\r\n                        />\r\n                    </div>\r\n                    <p class=\"bonusomat-raffle-table__description\" v-html=\"raffleWinTable?.mainText\"></p>\r\n                </div>\r\n                <div class=\"bonusomat-raffle-table__table-section\">\r\n                    <h3 class=\"bonusomat-raffle-table__label\">Co můžete vyhrát?</h3>\r\n                    <DsTable theme=\"dark\">\r\n                        <DsRow>\r\n                            <DsCell type=\"th\">Pořadí</DsCell>\r\n                            <DsCell type=\"th\">Cena</DsCell>\r\n                        </DsRow>\r\n                        <DsRow v-for=\"(item, index) in raffleWinTable?.prizes\" :key=\"index\">\r\n                            <DsCell>\r\n                                <WebpImage\r\n                                    v-if=\"index === 0\"\r\n                                    :src=\"bonImgUrl('raffle/medal-1st', 'svg')\"\r\n                                    alt=\"Zlatá medaile\"\r\n                                    css-class=\"bonusomat-raffle-table__table-img--medal\"\r\n                                />\r\n                                <WebpImage\r\n                                    v-else-if=\"index === 1\"\r\n                                    :src=\"bonImgUrl('raffle/medal-2nd', 'svg')\"\r\n                                    alt=\"Stříbrná medaile\"\r\n                                    css-class=\"bonusomat-raffle-table__table-img--medal\"\r\n                                />\r\n                                <WebpImage\r\n                                    v-else-if=\"index === 2\"\r\n                                    :src=\"bonImgUrl('raffle/medal-3rd', 'svg')\"\r\n                                    alt=\"Bronzová medaile\"\r\n                                    css-class=\"bonusomat-raffle-table__table-img--medal\"\r\n                                />\r\n                                <span v-else>{{ index + 1 }}.</span>\r\n                            </DsCell>\r\n                            <DsCell>{{ item }}</DsCell>\r\n                        </DsRow>\r\n                    </DsTable>\r\n                </div>\r\n            </div>\r\n        </template>\r\n        <template #bottom>\r\n            <DsBottomSlotActionBar\r\n                :has-btn-close=\"false\"\r\n                :has-btn-submit=\"!showLoginBtn\"\r\n                :button-submit-icon=\"btnRightIcon ? { iconRight: btnRightIcon } : btnRightIcon\"\r\n                theme=\"dark\"\r\n                size=\"sm\"\r\n                :btn-submit-text=\"btnSubmitText ?? 'Rozumím'\"\r\n                @submit-dialog=\"submitDialog\"\r\n            >\r\n                <template v-if=\"showLoginBtn\" #additional>\r\n                    <MobileAppLink\r\n                        href=\"javascript:ng_fw.showLogin();\"\r\n                        event-name=\"goToDeepLink\"\r\n                        event-argument=\"sazkahry://home/login\"\r\n                        class=\"button button--primary button--dark button--sm\"\r\n                        @link-clicked=\"submitDialog\"\r\n                    >\r\n                        Přihlásit se\r\n                    </MobileAppLink>\r\n                </template>\r\n            </DsBottomSlotActionBar>\r\n        </template>\r\n    </DsModalDialog>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport WebpImage from \"@sazka/design-system/src/image/webp-image.vue\";\r\nimport MobileAppLink from \"@sazka/mobile-apps/components/mobile-app-link.vue\";\r\nimport { SvgIcons } from \"@sazka/design-system/src/icon/types\";\r\nimport DsTable from \"@sazka/design-system/src/table/ds-table.vue\";\r\nimport DsRow from \"@sazka/design-system/src/table-row/ds-table-row.vue\";\r\nimport DsCell from \"@sazka/design-system/src/table-cell/ds-table-cell.vue\";\r\nimport DsModalDialog from \"@sazka/design-system/src/modal-dialog/ds-modal-dialog.vue\";\r\nimport DsBottomSlotActionBar from \"@sazka/design-system/src/bottom-slot/ds-bottom-slot-action-bar.vue\";\r\nimport DsTopSlotHeadlineSubheadline from \"@sazka/design-system/src/top-slot/ds-top-subheadline.vue\";\r\n\r\nimport { bonImgUrl } from \"../../utils/image-src\";\r\nimport { RaffleWinTable } from \"../../models/raffle-win-table\";\r\n\r\nconst modelValue = defineModel<boolean>({ required: true });\r\n\r\ndefineProps<{\r\n    raffleWinTable?: RaffleWinTable;\r\n    btnSubmitText?: string;\r\n    btnRightIcon?: SvgIcons;\r\n    showLoginBtn?: boolean;\r\n}>();\r\n\r\nconst emit = defineEmits([\"submitDialog\"]);\r\n\r\nconst closeModal = () => {\r\n    modelValue.value = false;\r\n};\r\n\r\nconst submitDialog = () => {\r\n    emit(\"submitDialog\", null);\r\n    closeModal();\r\n};\r\n</script>\r\n","import script from \"./raffle-prizes-modal.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./raffle-prizes-modal.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-badge\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport DsIcon from \"../icon/ds-icon.vue\";\r\nimport { SvgBaseIcons } from \"../icon/types\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'ds-badge',\n  props: {\n    text: {},\n    iconLeft: {},\n    iconRight: {},\n    isInStorybook: { type: Boolean, default: false }\n  },\n  setup(__props: any) {\n\r\n\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n    (_ctx.iconLeft)\n      ? (_openBlock(), _createBlock(DsIcon, {\n          key: 0,\n          width: 16,\n          height: 16,\n          name: _ctx.iconLeft,\n          \"is-in-storybook\": _ctx.isInStorybook,\n          class: \"ds-badge__icon-left\"\n        }, null, 8, [\"name\", \"is-in-storybook\"]))\n      : _createCommentVNode(\"\", true),\n    _createElementVNode(\"span\", {\n      class: \"ds-badge__text\",\n      innerHTML: _ctx.text\n    }, null, 8, _hoisted_2),\n    (_ctx.iconRight)\n      ? (_openBlock(), _createBlock(DsIcon, {\n          key: 1,\n          width: 16,\n          height: 16,\n          name: _ctx.iconRight,\n          \"is-in-storybook\": _ctx.isInStorybook,\n          class: \"ds-badge__icon-right\"\n        }, null, 8, [\"name\", \"is-in-storybook\"]))\n      : _createCommentVNode(\"\", true)\n  ]))\n}\n}\n\n})","import script from \"./ds-badge.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ds-badge.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDynamicComponent as _resolveDynamicComponent, normalizeClass as _normalizeClass, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = {\n  key: 0,\n  class: \"ds-table__cell-content ds-table__cell-content--ordered\"\n}\n\nimport DsIcon from \"../icon/ds-icon.vue\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'ds-table-cell',\n  props: {\n    type: { default: \"td\" },\n    enableOrdering: { type: Boolean, default: false },\n    isOrderingActive: { type: Boolean, default: false },\n    isOrderDesc: { type: Boolean, default: false }\n  },\n  setup(__props: any) {\n\r\n\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.type), {\n    class: _normalizeClass([\"ds-table__cell\", {\r\n            'ds-table__cell--th': _ctx.type === 'th',\r\n            'ds-table__cell--ordered': _ctx.enableOrdering,\r\n            'ds-table__cell--active': _ctx.isOrderingActive,\r\n            'ds-table__cell--desc': _ctx.isOrderDesc,\r\n        }]),\n    scope: _ctx.type === 'th' ? 'col' : null\n  }, {\n    default: _withCtx(() => [\n      (_ctx.enableOrdering)\n        ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n            _renderSlot(_ctx.$slots, \"default\"),\n            _createVNode(DsIcon, { name: \"chevron-up\" })\n          ]))\n        : _renderSlot(_ctx.$slots, \"default\", { key: 1 })\n    ]),\n    _: 3\n  }, 8, [\"class\", \"scope\"]))\n}\n}\n\n})","import script from \"./ds-table-cell.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ds-table-cell.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\r\n    <tr class=\"ds-table__row\">\r\n        <slot></slot>\r\n    </tr>\r\n</template>\r\n","import { render } from \"./ds-table-row.vue?vue&type=template&id=6eedefea\"\nconst script = {}\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 { renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = [\"data-table-scrollable\"]\n\nimport type { Theme } from \"../types/theme\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'ds-table',\n  props: {\n    isScrollable: { type: Boolean, default: false },\n    isResponsive: { type: Boolean, default: false },\n    theme: { default: \"light\" }\n  },\n  setup(__props: any) {\n\r\n\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_ctx.isScrollable)\n    ? (_openBlock(), _createElementBlock(\"div\", {\n        key: 0,\n        class: _normalizeClass([\"ds-table-scrollable-wrapper\", { 'ds-table-scrollable-wrapper--responsive': _ctx.isResponsive }])\n      }, [\n        _createElementVNode(\"table\", {\n          class: _normalizeClass([\"ds-table\", { 'ds-table--dark': _ctx.theme === 'dark' }]),\n          \"data-table-scrollable\": _ctx.isScrollable\n        }, [\n          _renderSlot(_ctx.$slots, \"default\")\n        ], 10, _hoisted_1)\n      ], 2))\n    : (_openBlock(), _createElementBlock(\"table\", {\n        key: 1,\n        class: _normalizeClass([\"ds-table\", { 'ds-table--dark': _ctx.theme === 'dark' }])\n      }, [\n        _renderSlot(_ctx.$slots, \"default\")\n      ], 2))\n}\n}\n\n})","import script from \"./ds-table.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ds-table.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, mergeProps as _mergeProps, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"href\", \"target\", \"data-app-event\", \"data-app-argument\"]\n\nimport { computed } from \"vue\";\r\nimport { isMobileApp, triggerMobileAppEvent, MobileAppMethodName } from \"../mobile-app-integration\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport type { SvgIcons } from \"@sazka/design-system/src/icon/types\";\r\n\r\n\nexport default /*@__PURE__*/_defineComponent({\n  __name: 'mobile-app-link',\n  props: {\n    href: {},\n    target: {},\n    eventName: {},\n    eventArgument: {},\n    iconLeft: {},\n    iconRight: {},\n    openInNewTab: { type: Boolean },\n    isExternal: { type: Boolean }\n  },\n  emits: [\"linkClicked\"],\n  setup(__props: any, { emit: __emit }) {\n\r\nconst props = __props;\r\n\r\nconst emit = __emit;\r\n\r\nconst attributes = computed(() => {\r\n    const attributes: Record<string, string | null> = {\r\n        target: null,\r\n        rel: null,\r\n    };\r\n\r\n    if (props.openInNewTab || props.isExternal) {\r\n        attributes.target = \"_blank\";\r\n        attributes.rel = \"noopener\";\r\n    }\r\n    if (props.isExternal) {\r\n        attributes.rel += \" noreferrer\";\r\n    }\r\n\r\n    return attributes;\r\n});\r\n\r\nconst handleClick = (event: Event) => {\r\n    emit(\"linkClicked\");\r\n\r\n    if (props.eventName && isMobileApp) {\r\n        event.preventDefault();\r\n        triggerMobileAppEvent(props.eventName as string, props.eventArgument);\r\n    }\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n  return (_openBlock(), _createElementBlock(\"a\", _mergeProps({\n    onClick: handleClick,\n    href: _ctx.href,\n    target: _ctx.target,\n    \"data-app-event\": _ctx.eventName,\n    \"data-app-argument\": _ctx.eventArgument\n  }, attributes.value), [\n    (_ctx.iconLeft)\n      ? (_openBlock(), _createBlock(DsIcon, {\n          key: 0,\n          width: 16,\n          height: 16,\n          name: _ctx.iconLeft\n        }, null, 8, [\"name\"]))\n      : _createCommentVNode(\"\", true),\n    _renderSlot(_ctx.$slots, \"default\"),\n    (_ctx.iconRight)\n      ? (_openBlock(), _createBlock(DsIcon, {\n          key: 1,\n          width: 16,\n          height: 16,\n          name: _ctx.iconRight\n        }, null, 8, [\"name\"]))\n      : _createCommentVNode(\"\", true)\n  ], 16, _hoisted_1))\n}\n}\n\n})","<template>\r\n    <a\r\n        @click=\"handleClick\"\r\n        :href=\"href\"\r\n        :target=\"target\"\r\n        :data-app-event=\"eventName\"\r\n        :data-app-argument=\"eventArgument\"\r\n        v-bind=\"attributes\"\r\n    >\r\n        <DsIcon :width=\"16\" :height=\"16\" v-if=\"iconLeft\" :name=\"iconLeft\" />\r\n        <slot></slot>\r\n        <DsIcon :width=\"16\" :height=\"16\" v-if=\"iconRight\" :name=\"iconRight\" />\r\n    </a>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed } from \"vue\";\r\nimport { isMobileApp, triggerMobileAppEvent, MobileAppMethodName } from \"../mobile-app-integration\";\r\nimport DsIcon from \"@sazka/design-system/src/icon/ds-icon.vue\";\r\nimport type { SvgIcons } from \"@sazka/design-system/src/icon/types\";\r\n\r\nconst props = defineProps<{\r\n    href: string;\r\n    target?: \"_blank\" | \"_self\";\r\n    eventName: MobileAppMethodName | Omit<string, MobileAppMethodName>;\r\n    eventArgument?: string;\r\n    iconLeft?: SvgIcons;\r\n    iconRight?: SvgIcons;\r\n\r\n    /**\r\n     * For links in ours web - e.g. pages, pdf documents...\r\n     */\r\n    openInNewTab?: boolean;\r\n\r\n    /**\r\n     * For external links that link outside of our website\r\n     */\r\n    isExternal?: boolean;\r\n}>();\r\n\r\nconst emit = defineEmits([\"linkClicked\"]);\r\n\r\nconst attributes = computed(() => {\r\n    const attributes: Record<string, string | null> = {\r\n        target: null,\r\n        rel: null,\r\n    };\r\n\r\n    if (props.openInNewTab || props.isExternal) {\r\n        attributes.target = \"_blank\";\r\n        attributes.rel = \"noopener\";\r\n    }\r\n    if (props.isExternal) {\r\n        attributes.rel += \" noreferrer\";\r\n    }\r\n\r\n    return attributes;\r\n});\r\n\r\nconst handleClick = (event: Event) => {\r\n    emit(\"linkClicked\");\r\n\r\n    if (props.eventName && isMobileApp) {\r\n        event.preventDefault();\r\n        triggerMobileAppEvent(props.eventName as string, props.eventArgument);\r\n    }\r\n};\r\n</script>\r\n","import script from \"./mobile-app-link.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./mobile-app-link.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__","import{ref as n,isRef as t,watch as i,onMounted as e,onUnmounted as r}from\"vue\";var a=function(){return a=Object.assign||function(n){for(var t,i=1,e=arguments.length;i<e;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n},a.apply(this,arguments)};function o(n,t,i){if(i||2===arguments.length)for(var e,r=0,a=t.length;r<a;r++)!e&&r in t||(e||(e=Array.prototype.slice.call(t,0,r)),e[r]=t[r]);return n.concat(e||Array.prototype.slice.call(t))}function u(n){return Array.prototype.slice.call(n)}function s(n,t){var i=Math.floor(n);return i===t||i+1===t?n:t}function c(){return Date.now()}function d(n,t,i){if(t=\"data-keen-slider-\"+t,null===i)return n.removeAttribute(t);n.setAttribute(t,i||\"\")}function l(n,t){return t=t||document,\"function\"==typeof n&&(n=n(t)),Array.isArray(n)?n:\"string\"==typeof n?u(t.querySelectorAll(n)):n instanceof HTMLElement?[n]:n instanceof NodeList?u(n):[]}function f(n){n.raw&&(n=n.raw),n.cancelable&&!n.defaultPrevented&&n.preventDefault()}function p(n){n.raw&&(n=n.raw),n.stopPropagation&&n.stopPropagation()}function v(){var n=[];return{add:function(t,i,e,r){t.addListener?t.addListener(e):t.addEventListener(i,e,r),n.push([t,i,e,r])},input:function(n,t,i,e){this.add(n,t,function(n){return function(t){t.nativeEvent&&(t=t.nativeEvent);var i=t.changedTouches||[],e=t.targetTouches||[],r=t.detail&&t.detail.x?t.detail:null;return n({id:r?r.identifier?r.identifier:\"i\":e[0]?e[0]?e[0].identifier:\"e\":\"d\",idChanged:r?r.identifier?r.identifier:\"i\":i[0]?i[0]?i[0].identifier:\"e\":\"d\",raw:t,x:r&&r.x?r.x:e[0]?e[0].screenX:r?r.x:t.pageX,y:r&&r.y?r.y:e[0]?e[0].screenY:r?r.y:t.pageY})}}(i),e)},purge:function(){n.forEach((function(n){n[0].removeListener?n[0].removeListener(n[2]):n[0].removeEventListener(n[1],n[2],n[3])})),n=[]}}}function h(n,t,i){return Math.min(Math.max(n,t),i)}function m(n){return(n>0?1:0)-(n<0?1:0)||+n}function g(n){var t=n.getBoundingClientRect();return{height:s(t.height,n.offsetHeight),width:s(t.width,n.offsetWidth)}}function b(n,t,i,e){var r=n&&n[t];return null==r?i:e&&\"function\"==typeof r?r():r}function x(n){return Math.round(1e6*n)/1e6}function k(n){var t,i,e,r,a,o;function u(t){o||(o=t),s(!0);var a=t-o;a>e&&(a=e);var l=r[i];if(l[3]<a)return i++,u(t);var f=l[2],p=l[4],v=l[0],h=l[1]*(0,l[5])(0===p?1:(a-f)/p);if(h&&n.track.to(v+h),a<e)return d();o=null,s(!1),c(null),n.emit(\"animationEnded\")}function s(n){t.active=n}function c(n){t.targetIdx=n}function d(){var n;n=u,a=window.requestAnimationFrame(n)}function l(){var t;t=a,window.cancelAnimationFrame(t),s(!1),c(null),o&&n.emit(\"animationStopped\"),o=null}return t={active:!1,start:function(t){if(l(),n.track.details){var a=0,o=n.track.details.position;i=0,e=0,r=t.map((function(n){var t,i=Number(o),r=null!==(t=n.earlyExit)&&void 0!==t?t:n.duration,u=n.easing,s=n.distance*u(r/n.duration)||0;o+=s;var c=e;return e+=r,a+=s,[i,n.distance,c,e,n.duration,u]})),c(n.track.distToIdx(a)),d(),n.emit(\"animationStarted\")}},stop:l,targetIdx:null}}function y(n){var t,i,e,r,a,u,s,d,l,f,p,v,g,k,y=1/0,w=[],M=null,T=0;function C(n){_(T+n)}function E(n){var t=z(T+n).abs;return D(t)?t:null}function z(n){var t=Math.floor(Math.abs(x(n/i))),e=x((n%i+i)%i);e===i&&(e=0);var r=m(n),a=s.indexOf(o([],s,!0).reduce((function(n,t){return Math.abs(t-e)<Math.abs(n-e)?t:n}))),c=a;return r<0&&t++,a===u&&(c=0,t+=r>0?1:-1),{abs:c+t*u*r,origin:a,rel:c}}function I(n,t,i){var e;if(t||!S())return A(n,i);if(!D(n))return null;var r=z(null!=i?i:T),a=r.abs,o=n-r.rel,s=a+o;e=A(s);var c=A(s-u*m(o));return(null!==c&&Math.abs(c)<Math.abs(e)||null===e)&&(e=c),x(e)}function A(n,t){if(null==t&&(t=x(T)),!D(n)||null===n)return null;n=Math.round(n);var e=z(t),r=e.abs,a=e.rel,o=e.origin,c=O(n),d=(t%i+i)%i,l=s[o],f=Math.floor((n-(r-a))/u)*i;return x(l-d-l+s[c]+f+(o===u?i:0))}function D(n){return L(n)===n}function L(n){return h(n,l,f)}function S(){return r.loop}function O(n){return(n%u+u)%u}function _(t){var i;i=t-T,w.push({distance:i,timestamp:c()}),w.length>6&&(w=w.slice(-6)),T=x(t);var e=H().abs;if(e!==M){var r=null!==M;M=e,r&&n.emit(\"slideChanged\")}}function H(o){var s=o?null:function(){if(u){var n=S(),t=n?(T%i+i)%i:T,o=(n?T%i:T)-a[0][2],s=0-(o<0&&n?i-Math.abs(o):o),c=0,d=z(T),h=d.abs,b=d.rel,x=a[b][2],y=a.map((function(t,e){var a=s+c;(a<0-t[0]||a>1)&&(a+=(Math.abs(a)>i-1&&n?i:0)*m(-a));var o=e-b,d=m(o),l=o+h;n&&(-1===d&&a>x&&(l+=u),1===d&&a<x&&(l-=u),null!==p&&l<p&&(a+=i),null!==v&&l>v&&(a-=i));var f=a+t[0]+t[1],g=Math.max(a>=0&&f<=1?1:f<0||a>1?0:a<0?Math.min(1,(t[0]+a)/t[0]):(1-a)/t[0],0);return c+=t[0]+t[1],{abs:l,distance:r.rtl?-1*a+1-t[0]:a,portion:g,size:t[0]}}));return h=L(h),b=O(h),{abs:L(h),length:e,max:k,maxIdx:f,min:g,minIdx:l,position:T,progress:n?t/i:T/e,rel:b,slides:y,slidesLength:i}}}();return t.details=s,n.emit(\"detailsChanged\"),s}return t={absToRel:O,add:C,details:null,distToIdx:E,idxToDist:I,init:function(t){if(function(){if(r=n.options,a=(r.trackConfig||[]).map((function(n){return[b(n,\"size\",1),b(n,\"spacing\",0),b(n,\"origin\",0)]})),u=a.length){i=x(a.reduce((function(n,t){return n+t[0]+t[1]}),0));var t,o=u-1;e=x(i+a[0][2]-a[o][0]-a[o][2]-a[o][1]),s=a.reduce((function(n,i){if(!n)return[0];var e=a[n.length-1],r=n[n.length-1]+(e[0]+e[2])+e[1];return r-=i[2],n[n.length-1]>r&&(r=n[n.length-1]),r=x(r),n.push(r),(!t||t<r)&&(d=n.length-1),t=r,n}),null),0===e&&(d=0),s.push(x(i))}}(),!u)return H(!0);var o;!function(){var t=n.options.range,i=n.options.loop;p=l=i?b(i,\"min\",-1/0):0,v=f=i?b(i,\"max\",y):d;var e=b(t,\"min\",null),r=b(t,\"max\",null);null!==e&&(l=e),null!==r&&(f=r),g=l===-1/0?l:n.track.idxToDist(l||0,!0,0),k=f===y?f:I(f,!0,0),null===r&&(v=f),b(t,\"align\",!1)&&f!==y&&0===a[O(f)][2]&&(k-=1-a[O(f)][0],f=E(k-T)),g=x(g),k=x(k)}(),o=t,Number(o)===o?C(A(L(t))):H()},to:_,velocity:function(){var n=c(),t=w.reduce((function(t,i){var e=i.distance,r=i.timestamp;return n-r>200||(m(e)!==m(t.distance)&&t.distance&&(t={distance:0,lastTimestamp:0,time:0}),t.time&&(t.distance+=e),t.lastTimestamp&&(t.time+=r-t.lastTimestamp),t.lastTimestamp=r),t}),{distance:0,lastTimestamp:0,time:0});return t.distance/t.time||0}}}function w(n){var t,i,e,r,a,o,u,s;function c(n){return 2*n}function d(n){return h(n,u,s)}function l(n){return 1-Math.pow(1-n,3)}function f(){return e?n.track.velocity():0}function p(){b();var t=\"free-snap\"===n.options.mode,i=n.track,e=f();r=m(e);var u=n.track.details,s=[];if(e||!t){var p=v(e),h=p.dist,g=p.dur;if(g=c(g),h*=r,t){var x=i.idxToDist(i.distToIdx(h),!0);x&&(h=x)}s.push({distance:h,duration:g,easing:l});var k=u.position,y=k+h;if(y<a||y>o){var w=y<a?a-k:o-k,M=0,T=e;if(m(w)===r){var C=Math.min(Math.abs(w)/Math.abs(h),1),E=function(n){return 1-Math.pow(1-n,1/3)}(C)*g;s[0].earlyExit=E,T=e*(1-C)}else s[0].earlyExit=0,M+=w;var z=v(T,100),I=z.dist*r;n.options.rubberband&&(s.push({distance:I,duration:c(z.dur),easing:l}),s.push({distance:-I+M,duration:500,easing:l}))}n.animator.start(s)}else n.moveToIdx(d(u.abs),!0,{duration:500,easing:function(n){return 1+--n*n*n*n*n}})}function v(n,t){void 0===t&&(t=1e3);var i=147e-9+(n=Math.abs(n))/t;return{dist:Math.pow(n,2)/i,dur:n/i}}function g(){var t=n.track.details;t&&(a=t.min,o=t.max,u=t.minIdx,s=t.maxIdx)}function b(){n.animator.stop()}n.on(\"updated\",g),n.on(\"optionsChanged\",g),n.on(\"created\",g),n.on(\"dragStarted\",(function(){e=!1,b(),t=i=n.track.details.abs})),n.on(\"dragChecked\",(function(){e=!0})),n.on(\"dragEnded\",(function(){var e=n.options.mode;\"snap\"===e&&function(){var e=n.track,r=n.track.details,u=r.position,s=m(f());(u>o||u<a)&&(s=0);var c=t+s;0===r.slides[e.absToRel(c)].portion&&(c-=s),t!==i&&(c=i),m(e.idxToDist(c,!0))!==s&&(c+=s),c=d(c);var l=e.idxToDist(c,!0);n.animator.start([{distance:l,duration:500,easing:function(n){return 1+--n*n*n*n*n}}])}(),\"free\"!==e&&\"free-snap\"!==e||p()})),n.on(\"dragged\",(function(){i=n.track.details.abs}))}function M(n){var t,i,e,r,a,o,u,s,c,d,g,b,x,k,y,w,M,T,C=v();function E(t){if(o&&s===t.id){var l=D(t);if(c){if(!A(t))return I(t);d=l,c=!1,n.emit(\"dragChecked\")}if(w)return d=l;f(t);var v=function(t){if(M===-1/0&&T===1/0)return t;var e=n.track.details,o=e.length,u=e.position,s=h(t,M-u,T-u);if(0===o)return 0;if(!n.options.rubberband)return s;if(u<=T&&u>=M)return t;if(u<M&&i>0||u>T&&i<0)return t;var c=(u<M?u-M:u-T)/o,d=r*o,l=Math.abs(c*d),f=Math.max(0,1-l/a*2);return f*f*t}(u(d-l)/r*e);i=m(v);var x=n.track.details.position;(x>M&&x<T||x===M&&i>0||x===T&&i<0)&&p(t),g+=v,!b&&Math.abs(g*r)>5&&(b=!0),n.track.add(v),d=l,n.emit(\"dragged\")}}function z(t){!o&&n.track.details&&n.track.details.length&&(g=0,o=!0,b=!1,c=!0,s=t.id,A(t),d=D(t),n.emit(\"dragStarted\"))}function I(t){o&&s===t.idChanged&&(o=!1,n.emit(\"dragEnded\"))}function A(n){var t=L(),i=t?n.y:n.x,e=t?n.x:n.y,r=void 0!==x&&void 0!==k&&Math.abs(k-e)<=Math.abs(x-i);return x=i,k=e,r}function D(n){return L()?n.y:n.x}function L(){return n.options.vertical}function S(){r=n.size,a=L()?window.innerHeight:window.innerWidth;var t=n.track.details;t&&(M=t.min,T=t.max)}function O(n){b&&(p(n),f(n))}function _(){if(C.purge(),n.options.drag&&!n.options.disabled){var i;i=n.options.dragSpeed||1,u=\"function\"==typeof i?i:function(n){return n*i},e=n.options.rtl?-1:1,S(),t=n.container,function(){var n=\"data-keen-slider-clickable\";l(\"[\".concat(n,\"]:not([\").concat(n,\"=false])\"),t).map((function(n){C.add(n,\"dragstart\",p),C.add(n,\"mousedown\",p),C.add(n,\"touchstart\",p)}))}(),C.add(t,\"dragstart\",(function(n){f(n)})),C.add(t,\"click\",O,{capture:!0}),C.input(t,\"ksDragStart\",z),C.input(t,\"ksDrag\",E),C.input(t,\"ksDragEnd\",I),C.input(t,\"mousedown\",z),C.input(t,\"mousemove\",E),C.input(t,\"mouseleave\",I),C.input(t,\"mouseup\",I),C.input(t,\"touchstart\",z,{passive:!0}),C.input(t,\"touchmove\",E,{passive:!1}),C.input(t,\"touchend\",I),C.input(t,\"touchcancel\",I),C.add(window,\"wheel\",(function(n){o&&f(n)}));var r=\"data-keen-slider-scrollable\";l(\"[\".concat(r,\"]:not([\").concat(r,\"=false])\"),n.container).map((function(n){return function(n){var t;C.input(n,\"touchstart\",(function(n){t=D(n),w=!0,y=!0}),{passive:!0}),C.input(n,\"touchmove\",(function(i){var e=L(),r=e?n.scrollHeight-n.clientHeight:n.scrollWidth-n.clientWidth,a=t-D(i),o=e?n.scrollTop:n.scrollLeft,u=e&&\"scroll\"===n.style.overflowY||!e&&\"scroll\"===n.style.overflowX;if(t=D(i),(a<0&&o>0||a>0&&o<r)&&y&&u)return w=!0;y=!1,f(i),w=!1})),C.input(n,\"touchend\",(function(){w=!1}))}(n)}))}}n.on(\"updated\",S),n.on(\"optionsChanged\",_),n.on(\"created\",_),n.on(\"destroyed\",C.purge)}function T(n){var t,i,e=null;function r(t,i,e){n.animator.active?o(t,i,e):requestAnimationFrame((function(){return o(t,i,e)}))}function a(){r(!1,!1,i)}function o(i,r,a){var o=0,u=n.size,d=n.track.details;if(d&&t){var l=d.slides;t.forEach((function(n,t){if(i)!e&&r&&s(n,null,a),c(n,null,a);else{if(!l[t])return;var d=l[t].size*u;!e&&r&&s(n,d,a),c(n,l[t].distance*u-o,a),o+=d}}))}}function u(t){return\"performance\"===n.options.renderMode?Math.round(t):t}function s(n,t,i){var e=i?\"height\":\"width\";null!==t&&(t=u(t)+\"px\"),n.style[\"min-\"+e]=t,n.style[\"max-\"+e]=t}function c(n,t,i){if(null!==t){t=u(t);var e=i?t:0;t=\"translate3d(\".concat(i?0:t,\"px, \").concat(e,\"px, 0)\")}n.style.transform=t,n.style[\"-webkit-transform\"]=t}function d(){t&&(o(!0,!0,i),t=null),n.on(\"detailsChanged\",a,!0)}function l(){r(!1,!0,i)}function f(){d(),i=n.options.vertical,n.options.disabled||\"custom\"===n.options.renderMode||(e=\"auto\"===b(n.options.slides,\"perView\",null),n.on(\"detailsChanged\",a),(t=n.slides).length&&l())}n.on(\"created\",f),n.on(\"optionsChanged\",f),n.on(\"beforeOptionsChanged\",(function(){d()})),n.on(\"updated\",l),n.on(\"destroyed\",d)}function C(n,t){return function(i){var e,r,o,u,s,c,f=v();function p(n){var t;d(i.container,\"reverse\",\"rtl\"!==(t=i.container,window.getComputedStyle(t,null).getPropertyValue(\"direction\"))||n?null:\"\"),d(i.container,\"v\",i.options.vertical&&!n?\"\":null),d(i.container,\"disabled\",i.options.disabled&&!n?\"\":null)}function h(){m()&&M()}function m(){var n=null;if(u.forEach((function(t){t.matches&&(n=t.__media)})),n===e)return!1;e||i.emit(\"beforeOptionsChanged\"),e=n;var t=n?o.breakpoints[n]:o;return i.options=a(a({},o),t),p(),I(),A(),C(),!0}function x(n){var t=g(n);return(i.options.vertical?t.height:t.width)/i.size||1}function k(){return i.options.trackConfig.length}function y(n){for(var s in e=!1,o=a(a({},t),n),f.purge(),r=i.size,u=[],o.breakpoints||[]){var c=window.matchMedia(s);c.__media=s,u.push(c),f.add(c,\"change\",h)}f.add(window,\"orientationchange\",z),f.add(window,\"resize\",E),m()}function w(n){i.animator.stop();var t=i.track.details;i.track.init(null!=n?n:t?t.abs:0)}function M(n){w(n),i.emit(\"optionsChanged\")}function T(n,t){if(n)return y(n),void M(t);I(),A();var e=k();C(),k()!==e?M(t):w(t),i.emit(\"updated\")}function C(){var n=i.options.slides;if(\"function\"==typeof n)return i.options.trackConfig=n(i.size,i.slides);for(var t=i.slides,e=t.length,r=\"number\"==typeof n?n:b(n,\"number\",e,!0),a=[],o=b(n,\"perView\",1,!0),u=b(n,\"spacing\",0,!0)/i.size||0,s=\"auto\"===o?u:u/o,c=b(n,\"origin\",\"auto\"),d=0,l=0;l<r;l++){var f=\"auto\"===o?x(t[l]):1/o-u+s,p=\"center\"===c?.5-f/2:\"auto\"===c?0:c;a.push({origin:p,size:f,spacing:u}),d+=f}if(d+=u*(r-1),\"auto\"===c&&!i.options.loop&&1!==o){var v=0;a.map((function(n){var t=d-v;return v+=n.size+u,t>=1||(n.origin=1-t-(d>1?0:1-d)),n}))}i.options.trackConfig=a}function E(){I();var n=i.size;i.options.disabled||n===r||(r=n,T())}function z(){E(),setTimeout(E,500),setTimeout(E,2e3)}function I(){var n=g(i.container);i.size=(i.options.vertical?n.height:n.width)||1}function A(){i.slides=l(i.options.selector,i.container)}i.container=(c=l(n,s||document)).length?c[0]:null,i.destroy=function(){f.purge(),i.emit(\"destroyed\"),p(!0)},i.prev=function(){i.moveToIdx(i.track.details.abs-1,!0)},i.next=function(){i.moveToIdx(i.track.details.abs+1,!0)},i.update=T,y(i.options)}}var E=function(n,t,i){try{return function(n,t){var i,e={};return i={emit:function(n){e[n]&&e[n].forEach((function(n){n(i)}));var t=i.options&&i.options[n];t&&t(i)},moveToIdx:function(n,t,e){var r=i.track.idxToDist(n,t);if(r){var a=i.options.defaultAnimation;i.animator.start([{distance:r,duration:b(e||a,\"duration\",500),easing:b(e||a,\"easing\",(function(n){return 1+--n*n*n*n*n}))}])}},on:function(n,t,i){void 0===i&&(i=!1),e[n]||(e[n]=[]);var r=e[n].indexOf(t);r>-1?i&&delete e[n][r]:i||e[n].push(t)},options:n},function(){if(i.track=y(i),i.animator=k(i),t)for(var n=0,e=t;n<e.length;n++)(0,e[n])(i);i.track.init(i.options.initial||0),i.emit(\"created\")}(),i}(t,o([C(n,{drag:!0,mode:\"snap\",renderMode:\"precision\",rubberband:!0,selector:\".keen-slider__slide\"}),T,M,w],i||[],!0))}catch(n){console.error(n)}};function z(a,o){var u=n(),s=n();return t(a)&&i(a,(function(n,t){s.value&&s.value.update(n)})),e((function(){u.value&&(s.value=new E(u.value,t(a)?a.value:a,o))})),r((function(){s.value&&s.value.destroy()})),[u,s]}export{z as useKeenSlider};\n"],"names":["fetchLogoutPlayerBoard","async","response","playerDataHttpClient","get","data","fetchLogoutDraw","fetchLogoutRaffleWinTable","fetchLogoutQuests","length","forEach","quest","completedTasks","id","awardIcon","tasks","task","progress","games","fetchLogoutGames","fetchLogoutOnboarding","session","isLoggedIn","useNgSession","playerId","computed","_session$value","value","PlayerID","bonusomatPlayerData","remainingSpinsCount","loadBonusomatPlayerData","useBonusomatPlayerData","boardData","ref","isBoardDataLoaded","loadBoardData","fetchPlayerBoard","completeBoard","Loader","show","completePlayerBoard","loadRaffleData","error","sazkaAlert","logException","message","hide","raffleData","isRaffleDataLoaded","fetchPlayerDraw","drawEndDate","Date","now","drawRemainingSeconds","Math","floor","getTime","drawDate","loadTotalTickets","totalTickets","fetchTotalTickets","ex","questsData","lastActivatedQuestId","openQuestLinkName","openedGamesTaskIndex","deactivationEventSource","isQuestsDataLoaded","questsDataHasError","isQuestModalOpen","isQuestConfirmOpen","questCardProgressLoadCounter","questDetailProgressLoadCounter","openedQuest","openedQuestNeedsReload","hasActiveQuest","activeQuestId","undefined","activeQuest","_questsData$value","find","isActiveQuestCancelable","_activeQuest$value$ca","_activeQuest$value","cancelable","loadQuests","fetchQuests","openQuestDetail","questId","_openedQuest$value","fetchQuestDetail","_openedQuest$value2","completed","activateQuest","alreadyConfirmed","_questsData$value2","errorOccurred","questToActivate","_questsData$value3","_questsData$value4","postActivateQuest","splice","findIndex","totalTasks","deactivateQuest","eventSource","_questsData$value5","_questsData$value6","postDeactivateQuest","BonusomatDatalayer","pushDeactivateQuest","points","questLinkNameParam","queryParams","URLSearchParams","window","location","search","UrlUtils","clearUrlParams","watch","_questsData$value7","questWithLinkName","linkName","toLowerCase","pushOpenQuest","title","gamesData","loadGamesData","fetchQuestGames","openGame","idParsed","isMobileApp","triggerMobileAppEvent","parseInt","useNgCasino","loadCasinoModule","loadGame","gameId","moneyMode","loadBonusomatData","boardPromise","questsPromise","raffleDataPromise","Promise","all","gameCloseEventInited","initBonusomatData","ng_hs","instantGame","gameClosed","useBonusomatData","onboardingActiveStep","onboardingActiveStepChangedWatch","onboardingData","onboardingModal","reactive","isOpened","page","loadOnboardingData","fetchPlayerOnboarding","onboardingOpenStep","step","openBonusomatOnboarding","disableError","storageKey","storageValue","wasOnboardingAlreadyVisited","useLocalStorage","getItem","setOnboardingAlreadyVisited","setItem","useBonusomatOnboarding","useQuestDetails","isOnLogoutPage","isActive","isCompleted","isBonusAward","_quest$value","awardType","isPlayable","_quest$value2","BonusomatUtils","dateIsInPast","startDate","remainingTasks","_quest$value3","_quest$value4","tasksCountLabel","_quest$value5","tasksCount","completedTasksLabel","_quest$value6","_quest$value7","totalTasksCount","completedTasksCount","questsWord","remainingTime","startingTime","_quest$value8","getStartTimeLabel","updateRemainingTime","_quest$value9","total","parse","endDate","toISOString","seconds","minutes","hours","days","setTimeout","_quest$value10","intervalId","setInterval","onUnmounted","clearInterval","questProgress","questTimeLabel","isoDateToCheck","getTaskCountLabel","getRemainingTimeLabel","startTime","day","DateTimeUtils","formatWeekday","time","formatTime","charAt","toUpperCase","slice","bonImgUrl","imageName","imageType","CHECKOUT_TIMEOUT","depositTimeout","storageName","store","initialized","useCasinoCheckoutManager","ensureManagerInitialized","useSessionStorage","activeGame","getJson","showNow","startGame","registerCheckoutCallbacks","depositAborted","clearTimeout","onDepositStateChange","depositSucceeded","depositPending","onStateChange","ngState","removeItem","onDepositRedirectionStart","ngCasinoModuleLoaded","currentGameId","playForMoney","setJson","casinoModule","useNgCasinoLib","registerGameClick","ngFrameworkLoaded","startCasinoGameFromQuery","registerNgHsCallbacks","getQueryString","then","x","clearUrlParam","handleCasinoHistory","closeGame","addEventListener","val","oldVal","history","replaceState","game","getUrlWithoutParams","pushState","_history$state","state","back","e","console","$","document","on","_wrapper$","preventDefault","ngFrameworkLoadedSuccessfully","$element","currentTarget","Number","manufacturer","String","showLogin","Boolean","withAbTest","transparent","isTransparet","position","wrapper","closest","placement","getAttribute","gamesInPlacement","filteredGames","Array","from","filter","g","parentElement","style","display","indexOf","callback","handleTransparentProductCardClick","gameLoadParams","ng_fw","gameLoadStart","playMode","ngGameReady","useNg3DsRedirection","beforeRedirection","reactiveBreakpoints","useBreakpoints","breakpoints","initialize","reduce","acc","reactiveBreakpoint","Object","keys","ResponsiveUtils","map","isInUse","key","minSize","breakpoint","brkpnt","media","matchMedia","matches","onchange","_hoisted_1","_defineComponent","__name","props","name","icon","repeatable","type","progressLoadCounter","progressAlwaysVisible","setup","__props","_props$name","replace","_ctx","_cache","_openBlock","_createElementBlock","class","_normalizeClass","_createBlock","BonusomatProgress","DsIcon","_createCommentVNode","WebpImage","src","alt","_createElementVNode","innerHTML","__exports__","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","codeName","image","description","_createVNode","get2x","onboardingPages","_onboardingData$value","pages","sliderContainer","slider","useKeenSlider","selector","slides","perView","slideChanged","s","track","details","abs","initial","moveToIdx","_unref","ref_key","_Fragment","_renderList","BonusomatOnboardingPage","_mergeProps","ref_for","_hoisted_6","onboardingAnalyticsPushedSteps","isLastStep","onMounted","_onboardingPages$valu","pushOnboardingImpression","push","_onboardingPages$valu2","index","newStep","_onboardingData$value2","includes","stepForward","_onboardingPages$valu3","stepBack","changeStep","closeModalAnalytics","_onboardingData$value3","pushOnboardingClose","closeModalCtaClick","DsModalDialog","modelValue","$event","theme","content","_withCtx","BonusomatOnboardingCarousel","bottom","onClick","DsButton","default","_createTextVNode","_","_withDirectives","_vShow","baseClass","iconName","iconClass","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","actionsDisabled","emits","emit","__emit","questRef","toRef","actionsEnabled","hasTasksAndIsDone","hasTasksAndIsInProgress","activateQuestClick","questName","pushStartQuest","openQuestDetailClick","clickSource","event","_event$target","target","className","badge","DsBadge","text","BonusomatQuestAwardIcon","_toDisplayString","award","width","height","size","_withModifiers","defaultOpenTaskIndex","scrollTaskIntoView","parentRef","init","useAccordion","openOnlyOne","withScrollIntoView","handleOpenModal","taskToShowGames","taskIndex","accordionItemExpanded","body","classList","contains","_parentRef$value","parentScrollWrapElem","scrollTo","top","scrollHeight","left","behavior","_parentRef$value2","allElements","querySelectorAll","item","DsAccordionItem","onExpanded","summary","_item$games","oneSlideChangeDuration","slidesCount","remainingSeconds","odometerTensRef","odometerOnesRef","vertical","drag","mode","getOnes","getTens","getValueAndUnit","getUTCHours","getUTCMinutes","getUTCSeconds","timeSplitted","unit","odometerTens","odometerOnes","odometerUnit","initialSlidingCompleted","oneRoundAnimationSettings","duration","easing","t","newValue","innerText","odoTens","Odometer","el","odoOnes","render","counterValue","numeralCount","odometerDigitsRefs","parseNumberToNumeralArray","numeralArray","currentVal","i","power","pow","odometerDigitsValues","toString","odometer","showPercentageNumber","alwaysVisible","showTrackerEvenIfCompleted","isVisible","progressLabel","isNaN","round","progressValue","min","max","_normalizeStyle","_createStaticVNode","_mergeModels","raffleWinTable","btnSubmitText","btnRightIcon","showLoginBtn","required","_useModel","closeModal","submitDialog","_ctx$raffleWinTable","_ctx$raffleWinTable2","DsTopSlotHeadlineSubheadline","headline","_ctx$raffleWinTable3","mainText","DsTable","_ctx$raffleWinTable4","DsRow","DsCell","prizes","_ctx$btnSubmitText","DsBottomSlotActionBar","iconRight","onSubmitDialog","_createSlots","fn","MobileAppLink","href","onLinkClicked","iconLeft","isInStorybook","enableOrdering","isOrderingActive","isOrderDesc","_resolveDynamicComponent","scope","_renderSlot","$slots","script","isScrollable","isResponsive","eventName","eventArgument","openInNewTab","isExternal","attributes","rel","handleClick","a","assign","n","arguments","r","prototype","hasOwnProperty","call","apply","this","o","concat","u","c","d","removeAttribute","setAttribute","l","isArray","HTMLElement","NodeList","f","raw","defaultPrevented","p","stopPropagation","v","add","addListener","input","nativeEvent","changedTouches","targetTouches","detail","identifier","idChanged","screenX","pageX","y","screenY","pageY","purge","removeListener","removeEventListener","h","m","getBoundingClientRect","offsetHeight","offsetWidth","b","k","to","active","targetIdx","requestAnimationFrame","cancelAnimationFrame","start","earlyExit","distance","distToIdx","stop","w","M","T","C","E","z","D","origin","I","S","A","O","L","loop","timestamp","H","rtl","portion","maxIdx","minIdx","slidesLength","absToRel","idxToDist","options","trackConfig","range","velocity","lastTimestamp","dist","dur","rubberband","animator","innerHeight","innerWidth","disabled","dragSpeed","container","capture","passive","clientHeight","scrollWidth","clientWidth","scrollTop","scrollLeft","overflowY","overflowX","renderMode","transform","getComputedStyle","getPropertyValue","__media","spacing","destroy","prev","next","update","defaultAnimation"],"sourceRoot":""}